Förhandsversion av nginx med stöd för QUIC och HTTP/3

Företaget NGINX tillkÀnnagav meddelar om pÄbörjan av testning om implementering) av protokollen QUIC och HTTP/3 i HTTP-servern och proxynginx. Implementation baseras pÄ 27-draften av IETF-QUIC-specifikationen och Àr tillgÀnglig via ett separat repository, som Àr en avgrening av version 1.19.0. Koden sprids under BSD-licensen och överlappar inte med den tidigare föreslagna implementationen av HTTP/3 för nginx frÄn Cloudflare, som Àr ett separat projekt.

Stödet för HTTP/3 i nginx Àr mÀrkt som experimentellt, eftersom inte alla funktioner i protokollet Àr implementerade. Dock kan nginx redan anvÀndas för att skicka svar pÄ enkla HTTP/3-förfrÄgningar över QUIC och ladda / överföra stora filer. Bland de saknade funktionerna i protokollet noteras protokollversionsförhandling, ECN och överbelastningskontroll, strukturerade loggar, ÄterhÀmtningslÀge (QUIC recovery, flödes- och överbelastningskontroll), NAT Rebinding, mobila adresser, Server push och anslutning av data (trailer). Dessutom erbjuds endast grundlÀggande stöd för behandling av ACK-paket och flödeskontroll, som krÀver ytterligare arbete. Inte alla krav i standarden har beaktats.

För att aktivera HTTP/3 krÀvs det att kompilera nginx med modulen http_v3_module och lÀgga till ytterligare en direktiv
«listen» med flaggan «http3″ för att skapa en lyssnande UDP-socket. Till exempel:

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

ssl_protocols TLSv1.3; # TLS 1.3 krÀvs i QUIC
ssl_certificate ssl/www.example.com.crt;
ssl_certificate_key ssl/www.example.com.key;

add_header Alt-Svc ‘quic=»:443″‘; # indikator för tillgĂ„ng till QUIC
add_header QUIC-Status $quic; # Header med status för anvÀndning av QUIC
}

Vi pÄminner om att HTTP/3 standardiserar anvÀndningen av protokollet QUIC som transport för HTTP/2. Protokollet QUIC (Quick UDP Internet Connections) har sedan 2013 utvecklats av Google som ett alternativ till TCP+TLS för webben, som löser problem med lÄng tid för etablering och förhandling av anslutningar i TCP och eliminerar fördröjningar vid paketförluster under datatransmission. QUIC Àr ett överliggande protokoll ovanpÄ UDP som stöder multiplexering av flera anslutningar och tillhandahÄller krypteringsmetoder som motsvarar TLS/SSL. PÄ klientsidan har experimentellt stöd för HTTP/3 redan lagts till i Curl, Firefox och Chromium.

Förhandsversion av nginx med stöd för QUIC och HTTP/3

Huvud funktioner QUIC:

  • Hög sĂ€kerhet, jĂ€mförbar med TLS (QUIC gör i grunden det möjligt att anvĂ€nda TLS 1.3 över UDP);
  • Kontroll av strömmens integritet, vilket förhindrar pak förlust;
  • Möjlighet att omedelbart upprĂ€tta en anslutning (0-RTT, i ungefĂ€r 75% av fallen kan data överföras omedelbart efter att anslutningsinstallationspaketet skickats) och sĂ€kerstĂ€lla minimala fördröjningar mellan begĂ€ran och svar (RTT, Round Trip Time);
    Förhandsversion av nginx med stöd för QUIC och HTTP/3
  • Ingen anvĂ€ndning av samma sekvensnummer vid Ă„teröverföring av paket som gör att man kan undvika tveksamhet vid identifieringen av mottagna paket och eliminera timeout-problem;
  • Paketsförlust pĂ„verkar endast leveransen av den relaterade strömmen och stoppar inte dataöverföringen i parallella strömmar som sĂ€nds via den aktuella anslutningen;
  • Felkorrekteringsmedel som minimerar förseningar pĂ„ grund av Ă„teröverföring av förlorade paket. AnvĂ€ndning av speciella felkorrekteringskoder pĂ„ paketnivĂ„ för att minska situationer dĂ€r Ă„teröverföring av förlorad data krĂ€vs.
  • GrĂ€nserna för kryptografiska block överensstĂ€mmer med grĂ€nserna för QUIC-paketen, vilket minskar pĂ„verkan av paketförluster pĂ„ avkodningen av innehĂ„llet i efterföljande paket;
  • Ingen köblockering som uppstĂ„r i TCP;
  • Stöd för anslutningsidentifierare som gör att tiden för att Ă„teransluta till mobila kunder minskar;
  • Möjlighet att ansluta avancerade mekanismer för överbelastningskontroll;
  • AnvĂ€ndning av tekniker för kapacitetsprognoser i varje riktning för att sĂ€kerstĂ€lla optimal paketöverföringstakt och förhindra att man hamnar i en överbelastad status dĂ€r paketförluster observeras;
  • SĂ€rskild ökning i prestanda och kapacitet jĂ€mfört med TCP. För videotjĂ€nster som YouTube har anvĂ€ndningen av QUIC visat pĂ„ en minskning av buffran under videoavspelning med 30%.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster