Aller au contenu principal

4. SR Endpoint Behaviors (Comportements des points de terminaison SR)

4. SR Endpoint Behaviors (Comportements des points de terminaison SR)

Voici un ensemble de comportements bien connus qui peuvent être associés à un SID.

BehaviorDescription
EndEndpoint (Point de terminaison)

L'instanciation SRv6 d'un Prefix-SID [RFC8402]
End.XEndpoint with L3 cross-connect (Point de terminaison avec connexion croisée L3)

L'instanciation SRv6 d'un Adj-SID [RFC8402]
End.TEndpoint with specific IPv6 table lookup (Point de terminaison avec recherche de table IPv6 spécifique)
End.DX6Endpoint with decapsulation and IPv6 cross-connect (Point de terminaison avec décapsulation et connexion croisée IPv6)

par exemple, IPv6-L3VPN (équivalent à une étiquette VPN per-CE)
End.DX4Endpoint with decapsulation and IPv4 cross-connect (Point de terminaison avec décapsulation et connexion croisée IPv4)

par exemple, IPv4-L3VPN (équivalent à une étiquette VPN per-CE)
End.DT6Endpoint with decapsulation and specific IPv6 table lookup (Point de terminaison avec décapsulation et recherche de table IPv6 spécifique)

par exemple, IPv6-L3VPN (équivalent à une étiquette VPN per-VRF)
End.DT4Endpoint with decapsulation and specific IPv4 table lookup (Point de terminaison avec décapsulation et recherche de table IPv4 spécifique)

par exemple, IPv4-L3VPN (équivalent à une étiquette VPN per-VRF)
End.DT46Endpoint with decapsulation and specific IP table lookup (Point de terminaison avec décapsulation et recherche de table IP spécifique)

par exemple, IP-L3VPN (équivalent à une étiquette VPN per-VRF)
End.DX2Endpoint with decapsulation and L2 cross-connect (Point de terminaison avec décapsulation et connexion croisée L2)

par exemple, cas d'utilisation L2VPN
End.DX2VEndpoint with decapsulation and VLAN L2 table lookup (Point de terminaison avec décapsulation et recherche de table L2 VLAN)

par exemple, cas d'utilisation EVPN Flexible Cross-connect
End.DT2UEndpoint with decapsulation and unicast MAC L2 table lookup (Point de terminaison avec décapsulation et recherche de table L2 MAC unicast)

par exemple, cas d'utilisation EVPN Bridging Unicast
End.DT2MEndpoint with decapsulation and L2 table flooding (Point de terminaison avec décapsulation et inondation de table L2)

par exemple, cas d'utilisation EVPN Bridging Broadcast, Unknown Unicast et Multicast (BUM) avec filtrage d'identifiant de segment Ethernet (ESI)
End.B6.EncapsEndpoint bound to an SRv6 Policy with encapsulation (Point de terminaison lié à une politique SRv6 avec encapsulation)

Instanciation SRv6 d'un Binding SID
End.B6.Encaps.RedEnd.B6.Encaps with reduced SRH (End.B6.Encaps avec SRH réduit)

Instanciation SRv6 d'un Binding SID
End.BMEndpoint bound to an SR-MPLS Policy (Point de terminaison lié à une politique SR-MPLS)

Instanciation SRv6 d'un SR-MPLS Binding SID

Tableau 1: Comportements des points de terminaison

La liste n'est pas exhaustive. En pratique, n'importe quel comportement peut être attaché à un SID local; par exemple, un nœud N peut lier un SID à une machine virtuelle (VM) locale ou à un conteneur qui peut appliquer n'importe quel traitement complexe sur le paquet, à condition qu'un point de code de comportement de point de terminaison SRv6 soit alloué pour le traitement.

Lorsqu'un nœud compatible SRv6 (N) reçoit un paquet IPv6 dont l'adresse de destination correspond à une entrée FIB qui représente un SID SRv6 instancié localement (S), la chaîne d'en-tête IPv6 est traitée comme défini dans la section 4 de [RFC8200]. Pour les SID SRv6 associés à un comportement de point de terminaison défini dans ce document, le SRH et l'en-tête de couche supérieure sont traités comme défini dans les sous-sections suivantes.

Le pseudocode décrivant ces comportements détaille le traitement local au niveau d'un nœud. Une implémentation du pseudocode est conforme tant que le protocole de transmission observable de l'extérieur est tel que décrit par le pseudocode.

La section 4.16 définit les variantes de certains de ces comportements.

La section 10.2 de ce document définit le registre IANA utilisé pour maintenir tous ces comportements ainsi que les futurs comportements définis dans d'autres documents.

4.1. End: Endpoint (Point de terminaison)

Le comportement Endpoint (en abrégé "End") est le comportement le plus basique. C'est l'instanciation d'un Prefix-SID [RFC8402].

Lorsque N reçoit un paquet dont l'IPv6 DA est S et que S est un SID End local, N effectue ce qui suit:

S01. When an SRH is processed {
S02. If (Segments Left == 0) {
S03. Stop processing the SRH, and proceed to process the next
header in the packet, whose type is identified by
the Next Header field in the routing header.
S04. }
S05. If (IPv6 Hop Limit <= 1) {
S06. Send an ICMP Time Exceeded message to the Source Address
with Code 0 (Hop limit exceeded in transit),
interrupt packet processing, and discard the packet.
S07. }
S08. max_LE = (Hdr Ext Len / 2) - 1
S09. If ((Last Entry > max_LE) or (Segments Left > Last Entry+1)) {
S10. Send an ICMP Parameter Problem to the Source Address
with Code 0 (Erroneous header field encountered)
and Pointer set to the Segments Left field,
interrupt packet processing, and discard the packet.
S11. }
S12. Decrement IPv6 Hop Limit by 1
S13. Decrement Segments Left by 1
S14. Update IPv6 DA with Segment List[Segments Left]
S15. Submit the packet to the egress IPv6 FIB lookup for
transmission to the new destination
S16. }

Remarque:

Le comportement End opère sur la même table FIB (c'est-à-dire identifiée par VRF ou ID de relais L3) associée au paquet. Par conséquent, la recherche FIB sur la ligne S15 est effectuée dans la même table FIB que l'interface d'entrée.

4.1.1. Upper-Layer Header (En-tête de couche supérieure)

Lors du traitement de l'en-tête de couche supérieure d'un paquet correspondant à une entrée FIB instanciée localement en tant que SID End, N effectue ce qui suit:

S01. If (Upper-Layer header type is allowed by local configuration) {
S02. Proceed to process the Upper-Layer header
S03. } Else {
S04. Send an ICMP Parameter Problem to the Source Address
with Code 4 (SR Upper-layer Header Error)
and Pointer set to the offset of the Upper-Layer header,
interrupt packet processing, and discard the packet.
S05 }

Autoriser le traitement de types d'en-tête de couche supérieure spécifiques est utile pour les opérations, l'administration et la maintenance (OAM). À titre d'exemple, un opérateur peut permettre le ping de SID. Pour ce faire, ils peuvent activer la configuration locale pour autoriser le type d'en-tête de couche supérieure 58 (ICMPv6).

Il est RECOMMANDÉ qu'une implémentation de configuration locale n'autorise que le traitement d'en-tête de couche supérieure de types qui n'entraînent pas le transfert du paquet (par exemple, ICMPv6).