Cloudflare hat ein Modul zur Unterstützung von HTTP/3 in NGINX implementiert.

Das Unternehmen Cloudflare eine Reihe Modul zur Unterstützung des HTTP/3-Protokolls in NGINX. Das Modul ist als Erweiterung basierend auf der von Cloudflare entwickelten Bibliothek umgesetzt. quiche mit der Implementierung des QUIC-Transportprotokolls und HTTP/3. Der Code für quiche ist in Rust geschrieben, aber das Modul für NGINX selbst ist in C verfasst und nutzt die Bibliothek über dynamisches Linking. Die Entwicklungen offen unter der BSD-Lizenz.

Um es zu kompilieren, laden Sie einfach Patch zu nginx 1.16 und Code der quiche-Bibliothek herunter und bauen Sie nginx mit den Optionen „—with-http_v3_module —with-quiche=../quiche“. Bei der Kompilierung sollte die TLS-Unterstützung auf der BoringSSL-Bibliothek basieren („—with-openssl=../quiche/deps/boringssl“), die Verwendung von OpenSSL wird derzeit nicht unterstützt. Um Verbindungen anzunehmen, muss in den Einstellungen die Direktive listen mit dem Flag „quic“ hinzugefügt werden (zum Beispiel „listen 443 quic reuseport“).

Die Client-Software hat bereits Unterstützung für HTTP/3 in experimentellen Builds von Chrome Canary und dem Tool curl integriert. Auf der Serverseite war es bisher erforderlich, eingeschränkte, unabhängige Testimplementierungen zu verwenden.. Die Möglichkeit, HTTP/3 in nginx zu verarbeiten, wird die Bereitstellung von Servern mit Unterstützung für HTTP/3 erheblich vereinfachen und die Testeinführung des neuen Protokolls zugänglicher machen. Die native Unterstützung von HTTP/3 in nginx ist für wird in der Version 1.17.x innerhalb von 6-12 Monaten verfügbar sein.

Wir erinnern daran, dass HTTP/3 die Verwendung des QUIC-Protokolls als Transport für HTTP/2 standardisiert. Das Protokoll QUIC (Quick UDP Internet Connections) wird seit 2013 von Google als Alternative zu TCP+TLS für das Web entwickelt. Es adressiert die Probleme langer Verbindungsaufbauzeiten und -aushandlungen in TCP und beseitigt Verzögerungen, die durch Paketverluste während der Datenübertragung entstehen. QUIC ist eine Erweiterung des UDP-Protokolls, das die Multiplexierung mehrerer Verbindungen unterstützt und verschlüsselungsverfahren bietet, die TLS/SSL entsprechen.

Haupt Eigenschaften 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;
  • Es ermöglicht, eine Verbindung sofort herzustellen (0-RTT, in etwa 75 % der Fälle können Daten sofort nach dem Senden des Verbindungsaufbaupakets übertragen werden) und sorgt für minimale Verzögerungen zwischen dem Senden einer Anfrage und dem Erhalten einer Antwort (RTT, Round Trip Time);
  • Die Nichtverwendung derselben Sequenznummer bei der Wiederübertragung von Paketen vermeidet Zweideutigkeiten bei der Bestimmung empfangener Pakete und beseitigt Zeitüberschreitungen.
  • 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.
  • Deutlich der Leistungszuwachs verbessert sich die Leistung und Bandbreite im Vergleich zu TCP. Bei Video-Diensten wie YouTube zeigte die Verwendung von QUIC eine Reduzierung der Pufferungsoperationen beim Anschauen von Videos um 30%.
  • Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster