4. SR Endpoint Behaviors (Comportamenti degli endpoint SR)
4. SR Endpoint Behaviors (Comportamenti degli endpoint SR)
Quello che segue è un insieme di comportamenti ben noti che possono essere associati a un SID.
| Behavior | Description |
|---|---|
| End | Endpoint L'istanziazione SRv6 di un Prefix-SID [RFC8402] |
| End.X | Endpoint with L3 cross-connect (Endpoint con cross-connect L3) L'istanziazione SRv6 di un Adj-SID [RFC8402] |
| End.T | Endpoint with specific IPv6 table lookup (Endpoint con ricerca di tabella IPv6 specifica) |
| End.DX6 | Endpoint with decapsulation and IPv6 cross-connect (Endpoint con decapsulazione e cross-connect IPv6) ad es., IPv6-L3VPN (equivalente all'etichetta VPN per-CE) |
| End.DX4 | Endpoint with decapsulation and IPv4 cross-connect (Endpoint con decapsulazione e cross-connect IPv4) ad es., IPv4-L3VPN (equivalente all'etichetta VPN per-CE) |
| End.DT6 | Endpoint with decapsulation and specific IPv6 table lookup (Endpoint con decapsulazione e ricerca di tabella IPv6 specifica) ad es., IPv6-L3VPN (equivalente all'etichetta VPN per-VRF) |
| End.DT4 | Endpoint with decapsulation and specific IPv4 table lookup (Endpoint con decapsulazione e ricerca di tabella IPv4 specifica) ad es., IPv4-L3VPN (equivalente all'etichetta VPN per-VRF) |
| End.DT46 | Endpoint with decapsulation and specific IP table lookup (Endpoint con decapsulazione e ricerca di tabella IP specifica) ad es., IP-L3VPN (equivalente all'etichetta VPN per-VRF) |
| End.DX2 | Endpoint with decapsulation and L2 cross-connect (Endpoint con decapsulazione e cross-connect L2) ad es., caso d'uso L2VPN |
| End.DX2V | Endpoint with decapsulation and VLAN L2 table lookup (Endpoint con decapsulazione e ricerca di tabella L2 VLAN) ad es., caso d'uso EVPN Flexible Cross-connect |
| End.DT2U | Endpoint with decapsulation and unicast MAC L2 table lookup (Endpoint con decapsulazione e ricerca di tabella L2 MAC unicast) ad es., caso d'uso EVPN Bridging Unicast |
| End.DT2M | Endpoint with decapsulation and L2 table flooding (Endpoint con decapsulazione e flooding di tabella L2) ad es., caso d'uso EVPN Bridging Broadcast, Unknown Unicast e Multicast (BUM) con filtraggio dell'identificatore di segmento Ethernet (ESI) |
| End.B6.Encaps | Endpoint bound to an SRv6 Policy with encapsulation (Endpoint associato a una politica SRv6 con incapsulamento) Istanziazione SRv6 di un Binding SID |
| End.B6.Encaps.Red | End.B6.Encaps with reduced SRH (End.B6.Encaps con SRH ridotto) Istanziazione SRv6 di un Binding SID |
| End.BM | Endpoint bound to an SR-MPLS Policy (Endpoint associato a una politica SR-MPLS) Istanziazione SRv6 di un SR-MPLS Binding SID |
Tabella 1: Comportamenti degli endpoint
L'elenco non è esaustivo. In pratica, qualsiasi comportamento può essere associato a un SID locale; ad esempio, un nodo N può associare un SID a una macchina virtuale (VM) locale o a un container che può applicare qualsiasi elaborazione complessa sul pacchetto, a condizione che sia allocato un codepoint di comportamento dell'endpoint SRv6 per l'elaborazione.
Quando un nodo compatibile con SRv6 (N) riceve un pacchetto IPv6 il cui indirizzo di destinazione corrisponde a una voce FIB che rappresenta un SID SRv6 istanziato localmente (S), la catena di intestazioni IPv6 viene elaborata come definito nella sezione 4 di [RFC8200]. Per i SID SRv6 associati a un comportamento di endpoint definito in questo documento, il SRH e l'intestazione di livello superiore vengono elaborati come definito nelle seguenti sottosezioni.
Lo pseudocodice che descrive questi comportamenti dettaglia l'elaborazione locale a un nodo. Un'implementazione dello pseudocodice è conforme fintanto che il protocollo di trasmissione osservabile esternamente è come descritto dallo pseudocodice.
La sezione 4.16 definisce le varianti di alcuni di questi comportamenti.
La sezione 10.2 di questo documento definisce il registro IANA utilizzato per mantenere tutti questi comportamenti nonché quelli futuri definiti in altri documenti.
4.1. End: Endpoint
Il comportamento Endpoint (in breve "End") è il comportamento più basilare. È l'istanziazione di un Prefix-SID [RFC8402].
Quando N riceve un pacchetto il cui IPv6 DA è S e S è un SID End locale, N esegue quanto segue:
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. }
Nota:
Il comportamento End opera sulla stessa tabella FIB (cioè identificata da VRF o ID relay L3) associata al pacchetto. Pertanto, la ricerca FIB sulla riga S15 viene eseguita nella stessa tabella FIB dell'interfaccia di ingresso.
4.1.1. Upper-Layer Header (Intestazione di livello superiore)
Quando elabora l'intestazione di livello superiore di un pacchetto che corrisponde a una voce FIB istanziata localmente come SID End, N esegue quanto segue:
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 }
Consentire l'elaborazione di tipi di intestazione di livello superiore specifici è utile per operazioni, amministrazione e manutenzione (OAM). Come esempio, un operatore potrebbe consentire il ping dei SID. Per fare ciò, può abilitare la configurazione locale per consentire il tipo di intestazione di livello superiore 58 (ICMPv6).
Si RACCOMANDA che un'implementazione della configurazione locale consenta solo l'elaborazione di intestazioni di livello superiore di tipi che non comportano l'inoltro del pacchetto (ad es., ICMPv6).