QUIC - Quick UDP Internet Connections

QUIC (Quick UDP Internet Connections) ist ein Transport-Protokoll, das von Google initiiert wurde und als Grundlage für einen Standard dient, mit dem Ziel TCP (Transmission Control Protocol) zu ersetzen. Die Idee ist, den HTTP-Datenverkehr im Internet zu beschleunigen. Dazu bringt QUIC viele Elemente von UDP, TCP, TLS und HTTP/2 zusammen. Es ist ein Versuch, mehrere einzelne aufeinander abgestimmte und aufbauende Protokolle durch ein integriertes Protokoll zu ersetzen.

TCP-Schwächen

Immer mal wieder werden an den Transport-Protokollen TCP und UDP (OSI-Schicht 4) Verbesserungen vorgenommen. Doch die meisten vorgeschlagenen und standardisierten Weiterentwicklungen kommen nie zum Einsatz. Wie so häufig, wird gerne an bestehenden Dingen festgehalten. Auch dann, wenn die Nachteile offensichtlich sind.

Eine Schwäche von TCP ist die Verzögerung der Nutzdatenübertragung durch den vorhergehenden Verbindungsaufbau, der Handshake genannt wird. Die üblichen Implementierungen setzen voraus, dass Sender und Empfänger mindestens 3 Pakete übertragen (z. B. zwischen Webbrowser und Webserver). Bei einer einzelnen TCP-Übertragung merkt man das kaum. Doch heute bestehen Webseiten aus vielen einzelnen Elementen, die von verschiedenen Servern stammen und bei deren Abruf summieren sich die viele einzelne Verzögerungen durch den Verbindungsaufbau.

Leistungsmerkmale von QUIC

  • Beschleunigung durch höheren Datendurchsatz
  • Roaming
  • Multiplexing
  • eigenes Schlüsselmanagement
  • integrierte Verschlüsselung

Beschleunigung durch höheren Datendurchsatz

QUIC basiert auf UDP, bei dem es sich um ein verbindungsloses Transport-Protokoll handelt. Anders als TCP arbeitet UDP ohne eigenes Verbindungsmanagement und ohne absenderseitige Quittierungen (ACK-Pakete). Das verkürzt den Verbindungsaufbau und die Round Trips zwischen Client und Server. Bereits im ersten Paket werden Applikationsdaten mitgeschickt.

Das simple UDP garantiert natürlich nicht den Erfolg der Übertragung einzelner Pakete. Darum muss sich das darüberliegende Anwendungsprotokoll selber kümmern. Bei QUIC wird dem Paketverluste durch Fehlerkorrektur (forward error correction) vorgebeugt und so die Latenz durch die erneute Übertragung eines Pakets verringern.

Roaming

Bei Verbindungen über TCP/IP besteht das Problem, dass ein Wechsel der Verbindung von WLAN zu Mobilfunk oder umgekehrt dazu führt, dass die IP-Adresse sich ändert. Das bedeutet, die Verbindung wird auf TCP/IP-Ebene abgebrochen und muss erneut aufgebaut werden. Bei QUIC werden die Pakete nicht anhand der IP-Adresse einer Verbindung zugeordnet, sondern über eine 64 Bit lange, eindeutige Verbindungs-ID. Auf diese Weise ist eine Verbindung nicht mehr an eine IP-Adresse gebunden. Somit ist Roaming, Multipath und sogar Link Aggregation möglich. Außerdem kommt QUIC auch mit jeglicher Form von NAT zurecht.

Multiplexing

QUIC bringt Multiplexing mit. Server müssen Anfragen nicht mehr sequenziell abarbeiten, was den Webseiten-Aufbau auf Client-Seite beschleunigt.

Authentifizierung

Der Header wird authentifiziert und zum großen Teil auch verschlüsselt. QUIC-Verbindungen sind damit besser gegen Spoofing und Replay-Attacken geschützt. Dem Client wird dazu ein "source address token" zugewiesen.

Verschlüsselung

In QUIC kam ursprünglich eine Krypto-Technik von Google zum Einsatz. Der Krypto-Handshake war hier bereits in den Verbindungsaufbau integriert. Client und Server einigen sich bereits mit einer Nachricht (Round Trip) auf die Verschlüsselung. Die Wiederaufnahme einer Verbindung verschlüsseln sie sogar ohne zusätzliche Round Trip Time (0RTT).

TLS 1.3 soll in Zukunft das derzeit für QUIC eingesetzte Verschlüsselungskonzept ablösen.

Probleme mit QUIC

Problem mit QUIC gibt es dann, wenn UDP netzseitig blockt wird. Das ist dann der Fall, wenn die QUIC-Pakete zu wenig Informationen über den beförderten Inhalt preisgeben. Aus Angst vor schadhaftem und unsicheren Inhalt könnten Firewalls die Pakete blockieren. Anwendungen, die nicht auf TCP zurückschalten können, wären nicht mehr in der Lage Verbindungen aufzubauen.
Durch Middleboxen und Firewalls unterbundene Verbindungen sind für Anwender besonders schwer zu identifizieren. In der Regel sieht es für den Anwender so aus, als ob das System nicht erreichbar ist.
Viele Sicherheitsexperten fordern keine Zugeständnisse an Middleboxen zu machen und das Ende-zu-Ende-Prinzip konsequent umzusetzen.

Weitere verwandte Themen:

Teilen:

Produktempfehlungen

Netzwerktechnik-Fibel

Netzwerktechnik-Fibel

Das will ich haben!