Cloudflare te aplike yon modil pou sipòte HTTP/3 nan NGINX

Konpayi Cloudflare prepare modil pou bay sipò pou HTTP/3 pwotokòl la nan NGINX. Modil la fèt kòm yon adisyon nan bibliyotèk la devlope pa Cloudflare kich ak aplikasyon pwotokòl transpò QUIC ak HTTP/3. Kòd kiche a ekri nan Rust, men modil NGINX la li menm ekri an C ak aksè nan bibliyotèk la lè l sèvi avèk lyen dinamik. Devlopman yo louvri anba lisans BSD.

Pou rasanble, jis telechaje patch nan nginx 1.16 ak kòd kiche bibliyotèk, Lè sa a, rebati nginx ak opsyon yo "—with-http_v3_module —with-quiche=../quiche". Lè bati, sipò TLS ta dwe baze sou bibliyotèk BoringSSL ("--with-openssl=../quiche/deps/boringssl"), itilizasyon OpenSSL poko sipòte. Pou aksepte koneksyon, ou bezwen ajoute direktiv koute ak drapo "quic" nan paramèt yo (pa egzanp, "koute 443 quic reuseport").

Nan lojisyèl kliyan, sipò HTTP/3 te deja ajoute nan bati eksperimantal nan Chrome Canary ak sèvis piblik boukl la. Sou bò sèvè a, jiska kounye a li te nesesè yo sèvi ak separe, limite aplikasyon tès yo. Kapasite nan trete HTTP/3 nan nginx pral siyifikativman senplifye deplwaman an nan sèvè ak sipò HTTP/3 epi li pral fè tès aplikasyon nouvo pwotokòl la pi aksesib. Aparisyon sipò estanda pou HTTP/3 nan nginx espere nan branch 1.17.x pou 6-12 mwa.

Sonje byen, HTTP/3 estanda itilizasyon pwotokòl QUIC la kòm yon transpò pou HTTP/2. Pwotokòl QUIC (Quick UDP Internet Connections) te devlope pa Google depi 2013 kòm yon altènativ a konbinezon an TCP + TLS pou entènèt la, rezoud pwoblèm ak tan konfigirasyon ak tan negosyasyon pou koneksyon nan TCP ak elimine reta lè pake yo pèdi pandan transfè done. QUIC se yon ekstansyon pwotokòl UDP ki sipòte plizyè koneksyon epi ki bay metòd chifreman ki ekivalan a TLS/SSL.

Prensipal la karakteristik RAPID:

  • Segondè sekirite ki sanble ak TLS (esansyèlman QUIC bay kapasite pou itilize TLS sou UDP);
  • Kontwòl entegrite koule, anpeche pèt pake;
  • Kapasite pou etabli yon koneksyon imedyatman (0-RTT, nan apeprè 75% nan ka done yo ka transmèt imedyatman apre yo fin voye pake a konfigirasyon koneksyon) epi bay reta minimòm ant voye yon demann ak resevwa yon repons (RTT, Round Trip Time);
  • Pa sèvi ak menm nimewo sekans lè w ap retransmèt yon pake, sa ki evite anbigwite nan idantifye pake resevwa yo epi debarase m de delè;
  • Pèt yon pake afekte sèlman livrezon kouran ki asosye ak li epi li pa sispann livrezon done nan kouran paralèl ki transmèt atravè koneksyon aktyèl la;
  • Karakteristik koreksyon erè ki minimize reta akòz retransmisyon pake ki pèdi yo. Sèvi ak kòd espesyal koreksyon erè nan nivo pake a pou diminye sitiyasyon ki mande retransmisyon done pake pèdi.
  • Fwontyè blòk kriptografik yo aliyen ak fwontyè pake QUIC, ki diminye enpak pèt pake sou dekode sa ki nan pake ki vin apre yo;
  • Pa gen pwoblèm ak bloke keu TCP;
  • Sipò pou idantifyan koneksyon, ki diminye tan li pran pou etabli yon rekoneksyon pou kliyan mobil;
  • Posiblite pou konekte mekanis avanse kontwòl konjesyon koneksyon;
  • Sèvi ak teknik previzyon debi pou chak direksyon pou asire ke pake yo voye nan pousantaj pi bon, anpeche yo vin konjesyone ak lakòz pèt pake;
  • Pèseptab kwasans pèfòmans ak debi konpare ak TCP. Pou sèvis videyo tankou YouTube, yo montre QUIC pou diminye operasyon rebuffering lè w ap gade videyo pa 30%.
  • Sous: opennet.ru

Add nouvo kòmantè