Microsoft a lansat implementarea sa a protocolului QUIC, utilizat în HTTP/3.

Compania Microsoft a anunțat despre deschiderea codului bibliotecii MsQuic cu implementarea protocolului de rețea QUIC. Codul este scris în limbajul C și se răspândește sub licența MIT. Biblioteca este multiplatformă și poate fi utilizată nu doar pe Windows, ci și pe Linux cu ajutorul Schannel sau OpenSSL pentru TLS 1.3. În continuare, se preconizează suport pentru alte platforme.

Biblioteca se bazează pe codul driver-ului msquic.sys, furnizat în nucleul Windows 10 (Insider Preview) pentru a asigura funcționarea protocoalelor HTTP și SMB peste QUIC. De asemenea, codul este folosit pentru implementarea HTTP/3 în stiva internă Windows și în .NET Core. Dezvoltarea bibliotecii MsQuic va fi desfășurată complet pe GitHub, folosind revizuire publică, pull requests și GitHub Issues. A fost pregătită o infrastructură care verifică fiecare commit și pull request într-un set de peste 4000 de teste. După stabilizarea mediului de dezvoltare, se preconizează acceptarea modificărilor din partea dezvoltatorilor terți.

MsQuic poate fi deja utilizat pentru crearea serverelor și clienților, dar nu toată funcționalitatea definită în specificația IETF este în prezent disponibilă. De exemplu, în prezent nu există suport pentru 0-RTT, migrarea clienților, Descoperirea Path MTU și gestionarea preferințelor de adresă pentru server (Server Preferred Address). Din caracteristicile implementate se remarcă optimizarea pentru a atinge lățimi de bandă maxime și întârzieri minime, suport pentru intrare/ieșire asincron, RSS (Receive Side Scaling), capacitatea de a combina fluxurile UDP de intrare și ieșire. Implementarea MsQuic a fost verificată pentru compatibilitatea cu ramurile experimentale ale browserelor Chrome și Edge.

Reamintim că HTTP/3 standardizează utilizarea protocolului QUIC ca transport pentru HTTP/2. Protocolul QUIC (Quick UDP Internet Connections) evoluează din 2013 de către compania Google ca o alternativă la combinația TCP+TLS pentru Web, rezolvând problemele cu timpi mari de stabilire și negociere a conexiunilor în TCP și eliminând întârzierile cauzate de pierderea pachetelor în timpul transferului de date. QUIC este o suprastructură peste protocolul UDP, care suportă multiplexarea mai multor conexiuni și oferă metode de criptare echivalente cu TLS/SSL.

Principalele grafica realizată prin WebGL și QUIC:

  • Siguranță ridicată, similară TLS (în esență QUIC oferă posibilitatea utilizării TLS 1.3 peste UDP);
  • Controlul integrității fluxului, prevenind pierderea pachetelor;
  • Posibilitatea de a stabili instantaneu o conexiune (0-RTT, în aproximativ 75% din cazuri, datele pot fi transmise imediat după trimiterea pachetului de stabilire a conexiunii) și de a asigura întârzieri minime între trimiterea cererii și primirea răspunsului (RTT, Round Trip Time);
    Microsoft a lansat implementarea sa a protocolului QUIC, utilizat în HTTP/3.
  • Neutilizarea la retransmiterea pachetului cu același număr de secvență, ceea ce permite evitarea ambiguităților în determinarea pachetelor primite și eliminarea timeout-urilor;
  • Pierderea unui pachet afectează livrarea doar a fluxului asociat și nu oprește livrarea datelor în fluxurile transmise în paralel prin conexiunea curentă;
  • Mijloace de corectare a erorilor, care minimizează întârzierile cauzate de retransmisia pachetelor pierdute. Utilizarea unor coduri speciale de corectare a erorilor la nivel de pachet pentru a reduce situațiile care necesită retransmiterea datelor din pachetul pierdut.
  • Limitele blocurilor criptografice sunt aliniate cu limitele pachetelor QUIC, ceea ce reduce impactul pierderilor de pachete asupra decodificării conținutului pachetelor următoare;
  • Lipsa problemelor cu blocarea cozii TCP;
  • Suport pentru identificatorul de conexiune, care permite reducerea timpului de reinstaurare a conexiunii pentru clienți mobile;
  • Posibilitatea de a activa mecanisme extinse de control al supraîncărcării conexiunii;
  • Utilizarea tehnicii de previzionare a capacității de transmisie în fiecare direcție pentru a asigura o intensitate optimă a trimiterii pachetelor, prevenind astfel ajungerea într-o stare de supraîncărcare, în care se observă pierderi de pachete;
  • Un salt semnificativ în performanță și lățime de bandă, comparativ cu TCP. Pentru serviciile video, cum ar fi YouTube, utilizarea QUIC a arătat o reducere a operațiunilor de rebuffering în timpul vizionării video cu 30%.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster