QUIC: Neues Protokoll für noch schnellere Websites
Philipp Zeder
Kategorie:in
Entwicklung & Performance
Veröffentlicht am 3. Nov. 2017
Aktualisiert am 31. Mai 2022
Noch mehr Speed für Websites: Zeitgleich mit dem besseren Brotli-Kompressionsalgorithmus haben wir auf unseren Servern ein Protokoll aus der Zukunft aktiviert, mit dem Besucher noch schneller mit Ihrer Website verbunden sind. QUIC, das wie Brotli ursprünglich aus dem Hause Google stammt, soll längerfristig das Standardprotokoll für Websites werden. Wir zeigen heute, was das Protokoll besser macht als seine Vorgänger.
Weniger Datenpakete, schneller verbunden
Das Hyper Text Transfer Protocol (HTTP), mittlerweile bei der Version HTTP/2 angekommen, setzt bis heute im Unterbau auf das Transportprotokoll TCP auf. TCP ist bewährt und zuverlässig. Diese Zuverlässigkeit kostet an gewissen Stellen jedoch Geschwindigkeit. So ist bereits beim Verbindungsaufbau der Austausch von mehreren Datenpaketen nötig, bevor die ersten «echten» Daten fliessen. Soll die Verbindung zudem verschlüsselt sein, kommen zusätzliche Datenpakete hinzu. Die Übertragung dieser Datenpakete kostet Zeit, die sogenannte Paketumlaufzeit (englisch Round Trip Time RTT). Und hier setzt QUIC an.
QUIC basiert auf dem schnellen, aber unzuverlässigen Transportprotokoll UDP, das heute vor allem bei DNS-Abfragen oder dem Streaming von Video und Musik zum Einsatz kommt. QUIC profitiert von der Schnelligkeit von UDP und gleicht dessen Unzuverlässigkeit selbst aus. Kennen sich Browser und Server bereits, ist für den Aufbau einer verschlüsselten Verbindung kein Austausch mehrerer Datenpakete mehr nötig. Die Verbindung ist bereits mit dem ersten Paket hergestellt. Das spart spürbar Zeit, wie die folgende Grafik von Google eindrücklich zeigt:
![QUIC: Verbindungsaufbau ohne Paketumlaufzeit.](https://blog.cyon.ch/wp-content/uploads/2017/11/quic-0-rtt.png)
QUIC: Verbindungsaufbau ohne Paketumlaufzeit. Quelle: Chromium Blog
Konstante Verbindung, keine Warteschlange
QUIC bietet neben eingesparten RTTs noch andere Verbesserungen. Eine davon sind konstante Verbindungen. Verbindungen brechen mit TCP nämlich ab, wenn ein Gerät das Netzwerk wechselt. Sie kennen das Szenario bestimmt: Unterwegs im Tram surfen Sie mit über die Mobilverbindung Ihres Smartphones. Zu Hause angekommen verbindet sich das Gerät automatisch mit Ihrem WLAN. Im Hintergrund wechselt dabei die IP-Adresse des Smartphones und eine offene TCP-Verbindung bricht ab. QUIC hingegen weist Verbindungen eine feste Kennung zu. So entsteht selbst beim Wechsel des Netzwerks kein Verbindungsunterbruch. Browser und Server müssen die Verbindung nicht neu aushandeln.
Ausserdem löst QUIC das sogenannte Head-of-Line-Blocking-Problem, mit dem TCP zu kämpfen hat. Geht mit TCP ein Datenpaket unterwegs verloren (was immer wieder vorkommt), stehen die nachfolgenden Pakete an, bis das verlorene Paket nochmals übertragen wurde. Die Übertragungsgeschwindigkeit wird gedrosselt. Mit QUIC spielt es keine Rolle in welcher Reihenfolge die Pakete beim Empfänger ankommen. Verlorene Pakete haben damit viel weniger Einfluss auf die restliche Datenübertragung und damit auf den Aufbau einer Website.
QUIC bei cyon automatisch aktiv
Mittlerweile hat Google das Projekt der Internet Engineering Task Force (IETF) übergeben, die sich nun um die Standardisierung und damit um die Verbreitung des Protokolls kümmert. Auch ETH-Wissenschafter sind an der Weiterentwicklung beteiligt. Für QUIC stehen die Chancen gut, dass das Protokoll schon bald zum Goldstandard im Netz wird.
Besucher Ihrer Website sind schon jetzt automatisch über QUIC verbunden, wenn diese mit dem Browser Google Chrome oder Opera unterwegs sind. Das sind gemäss den Statistiken von StatCounter über 58% der weltweiten Browser-Nutzer. Andere Browser-Hersteller werden nachziehen.
Nutze ich QUIC?
Sie möchten wissen, ob Sie mit einer Website bereits per QUIC verbunden sind? Im Netzwerk-Menü der Chrome-Entwicklerwerkzeuge verrät die Spalte «Protokoll», welche Technologie zum Einsatz kommt.
![Die Spalte «Protokoll» verrät, ob QUIC genutzt wird.](https://blog.cyon.ch/wp-content/uploads/2017/11/quic-devtools.png)
Die Spalte «Protokoll» verrät, ob QUIC genutzt wird.
Sollte QUIC nicht automatisch funktionieren, lässt sich die Option im Chrome-Browser unter chrome://flags/#enable-quic auch explizit aktivieren.
Mit der Erweiterung HTTP/2 and SPDY indicator können Sie sich die QUIC-Unterstützung alternativ direkt in der Kopfleiste Ihres Browsers anzeigen lassen.
Wir freuen uns, dass wir auch bei der Einführung von QUIC wieder zu den Vorreitern gehören dürfen und damit Ihre Website noch einen Tick schneller machen können.
Beteilige dich an der Diskussion
7 Kommentare
Unsere Server unterstützen QUIC weiterhin. Allerdings in Versionen, die zum Beispiel vom aktuellen Google Chrome-Browser nicht mehr angewendet werden. Wir führen in den kommenden Wochen Updates an LiteSpeed durch, mit denen QUIC auch in Google Chrome wieder zum Einsatz kommen wird.
Hallo
Danke für die vielen Verbesserungen.
Protocol im Chrome Network Tag zeigt sowohl «http/2+quic/39» als auch «spdy».
Also kommen zwei Protokolle zur Anwendung?
Grüsse
theo
Hallo Theo, stammen beide Ressourcen vom gleichen Server? Ein Mix der Protokolle ist eher ungewöhnlich, wenn die Daten vom gleichen Server stammen. Schick uns doch einen Screenshot der Anzeige an mail@cyon.ch, dann schauen wir uns das gerne genauer an.
Super Sache, danke Euch! Damit Quic genutzt und angezeigt wird in den Chrome-Entwicklerwerkzeugen, musste ich Quic erst aktivieren unter chrome://flags/#enable-quic
Danke für den Hinweis, Christian. Ich habe den Artikel entsprechend erweitert.
wir danken
Ja, das hat gut funktioniert. Aktuell erkenne ich bei cyon.ch und meinen dort gehosteten Webseiten keine Unterstüztung mehr für QUIC. Ist das wirklich so? Euer LiteSpeed Server würde dies eigentlich immer noch ermöglichen, ober?