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. Библиотека кроссплатформенная и может использоваться не только в Windows, aga ka Linux с задействованием s kanal või OpenSSL TLS 1.3 jaoks. Tulevikus on plaanis toetada ka teisi platvorme.

Библиотека основана на коде драйвера msquic.sys, предоставляемого в ядре Windows 10 (Insider Preview) для обеспечения работы протоколов HTTP и SMB поверх QUIC. В том числе код используется для реализации HTTP/3 во внутреннем стеке Windows и в .NET Core. Разработка библиотеки MsQuic целиком будет вестись на GitHub с использованием публичного рецензирования, pull-запросов и GitHub Issues. Подготовлена инфраструктура, проверяющая каждый коммит и pull-запрос в наборе из более 4000 тестов. После стабилизации окружения для разработки планируется принимать изменения от сторонних разработчиков.

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

Ostke DDoS-kaitsega saitide jaoks usaldusväärne hostimine, VPS VDS-serverid 🔥 Osta usaldusväärne veebimajutus DDoS-kaitsega, VPS VDS serverid | ProHoster