3.3 Сетевые протоколы и стандарты
Чтобы упростить проектирование сетей, анализ взаимодействия и реализацию обмена сообщениями между пользователями и сетевыми узлами, применяют формализованные правила, определяющие последовательность и формат сообщений на данном уровне эталонной модели ВОС, которые называют протоколами обмена сообщениями. Соответствующим образом иерархически организованную совокупность протоколов называют стеком коммуникационных протоколов. Протоколы соседних уровней модели ВОС на одном узле взаимодействуют друг с другом также в соответствии с четко определенными правилами, определяющими формат сообщений, которые принято называть интерфейсами. Интерфейс определяет набор и формат услуг, которые может предоставлять ниже лежащий уровень вышележащему уровню. В эталонной модели ВOC различают два основных вида протоколов: с установлением соединения и без предварительного установления соединения. Последние протоколы называют также дейтаграммными протоколами. Рассмотрим основные протоколы и стандарты в рамках архитектуры ВОС.
Протоколы физического уровня. Физический уровень в архитектуре открытых систем является нижним и обеспечивает взаимодействие со средой передачи, связывающей системы между собой. В соответствии с архитектурой открытых систем физический уровень должен предоставлять (канальному уровню) следующие услуги;
- реализовывать физическое соединение между двумя или большим числом компонентов канального уровня дня передачи данных;
- передавать по соединению некоторые определенные для физического уровня единицы данных физического уровня, например биты при последовательной передаче или байты при параллельной передаче;
- предоставлять канальному уровню оконечные точки доступа к соединению физического уровня, через которые передаются единицы данных физического уровня;
- идентифицировать цепи (или пути) передачи данных между компонентами физического уровня;
- обеспечивать требуемые параметры качества обслуживания.
- инициализация—обмен между взаимодействующими станциями служебными сообщениями, подтверждающими готовность к передаче данных;
- идентификация—обмен между взаимодействующими станциями служебной информацией, подтверждающей правильность соединения;
- синхронизация — выделение в последовательности передаваемых битов границ знаков;
- сегментация— формирование кадров для их передачи по каналу;
- обеспечение прозрачности — предоставление расположенному выше уровню возможности передачи произвольной последовательности битов или знаков;
- управление потоком— обеспечение согласования скоростей передачи и приема;
- контроль ошибок и управление последовательностью передачи—обнаружение ошибок в передаваемых кадрах и запроса повторной передачи искаженных кадров, обеспечение соответствия последовательности кадров на входе и выходе канала;
- выход из сбойных ситуаций— обнаружение нарушений нормальной передачи кадров и реализация процедур выхода из таких ситуаций;
- управление каналом— обеспечение возможности контроля работы канала, выявление отказов, восстановление, сбор статистики о работе канала;
- завершение работы каналаликвидация логического соединения, образованного при инициализации канала.
Стандартизация протоколов локальных сетей
Каждая из технологий локальных сетей первоначально появлялась как фирменная технология; так, например, технология Ethernet «появилась на свет» в компании Xerox, а за технологией Token Ring стояла компания IBM. Первые стандарты технологий локальных сетей также были фирменными, что было, естественно, не очень удобно как для пользователей, так и для компаний-производителей сетевого оборудования.
Для исправления ситуации в 1980 году в институте IEEE был организован комитет 802 по стандартизации технологий LAN. Результатом работы комитета IEEE 802 стало принятие семейства стандартов IEEE 802.x, содержащих рекомендации по проектированию нижних уровней локальных сетей. Эти стандарты базировались на обобщении популярных фирменных стандартов, в частности Ethernet и Token Ring.
Комитет IEEE 802 и сегодня является основным международным органом, разрабатывающим стандарты технологий локальных сетей, в том числе коммутируемых локальных сетей, а также стандарты беспроводных локальных сетей на разделяемой среде.
Помимо IEEE в работе по стандартизации протоколов LAN принимали и принимают участие и другие организации. Так, для сетей, работающих на оптоволокне, институтом ANSI был разработан стандарт FDDI, обеспечивающий скорость передачи данных 100 Мбит/с. Это был первый протокол LAN, который достиг такой скорости, в 10 раз превысив скорость технологии Ethernet.
Структуру стандартов IEEE 802 иллюстрирует рис. 12.3.
Рис. 12.3. Структура стандартов IEEE 802.x
Стандарты IEEE 802 описывают функции, которые можно отнести к функциям физического и канального уровней модели OSI. Как видно из рисунка 12.3, эти стандарты имеют как общие для всех технологий части, так и индивидуальные.
Общую группу стандартов составляют стандарты рабочей группы 802.1. Эти стандарты описывают наиболее высокоуровневые функции локальных сетей. Так, в документах 802.1 даются общие определения локальных сетей и их свойств, показана связь трех уровней модели IEEE 802 с моделью OSI. Наиболее практически важными являются те стандарты рабочей группы 802.1, которые описывают взаимодействие различных технологий, а также стандарты по построению более сложных сетей на основе базовых топологий. Эта группа стандартов носит общее название стандартов межсетевого взаимодействия. Наиболее важным в настоящее время является стандарт 802.1D, описывающий логику работы прозрачного моста, которая лежит в основе любого современного коммутатора Ethernet (и лежала бы в основе коммутатора Token Ring или FDDI, если бы они сохранились до наших дней).
Набор стандартов, разработанных рабочей группой 802.1, продолжает расти, в настоящее время это наиболее активный подкомитет комитета 802. Например, этот комитет стандартизовал технологию виртуальных локальных сетей, также он занимается стандартизацией технологий, известных под общим названием Carrier Ethernet.
Каждая из рабочих групп 802.3, 802.4, 802.5 и т. д. ответственна за стандартизацию конкретной технологии, например группа 802.3 занимается технологией Ethernet, группа
— технологией ArcNet, группа 802.5 — технологией Token Ring, группа 802.11 — технологией беспроводных локальных сетей. Стандарты этих рабочих групп описывают как физический уровень (или несколько возможных физических уровней), так и канальный уровень конкретной технологии (последний включает описание метода доступа, используемого технологией). Основу стандарта 802.3 составила технология экспериментальной сети Ethernet Network, которую фирма Xerox разработала и реализовала в 1975 году В 1980 году фирмы DEC, Intel и Xerox (сокращенно — DIX) совместно разработали и опубликовали стандарт Ethernet версии II для сети, построенной на основе коаксиального кабеля. Эту последнюю версию фирменного стандарта Ethernet называют стандартом Ethernet DIX, или Ethernet II. На базе стандарта Ethernet DIX был разработан стандарт IEEE 802.3, который во многом совпадает со своим предшественником.
Однако, как видно из рис. 12.3, помимо индивидуальных для каждой технологии уровней существует и общий уровень, который был стандартизован рабочей группой 802.2.
Появление этого уровня связано с тем, что комитет 802 разделил функции канального уровня модели OSI на два уровня:
§ управление логическим каналом (Logical Link Control, LLC);
§ управление доступом к среде (Media Access Control, MAC).
Основными функциями уровня MAC являются:
§ обеспечение доступа к разделяемой среде;
§ передача кадров между конечными узлами посредством функций и устройств физического уровня.
Если уровень MAC специфичен для каждой технологии и отражает различия в методах доступа к разделяемой среде, то уровень LLC представляет собой обобщение функций разных технологий по обеспечению передачи кадра с различными требованиями к надежности.
Логика образования общего для всех технологий уровня LLC заключается в следующем: после того как узел сети получил доступ к среде в соответствии с алгоритмом, специфическим для конкретной технологии, дальнейшие действия узла или узлов по обеспечению надежной передачи кадров от технологии не зависят.
Так как в зависимости от требований приложения может понадобиться разная степень надежности, то рабочая группа 802.2 определила три типа услуг:
Услуга LLC1 — это услуга без установления соединения и без подтверждения получения данных. LLC1 дает пользователю средства для передачи данных с минимумом издержек. В этом случае LLC поддерживает дейтаграммный режим работы, как и MAC, так что и технология LAN в целом работает в дейтаграммном режиме. Обычно эта процедура используется, когда такие функции, как восстановление данных после ошибок и упорядочивание данных, выполняются протоколами вышележащих уровней, поэтому нет нужды дублировать их на уровне LLC.
Услуга LLC2 дает пользователю возможность установить логическое соединение перед началом передачи любого блока данных и, если это требуется, выполнить процедуры восстановления после ошибок и упорядочивание потока блоков в рамках установленного соединений.
Услуга LLC3 — это услуга без установления соединения, но с подтверждением получения данных. В некоторых случаях (например, при использовании сетей в системах реального времени, управляющих промышленными объектами), с одной стороны, временное издержки установления логического соединения перед отправкой данных неприемлемы, а с другой стороны, подтверждение о корректности приема переданных данных необходимо. Для такого рода ситуаций и предусмотрена дополнительная услуга LLC3, которая является компромиссом между LLC1 и LLC2, так как она не предусматривает установление логического соединения, но обеспечивает подтверждение получения данных.
Какой из трех режимов работы уровня LLC будет использован, зависит от требований протокола верхнего уровня. Информация о требуемой от LLC транспортной услуге передается через межуровневый интерфейс уровню LLC вместе с аппаратным адресом и пакетом с пользовательскими данными. Например, когда поверх LLC работает протокол IP, он всегда запрашивает режим LLC1, поскольку в стеке TCP/IP задачу обеспечения надежной доставки решает протокол TCP.
Нужно сказать, что на практике идея обобщения функций обеспечения надежной передачи кадров в общем уровне LLC не оправдала себя. Технология Ethernet в версии DIX изначально функционировала в наиболее простом дейтаграммном режиме — в результате оборудование Ethernet и после опубликования стандарта IEEE 802.2 продолжало поддерживать только этот режим работы, который формально является режимом LLC1. В то же время оборудование сетей Token Ring, которое изначально поддерживало режимы LLC2 и LLC3, также продолжало поддерживать эти режимы и никогда не поддерживало режим LLC1.
Помимо обеспечения заданной степени надежности уровень LLC выполняет также интерфейсные функции. Эти функции заключаются в передаче пользовательских и служебных данных между уровнем MAC и сетевым уровнем. При передаче данных сверху вниз уровень LLC принимает от протокола сетевого уровня пакет (например, IP- или IPX-пакет), в котором уже находятся пользовательские данные. Помимо пакета сверху также передается адрес узла назначения в формате той технологии LAN, которая будет использована для доставки кадра в пределах данной локальной сети. Напомним, что в терминах стека TCP/IP такой адрес называется аппаратным. Полученные от сетевого уровня пакет и аппаратный адрес уровень LLC передает далее вниз — уровню MAC. Кроме того, LLC при необходимости решает задачу мультиплексирования, передавая данные от нескольких протоколов сетевого уровня единственному протоколу уровня MAC.
При передаче данных снизу вверх LLC принимает от уровня MAC пакет сетевого уровня, пришедший из сети. Теперь ему нужно выполнить еще одну интерфейсную функцию — демультиплексирование, то есть решить, какому из сетевых протоколов передать полученные от MAC данные (рис. 12.4).
Рис 12.4. Демультиплексирование кадров протоколом LLC