Microsoft otvoril implementáciu protokolu QUIC používaného v HTTP/3

Microsoft oznámila, o otvorení kódu knižnice msquic s implementáciou sieťového protokolu QUICKód je napísaný v jazyku C a distribuovaný pod licenciou MIT. Knižnica je multiplatformová a možno ju použiť nielen v Windowsale aj v Linux za účasti s kanál alebo OpenSSL pre TLS 1.3. Podpora pre ďalšie platformy sa plánuje v budúcnosti.

Knižnica je založená na kóde ovládača msquic.sys, ktorý je súčasťou jadra. Windows 10 (Insider Preview) na zabezpečenie fungovania HTTP a SMB na QUIC. Tento kód sa tiež používa na implementáciu HTTP/3 v internom zásobníku. Windows a v .NET Core. Vývoj knižnice MsQuic bude prebiehať výlučne na GitHub s využitím verejného preskúmania, pull requestov a GitHub Issues. Bola vytvorená infraštruktúra, ktorá overuje každý commit a pull request oproti súboru viac ako 4 000 testov. Po stabilizácii vývojového prostredia sa plánuje akceptovanie príspevkov od vývojárov tretích strán.

MsQuic sa už dá použiť na vytváranie serverov a klientov, ale nie všetky funkcie definované v špecifikácii IETF sú momentálne k dispozícii. Napríklad neexistuje podpora pre 0-RTT, migráciu klientov, Path MTU Discovery ani výber preferovanej adresy servera. Medzi implementované funkcie patrí optimalizácia pre maximálnu priepustnosť a minimálnu latenciu, podpora asynchrónneho I/O, RSS (Receive Side Scaling) a možnosť zlúčenia vstupných a výstupných streamov UDP. Implementácia MsQuic bola testovaná na kompatibilitu s experimentálnymi vetvami prehliadačov Chrome a Edge.

Pripomeňme, že HTTP/3 štandardizuje používanie protokolu QUIC ako prenosu pre HTTP/2. Protokol QUIC (Quick UDP Internet Connections) vyvinula spoločnosť Google od roku 2013 ako alternatívu ku kombinácii TCP+TLS pre web, čím rieši problémy s dlhými časmi nastavenia a vyjednávania pre pripojenia v TCP a odstraňuje oneskorenia pri strate paketov počas prenosu dát. QUIC je rozšírenie protokolu UDP, ktoré podporuje multiplexovanie viacerých pripojení a poskytuje metódy šifrovania ekvivalentné TLS/SSL.

Hlavné rysy QUIC:

  • Vysoká bezpečnosť podobná TLS (v podstate QUIC poskytuje možnosť používať TLS 1.3 cez UDP);
  • Kontrola integrity toku, zabránenie strate paketov;
  • Schopnosť okamžitého nadviazania spojenia (0-RTT, v približne 75 % prípadov je možné preniesť dáta ihneď po odoslaní paketu nastavenia spojenia) a poskytnúť minimálne oneskorenia medzi odoslaním požiadavky a prijatím odpovede (RTT, Round Trip Time);
    Microsoft otvoril implementáciu protokolu QUIC používaného v HTTP/3
  • nepoužívanie rovnakého poradového čísla pri opätovnom prenose paketu, čo zabraňuje nejednoznačnosti pri identifikácii prijatých paketov a zbavuje sa časových limitov;
  • Strata paketu ovplyvňuje iba doručovanie toku, ktorý je s ním spojený, a nezastavuje doručovanie údajov v paralelných tokoch prenášaných cez aktuálne spojenie;
  • Funkcie opravy chýb, ktoré minimalizujú oneskorenia v dôsledku opätovného prenosu stratených paketov. Použitie špeciálnych kódov na opravu chýb na úrovni paketov na zníženie situácií vyžadujúcich opakovaný prenos stratených paketových dát.
  • Hranice kryptografických blokov sú zarovnané s hranicami paketov QUIC, čo znižuje vplyv strát paketov na dekódovanie obsahu nasledujúcich paketov;
  • Žiadne problémy s blokovaním fronty TCP;
  • Podpora pre identifikátor pripojenia, ktorý znižuje čas potrebný na vytvorenie opätovného pripojenia pre mobilných klientov;
  • Možnosť pripojenia pokročilých mechanizmov kontroly preťaženia pripojenia;
  • Používa techniky predpovedania priepustnosti v každom smere, aby sa zabezpečilo, že pakety budú odosielané optimálnou rýchlosťou, čím sa zabráni ich preťaženiu a strate paketov;
  • Vnímateľné rast výkon a priepustnosť v porovnaní s TCP. V prípade video služieb, ako je YouTube, sa ukázalo, že QUIC znižuje operácie opätovného vyrovnávania pamäte pri sledovaní videí o 30 %.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre stránky s DDoS ochranou, VPS VDS servery 🔥 Kúpte si spoľahlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster