PC L2VPN
Sommaire |
QinQ
Nous allons étudier les architectures Ethernet Métropolitain et leurs interconnexions de niveau 2 à travers MPLS. La figure suivante montre une architecture du réseau. Un réseau GigaEthernet connecte par ponts les différents établissement d'une ville.
Le but est évidemment d'isoler les trafics des différents établissements pour offrir une sécurité au données transmisses.
![]() |
Est-ce que des VLAN au niveau du réseau métropolitain peuvent résoudre ce problème ? Est ce que chaque service est autorisé à utiliser les numéros de VLAN de son choix ?
|
La norme IEEE 802.1ad (aussi appelée QinQ) permet d'empiler deux en-têtes de VLAN dans une trame Ethernet. On appelle C-VLAN le VLAN utilisé par le client et S-VLAN, le VLAN utilisé par l'opérateur du réseau métropolitain. La norme donne les valeurs suivantes pour le champ EtherType des en-têtes de VLAN:
- Customer VLAN tag: 81-00
- Service VLAN tag: 88-a8
Dans notre exemple, la mairie utilisera le S-VLAN 11, la police le VLAN 22 et l'hôpital le S-VLAN 33.
![]() |
Expliquez le nom QinQ
|
![]() |
Est-ce que les équipements des différents établissements doivent être modifiés pour mettre en place le marquage QinQ ?
|
![]() |
Donner le format d'une trame circulant sur le réseau métropolitain provenant du VLAN 15 de la mairie.
|
L2VPN Framework
Le but maintenant est d'étendre le réseau métropolitain à l'échelle d'une région. Pour se faire, l'utilisation de MPLS permet d'interconnecter les PE, mais au lieu de router les paquets dans les LSP, l'utilisation d'une interconnexion de niveau 2 implique l'utilisation de techniques de pontage. Deux groupes de travail de l'IETF travaillent sur ces fonctions. Le groupe L2VPN traite de la signalisation nécessaire pour mettre en œuvre le pontage entre PE distants et le groupe PWE3 (Pseudo Wire Emulation Edge-to-Edge) s'intéresse au transport de PDUs de niveau 2 dans les LSP appelé pseudowire (PW).
Le groupe L2VPN une technique proche de L3VPN, utilisant MP-BGP [RFC 4761] (Une autre méthode généralisant LDP est également définie par ce groupe).
Le RFC 4761 précise le modèle fonctionnel:
----- / A1 \ ---- ____CE1 | / \ -------- -------- / | | | A2 CE2- / \ / PE1 \ / \ / \ / \___/ | \ ----- ---- ---PE2 | \ | | \ ----- | Service Provider Network | \ / \ | | CE5 A5 | | ___ | / \ / |----| \ / \ PE4_/ ----- |u-PE|--PE3 / \ / |----| -------- ------- ---- / | ---- / \/ \ / \ CE = Customer Edge Device | A3 CE3 --CE4 A4 | PE = Provider Edge Router \ / \ / u-PE = Layer 2 Aggregation ---- ---- A<n> = Customer site n Figure 1: Example of a VPLS Terminology similar to that in L3VPN is used: a Service Provider (SP) network with P (Provider-only) and PE (Provider Edge) routers, and customers with CE (Customer Edge) devices. PE are "VPLS-aware", which means that they know that a VPLS service is being offered. The term "VE" refers to a VPLS edge device. In contrast, the CE device (which may be owned and operated by either the SP or the customer) is VPLS-unaware; as far as the CE is concerned, it is connected to the other CEs in the VPLS via a Layer 2 switched network. This means that there should be no changes to a CE device, either to the hardware or the software, in order to offer VPLS. A CE device may be connected to a PE via Layer 2 switches that are VPLS-unaware. From a VPLS point of view, such Layer 2 switches are invisible, and hence will not be discussed further. The term "demultiplexor" refers to an identifier in a data packet that identifies the VPLS to which the packet belongs as well as the ingress PE. In this document, the demultiplexor is an MPLS label.
Le but de MP-BGP est de faire des tunnels entre tous les PE participants à un même VPLS. Chaque VPLS est désigné par un identifiant unique commun à l'ensemble des PE. Comme pour les L3VPN, où un Route Distinguisher est construit pour indiquer l'appartenance à un VPN, un VPLS-ID est construit en concaténant le numéro d'AS et le S-VLAN. Le but est que chaque PE échange avec les autres les informations concernant les VPLS qu'il gère. Cette technique permet une découverte de l'ensemble des PE impliqués dans un même VPLS.
Pour chaque VPLS, un PE maintient une table des adresses MAC connues ainsi que le port sur lequel il a appris cette adresse. Un port peut être aussi bien une liaison physique vers un CE, ou une liaison entre deux PE sur le réseau MPLS, appelée Pseudo-Wire (PW).
![]() |
Pourquoi l'usage d'un Route Reflector permet de simplifier la découverte des PE participant au VPLS?
|
![]() |
Pourquoi avec VPLS, il est important que le PE recevant une trame puisse déterminer quel est le PE émetteur ?
|
La topologie généralement admise est l'utilisation d'un maillage complet (Full Mesh) de Pseudo-Wires entre tous les PE appartenant à un même VPLS.
VPLS Emulated LANs
Le RFC 4664 donne l'architecture suivante des PE :
|-----Routed Backbone-----| | (P Routers) |PSN Tunnels, Emulated LAN | |Pseudowires ....................................................................... . | | . . |---------------------|----| |--------|-----------------| . . | --------------------|--- | | -------|---------------- | . . | VPLS Forwarder | | VPLS Forwarder | . . | ----------|------------- | | ----------|------------- | . ..|.................................................................|.. | | Emulated LAN | | | Emulated LAN | | | Interface | VPLS-PEs | | Interface | | | | <----> | | | | ----------|------------ | | ----------|------------ | | | Bridge | | | | Bridge | | | -|--------|---------|-- | | ---|-------|---------|- | |--|--------|---------|----| |----|-------|---------|---| | | | | | | | | Access | | | Access | | | Networks| | | Networks| | | | | | | | | | | | | CE devices CE devices
Le RFC 4761 précise le mode de fonctionnement du pontage :
All the PEs participating in a VPLS are assumed to be fully meshed in the data plane, i.e., there is a bidirectional pseudowire between every pair of PEs participating in that VPLS, and thus every (ingress) PE can send a VPLS packet to the egress PE(s) directly, without the need for an intermediate PE.
[...]
A VPLS is an L2VPN service in which: - the ACs (Attachment Circuit) attach CE devices to PE bridge modules; and - each PE bridge module is attached via an "emulated LAN interface" to an "emulated LAN". The payload on the ACs consists of ethernet frames, with or without VLAN headers. The set of VPLS Forwarders within a single VPLS are connected via PWs. Two VPLS Forwarders will have a PW between them only if those two Forwarders are part of the same VPLS. On a real LAN, any frame transmitted by one entity is received by all the others. A VPLS Emulated LAN, however, behaves somewhat differently. When a VPLS Forwarder receives a unicast frame over one of its Emulated LAN interfaces, the Forwarder does not necessarily send the frame to all the other Forwarders on that Emulated LAN. In effect, then, each Forwarder behaves as a "Virtual Switch Instance" (VSI), maintaining a forwarding table that maps MAC addresses to PWs. The VSI is populated in much the same way that a standard bridge populates its forwarding table. The VPLS Forwarders do MAC Source Address (SA) learning on frames received on PWs from other Forwarders and must also do the related set of procedures, such as aging out address entries. Frames with unknown DAs or multicast DAs must be "broadcast" by one Forwarder to all the others (on the same emulated LAN). There are, however, a few important differences between the VPLS Forwarder VSI and the standard bridge forwarding function: - A VPLS Forwarder never learns the MAC SAs of frames that it receives on its ACs; it only learns the MAC SAs of frames that are received on PWs from other VPLS Forwarders;
![]() |
Sur le schema suivant, on suppose que les VSI sont à l'origine vide. Dessiner les PW et donner le trajet d'une trame de la machine A vers la machine B appartenant au même VLAN de l'hôpital.
|
![]() |
Sur ce même schema, indiquer dans les VSI des différents PE, les PW mémorisés pour l'adresse MAC de A
|
![]() |
Quel chemin va prendre une trame en réponse de B vers A?
|
- The VPLS Forwarders of a particular emulated LAN do not participate in a spanning tree protocol with each other. A "split horizon" technique is used to prevent forwarding loops.
![]() |
Quels propriétés font que le Spanning Tree est inutile dans le cœur de réseau ?
|
![]() |
Est-il possible de faire du Broadcast ou du Multicast sur un VPLS ? Quelles précautions doivent être prises ?
|
![]() |
Que faut-il changer lorsque les services de la Mairie vont utiliser IPv6 ?
|
![]() |
Est-ce qu'un utilisateur de la mairie usurpant une adresse MAC d'un équipement se trouvant dans un site de la police peut perturber le fonctionnement du réseau ?
|
![]() |
Est-ce qu'un utilisateur générant continûment des trames avec des adresses MAC sources aléatoires peut perturber le fonctionnement du réseau ?
|
IEEE 802.1ah
Le réseau Provider Backbone Bridge (PBB) ou Mac-in-Mac (MinM) permet de rendre plus résistante au facteur d'échelle l'architecture précédemment décrite. L'idée est de créer des sortes de tunnels de niveau 2 en encapsulant une trame Ethernet dans une autre. L'en-tête ajoutée contient plusieurs informations:
- L'adresse MAC de destination du PBB (B-DA) sur 6 octets,
- L'adresse MAC source du PBB (B-SA) ayant fait l'encapsulation,
- La valeur EtherType 0x88A8 suivit de 2 octets qui permet d'indiquer un VLAN (I-VID) dans le réseau de l'opérateur.
- La valeur EtherType 0x88E7 suivit de 3 octets indiquant le service (utilisé pour l'ingénierie de trafic non traité dans cet exercice)
- La trame à encapsuler (sans le CRC) qui peut être elle même de type QinQ.
La valeur du champ B-SA est obtenue localement, celle de l'I-VID est une correspondance avec le S-VLAN de QinQ. Il reste a déterminer comment est trouvé la valeur du champ B-DA. La norme IEEE 802.1ah décrit l'algorithme utilisé:
The backbone destination address (B-DA) of an encapsulated frame identifies the PBB(s) to which the frame should be delivered. The default value for the B-DA is the Backbone Service Instance Group address constructed by concatenating the three octet OUI 00-1E-83 with the three octet I-SID, and with the I/G bit (the least significant bit) set.
![]() |
Quelle est la nature d'une trame dont le bit I/G est mis à 1?
|
Individual backbone addresses are learned by means of the connection_identifier parameter generated by the PBB and stored in the Filtering Database. For each received frame, the PBB includes in the EM_UNITDATA.indication a connection_identifier parameter that identifies the backbone source address of the frame. When the I-component Learning Process creates or updates a Dynamic Filtering Entry for a customer source address (C-SA) of a frame received through a PBB, it stores the connection_identifier parameter of the EM_UNITDATA.indication for that frame. The connection_identifier parameter is included in the EM_UNITDATA.request for subsequent frames destined to that customer address. Within the PBB, the connection_identifier determines the individual backbone address associated with the customer address. This individual address is then used as the B-DA in place of the Backbone Service Instance Group address.
![]() |
Certaines compagnies annoncent des réductions significatives du coût d'exploitation en supprimant VPLS/MPLS du cœur du réseau pour remplacer les LER et LSR MPLS par de simples ponts. Pourquoi ?
|