Előzetes nginx kiadás QUIC és HTTP/3 támogatással

A NGINX vállalat bejelentette hogy megkezdi a tesztelést a megvalósításról QUIC és HTTP/3 protokollok az nginx HTTP szerverében és proxyjában. A megvalósítás alapja a 27-es tervezet IETF-QUIC specifikáció és hozzáférhető egy külön tárolón, amely az 1.19.0-s kiadástól ágazik el. A kód BSD licensz alatt forog és nem keresztezi a korábban javasolt Cloudflare által az nginx számára készített HTTP/3 megvalósítással, amely egy külön projekt.

A HTTP/3 támogatása az nginx-ben kísérleti jelleggel van megjelölve, mivel nem minden funkciója a protokollnak van implementálva. Ezen felül az nginx már most is használható egyszerű HTTP/3 kérések válaszainak küldésére, valamint nagy fájlok letöltésére és feltöltésére. A protokoll hiányzó képességei között említhetők a protokoll verziók egyeztetése, ECN és áramlásvezérlés, strukturált naplók, helyreállítási mód (QUIC recovery, áramlás- és túlterhelés-vezérlés), NAT Rebinding, mobil címek, Server push, adatok csatolása (trailer). Jelenleg csak alapvető támogatás érhető el az ACK csomagok feldolgozásához és az áramlásvezérléshez, amely további fejlesztéseket igényel. Nem minden norma követelményét vették figyelembe.

A HTTP/3 aktiválásához az nginx-et az http_v3_module modullal kell összegyűjteni, és egy további direktívát kell hozzáadni
a «listen» segítségével «http3» zászlóval az UDP socket létrehozásához. Például:

server {
listen 443 ssl; # TCP socket a HTTP/1.1-hez
listen 443 http3 reuseport; # UDP socket a QUIC+HTTP/3-hoz

ssl_protocols TLSv1.3; # a QUIC-hez kötelező a TLS 1.3
ssl_certificate ssl/www.example.com.crt;
ssl_certificate_key ssl/www.example.com.key;

add_header Alt-Svc ‘quic=”:443”‘; # a QUIC elérhetőség jelzése
add_header QUIC-Status $quic; # A QUIC használati státusz fejléce
}

Emlékezzünk, hogy a HTTP/3 a QUIC protokoll használatát standardizálja a HTTP/2 számára. A protokoll QUIC (Quick UDP Internet Connections) 2013 óta fejlődik a Google által, mint alternatíva a TCP+TLS kombóra a Web-en, megoldva a TCP-vel kapcsolatos magas kapcsolatkezdési és koordinálási idejű problémákat, valamint eltüntetve a késleltetéseket az adatátvitel során bekövetkező csomagvesztés miatt. A QUIC egy UDP protokollra épülő réteget jelent, amely támogatja több kapcsolat multiplexálását és titkosítási módszereket kínál, amelyek egyenértékűek a TLS/SSL-lel. Az ügyfél oldali szoftverben a HTTP/3 kísérleti támogatása már meg lett valósítva a Curl, Firefox és Chromium.

Előzetes nginx kiadás QUIC és HTTP/3 támogatással

Fő jellemzői QUIC:

  • Magas szintű biztonság, amely hasonló a TLS-hez (lényegében a QUIC lehetőséget biztosít a TLS 1.3 UDP fölötti használatára);
  • A folyam integritásának ellenőrzése, amely megakadályozza a csomagok elvesztését;
  • A kapcsolat azonnali létrehozásának lehetősége (0-RTT, körülbelül 75%-os esetekben az adatokat közvetlenül a kapcsolati csomag elküldése után lehet átkonvertálni) és minimalizálva a késleltetést a kérés küldése és a válasz megérkezése között (RTT, Round Trip Time);
    Előzetes nginx kiadás QUIC és HTTP/3 támogatással
  • Nem használja ugyanazt a szekvenciális számot egy csomag újraküldésekor, ami lehetővé teszi a kapott csomagok egyértelmű azonosítását és a timeoutok elkerülését;
  • Csomag elvesztése csak az ahhoz kapcsolódó folyamat szállítását befolyásolja, és nem állítja le az adatokat a párhuzamosan átkonvertált folyamatok szállításában;
  • Hibaellenőrző eszközök, amelyek minimalizálják a késéseket az elveszett csomagok újraküldése miatt. Speciális hibaellenőrző kódok használata csomagszinten a vesztes csomagok újraküldésének szükségességének csökkentésére.
  • A kriptográfiai blokkok határai a QUIC csomagok határaival össze vannak hangolva, ezáltal csökkenti a csomagvesztések hatását a következő csomagok tartalmának dekódolására;
  • Nincsenek problémák a TCP sorok blokkolásával;
  • Támogatja a kapcsolati azonosítót, amely lehetővé teszi a mobil kliensek számára a visszakapcsolódási idő csökkentését;
  • A kapcsolati túlterhelés-ellenőrzési mechanizmusok kiterjesztett lehetőségeinek csatlakoztatása;
  • Sávszélesség-előrejelzési technikák használata mindkét irányban a csomagok optimális küldési intenzitásának biztosítása érdekében, elkerülve a túlterheltségi állapotba való kerülést, amely csomagvesztést eredményez;
  • Észlelhető növekedés a teljesítményben és a sávszélességben a TCP-hez képest. Videószolgáltatások, például a YouTube esetében a QUIC alkalmazása 30%-kal csökkentette a videó nézése alatt a bufferelési műveletek számát.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster