RFC 9000 - QUIC: A UDP-Based Multiplexed and Secure Transport
Autoren: J. Iyengar (Google), M. Thomson (Mozilla)
Veröffentlichungsdatum: Mai 2021
Status: Standards Track (Standardpfad)
Aktualisiert: RFC 8999
Veraltet: -
Zusammenfassung (Abstract)
Dieses Dokument definiert den Kern des QUIC-Transportprotokolls. QUIC bietet Anwendungen über UDP eine Stream-Abstraktion (Stream Abstraction), ähnlich der von TCP, sowie eingebaute Sicherheit, die TLS und TCP entspricht. QUIC bietet Stream-Multiplexing, pro-Stream-Flusskontrolle und Verbindungsaufbau mit geringer Latenz.
Inhaltsverzeichnis (Table of Contents)
Hauptkapitel
- 1. Überblick (Overview)
- 2. Streams (Streams)
- 3. Stream-Zustände (Stream States)
- 4. Flusskontrolle (Flow Control)
- 5. Verbindungen (Connections)
- 6. Versionsverhandlung (Version Negotiation)
- 7. Kryptografischer und Transport-Handshake (Cryptographic and Transport Handshake)
- 8. Adressvalidierung (Address Validation)
- 9. Verbindungsmigration (Connection Migration)
- 10. Verbindungsbeendigung (Connection Termination)
- 11. Fehlerbehandlung (Error Handling)
- 12. Pakete und Frames (Packets and Frames)
- 13. Paketierung und Zuverlässigkeit (Packetization and Reliability)
- 14. Datagrammgröße (Datagram Size)
- 15. Versionen (Versions)
- 16. Ganzzahlkodierung variabler Länge (Variable-Length Integer Encoding)
- 17. Paketformate (Packet Formats)
- 18. Transportparameter-Kodierung (Transport Parameter Encoding)
- 19. Frame-Typen und -Formate (Frame Types and Formats)
- 20. Fehlercodes (Error Codes)
- 21. Sicherheitsüberlegungen (Security Considerations)
- 22. IANA-Überlegungen (IANA Considerations)
- 23. Referenzen (References)
Anhang
QUIC-Kernfunktionen
🚀 Leistungsvorteile
- 0-1 RTT Verbindungsaufbau: Erstverbindung 1-RTT, Wiederverbindung 0-RTT
- Kein Head-of-Line Blocking: Stream-Level unabhängige Übertragung, Paketverlust eines einzelnen Streams beeinflusst andere Streams nicht
- Verbindungsmigration: Verbindung wird bei IP/Port-Änderung nicht unterbrochen (nahtloser Wechsel von Wi-Fi zu 4G)
- Verbesserte Staukontrolle: Präzisere Paketverlusterkennung und -wiederherstellung
🔒 Sicherheitsfunktionen
- Eingebautes TLS 1.3: Verschlüsselung und Authentifizierung sind obligatorisch
- Verschlüsselung der Transportparameter: Handshake-Metadaten werden ebenfalls verschlüsselt
- Verbindungs-ID: Vermeidet IP-Adress-Assoziationsangriffe
📊 Vergleich mit TCP+TLS
| Funktion | QUIC | TCP+TLS |
|---|---|---|
| Handshake-RTT | 0-1 | 2-3 |
| Head-of-Line Blocking | Nein (Stream-Ebene) | Ja (Byte-Stream-Ebene) |
| Verbindungsmigration | ✅ Native Unterstützung | ❌ Erfordert Anwendungsebenenverarbeitung |
| Multiplexing | ✅ Native Unterstützung | Erfordert HTTP/2 |
| Verschlüsselung | Obligatorisch | Optional |
| Bereitstellung | Schnell (UDP) | Langsam (OS-Update) |
Statusbeschreibung (Status)
Dieses Dokument ist ein Standards Track-Dokument der IETF und repräsentiert den Konsens der IETF-Community.
Weitere Informationen: https://www.rfc-editor.org/info/rfc9000