6. Illustrations
6. Illustrations
Cette section fournit des illustrations du traitement des paquets SRv6 sur les nœuds source SR, de transit, et points d'extrémité de segment SR.
6.1. Représentation abstraite d'un SRH
Pour un nœud k, son adresse IPv6 est représentée par Ak, et son SID SRv6 par Sk.
Les en-têtes IPv6 sont représentés sous la forme du tuple (source, destination). Par exemple, un paquet ayant pour adresse source A1 et pour adresse de destination A2 est représenté par (A1,A2). La charge utile (payload) du paquet est omise.
Une SR Policy est une liste de segments. Une liste de segments est représentée par <S1,S2,S3>, où S1 est le premier SID à visiter, S2 le deuxième et S3 le dernier.
(SA,DA) (S3,S2,S1; SL) représente un paquet IPv6 avec :
- Adresse source SA, adresse de destination DA, et en-tête suivant SRH.
- SRH avec la liste de SID <S1,S2,S3> et SegmentsLeft = SL.
- Notez la différence entre les symboles <> et (). <S1,S2,S3> représente une liste de SID où le segment le plus à gauche est le premier segment. À l'inverse, (S3,S2,S1; SL) représente la même liste, mais encodée au format Segment List du SRH, où le segment le plus à gauche est le dernier segment. Pour parler d'une SR Policy dans un cas d'usage de haut niveau, la notation <S1,S2,S3> est plus simple. Pour illustrer un comportement détaillé, la notation (S3,S2,S1; SL) est plus pratique.
À la tête (headend) de sa SR Policy, la liste de segments <S1,S2,S3> donne lieu à un SRH (S3,S2,S1; SL=2) qui se présente sous la forme complète :
Segments Left=2
Last Entry=2
Flags=0
Tag=0
Segment List[0]=S3
Segment List[1]=S2
Segment List[2]=S1
6.2. Topologie d'exemple
La topologie suivante est utilisée dans les exemples ci-dessous :
+ * * * * * * * * * * * * * * * * * * * * +
* [8] [9] *
| |
* | | *
[1]----[3]--------[5]----------------[6]---------[4]---[2]
* | | *
| |
* | | *
+--------[7]-------+
* *
+ * * * * * * * Domaine SR * * * * * * * +
Figure 1
- 3 et 4 sont des routeurs de bordure du domaine SR.
- 5, 6 et 7 sont tous des routeurs internes au domaine SR.
- 8 et 9 sont des hôtes au sein du domaine SR.
- 1 et 2 sont des hôtes hors du domaine SR.
- Le domaine SR met en œuvre un filtrage en entrée conformément à la section 5.1, et aucun paquet externe ne peut entrer dans le domaine avec une adresse de destination égale à un segment du domaine.
6.3. Nœud source SR
6.3.1. Paquet intra-domaine SR
Lorsque l'hôte 8 envoie un paquet à l'hôte 9 via une SR Policy <S7,A9>, le paquet est :
P1 : (A8,S7)(A9,S7; SL=1)
6.3.1.1. Variante réduite
Lorsque l'hôte 8 envoie un paquet à l'hôte 9 via une SR Policy <S7,A9> et qu'il souhaite utiliser un SRH réduit, le paquet est :
P2 : (A8,S7)(A9; SL=1)
6.3.2. Paquet inter-domaines SR — Transit
Lorsque l'hôte 1 envoie un paquet à l'hôte 2, le paquet est :
P3 : (A1,A2)
Le routeur d'entrée du domaine SR 3 reçoit P3 et l'oriente vers le routeur de sortie du domaine SR 4 via une SR Policy <S7,S4>. Le routeur 3 encapsule le paquet reçu P3 dans un en-tête externe avec un SRH. Le paquet est :
P4 : (A3,S7)(S4,S7; SL=1)(A1,A2)
Si la SR Policy ne contient qu'un seul segment (le routeur de sortie 4), le routeur d'entrée 3 encapsule P3 dans un en-tête externe (A3,S4) sans SRH. Le paquet est :
P5 : (A3,S4)(A1,A2)
6.3.2.1. Variante réduite
Le routeur d'entrée 3 reçoit P3 et l'oriente vers le routeur de sortie 4 via la SR Policy <S7,S4>. Si le routeur 3 souhaite utiliser un SRH réduit, il encapsule le paquet reçu P3 dans un en-tête externe avec un SRH réduit. Le paquet est :
P6 : (A3,S7)(S4; SL=1)(A1,A2)
6.3.3. Paquet inter-domaines SR — interne vers externe
Lorsque l'hôte 8 envoie un paquet à l'hôte 1, le paquet est encapsulé pour la portion de son trajet à l'intérieur du domaine SR. De 8 à 3, le paquet est :
P7 : (A8,S3)(A8,A1)
Dans le sens inverse, le paquet généré de 1 vers 8 est :
P8 : (A1,A8)
Au nœud 3, P8 est encapsulé pour la portion de son trajet à l'intérieur du domaine SR, l'en-tête externe étant destiné au segment S8. On obtient :
P9 : (A3,S8)(A1,A8)
Au nœud 8, l'en-tête IPv6 externe est retiré par le traitement S8, puis le paquet est de nouveau traité à la réception par A8.
6.4. Nœud de transit
Le nœud 5 agit en tant que nœud de transit pour le paquet P1 et envoie le paquet :
P1 : (A8,S7)(A9,S7;SL=1)
sur l'interface vers le nœud 7.
6.5. Nœud point d'extrémité de segment SR
Le nœud 7 reçoit le paquet P1 et, en appliquant la logique de la section 4.3.1, envoie le paquet :
P7 : (A8,A9)(A9,S7; SL=0)
sur l'interface vers le routeur 6.
6.6. Délégation de fonction avec vérification HMAC
Cette section décrit comment une fonction peut être déléguée au sein du domaine SR. Dans les sections suivantes, on considère un hôte 8 connecté à un commutateur top-of-rack 5.
6.6.1. Vérification de la liste de SID
Un opérateur peut préférer appliquer le SRH à la source 8, tandis que 5 vérifie que la liste de SID est valide.
À titre d'illustration, un contrôleur SDN fournit à 8 un SRH se terminant au nœud 9, avec la liste de segments <S5,S7,S6,A9> et un TLV HMAC calculé pour le SRH. L'identifiant de clé HMAC et la clé associée au TLV HMAC sont partagés avec 5. Le nœud 8 ne connaît pas la clé. Le nœud 5 est configuré avec une IACL appliquée à l'interface connectée à 8, exigeant la vérification du HMAC pour tout paquet destiné à S/s.
Le nœud 8 émet des paquets contenant le SRH reçu, TLV HMAC inclus.
P15 : (A8,S5)(A9,S6,S7,S5;SL=3;HMAC)
Le nœud 5 reçoit le paquet, vérifie le HMAC du SRH, puis transmet le paquet au segment suivant :
P16 : (A8,S7)(A9,S6,S7,S5;SL=2;HMAC)
Le nœud 6 reçoit :
P17 : (A8,S6)(A9,S6,S7,S5;SL=1;HMAC)
Le nœud 9 reçoit :
P18 : (A8,A9)(A9,S6,S7,S5;SL=0;HMAC)
Cet usage du HMAC est particulièrement intéressant au sein d'un domaine SR d'entreprise [SRN].