Zum Hauptinhalt springen

4. SR Endpoint Behaviors (SR-Endpunktverhalten)

4. SR Endpoint Behaviors (SR-Endpunktverhalten)

Das Folgende ist eine Reihe bekannter Verhalten, die mit einer SID verknüpft werden können.

BehaviorDescription
EndEndpoint (Endpunkt)

Die SRv6-Instanziierung einer Prefix-SID [RFC8402]
End.XEndpoint with L3 cross-connect (Endpunkt mit L3-Querverbindung)

Die SRv6-Instanziierung einer Adj-SID [RFC8402]
End.TEndpoint with specific IPv6 table lookup (Endpunkt mit spezifischer IPv6-Tabellensuche)
End.DX6Endpoint with decapsulation and IPv6 cross-connect (Endpunkt mit Dekapselung und IPv6-Querverbindung)

z.B. IPv6-L3VPN (entspricht per-CE VPN-Label)
End.DX4Endpoint with decapsulation and IPv4 cross-connect (Endpunkt mit Dekapselung und IPv4-Querverbindung)

z.B. IPv4-L3VPN (entspricht per-CE VPN-Label)
End.DT6Endpoint with decapsulation and specific IPv6 table lookup (Endpunkt mit Dekapselung und spezifischer IPv6-Tabellensuche)

z.B. IPv6-L3VPN (entspricht per-VRF VPN-Label)
End.DT4Endpoint with decapsulation and specific IPv4 table lookup (Endpunkt mit Dekapselung und spezifischer IPv4-Tabellensuche)

z.B. IPv4-L3VPN (entspricht per-VRF VPN-Label)
End.DT46Endpoint with decapsulation and specific IP table lookup (Endpunkt mit Dekapselung und spezifischer IP-Tabellensuche)

z.B. IP-L3VPN (entspricht per-VRF VPN-Label)
End.DX2Endpoint with decapsulation and L2 cross-connect (Endpunkt mit Dekapselung und L2-Querverbindung)

z.B. L2VPN-Anwendungsfall
End.DX2VEndpoint with decapsulation and VLAN L2 table lookup (Endpunkt mit Dekapselung und VLAN-L2-Tabellensuche)

z.B. EVPN Flexible Cross-connect Anwendungsfall
End.DT2UEndpoint with decapsulation and unicast MAC L2 table lookup (Endpunkt mit Dekapselung und Unicast-MAC-L2-Tabellensuche)

z.B. EVPN Bridging Unicast Anwendungsfall
End.DT2MEndpoint with decapsulation and L2 table flooding (Endpunkt mit Dekapselung und L2-Tabellenflutung)

z.B. EVPN Bridging Broadcast, Unknown Unicast und Multicast (BUM) Anwendungsfall mit Ethernet Segment Identifier (ESI) Filterung
End.B6.EncapsEndpoint bound to an SRv6 Policy with encapsulation (Endpunkt gebunden an eine SRv6-Policy mit Kapselung)

SRv6-Instanziierung einer Binding SID
End.B6.Encaps.RedEnd.B6.Encaps with reduced SRH (End.B6.Encaps mit reduziertem SRH)

SRv6-Instanziierung einer Binding SID
End.BMEndpoint bound to an SR-MPLS Policy (Endpunkt gebunden an eine SR-MPLS-Policy)

SRv6-Instanziierung einer SR-MPLS Binding SID

Tabelle 1: Endpunktverhalten

Die Liste ist nicht vollständig. In der Praxis kann jedes Verhalten an eine lokale SID angehängt werden; beispielsweise kann ein Knoten N eine SID an eine lokale virtuelle Maschine (VM) oder einen Container binden, die eine beliebige komplexe Verarbeitung auf das Paket anwenden können, vorausgesetzt, es wurde ein SRv6-Endpunktverhalten-Codepunkt für die Verarbeitung zugewiesen.

Wenn ein SRv6-fähiger Knoten (N) ein IPv6-Paket empfängt, dessen Zieladresse mit einem FIB-Eintrag übereinstimmt, der eine lokal instanziierte SRv6-SID (S) darstellt, wird die IPv6-Header-Kette wie in Abschnitt 4 von [RFC8200] definiert verarbeitet. Für SRv6-SIDs, die mit einem in diesem Dokument definierten Endpunktverhalten verbunden sind, werden der SRH und der Upper-Layer-Header wie in den folgenden Unterabschnitten definiert verarbeitet.

Der Pseudocode, der diese Verhalten beschreibt, beschreibt die lokale Verarbeitung an einem Knoten im Detail. Eine Implementierung des Pseudocodes ist konform, solange das extern beobachtbare Drahtprotokoll so ist, wie es durch den Pseudocode beschrieben wird.

Abschnitt 4.16 definiert Varianten einiger dieser Verhalten.

Abschnitt 10.2 dieses Dokuments definiert das IANA-Register, das verwendet wird, um all diese Verhalten sowie zukünftige in anderen Dokumenten definierte Verhalten zu pflegen.

4.1. End: Endpoint (Endpunkt)

Das Endpunktverhalten (kurz "End") ist das grundlegendste Verhalten. Es ist die Instanziierung einer Prefix-SID [RFC8402].

Wenn N ein Paket empfängt, dessen IPv6-DA S ist und S eine lokale End-SID ist, führt N Folgendes aus:

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. }

Hinweis:

Das End-Verhalten arbeitet mit derselben FIB-Tabelle (d.h. identifiziert durch VRF oder L3-Relay-ID), die dem Paket zugeordnet ist. Daher wird die FIB-Suche in Zeile S15 in derselben FIB-Tabelle wie die Eingangsschnittstelle durchgeführt.

4.1.1. Upper-Layer Header (Upper-Layer-Header)

Bei der Verarbeitung des Upper-Layer-Headers eines Pakets, das mit einem FIB-Eintrag übereinstimmt, der lokal als End-SID instanziiert ist, führt N Folgendes aus:

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 }

Die Erlaubnis der Verarbeitung spezifischer Upper-Layer-Header-Typen ist für Betrieb, Verwaltung und Wartung (OAM) nützlich. Als Beispiel könnte ein Betreiber das Pingen von SIDs erlauben. Um dies zu tun, können sie die lokale Konfiguration aktivieren, um den Upper-Layer-Header-Typ 58 (ICMPv6) zuzulassen.

Es wird EMPFOHLEN, dass eine Implementierung der lokalen Konfiguration nur die Verarbeitung von Upper-Layer-Headern von Typen erlaubt, die nicht dazu führen, dass das Paket weitergeleitet wird (z.B. ICMPv6).