Microsoft on avanud HTTP/3-s kasutatava QUIC-protokolli juurutamise

Microsoft kuulutas välja raamatukogu koodi avamise kohta msquic võrguprotokolli rakendamisega QUIC. Kood on kirjutatud C ja jaotatud MIT litsentsi alusel. Teek on platvormideülene ja seda saab kasutada mitte ainult Windowsis, vaid ka Linuxis s kanal või OpenSSL TLS 1.3 jaoks. Tulevikus on plaanis toetada ka teisi platvorme.

Teek põhineb msquic.sys draiveri koodil, mis on Windows 10 kernelis (Insider Preview), et lubada HTTP ja SMB QUICi peal. Koodi kasutatakse ka HTTP/3 juurutamiseks sisemises Windowsi virnas ja .NET Core'is. MsQuici teegi arendamine toimub täielikult GitHubis, kasutades avalikku eksperdihinnangut, tõmbetaotlusi ja GitHubi probleeme. Ette on valmistatud infrastruktuur, mis kontrollib iga sidumis- ja tõmbamistaotlust enam kui 4000 testiga. Pärast arenduskeskkonna stabiliseerimist on plaanis vastu võtta muudatused kolmandatelt osapooltelt arendajatelt.

MsQuicit saab juba kasutada serverite ja klientide loomiseks, kuid kõik IETF-i spetsifikatsioonis määratletud funktsioonid pole praegu saadaval. Näiteks puudub tugi 0-RTT-le, kliendi migratsioonile, tee MTU avastamisele ega serveri eelistatud aadressi juhtimisele. Rakendatud funktsioonide hulgas märgitakse optimeerimist, et saavutada maksimaalne läbilaskevõime ja minimaalsed viivitused, asünkroonse sisendi/väljundi tugi, RSS (Receive Side Scaling) ning võimalus kombineerida sisend- ja väljund-UDP-vooge. MsQuic'i teostuse ühilduvust Chrome'i ja Edge'i brauserite eksperimentaalsete versioonidega on testitud.

Tuletage meelde, et HTTP/3 standardib QUIC-protokolli kasutamist HTTP/2 transpordina. Protokoll QUIC (Quick UDP Internet Connections) on Google alates 2013. aastast välja töötanud alternatiivina TCP+TLS-i kombinatsioonile veebi jaoks, lahendades probleeme pikkade häälestus- ja läbirääkimisaegadega TCP-ühenduste jaoks ning kõrvaldades viivitused, kui andmeedastuse ajal paketid kaovad. QUIC on UDP-protokolli laiendus, mis toetab mitme ühenduse multipleksimist ja pakub TLS/SSL-iga samaväärseid krüpteerimismeetodeid.

Kõik Omadused QUIC:

  • Kõrge turvalisus, mis sarnaneb TLS-iga (sisuliselt pakub QUIC võimalust kasutada TLS 1.3 üle UDP);
  • Voo terviklikkuse kontroll, mis hoiab ära pakettide kadumise;
  • Võimalus koheselt luua ühendus (0-RTT, ligikaudu 75% juhtudest saab andmeid edastada kohe pärast ühenduse seadistuspaketi saatmist) ja tagada minimaalsed viivitused päringu saatmise ja vastuse saamise vahel (RTT, Round Trip Time);
    Microsoft on avanud HTTP/3-s kasutatava QUIC-protokolli juurutamise

  • Paketi uuesti edastamisel ei kasutata sama järjenumbrit, mis väldib vastuvõetud pakettide tuvastamisel ebaselgust ja vabaneb ajalõppudest;
  • Paketi kadumine mõjutab ainult sellega seotud voo edastamist ega peata andmete edastamist paralleelsetes voogudes, mis edastatakse praeguse ühenduse kaudu;
  • Veaparandusfunktsioonid, mis minimeerivad kadunud pakettide uuesti saatmisest tingitud viivitusi. Spetsiaalsete veaparanduskoodide kasutamine paketi tasemel, et vähendada olukordi, mis nõuavad kadunud pakettandmete uuesti edastamist.
  • Krüptograafiliste plokkide piirid joondatakse QUIC-pakettide piiridega, mis vähendab pakettide kadude mõju järgnevate pakettide sisu dekodeerimisele;
  • TCP järjekorra blokeerimisega probleeme pole;
  • Ühenduse identifikaatori tugi, mis vähendab mobiiliklientide taasühenduse loomiseks kuluvat aega;
  • Võimalus ühendada täiustatud ühenduse ülekoormuse kontrollimehhanisme;
  • Kasutab suunapõhiseid läbilaskevõime prognoosimise tehnikaid, et tagada pakettide saatmine optimaalse kiirusega, vältides nende ummistumist ja pakettide kadumist;
  • Tajutav kasvu jõudlus ja läbilaskevõime võrreldes TCP-ga. Videoteenuste (nt YouTube) puhul vähendab QUIC taaspuhverdamistoiminguid videote vaatamisel 30%.

Allikas: opennet.ru

Lisa kommentaar