4.3. Технология Ethernet 57
За полем адреса источника идёт 16-битное поле длины (Length, L), опреде-
ляющее число байт, следующее за полем длины (без учёта поля контроль-
ной суммы).
За ним следует заголовок LLC (рис. 4.8в). Он состоит из 8-разрядных полей
точки доступа к услуге источника (Source Service Access Point, SSAP) и
точки доступа к услуге получателя (Destination Service Access Point, DSAP),
а также поля управления, имеющего длину 8 или 16 бит, в зависимости от
типа протокола LLC.
Поля SSAP и DSAP размером по 6 бит (см. рис. 4.5) предназначены для опи-
сания типа протокола следующего уровня. Но при такой разрядности можно
указать не более 64 различных протоколов. Таким образом, недостаточный
размер полей SAP создаёт трудности при применении этого типа кадра (на-
пример, нет типа SAP для протокола ARP).
–– Тип кадра Ethernet SNAP.
Преждевременная стандартизация протокола LLC привела к значительным
трудностям в применении типа кадра 802.3/LLC. Для решения этой пробле-
мы комитетом 802.2 был предложен тип кадра Ethernet SNAP (SubNetwork
Access Protocol, протокол доступа к подсети).
Кадр Ethernet SNAP является расширением кадра 802.3/LLC за счёт введе-
ния дополнительного заголовка протокола SNAP. Заголовок SNAP состо-
ит из 3-байтного поля уникального идентификатора организации (Orga-
nizationally Unique Identifier, OUI) и 2-байтного поля типа (Type, Ether-
type). Тип идентифицирует протокол верхнего уровня, а поле OUI опреде-
ляет идентификатор организации, контролирующей назначение кодов типа
протокола. Коды протоколов для стандартов IEEE 802 контролирует IEEE,
имеющая код OUI, равный 0x000000. Для этого кода OUI поле типа для Eth-
ernet SNAP совпадает со значением типа для Ethernet DIX.
Протокол SNAP вкладывается в протокол LLC1. Код SAP для него — 0xAA.
Поле управления устанавливается в 0x03, что соответствует использованию
ненумерованных кадров (см. рис. 4.6в, учитывая обратный порядок записи
битов в байте в протоколе Ethernet).
Далее идёт поле данных (Data). Если длина поля данных недостаточна для
получения минимальной длины кадра, то вводится дополнительное поле запол-
нения (Padding), призванное обеспечить минимальную длину кадра.
В конце кадра идёт 32-битное поле контрольной суммы (Frame Check Se-
quence, FCS). Контрольная сумма вычисляется по алгоритму CRC-32.
Размер кадра Ethernet от 64 до 1518 байт (без учёта преамбулы, но с учётом
поля контрольной суммы) (см. рис. 4.7).
Алгоритм автоматического распознавания разных типов кадров Ethernet до-
статочно прост.
Поле, следующее за полем адреса источника, имеет длину 2 байта и может
быть либо полем Ethertype, либо полем длины данных. Максимальная длина поля
данных равна 1500 байт (0x05DC). Значение поля Ethertype всегда больше, чем
0x05DC. Следовательно, если значение поля больше, чем 0x05DC, то мы имеем
кадр Ethernet DIX. В противном случае — поле длины.
Если следующие за полем длины два байта выставлены в 0xFFFF, то это кадр
Raw 802.3. В противном случае мы имеем либо кадр типа 802.3/LLC, либо кадр
типа Ethernet SNAP, которые можно различить по значению полей SSAP и DSAP.
Если они выставлены в 0xAA, то имеем кадр Ethernet SNAP, иначе — кадр типа
802.3/LLC.