I-QUIC (Quick UDP Internet Connections) iyiphrothokholi engaphezulu kwe-UDP esekela zonke izici ze-TCP, TLS ne-HTTP/2 futhi ixazulula izinkinga zazo eziningi. Ivamise ukubizwa ngokuthi iphrothokholi entsha noma “yokuhlola”, kodwa sekuyisikhathi eside yadlula esigabeni sokuhlola: ukuthuthukiswa bekulokhu kuqhubeka iminyaka engaphezu kwengu-7. Ngalesi sikhathi, iphrothokholi ayizange ikwazi ukuba yindinganiso, kodwa yasabalale. Isibonelo, i-QUIC isetshenziswa izikhondlakhondla ezifana ne-Google ne-Facebook ukusheshisa ukugcwala kwezimoto nokunciphisa ukubambezeleka kwamanethiwekhi eselula, futhi i-IETF yamemezela ukuthi imfoloko yayo yephrothokholi iyisisekelo sezinga le-HTTP/3 (nakuba i-HTTP/2 isebenzisa
Umqondo
I-QUIC yathuthukiswa njengokuthatha indawo ye-TCP yefa, ekuqaleni eyayakhelwe amanethiwekhi anezintambo ezilahlekelwa kancane. I-TCP iletha amaphakethe ngokulandelana, ngakho-ke uma iphakethe elilodwa lilahlekile, wonke umugqa uyamiswa (
Njengoba i-QUIC ihlanganisa ukushintshwa kwe-TCP nokusebenzisa i-TLS 1.3, konke ukuxhumeka kuhlala kubethelwe, futhi ukususa ukubethela kwethrafikhi akulula kunalokho uma bekudlula i-HTTPS. Ngaphezu kwalokho, i-QUIC isetshenziswa ezingeni lesicelo, njengoba kungase kuthathelwe indawo ephelele isitaki se-TCP iphakade.
Naphezu kokusekelwa kokuphindaphinda ku-HTTP/2, inkinga yokuvinjwa kwekhanda lomugqa yahlala lapho ngenxa yesidingo sokuletha amaphakethe ngendlela. I-QUIC isetshenziswa phezu kwe-UDP, ngakho-ke ayinakho ukuvinjelwa ngokomgomo, futhi ukuvimbela amaphakethe ukuthi angalahleki unomphela, anezinombolo futhi angaqukatha izingxenye "zomakhelwane," ezihlinzeka ngokungasebenzi. Ngaphezu kwalokho, i-QUIC ihlukanisa ulayini we-monolithic ube imicu eminingi ngezinhlobo ezahlukene zezicelo ngaphakathi koxhumano olulodwa. Ngakho, uma iphakethe lilahlekile, izinkinga zingase ziphakame kuphela kulayini owodwa (isibonelo, ukudlulisa ifayela elithile):
Sebenzisa
Ekuqaleni, i-QUIC yathuthukiswa ngaphakathi kwe-Google futhi yalungiselelwa ukusetshenziswa ngaphakathi kwenkampani. Ngo-2013, yadluliselwa ku-IETF ukuze kumiswe (okusaqhubeka), futhi manje wonke umuntu angabamba iqhaza ekuthuthukisweni kwephrothokholi ngokuphakamisa lokho abakushodayo. Iqembu elisebenzayo le-IETF lihlela imihlangano yaminyaka yonke lapho izinga elisha ligunyazwa futhi kuxoxiswane ngezinto ezintsha. Lokhu kusetshenziswa kwe-QUIC kuthathwa njengokuyinhloko futhi kusisekelo sakhona ukuthi izinga le-HTTP/3 liyaqinisekiswa.
Kuze kube manje, akukho ukukhuluma mayelana nokufaka i-HTTP/3 njengephrothokholi eyinhloko, ngoba ayikaqedwa futhi cishe ayisekelwe:
Kodwa i-QUIC ingasetshenziswa njengokuthutha phakathi kohlelo lokusebenza kanye neseva, eyenziwe ngempumelelo kwa-Uber:
Amazwana ka-Uber mayelana nokwethulwa kwe-QUIC
Ukuze ushumeke ngempumelelo i-QUIC futhi uthuthukise ukusebenza kohlelo lokusebenza ezindaweni ezingaxhumekile kahle, simiselele isitaki esidala (HTTP/2 phezu kwe-TLS/TCP) ngephrothokholi ye-QUIC. Sisebenzise umtapo wolwazi wenethiwekhi
I-Cronet kusuka kuAmaphrojekthi we-Chromium , equkethe inguqulo yoqobo ye-Google yephrothokholi - gQUIC. Lokhu kusetshenziswa nakho kuthuthukiswa njalo ukuze kulandele ukucaciswa kwe-IETF kwakamuva.Siqale sahlanganisa i-Cronet kuzinhlelo zethu zokusebenza ze-Android ukuze sengeze usekelo lwe-QUIC. Ukuhlanganiswa kwenziwa ngendlela yokunciphisa izindleko zokufuduka ngangokunokwenzeka. Esikhundleni sokushintsha ngokuphelele isitaki senethiwekhi esidala esasisebenzisa umtapo wolwazi
OkHttp , sihlanganise i-Cronet NGAPHANSI kohlaka lwe-OkHttp API. Ngokwenza ukuhlanganisa ngale ndlela, sigweme izinguquko ezingcingweni zethu zenethiwekhi (ezisetshenziswa yiBuyisela inzuzo ) ezingeni le-API.Ngokufana nendlela yamadivayisi e-Android, sisebenzise i-Cronet kuzinhlelo zokusebenza ze-Uber ku-iOS, sivala ithrafikhi ye-HTTP evela kunethiwekhi.
API usebenzisaNSURLProtocol . Lokhu kufinyezwa, okuhlinzekwe yi-iOS Foundation, kusingatha idatha ye-URL eqondene nephrothokholi futhi kuqinisekisa ukuthi singakwazi ukuhlanganisa i-Cronet kuzinhlelo zethu zokusebenza ze-iOS ngaphandle kwezindleko ezinkulu zokuthutha.
kuthathwe ku
Ngasemuva babambe ukuxhumana kwe-QUIC nge-Google Cloud lb, okuyinto
Akumangazi ukuthi i-Google Cloud isebenza kahle ngephrothokholi ethuthukisiwe ye-Google, kepha yiziphi ezinye izindlela?
Nginx
Kungekudala CloudFlare
curl -O https://nginx.org/download/nginx-1.16.1.tar.gz
tar xvzf nginx-1.16.1.tar.gz
git clone --recursive https://github.com/cloudflare/quiche
cd nginx-1.16.1
patch -p01 < ../quiche/extras/nginx/nginx-1.16.patch
Lapha ungakwazi ukuxhuma amamojula akho uma kudingeka
./configure
--prefix=$PWD
--with-http_ssl_module
--with-http_v2_module
--with-http_v3_module
--with-openssl=../quiche/deps/boringssl
--with-quiche=../quiche
make
Okusele nje ukunika amandla usekelo lwe-HTTP/3
events {
worker_connections 1024;
}
http {
server {
# Enable QUIC and HTTP/3.
listen 443 quic reuseport;
# Enable HTTP/2 (optional).
listen 443 ssl http2;
ssl_certificate cert.crt;
ssl_certificate_key cert.key;
# Enable all TLS versions (TLSv1.3 is required for QUIC).
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
# Request buffering in not currently supported for HTTP/3.
proxy_request_buffering off;
# Add Alt-Svc header to negotiate HTTP/3.
add_header alt-svc 'h3-27=":443"; ma=86400';
}
}
Akukenzeki okwamanje ukuxhuma nge-HTTP/3 kuziphequluli ezijwayelekile, kodwa ungasebenzisa --enable-quic
, hamba kuseva yakho noma, isibonelo, isayithi le-quic.rocks bese ubheka uhlobo loxhumano kokuthi Amathuluzi Kanjiniyela:
Esikhundleni se-HTTP/3 kubhaliwe http2+quic/99
, kodwa empeleni kuyinto efanayo.
Obunye ubuchwepheshe
- I-QUIC iphinde isekele
I-LiteSpeed (exhunywe ku-Facebook nge-HTTP/3 ngokuthanda okukhulu) futhi iyathuthukacaddy . I-Apache ayikwazi okwamanje, kodwa umsebenzi uyaqhubekaukugijima ngokugcwele . - Kubuyekeziwe ngoJanuwari 21
okusalungiswa okujwayelekile kwe-WebRTC - Ngolunye usuku iMicrosoft yavula
msquic ikhodi yokusebenzisa , okungeyona yonke imisebenzi evela kuzinga le-IETF engakatholakali, kodwa lokhu sekuvele kuyimpumelelo enkulu.
isiphetho
Intshisekelo ku-QUIC ayizinzile, kodwa iyakhula, futhi umsebenzi uyaqhubeka ukuze ifane. Ukuqaliswa okusha kwephrothokholi kubonakala cishe nyanga zonke, futhi minyaka yonke onjiniyela abaningi ngokwengeziwe bayaqiniseka ukuthi i-QUIC iyikusasa. Kungenzeka futhi ukufaka iphrothokholi ezinguqulweni ezizayo zesitaki se-TCP, okusho ukuthi ngokushesha noma kamuva yonke i-inthanethi izothuthela ekuxhumekeni okuzinzile nokushesha kakhulu.
Kakade manje usungakwazi ukumisa ukusebenzisana kwe-QUIC kungqalasizinda yakho noma uyinikeze iziphequluli - zonke zihlela ukwengeza usekelo lwephrothokholi, futhi izibalo ezidabukisayo nge-caniuse zizojabula kakhulu.
Source: www.habr.com