Das IETF-Komitee (Internet Engineering Task Force), das sich mit der Entwicklung von Internetprotokollen und -architekturen beschäftigt, hat die RFC für das QUIC-Protokoll fertiggestellt und die zugehörigen Spezifikationen unter den Identifikatoren RFC 8999 (versionsunabhängige Eigenschaften des Protokolls), RFC 9000 (Transport über UDP), RFC 9001 (TLS-Verschlüsselung des QUIC-Datenkanals) und RFC 9002 (Verlustkontrolle und Paketverlustbestimmung bei der Datenübertragung) veröffentlicht.
Die RFC haben den Status eines 'Vorgeschlagenen Standards' erhalten, wonach die Arbeiten zur Erlangung des Status eines Entwurfsstandards (Draft Standard) beginnen, was faktisch die vollständige Stabilisierung des Protokolls und die Berücksichtigung aller geäußerten Anmerkungen bedeutet. Das Protokoll HTTP/3, das die Verwendung des QUIC-Protokolls als Transport für HTTP/2 definiert, befindet sich derzeit noch in der Entwurfspezifikationsphase, wird aber in naher Zukunft ebenfalls endgültig im IETF standardisiert werden.
Es wird erwartet, dass die Standardisierung von QUIC den breiteren Einsatz dieses Protokolls sowie die Entwicklung darauf basierender Erweiterungen wie WebTransport (eine Technologie zum Senden und Empfangen von Daten zwischen Browser und) dem Server durch) und MASQUE (eine Proxy-Technologie, die die Möglichkeiten von SOCKS und HTTP CONNECT erweitert und HTTPS über QUIC als Transportmittel nutzt).
Der QUIC-Protokoll (Quick UDP Internet Connections) wird seit 2013 von Google als Alternative zu TCP+TLS für das Web entwickelt. Es löst Probleme mit langen Verbindungsaufbau- und Aushandlungszeiten in TCP und beseitigt Verzögerungen bei Paketverlusten während der Datenübertragung. QUIC ist eine Erweiterung des UDP-Protokolls, das die Multiplexierung mehrerer Verbindungen unterstützt und Verschlüsselungsmethoden bietet, die TLS/SSL entsprechen. Während der Entwicklung des Standards im IETF wurden Änderungen am Protokoll vorgenommen, was zur Entstehung zweier parallel existierender Zweige führte: einer für HTTP/3 und der andere, der von Google unterstützt wird (Chrome unterstützt beide Varianten, während Firefox die IETF-Variante unterstützt).
Hauptmerkmale von QUIC:
- Hohe Sicherheit, die der TLS entspricht (im Wesentlichen ermöglicht QUIC die Nutzung von TLS über UDP);
- Stream-Integrity-Kontrolle zur Vermeidung von Paketverlusten;
- Die Möglichkeit, sofort eine Verbindung herzustellen (0-RTT, in etwa 75 % der Fälle können Daten sofort nach dem Senden des Verbindungsaufbau-Pakets übertragen werden) und die minimalen Verzögerungen zwischen der Anfrage und dem Empfang der Antwort (RTT, Round Trip Time) zu gewährleisten;
- Verwendung einer anderen Sequenznummer bei der erneuten Übertragung eines Pakets, was Mehrdeutigkeiten bei der Bestimmung empfangener Pakete vermeidet und Zeitüberschreitungen beseitigt;
- Ein Paketverlust beeinflusst nur die Zustellung des damit verbundenen Streams und stoppt nicht die Übertragung von Daten in parallel über die aktuelle Verbindung übertragenen Streams;
- Fehlerkorrekturmaßnahmen, die Verzögerungen durch die erneute Übertragung verlorener Pakete minimieren. Einsatz spezieller Fehlerkorrekturcodes auf Paketebene zur Verringerung von Situationen, die eine erneute Übertragung verlorener Daten erfordern.
- Die Grenzen der kryptografischen Blöcke sind an die Grenzen der QUIC-Pakete angepasst, was den Einfluss von Paketverlusten auf die Dekodierung des Inhalts nachfolgender Pakete verringert.
- Keine Probleme mit der TCP-Warteschlangensperre.
- Unterstützung für eine Verbindungs-ID, die die Wiederherstellungszeit für mobile Clients verkürzt.
- Die Möglichkeit, erweiterte Mechanismen zur Überwachung der Verbindungsüberlastung zu integrieren.
- Der Einsatz von Bandbreitenvorhersagetechniken in beide Richtungen sorgt für eine optimale Paketversandintensität und verhindert das Abgleiten in einen Überlastungszustand, der zu Paketverlusten führt.
- Merklicher Leistungs- und Bandbreitenzuwachs im Vergleich zu TCP. Für Videodienste wie YouTube zeigte die Anwendung von QUIC eine Reduzierung der Pufferungsoperationen beim Video-Streaming um 30%.
Quelle: opennet.ru
