9. Verbindungsmigration
9. Verbindungsmigration
Die Verwendung einer Verbindungs-ID ermöglicht es Verbindungen, Änderungen der Endpunktadressen (IP-Adresse und Port) zu überstehen, wie sie beispielsweise durch eine Migration eines Endpunkts zu einem neuen Netzwerk verursacht werden. Dieser Abschnitt beschreibt den Prozess, durch den ein Endpunkt zu einer neuen Adresse migriert.
Das Design von QUIC basiert darauf, dass Endpunkte während der Dauer des Handshakes eine stabile Adresse beibehalten. Ein Endpunkt DARF die Verbindungsmigration NICHT initiieren, bevor der Handshake bestätigt ist, wie in Abschnitt 4.1.2 von [QUIC-TLS] definiert.
Ein Client ist für die Initiierung aller Migrationen verantwortlich. Server senden keine Nicht-Sondierungs-Pakete (siehe Abschnitt 9.1) an eine Client-Adresse, bis sie ein Nicht-Sondierungs-Paket von dieser Adresse sehen.
9.1 Sondierung eines neuen Pfads
Ein Endpunkt KANN die Erreichbarkeit des Peers von einer neuen lokalen Adresse aus mittels Pfadvalidierung (Abschnitt 8.2) sondieren, bevor die Verbindung zur neuen lokalen Adresse migriert wird.
9.2 Initiierung der Verbindungsmigration
Ein Endpunkt kann eine Verbindung zu einer neuen lokalen Adresse migrieren, indem es Pakete mit Nicht-Sondierungs-Frames von dieser Adresse sendet.
9.3 Reaktion auf Verbindungsmigration
Der Empfang eines Pakets von einer neuen Peer-Adresse, das einen Nicht-Sondierungs-Frame enthält, zeigt an, dass der Peer zu dieser Adresse migriert ist.
9.3.1 Peer-Adress-Spoofing
Es ist möglich, dass ein Peer seine Quelladresse fälscht, um einen Endpunkt dazu zu bringen, übermäßige Datenmengen an einen unwilligen Host zu senden.
9.3.2 On-Path-Adress-Spoofing
Ein On-Path-Angreifer könnte eine falsche Verbindungsmigration verursachen, indem er ein Paket mit gefälschten Adressinformationen kopiert und weiterleitet.
9.3.3 Off-Path-Paketweiterleitung
Ein Off-Path-Angreifer, der Pakete beobachten kann, könnte Kopien echter Pakete an Endpunkte weiterleiten.
9.4 Verlusterkennung und Stauungskontrolle
Die auf einem neuen Pfad verfügbare Kapazität entspricht möglicherweise nicht der des alten Pfads. Auf dem alten Pfad gesendete Pakete DÜRFEN NICHT zur Stauungskontrolle oder RTT-Schätzung für den neuen Pfad beitragen.
9.5 Datenschutzimplikationen der Verbindungsmigration
Die Verwendung einer stabilen Verbindungs-ID auf mehreren Netzwerkpfaden ermöglicht es einem passiven Beobachter, Aktivitäten zwischen diesen Pfaden zu korrelieren.
9.6 Bevorzugte Adresse des Servers
QUIC ermöglicht es Servern, Verbindungen auf einer IP-Adresse zu akzeptieren und diese Verbindungen kurz nach dem Handshake auf eine bevorzugtere Adresse zu übertragen.
9.6.1 Kommunikation einer bevorzugten Adresse
Ein Server übermittelt eine bevorzugte Adresse, indem er den preferred_address-Transportparameter in den TLS-Handshake aufnimmt.
9.6.2 Migration zu einer bevorzugten Adresse
Ein Client, der zu einer bevorzugten Adresse migriert, MUSS den neuen Pfad validieren, bevor er Daten an diese Adresse sendet.
9.6.3 Interaktion von Client-Migration und bevorzugter Adresse
Ein Client muss möglicherweise eine Verbindungsmigration durchführen, bevor er zur bevorzugten Adresse des Servers migriert ist.
9.7 Verwendung des IPv6-Flow-Labels und Migration
Endpunkte, die Daten über IPv6 senden, SOLLTEN ein IPv6-Flow-Label in Übereinstimmung mit [RFC6437] anwenden, es sei denn, die lokale API erlaubt das Setzen von IPv6-Flow-Labels nicht.