Les réseaux IP/MPLS
Principe du MPLS
La commutation de labels
Les réseaux IP/MPLS se base sur l'établissement de chemin entre deux machines (Les Label Switched Path ou LSP). La commutation des paquets circulant
sur ce chemin est faites en analysant un label contenu dans l'entête MPLS qui est ajouté entre la couche 2 (souvent Ethernet) et la couche IP.
Voici un schéma résumant le principe de la commutation de label tout au long d'un chemin ou Label Switched Path :
Le schéma nous montre le détail de la pile de protocole mis en oeuvre durant cette transmission, on remarque la présence du label MPLS entre la couche Ethernet et la couche IP. Nous allons maintenant analyser le format de l'entête MPLS :
L’entête MPLS a une taille de 4 octets et est composé par les champs suivants :
- Le numéro de label
- CoS : Chaque paquet labelisé peut se voir attribuer une Class of service, afin de permettre différentes « discard politics » ou « scheduling politics » pour des paquets ayant le même numéro de label. Cependant la RFC précise que c’est un champ encore experimental.
- S : bottom of stack. Le bit "S" est à 1 quand le dernier label de la pile est atteint. On verra par la suite que l’on peut empiler les labels (par exemple pour créer des Tunnels).
- TTL : Ce champ à le même rôle que le TTL de l’entête IP. Etant donné que l’entête IP n’est pas analyser par les LSR, la valeur du TTL est recopié dans l’entête MPLS à l’entrée du réseau par le Ingress LER. Ensuite, à chaque commutation par un LSR, le TTL est modifié. La valeur TTL de l’entête MPLS est ensuite recopié dans l’entête IP à la sortie du réseau MPLS par le Egress LER.
Nous allons maintenant voir, comment se fait la décision d’attribuer un label particulier à un paquet IP. Ensuite nous allons voir comment sont échanger les Labels entre les LSR, car des echanges sont indispensable pour construire les LSP et les tables de commutations.
Forwarding Equivalent Class
Les paquets IP entrant sur le réseau MPLS sont associés à une FEC : Forwarding Equivalent Class.
Une FEC va définir comment sera acheminé à travers tous le réseau MPLS. En IP, la classification d’un paquet dans une FEC est fait sur chaque routeur, à partir de l’IP destination.
En MPLS, le choix d’une FEC peut être fait selon plusieurs paramètres (adresse IP source, destination et paramètre de QoS (débit, delai)).
Les paramètres intervenant dans la classification d’un paquet dans une FEC dépend du protocole de distribution de label utilisé : LDP ou RSVP-TE.
En effet seul RSVP-TE, que nous détaillerons plus tard, permet de classifier un paquet dans une FEC selon des paramètres de QoS.
Pour classifier un paquet dans une FEC, MPLS s’appuie sur le protocole de routage mis en oeuvre sur le réseau IP. Par exemple, le protocole LDP
associe une FEC par prefixe réseau présent dans la table de routage du routeur. De plus, une FEC peut se voir attribuer plusieurs "Class of service",
afin de permettre différentes « discard politics » ou « scheduling politics » (champ CoS de l’entête MPLS).
Ainsi, chaque FEC se voit associer un label de sortie. Le routeur saura donc quel label il doit attribuer aux paquets IP correspondant à telle ou telle FEC.
Nous allons maintenant voir comment sont distribuer ces associations FEC/labels entre tous les routeurs du réseau. En effet, ces échanges sont indispensable à l'établissement de LSP, car chaque noeud doit savoir quel label il doit attribuer a une FEC avant de l'envoyer à son voisin.
Distribution des labels
Dans les réseaux IP/MPLS il existe deux modes de distribution des labels.
Le premier mode de distribution est le "Unsolicited DownStream ". Voici un schéma synthétisant son fonctionnement :
Le principe est simple, dès qu'un routeur à associé un label à une FEC, il informe tous ses voisins de cette association. Et cela de manière automatique. Ceci à pour but d'augmenter le trafic dû à la "signalisation" sur le réseau.
Le deuxième mode de distribution, qui est le plus utilisé dans les réseaux IP/MPLS, se nomme "DownStream On Demand".
Avec ce mode de distribution, le UpStream LSR demande au DownStream LSR de lui fournir le numéro de label qu'il a associé à une FEC particulière. Le UpStream LSR est le routeur qui envoit le trafic vers le DownStream LSR, ainsi lors du passage d'un paquet qui n'est pas encore associé à une FEC, le UpStream LSR va devoir demander l'association d'un label pour cette FEC au LSR suivant (le DownStream LSR sur ce schéma).
C'est ce dernier mode de distribution qui est utilisé par le protocole RSVP-TE que nous verrons par la suite.
Rétention des labels
Nous avons vu dans la partie précédente que les routeurs recevaient de nombreuses informations à propos des associations FEC/label qui
ont été faites par leur voisins.
On peut donc s'interroger sur la politique qui est mise en place par rapport à la conservation de ces associations FEC/label.
L'architecture MPLS prévoit deux politiques de rétention des labels :
- Mode "Libéral" : un LSR conserve tous les labels annoncés par ces voisins, même ceux qu'il n'utilise pas. Ce mode offre une convergence rapide lorsqu'un noeud du réseau tombe. Cependant ce mode est plus consommateur que le mode "Conservative". Le mode "libéral" est utilisé en mode de distribution de label "Unsolicited Downstream".
- Mode "Conservative" : un LSR ne conserve que les labels envoyés par le routeur "next-hop" pour la FEC associé à ce label. Ce mode offre une convergence plus lente lors d'un changement de topologie du réseau (routeur en panne, etc), cependant il offre une faible consommation en mémoire. Le mode "Conservative" est utilisé en mode de distribution de label "DownStream On Demand".
Label Switching Path
La création d'un Label Switched Path à travers le réseau est différentes selon le mode de distribution de labels utilisé dans
le réseau.
LSP Tunneling
Précédemment, je vous ai parler de la possibilité d'empiler les entêtes MPLS, et donc les labels MPLS.
Ce principe nommé "Label Stacking" est utilisé pour créer des Tunnel LSP. Le LSP Tunneling est
une composante importante de la technologie VPLS que je vous présenterai dans une autre section de ce site Web.
Enfin, le LSP Tunneling est souvent mis en oeuvre pour aggréger plusieurs LSPs dans un seul, comme dans le schéma ci-dessous.
Le schéma ci-dessus montre un réseau IP/MPLS contenant 3 Ingress LER, 3 LSR et 3 Egress LER. Trois LSP sont mis en place :
- LSP entre "Ingress LER 1" et "Egress LER 1" dont les labels à travers le réseau sont de couleur cyan
- LSP entre "Ingress LER 2" et "Egress LER 2" dont les labels à travers le réseau sont de couleur bleu
- LSP entre "Ingress LER 3" et "Egress LER 3" dont les labels à travers le réseau sont de couleur gris
Le Tunnel LSP est marqué en rouge, et les différents labels associés à ce Tunnel LSP sont marqué en rouge. Ainsi, dans le coeur du réseau, le LSR du milieu ne connait qu'un seul LSP : le LSP rouge, qui encapsule tous les autres. Dans un vrai réseau, on pourrait imaginer que plusieurs LSR du backbone soit traversé par le Tunnel LSP.
En résumé, on remarque que cette technique permet de diminuer le nombre de LSP connu par les LSR !