Cloudflare hà implementatu un modulu per supportà HTTP / 3 in NGINX

Cumpagnia Cloudflare preparatu modulu per furnisce u supportu per u protocolu HTTP / 3 in NGINX. U modulu hè pensatu cum'è un add-on à a biblioteca sviluppata da Cloudflare quiche cù l'implementazione di u protocolu di trasportu QUIC è HTTP/3. U codice quiche hè scrittu in Rust, ma u modulu NGINX stessu hè scrittu in C è accede à a biblioteca utilizendu ligami dinamichi. Sviluppi aperta sottu a licenza BSD.

Per assemblà, basta à scaricà patch à nginx 1.16 è codice librerie quiche, poi ricostruite nginx cù l'opzioni "—with-http_v3_module —with-quiche=../quiche". Quandu si custruisce, u supportu TLS deve esse basatu annantu à a libreria BoringSSL ("--with-openssl=../quiche/deps/boringssl"), l'usu di OpenSSL ùn hè ancu supportatu. Per accettà e cunnessione, avete bisognu di aghjunghje a direttiva listen cù a bandiera "quic" à i paràmetri (per esempiu, "listen 443 quic reuseport").

In u software di u cliente, u supportu HTTP / 3 hè digià aghjuntu à e custruzzioni sperimentali di Chrome Canary è l'utilità curl. In u latu di u servitore, finu à avà era necessariu di utilizà separati, limitati implementazioni di prova. A capacità di processà HTTP / 3 in nginx simplificà significativamente l'implementazione di i servitori cù supportu HTTP / 3 è renderà l'implementazione di prova di u novu protocolu più accessibile. L'emergenza di supportu standard per HTTP/3 in nginx hè mistu in u ramu 1.17.x per 6-12 mesi.

Ricurdativi chì HTTP/3 standardizeghja l'usu di u protocolu QUIC cum'è un trasportu per HTTP/2. Protocolu QUIC (Quick UDP Internet Connections) hè statu sviluppatu da Google da u 2013 cum'è una alternativa à a cumminazione TCP + TLS per u Web, risolve i prublemi cù l'installazione longa è i tempi di negoziazione per e cunnessione in TCP è eliminendu i ritardi quandu i pacchetti sò persi durante u trasferimentu di dati. QUIC hè una estensione di u protokollu UDP chì sustene a multiplexazione di parechje cunnessione è furnisce metudi di criptografia equivalenti à TLS / SSL.

menu особенности QUIC:

  • Alta sicurezza simile à TLS (essenzialmente QUIC furnisce a capacità di utilizà TLS sopra UDP);
  • U cuntrollu di l'integrità di u flussu, impediscendu a perdita di pacchetti;
  • A capacità di stabilisce istantaneamente una cunnessione (0-RTT, in circa 75% di i casi, i dati ponu esse trasmessi immediatamente dopu à mandà u pacchettu di setup di cunnessione) è furnisce ritardi minimi trà l'inviu di una dumanda è riceve una risposta (RTT, Round Trip Time);
  • Ùn aduprate micca u listessu numeru di sequenza quandu si ritrasmette un pacchettu, chì evita l'ambiguità in l'identificazione di i pacchetti ricevuti è sbarazza di timeout;
  • A perdita di un pacchettu affetta solu a consegna di u flussu assuciatu cù questu è ùn impedisce micca a consegna di dati in flussi paralleli trasmessi attraversu a cunnessione attuale;
  • Funzioni di correzione d'errore chì minimizanu i ritardu per via di a ritrasmissione di pacchetti persi. Utilizazione di codici di correzione d'errore speciale à u livellu di u pacchettu per riduce e situazioni chì necessitanu ritrasmissioni di dati di pacchetti persi.
  • I cunfini di u bloccu criptograficu sò allinati cù i limiti di u pacchettu QUIC, chì reduce l'impattu di perdite di pacchetti nantu à a decodificazione di u cuntenutu di i pacchetti successivi;
  • Nisun prublema cù u bloccu di fila TCP;
  • Supportu per l'identificatore di cunnessione, chì riduce u tempu chì ci vole à stabilisce una reconnection per i clienti mobili;
  • Possibilità di cunnette i meccanismi avanzati di cuntrollu di congestioni di cunnessione;
  • Aduprà tecniche di previsione di u throughput per direzzione per assicurà chì i pacchetti sò mandati à ritmi ottimali, impediscendu di diventà congestionati è causendu a perdita di pacchetti;
  • Perceptible crescita prestazioni è throughput paragunatu à TCP. Per i servizii di video cum'è YouTube, QUIC hè statu dimustratu per riduce l'operazioni di rebuffering quandu vede video da 30%.
  • Source: opennet.ru

Add a comment