Тег 802.1Q добавляет четыре байта между MAC-адресом отправителя и исходным полем EtherType/Length. Он содержит TPID и TCI; в TCI находятся PCP, DEI и 12-битный VID. Для обычных VLAN используются ID 1–4094: 0 обозначает priority tagging без явного VID, 4095 зарезервирован. Реальные ограничения устройства могут быть строже.
Как устроен тег VLAN на уровне L2 и чем ограничен VLAN ID?
Поля тега 802.1Q, диапазон 12-битного VID и специальные значения. Почему число возможных идентификаторов не равно ёмкости любого коммутатора.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
При передаче тегированного Ethernet-кадра 802.1Q между адресом отправителя и исходным EtherType/Length находится четырёхбайтовый тег. Формат разобран в документации Cisco.
Тег включает:
- TPID, 16 бит — обозначение типа тега, обычно
0x8100для C-tag; - PCP, 3 бита — приоритет;
- DEI, 1 бит — признак допустимости отбрасывания при перегрузке; в старых описаниях встречается название CFI;
- VID, 12 бит — идентификатор VLAN.
Значение DEI в современном 802.1Q описано у Cisco Nexus. PCP, DEI и VID вместе образуют TCI.
12 бит позволяют представить 4096 значений, но 0 используется для priority tagging без явного идентификатора VLAN, а 4095 зарезервирован. Обычный диапазон — 1–4094; см. описание vlan-id Juniper.
Это не обещание, что любой коммутатор поддерживает 4094 одновременно активных VLAN: аппаратные ограничения и внутренние резервы проверяют отдельно. Также не каждый кадр обязательно тегирован: на access-порту трафик обычно передаётся без тега, а принадлежность VLAN определяется настройкой порта.