Guida MikroTik
Interfacce, switching e VLANAvanzato

QinQ 802.1ad: doppio tag VLAN per reti provider

Come configurare QinQ (802.1ad) su RouterOS v7: doppio tag VLAN con ether-type 0x88a8 sul bridge provider, tag-stacking sulle porte customer, scenari tipici WISP/ISP.

QinQ (802.1ad) — anche noto come *provider bridging* o *double tagging* — aggiunge un secondo header VLAN (S-VLAN, outer tag) sopra a quello già presente (C-VLAN, inner tag del cliente). Questo permette a un ISP o WISP di isolare il traffico di clienti diversi sulla propria infrastruttura anche quando i clienti usano lo stesso spazio VLAN ID, senza conflitti.

Perché un WISP ne ha bisogno

Lo spazio VLAN 802.1Q ha solo 4094 VID utilizzabili. Su una rete d'accesso con migliaia di clienti, o quando trasporti VLAN di clienti business che hanno già le LORO VLAN interne, finisci i VID e rischi conflitti. Con QinQ il provider 'avvolge' tutto il traffico di un cliente/sito in una sola S-VLAN, lasciando intatte le C-VLAN del cliente: il backbone trasporta migliaia di clienti usando poche centinaia di S-VLAN, e il cliente vede la sua rete L2 come se fosse un cavo diretto (transparent LAN service).

Ether-type e differenza con 802.1Q

Il tag 802.1Q standard usa ether-type 0x8100. Il tag outer S-VLAN 802.1ad usa ether-type 0x88a8. RouterOS permette di impostare l'ether-type del bridge (ether-type) e di abilitare il tag-stacking per porta, permettendo la coesistenza di entrambi gli standard.

Configurazione bridge provider con ether-type 0x88a8
# Il bridge provider usa 0x88a8 come outer tag (S-VLAN)
/interface/bridge
add name=bridge-provider \
    ether-type=0x88a8 \
    vlan-filtering=yes \
    protocol-mode=none \
    comment="Provider bridge QinQ"
Aggiungere porta uplink (trunk S-VLAN) e porte customer
# Porta uplink verso core network: tagged con outer S-VLAN
/interface/bridge/port
add bridge=bridge-provider interface=ether1 \
    frame-types=admit-only-vlan-tagged \
    hw=yes \
    comment="Uplink core"

# Porta customer A: tutto il suo traffico viene incapsulato
# con S-VLAN 100 (outer) — il tag C-VLAN del cliente rimane intatto
add bridge=bridge-provider interface=ether2 \
    pvid=100 \
    frame-types=admit-only-untagged-and-priority-tagged \
    tag-stacking=yes \
    hw=yes \
    comment="Customer A - S-VLAN 100"

# Porta customer B: S-VLAN 200
add bridge=bridge-provider interface=ether3 \
    pvid=200 \
    frame-types=admit-only-untagged-and-priority-tagged \
    tag-stacking=yes \
    hw=yes \
    comment="Customer B - S-VLAN 200"

# VLAN table: S-VLAN 100 e 200 sull'uplink
/interface/bridge/vlan
add bridge=bridge-provider vlan-ids=100 tagged=ether1 untagged=ether2
add bridge=bridge-provider vlan-ids=200 tagged=ether1 untagged=ether3

Scenario WISP tipico

In un WISP con PPPoE, ogni cliente termina la sessione sul concentratore (BNG). Lungo il percorso dall'antenna al BNG si usa QinQ: la S-VLAN identifica il sito/antenna (es. VLAN 100 = Torre Nord, VLAN 200 = Torre Sud), mentre la C-VLAN identifica il cliente (es. VLAN 50 = Cliente Rossi, VLAN 51 = Cliente Bianchi). Il BNG riceve frame doppio-taggati, li de-incapsula e gestisce la sessione PPPoE del singolo cliente.

LIMITAZIONE HARDWARE: QinQ con ether-type 0x88a8 non è supportato da tutti i chip MikroTik. In particolare, i chip Marvell 88E6393X, 88E6191X e 88E6190 (alcune serie CRS) non supportano QinQ offloaded. Su questi dispositivi il bridge QinQ viene gestito dalla CPU (prestazioni inferiori). Verificare la compatibilità sul manuale del modello specifico.
Verifica dei frame doppio-taggati con sniffer
# Cattura traffico su ether1 per verificare i doppi tag
/tool/sniffer
set filter-interface=ether1 filter-ip-protocol=all
start
# dopo alcuni secondi
stop
# esporta su Wireshark via /tool/sniffer/save file-name=qinq_capture
BEST PRACTICE: usare protocol-mode=none sul bridge provider per disabilitare STP — il bridge non deve partecipare alla topologia STP del cliente. Gestire loop-protection separatamente se necessario (loop-protect sulle porte, vedi articolo sui loop).
MTU: il doppio tag aggiunge 8 byte. Assicurati che L2MTU lungo tutto il percorso QinQ sia almeno 1522 (meglio 1600) per non frammentare il traffico dei clienti. È una delle cause più frequenti di 'la VPN/Office non funziona ma il ping sì'.
QinQ802.1addouble tagS-VLANC-VLANether-type0x88a8tag-stackingprovider bridgeWISPISPservice tagcustomer tag

Configura senza fatica con l'AI

In WispOS l'agente AI genera la configurazione RouterOS dalle tue parole e un tutor ti guida passo passo.

Prova WispOS