Cloudflare on rakendanud moodulit HTTP/3 toe jaoks NGINX-is.

Ettevõte Cloudflare valmistas moodul для обеспечения поддержки протокола HTTP/3 в NGINX. Модуль выполнен в форме надстройки над развиваемой в Cloudflare библиотекой quiche с реализацией транспортного протокола QUIC и HTTP/3. Код quiche написан на языке Rust, но сам модуль для NGINX написан на языке Си и обращается к библиотеке при помощи динамического связывания. Наработки 2014. aastal stuudio BSD litsentsi all.

Для сборки достаточно загрузить patš к nginx 1.16 и koodi библиотеки quiche, после чего пересобрать nginx с опциями «—with-http_v3_module —with-quiche=../quiche». При сборке поддержка TLS должна базироваться на библиотеке BoringSSL («—with-openssl=../quiche/deps/boringssl»), использование OpenSSL пока не поддерживается. Для приёма соединений в настройки нужно добавить директиву listen с флагом «quic» (например «listen 443 quic reuseport»).

Из клиентского ПО поддержка HTTP/3 уже добавлена в экспериментальные сборки Chrome Canary и утилиту curl. На стороне сервера до сих пор требовалось использовать ограниченные по своим возможностям обособленные тестовые реализации. Возможность обработки HTTP/3 в nginx позволит существенно упростить развёртывание серверов с поддержкой HTTP/3 и сделает более доступным тестовое внедрение нового протокола. Появление штатной поддержки HTTP/3 в nginx oodatakse в ветке 1.17.x в течение 6-12 месяцев.

Tuletame meelde, et HTTP/3 standardiseerib QUIC protokolli kasutamise transpordina HTTP/2 jaoks. Protokoll QUIC (Quick UDP Internet Connections) areneb alates 2013. aastast Google'i poolt alternatiivina TCP+TLS ühenduse jaoks, lahendades TCP pika ühenduse loomise ja kokku leppimise probleemid ning kõrvaldab pakettide kadumise tõttu tekkivad viivitused andmete edastamise protsessis. QUIC on UDP protokolli peal olev lisakiht, mis toetab mitme ühenduse mitmekordistamist ja pakub krüpteerimismeetodeid, mis on võrdsed TLS/SSL-iga.

Peamised omadused QUIC:

  • Kõrge turvalisus, võrreldav TLS'iga (QUIC pakub tegelikult võimalust kasutada TLS'i UDP peal);
  • Voolu terviklikkuse jälgimine, mis takistab pakettide kaotust;
  • Võime koheselt ühendust luua (0-RTT, umbes 75% juhtudest saab andmeid edastada kohe pärast ühenduse loomise paketi saatmist) ja tagada minimaalne viivitus küsimise ja vastuse saamise vahel (RTT, Round Trip Time);
  • Paketi sama järjestuse numbri uuesti edastamisel mittekasutamine, mis võimaldab vältida segadust vastuvõetud pakettide määratlemisel ja kaotada aegumised;
  • Paketi kaotus mõjutab ainult selle kaasnevat voolu ja ei peata andmete edastamist samaaegselt praeguse ühenduse kaudu edastatavatest voogudest;
  • Vigade parandusmeetmed, mis minimeerivad viivitusi kadunud pakettide uuesti edastamise tõttu. Eriliste vigade parandamise koodide kasutamine paketi tasemel, et vähendada olukordi, mis nõuavad kadunud paketi andmete uuesti edastamist.
  • Krüptograafiliste plokkide piirid on joondatud QUIC pakettide piiridega, mis vähendab pakettide kaotuse mõju järgmiste pakettide sisu dekodeerimisele;
  • TCP järjekorra ummistumise probleemide puudumine;
  • Ühenduse identifikaatori tugi, mis võimaldab vähendada mobiilsete klientide uuesti ühendamise aega;
  • Võime ühendada laienevaid ühenduse ülekande kontrolli mehhanisme;
  • Igas suunas läbilaskevõime ennustamise tehnika kasutamine, et tagada pakkide edastamise optimaalne intensiivsus, vältides üleminekuid koormuse seisundisse, kus esineb pakettide kaotust;
  • Tähtis kasv tõhususes ja läbilaskevõimes võrreldes TCP-ga. Videoteenuste, nagu YouTube, puhul näitas QUIC kasutamine video vaatamise jooksul uuesti vahepealsete operatsioonide vähenemist 30% võrra.
  • Allikas: opennet.ru

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster