Cloudflare ha implementat un mòdul per suportar HTTP/3 a NGINX

Empresa Cloudflare preparat mòdul per proporcionar suport per al protocol HTTP/3 a NGINX. El mòdul es fa en forma d'un complement sobre la biblioteca desenvolupada a Cloudflare quiche amb la implementació del protocol de transport QUIC i HTTP/3. El codi quiche està escrit en Rust, però el mateix mòdul NGINX està escrit en C i accedeix a la biblioteca mitjançant enllaços dinàmics. Evolucions obert sota la llicència BSD.

Per muntar, només cal descarregar pegat a nginx 1.16 i codi quiche i després reconstrueix nginx amb les opcions "--with-http_v3_module --with-quiche=../quiche". Quan es construeix, el suport TLS s'ha de basar en la biblioteca BoringSSL ("--with-openssl=../quiche/deps/boringssl"), l'ús d'OpenSSL encara no és compatible. Per acceptar connexions, heu d'afegir la directiva listen amb el senyalador "quic" a la configuració (per exemple, "listen 443 quic reuseport").

Des del costat del client, el suport HTTP/3 ja s'ha afegit a les versions experimentals de Chrome Canary i la utilitat curl. Al costat del servidor, fins ara, s'havia d'utilitzar autònom implementacions de prova. La capacitat de processar HTTP/3 a nginx simplificarà molt el desplegament de servidors amb suport HTTP/3 i farà que la implementació de prova del nou protocol sigui més accessible. L'aparició del suport habitual per a HTTP / 3 a nginx s'esperava a la branca 1.17.x durant 6-12 mesos.

Recordem que HTTP/3 estandarditza l'ús del protocol QUIC com a transport per a HTTP/2. Protocol QUIC (Quick UDP Internet Connections) ha estat desenvolupat per Google des del 2013 com a alternativa a TCP + TLS per a la Web, solucionant problemes amb llargs temps de configuració i negociació de connexions en TCP i eliminant els retards en cas de pèrdua de paquets durant la transferència de dades. QUIC és un complement del protocol UDP que admet la multiplexació de múltiples connexions i proporciona mètodes de xifratge equivalents a TLS/SSL.

El principal Característiques QUIC:

  • Alta seguretat, similar a TLS (de fet, QUIC ofereix la possibilitat d'utilitzar TLS sobre UDP);
  • Control de la integritat del flux per evitar la pèrdua de paquets;
  • La capacitat d'establir una connexió a l'instant (0-RTT, en aproximadament el 75% dels casos, les dades es poden transmetre immediatament després d'enviar un paquet de configuració de connexió) i garantir uns retards mínims entre l'enviament d'una sol·licitud i la recepció d'una resposta (RTT, temps d'anada i tornada) ;
  • No utilitzeu el mateix número de seqüència en retransmetre un paquet, la qual cosa us permet evitar l'ambigüitat a l'hora de determinar els paquets rebuts i eliminar els temps d'espera;
  • La pèrdua de paquets només afecta el lliurament del flux associat i no atura el lliurament de dades en fluxos transmesos en paral·lel a la connexió actual;
  • Eines de correcció d'errors que minimitzen els retards a causa de la retransmissió de paquets perduts. Ús de codis especials de correcció d'errors a nivell de paquet per reduir les situacions que requereixen la retransmissió de dades de paquet perduts.
  • Els límits dels blocs criptogràfics estan alineats amb els límits dels paquets QUIC, la qual cosa redueix l'impacte de la pèrdua de paquets en la descodificació del contingut dels paquets següents;
  • No hi ha problemes per bloquejar la cua TCP;
  • Suport d'identificació de connexió per reduir el temps de reconnexió dels clients mòbils;
  • Possibilitat de connectar mecanismes avançats de control de sobrecàrrega de connexió;
  • Ús de tècniques de predicció d'ample de banda en cada direcció per garantir la velocitat òptima d'enviament de paquets, evitant el rodatge a un estat de congestió, en què hi ha una pèrdua de paquets;
  • Perceptible creixement rendiment i rendiment en comparació amb TCP. Per a serveis de vídeo com YouTube, s'ha demostrat que QUIC redueix les operacions de rebuffer de vídeo en un 30%.
  • Font: opennet.ru

Afegeix comentari