Cloudflare tau siv cov qauv los txhawb HTTP / 3 hauv NGINX

Cloudflare tuam txhab npaj tus qauv los muab kev txhawb nqa rau HTTP / 3 raws tu qauv hauv NGINX. Lub module yog tsim los ua ib qho ntxiv rau lub tsev qiv ntawv tsim los ntawm Cloudflare quiche nrog rau kev siv QUIC thiab HTTP/3 thauj raws tu qauv. Lub quiche code yog sau nyob rau hauv Rust, tab sis NGINX module nws tus kheej yog sau nyob rau hauv C thiab nkag mus rau lub tsev qiv ntawv siv dynamic linking. Kev txhim kho qhib raws li BSD daim ntawv tso cai.

Txhawm rau sib sau ua ke, tsuas yog rub tawm thaj rau nginx 1.16 thiab code quiche cov tsev qiv ntawv, tom qab ntawd rov tsim kho nginx nrog cov kev xaiv "-nrog-http_v3_module -with-quiche = ../quiche". Thaum tsim, kev txhawb nqa TLS yuav tsum yog raws li lub tsev qiv ntawv BoringSSL (β€œ--with-openssl = ../quiche/deps/boringssl”), kev siv OpenSSL tseem tsis tau txhawb nqa. Txhawm rau txais kev sib txuas, koj yuav tsum ntxiv cov lus qhia mloog nrog tus chij "quic" rau cov chaw (piv txwv li, " mloog 443 quic reuseport ").

Hauv cov neeg siv software, HTTP / 3 kev txhawb nqa twb tau ntxiv rau kev sim ua ntawm Chrome Canary thiab cov khoom siv curl. Nyob rau sab server, txog rau tam sim no nws yuav tsum tau siv cais, txwv sim siv. Lub peev xwm los ua HTTP / 3 hauv nginx yuav ua rau kom yooj yim rau kev xa tawm ntawm cov servers nrog HTTP / 3 kev txhawb nqa thiab yuav ua rau kev sim ua raws li txoj cai tshiab tuaj yeem siv tau. Qhov tshwm sim ntawm tus qauv txhawb rau HTTP / 3 hauv nginx cia siab tias yuav hauv 1.17.x ceg rau 6-12 lub hlis.

Nco qab tias HTTP/3 standardizes kev siv QUIC raws tu qauv raws li kev thauj mus los rau HTTP/2. raws tu qauv QUIC (Quick UDP Internet Connections) tau tsim los ntawm Google txij li xyoo 2013 los ua lwm txoj hauv kev rau TCP + TLS ua ke rau lub vev xaib, daws teeb meem nrog kev teeb tsa ntev thiab kev sib tham rau kev sib txuas hauv TCP thiab tshem tawm kev ncua thaum pob ntawv poob thaum hloov cov ntaub ntawv. QUIC yog qhov txuas ntxiv ntawm UDP raws tu qauv uas txhawb nqa kev sib txuas ntawm ntau qhov sib txuas thiab muab cov txheej txheem encryption sib npaug rau TLS / SSL.

ntsiab nta QUIC:

  • Kev ruaj ntseg siab zoo ib yam li TLS (qhov tseem ceeb QUIC muab lub peev xwm los siv TLS dhau UDP);
  • Flow integrity tswj, tiv thaiv pob ntawv poob;
  • Lub peev xwm los tsim kom muaj kev sib txuas tam sim ntawd (0-RTT, kwv yees li 75% ntawm cov ntaub ntawv tuaj yeem xa tawm tam sim tom qab xa cov pob ntawv teeb tsa kev sib txuas) thiab muab kev ncua tsawg kawg ntawm kev xa daim ntawv thov thiab tau txais cov lus teb (RTT, Lub Sijhawm Round Trip);
  • Tsis siv tib tus naj npawb ib ntus thaum rov xa ib pob ntawv, uas zam qhov tsis meej pem hauv kev txheeb xyuas cov pob ntawv tau txais thiab tshem tawm lub sijhawm;
  • Kev poob ntawm ib pob ntawv cuam tshuam tsuas yog kev xa tawm ntawm cov kwj cuam tshuam nrog nws thiab tsis txwv kev xa cov ntaub ntawv hauv cov kwj sib luag uas kis tau los ntawm kev sib txuas tam sim no;
  • Kev kho cov yam ntxwv ua yuam kev uas txo qis qeeb vim rov xa cov pob ntawv ploj. Kev siv cov lej kho qhov yuam kev tshwj xeeb ntawm qib pob ntawv txhawm rau txo cov xwm txheej uas yuav tsum tau rov xa cov ntaub ntawv ploj lawm.
  • Cryptographic thaiv ciam teb yog ua raws li QUIC pob ntawv ciam teb, uas txo qhov cuam tshuam ntawm pob ntawv poob ntawm kev txiav txim siab cov ntsiab lus ntawm cov pob ntawv tom ntej;
  • Tsis muaj teeb meem nrog TCP kab thaiv;
  • Kev them nyiaj yug rau kev sib txuas tus cim, uas txo lub sijhawm nws yuav siv los tsim kev sib txuas rau cov neeg siv khoom txawb;
  • Muaj peev xwm txuas cov kev sib txuas siab heev congestion tswj mechanisms;
  • Siv cov kev taw qhia los ntawm kev tshaj tawm kev kwv yees los xyuas kom meej tias cov pob ntawv raug xa mus rau qhov zoo tshaj plaws, tiv thaiv kom tsis txhob muaj kab mob thiab ua rau pob ntawv poob;
  • Pom tau kev loj hlob kev ua tau zoo thiab dhau los piv rau TCP. Rau cov kev pabcuam video xws li YouTube, QUIC tau pom tias txo qis kev ua haujlwm tsis zoo thaum saib cov yeeb yaj kiab los ntawm 30%.
  • Tau qhov twg los: opennet.ru

Ntxiv ib saib