Zum Hauptinhalt springen

1. Einführung (Introduction)

Aus Sicht der Netzwerkschicht ist ein Flow eine Sequenz von Paketen, die von einer bestimmten Quelle an ein bestimmtes Unicast-, Anycast- oder Multicast-Ziel gesendet werden, das ein Knoten als Flow kennzeichnen möchte. Aus Sicht der oberen Schichten könnte ein Flow aus allen Paketen in einer Richtung einer bestimmten Transportverbindung oder eines Medienstreams bestehen. Ein Flow ist jedoch nicht notwendigerweise 1:1 auf eine Transportverbindung abgebildet.

Traditionell basieren Flow-Klassifikatoren auf dem 5-Tupel aus Quelladresse, Zieladresse, Quellport, Zielport und Transportprotokolltyp. Einige dieser Felder können jedoch aufgrund von Fragmentierung oder Verschlüsselung nicht verfügbar sein, oder das Auffinden über eine Kette von IPv6-Erweiterungsheadern kann ineffizient sein. Wenn Klassifikatoren nur von IP-Schicht-Headern abhängen, wird die spätere Einführung alternativer Transportschicht-Protokolle einfacher.

Die Verwendung des 3-Tupels aus Flow Label, Quelladresse (Source Address) und Zieladresse (Destination Address) ermöglicht eine effiziente IPv6-Flow-Klassifizierung, bei der nur IPv6-Hauptheader-Felder an festen Positionen verwendet werden.

Das Flow Label kann sowohl in zustandslosen als auch in zustandsbehafteten Szenarien verwendet werden. Ein zustandsloses Szenario ist eines, bei dem jeder Knoten, der das Flow Label in irgendeiner Weise verarbeitet, keine Informationen über einen Flow vor oder nach der Verarbeitung eines Pakets speichern muss. Ein zustandsbehaftetes Szenario ist eines, bei dem ein Knoten, der den Flow Label-Wert verarbeitet, Informationen über den Flow einschließlich des Flow Label-Werts speichern muss. Ein zustandsbehaftetes Szenario kann auch einen Signalisierungsmechanismus erfordern, um nachgelagerte Knoten darüber zu informieren, dass das Flow Label auf eine bestimmte Weise verwendet wird, und um den Flow-Zustand im Netzwerk zu etablieren. Beispielsweise können RSVP [RFC2205] und General Internet Signaling Transport (GIST) [RFC5971] Flow Label-Werte signalisieren.

Das Flow Label kann am einfachsten in zustandslosen Szenarien verwendet werden. Diese Spezifikation konzentriert sich auf das zustandslose Modell und wie es als Standardmechanismus verwendet werden kann. Details zu zustandsbehafteten Modellen, Signalisierung, spezifischen Flow-State-Establishment-Methoden und deren zugehörigen Servicemodellen liegen außerhalb des Umfangs dieser Spezifikation. Die grundlegende Anforderung für zustandsbehaftete Modelle ist in Abschnitt 4 dargelegt.

Die Mindestebene der IPv6-Flow-Unterstützung besteht darin, die Flows zu kennzeichnen. Ein spezifisches Ziel ist es, die Verwendung des Flow Labels für verschiedene Formen der zustandslosen Lastverteilung zu ermöglichen und zu fördern, insbesondere über Equal Cost Multi-Path (ECMP) und/oder Link Aggregation Group (LAG) Pfade. ECMP und LAG sind Methoden, um mehrere physische Links zu bündeln, die verwendet werden, um die erforderliche Kapazität zu beschaffen, die notwendig ist, um eine angebotene Last zu tragen, die größer ist als die Bandbreite eines einzelnen physischen Links. Weitere Details finden sich in einem separaten Dokument [RFC6438]. IPv6-Quellknoten sollten in der Lage sein, bekannte Flows zu kennzeichnen (z.B. TCP-Verbindungen und Anwendungsströme), auch wenn der Knoten selbst keine flow-spezifische Behandlung benötigt. Knotenanforderungen für zustandslose Flow-Kennzeichnung sind in Abschnitt 3 angegeben.

Dieses Dokument ersetzt [RFC3697] und Abschnitt 6 und Anhang A von [RFC2460]. Eine Begründung für die vorgenommenen Änderungen ist in [RFC6436] dokumentiert. Das vorliegende Dokument enthält auch eine Korrektur zu [RFC2205] bezüglich des Flow Labels.

Die Schlüsselwörter "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY" und "OPTIONAL" in diesem Dokument sind wie in [RFC2119] beschrieben zu interpretieren.