Cloudflare hat in module ymplementearre om HTTP / 3 te stypjen yn NGINX

It bedriuw Cloudflare Company taret module om stipe te jaan foar it HTTP/3-protokol yn NGINX. De module is ûntworpen as in tafoeging oan 'e bibleteek ûntwikkele troch Cloudflare quiche mei de ymplemintaasje fan it QUIC en HTTP / 3 ferfier protokol. De quiche-koade is skreaun yn Rust, mar de NGINX-module sels is skreaun yn C en tagong ta de bibleteek mei dynamyske keppeling. Untjouwings iepen ûnder de BSD-lisinsje.

Om te sammeljen, download gewoan patch nei nginx 1.16 en code quiche-biblioteken, bouwe dan nginx op 'e nij op mei de opsjes "—with-http_v3_module —with-quiche=../quiche". By it bouwen moat TLS-stipe basearre wêze op de BoringSSL-bibleteek ("--with-openssl=../quiche/deps/boringssl"), it brûken fan OpenSSL wurdt noch net stipe. Om ferbiningen te akseptearjen, moatte jo de harkrjochtline taheakje mei de "quic" flagge oan 'e ynstellings (bygelyks "harkje 443 quic reuseport").

Yn clientsoftware is HTTP/3-stipe al tafoege oan eksperimintele builds fan Chrome Canary en it curl-hulpprogramma. Oan 'e serverkant wie it oant no ta nedich om apart, beheind te brûken test ymplemintaasjes. De mooglikheid om HTTP / 3 yn nginx te ferwurkjen sil de ynset fan servers mei HTTP / 3-stipe signifikant ferienfâldigje en sil de testymplemintaasje fan it nije protokol tagonkliker meitsje. It ûntstean fan standert stipe foar HTTP / 3 yn nginx ferwachtsje yn de 1.17.x tûke foar 6-12 moannen.

Tink derom dat HTTP/3 it gebrûk fan it QUIC-protokol standardisearret as transport foar HTTP/2. Protokol QUIC (Quick UDP Internet Connections) is ûntwikkele troch Google sûnt 2013 as in alternatyf foar de TCP + TLS kombinaasje foar it web, oplosse problemen mei lange opset en ûnderhannelings tiden foar ferbinings yn TCP en elimineren fertraging as pakketten wurde ferlern by gegevens oerdracht. QUIC is in útwreiding fan it UDP-protokol dat multiplexing fan meardere ferbiningen stipet en fersiferingsmetoaden leveret lykweardich oan TLS/SSL.

haad Eigenskippen QUIC:

  • Hege feiligens fergelykber mei TLS (yn essinsje biedt QUIC de mooglikheid om TLS oer UDP te brûken);
  • Flow-yntegriteitskontrôle, it foarkommen fan pakketferlies;
  • De mooglikheid om direkt in ferbining te meitsjen (0-RTT, yn sawat 75% fan 'e gefallen kinne gegevens direkt nei it ferstjoeren fan it ferbiningsopsetpakket wurde oerdroegen) en soargje foar minimale fertragingen tusken it ferstjoeren fan in fersyk en it ûntfangen fan in antwurd (RTT, Round Trip Time);
  • Net itselde folchoardernûmer brûke by it opnij ferstjoeren fan in pakket, wat ûndúdlikens foarkomt by it identifisearjen fan ûntfongen pakketten en elimineert timeouts;
  • It ferlies fan in pakket beynfloedet de levering fan allinich de stream dy't dêrmei ferbûn is en stopet net de levering fan gegevens yn parallelle streamen dy't troch de hjoeddeistige ferbining oerbrocht wurde;
  • Funksjes foar flaterkorreksje dy't fertragingen minimalisearje fanwege werútstjoering fan ferlerne pakketten. Gebrûk fan spesjale flaterkorreksjekoades op pakketnivo om situaasjes te ferminderjen dy't opnij oerdracht fan ferlerne pakketgegevens fereaskje.
  • Kryptografyske blokgrinzen wurde ôfstimd mei QUIC-pakketgrinzen, dy't de ynfloed fan pakketferlies fermindert op it dekodearjen fan de ynhâld fan folgjende pakketten;
  • Gjin problemen mei blokkearjen fan TCP-wachtrige;
  • Stipe foar ferbining identifier, dy't de tiid ferminderet dy't it nimt om in opnij ferbining te meitsjen foar mobile kliïnten;
  • Mooglikheid fan ferbining avansearre ferbining congestie kontrôle meganismen;
  • Brûkt per-rjochting trochstream foarsizzing techniken te garandearjen optimale pakket trochstjoere tariven, foar te kommen congestie en pakket ferlies;
  • Perceptible groei prestaasjes en trochslach fergelike mei TCP. Foar fideotsjinsten lykas YouTube is oantoand dat QUIC rebuffering operaasjes ferminderje by it besjen fan fideo's mei 30%.
  • Boarne: opennet.ru

Add a comment