Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сети ЭВМ и телекоммуникации / Лекции / 8_Канальный уровень в локальных сетях.doc
Скачиваний:
117
Добавлен:
09.06.2015
Размер:
395.78 Кб
Скачать

3. Протоколы канального уровня ieee 802.Х.

Мы уже упоминали комитет 802 института IEEE (Institute of Electrical and Electronics Engineers) и разрабатываемые им группы стандартов. Дальнейшая эволюция Ethernet проходила при непосредственном его участии. Стандарты комитета 802 для Ethernet охватывают как уже рассмотренный нами физический уровень, так и канальный.

На момент разворачивания деятельности этого комитета никакой стандартной модели OSI еще не было и IEEE в своей сетевой модели 802 ввел дополнительное деление канального уровня на 2 подуровня (sublayers):

Подуровень LLC (Logical-Link Control — управление логической связью) является стандартным (IEEE 802.2) интерфейсом с сетевым уровнем, независимым от сетевой технологии.

Подуровень MAC (Media Access Control — управление доступом к среде) осуществляет доступ к уровню физического кодирования и передачи сигналов. Применительно к технологии Ethernet МАС-уровень передатчика укладывает данные, пришедшие с LLC, в кадры, пригодные для передачи. В этом смысле рассмотренный нами выше кадр Ethernet-II относится к этому подуровню. Далее, дожидаясь освобождения канала (среды передачи), он передает кадр на физический уровень и следит за результатом работы физического уровня. Если кадр передан успешно (коллизий нет), он сообщает об этом LLC-подуровню. Если обнаружена коллизия, он делает несколько повтор­ных попыток передачи и, если передача так и не удалась, сообщает об этом LLC-подуровню. На приемной стороне МАС-уровень принимает кадр, проверяет его на отсутствие ошибок и, освободив его от служебной информации своего уровня, передает на LLC.

Стандарт 802.2 описывает работу подуровня LLC, под которым объединяются технологии локальных сетей, причем не только Ethernet, но и например FDDI, стандартизованную ANSI.

Подуровень LLC обеспечивает сервис трех типов:

LLC1 — без установления соединения и подтверждения.

LLC2 — с установлением соединения и подтверждением.

LLC3 — без установления соединения, с подтверждением.

Конечные системы могут поддерживать несколько типов сервиса. Устройства класса 1 поддерживают только LLC1, класса II — LLC1 и LLC2, класса III — LLC1 и LLC3, класса IV — все три типа.

Процедура типа 1 определяет обмен данными без предварительного установления соединения и без повторной передачи кадров в случае обнаружения ошибочной ситуации, то есть является процедурой дейтаграммного типа. Именно этот тип процедуры и используется во всех практических реализациях Ethernet.

Процедура типа 2 обеспечивает предоставление сервиса транспортного уровня без использования функций сетевого уровня.

Процедура типа 3 используется в ситуациях, когда подтверждение приема данных необходимо, а дополнительные затраты времени на предварительное установление соединения неприемлемы. Обычно это сети управления технологическим оборудованием, работающие в режиме реального времени.

Кадры подуровня LLC имеют унифицированный формат:

флаг

Адрес точки входа службы назначения

(DSAP)

Адрес точки входа службы источника

(SSAP)

Управляющее поле

(Control)

данные

флаг

01111110

1 байт

1 байт

1 или 2 байта

01111110

Флаги начала и конца используются на подуровне MAK для определения границ кадра и отбрасываются при формировании кадров этим нижним подуровнем.

DSAP (Destination Service Access Point — точка доступа сервиса назначе­ния)

SSAP (Source Service Access Point — точка доступа сервиса источника)

Поля DSAP и SSAP идентифицируют протокол верхнего уровня, использующий сервис LLC, по ним принимающая сторона определяет, куда направить принятый кадр. Вместе с полем Control они образуют заголовок кадра LLC.

Control (управление).

Это поле в ненумерованных кадрах процедуры LLC1 имеет длину 1 байт

Data (данные) — поле для размещения данных протоколов верхнего уров­ня (в некоторых кадрах может отсутствовать).

Протоколы подуровня МАС для Ethernet определяются комитетом 802 в группе стандартов 802.3 Причем рекомендации группы 802.3 определяют и подуровень MAC канального уровня, и физический уровень технологий Ethernet (802.3a), Fast Ethernet (802.3u), Gigabit Ethernet (802.3ab) и аналогичных.

Стандарт на технологию Ethernet, описанный в документе 802.3, дает описание единственного формата кадра МАС-уровня. Так как в кадр МАС-уровня должен вкладываться кадр уровня LLC, описанный в документе 802.2, то по стандартам IEEE в сети Ethernet мог использоваться только единственный вариант кадра канального уровня, образованный комбинацией заголовков МАС и LLC подуровней. Такой кадр имеет вид:

7 байт

1 байт

6 байт

6 байт

2 байта

46 – 1500 байт

4 байта

Преамбула (101010…)

SFD (10101011)

Адрес получателя

Адрес источника

Длина

данные

Контрольная сумма

Отличие данного кадра, определяемого как кадр 802.3/LLC (или кадр Novell 802.2), от рассмотренного выше кадра Ethernet-II (или Ethernet DIX) только в содержании 2-х байтового поля, предшествующего полю данных. Если в Ethernet-II это поле содержит данные о протоколе сетевого уровня, то в кадре 802.3/LLC это поле несет данные о длине последующего поля данных, а информация о протоколе сетевого уровня содержится во вложенном в поле данных кадре подуровня LLC.

Компания Novell ввела и долго использовала в своей сетевой операционной системе NetWare еще один формат кадра МАС-подуровня формально совпадающий с кадром 802.3/LLC, но «упрощенный» тем, что в поле данных не включались служебные поля кадра подуровня LLC. Возможность такого упрощения объясняется тем, что ранние версии операционной системы NetWare в качестве протокола сетевого уровня использовали только IPX и идентифицировать его не было необходимости. Такой формат кадра принято обозначать Raw 802.3 (или кадр Novell 802.3). Позже Компания Novell стала использовать полный вариант 802.3/LLC обозначая его в своей документации как кадр Novell 802.2.

Таким образом в сетях сосуществовало уже 3 формата кадров Ethernet и комитет

IEEE 802 предпринял попытку разработать очередной обьединяющий стандарт. В результате появился кадр Ethernet SNAP (SNAP - SubNetwork Access Protocol, протокол доступа к подсетям). Кадр Ethernet SNAP (см. рис. 3.6) представляет собой расширение кадра 802.3/LLC за счет введения дополнительного заголовка протокола SNAP, состоящего из двух полей: OUI и Type. Поле Type состоит из 2-х байт и повторяет по формату и назначению поле Type кадра Ethernet II (то есть в нем используются те же значения кодов протоколов). Поле OUI (Organizationally Unique Identifier) определяет идентификатор организации, которая контролирует коды протоколов в поле Type. С помощью заголовка SNAP достигнута совместимость с кодами протоколов в кадрах Ethernet II, а также создана универсальная схема кодирования протоколов. Коды протоколов для технологий 802 контролирует IEEE, которая имеет OUI, равный 000000. Так как SNAP представляет собой протокол, вложенный в протокол LLC, то в полях DSAP и SSAP записывается код ОхАА, отведенный для протокола SNAP. Поле Control заголовка LLC устанавливается в 0х03.

В результате на практике в сетях Ethernet на канальном уровне используются заголовки 4-х типов:

Кадр 802.3/LLC (или кадр Novell 802.2)

Кадр Raw 802.3 (или кадр Novell 802.3)

Кадр Ethernet DIX (или кадр Ethernet II)

Кадр Ethernet SNAP

Тип кадра приходится определять автоматически по достаточно прозрачному алгоритму. Для кодирования типа протокола в поле EtherType указываются значения, превышающие значение максимальной длины поля данных, равное 1500, поэтому кадры Ethernet II легко отличить от других типов кадров по значению поля L/T. Дальнейшее распознавание типа кадра проводится по наличию или отсутствию полей LLC. Поля LLC могут отсутствовать только в том случае, если за полем длины идет начало пакета IPX кадра Raw 802.3, а именно 2-байтовое поле контрольной суммы пакета, которое всегда заполняется единицами, что дает два значение по 255 байт. Ситуация, когда поля DSAP и SSAP одновременно содержат такие значения, возникнуть не может, поэтому наличие двух байт 255 говорит о том, что это кадр Raw 802.3. В остальных случаях дальнейший анализ проводится в зависимости от значений полей DSAP и SSAP. Если они равны 0*АА, то это кадр Ethernet SNAP, а если нет, то 802.3/LLC.

Канальный уровень в сетях Wi-Fi

Стандарты для беспроводных локальных сетей разрабатывались на базе уже имевшихся решений для проводных ЛВС. В том числе и потому, что им предстояло работать практически всегда вместе.

В качестве адресов используются 48-битные МАК адреса.

В отличие от современных проводных сетей, в беспроводной сети устройства всегда должны быть готовы к конкуренции за общую среду передачи данных. Причем ситуация в беспроводной сети еще хуже, чем в Ethernet с общей шиной. Если в проводных технологиях постулируется, что сигнал от любой передающей станции всегда будет услышан всеми остальными сетевыми узлами данного коллизионного домена, то в беспроводных сетях возможны конфигурации со "скрытыми" узлами (два абонента разнесены в противоположные стороны от точки доступа на края зоны уверенного приема), когда точка доступа может принимать сигналы от нескольких абонентов и оказываться в зоне коллизии таких сигналов, а сами абоненты не имеют возможности обнаружить возникновение коллизий.

По этой причине порядок доступа к общей среде передачи в Wi-Fi сетях определяется процедурой CSMA/CA (Carrier Sense Multiple Access/Collision Avoidance - множественный доступ с контролем несущей и предупреждением столкновений), а не CSMA/CD как в Ethernet.

Для уклонение от коллизий абонент прослушивает среду передачи, но убедившись в свободности эфира отправляет получателю не пакет с данными, а запрос на готовность того к приёму данных с указанием времени, которое будет потребно на передачу этих данных. Если получатель готов принять данные, он отправляет потенциальному отправителю разрешение на передачу. Все это называется процедурой RTS/CTS (Request To Send / Clear To Send). Только после получения разрешения абонент имеет право начать передачу данных. Все остальные устройства, разделяющие общую среду передачи, не просто слушают этот диалог, но и извлекают из него данные о продолжительности ожидаемой передачи данных и в течении этого времени воздерживаются от попыток использования общей среды передачи.

Но даже такая сложная процедура не обеспечивает 100% гарантии успешной отправки пакета данных с первой попытки. Поэтому получатель в обязательном порядке уведомляет отправителя о получении данных. Если подтверждение получения данных не приходит, отправка информационного пакета повторяется.

В зависимости от масштабов беспроводной сети она может иметь три варианта организации: Ad-Hoc, BSS и ESS.

Поскольку ничто не запрещает наложения в одной пространственной точке нескольких зон покрытия от различных беспроводных сетей, необходим механизм их идентификации и обеспечения работы только с одной из них. Для этого служит общий идентификатор набора услуг (SSID - shared service set identifier), присваевымый каждой организуемой беспроводной сети. SSID может иметь длину от 2 до 32 символов и должно состоять из любых комбинаций цифр и букв в верхнем и нижнем регистрах.

Точка доступа обычно оповещает потенциальных клиентов о своем присутствии рассылая специальные кадры-маяки (beacon frame), в которых указывается SSID сети (в открытой форме) и ряд других параметров, необходимых для подключения к ней. Рассылку оповещений можно отключить для обеспечения скрытности сети, однако такой приём фактически не приводит к цели. В процессе работы точки доступа рассылается достаточно много как информационных, так и служебных кадров других типов, так что обнаружить её не составляет проблемы.

Если клиент хочет подключиться к беспроводной сети, он отправляет запрос с SSID сети, к которой он желает подключиться. Если информация о наличии соответствующей точки доступа ему известна из рассылаемых ею оповещений, то ему известен и частотный канал, на котором она работает, и другие необходимые параметры. В противном случае он должен последовательно отправлять запросы с нужным ему SSID на разных частотных каналах пока не получит ответа.

Возможна ситуация, когда клиент хочет узнать список всех сетей, в зоне действия которых он находится. В этом случае он отправляет запрос без указания SSID и все точки доступа, получившие его, обязаны отозваться. Это правило не распространяется на точки доступа, на которых отключена функция рассылки оповещений. Для подключения к ним клиент должен заранее знать SSID.

В ответе нужной клиенту точки доступа будет содержаться также и указание на тип аутентификации, которую необходимо пройти для входа в сеть.

В исходной версии протоколов 802.11 предусматривались два класса беспроводных сетей по способу их защиты:

- открытые сети, в которых аутентификатором является просто сам SSID, и все знающие его допускаются в сеть. Трафик при этом не шифруется.

- защищенные сети, обеспечивающие защиту не хуже чем при проводных соединениях (с точки зрения разработчиков). Поэтому и соответствующий протокол защиты был назван Wired Equivalency Protection (WEP). Для доступа в сеть, защищенную по протоколу WEP, клиент должен знать общий с точкой доступа ключ. Однако практика показала, что протокол имеет серьезные уязвимости как в процедуре аутентификации, так и в алгоритмах шифрования (используется то же общий ключ). Крайне неудобной для больших сетей оказалась и процедура распространения общего ключа, точнее, её полное отсутствие.

Поэтому в течении нескольких лет были разработаны протоколы аутентификации WPA (Wi-Fi protected access) и WPA2. Последний был оформлен в качестве стандарта IEEE 802.11i и рекомендован в настоящее время для использования в корпоративных сетях.

Наконец, при успешном прохождении аутентификации, выполняется ассоциация клиентского устройства в беспроводную сеть. На этом этапе клиенту указывается доступная для него скорость передачи данных, МАС адрес обслуживающей его точки доступа (является идентификатором базового набора сервисов сети - BSSID) и номер логического порта, через который он будет взаимодействовать с точкой доступа (аналог порта коммутатора в проводной сети). Последний параметр принято называть AID - association identifier.

После этих трех этапов клиент готов использовать сеть для передачи данных. Формат используемых при этом кадров представлен на рисунке:

Очевидно, что структура этого кадра гораздо сложнее чем у Ethernet, но тем не менее принципы построения аналогичны.

Первые два байта кадра 802.11 содержат набор из 11 коротких субполей и битовых флагов:

Версия протокола (2 бита): версия протокола 802.11

Тип (2 бита): три типа кадров по функциональному назначению - контроль, управление и передача данных.

Подтип (4 бита): вспомогательные функции для каждого типа.

To DS (1 бит) - кадр предназначен для направления в распределительную систему (каналы передачи данных между точками доступа)

From DS (1 бит) - кадр получен из распределительной системы

More (ещё) (1 бит) - данный фрагмент не последний

Retry (повтор) (1 бит) - данный кадр является ретрансляцией ранее отправлявшегося кадра

Управление питанием (1 бит) - используется для уведомления о переходе в режим энергосбережения

More data (1 бит) - используется для уведомления узла, перешедшего в энергосберегающий режим, что в буфере отправителя для него имеются еще данные

WEP (1 бит) - указывает, что информация в кадре зашифрована по протоколу WEP для обеспечения безопасности

Order (1 бит) - в кадре c данными указывает на использование заданного в сети класса обслуживания

Следующие поля имеют размеры, кратные целому байту:

Duration/ID (2 байта) - обычно это поле содержит информацию о времени (в микросекундах), необходимом для передачи данного кадра, но может использоваться для передачи AID станции-получателю при его назначении

Address 1 (6 байт) - МАС адрес узла назначения

Address 2 (6 байт) - МАС адрес узла отправителя

Address 3 (6 байт) - МАС адрес беспроводного устройства, которое является непосредственным получателем для данного кадра

Sequence control (2 байта) - используется для присвоения уникального номера каждому передаваемому кадру. Содержит собственно уникальный порядковый номер и номер фрагмента при наличии фрагментации. Если кадр является дублем неподтвержденного, используются те же номера

Address 4 (6 байт) - МАС адрес беспроводного устройства, отправившего данный кадр

Payload - поле полезной нагрузки. Допустимая длина от 0 до 2312 байт

FCS (4 байта) - циклическая контрольная сумма кадра.