IPv6, Flow Label
IPv6-Adressen sind lang. Um das Routing zu vereinfachen, wurde daher im IPv6-Header das 'Flow Label' mit einer Länge von 24 Bit spezifiziert. Bei verbindungsorientierten Verbindungen (z.B. TCP) ist ja mit dem Austausch vieler Nachrichten zwischen Quelle und Ziel zu rechnen. Das Flow Label wird dann vom Client vergeben, der Server vergibt für die Rückrichtung auch eins. Jetzt müssen die Router nur einmal nach der IPv6-Adresse routen und können die weiteren TCP-Pakete aufgrund des erheblich kürzeren Flow Labels identifizieren und in die gleiche Richtung schicken. Das Flow Label wird u.a. aus der IPv6-Adresse des Clients bzw. Servers gehasht und ist nur für eine TCP-Verbindung gültig.
Das Flowlabel ist heute allerdings nicht mehr ganz so wichtig, wie die Erfinder angenommen hatten. Zum einen findet man als Router über die ersten Bit einer IPv6-Adresse recht einfach das Ziel und den Weg, da IPv6 Adressen mit Struktur an die Länder und Netzbetreiber vergeben sind. Zudem wird auf längeren oder komplexen Routerstrecken von den Übertragungsnetzbetreibern sowieso MPLS eingesetzt. MPLS wird als zusätzliche Schicht mit einem eigenen 'Flow-Label' zwischen Transport und IP von Routern hinzugefügt und wieder entfernt, die Endstellen merken i.d.R. davon nichts.
Grund für diesen Toot ist, dass mir nicht klar war, wer die Flow-Label bei IPv6 generiert. Beschreibungen über das Flowlabel im Internet sind eher mager. Ein Blick in WIreshark hat dann das Rätsel gelöst :-)
IPv6, Flow Label
@33dBm hast du hier nicht grade Layer 3 und 4 in den Mixer geworfen?
Frag für nen Freund
IPv6, Flow Label
@Sven
Hab ich? Natürlich ist Das Flowlabel auf Layer 3 abhängig von dem, was auf Layer 4 läuft. Das ist aber nicht schlimm, da Layer 3 ja den Layer 4 kennt. L4 ist ja schon fertig und soll jetzt eingepackt und abgesendet werden.
IPv6, Flow Label
@33dBm ich müsste da noch mal nachschauen bevor ich jetzt hier Blödsinn in die Welt blase. Aber irgendwie fühlt sich das grade falsch an.
Muss aber auch Gestehen das V4 meine Wohlfühlzone ist.
IPv6, Flow Label
@casandro @33dBm genau da hab ich mich verhauen.
Ich hab das mit der Sequence number von TCP verwechselt. Und TCP liegt auf Layer 4.
Hab mal grob und schnell überflogen was bei V6 der Flow Control ist. Wenn ich das richtig verstehe setzt es “nur” die Zusammengehörigkeit der einzelnen Pakete. Damit kann man dann sowas wie QoS umsetzen. Müsste aber noch mal genau nach blättern.
IPv6, Flow Label
@Sven @33dBm Ja, das ist quasi eine optionale Information mit der man ggf. Dinge optimieren kann. Vermutlich würden das auch NAT-Router verwenden um die Pakete schon mal vorzusortieren.