Microsoft a deschis implementarea protocolului QUIC utilizat în HTTP/3

Microsoft a anunțat despre deschiderea codului bibliotecii msquic cu implementarea protocolului de rețea QUIC. Codul este scris în C și distribuit de sub licență MIT. Biblioteca este multiplatformă și poate fi folosită nu numai pe Windows, ci și pe Linux folosind canalul lui sau OpenSSL pentru TLS 1.3. În viitor, este planificat să susțină alte platforme.

Biblioteca se bazează pe codul driverului msquic.sys furnizat în nucleul Windows 10 (Previzualizare Insider) pentru a activa HTTP și SMB deasupra lui QUIC. Codul este, de asemenea, folosit pentru a implementa HTTP/3 în stiva internă Windows și în .NET Core. Dezvoltarea bibliotecii MsQuic se va desfășura în întregime pe GitHub utilizând evaluarea publică inter pares, solicitările de extragere și problemele GitHub. A fost pregătită o infrastructură care verifică fiecare cerere de commit și pull într-un set de peste 4000 de teste. După stabilizarea mediului de dezvoltare, se plănuiește acceptarea modificărilor de la dezvoltatori terți.

MsQuic poate fi deja folosit pentru a crea servere și clienți, dar nu toate funcționalitățile definite în specificația IETF sunt disponibile în prezent. De exemplu, nu există suport pentru 0-RTT, migrarea clientului, Path MTU Discovery sau controlul adresei preferate de server. Printre caracteristicile implementate, optimizarea este remarcată pentru a obține un debit maxim și întârzieri minime, suport pentru intrare/ieșire asincronă, RSS (Receive Side Scaling) și capacitatea de a combina fluxuri UDP de intrare și ieșire. Implementarea MsQuic a fost testată pentru compatibilitate cu versiunile experimentale ale browserelor Chrome și Edge.

Amintiți-vă că HTTP/3 standardizează utilizarea protocolului QUIC ca transport pentru HTTP/2. Protocol QUIC (Quick UDP Internet Connections) a fost dezvoltat de Google din 2013 ca o alternativă la combinația TCP+TLS pentru Web, rezolvând problemele cu timpi lungi de configurare și negociere pentru conexiunile în TCP și eliminând întârzierile atunci când pachetele sunt pierdute în timpul transferului de date. QUIC este o extensie a protocolului UDP care acceptă multiplexarea conexiunilor multiple și oferă metode de criptare echivalente cu TLS/SSL.

Principalul caracteristici RAPID:

  • Securitate ridicată similară cu TLS (în esență QUIC oferă posibilitatea de a utiliza TLS 1.3 peste UDP);
  • Controlul integrității fluxului, prevenind pierderea pachetelor;
  • Capacitatea de a stabili instantaneu o conexiune (0-RTT, în aproximativ 75% din cazuri datele pot fi transmise imediat după trimiterea pachetului de configurare a conexiunii) și de a oferi întârzieri minime între trimiterea unei cereri și primirea unui răspuns (RTT, Round Trip Time);
    Microsoft a deschis implementarea protocolului QUIC utilizat în HTTP/3

  • Neutilizarea aceluiași număr de secvență la retransmiterea unui pachet, ceea ce evită ambiguitatea în identificarea pachetelor primite și scapă de timeout-uri;
  • Pierderea unui pachet afectează doar livrarea fluxului asociat cu acesta și nu oprește livrarea datelor în fluxuri paralele transmise prin conexiunea curentă;
  • Funcții de corectare a erorilor care minimizează întârzierile datorate retransmiterii pachetelor pierdute. Utilizarea codurilor speciale de corectare a erorilor la nivel de pachet pentru a reduce situațiile care necesită retransmiterea pachetelor de date pierdute.
  • Granițele blocurilor criptografice sunt aliniate cu granițele pachetelor QUIC, ceea ce reduce impactul pierderilor de pachete asupra decodării conținutului pachetelor ulterioare;
  • Fără probleme cu blocarea cozii TCP;
  • Suport pentru identificatorul de conexiune, care reduce timpul necesar pentru stabilirea unei reconectari pentru clienții mobili;
  • Posibilitatea de conectare a mecanismelor avansate de control al congestionării conexiunii;
  • Utilizează tehnici de prognoză a debitului pe direcție pentru a se asigura că pachetele sunt trimise la rate optime, prevenind congestionarea acestora și pierderea pachetelor;
  • Perceptibil creştere performanță și debit în comparație cu TCP. Pentru serviciile video precum YouTube, s-a demonstrat că QUIC reduce operațiunile de rebuffering la vizionarea videoclipurilor cu 30%.

Sursa: opennet.ru

Adauga un comentariu