Aller au contenu principal

5. Forwarding

5. Transit (Forwarding)​

Si les routeurs intermédiaires du réseau dorsal ne disposent d'aucune information sur les routes vers les divers VPN, comment un paquet (packet) est-il transféré d'un site VPN à un autre ?

Lorsqu'un routeur PE reçoit un paquet IP d'un équipement CE, il sélectionne un VRF particulier dans lequel rechercher l'adresse de destination du paquet. Cette sélection repose sur le circuit de raccordement d'entrée (ingress attachment circuit) du paquet.

Supposons qu'une correspondance soit trouvée ; on obtient ainsi le « prochain saut » (next hop) du paquet.

Si le prochain saut du paquet est atteint directement depuis ce PE via un circuit de raccordement VRF (c'est-à-dire que le circuit de raccordement de sortie (egress attachment circuit) est sur le même PE que le circuit d'entrée), le paquet est envoyé sur ce circuit de raccordement, sans qu'aucune étiquette MPLS ne soit empilée (push) sur la pile d'étiquettes (label stack) du paquet.

Si le circuit d'entrée et le circuit de sortie sont sur le même PE mais associés à des VRF différents, et si la route la mieux correspondant à l'adresse de destination dans le VRF du circuit d'entrée est un agrégat (aggregate) de plusieurs routes dans le VRF du circuit de sortie, alors une recherche dans ce VRF de sortie peut être nécessaire pour l'adresse de destination du paquet.

Si le prochain saut du paquet n'est pas atteint via un circuit de raccordement VRF, le paquet doit traverser le réseau dorsal d'au moins un saut. Il a donc un « prochain saut BGP » (BGP Next Hop), et ce prochain saut BGP alloue une étiquette MPLS (label) pour la route correspondant le mieux à l'adresse de destination du paquet. Cette étiquette est appelée « étiquette de route VPN » (VPN route label). Le paquet IP est converti en un paquet MPLS dont la seule étiquette sur la pile est cette étiquette de route VPN.

Le paquet doit ensuite être tunnelisé (tunneled) vers ce prochain saut BGP.

Si le réseau dorsal prend en charge MPLS, cela se fait comme suit :

  • Les routeurs PE (et tout ASBR) doivent insérer leurs propres préfixes d'adresse /32 dans la table de routage IGP du réseau dorsal lors de la redistribution des adresses VPN-IPv4. Cela permet à MPLS d'allouer une étiquette pour la route vers chaque routeur PE dans chaque nœud du réseau dorsal. Pour garantir l'interopérabilité (interoperability) entre les différentes implémentations, la prise en charge de LDP est requise pour établir les chemins de commutation d'étiquettes (label switched path) à travers le réseau dorsal. D'autres méthodes peuvent toutefois être utilisées pour établir ces chemins. (Certaines de ces autres méthodes peuvent ne pas exiger la présence de ces préfixes /32 dans l'IGP.)

  • S'il existe des tunnels avec ingénierie de trafic (traffic engineering) vers ce prochain saut BGP, et que l'un d'eux ou plusieurs sont utilisables pour le paquet, l'un d'eux est sélectionné. Le tunnel est associé à une étiquette MPLS, l'« étiquette de tunnel » (tunnel label). L'étiquette de tunnel est empilée sur la pile d'étiquettes MPLS, et le paquet est transféré vers le prochain saut du tunnel.

  • Sinon :

    • Le paquet aura un « prochain saut IGP » (IGP Next Hop), c'est-à-dire le prochain saut le long de la route IGP vers le prochain saut BGP.

    • Si le prochain saut BGP est identique au prochain saut IGP et que l'élimination au saut précédent (penultimate hop popping) est utilisée, le paquet est envoyé au prochain saut IGP avec uniquement l'étiquette de route VPN.

    • Sinon, le prochain saut IGP alloue une étiquette pour la route correspondant le mieux à l'adresse du prochain saut BGP. Cette étiquette est appelée « étiquette de tunnel ». Elle est empilée comme étiquette au sommet de la pile du paquet. Le paquet est ensuite transféré vers le prochain saut IGP.

  • MPLS transporte ensuite le paquet à travers le réseau dorsal jusqu'au prochain saut BGP, où l'étiquette VPN est examinée.

Si le réseau dorsal ne prend pas en charge MPLS, le paquet MPLS ne portant que l'étiquette de route VPN peut être tunnelisé vers le prochain saut BGP en utilisant la technique de [MPLS-in-IP-GRE]. Lorsque le paquet émerge du tunnel, il se trouve au prochain saut BGP, où l'étiquette VPN est examinée.

Au prochain saut BGP, le traitement du paquet dépend de l'étiquette de route VPN (voir section 4.3.2). Dans de nombreux cas, le PE sera capable de déterminer à partir de cette étiquette le circuit de raccordement par lequel le paquet doit être transmis (vers un équipement CE) ainsi que l'en-tête de couche 2 (data link layer) approprié de l'interface. Dans d'autres cas, le PE ne pourra déterminer que le paquet doit être recherché dans un VRF particulier pour son adresse de destination avant d'être transmis à un équipement CE. Il existe aussi des cas intermédiaires : l'étiquette de route VPN peut déterminer le circuit de raccordement de sortie, mais une recherche supplémentaire (par exemple ARP) peut être nécessaire pour déterminer l'en-tête de couche 2 sur ce circuit.

Les informations de l'en-tête MPLS lui-même et/ou les informations associées à cette étiquette peuvent également être utilisées pour fournir une qualité de service (QoS) sur l'interface vers le CE.

Dans tous les cas, si un paquet arrive à son PE d'entrée comme un paquet IP non étiqueté, il en repartira également comme un paquet non étiqueté.

Le fait que les paquets portant une étiquette de route VPN soient tunnelisés à travers le réseau dorsal permet de maintenir toutes les routes VPN hors des routeurs P. Cela est essentiel pour garantir l'évolutivité (scalability) de l'approche.