„Microsoft“ atvėrė QUIC protokolo, naudojamo HTTP/3, diegimą

„Microsoft“ paskelbė apie bibliotekos kodo atidarymą msquic su tinklo protokolo įgyvendinimu QUIC. Kodas parašytas C ir išplatino pagal MIT licenciją. Biblioteka yra kelių platformų ir gali būti naudojama ne tik Windows, bet ir Linux sistemoje s kanalą arba OpenSSL, skirta TLS 1.3. Ateityje planuojama palaikyti ir kitas platformas.

Biblioteka yra pagrįsta msquic.sys tvarkyklės kodu, pateiktu „Windows 10“ branduolyje („Insider Preview“), kad įgalintų HTTP ir SMB ant QUIC. Kodas taip pat naudojamas HTTP/3 įdiegimui vidinėje „Windows“ ir .NET Core. „MsQuic“ bibliotekos kūrimas bus vykdomas tik „GitHub“, naudojant viešą tarpusavio peržiūrą, ištraukimo užklausas ir „GitHub“ problemas. Parengta infrastruktūra, kuri tikrina kiekvieną įsipareigojimo ir ištraukimo užklausą daugiau nei 4000 XNUMX testų rinkinyje. Stabilizavus kūrimo aplinką, planuojama priimti pakeitimus iš trečiųjų šalių kūrėjų.

„MsQuic“ jau gali būti naudojamas kuriant serverius ir klientus, tačiau šiuo metu prieinamos ne visos IETF specifikacijoje apibrėžtos funkcijos. Pavyzdžiui, nepalaikomas 0-RTT, kliento perkėlimas, kelio MTU atradimas arba serverio pageidaujamo adreso valdymas. Tarp įdiegtų funkcijų pažymimas optimizavimas, kad būtų pasiektas didžiausias pralaidumas ir minimalūs vėlavimai, asinchroninio įvesties / išvesties palaikymas, RSS (Receive Side Scaling) ir galimybė derinti įvesties ir išvesties UDP srautus. Buvo išbandytas „MsQuic“ diegimo suderinamumas su eksperimentinėmis „Chrome“ ir „Edge“ naršyklių versijomis.

Prisiminkite, kad HTTP/3 standartizuoja QUIC protokolo naudojimą kaip HTTP/2 perdavimą. protokolas QUIC (Quick UDP Internet Connections) buvo sukurta Google nuo 2013 m. kaip alternatyvą TCP + TLS deriniui žiniatinkliui, sprendžiant problemas, susijusias su ilgo TCP ryšio sąrankos ir derybų laiku, ir pašalinant vėlavimus, kai paketai prarandami perduodant duomenis. QUIC yra UDP protokolo plėtinys, kuris palaiko kelių jungčių multipleksavimą ir suteikia šifravimo metodus, lygiaverčius TLS/SSL.

pagrindinis Įranga QUIC:

  • Aukštas saugumas, panašus į TLS (iš esmės QUIC suteikia galimybę naudoti TLS 1.3 per UDP);
  • Srauto vientisumo kontrolė, kad būtų išvengta paketų praradimo;
  • Galimybė akimirksniu užmegzti ryšį (0-RTT, apie 75% atvejų duomenis galima perduoti iš karto po ryšio nustatymo paketo išsiuntimo) ir užtikrinti minimalų uždelsimą nuo užklausos išsiuntimo iki atsakymo gavimo (RTT, Round Trip Time) ;
    „Microsoft“ atvėrė QUIC protokolo, naudojamo HTTP/3, diegimą

  • Persiunčiant paketą nenaudokite to paties eilės numerio, kuris leidžia išvengti dviprasmybių nustatant gautus paketus ir atsikratyti skirtojo laiko;
  • Paketų praradimas turi įtakos tik su juo susieto srauto pristatymui ir nesustabdo duomenų pristatymo srautuose, perduodamuose lygiagrečiai esamu ryšiu;
  • Klaidų taisymo įrankiai, kurie sumažina vėlavimą dėl prarastų paketų pakartotinio perdavimo. Specialių klaidų taisymo kodų naudojimas paketo lygiu, siekiant sumažinti situacijas, kai reikia pakartotinai perduoti prarastus paketinius duomenis.
  • Kriptografinių blokų ribos sulygiuotos su QUIC paketų ribomis, o tai sumažina paketų praradimo įtaką vėlesnių paketų turinio dekodavimui;
  • Jokių problemų blokuojant TCP eilę;
  • Ryšio ID palaikymas, siekiant sumažinti mobiliųjų klientų prisijungimo laiką;
  • Galimybė prijungti pažangius mechanizmus prijungimo perkrovos kontrolei;
  • Pralaidumo numatymo metodų naudojimas kiekviena kryptimi, siekiant užtikrinti optimalų paketų siuntimo intensyvumą, neleidžiant patekti į perkrovos būseną, kai prarandami paketai;
  • Pastebima augimas našumas ir pralaidumas, palyginti su TCP. Įrodyta, kad naudojant QUIC vaizdo įrašų paslaugoms, tokioms kaip „YouTube“, vaizdo įrašų buferio atkūrimo operacijas sumažėja 30%.

Šaltinis: opennet.ru

Добавить комментарий