MPLS Traffic Engineering synthétisé…


MPLS TE reste une application obscure et méconnue, souvent considérée comme trop complexe pour être utilisée.

engrenages

Je constate néanmoins qu’on en rencontre régulièrement de nouvelles implémentations, en particulier dans le domaine du video broadcasting.

Par ailleurs MPLS TE reste un choix naturel  pour celui qui souhaite gérer la capacité de son réseau en fonction des priorités des services offerts.

L’objectif de ce post est de présenter une synthèse de ce qu’il faut faire pour déployer MPLS Traffic Engineering :

 

 

  1. Activation des extensions MPLS TE dans l’IGP

  2. Déclaration des liens MPLS TE, et configuration de leurs attributs

  3. Signalisation et établissement des tunnels TE

  4. Injection du trafic dans les tunnels

1. Distribution des informations 

Il faut activer les extensions MPLS, c’est le rôle de l’IGP.

Bien que ceci puisse être réalisé dans un réseau multi aires, il est évidemment bien plus facile de partir d’un réseau simple (aire 0 OSPF, ou L2 only ISIS).

A partir du moment où ceci est réalisé, l’IGP envoie des extensions, utilisées pour construire la TED (Traffic Engineering Database) :

  • OSPF : Opaque LSA 10
  • ISIS : TLV 22 – voir RFC 3784

 

2. Activation de TE sur les liens, et configuration des attributs

Il faut déclarer explicitement les liens qui participent à MPLS TE, et éventuellement spécifier leurs attributs afin d’influencer ce qui sera présenté pour chaque lien par l’IGP dans la TED :

  • Maximum reservable BW
  • TE metric (égale à celle de l’IGP par défaut)
  • Administrative group

3. Signalisation et établissement du tunnel TE

Les tunnels TE peuvent être statiques, dynamiques pour tout ou partie.

Voici l’algorithme C-SPF, qui permet de calculer le meilleur chemin pour un tunnel-te :

  1. Exclusion des liens incompatibles
    comparer attribute-flags et tunnel affinity/mask (bitmask = 0 ? don’t care)
  2. Vérification BW condition
    sur IOS XR : interface tunnel-te > signalled-bandwidth et priority acceptables par lien candidat
    ===> si le tunnel est statique, pas nécessaire d’aller plus loin
  3. Calcul du chemin le plus court
    cost TE le plus faible ou cost IGP si tie-break (cost TE == cost IGP par défaut)
  4. Si plusieurs chemins choix de celui qui a le plus de BW disponible
  5. Si plusieurs chemins, choix de celui qui a le moins de noeuds
  6. Si plusieurs chemins, choix aléatoire de l’un d’eux

RSVP : PATH et RESV messages

Quel que soit le mode retenu : strict/loose ERO, dynamique, avec ou sans secours, c’est toujours RSVP qui sera utilisé pour la signalisation du tunnel dans le réseau.

4. Injection du trafic dans le tunnel

  • Static route
  • Policy Based Routing
  • Auto route : utiliser le tunnel localement en concurrence avec les autres liens dans SPF
  • Forward adjacency : annoncer le lien TE dans l’IGP.
  • Pseudowire Tunnel Selection – IOS XR :  l2vpn > pw-class > encapsulation mpls > preferred-path
    CBTS sur Cisco IOS  ou PBTS sur Cisco IOS XR