Lëshimi paraprak i nginx me mbështetje për QUIC dhe HTTP/3

Kompania NGINX njoftoi në lidhje me fillimin e testimit implementation të protokolleve QUIC dhe HTTP/3 në serverin dhe proksinë HTTP nginx. Zbatimi është i bazuar në draftin 27 e specifikimit IETF-QUIC dhe është i disponueshëm përmes një repozitari të veçantë, i pasuar nga lëshimi 1.19.0. Kodi shpërndahet nën licencën BSD dhe nuk përputhet me implementimin e propozuar më parë të HTTP/3 për nginx nga kompania Cloudflare, e cila është një projekt i veçantë.

Mbështetja për HTTP/3 në nginx është e etiketuar si eksperimentale, pasi jo të gjitha mundësitë e protokollit janë zbatime. Megjithatë, nginx tashmë mund të përdoret për të dërguar përgjigje në kërkesa të thjeshta HTTP/3 mbi QUIC dhe për të ngarkuar/dhënë skedarë të mëdhenj. Nga mundësitë e protokollit që nuk janë akoma të disponueshme, përfshihen mjete për të negociuar versionin e protokollit, ECN dhe kontrollin e ngarkesës, logje të strukturuara, modalityn e rikuperimit (rikuperimi QUIC, menaxhimi i rrjedhës dhe ngarkesës), NAT Rebinding, adresat mobile, Server push, bashkëngjitja e të dhënave (trailer). Gjithashtu, ofrohet vetëm mbështetje bazike e përpunimit të paketeve ACK dhe menaxhimit të rrjedhës, e cila kërkon përmirësim. Jo të gjitha kërkesat e standardit janë marrë në konsideratë.

Për të aktivizuar HTTP/3, nevojitet të kompiloni nginx me modulin http_v3_module dhe të shtoni drejtorinë shtesë
«listen» me flamurin «http3″ pĂ«r tĂ« krijuar njĂ« socket UDP qĂ« dĂ«gjon. PĂ«r shembull:

server {
listen 443 ssl; # TCP-socket për HTTP/1.1
listen 443 http3 reuseport; # UDP-socket për QUIC+HTTP/3

ssl_protocols TLSv1.3; # në QUIC është i domosdoshëm TLS 1.3
ssl_certificate ssl/www.example.com.crt;
ssl_certificate_key ssl/www.example.com.key;

add_header Alt-Svc ‘quic=»:443″‘; # shenjĂ« e disponueshmĂ«risĂ« sĂ« QUIC
add_header QUIC-Status $quic; # Header me statusin e përdorimit të QUIC
}

Le të përkujtojmë se HTTP/3 standardizon përdorimin e protokollit QUIC si transport për HTTP/2. Protokolli QUIC (Quick UDP Internet Connections) që nga viti 2013 zhvillohet nga kompania Google si një alternativë për lidhjen TCP+TLS për Web, e cila zgjidh problemet me kohën e gjatë të vendosjes dhe negociatës së lidhjeve në TCP dhe eliminon vonesat gjatë humbjes së paketeve gjatë transmetimit të të dhënave. QUIC është një shtresë mbi protokollin UDP, që mbështet shumë lidhje dhe siguron metoda enkriptimi, ekuivalente me TLS/SSL. Në anën e klientëve, mbështetje eksperimentale për HTTP/3 është shtuar tashmë në Curl, Firefox dhe Chromium.

Lëshimi paraprak i nginx me mbështetje për QUIC dhe HTTP/3

Main e veçanta QUIC:

  • Siguri e lartĂ«, e ngjashme me TLS (praktikisht QUIC ofron mundĂ«sinĂ« e pĂ«rdorimit tĂ« TLS 1.3 nĂ«pĂ«rmjet UDP);
  • Kontrolli mbi integritetin e rrjedhĂ«s, qĂ« parandalon humbjen e pacakove;
  • MundĂ«sia pĂ«r tĂ« vendosur njĂ« lidhje menjĂ«herĂ« (0-RTT, nĂ« rreth 75% tĂ« rasteve, tĂ« dhĂ«nat mund tĂ« transmetohen menjĂ«herĂ« pas dĂ«rgimit tĂ« paketĂ«s sĂ« vendosjes sĂ« lidhjes) dhe tĂ« sigurojĂ« vonesa minimale midis dĂ«rgimit tĂ« kĂ«rkesĂ«s dhe marrjes sĂ« pĂ«rgjigjes (RTT, Round Trip Time);
    Lëshimi paraprak i nginx me mbështetje për QUIC dhe HTTP/3
  • Mos pĂ«rdorimi i numrit tĂ« njĂ«jtĂ« tĂ« rendit pĂ«r dĂ«rgimin pĂ«rsĂ«ri tĂ« paketĂ«s, qĂ« lejon shmangien e dyshimeve nĂ« pĂ«rcaktimin e paketave tĂ« marra dhe eliminimin e kohĂ«ve tĂ« pritjes;
  • Humorja e paketĂ«s ndikon vetĂ«m nĂ« dĂ«rgesĂ«n e fluksit lidhur me tĂ« dhe nuk ndalon dĂ«rgimin e tĂ« dhĂ«nave nĂ« flukset qĂ« dĂ«rgohen paralelisht nĂ«pĂ«rmjet lidhjes aktuale;
  • Mjetet pĂ«r korrigjimin e gabimeve, qĂ« minimizojnĂ« vonesat pĂ«r shkak tĂ« dĂ«rgimit pĂ«rsĂ«ritĂ«s tĂ« paketave tĂ« humbura. PĂ«rdorimi i kodeve speciale pĂ«r korrigjimin e gabimeve nĂ« nivelin e paketĂ«s pĂ«r tĂ« reduktuar situatat qĂ« kĂ«rkojnĂ« dĂ«rgim pĂ«rsĂ«ritĂ«s tĂ« tĂ« dhĂ«nave tĂ« paketĂ«s sĂ« humbur.
  • KufijtĂ« e bllokave kriptografikĂ« janĂ« pĂ«rputhur me kufijtĂ« e paketave QUIC, duke zvogĂ«luar ndikimin e humbjeve tĂ« paketave nĂ« dekodimin e pĂ«rmbajtjes sĂ« paketave tĂ« ardhshme;
  • Mungesa e problemeve me bllokimin e radhĂ«s TCP;
  • MbĂ«shtetje pĂ«r identifikuesin e lidhjes, qĂ« lejon zvogĂ«limin e kohĂ«s pĂ«r vendosjen e lidhjes pĂ«rsĂ«ritĂ«se pĂ«r klientĂ«t mobilĂ«;
  • MundĂ«sia e lidhjes sĂ« mekanizmave tĂ« zgjeruar tĂ« kontrollit tĂ« ngarkesĂ«s sĂ« lidhjes;
  • PĂ«rdorimi i teknikave tĂ« parashikimit tĂ« kapacitetit nĂ« çdo drejtim pĂ«r tĂ« siguruar intensitetin optimal tĂ« dĂ«rgimit tĂ« paketave, duke parandaluar rĂ«nien nĂ« njĂ« gjendje ngarkese, ku humbjet e paketave vĂ«rehen;
  • Rritje tĂ« dukshme e ndjeshme performancĂ«s dhe kapacitetit, nĂ« krahasim me TCP. PĂ«r shĂ«rbimet video, si YouTube, pĂ«rdorimi i QUIC ka treguar njĂ« ulje tĂ« operacioneve tĂ« ripĂ«rtypjes gjatĂ« shikimit tĂ« videove me 30%.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster