Logo
  • ГЛАВНАЯ
  • ОБО МНЕ
  • СЕРТИФИКАТЫ
nocip.ssh@mail.ru
Главная  >  Cisco Switching

Cisco QinQ (IEEE 802.1ad): полное руководство для провайдеров и корпоративных сетей


Создана 16.05.2026
Отредактирована 07.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-кадр с одним тегом выглядит так:

MAC-адреса → EtherType (0x8100) → Тег VLAN (C-Tag) → Данные

При использовании QinQ провайдер добавляет внешний тег поверх существующего.
Вот как это выглядит на уровне байтов:

Два уровня тегов

Тег
Кому принадлежит
Для чего
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 в дата-центре
Представим, что клиент решил разместить 2 сервера в дата-центре провайдера. Серверы подключены напрямую к портам коммутаторов провайдера (своего сетевого оборудования у клиента нет). Сетевые инженеры провайдера выделяют клиенту только один VLAN, в нашем примере VLAN 100. Но через какое-то время клиенту захотелось добавить тэгом vlan 10 в его локальную сеть. Задача провайдера — сделать так, чтобы серверы "видели" друг друга через VLAN 10, но при этом трафик этого клиента был изолирован от трафика других клиентов.
У провайдера очень много клиентов и на всех клиентов не хватит VLAN'ов, так как один клиент может запросить 10 VLAN'ов, а то и больше. Провайдер выделяет только один VLAN для каждого клиента, провайдер это предвидел и установил коммутаторы с поддержкой QinQ).
ОБРАТИТЕ ВНИМАНИЕ: настраивать dot1q-tunnel лучше в удобное для клиента время, так как при настройке связность между серверами будет пропадать.
Пошаговое объяснение сценария
Шаг
Действие
Результат
1
Сервер 1 отправляет кадр с VLAN 10 (C-Tag)
Кадр с одним тегом попадает на порт провайдера
2
Порт провайдера в режиме dot1q-tunnel добавляет внешний тег VLAN 100 (S-Tag)
Кадр получает два тега: 100 → 10
3
Кадр с двумя тегами идёт по магистрали дата-центра
Трафик изолирован от других клиентов благодаря S-Tag 100
4
На порту, где подключен Сервер 2, внешний тег 100 снимается
Кадр снова становится с одним тегом (VLAN 10)
5
Сервер 2 получает кадр с VLAN 10
Серверы "видят" друг друга, как будто они в одной сети
Ключевые выводы из этого сценария
  1. Клиенту не нужно своё оборудование — достаточно подключить серверы к портам провайдера.
  2. Клиент продолжает использовать свои VLAN (в примере — VLAN 10) и даже может не знать о существовании внешнего тега.
  3. Провайдер изолирует клиентов с помощью S-Tag (VLAN 100) — даже если у двух клиентов одинаковые внутренние VLAN, их трафик не пересечётся.
  4. Серверы получают L2-связность между стойками, как если бы они были подключены к одному коммутатору.
Образная аналогия: матрёшка
Если всё это звучит сложно, запомните простую аналогию:

Пример настройки QinQ на Cisco IOS

Допустим, клиент присылает трафик с собственными тегами VLAN (trunk).
На стороне провайдера порт на коммутаторе доступа настраивается как туннельный.
Конфигурация порта доступа провайдера:

interface Ethernet1/1 description Connecting the client “LLC Romashka” switchport switchport mode dot1q-tunnel switchport access vlan 100 no shutdown

Команда ниже отображает все порты, работающие в режиме dot1q-tunnel. При необходимости можно указать интерфейс или диапазон интерфейсов для отображения.

switch# show dot1q-tunnel ------------------------------------------------------------------------------- Interface ------------------------------------------------------------------------------- Ethernet1/1 Ethernet1/7 Ethernet1/8 Ethernet1/11

Что при этом происходит:
  1. Клиент отправляет кадр с тегом VLAN 10.
  2. Коммутатор Cisco принимает его на порту dot1q-tunnel.
  3. Добавляет внешний тег VLAN 100 (S-Tag).
  4. В магистрали провайдера кадр идёт с двумя тегами: 100 → 10.
  5. На выходе, у другого клиентского порта, внешний тег 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

Приветствуем всех любителей ретро-игровой индустрии на канале RetraR
Сувенирная и брендированная продукция с персонажами из любимых игр.
RetraR — Компьютерные игры для Nintendo Game Boy
RetraR - Computer games for Nintendo Game Boy 🌌🛸👽👾☄️🤖
RetraR - 任天堂ゲームボーイ用コンピュータゲーム 🎮🕹️👾

RetraR в VK
Канал - RetraR в Telegram
Канал - RetraR в Telegram

Оформить заказ

Нажимая на кнопку, вы даете согласие на обработку персональных данных

Спасибо за заказ

Ваш заказ принят в обработку. 

Мы свяжемся с вами в ближайшее время.