logo search
сети ЭВМ / Шпора к экзамену

Кадры канального уровня

Канальный – это уровень, предназначенный для передачи данных узлам, находящимся в том же сегменте ЛАН. Также используется для обнаружения и возможно исправления ошибок. Канальный уровень отвечает за доставку кадров между устройствами, подключенными к одному сетевому сегменту. Кадры канального уровня не пересекают границ сетевого сегмента.

Кадр – это единица информации, источником и получателем которой являются MAC-адреса, используемые на канальном уровне. Кадр состоит из заголовка и возможно, завершителя, в которых содержится управляющая информация, характерная для этого уровня. Область кадра, предназначенная для данных, содержит часть исходной информации, поступившей с прикладного уровня, а также другую служебную информацию, которая была добавлена каждым уровнем по мере прохождения данных через разные уровни стека.

Ethernet кадр имеет следующие поля:

Канальный уровень должен принять меры к исправлению ошибки, например, сбросить плохой кадр, послать сообщение об ошибке тому кто прислал этот кадр. Так как временные методы ненадежны, то применяются другие. Здесь мы рассмотрим четыре основных:

На практике используют, как правило, комбинацию этих методов. Например, счетчик символов с одним из вышеперечисленных. Тогда если число символов в кадре совпадает с кодировкой границы кадра, кадр считается переданным правильно.

Различия в форматах кадров могут иногда приводить к несовместимости аппаратуры, рассчитанной на работу только с одним стандартом, хотя большинство сетевых адаптеров, мостов и маршрутизаторов умеет работать со всеми используемыми на практике форматами кадров технологии Ethernet.

Ниже приводится описание всех четырех модификаций заголовков кадров Ethernet (причем под заголовком кадра понимается весь набор полей, которые относятся к канальному уровню):

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

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

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

Кадр Ethernet SNAP

Заголовок кадра 802.3/LLC является результатом объединения полей заголовков кадров, определенных в стандартах 802.3 и 802.2.

Стандарт 802.3 определяет восемь полей заголовка:

Поле преамбулы состоит из семи байтов синхронизирующих данных. Каждый байт содержит одну и ту же последовательность битов - 10101010. При манчестерском кодировании эта комбинация представляется в физической среде периодическим волновым сигналом. Преамбула используется для того, чтобы дать время и возможность схемам приемопередатчиков (transceiver) прийти в устойчивый синхронизм с принимаемыми тактовыми сигналами.

Начальный ограничитель кадра состоит из одного байта с набором битов 10101011. Появление этой комбинации является указанием на предстоящий прием кадра.

Адрес получателя - может быть длиной 2 или 6 байтов (MAC-адрес получателя). Первый бит адреса получателя - это признак того, является адрес индивидуальным или групповым: если 0, то адрес указывает на определенную станцию, если 1, то это групповой адрес нескольких (возможно всех) станций сети. При широковещательной адресации все биты поля адреса устанавливаются в 1. Общепринятым является использование 6-байтовых адресов.

Адрес отправителя - 2-х или 6-ти байтовое поле, содержащее адрес станции отправителя. Первый бит - всегда имеет значение 0.

Двухбайтовое поле длины определяет длину поля данных в кадре.

Поле данных может содержать от 0 до 1500 байт. Но если длина поля меньше 46 байт, то используется следующее поле - поле заполнения, чтобы дополнить кадр до минимально допустимой длины.

Поле заполнения состоит из такого количества байтов заполнителей, которое обеспечивает определенную минимальную длину поля данных (46 байт). Это обеспечивает корректную работу механизма обнаружения коллизий. Если длина поля данных достаточна, то поле заполнения в кадре не появляется.

Поле контрольной суммы - 4 байта, содержащие значение, которое вычисляется по определенному алгоритму (полиному CRC-32). После получения кадра рабочая станция выполняет собственное вычисление контрольной суммы для этого кадра, сравнивает полученное значение со значением поля контрольной суммы и, таким образом, определяет, не искажен ли полученный кадр.

Кадр 802.3 является кадром MAС-подуровня, в соответствии со стандартом 802.2 в его поле данных вкладывается кадр подуровня LLC с удаленными флагами начала и конца кадра. Формат кадра LLC был описан выше.

Результирующий кадр 802.3/LLC изображен в левой части рисунка 4. Так как кадр LLC имеет заголовок длиной 3 байта, то максимальный размер поля данных уменьшается до 1497 байт.

Рис. 4.

Справа на этом рисунке приведен кадр, который называют кадром Raw 802.3 (то есть "грубый" вариант 802.3) или же кадром Novell 802.3. Из рисунка видно, что это кадр MAC-подуровня стандарта 802.3, но без вложенного кадра подуровня LLC. Компания Novell долгое время не использовала служебные поля кадра LLC в своей операционной системе NetWare из-за отсутствия необходимости идентифицировать тип информации, вложенной в поле данных - там всегда находился пакет протокола IPX, долгое время бывшего единственным протоколом сетевого уровня в ОС NetWare.

Теперь, когда необходимость идентификации протокола верхнего уровня появилась, компания Novell стала использовать возможность инкапсуляции в кадр MAC-подуровня кадра LLC, то есть использовать стандартные кадры 802.3/LLC. Такой кадр компания обозначает теперь в своих операционных системах как кадр 802.2, хотя он является комбинацией заголовков 802.3 и 802.2.

Кадр стандарта Ethernet DIX, называемый также кадром Ethernet II, похож на кадр Raw 802.3 тем, что он также не использует заголовки подуровня LLC, но отличается тем, что на месте поля длины в нем определено поле типа протокола (поле Type). Это поле предназначено для тех же целей, что и поля DSAP и SSAP кадра LLC - для указания типа протокола верхнего уровня, вложившего свой пакет в поле данных этого кадра. Для кодирования типа протокола используются значения, превышающие значение максимальной длины поля данных, равное 1500, поэтому кадры Ethernet II и 802.3 легко различимы.

Еще одним популярным форматом кадра является кадр Ethernet SNAP (SNAP - SubNetwork Access Protocol, протокол доступа к подсетям). Кадр Ethernet SNAP определен в стандарте 802.2H и представляет собой расширение кадра 802.3 путем введения дополнительного поля идентификатора организации, которое может использоваться для ограничения доступа к сети компьютеров других организаций.

В таблице 2 приведены данные о том, какие типы кадров Ethernet обычно поддерживают реализации популярных протоколов сетевого уровня.

Таблица 2

Тип кадра Сетевые протоколы

Ethernet_II IPX, IP, AppleTalk Phase I

Ethernet 802.3 IPX

Ethernet 802.2 IPX, FTAM

Ethernet_SNAP IPX, IP, AppleTalk Phase II