Aller au contenu principal

3. VRFs - Multiple Forwarding Tables in PEs (VRF - Plusieurs tables de transfert dans les PE)

3. VRFs: Multiple Forwarding Tables in PEs (VRF : Plusieurs tables de transfert dans les PE)

Chaque routeur PE maintient un certain nombre de tables de transfert distinctes. L'une des tables de transfert est la "table de transfert par défaut". Les autres sont les "VPN Routing and Forwarding tables" (tables de routage et de transfert VPN), ou "VRF".

3.1. VRFs and Attachment Circuits (VRF et circuits d'attachement)

Chaque circuit d'attachement PE/CE est associé, par configuration, à une ou plusieurs VRF. Un circuit d'attachement associé à une VRF est appelé un "circuit d'attachement VRF".

Dans le cas le plus simple et le plus typique, un circuit d'attachement PE/CE est associé à exactement une VRF. Lorsqu'un paquet IP est reçu sur un circuit d'attachement particulier, son adresse IP de destination est recherchée dans la VRF associée. Le résultat de cette recherche détermine comment acheminer le paquet. La VRF utilisée par le PE entrant d'un paquet pour acheminer ce paquet particulier est appelée la "VRF entrante" du paquet. (Il y a aussi une notion de "VRF sortante" du paquet, située au PE sortant du paquet ; cela est discuté dans la section 5.)

Si un paquet IP arrive via un circuit d'attachement qui n'est associé à aucune VRF, l'adresse de destination du paquet est recherchée dans la table de transfert par défaut, et le paquet est acheminé en conséquence. Les paquets qui sont transférés selon la table de transfert par défaut incluent les paquets provenant de routeurs P ou PE voisins, ainsi que les paquets provenant de circuits d'attachement orientés client qui ne sont pas associés à des VRF.

Intuitivement, on peut considérer la table de transfert par défaut comme contenant des "routes publiques", et les VRF comme contenant des "routes privées". On peut de même considérer les circuits d'attachement VRF comme "privés" et les circuits d'attachement non-VRF comme "publics".

Si un circuit d'attachement VRF particulier connecte le site S à un routeur PE, alors la connectivité à partir de S (via ce circuit d'attachement) peut être restreinte en contrôlant l'ensemble des routes qui sont entrées dans la VRF correspondante. L'ensemble des routes dans cette VRF devrait être limité aux routes qui mènent à des sites qui ont au moins un VPN en commun avec S. Alors un paquet envoyé depuis S via le circuit d'attachement VRF ne peut être acheminé par le PE vers un autre site S' que si S' est dans le même VPN que S. C'est-à-dire que la communication (via le routeur PE) est empêchée entre toute paire de sites VPN qui n'ont aucun VPN en commun. La communication entre les sites VPN et les sites non-VPN est empêchée en excluant les routes vers les sites VPN de la table de transfert par défaut.

S'il y a plusieurs circuits d'attachement menant de S à un ou plusieurs routeurs PE, alors il peut y avoir plusieurs VRF qui pourraient être utilisées pour acheminer le trafic de S. Pour restreindre correctement la connectivité de S, le même ensemble de routes doit exister dans toutes les VRF. Alternativement, différentes restrictions de connectivité peuvent être imposées via différents circuits d'attachement de S. Dans ce cas, certaines des VRF associées aux circuits d'attachement de S contiendront des ensembles de routes différents des autres.

Nous permettons le cas où un seul circuit d'attachement est associé à un ensemble de VRF, plutôt qu'à une seule VRF. Cela peut être utile si l'on souhaite partitionner un seul VPN en plusieurs "sous-VPN", chacun avec des restrictions de connectivité différentes, et utiliser certaines caractéristiques des paquets du client pour choisir entre les sous-VPN. Cependant, pour simplifier, nous parlerons généralement comme si un circuit d'attachement était associé à une seule VRF.

3.2. Associating IP Packets with VRFs (Association des paquets IP avec les VRF)

Lorsque le routeur PE reçoit un paquet d'un appareil CE, il doit déterminer le circuit d'attachement par lequel le paquet est arrivé, car cela détermine à son tour la VRF (ou l'ensemble de VRF) qui peut être utilisée pour transférer ce paquet. En général, pour déterminer le circuit d'attachement par lequel un paquet est arrivé, le routeur PE prend note de l'interface physique par laquelle le paquet est arrivé, et éventuellement de certains aspects de l'en-tête de couche 2 du paquet également. Par exemple, si le circuit d'attachement entrant du paquet est un VC Frame Relay, alors l'identité du circuit d'attachement peut être déterminée par l'interface Frame Relay physique sur laquelle le paquet est arrivé, ainsi que par le champ Data Link Connection Identifier (DLCI) dans l'en-tête Frame Relay du paquet.

Bien que la conclusion du PE selon laquelle un paquet particulier est arrivé sur un circuit d'attachement particulier puisse être déterminée en partie par l'en-tête de couche 2 du paquet, il faut s'assurer qu'il n'est pas possible pour un client de tromper le SP en lui faisant croire qu'un paquet reçu sur un circuit d'attachement est en fait arrivé sur un autre, en écrivant dans les champs d'en-tête. Dans l'exemple ci-dessus, bien que le circuit d'attachement soit déterminé en partie par inspection du champ DLCI dans l'en-tête Frame Relay, ce champ n'est pas un champ que le client peut définir librement. Au contraire, il doit être défini sur une valeur spécifiée par le SP, sinon le paquet n'arrivera pas au routeur PE.

Dans certains cas, un site particulier peut être divisé par le client en plusieurs "sites virtuels". Le SP peut désigner un ensemble spécifique de VRF à utiliser pour acheminer les paquets de ce site, et permettre au client de définir certaines caractéristiques dans le paquet, puis utiliser cette caractéristique pour choisir une VRF particulière dans l'ensemble.

Par exemple, chaque site virtuel pourrait être implémenté comme un VLAN. Le SP et le client pourraient convenir que pour les paquets provenant d'un CE particulier, certaines valeurs de VLAN identifieront certaines VRF. Bien sûr, si des paquets de ce CE portent des valeurs de balise VLAN qui ne sont pas dans l'ensemble convenu, le PE rejettera ces paquets. Une autre façon d'accomplir cela serait d'utiliser l'adresse source IP. Dans ce cas, le PE utilise l'adresse source IP dans le paquet reçu du CE, ainsi que l'interface sur laquelle le paquet est reçu, pour assigner le paquet à une VRF particulière. Encore une fois, le client ne peut choisir que parmi l'ensemble spécifique de VRF que ce client est autorisé à utiliser.

Si l'on souhaite qu'un hôte particulier soit dans plusieurs sites virtuels, alors cet hôte doit déterminer, pour chaque paquet, à quel site virtuel il est associé. Il peut le faire, par exemple, en envoyant des paquets de différents sites virtuels sur différents VLAN, ou via différentes interfaces réseau.

3.3. Populating the VRFs (Remplissage des VRF)

Avec quel ensemble de routes une VRF est-elle remplie ?

À titre d'exemple, soient PE1, PE2 et PE3 trois routeurs PE, et CE1, CE2 et CE3 trois routeurs CE. Supposons que PE1 apprenne de CE1 les routes accessibles au site de CE1. Si PE2 et PE3 sont attachés respectivement à CE2 et CE3, et s'il existe un VPN V qui contient CE1, CE2 et CE3, alors PE1 utilise BGP pour distribuer à PE2 et PE3 les routes qu'il a apprises de CE1. PE2 et PE3 utilisent ces routes pour remplir les VRF qui sont associées, respectivement, aux sites de CE2 et CE3. Les routes des sites qui ne sont pas dans le VPN V n'apparaissent pas dans ces VRF, ce qui signifie que les paquets de CE2 ou CE3 ne peuvent pas être envoyés vers des sites qui ne sont pas dans le VPN V.

Lorsque nous disons que le PE "apprend" des routes du CE, nous ne présupposons aucune technique d'apprentissage particulière. Le PE peut apprendre des routes via un algorithme de routage dynamique, mais il peut aussi "apprendre" des routes si ces routes sont configurées (c'est-à-dire des routes statiques). (Dans ce cas, dire que le PE a "appris" les routes du CE peut être une certaine licence poétique.)

Le PE doit également apprendre d'autres PE les routes qui appartiennent à un VPN donné. Les procédures utilisées pour remplir les VRF avec le bon ensemble de routes sont spécifiées dans la section 4.

S'il y a plusieurs circuits d'attachement d'un routeur PE particulier vers un site particulier, ils peuvent tous correspondre à la même table de transfert. Mais s'il y a une politique qui le dicte, ils peuvent correspondre à différentes tables de transfert. Par exemple, la politique pourrait être qu'un circuit d'attachement particulier du site n'est utilisé que pour le trafic intranet, tandis qu'un autre circuit d'attachement de ce site n'est utilisé que pour le trafic extranet. (Par exemple, le CE attaché au circuit d'attachement extranet est peut-être un pare-feu alors que le CE attaché au circuit d'attachement intranet ne l'est pas.) Dans ce cas, les deux circuits d'attachement seraient associés à différentes VRF.

Notez que si deux circuits d'attachement sont associés à la même VRF, alors les paquets reçus par le PE sur l'un pourront atteindre exactement le même ensemble de destinations que les paquets reçus par le PE sur l'autre. Donc deux circuits d'attachement ne peuvent pas être associés à la même VRF à moins que chaque CE ne soit dans exactement le même ensemble de VPN que l'autre.

Si un circuit d'attachement mène à un site qui est dans plusieurs VPN, le circuit d'attachement peut toujours être associé à une seule VRF, auquel cas cette VRF contiendra des routes de l'ensemble complet des VPN auxquels le site appartient.