Cloudflare yakhazikitsa gawo lothandizira HTTP/3 mu NGINX

Kampani ya Cloudflare kukonzekera gawo kuti apereke chithandizo cha HTTP/3 protocol mu NGINX. Gawoli lapangidwa ngati chowonjezera ku laibulale yopangidwa ndi Cloudflare nsomba ndikukhazikitsa protocol ya QUIC ndi HTTP/3 yoyendera. Khodi ya quiche imalembedwa mu Rust, koma gawo la NGINX palokha limalembedwa mu C ndipo limapeza laibulale pogwiritsa ntchito kulumikizana kwamphamvu. Zotukuka tsegulani pansi pa layisensi ya BSD.

Kuti asonkhanitse, basi download chigamba ku nginx 1.16 ndi code quiche library, kenako panganinso nginx ndi zosankha "-with-http_v3_module -with-quiche=../quiche". Pomanga, chithandizo cha TLS chiyenera kukhazikitsidwa pa laibulale ya BoringSSL (β€œ--with-openssl=../quiche/deps/boringssl”), kugwiritsa ntchito OpenSSL sikunathandizidwebe. Kuti muvomereze malumikizidwe, muyenera kuwonjezera mawu omvera omwe ali ndi mbendera ya "quic" pazokonda (mwachitsanzo, "mverani 443 quic reuseport").

Mu pulogalamu yamakasitomala, chithandizo cha HTTP/3 chawonjezedwa kale pamapangidwe oyesera a Chrome Canary ndi ma curl utility. Pa mbali ya seva, mpaka pano kunali koyenera kugwiritsa ntchito zosiyana, zochepa kuyesa kukhazikitsa. Kutha kukonza HTTP/3 mu nginx kumathandizira kwambiri kutumiza ma seva ndi thandizo la HTTP/3 ndikupangitsa kuti kuyesa kwa protocol yatsopano kufikire. Kuwonekera kwa chithandizo chokhazikika cha HTTP/3 mu nginx akuyembekezeka kutero mu nthambi ya 1.17.x kwa miyezi 6-12.

Kumbukirani kuti HTTP/3 imayimira kugwiritsa ntchito protocol ya QUIC ngati mayendedwe a HTTP/2. Ndondomeko Mendulo (Quick UDP Internet Connections) yapangidwa ndi Google kuyambira 2013 monga njira ina yophatikizira TCP + TLS pa Webusaiti, kuthetsa mavuto ndi nthawi yayitali yokonzekera ndi kukambirana kwa maulumikizidwe mu TCP ndikuchotsa kuchedwa pamene mapaketi atayika panthawi yotumiza deta. QUIC ndikuwonjeza kwa protocol ya UDP yomwe imathandizira kuchulukitsa kwa maulumikizidwe angapo ndikupereka njira zolembera zofananira ndi TLS/SSL.

waukulu Mawonekedwe QUIC:

  • Chitetezo chapamwamba, chofanana ndi TLS (kwenikweni, QUIC imapereka mphamvu yogwiritsira ntchito TLS pa UDP);
  • Kuwongolera umphumphu kuti muteteze kutayika kwa paketi;
  • Kutha kukhazikitsa kulumikizana nthawi yomweyo (0-RTT, pafupifupi 75% yamilandu, deta imatha kufalitsidwa mutangotumiza paketi yolumikizira) ndikuwonetsetsa kuchedwa kochepa pakati pa kutumiza pempho ndi kulandira yankho (RTT, Round Trip Time) ;
  • Osagwiritsa ntchito nambala yotsatizana yomwe mukutumizanso paketi, zomwe zimakuthandizani kuti mupewe kusatsimikizika pakuzindikira mapaketi omwe adalandira ndikuchotsa nthawi;
  • Kutayika kwa paketi kumangokhudza kuperekedwa kwa mtsinje wogwirizana nawo ndipo sikumayimitsa kutumizidwa kwa deta m'mitsinje yomwe imafalitsidwa mofanana ndi kugwirizana komwe kulipo;
  • Zida zowongolera zolakwika zomwe zimachepetsa kuchedwa chifukwa chotumizanso mapaketi otayika. Kugwiritsa ntchito manambala apadera owongolera zolakwika pamlingo wa paketi kuti muchepetse zinthu zomwe zimafuna kutumizanso deta yotayika ya paketi.
  • Malire a Cryptographic block amalumikizidwa ndi malire a paketi ya QUIC, omwe amachepetsa kutayika kwa paketi polemba zomwe zili m'mapaketi otsatirawa;
  • Palibe zovuta ndikuletsa mzere wa TCP;
  • Thandizo la ID yolumikizira kuchepetsa nthawi yolumikiziranso makasitomala am'manja;
  • Kuthekera kulumikiza njira zapamwamba zowongolera kuwongolera kuchuluka;
  • Kugwiritsa ntchito njira zolosera za bandwidth mbali iliyonse kuti zitsimikizire kulimba koyenera kwa kutumiza mapaketi, kupewa kugubuduza mumkhalidwe wosokonekera, momwe mumataya mapaketi;
  • Zomveka kukula magwiridwe antchito ndi kutulutsa poyerekeza ndi TCP. Kwa makanema apakanema monga YouTube, QUIC yawonetsedwa kuti imachepetsa kubweza mavidiyo ndi 30%.
  • Source: opennet.ru

Kuwonjezera ndemanga