Mobile-Menu

Definition Was ist QUIC (Quick UDP Internet Connections)?

Quick UDP Internet Connections ist ein ursprünglich von Google entwickeltes und im Jahr 2021 von der IETF in mehreren RFCs standardisiertes Protokoll zur optimierten Übertragung von HTTP-Verkehr. QUIC basiert auf UDP und beseitigt zahlreiche Schwächen des zuvor verwendeten Transportprotokolls TCP. Zu den Leistungsmerkmalen zählen ein schneller Datenaustausch, Verschlüsselung und Multiplexing.

Firma zum Thema

Die wichtigsten IT-Fachbegriffe verständlich erklärt.
Die wichtigsten IT-Fachbegriffe verständlich erklärt.
(Bild: © aga7ta - stock.adobe.com)

QUIC ist ein ursprünglich von Google entwickeltes und im Jahr 2013 erstmals vorgestelltes Transportprotokoll zur Übertragung von HTTP-Datenverkehr, wie er beispielsweise bei der Kommunikation zwischen Webserver und Webbrowser im Internet auftritt. QUIC stand damals als Akronym für "Quick UDP Internet Connections", wird heute aber in der Regel als eine eigenständige Bezeichnung verwendet.

2016 reichte Google das Transportprotokoll zur Standardisierung ein. Die Internet Engineering Task Force (IETF) entschied sich dafür, es zur Grundlage der Standardisierung für HTTP/3 zu machen. 2021 veröffentlichte die IETF die Standardisierung des QUIC-Protokolls in mehreren RFCs. Die betreffenden RFCs sind RFC 8999, 9000, 9001 und 9002. Zielsetzung von Google bei der Entwicklung des Protokolls war es, HTTP-Verkehr zu beschleunigen, indem man mehrere Schwachstellen des bisher für den Transport von HTTP genutzten, verbindungsorientiert arbeitenden Protokolls TCP (Transmission Control Protocol) beseitigt.

Quick UDP Internet Connections basiert auf dem verbindungslosen UDP (User Datagram Protocol) und zeichnet sich gegenüber einem HTTP-Transport per TCP durch eine höhere Geschwindigkeit, eine konsequente Verschlüsselung, der Möglichkeit des Multiplexings mehrerer Verbindungen und einer niedrigen Transportverzögerung aus. Quick UDP Internet Connections ist nicht nur für HTTP beziehungsweise HTTP/3 einsetzbar, sondern lässt sich auch für andere Anwendungen wie DNS nutzen.

Zur Verwendung von Quick UDP Internet Connections müssen sowohl der Client als auch der Server das Protokoll unterstützen. Clientseitig ist es beispielsweise seit der Version 29 in Google Chrome implementiert. Der Browser Mozilla Firefox unterstützt QUIC und HTTP/3 ab der Version 88. Auf Serverseite hat Google das Protokoll in zahlreichen Diensten wie in der Suchmaschine, im Kartendienst Google Maps, in Google Mail oder in Google Docs integriert. Weitere kompatible Dienste sind YouTube und Facebook.

Motivation für die Entwicklung von QUIC

Seit vielen Jahren findet die Übertragung von HTTP-Datenverkehr über das verbindungsorientiert arbeitende Transportprotokoll TCP statt. Zahlreiche Weiterentwicklungen und Funktionserweiterungen von HTTP konnten diese Abhängigkeit von TCP nicht auflösen. Mit steigenden Anforderungen an die Datenübertragung und den zunehmenden Bandbreiten im Netz traten mehr und mehr Schwächen von TCP zutage.

Eine Schwäche ist beispielsweise die verzögerte Datenübertragung aufgrund des zuvor notwendigen 3-Wege-Handshakes beim Verbindungsaufbau. Bestehen Webseiten aus vielen verschiedenen Elementen unterschiedlicher Server, macht sich die Verzögerung durch viele Handshakes verstärkt bemerkbar. Ein weiteres Problem von TCP ist die fehlende Möglichkeit des Multiplexings mehrerer Anfragen. Geht bei einer Anfrage ein einzelnes Paket verloren, müssen alle weiteren Pakete einer Warteschlange auf die erneute Übertragung des fehlenden Pakets warten. Es tritt das so genannte Head-of-Line Blocking auf.

Die Verschlüsselung der HTTP-Datenübertragung macht bei der Verwendung von TCP eine zusätzliche TLS-Zwischenschicht zwischen HTTP und TCP notwendig, die die Übertragung zusätzlich verzögert und verkompliziert. Zudem sind nur die Nutzdaten und nicht sämtliche Daten inklusive Metadaten verschlüsselt. Weitere Schwächen von TCP sind relativ hohe Latenzzeiten und unzureichende Mechanismen zur Überlast- und Staukontrolle. All diese Probleme und Schwächen der HTTP-Datenübertragung mit TCP, versucht Quick UDP Internet Connections zu beseitigen.

Die grundlegenden Eigenschaften und Merkmale von QUIC

Wie es aus der Bezeichnung Quick UDP Internet Connections zu entnehmen ist, basiert QUIC auf dem verbindungslos arbeitenden Transportprotokoll UDP. UDP benötigt weder einen Verbindungsaufbau noch gegenseitige Quittierungen oder Handshakes und kann Nutzdaten schon im ersten Datenpaket übertragen. Gleichzeitig werden in den ersten UDP-Paketen die TLS- beziehungsweise die HTTPS-Parameter zur verschlüsselten Übertragung übermittelt. Darüber hinaus sind auch die Header und nicht nur Nutzdaten verschlüsselt. Man-in-the-Middle-Attacken oder Manipulationen von Datenpaketen lassen sich zuverlässig verhindern. Als Verschlüsselungsprotokoll verwendet Quick UDP Internet Connections die geschwindigkeitsoptimierte TLS-Version 1.3.

Eine weitere Eigenschaft von Quick UDP Internet Connections ist die Vorwärtsfehlerkorrektur. Dank spezieller Fehlerkorrektursysteme muss ein verlorenes oder fehlerhaftes Paket nicht wie bei TCP neu übertragen werden, sondern lässt sich rekonstruieren. Retransmissions werden erst bei mehreren fehlenden Datenpaketen notwendig. Zur Vermeidung von Lastspitzen verwendet QUIC das Packet Pacing. Es begrenzt die Datenübertragungsrate automatisch, um Überlastsituationen zu vermeiden.

Ein besonderes Merkmal von Quick UDP Internet Connections ist die Möglichkeit von Multiplex-Verbindungen. QUIC verwendet nicht wie TCP die Kombination aus IP-Adressen und TCP-Ports zur Identifikation von Verbindungen, sondern nutzt eigene Verbindungskennungen (64 Bit lange Verbindungs-IDs). So sind mehrere Streams innerhalb einer Verbindung übertragbar. Ein einzelner Client ist dank Multiplexing in der Lage, mehrere Datenströme unabhängig voneinander zu senden und zu empfangen. Die von IP-Adressen und Portnummern unabhängigen Verbindungskennungen haben zudem den Vorteil, dass beim Roaming eines Clients (Wechsel der IP-Adresse beispielsweise beim Übergang von einem WLAN in ein Mobilfunknetz) die Verbindungen nicht mehr unterbrochen werden.

(ID:47471190)

Über den Autor