RFC 9000 - QUIC: A UDP-Based Multiplexed and Secure Transport
Auteurs : J. Iyengar (Google), M. Thomson (Mozilla)
Date de publication : Mai 2021
Statut : Standards Track (Norme)
Met à jour : RFC 8999
Obsolète : -
Résumé (Abstract)
Ce document définit le cœur du protocole de transport QUIC. QUIC fournit aux applications sur UDP une abstraction de flux (Stream Abstraction), similaire à celle de TCP, ainsi qu'une sécurité intégrée équivalente à TLS et TCP. QUIC offre le multiplexage de flux, le contrôle de flux par flux et l'établissement de connexion à faible latence.
Table des matières (Table of Contents)
Chapitres principaux
- 1. Aperçu (Overview)
- 2. Flux (Streams)
- 3. États des flux (Stream States)
- 4. Contrôle de flux (Flow Control)
- 5. Connexions (Connections)
- 6. Négociation de version (Version Negotiation)
- 7. Poignée de main cryptographique et de transport (Cryptographic and Transport Handshake)
- 8. Validation d'adresse (Address Validation)
- 9. Migration de connexion (Connection Migration)
- 10. Terminaison de connexion (Connection Termination)
- 11. Gestion des erreurs (Error Handling)
- 12. Paquets et trames (Packets and Frames)
- 13. Packetisation et fiabilité (Packetization and Reliability)
- 14. Taille de datagramme (Datagram Size)
- 15. Versions (Versions)
- 16. Encodage d'entiers de longueur variable (Variable-Length Integer Encoding)
- 17. Formats de paquets (Packet Formats)
- 18. Encodage des paramètres de transport (Transport Parameter Encoding)
- 19. Types et formats de trames (Frame Types and Formats)
- 20. Codes d'erreur (Error Codes)
- 21. Considérations de sécurité (Security Considerations)
- 22. Considérations IANA (IANA Considerations)
- 23. Références (References)
Annexe
Fonctionnalités principales de QUIC
🚀 Avantages en termes de performances
- Établissement de connexion 0-1 RTT : 1-RTT pour la première connexion, 0-RTT pour la reprise
- Pas de blocage en tête de ligne : Transmission indépendante au niveau du flux, la perte d'un seul flux n'affecte pas les autres
- Migration de connexion : La connexion ne s'interrompt pas lors du changement d'IP/port (basculement transparent de Wi-Fi à 4G)
- Contrôle de congestion amélioré : Détection et récupération plus précises des pertes de paquets
🔒 Fonctionnalités de sécurité
- TLS 1.3 intégré : Le chiffrement et l'authentification sont obligatoires
- Chiffrement des paramètres de transport : Les métadonnées de poignée de main sont également chiffrées
- ID de connexion : Évite les attaques d'association d'adresses IP
📊 Comparaison avec TCP+TLS
| Fonctionnalité | QUIC | TCP+TLS |
|---|---|---|
| RTT de poignée de main | 0-1 | 2-3 |
| Blocage en tête de ligne | Non (niveau flux) | Oui (niveau flux d'octets) |
| Migration de connexion | ✅ Support natif | ❌ Nécessite un traitement au niveau applicatif |
| Multiplexage | ✅ Support natif | Nécessite HTTP/2 |
| Chiffrement | Obligatoire | Optionnel |
| Déploiement | Rapide (UDP) | Lent (mise à jour OS) |
Description du statut (Status)
Ce document est un document Standards Track de l'IETF et représente le consensus de la communauté IETF.
Plus d'informations : https://www.rfc-editor.org/info/rfc9000