Kompania NGINX në lidhje me fillimin e testimit të protokolleve QUIC dhe HTTP/3 në serverin dhe proksinë HTTP nginx. Zbatimi është i bazuar në e specifikimit IETF-QUIC dhe është i disponueshëm përmes , i pasuar nga lëshimi 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ështetja për HTTP/3 në nginx është e etiketuar si eksperimentale, pasi 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 (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ë , dhe .
Main 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);
- 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 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
