Der IETF-Ausschuss (Internet Engineering Task Force), der sich mit der Entwicklung von Internetprotokollen und -architekturen beschäftigt, hat die RFC für das QUIC-Protokoll abgeschlossen und die dazugehörigen Spezifikationen unter den Identifikationsnummern RFC 8999 (versionsunabhängige Eigenschaften des Protokolls), RFC 9000 (Transport über UDP), RFC 9001 (TLS-Verschlüsselung des QUIC-Datenkanals) und RFC 9002 (Überlastmanagement und Verlustbestimmung von Paketen während der Datenübertragung) veröffentlicht.
Die RFC haben den Status „Vorgeschlagener Standard“ erhalten, woraufhin die Arbeit an der Erteilung des Status eines Entwurfsstandards (Draft Standard) beginnen wird, was faktisch eine vollständige Stabilisierung des Protokolls und die Berücksichtigung aller geäußerten Anmerkungen bedeutet. Das HTTP/3-Protokoll, das die Verwendung des QUIC-Protokolls als Transport für HTTP/2 definiert, befindet sich derzeit in der Phase der Entwurfsspezifikation, wird jedoch in naher Zukunft ebenfalls endgültig im IETF standardisiert.
Es wird erwartet, dass die Standardisierung von QUIC zu einer breiteren Einführung dieses Protokolls führen wird, sowie zur Entwicklung basierter Erweiterungen wie WebTransport (Technologie für den Versand und Empfang von Daten zwischen Browser und Server) und MASQUE (Technologie zur Verbindungspooling, die die Möglichkeiten von SOCKS und HTTP CONNECT erweitert und HTTPS über QUIC als Transportmittel verwendet).
Zur Erinnerung: Das QUIC-Protokoll (Quick UDP Internet Connections) wird seit 2013 von Google als Alternative zu TCP+TLS für das Web entwickelt. Es löst die Probleme mit der langen Verbindungsaufbau- und Aushandlungszeit in TCP und beseitigt Verzögerungen bei Paketverlusten während der Datenübertragung. QUIC ist eine Erweiterung des UDP-Protokolls, die Multiplexing 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 zu zwei parallel existierenden Zweigen führte: einer für HTTP/3 und der andere wird von Google unterstützt (Chrome unterstützt beide Varianten, während Firefox die IETF-Variante unterstützt).
Die Hauptmerkmale von QUIC:
- Hohe Sicherheit, vergleichbar mit TLS (im Grunde ermöglicht QUIC die Verwendung von TLS über UDP);
- Kontrolle der Integrität des Datenstroms, um Paketverluste zu verhindern;
- Die Möglichkeit, sofort eine Verbindung herzustellen (0-RTT, in etwa 75 % der Fälle können Daten sofort nach dem Senden des Verbindungsaufbaupakets übertragen werden) und minimalen Verzögerungen zwischen dem Senden der Anfrage und dem Empfang der Antwort (RTT, Round Trip Time) zu gewährleisten;
- Verwendung einer anderen Sequenznummer für die erneute Übertragung eines Pakets, wodurch Mehrdeutigkeiten beim Bestimmen empfangener Pakete vermieden werden und Zeitüberschreitungen eliminiert werden;
- Paketverluste beeinflussen nur den damit verbundenen Datenstrom und stoppen nicht die Datenübertragung in parallel über die aktuelle Verbindung gesendeten Datenströmen;
- Fehlerkorrekturmaßnahmen, die Verzögerungen aufgrund der erneuten Übertragung verlorener Pakete minimieren. Verwendung spezieller Fehlerkorrekturcodes auf Paketeebene, um Situationen zu reduzieren, die eine erneute Übertragung der Daten des verlorenen Pakets erfordern.
- Die Grenzen der kryptografischen Blöcke sind an die Grenzen der QUIC-Pakete angepasst, was die Auswirkungen von Paketverlusten auf die Dekodierung der Inhalte nachfolgender Pakete verringert;
- Keine Probleme mit der Blockierung von TCP-Warteschlangen;
- Unterstützung einer Verbindungs-ID, die die Zeit für die Wiederherstellung einer Verbindung für mobile Clients reduziert;
- Die Möglichkeit, erweiterte Mechanismen zur Überlaststeuerung der Verbindung zu integrieren;
- Einsatz von Bandbreitenvorhersagetechniken in jede Richtung, um die optimale Intensität der Paketsendung sicherzustellen und ein Abrutschen in einen Überlastzustand, der Paketverluste zur Folge hat, zu verhindern;
- Deutlicher Leistungs- und Bandbreitenschub im Vergleich zu TCP. Für Video-Streaming-Dienste wie YouTube hat der Einsatz von QUIC eine Reduzierung der Puffervorgänge beim Video-Streaming um 30 % gezeigt.
Quelle: opennet.ru
