9. Migration de connexion
9. Migration de connexion
L'utilisation d'un ID de connexion permet aux connexions de survivre aux changements d'adresses des points de terminaison (adresse IP et port), tels que ceux causés par un point de terminaison migrant vers un nouveau réseau. Cette section décrit le processus par lequel un point de terminaison migre vers une nouvelle adresse.
La conception de QUIC repose sur le fait que les points de terminaison conservent une adresse stable pendant la durée de la négociation. Un point de terminaison NE DOIT PAS initier de migration de connexion avant que la négociation ne soit confirmée, comme défini dans la Section 4.1.2 de [QUIC-TLS].
Un client est responsable de l'initiation de toutes les migrations. Les serveurs n'envoient pas de paquets non-sondeurs (voir Section 9.1) vers une adresse client tant qu'ils ne voient pas un paquet non-sondeur de cette adresse.
9.1 Sondage d'un nouveau chemin
Un point de terminaison PEUT sonder l'accessibilité du pair depuis une nouvelle adresse locale en utilisant la validation de chemin (Section 8.2) avant de migrer la connexion vers la nouvelle adresse locale.
9.2 Initiation de la migration de connexion
Un point de terminaison peut migrer une connexion vers une nouvelle adresse locale en envoyant des paquets contenant des trames non-sondeuses depuis cette adresse.
9.3 Réponse à la migration de connexion
La réception d'un paquet d'une nouvelle adresse de pair contenant une trame non-sondeuse indique que le pair a migré vers cette adresse.
9.3.1 Usurpation d'adresse de pair
Il est possible qu'un pair usurpe son adresse source pour amener un point de terminaison à envoyer des quantités excessives de données vers un hôte non consentant.
9.3.2 Usurpation d'adresse sur le chemin
Un attaquant sur le chemin pourrait provoquer une migration de connexion fallacieuse en copiant et en transmettant un paquet avec des informations d'adresse usurpées.
9.3.3 Transmission de paquets hors chemin
Un attaquant hors chemin qui peut observer des paquets pourrait transmettre des copies de paquets authentiques aux points de terminaison.
9.4 Détection de perte et contrôle de congestion
La capacité disponible sur un nouveau chemin peut ne pas être la même que celle de l'ancien chemin. Les paquets envoyés sur l'ancien chemin NE DOIVENT PAS contribuer au contrôle de congestion ou à l'estimation du RTT pour le nouveau chemin.
9.5 Implications sur la confidentialité de la migration de connexion
L'utilisation d'un ID de connexion stable sur plusieurs chemins réseau permet à un observateur passif de corréler l'activité entre ces chemins.
9.6 Adresse préférée du serveur
QUIC permet aux serveurs d'accepter des connexions sur une adresse IP et de transférer ces connexions vers une adresse plus préférée peu après la négociation.
9.6.1 Communication d'une adresse préférée
Un serveur communique une adresse préférée en incluant le paramètre de transport preferred_address dans la négociation TLS.
9.6.2 Migration vers une adresse préférée
Un client qui migre vers une adresse préférée DOIT valider le nouveau chemin avant d'envoyer des données à cette adresse.
9.6.3 Interaction de la migration client et de l'adresse préférée
Un client pourrait avoir besoin d'effectuer une migration de connexion avant d'avoir migré vers l'adresse préférée du serveur.
9.7 Utilisation de l'étiquette de flux IPv6 et migration
Les points de terminaison qui envoient des données en utilisant IPv6 DEVRAIENT appliquer une étiquette de flux IPv6 conformément à [RFC6437], sauf si l'API locale ne permet pas de définir des étiquettes de flux IPv6.