Top-Fragen
Zeitleiste
Chat
Kontext
QUIC
Netzwerkprotokoll Aus Wikipedia, der freien Enzyklopädie
Remove ads
QUIC (ursprünglich ein Akronym für Quick UDP Internet Connections) ist ein auf dem User Datagram Protocol (UDP) aufbauendes zuverlässiges, verbindungsorientiertes und verschlüsseltes Netzwerkprotokoll auf Transportschicht. Es kann Transport Layer Security (TLS) zur kryptographischen Absicherung der Kommunikation nutzen und verfolgt das Ziel, eine höhere Performanz als das Transmission Control Protocol (TCP) zu bieten. QUIC wird von Protokollen wie HTTP/3 oder DNS over QUIC (DoQ) verwendet.[7]
Remove ads
RFC 8999[1] | Versionsunabhängige Eigenschaften |
RFC 9000[2] | Hauptdefinition |
RFC 9001[3] | Benutzung von TLS |
RFC 9002[4] | Verlusterkennung und Staukontrolle |
RFC 9368[5] | Aushandlung kompatibler Versionen |
RFC 9369[6] | QUIC Version 2 |
Anwendung | HTTP/3 | DNS over QUIC | … | ||
Transport | QUIC | ||||
Transport | UDP | ||||
Internet | IP (IPv4, IPv6) | ||||
Netzzugang | Ethernet | Token Bus |
Token Ring |
FDDI | … |
Remove ads
Geschichte
QUIC wurde ursprünglich von der Firma Google Inc. entwickelt und am 20. Juli 2016 zur Standardisierung eingebracht.[8] Im Februar 2017 gründete die Internet Engineering Task Force (IETF) eine entsprechende Arbeitsgruppe.[9][10] Der Standard wurde im Mai 2021 als RFC 8999,[1] RFC 9000,[2] RFC 9001,[3] und RFC 9002[4] veröffentlicht.[11]
Das von Google geprägte Akronym (für englisch Quick UDP Internet Connections) wird in diesem Zusammenhang als eigenständiger Begriff verwendet und Unterschiede zwischen den verschiedenen Versionen werden in RFC 9000[2] ausdrücklich betont.
Die durch die IETF standardisierte Variante unterscheidet sich zum Teil erheblich von der durch Google entwickelten Variante.[12]
Im Mai 2023 wurde QUIC Version 2 als RFC 9369[6] veröffentlicht. QUIC Version 2 bringt keine nennenswerten funktionalen Änderungen mit sich, sondern soll primär Ossifizierung des Protokolls bekämpfen.
Remove ads
Hintergrund und Eigenschaften
Zusammenfassung
Kontext

Als Weiterentwicklung von HTTP hat Google bereits das Protokoll SPDY ausgearbeitet, dessen Neuerungen aber aufgrund von Beschränkungen des darunterliegenden Transmission Control Protocol nicht in vollem Umfang genutzt werden können. Diese Beschränkungen soll das auf UDP basierende QUIC aufheben.[13]
QUIC schreibt vor, dass die gesendeten Daten mit TLS 1.3 verschlüsselt übertragen werden.[14] Es kommen zwei unterschiedliche Header zum Einsatz. Der erste Header enthält mehr Informationen und dient dem Verbindungsaufbau. Sobald die Verbindung hergestellt wurde, wird der kürzere Header verwendet. Bei einem bekannten Host wird die Verschlüsselung bei einer erneuten Verbindungsherstellung zudem nicht neu ausgehandelt, sondern ab dem ersten Paket verschlüsselt übertragen. Da der Header zu einem großen Teil verschlüsselt wird, sind – im Vergleich zu älteren Protokollen – weniger Metadaten aus dem Header auslesbar. Hierdurch wird einerseits die Privatsphäre der Nutzer besser gewahrt, aber anderseits das Netzwerk-Monitoring und -Management erschwert.[15]
QUIC bietet höherliegenden Schichten gemultiplexte Verbindungen an, so dass mehrere Datenströme unabhängig voneinander empfangen und gesendet werden können.[11] Dies kann von HTTP/2 genutzt werden, HTTP/3 wird sogar immer über QUIC genutzt.[16] Im Gegensatz dazu kann es bei Multiplexing über TCP zu Verzögerungen auf Grund von Head-of-Line-Blocking aller gemultiplexten Streams kommen, wenn eines der TCP-Pakete verzögert wird oder verloren geht.
Zu den weiteren Zielen von QUIC gehören eine reduzierte Verbindungs- und Transportlatenz sowie eine Geschwindigkeitsabschätzung in beide Richtungen, um Überlastungen zu vermeiden. Außerdem werden die Algorithmen zur Staukontrolle an beiden Endpunkten in den User-Space (anstatt Kernel-Space) verlagert, was eine schnellere Verbesserung dieser Algorithmen ermöglichen soll. Zusätzlich kann das Protokoll mit einer Vorwärtsfehlerkorrektur (FEC) versehen werden, um die Leistung bei zu erwartenden Fehlern weiter zu verbessern, was als nächster Schritt in der Evolution des Protokolls angesehen wird. Es wurde so konzipiert, dass eine Ossifizierung des Protokolls vermieden wird. Es wurde also gezielt so entworfen, dass zukünftige Weiterentwicklungen an QUIC durch Middleboxes möglichst nicht eingeschränkt werden. Bei TCP, welches stark ossifiziert ist, sind Weiterentwicklungen z. B. stark eingeschränkt, da Middleboxes durch verschiedene Verhaltensweisen das Packetformat stark auf das ursprüngliche Format einschränken.
Seit Anfang 2021 sind die grundlegenden Protokollspezifikationen von QUICv1 standardisiert. Zu den wichtigsten weiterhin diskutierten vielfältigen Erweiterungen gehört Multipath, also – analog zu Multipath TCP (MPTCP) – der parallele Verbindungsaufbau zwischen Endgeräten und einem netzseitigen Server über mehrere (z. B. leitungsgebundene und drahtlose) Pfade.[17]
Remove ads
Unterstützung
QUIC muss von der Anwendung unterstützt werden. Der erste Browser, der clientseitig QUIC unterstützt, war Google Chrome ab Version 29.[18] Beispielimplementierungen für Client und Server finden sich im Repository von Chromium. Hierbei handelt es sich allerdings noch um die ursprünglich von Google implementierte Variante.
Ab Version 72 hat auch Firefox experimentelle Unterstützung für die vom IETF entwickelte Version implementiert.[19] Apple fügte den QUIC Support in Version 104 des Safari Webbrowsers hinzu.[20]
Im Oktober 2020 gab Facebook bekannt,[21] dass es sowohl seine Apps auf Android und iOS als auch seine Server-Infrastruktur auf QUIC umgestellt habe und mittlerweile 75 % seines Internet-Datenverkehrs darüber erfolge. Für die Benutzer ergäben sich daraus eindeutig messbare Verbesserungen u. a. hinsichtlich Fehlerraten und Latenzzeiten.
Implementierungen
Zusammenfassung
Kontext
Für QUIC stehen unterschiedliche Bibliotheken und Referenzimplementierungen zur Verfügung. Die folgende Liste liefert einen Überblick zu Implementierungen, die ihren Source Code veröffentlicht haben.
Remove ads
Weblinks
- HTTP/3 explained freies und offenes Buch über http/3 und QUIC in verschiedenen Sprachen
- Revolution in den Tiefen des Internets. sueddeutsche.de
Einzelnachweise
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads