Cloudflare imetekeleza sehemu ya kutumia HTTP/3 katika NGINX

Kampuni ya Cloudflare tayari moduli kutoa usaidizi kwa itifaki ya HTTP/3 katika NGINX. Moduli imeundwa kama nyongeza kwa maktaba iliyotengenezwa na Cloudflare quiche kwa utekelezaji wa itifaki ya usafiri ya QUIC na HTTP/3. Nambari ya quiche imeandikwa kwa kutu, lakini moduli ya NGINX yenyewe imeandikwa katika C na inafikia maktaba kwa kutumia kuunganisha kwa nguvu. Maendeleo wazi chini ya leseni ya BSD.

Ili kukusanyika, pakua tu kiraka kwa nginx 1.16 na code quiche, kisha uunde upya nginx kwa chaguo "-with-http_v3_module -with-quiche=../quiche". Wakati wa kujenga, usaidizi wa TLS unapaswa kutegemea maktaba ya BoringSSL (β€œ--with-openssl=../quiche/deps/boringssl”), matumizi ya OpenSSL bado hayatumiki. Ili kukubali miunganisho, unahitaji kuongeza maagizo ya kusikiliza yenye alama ya "haraka" kwenye mipangilio (kwa mfano, "sikiliza 443 quic reuseport").

Katika programu ya mteja, usaidizi wa HTTP/3 tayari umeongezwa kwa miundo ya majaribio ya Chrome Canary na matumizi ya curl. Kwa upande wa seva, hadi sasa ilikuwa ni lazima kutumia tofauti, mdogo utekelezaji wa mtihani. Uwezo wa kuchakata HTTP/3 katika nginx utarahisisha kwa kiasi kikubwa utumaji wa seva kwa usaidizi wa HTTP/3 na utafanya utekelezaji wa majaribio wa itifaki mpya kufikiwa zaidi. Kuibuka kwa usaidizi wa kawaida wa HTTP/3 katika nginx inatarajiwa katika tawi la 1.17.x kwa miezi 6-12.

Kumbuka kwamba HTTP/3 husawazisha matumizi ya itifaki ya QUIC kama usafiri wa HTTP/2. Itifaki QUIC (Miunganisho ya Mtandao ya UDP ya Haraka) imetengenezwa na Google tangu 2013 kama njia mbadala ya mseto wa TCP+TLS kwa Wavuti, kutatua matatizo ya muda mrefu wa usanidi na mazungumzo ya miunganisho katika TCP na kuondoa ucheleweshaji wakati pakiti zinapotea wakati wa kuhamisha data. QUIC ni kiendelezi cha itifaki ya UDP inayoauni uzidishaji wa miunganisho mingi na hutoa mbinu za usimbaji fiche sawa na TLS/SSL.

kuu makala QUIC:

  • Usalama wa juu sawa na TLS (kimsingi QUIC hutoa uwezo wa kutumia TLS juu ya UDP);
  • Udhibiti wa uadilifu wa mtiririko, kuzuia upotezaji wa pakiti;
  • Uwezo wa kuanzisha muunganisho papo hapo (0-RTT, katika takriban 75% ya data ya kesi inaweza kupitishwa mara baada ya kutuma pakiti ya kuanzisha muunganisho) na kutoa ucheleweshaji mdogo kati ya kutuma ombi na kupokea jibu (RTT, Muda wa Safari ya Kurudi);
  • Kutotumia nambari ya mlolongo sawa wakati wa kutuma tena pakiti, ambayo huepuka utata katika kutambua pakiti zilizopokelewa na kuondokana na muda;
  • Kupoteza kwa pakiti huathiri tu utoaji wa mkondo unaohusishwa nayo na hauzuii utoaji wa data katika mito ya sambamba inayopitishwa kupitia uunganisho wa sasa;
  • Vipengele vya kusahihisha hitilafu vinavyopunguza ucheleweshaji kutokana na utumaji upya wa pakiti zilizopotea. Matumizi ya misimbo maalum ya kusahihisha makosa katika kiwango cha pakiti ili kupunguza hali zinazohitaji utumaji upya wa data ya pakiti iliyopotea.
  • Mipaka ya uzuiaji wa kriptografia inaambatana na mipaka ya pakiti ya QUIC, ambayo inapunguza athari za upotezaji wa pakiti kwenye kusimbua yaliyomo kwenye pakiti zinazofuata;
  • Hakuna matatizo na kuzuia foleni ya TCP;
  • Usaidizi wa kitambulisho cha uunganisho, ambacho hupunguza muda inachukua kuanzisha muunganisho upya kwa wateja wa simu;
  • Uwezekano wa kuunganisha njia za udhibiti wa msongamano wa juu wa uunganisho;
  • Hutumia mbinu za utabiri wa kila upitishaji wa kila mwelekeo ili kuhakikisha kuwa pakiti zinatumwa kwa viwango bora zaidi, kuzizuia zisiwe na msongamano na kusababisha hasara ya pakiti;
  • Inasikika ukuaji utendaji na matokeo ikilinganishwa na TCP. Kwa huduma za video kama vile YouTube, QUIC imeonyeshwa kupunguza utendakazi wa kurejesha tena wakati wa kutazama video kwa 30%.
  • Chanzo: opennet.ru

Kuongeza maoni