6. Abbildungen
6. Abbildungen
Dieser Abschnitt veranschaulicht die Verarbeitung von SRv6-Paketen an SR-Quell-, Transit- und SR-Segmentendpunktknoten.
6.1. Abstrakte Darstellung eines SRH
Für einen Knoten k wird dessen IPv6-Adresse als Ak und dessen SRv6-SID als Sk dargestellt.
IPv6-Header werden als Tupel (Quelle,Ziel) dargestellt. Beispielsweise wird ein Paket mit der Quelladresse A1 und der Zieladresse A2 als (A1,A2) dargestellt. Die Nutzlast des Pakets ist weggelassen.
Eine SR-Richtlinie ist eine Liste von Segmenten. Eine Segmentliste wird als <S1,S2,S3> dargestellt, wobei S1 die erste, S2 die zweite und S3 die zuletzt zu besuchende SID ist.
(SA,DA) (S3,S2,S1; SL) stellt ein IPv6-Paket mit Folgendem dar:
- Quelladresse SA, Zieladresse DA und SRH als nächstem Header.
- Ein SRH mit der SID-Liste <S1,S2,S3> und SegmentsLeft = SL.
- Beachten Sie den Unterschied zwischen den Symbolen <> und (). <S1,S2,S3> bezeichnet eine SID-Liste, deren linkestes Segment zuerst besucht wird. Dagegen stellt (S3,S2,S1; SL) dieselbe SID-Liste im Codierungsformat der SRH-Segmentliste dar, bei dem das linkeste Segment zuletzt besucht wird. Für eine SR-Richtlinie in einem übergeordneten Anwendungsfall ist die Schreibweise <S1,S2,S3> einfacher; zur Darstellung des detaillierten Verhaltens ist (S3,S2,S1; SL) geeigneter.
Am Headend der SR-Richtlinie ergibt die Segmentliste <S1,S2,S3> das SRH (S3,S2,S1; SL=2), vollständig dargestellt als:
Segments Left=2
Last Entry=2
Flags=0
Tag=0
Segment List[0]=S3
Segment List[1]=S2
Segment List[2]=S1
6.2. Beispieltopologie
In den folgenden Beispielen wird diese Topologie verwendet:
+ * * * * * * * * * * * * * * * * * * * * +
* [8] [9] *
| |
* | | *
[1]----[3]--------[5]----------------[6]---------[4]---[2]
* | | *
| |
* | | *
+--------[7]-------+
* *
+ * * * * * * * SR domain * * * * * * * +
Abbildung 1
- 3 und 4 sind Edge-Router der SR-Domäne.
- 5, 6 und 7 sind Router innerhalb der SR-Domäne.
- 8 und 9 sind Hosts innerhalb der SR-Domäne.
- 1 und 2 sind Hosts außerhalb der SR-Domäne.
- Die SR-Domäne setzt Eingangsfilterung gemäß Abschnitt 5.1 um; kein externes Paket mit einer Zieladresse, die einem Segment der Domäne entspricht, kann in die Domäne gelangen.
6.3. SR-Quellknoten
6.3.1. Paket innerhalb der SR-Domäne
Wenn Host 8 über eine SR-Richtlinie <S7,A9> ein Paket an Host 9 sendet, lautet das Paket:
P1: (A8,S7)(A9,S7; SL=1)
6.3.1.1. Reduzierte Variante
Wenn Host 8 über eine SR-Richtlinie <S7,A9> ein Paket an Host 9 sendet und ein reduziertes SRH verwenden möchte, lautet das Paket:
P2: (A8,S7)(A9; SL=1)
6.3.2. Paket zwischen SR-Domänen – Transit
Wenn Host 1 ein Paket an Host 2 sendet, lautet das Paket:
P3: (A1,A2)
Der Eingangsrouter 3 der SR-Domäne empfängt P3 und leitet es über eine SR-Richtlinie <S7,S4> zum Ausgangsrouter 4 der SR-Domäne. Router 3 kapselt das empfangene Paket P3 in einen äußeren Header mit SRH ein. Das Paket lautet:
P4: (A3,S7)(S4,S7; SL=1)(A1,A2)
Enthält die SR-Richtlinie nur ein Segment (den Ausgangsrouter 4), kapselt Eingangsrouter 3 P3 ohne SRH in einen äußeren Header (A3,S4) ein. Das Paket lautet:
P5: (A3,S4)(A1,A2)
6.3.2.1. Reduzierte Variante
Eingangsrouter 3 der SR-Domäne empfängt P3 und leitet es über die SR-Richtlinie <S7,S4> zu Ausgangsrouter 4. Möchte Router 3 ein reduziertes SRH verwenden, kapselt er P3 in einen äußeren Header mit reduziertem SRH ein. Das Paket lautet:
P6: (A3,S7)(S4; SL=1)(A1,A2)
6.3.3. Paket zwischen SR-Domänen – intern nach extern
Wenn Host 8 ein Paket an Host 1 sendet, wird das Paket für den innerhalb der SR-Domäne verlaufenden Teil seines Weges eingekapselt. Von 8 nach 3 lautet das Paket:
P7: (A8,S3)(A8,A1)
In der Gegenrichtung lautet das von 1 nach 8 erzeugte Paket:
P8: (A1,A8)
Bei Knoten 3 wird P8 für den innerhalb der SR-Domäne verlaufenden Teil eingekapselt; der äußere Header ist an Segment S8 gerichtet. Daraus ergibt sich:
P9: (A3,S8)(A1,A8)
Bei Knoten 8 wird der äußere IPv6-Header durch die Verarbeitung von S8 entfernt und anschließend bei Empfang durch A8 erneut verarbeitet.
6.4. Transitknoten
Knoten 5 dient für Paket P1 als Transitknoten und sendet das Paket
P1: (A8,S7)(A9,S7;SL=1)
über die Schnittstelle in Richtung Knoten 7.
6.5. SR-Segmentendpunktknoten
Knoten 7 empfängt Paket P1 und sendet unter Verwendung der Logik aus Abschnitt 4.3.1 das Paket
P7: (A8,A9)(A9,S7; SL=0)
über die Schnittstelle in Richtung Router 6.
6.6. Delegierung einer Funktion mit HMAC-Prüfung
Dieser Abschnitt beschreibt, wie eine Funktion innerhalb der SR-Domäne delegiert werden kann. In den folgenden Abschnitten wird ein Host 8 betrachtet, der mit dem Top-of-Rack-Knoten 5 verbunden ist.
6.6.1. Prüfung der SID-Liste
Ein Betreiber kann es vorziehen, das SRH an Quelle 8 anzuwenden, während 5 die Gültigkeit der SID-Liste prüft.
Zur Veranschaulichung liefert ein SDN-Controller Knoten 8 ein bei Knoten 9 endendes SRH mit der Segmentliste <S5,S7,S6,A9> und einem für das SRH berechneten HMAC-TLV. Die zu diesem HMAC-TLV gehörende HMAC-Schlüssel-ID und der Schlüssel werden mit Knoten 5 geteilt. Knoten 8 kennt den Schlüssel nicht. Knoten 5 ist mit einer auf die Schnittstelle zu 8 angewendeten IACL konfiguriert, die für jedes an S/s gerichtete Paket eine HMAC-Prüfung verlangt.
Knoten 8 erzeugt Pakete mit dem erhaltenen SRH einschließlich HMAC-TLV.
P15: (A8,S5)(A9,S6,S7,S5;SL=3;HMAC)
Knoten 5 empfängt und prüft das HMAC des SRH und leitet das Paket anschließend an das nächste Segment weiter:
P16: (A8,S7)(A9,S6,S7,S5;SL=2;HMAC)
Knoten 6 empfängt:
P17: (A8,S6)(A9,S6,S7,S5;SL=1;HMAC)
Knoten 9 empfängt:
P18: (A8,A9)(A9,S6,S7,S5;SL=0;HMAC)
Diese Verwendung eines HMAC ist insbesondere innerhalb einer unternehmensbasierten SR-Domäne wertvoll [SRN].