IEEE 802.1Q
IEEE 802.1Q — это стандарт Института инженеров электротехники и электроники (IEEE), описывающий механизм тегирования (маркировки) кадров в сетях Ethernet для поддержки виртуальных локальных сетей (VLAN). Стандарт определяет формат поля-тега VLAN, правила его вставки в кадр Ethernet, а также протоколы для обмена информацией о VLAN между коммутаторами. Принятый в 1998 году, IEEE 802.1Q стал основой для построения логически изолированных сетей поверх единой физической инфраструктуры, что широко применяется в корпоративных и операторских сетях.
История
Потребность в стандартизации VLAN возникла в середине 1990-х годов, когда несколько производителей сетевого оборудования (Cisco, 3Com, IBM) разработали собственные проприетарные протоколы тегирования, такие как Cisco Inter-Switch Link (ISL) и 3Com Virtual LAN Trunking. Отсутствие совместимости между этими решениями затрудняло построение гетерогенных сетей.
В 1996 году рабочая группа IEEE 802.1 начала разработку единого стандарта. Первая версия IEEE 802.1Q-1998 была опубликована 8 декабря 1998 года. Она ввела 4-байтовый тег VLAN, вставляемый между MAC-адресом источника и полем EtherType/Length в кадре Ethernet. В последующие годы стандарт несколько раз дополнялся: в 2003 году вышла версия IEEE 802.1Q-2003, объединившая ряд поправок; в 2005 году — IEEE 802.1ad (Q-in-Q) для расширения числа VLAN; в 2011 году — IEEE 802.1Q-2011, включивший поддержку Shortest Path Bridging (SPB). Актуальная на 2024 год версия — IEEE 802.1Q-2022.
Архитектура и принцип работы
Формат тега 802.1Q
Стандартный кадр Ethernet после добавления тега VLAN увеличивается на 4 байта. Тег состоит из следующих полей:
- Tag Protocol Identifier (TPID) — 2 байта (16 бит). Идентификатор протокола тегирования. Для 802.1Q значение равно 0x8100. Это поле позволяет коммутатору отличить тегированный кадр от нетэгированного.
- Tag Control Information (TCI) — 2 байта (16 бит). Включает три подполя:
- Priority Code Point (PCP) — 3 бита. Класс обслуживания (Class of Service, CoS), используемый для приоритезации трафика (802.1p). Значения от 0 (низший) до 7 (высший).
- Drop Eligible Indicator (DEI) — 1 бит. Индикатор возможности отбрасывания кадра при перегрузке (ранее назывался CFI — Canonical Format Indicator).
- VLAN Identifier (VID) — 12 бит. Идентификатор VLAN. Диапазон значений от 0 до 4095. Значения 0 и 4095 зарезервированы: 0 указывает на отсутствие тега (кадр не принадлежит ни одной VLAN), 4095 — зарезервирован для управления. Фактически доступны идентификаторы от 1 до 4094.
Таким образом, максимальное число VLAN в рамках одного домена 802.1Q — 4094.
Режимы работы портов
Коммутаторы, поддерживающие 802.1Q, могут работать в двух основных режимах:
- Access port (порт доступа) — порт, который передаёт и принимает только нетэгированные кадры. Кадры, поступающие на такой порт, автоматически ассоциируются с одной статически заданной VLAN (native VLAN). При отправке кадра на порт доступа тег удаляется. Используется для подключения конечных устройств (компьютеров, принтеров), не поддерживающих тегирование.
- Trunk port (магистральный порт) — порт, который передаёт и принимает тегированные кадры для нескольких VLAN одновременно. На trunk-порту может быть настроена native VLAN — VLAN, кадры которой передаются без тега (обычно для совместимости с устройствами, не понимающими теги). По умолчанию native VLAN — VLAN 1, но её можно изменить.
Протоколы управления VLAN
Для автоматизации конфигурации VLAN в сети применяются протоколы:
- GVRP (GARP VLAN Registration Protocol) — протокол, основанный на Generic Attribute Registration Protocol (GARP), позволяющий коммутаторам динамически объявлять о наличии VLAN и автоматически настраивать trunk-порты. Описан в IEEE 802.1Q, но считается устаревшим.
- MVRP (Multiple VLAN Registration Protocol) — замена GVRP, определённая в IEEE 802.1ak (поправка к 802.1Q). Более эффективен и надёжен, поддерживает множественную регистрацию VLAN. MVRP является частью стандарта IEEE 802.1Q-2011 и более новых версий.
Разновидности и расширения
IEEE 802.1ad (Q-in-Q)
Стандарт IEEE 802.1ad, принятый в 2005 году, известен как Q-in-Q (Double Tagging). Он позволяет вкладывать один тег VLAN внутрь другого, создавая двухуровневую иерархию. Внешний тег (service tag) обычно используется провайдером для идентификации клиента, внутренний (customer tag) — клиентом для своих VLAN. Это расширяет пространство VLAN до 4094×4094 = примерно 16,7 миллионов комбинаций. Q-in-Q широко применяется в сетях Metro Ethernet и операторских сетях.
IEEE 802.1ah (Provider Backbone Bridging)
Стандарт IEEE 802.1ah (PBB), принятый в 2008 году, добавляет третий уровень тегирования — MAC-in-MAC. Кадр клиента полностью инкапсулируется в новый кадр Ethernet с MAC-адресами провайдера и дополнительными тегами (I-SID — Service Instance Identifier). Это позволяет строить масштабируемые сети операторского класса с поддержкой до 16 миллионов сервисных экземпляров.
IEEE 802.1Qbp (Equal Cost Multiple Paths)
Поправка 2014 года, добавляющая поддержку Equal Cost Multiple Paths (ECMP) для VLAN — возможность балансировки трафика между несколькими равнозначными путями в сети.
Shortest Path Bridging (SPB)
IEEE 802.1aq (SPB), принятый в 2012 году, является расширением 802.1Q, которое заменяет протоколы Spanning Tree Protocol (STP) на более эффективный алгоритм кратчайших путей. SPB позволяет строить сети с полной связностью (full mesh) и автоматически вычислять оптимальные маршруты для каждого VLAN.
Применение
IEEE 802.1Q используется в следующих сценариях:
- Сегментация сети — разделение одной физической сети на несколько логически изолированных подсетей для разных отделов, проектов или клиентов.
- Безопасность — изоляция трафика между разными VLAN, что предотвращает несанкционированный доступ между сегментами.
- Управление трафиком — приоритезация кадров с помощью поля PCP (802.1p) для обеспечения качества обслуживания (QoS).
- Операторские сети — предоставление услуг Ethernet-доступа для бизнес-клиентов с поддержкой их собственных VLAN (Q-in-Q, PBB).
- Центры обработки данных — построение виртуализированных сетей (Virtual Extensible LAN, VXLAN) поверх физической инфраструктуры с использованием 802.1Q для тегирования.
Ограничения и критика
Основные недостатки IEEE 802.1Q:
- Ограниченное число VLAN — 4094 идентификатора недостаточно для крупных операторских сетей, что потребовало разработки Q-in-Q и PBB.
- Увеличение размера кадра — добавление 4 байт может превысить стандартный MTU Ethernet (1500 байт), что требует поддержки jumbo-кадров (обычно 1522 байта и более).
- Сложность конфигурации — ручное назначение VLAN на каждом коммутаторе в крупной сети трудоёмко; протоколы GVRP/MVRP не всегда надёжны.
- Проблемы безопасности — атаки типа VLAN hopping (перепрыгивание между VLAN) возможны при неправильной настройке native VLAN или двойного тегирования.
Интересные факты
- Изначально в стандарте IEEE 802.1Q-1998 поле DEI называлось CFI и использовалось для индикации формата MAC-адреса (Ethernet или Token Ring). В современных версиях оно переименовано.
- Стандарт 802.1Q не определяет, как коммутатор должен обрабатывать кадры с неизвестным VID — это оставлено на усмотрение производителя.
- В протоколе VXLAN (RFC 7348), широко используемом в виртуализации, для тегирования применяется 24-битный идентификатор VNI, что позволяет создавать до 16 миллионов виртуальных сетей — в 4096 раз больше, чем в 802.1Q.
Источники
- IEEE Std 802.1Q-2022 — IEEE Standard for Local and Metropolitan Area Networks—Bridges and Bridged Networks
- IEEE Std 802.1ad-2005 — IEEE Standard for Local and Metropolitan Area Networks—Virtual Bridged Local Area Networks—Amendment 4: Provider Bridges
- IEEE Std 802.1ah-2008 — IEEE Standard for Local and Metropolitan Area Networks—Virtual Bridged Local Area Networks—Amendment 6: Provider Backbone Bridges
- IEEE Std 802.1aq-2012 — IEEE Standard for Local and Metropolitan Area Networks—Bridges and Bridged Networks—Amendment 9: Shortest Path Bridging
- RFC 7348 — Virtual eXtensible Local Area Network (VXLAN): A Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →