9.5. Сетевые стандарты
Работа сети заключается в передаче данных от одного компьютера к другому. В этом процессе можно выделить следующие задачи:
2. Разбиение данных на управляемые блоки.
3. Добавление информации к каждому блоку о местонахождении данных и получателе.
4. Добавление информации для синхронизации и проверки ошибок.
5. Перемещение данных в сеть и отправка их по заданному адресу.
Сетевая ОС при выполнении этих задач строго следует определенному набору процедур. Эти процедуры называются протоколами. Они регламентируют каждую сетевую операцию. Стандартные протоколы позволяют программному и аппаратному обеспечению разных производителей нормально взаимодействовать.
Существует два главных набора стандартов: эталонная модель OSI и ее модификация Ргоject 802. Для понимания технической стороны функционирования сетей необходимо иметь представление об этих моделях.
9.5.1. Эталонная модель osi
В 1978 г. ISO (International Standards Organization) выпустила набор спецификаций, описывающих модель взаимодействия открытых систем, т.е. систем, доступных для связи с другими системами. Это был первый шаг к международной стандартизации протоколов. Все системы могли теперь использовать одинаковые протоколы и стандарты для обмена информацией.
В 1984 г. ISO выпустила новую версию своей модели, названную эталонной моделью взаимодействия открытых систем ISO. Эта версия стала международным стандартом. Ее спецификации используют производители при разработке сетевых продуктов, ее придерживаются при построении сетей. Полностью модель носит название ISO OSI (Open System Interconnection Reference Model). Для краткости будем ее называть модель OSI. Модель OSI не является сетевой архитектурой, так как не описывает службы и протоколы, используемые на каждом уровне. Она просто определяет, что должен делать каждый уровень. Важно также понимать, что эталонная модель не является чем-то реальным, таким, что обеспечивает связь. Сама по себе она не заставляет коммуникации функционировать и служит лишь для классификации. Она классифицирует то, что непосредственно работает, а именно — протоколы. Протоколом считается набор спецификаций, определяющих реализацию одного или нескольких уровней OSI. ISO разработала также стандарты для каждого уровня, хотя эти стандарты не входят в саму эталонную модель. Каждый из них был опубликован как отдельный международный стандарт.
Модель OSI имеет семь уровней. Каждому уровню соответствуют различные сетевые операции, оборудование и протоколы. Появление именно семи уровней было обусловлено функциональными особенностями модели.
Модель OSI без физического носителя показана на рис. 6.5.
Определенные сетевые функции, выполняемые на каждом уровне, взаимодействуют только с функциями соседних уровней — вышестоящего и нижележащего. Например, Сеансовый уровень должен взаимодействовать только с Представительским и Транспортным уровнями. Все эти функции подробно описаны.
Каждый уровень выполняет несколько операций при подготовке данных для доставки по сети на другой компьютер. Уровни отделяются друг от друга границами — интерфейсами. Все запросы от одного уровня к другому передаются через интерфейс. Каждый уровень, выполняя свои функции, пользуется услугами нижележащего уровня. Самые нижние уровни — 1-й и 2-й — определяют физическую среду при передаче битов данных через плату СА и кабель. Самые верхние уровни определяют, каким способом реализуется доступ приложений к услугам связи.
Задача каждого уровня — предоставление услуг вышележащему уровню, маскируя при этом детали реализации этих услуг. Каждый уровень на компьютере-отправителе работает так, как будто он напрямую связан с соответствующим уровнем на компьютере-получателе. Эта виртуальная связь показана на рис. 7.5 пунктирными линиями. В действительности же связь осуществляется между соседними уровнями одного компьютера. ПО каждого уровня реализует определенные сетевые функции в соответствии с набором протоколов.
Перед отправкой в сеть данные разбиваются на пакеты, передаваемые между устройствами сети как единое целое. Пакет проходит последовательно все уровни ПО от прикладного до физического, при этом на каждом уровне к пакету добавляется форматирующая или адресная информация, необходимая для безошибочной передачи данных по сети.
Прикладной
Прикладной
Представления
Представления
Сеансовый
Сеансовый
Транспортный
Транспортный
Сетевой
Сетевой
Канальный
Канальный
Физический
Физический
Рисунок 9.5 — Эталонная модель OSI
На принимающей стороне пакет также проходит через все уровни, но в обратном порядке. ПО каждого уровня анализирует информацию пакета, удаляет ту информацию, которая добавлена к пакету на таком же уровне отправителем, и передает пакет следующему уровню. По достижении пакетом Прикладного уровня вся служебная информация будет удалена, и данные примут свой первоначальный вид.
Таким образом, только Физический уровень модели может непосредственно послать информацию соответствующему уровню другого компьютера. Информация на компьютере-отправителе и компьютере-получателе должна пройти все уровни, начиная с того, с которого она посылается, и заканчивая соответствующим уровнем того компьютера, которым она принимается. Например, если Сетевой уровень передает информацию с компьютера А, она спускается через Канальный и Физический уровни в сетевой кабель, затем попадает в компьютер В, где поднимается через Физический и Канальный уровни и достигает Сетевого уровня. В среде клиент-сервер примером такой информации служит адрес и результат контроля ошибок, добавленные к пакету.
Взаимодействие смежных уровней осуществляется через интерфейс. Интерфейс определяет услуги, которые нижний уровень предоставляет верхнему, и способ доступа к ним.
Рассмотрим каждый из семи уровней модели OSI и услуги, которые они предоставляют смежным уровням.
Прикладной (Application) уровень. Уровень 7. Он представляет собой окно для доступа прикладных процессов к сетевым услугам. Услуги, которые он обеспечивает, напрямую поддерживают приложения пользователя. Прикладной уровень управляет общим доступом к сети, потоком данных и восстановлением данных после сбоев связи.
Уровень представления (Presentation). Уровень 6. Представительский уровень определяет формат, используемый для обмена данными между сетевыми компьютерами. Типичный пример работы служб Представительского уровня — кодирование передаваемых данных определенным стандартным образом. Уровень представления отвечает за преобразование протоколов, трансляцию и шифрование данных, смену кодовой таблицы и расширение графических команд. Кроме того, он управляет сжатием данных для уменьшения объема передаваемых бит.
Сеансовый уровень (Session). Уровень 5. Сеансовый уровень позволяет двум приложениям разных компьютеров устанавливать, использовать и завершать соединение, называемое сеансом. Сеанс может предоставлять еще и расширенный набор услуг, полезный для некоторых приложений. Сеансовый уровень управляет диалогом между взаимодействующими процессами, устанавливая, какая из сторон, когда, как долго и т.д. должна осуществлять передачу.
Транспортный уровень (Transport). Уровень 4. Основная функция Транспортного уровня — принять данные от Сеансового уровня, разбить их при необходимости на небольшие части и передать Сетевому уровню, гарантируя, что эти части в правильном порядке прибудут по назначению. Все это должно быть сделано эффективно и так, чтобы изолировать более высокие уровни от каких-либо изменений в аппаратной технологии. Транспортный уровень также следит за созданием и удалением сетевых соединений, управляет потоком сообщений, проверяет ошибки и участвует в решении задач, связанных с отправкой и получением пакетов. Примеры протоколов транспортного уровня — ТСР и SРХ.
Сетевой уровень (Network.). Уровень 3. Сетевой уровень управляет операциями подсети. Он отвечает за адресацию сообщений и перевод логических адресов и имен в физические. Сетевой уровень разрешает также проблемы, связанные с разными способами адресации и разными протоколами при переходе пакетов из одной сети в другую, позволяя объединять разнородные сети. Примеры протоколов сетевого уровня — IР и IРХ.
Уровень передачи данных или канальный (Data Link). Уровень 2. Основная задача Канального уровня — преобразовать способность Физического уровня передавать данные в надежную линию связи, свободную от необнаруженных ошибок с точки зрения вышестоящего Сетевого уровня. Эту задачу Канальный уровень выполняет при помощи разбиения входных данных на кадры размером от нескольких сот до нескольких тысяч байтов. Каждый следующий кадр данных передается только после получения и обработки кадра подтверждения, посылаемого обратно получателем. Кадр — это логически организованная структура, в которую можно помещать данные. На рис. 7.6 представлен простой кадр данных, где идентификатор отправителя — адрес компьютера-отправителя, а идентификатор получателя — адрес компьютера-получателя. Управляющая информация используется для маршрутизации, указания типа пакета и сегментации. CRC (Cyclical Redundancy Check — циклический код) позволяет выявить ошибки и гарантирует правильный прием информации.
Физический уровень (Physical). Уровень 1. Физический уровень осуществляет передачу неструктурированного, сырого, потока бит по физической среде (например, по сетевому кабелю). На этом уровне реализуются электрический, оптический, механический и функциональный интерфейсы с кабелем. Физический уровень также формирует сигналы, которые переносят данные, поступившие ото всех вышележащих уровней. На этом уровне определяется способ соединения сетевого кабеля с платой СА и способ передачи сигналов по сетевому кабелю. Физический уровень отвечает за кодирование данных и синхронизацию бит, гарантируя, что переданная единица будет воспринята именно как единица, а не как ноль. Уровень устанавливает длительность каждого бита и способ перевода в электрические или оптические импульсы, передаваемые по сетевому кабелю.