Microsoft je otvorio svoju implementaciju protokola QUIC, koji se koristi u HTTP/3

Podjetje Microsoft je objavilo o otvoritvi izvorne kode knjižnice MsQuic z implementacijo omrežnega protokola QUIC. Koda je napisana v jeziku C in se distribuira pod licenco MIT. Knjižnica je medplatformna in se lahko uporablja ne le v Windows, temveč tudi v Linuxu z uporabo Schannel ali OpenSSL za TLS 1.3. V prihodnosti načrtujemo podporo za druge platforme.

Knjižnica je osnovana na kodi gonilnika msquic.sys, ki je na voljo v jedru Windows 10 (Insider Preview) in omogoča delovanje protokolov HTTP in SMB nad QUIC. Koda se uporablja tudi za implementacijo HTTP/3 v notranjem sklopu Windows in v .NET Core. Razvoj knjižnice MsQuic bo potekal izključno na GitHub-u z uporabo javne revizije, pull zahtevkov in GitHub Issues. Pripravljena je infrastruktura, ki preverja vsak commit in pull zahtevek v sklopu več kot 4000 testov. Po stabilizaciji razvojnega okolja bomo začeli sprejemati spremembe od zunanjih razvijalcev.

MsQuic je že možno uporabiti za ustvarjanje strežnikov in odjemalcev, vendar ni vsa funkcionalnost, kot je opredeljeno v specifikaciji IETF, trenutno na voljo. Na primer, trenutno ni podpore za 0-RTT, migracijo odjemalcev, Path MTU Discovery in upravljanje izbire naslovov za strežnik (Server Preferred Address). Med implementiranimi funkcijami izstopa optimizacija za dosego največje propustnosti in minimalnih zamud, podpora za asinhrono vhodno/izhodno obdelavo, RSS (Receive Side Scaling), možnost združevanja vhodnih in izhodnih UDP tokov. Implementacija MsQuic je bila preverjena za združljivost z eksperimantalnimi vejami brskalnikov Chrome in Edge.

Spomnimo, da HTTP/3 standardizira uporabo protokola QUIC kot transporta za HTTP/2. Protokol QUIC (Quick UDP Internet Connections) se od leta 2013 razvija v podjetju Google kot alternativa povezavi TCP+TLS za splet, ki rešuje težave z dolgotrajnim vzpostavljanjem in usklajevanjem povezav v TCP ter odpravi zamude pri izgubi paketov med prenosom podatkov. QUIC predstavlja nadgradnjo protokola UDP, ki podpira več povezav in zagotavlja metode šifriranja, ki so ekvivalentne TLS/SSL.

Glavne značilnosti QUIC:

  • Visoka varnost, podobna TLS (pravzaprav QUIC omogoča uporabo TLS 1.3 nad UDP);
  • Nadzor nad celovitostjo toka, ki preprečuje izgubo paketov;
  • Možnost takojšnjega vzpostavljanja povezave (0-RTT, podatki se lahko prenašajo takoj po pošiljanju paketa za vzpostavitev povezave v približno 75 % primerov) in zagotavljanje minimalnih zamud med pošiljanjem zahtevka in prejemanjem odgovora (RTT, Round Trip Time);
    Microsoft je otvorio svoju implementaciju protokola QUIC, koji se koristi u HTTP/3
  • Neuporaba istega zaporednega številka paketa pri ponovnem pošiljanju, kar omogoča izogibanje dvoumnosti pri določanju prejetih paketov in odpravlja časovne omejitve;
  • Izguba paketa vpliva le na dostavo povezanega toka in ne ustavi dostave podatkov v hkrati poslanih tokovih preko trenutne povezave;
  • Sredstva za korekcijo napak, ki minimizirajo zamude zaradi ponovnega pošiljanja izgubljenih paketov. Uporaba posebnih kod za korekcijo napak na nivoju paketa za zmanjšanje situacij, ki zahtevajo ponovno pošiljanje podatkov izgubljenega paketa.
  • Meje kriptografskih blokov so poravnane z mejami QUIC paketov, kar zmanjšuje vpliv izgub paketov na dekodiranje vsebine naslednjih paketov;
  • Brez težav z blokiranjem TCP vrstice;
  • Podpora identifikatorju povezave, ki omogoča skrajšanje časa za ponovno vzpostavitev povezave za mobilne stranke;
  • Možnost povezovanja razširjenih mehanizmov za nadzor obremenitve povezave;
  • Uporaba tehnike napovedovanja propustnosti v vsaki smeri za zagotavljanje optimalne intenzivnosti pošiljanja paketov, preprečevanje preklopa v stanje obremenitve, pri katerem pride do izgube paketov;
  • Opazen povečanje zmogljivosti in propustnosti v primerjavi s TCP. Za videoprenose, kot je YouTube, je uporaba QUIC pokazala zmanjšanje ponovnih bufrovanj med ogledom videa za 30 %.

Izvor: opennet.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster