Kompania NGINX për fillimin e testimit protokolleve QUIC dhe HTTP/3 në serverin dhe proxy-në http të nginx. Zbatimi është i bazuar në të specifikimit IETF-QUIC dhe është i aksesueshëm përmes , i degëzuar nga versioni 1.19.0. Kodi shpërndahet nën licencën BSD dhe nuk përputhet me të HTTP/3 për nginx nga kompania Cloudflare, e cila është një projekt i veçantë.
Mbështetje për HTTP/3 në nginx është shënuar si eksperimentale, pasi e protokollit janë zbatuar. Megjithatë, nginx mund të përdoret tashmë për dërgimin e përgjigjeve ndaj kërkesave të thjeshta HTTP/3 mbi QUIC dhe ngarkimin/dorëzimin e skedarëve të mëdhenj. Nga mundësitë e protokollit që mungojnë për momentin përmendën mjetet e negociatës së versionit të protokollit, ECN dhe kontrollin e ngarkesës, logjet e strukturuara, mënyra e rikuperimit (rikuperimi QUIC, menaxhimi i fluksit dhe ngarkesës), NAT Rebinding, adresat mobile, Server push, bashkimi i të dhënave (trailer). Po ashtu, është ofruar vetëm mbështetje bazike për trajtimin e paketave ACK dhe menaxhimin e fluksit, e cila kërkon përmirësim. Nuk janë marrë parasysh të gjitha kërkesat e standardit.
Për aktivizimin e HTTP/3 kërkohet që nginx të ndërtohet me modulin http_v3_module dhe të shtohet një drejtim shtesë
«listen» me flagun «http3Ⳡpër krijimin e një socket-i UDP dëgjues. Për shembull:
server {
listen 443 ssl; # socket TCP për HTTP/1.1
listen 443 http3 reuseport; # socket UDP për QUIC+HTTP/3
ssl_protocols TLSv1.3; # në QUIC kërkohet TLS 1.3
ssl_certificate ssl/www.example.com.crt;
ssl_certificate_key ssl/www.example.com.key;
add_header Alt-Svc âquic=»:443âłâ; # treguesi i disponueshmĂ«risĂ« sĂ« QUIC
add_header QUIC-Status $quic; # Header me statusin e përdorimit të QUIC
}
Kujtojmë se HTTP/3 e standardizon përdorimin e protokollit QUIC si transport për HTTP/2. Protokolli (Quick UDP Internet Connections) është zhvilluar nga Google qysh në vitin 2013 si një alternativë ndaj kombinimit TCP+TLS për Web, duke zgjidhur problemet me kohën e madhe të vendosjes dhe tregtimit të lidhjeve në TCP dhe duke eliminuar vonesat në rast të humbjes së paketa gjatë transmetimit të të dhënave. QUIC përbën një shtresë mbi protokollin UDP, duke mbështetur shumë lidhje dhe duke ofruar metoda enkriptimi, ekuivalente me TLS/SSL. Në anën e softuerit klient, mbështetje eksperimentale për HTTP/3 tashmë është shtuar në , dhe .
Ndryshimet kryesore QUIC:
- Siguri e lartë, e ngjashme me TLS (në thelb, QUIC ofron mundësinë e përdorimit të TLS 1.3 mbi UDP);
- Kontrolli i integritetit të rrjedhës, duke parandaluar humbjen e paketave;
- Mundësia për të vendosur menjëherë një lidhje (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);
- Mos përdorimi i numrit të njëjtë të sekuencës në ripërsëritjen e paketës, duke shmangur kështu dyshimet në përcaktimin e paketave të pranuara dhe duke eliminuar vonesat;
- humbja e paketave ndikon vetëm në dërgesën e lidhur me grupe të caktuara dhe nuk ndalon dërgimin e të dhënave në grupe paralelisht të transferuara përmes këtij lidhjeje;
- Mjetet për korrektionin e gabimeve, të cilat minimizojnë vonesat për shkak të ripërsëritjes së paketimeve të humbura. Përdorimi i kodeve speciale të korrekcioni të gabimeve në nivelin e paketës për të reduktuar situatat që kërkojnë ripërsëritjen e të dhënave të paketave të humbura.
- Kufijtë e blloqeve kriptografike janë rreshtuar me kufijtë e pakove QUIC, duke zvogëluar ndarjen e humbjeve të pakove në dekodimin e përmbajtjes së pakove të ardhshme;
- Mungesa e problemeve me bllokimin e radhës TCP;
- Mbështetje për identifikimin e lidhjes, që lejon të shkurtohet koha e vendosjes së lidhjes së re për klientët e lëvizshëm;
- Aftësia për të lidhur mekanizma të avancuar të kontrollit të mbingarkesës së lidhjes;
- Përdorimi i teknikave të parashikimit të kapacitetit në çdo drejtim për të garantuar intensitetin optimal të dërgimit të paketeve, duke parandaluar rënien në një gjendje mbipopullimi, ku vërehet humbja e paketeve;
- Dukshëm e performancës dhe kapacitetit krahasuar me TCP. Për shërbimet video, si YouTube, aplikimi i QUIC ka treguar një reduktim të operacioneve të rifillimit gjatë shikimit të videove me 30%.
Burimi: opennet.ru
