PC L2VPN

De Le wiki des TPs RSM

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.

L2VPN1.png

Le but est évidemment d'isoler les trafics des différents établissements pour offrir une sécurité au données transmisses.

Question.jpg
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.

Question.jpg
Expliquez le nom QinQ




Question.jpg
Est-ce que les équipements des différents établissements doivent être modifiés pour mettre en place le marquage QinQ ?




Question.jpg
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).

Question.jpg
Pourquoi l'usage d'un Route Reflector permet de simplifier la découverte des PE participant au VPLS?





Question.jpg
Dans les VPN de niveau 3 un PE peut-il envoyer le même label aux autres PE pour l'annonce d'un même NLRI ? Dans un VPN de niveau 3, quand un PE reçoit une trame MPLS avec le label qu'il a associé à un NLRI peut-il déterminer le PE qui a émis la trame ? justifier





Question.jpg
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;
Question.jpg
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.




Question.jpg
Sur ce même schema, indiquer dans les VSI des différents PE, les PW mémorisés pour l'adresse MAC de A




Question.jpg
Quel chemin va prendre une trame en réponse de B vers A?




L2VPN2.png


     - 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.
Question.jpg
Quels propriétés font que le Spanning Tree est inutile dans le cœur de réseau ?




Question.jpg
Pourquoi en cas de panne d'un routeur P, comme indiqué en gris sur le schéma suivant, il n'est pas nécessaire de prévoir d'envoyer l'information des pseudo-wires passant par ce router P vers un autre PE pour être commutée ? Autrement dit, justifiez la technique du Split Horizon.




L2VPN3.png

Question.jpg
Est-il possible de faire du Broadcast ou du Multicast sur un VPLS ? Quelles précautions doivent être prises ?




Question.jpg
Que faut-il changer lorsque les services de la Mairie vont utiliser IPv6 ?




Question.jpg
En supposant que chaque site d'un service (Marie, Hôpital, Police) possède environ 1000 équipements de niveau 2. Combien d'adresses MAC devront mémoriser les PE ? Est-ce une contrainte de scalabilité ?




Question.jpg
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 ?




Question.jpg
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.

Question.jpg
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.

Question.jpg
Comment le PBB apprend l'adresse MAC du PBB destination ? Donner un exemple à partir du scénario vu précédemment (le trajet d'une trame de la machine A vers la machine B appartenant au même VLAN de l'hôpital)




Question.jpg
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 ?




Outils personnels