Cloudflare ka implementuar një modul për të mbështetur HTTP/3 në NGINX

Kompania Cloudflare përgatitur modul për të ofruar mbështetje për protokollin HTTP/3 në NGINX. Moduli është projektuar si një shtesë në bibliotekën e zhvilluar nga Cloudflare quiche me implementimin e protokollit të transportit QUIC dhe HTTP/3. Kodi quiche është shkruar në Rust, por vetë moduli NGINX është i shkruar në C dhe i qaset bibliotekës duke përdorur lidhjen dinamike. Zhvillimet hapur nën licencën BSD.

Për të mbledhur, thjesht shkarkoni patch në nginx 1.16 dhe kod bibliotekat quiche, pastaj rindërtoni nginx me opsionet "—with-http_v3_module —with-quiche=../quiche". Kur ndërtohet, mbështetja TLS duhet të bazohet në bibliotekën BoringSSL (“--with-openssl=../quiche/deps/boringssl”), përdorimi i OpenSSL nuk mbështetet ende. Për të pranuar lidhjet, duhet të shtoni direktivën e dëgjimit me flamurin "quic" në cilësimet (për shembull, "dëgjoni ripërdorimin e 443 quic").

Në softuerin e klientit, mbështetja HTTP/3 tashmë është shtuar në versionet eksperimentale të Chrome Canary dhe programit curl. Nga ana e serverit, deri më tani ishte e nevojshme të përdorni të veçantë, të kufizuar zbatimet e testit. Aftësia për të përpunuar HTTP/3 në nginx do të thjeshtojë ndjeshëm vendosjen e serverëve me mbështetje HTTP/3 dhe do ta bëjë më të aksesueshëm zbatimin e testit të protokollit të ri. Shfaqja e mbështetjes standarde për HTTP/3 në nginx pritet në degën 1.17.x për 6-12 muaj.

Kujtojmë se HTTP/3 standardizon përdorimin e protokollit QUIC si një transport për HTTP/2. Protokolli QUIC (Quick UDP Internet Connections) është zhvilluar nga Google që nga viti 2013 si një alternativë ndaj kombinimit TCP+TLS për ueb, duke zgjidhur problemet me kohët e gjata të konfigurimit dhe negocimit për lidhjet në TCP dhe duke eliminuar vonesat kur paketat humbasin gjatë transferimit të të dhënave. QUIC është një zgjatim i protokollit UDP që mbështet multipleksimin e lidhjeve të shumta dhe ofron metoda të kriptimit të barasvlershme me TLS/SSL.

Kryesore karakteristikat QUIC:

  • Siguri e lartë e ngjashme me TLS (në thelb QUIC ofron mundësinë për të përdorur TLS mbi UDP);
  • Kontrolli i integritetit të rrjedhës, duke parandaluar humbjen e paketave;
  • Aftësia për të vendosur menjëherë një lidhje (0-RTT, në afërsisht 75% të rasteve të dhënat mund të transmetohen menjëherë pas dërgimit të paketës së konfigurimit të lidhjes) dhe të sigurojë vonesa minimale midis dërgimit të një kërkese dhe marrjes së një përgjigje (RTT, Koha e udhëtimit vajtje-ardhje);
  • Mospërdorimi i të njëjtit numër të sekuencës gjatë ritransmetimit të një pakete, gjë që shmang paqartësitë në identifikimin e paketave të marra dhe shpëton nga afatet kohore;
  • Humbja e një pakete ndikon vetëm në shpërndarjen e rrymës së lidhur me të dhe nuk ndalon dërgimin e të dhënave në rrjedhat paralele të transmetuara përmes lidhjes aktuale;
  • Karakteristikat e korrigjimit të gabimeve që minimizojnë vonesat për shkak të ritransmetimit të paketave të humbura. Përdorimi i kodeve speciale të korrigjimit të gabimeve në nivel pakete për të reduktuar situatat që kërkojnë ritransmetim të të dhënave të paketave të humbura.
  • Kufijtë e blloqeve kriptografike janë në linjë me kufijtë e paketave QUIC, gjë që zvogëlon ndikimin e humbjeve të paketave në dekodimin e përmbajtjes së paketave pasuese;
  • Nuk ka probleme me bllokimin e radhës TCP;
  • Mbështetje për identifikuesin e lidhjes, i cili redukton kohën që duhet për të vendosur një rilidhje për klientët celularë;
  • Mundësia e lidhjes së mekanizmave të avancuar të kontrollit të kongjestionit të lidhjeve;
  • Përdor teknikat e parashikimit të xhiros për drejtim për të siguruar që paketat të dërgohen me ritme optimale, duke i parandaluar ato të mbingarkohen dhe të shkaktojnë humbje të paketave;
  • E perceptueshme rritje performanca dhe xhiros në krahasim me TCP. Për shërbimet e videove të tilla si YouTube, QUIC është treguar se redukton operacionet e rebufferimit kur shikoni video me 30%.
  • Burimi: opennet.ru

Shto një koment