Q-in-Q Juniper
Description
Q-in-Q permet aux ISP d’étendre un réseau Ethernet L2 entre deux sites clients.
Le tunneling Q-in-Q permet aux ISP d’ajouter un autre TAG 802.1q.
Junos supporte le Q-in-Q (IEEE 802.1ad)
Fonctionnement
Avec un tunnel Q-in-Q, quand un paquet voyage d’un VLAN client à un VLAN ISP, l’ISP ajoute un tag 802.1q aux paquets. Ce tag permet au provider de différencier les VLANs. Le tag initial du client est conservé et retransmis au travers du réseau ISP.
Quand un paquet quitte le réseau ISP, le Tag 802.1q du réseau fournisseur est retiré.
Quand Q-in-Q est activé sur un Switch, les interfaces Trunk font partis de la partie du réseau ISP et les interfaces d’accèssont relatives au client. Une interface d’accès peut recevoir des trames tagguées ou non tagguées.
L’interface Trunk peut faire partis de plusieurs VLANs ISP.
On peut mapper un ou plusieurs clients sur un VLAN ISP, et on peut également ajouter une deuxième couche (tag) dans le réseau ISP.
On peut ensuite configurer de la QoS et des CoS.
Limitations:
- Pas d’IGMP Snooping
- Pas de port-security
- On ne peut désactiver l’apprentissage des MACs
- Pas de filtres/shaping/limiting per-VLAN based.
- Configuration (Exemple de configuration JunOS sur un Switch EX-series)
Voici la topologie utilisée:
Définir le VLAN ID pour le S-VLAN:
[edit vlans] user@switch#set qinqvlan vlan-id 4001
Définir le Q-in-Q tunneling et spécifier les ranges de VLAN:
[edit vlans] user@switch#set qinqvlan dot1q-tunneling customer-vlans 1-100 user@switch#set qinqvlan dot1q-tunneling customer-vlans 201-300
Définir le mode du port VLAN pour les interfaces :
[edit interfaces] user@switch#set ge-0/0/0 unit 0 family ethernet-switching port-mode trunk user@switch#set ge-0/0/0 unit 0 family ethernet-switching vlan members 4001 user@switch#set ge-0/0/12 unit 0 family ethernet-switching port-mode access user@switch#set ge-0/0/12 unit 0 family ethernet-switching vlan members 4001 user@switch#set ge-0/0/13 unit 0 family ethernet-switching port-mode access user@switch#set ge-0/0/13 unit 0 family ethernet-switching vlan members 4001
Définir la valeure Q-in-Q de l’Ethertype* :
[edit] user@switch#set ethernet-switching-options dot1q-tunneling ether-type 0x9100
Format de la trame Ethernet V2
8 |
6 |
6 |
2 |
46 à 1500 |
4 |
Préambule |
Adresse Destination |
Adresse Source |
EtherType |
Données |
CRC |
Description de l’EtherType : ou type de trame (2 octets)
Indique quel protocole est concerné par le message. La carte réalise un démultiplexage en fournissant les données au protocole concerné.
Les != types sont (en hexadécimal) définis par la RFC 1700.
- 8100—Specifies Ethertype value 0x8100, IEEE Standard 802.1q
- 88a8—Specifies Ethertype value 0x88a8, draft IEEE Standard 802.1ad
- 9100—Specifies Ethertype value 0x9100, défault Interface Configuration mode
Vérification
user@switch> show configuration vlans qinqvlan vlan-id 4001; dot1q-tunneling { customer-vlans [ 1-100 201-300 ]; }
user@switch> show vlans qinqvlan extensive VLAN: qinqvlan, Created at: Tue Dec 28 19:12:29 2010 802.1Q Tag: 4001, Internal index: 4, Admin State: Enabled, Origin: Static Dot1q Tunneling status: Enabled Customer VLAN ranges: 1-100 201-300 Protocol: Port Mode, Mac aging time: 300 seconds Number of interfaces: Tagged 1 (Active = 1), Untagged 2 (Active = 0) ge-0/0/0.0*, tagged, trunk ge-0/0/12.0, untagged, access ge-0/0/13.0, untagged, access
One Comment
Comments are Disabled
Très bon tuto, mais il ne faut pas oublier de changer la taille des trames max acceptée sur les interfaces (Q-in-Q 802.1ad, ajoute 4 octets supplémentaire, TAG S-VID).
exemple (avec des tailles de trames classiques) :
“set interfaces ge-0/0/0 mtu 1522”