Cisco QinQ (IEEE 802.1ad): полное руководство для провайдеров и корпоративных сетей
Создана 16.05.2026
Отредактирована 04.09.2026
Отредактирована 04.09.2026
Введение: почему 4094 VLAN — это мало?
Представьте, что вы — интернет-провайдер. У вас 5000 клиентов, и каждому нужно передать несколько VLAN между его офисами.
Проблема: стандартный тег VLAN содержит всего 12 бит, что даёт максимум 4094 идентификатора (VLAN ID 0 и 4095 зарезервированы).
А если у каждого клиента своя нумерация VLAN (у одного — 10, 20, у другого — тоже 10, 20)? Их трафик неизбежно перемешается.
Решение — QinQ (читается «кью-ин-кью», в русскоязычной среде часто говорят «вин-вин»). Технология, которая позволяет вложить один VLAN-тег в другой, как матрёшку.
Официальное название: IEEE 802.1ad (сейчас интегрирован в общий стандарт 802.1Q).
Как работает QinQ на уровне кадра
Обычный Ethernet-кадр с одним тегом выглядит так:
- Внутренний тег (C-Tag): Принадлежит клиенту. Клиент может использовать свои собственные VLAN ID (например, 10, 20, 100), даже не сообщая провайдеру.
- Внешний тег (S-Tag): Принадлежит провайдеру. Он изолирует трафик одного клиента от другого в сети оператора.
Типы QinQ в Cisco:
- Layer 2 QinQ (Туннелирование 802.1Q): Классический режим. Трафик коммутируется на втором уровне модели OSI. Порт, который принимает кадры от клиента, настраивается как dot1q-tunnel port . Часто используется в сочетании с L2PT (Layer 2 Protocol Tunneling) для проброса протоколов клиента (CDP, STP) через сеть оператора.
- Layer 3 QinQ: Более сложная функция. Позволяет маршрутизировать трафик с двойными тегами. Это используется в VPN уровня L3, позволяя создавать огромное количество виртуальных интерфейсов (до 4094*4094) на одном физическом порту.
Зачем это нужно (Основные сценарии)
- Решение проблемы 4094 VLAN: Оператор может обслуживать тысячи клиентов, у каждого из которых может быть своя нумерация VLAN (даже пересекающаяся с другими клиентами), не смешивая их трафик.
- Прозрачность для клиента: Клиент не знает, что его трафик проходит через чужую сеть. Он продолжает управлять своими VLAN (например, создавать транки между своими офисами), как если бы они были соединены прямым проводом.
- Увеличение адресного пространства: Теоретически комбинация внешнего и внутреннего тегов даёт до ~16 миллионов вариантов, однако на практике ограничения накладывает оборудование и таблицы MAC-адресов.
Сравнение с Private VLAN
Важно не путать QinQ с Private VLAN (PVLAN). Это принципиально разные вещи:
MAC-адреса → EtherType (0x8100) → Тег VLAN (C-Tag) → Данные
При использовании QinQ провайдер добавляет внешний тег поверх существующего:
MAC-адреса → EtherType (0x88a8 или 0x8100) → Внешний тег (S-Tag) → EtherType (0x8100) → Внутренний тег (C-Tag) → Данные
Два уровня тегов
| Тег | Кому принадлежит | Для чего |
|---|---|---|
| C-Tag (Customer Tag) | Клиенту | Клиент управляет своими VLAN (например, 10, 20, 100) и даже не сообщает провайдеру их номера |
| S-Tag (Service Tag) | Провайдеру | Изолирует трафик одного клиента от другого в магистрали оператора |
Ключевой момент: клиент не знает о существовании внешнего тега. Для него его кадры идут как будто по прямому проводу между офисами.
Зачем нужен QinQ: 3 основных сценария
1. Решение проблемы масштабирования
Провайдер может обслуживать тысячи клиентов, у каждого из которых своя внутренняя нумерация VLAN, и они не пересекаются между собой благодаря внешнему тегу.
2. Прозрачность для клиента (VLAN Transparency)
Клиент продолжает использовать свои VLAN на своих коммутаторах, а провайдерская сеть для него — невидимый «туннель». Это критически важно для L2VPN-услуг.
3. Увеличение адресного пространства
Теоретически комбинация внешнего и внутреннего тегов даёт до ~16 миллионов вариантов (4094 × 4094).
На практике ограничения накладывают аппаратные таблицы коммутаторов и размер MAC-таблиц, но для большинства задач этого достаточно с большим запасом.
Два типа QinQ в оборудовании Cisco
Layer 2 QinQ (Туннелирование 802.1Q)
Классический режим. Трафик коммутируется на втором уровне модели OSI.
- Порт клиента настраивается как dot1q-tunnel.
- Часто используется вместе с L2PT (Layer 2 Protocol Tunneling), чтобы пробрасывать клиентские протоколы (CDP, STP, VTP) через сеть оператора.
Где применяется: в сетях доступа провайдеров, для подключения корпоративных клиентов с собственными VLAN.
Layer 3 QinQ
Более сложный сценарий. Позволяет маршрутизировать трафик с двойными тегами.
- Используется в L3VPN.
- Позволяет создать огромное количество виртуальных интерфейсов (до 4094×4094) на одном физическом порту.
- Требует поддержки со стороны аппаратуры (обычно на более старших моделях Catalyst и Nexus).
Где применяется: в ядре операторских сетей, при организации мультитенантных VPN.
QinQ vs Private VLAN: в чём разница?
Эти технологии принципиально разные, хотя обе работают с VLAN.
| | QinQ (802.1ad) | Private VLAN (PVLAN) |
|---|---|---|
| Суть | Инкапсуляция — добавление второго тега | Фильтрация трафика внутри одного VLAN |
| Задача | Масштабировать сеть провайдера, разделять клиентов на магистрали | Изолировать хосты друг от друга на коммутаторе доступа |
| Уровень | Между клиентом и провайдером | Внутри одного сегмента L2 |
| Пример | Клиент A и клиент B используют VLAN 10, но не мешают друг другу | Хосты в одном VLAN не видят друг друга, но видят шлюз |
Простое запоминание:
- QinQ — добавляет ещё один слой.
- PVLAN — ограничивает видимость внутри одного слоя.
Пример настройки QinQ на Cisco IOS
Допустим, клиент присылает трафик с собственными тегами VLAN (trunk).
На стороне провайдера порт на коммутаторе доступа настраивается как туннельный.
Конфигурация порта доступа провайдера:
interface Ethernet1/1 description Connecting the client “LLC Romashka” switchport mode dot1q-tunnel switchport access vlan 100 no shutdown
Что при этом происходит:
- Клиент отправляет кадр с тегом VLAN 10.
- Коммутатор Cisco принимает его на порту dot1q-tunnel.
- Добавляет внешний тег VLAN 100 (S-Tag).
- В магистрали провайдера кадр идёт с двумя тегами: 100 → 10.
- На выходе, у другого клиентского порта, внешний тег 100 снимается, и клиент получает свой исходный кадр с тегом 10.
Важно: несмотря на команду switchport access vlan 100, порт принимает тегированные кадры. Это особенность режима dot1q-tunnel.
Критическое замечание: MTU
При добавлении второго тега (4 байта) кадр увеличивается.
Если в транзитной сети не увеличить MTU, кадры будут отбрасываться.
Рекомендация:
- На всех транзитных портах и магистральных линках установите MTU не менее 1504 байт (а лучше 9216 для поддержки Jumbo-кадров).
- В Cisco: mtu 1504 или mtu 9216.
Нюансы совместимости: EtherType
В зависимости от модели оборудования (старые Catalyst, Nexus, разные поколения) внешний тег может использовать разные значения EtherType:
| Значение | Стандарт / Происхождение | Примечание |
|---|---|---|
| 0x8100 | Стандартный 802.1Q | Обычно используется для C-Tag, но может быть и для S-Tag в старых реализациях |
| 0x88a8 | IEEE 802.1ad (официальный стандарт) | Рекомендуемый для S-Tag в современных сетях |
| 0x9100 | Проприетарный (Cisco, Extreme) | Встречается на старом оборудовании, лучше избегать |
Практический совет: при стыковке оборудования разных вендоров или разных поколений Cisco всегда проверяйте EtherType на обеих сторонах. Несовпадение приведёт к тому, что трафик будет интерпретироваться как обычные данные или отбрасываться.
Расширенный сценарий: Selective QinQ
В некоторых случаях требуется добавлять внешний тег не ко всем кадрам, а только к определённым внутренним VLAN.
Например:
- Клиент присылает VLAN 10 и 20.
- Для VLAN 10 нужен S-Tag 100, а для VLAN 20 — S-Tag 200.
Это называется Selective QinQ и реализуется через vlan dot1q tag native или политики классификации на более продвинутых платформах (Nexus, ASR).
Когда НЕ стоит использовать QinQ
- В небольших корпоративных сетях, где 4094 VLAN более чем достаточно.
- Если оборудование не поддерживает увеличенный MTU.
- При необходимости глубокого анализа трафика (например, NetFlow) — двойные теги усложняют идентификацию потоков.
- Если у вас много устаревшего оборудования, которое не понимает EtherType 0x88a8.
Заключение: краткий итог
| Параметр | Описание |
|---|---|
| Что делает | Добавляет внешний VLAN-тег к существующему |
| Стандарт | IEEE 802.1ad (теперь часть 802.1Q) |
| Где применяется | В сетях провайдеров, L2VPN, мультитенантных средах |
| Основное преимущество | Решает проблему 4094 VLAN и обеспечивает изоляцию клиентов |
| Главное ограничение | Требует увеличения MTU и согласования EtherType |
QinQ — это не просто «ещё один тег». Это фундаментальная технология, которая позволяет строить масштабируемые операторские сети, не заставляя клиентов менять свою внутреннюю сетевую архитектуру.
Дополнительные материалы (для углублённого изучения)
- Cisco: Configuring 802.1Q Tunneling (QinQ)
- IEEE 802.1Q-2022 (раздел про 802.1ad)
- Selective QinQ на платформах Cisco Nexus