Nginx'i eelvÀljund QUIC ja HTTP/3 toe jaoks

EttevÔte NGINX teatas teatab testimise algusest tehnoloogia QUIC ja HTTP/3 protokollide rakendamisest HTTP-serveris ja proxy nginx. Rakendamine pÔhineb 27. kavandil IETF-QUIC spetsifikatsioonist ja on saadaval lÀbi eraldiseisva hoidla, mis on vÀlja töötatud versioonist 1.19.0. Kood on levitatud BSD litsentsi alusel ja ei langenud kokku varem kavandatud HTTP/3 rakendusega nginxilt Cloudflareilt, mis on eraldi projekt.

HTTP/3 tugi nginxis on mĂ€rgitud kui eksperimenteerne, kuna kĂ”ik funktsioonid protokollist ei ole rakendatud. Sellegipoolest saab nginxit juba kasutada lihtsate HTTP/3 pĂ€ringute vastamiseks, mis toimuvad QUIC-i kaudu ja suurte failide ĂŒleslaadimiseks/edastamiseks. Puuduvatest protokolli funktsioonidest mainitakse protokolli versiooni kokkuleppimisvahendeid, ECN-i ja ĂŒlekande juhtimist, struktureeritud logisid, taastumisreĆŸiimi (QUIC recovery, voogude ja ĂŒlekande haldamine), NAT Rebinding, mobiilseid aadresse, Server push ja andmete lisamine (trailer). Samuti on pakutud vaid pĂ”hiline tugi ACK-pakettide töötlemiseks ja voogude haldamiseks, mis vajab tĂ€iendavat tööd. KĂ”iki standardi nĂ”udeid ei ole arvesse vĂ”etud.

HTTP/3 aktiveerimiseks on vajalik nginxi kokku kogumine http_v3_module mooduliga ning lisada tÀiendav direktiiv
«listen» koos „http3″ lipuga, et luua kuulav UDP-sokett. NĂ€iteks:

server {
listen 443 ssl; # TCP-sokett HTTP/1.1 jaoks
listen 443 http3 reuseport; # UDP-sokett QUIC+HTTP/3 jaoks

ssl_protocols TLSv1.3; # QUIC-i puhul on TLS 1.3 kohustuslik
ssl_certificate ssl/www.example.com.crt;
ssl_certificate_key ssl/www.example.com.key;

add_header Alt-Svc ‘quic=»:443″‘; # QUIC-i kĂ€ttesaadavuse mĂ€rk
add_header QUIC-Status $quic; # QUIC-i kasutusoleku staatuse pealkiri
}

Tuletame meelde, et HTTP/3 standardiseerib QUIC protokolli kasutamise transpordina HTTP/2 jaoks. Protokoll QUIC (Quick UDP Internet Connections) on alates 2013. aastast vĂ€lja töötanud ettevĂ”te Google alternatiivina TCP+TLS ĂŒhendusele, mis lahendab TCP-s suurte ĂŒhenduste loomise ja lepingute ajakulu probleemid ning kĂ”rvaldab viivitused andmete edastamise kĂ€igus paketikaotuste korral. QUIC on UDP protokolli pealisehituseks, mis toetab mitme ĂŒhenduse multiplexerimist ja tagab ĆĄifreerimismeetodid, mis on sarnased TLS/SSL-iga. Klientide tarkvara poolel on HTTP/3 eksperimentaalne toetus juba lisatud Curl, Firefox ja Chromium.

Nginx'i eelvÀljund QUIC ja HTTP/3 toe jaoks

Peamised omadused QUIC:

  • KĂ”rge turvalisus, mis on sarnane TLS-iga (sisuliselt vĂ”imaldab QUIC kasutada TLS 1.3 ĂŒle UDP);
  • Voolu terviklikkuse jĂ€lgimine, mis takistab pakettide kaotust;
  • VĂ”ime koheselt ĂŒhendust luua (0-RTT, umbes 75% juhtudest saab andmeid edastada kohe pĂ€rast ĂŒhenduse loomise paketi saatmist) ja tagada minimaalne viivitus kĂŒsimise ja vastuse saamise vahel (RTT, Round Trip Time);
    Nginx'i eelvÀljund QUIC ja HTTP/3 toe jaoks
  • Paketi sama jĂ€rjestuse numbri uuesti edastamisel mittekasutamine, mis vĂ”imaldab vĂ€ltida segadust vastuvĂ”etud pakettide mÀÀratlemisel ja kaotada aegumised;
  • Paketi kaotus mĂ”jutab ainult selle kaasnevat voolu ja ei peata andmete edastamist samaaegselt praeguse ĂŒhenduse kaudu edastatavatest voogudest;
  • Vigade parandusmeetmed, mis minimeerivad viivitusi kadunud pakettide uuesti edastamise tĂ”ttu. Eriliste vigade parandamise koodide kasutamine paketi tasemel, et vĂ€hendada olukordi, mis nĂ”uavad kadunud paketi andmete uuesti edastamist.
  • KrĂŒptograafiliste plokkide piirid on joondatud QUIC pakettide piiridega, mis vĂ€hendab pakettide kaotuse mĂ”ju jĂ€rgmiste pakettide sisu dekodeerimisele;
  • TCP jĂ€rjekorra ummistumise probleemide puudumine;
  • Ühenduse identifikaatori tugi, mis vĂ”imaldab vĂ€hendada mobiilsete klientide uuesti ĂŒhendamise aega;
  • VĂ”ime ĂŒhendada laienevaid ĂŒhenduse ĂŒlekande kontrolli mehhanisme;
  • Igas suunas lĂ€bilaskevĂ”ime ennustamise tehnika kasutamine, et tagada pakkide edastamise optimaalne intensiivsus, vĂ€ltides ĂŒleminekuid koormuse seisundisse, kus esineb pakettide kaotust;
  • TĂ€htis kasv tĂ”hususes ja lĂ€bilaskevĂ”imes vĂ”rreldes TCP-ga. Videoteenuste, nagu YouTube, puhul nĂ€itas QUIC kasutamine video vaatamise jooksul uuesti vahepealsete operatsioonide vĂ€henemist 30% vĂ”rra.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster