Microsoft allibero el codi font de MsQuic, un protocol de xarxa usat per HTTP3

Logotip de Microsoft

Els desenvolupadors de Microsoft van anunciar l'alliberament de el codi font de la biblioteca MsQuic amb la implementació de el protocol de xarxa QUIC. La biblioteca és multiplataforma i pot usar-se no només en Windows, sinó també en Linux utilitzant Schannel o OpenSSL per TLS 1.3, A més de que es continua treballant per expandir en el futur el suport per a altres plataformes.

La biblioteca es basa en el codi de l'controlador msquic.sys proporcionat en el nucli de Windows 10 (Vista prèvia interna) per garantir el funcionament dels protocols HTTP i SMB sobre QUIC. La inclusió de el codi s'usa per implementar HTTP / 3 a la pila interna de Windows i en .NET Core.

El desenvolupament de la biblioteca MsQuic es realitzarà íntegrament en GitHub utilitzant revisió pública, sol·licituds d'extracció i problemes de GitHub. S'ha preparat una infraestructura que verifica cada sol·licitud de confirmació i extracció en un conjunt de més de 4000 proves. Després d'estabilitzar l'entorn de desenvolupament, es planeja acceptar canvis de desenvolupadors externs.

sobre MsQuic

MsQuic es pot usar per crear servidors i clients, Però actualment no està disponible tota la funcionalitat definida en l'especificació IETF. Per exemple, no hi ha suport per 0-RTT, migració de clients, Path MTU Discovery o control de direcció preferida al servidor.

Entre les característiques implementades, es destaca l'optimització per aconseguir un rendiment màxim i demores mínimes, Suport per a I/ O asíncrona, RSS (Rebre escalament lateral), la capacitat de combinar fluxos d'entrada i sortida UDP. La implementació d'MsQuic ha estat provada per compatibilitat amb les branques experimentals de navegador Chrome i Edge.

També es destaca la capacitat d'establir una connexió a l'instanti (0-RTT, en aproximadament el 75% dels casos, les dades es poden transmetre immediatament després d'enviar el paquet de configuració de la connexió) i garantir retards mínims entre l'enviament d'una sol·licitud i la recepció d'una resposta (RTT , Temps d'anada i tornada).

A més, compta amb eines de correcció d'errors que minimitzen els retards deguts a la retransmissió de paquets perduts.

L'ús de codis especials de correcció d'errades a nivell de paquet per reduir situacions que requereixen la retransmissió de dades de paquets perduts osant la tècnica per predir l'ample de banda en cada direcció per assegurar una intensitat òptima d'enviament de paquets, Evitant que arribi a un estat de congestió en el qual s'observa la pèrdua de paquets.

De les altres característiques clau de QUIC:

  • Alta seguretat, similar a TLS (de fet, QUIC proporciona la capacitat de fer servir TLS 1.3 sobre UDP).
  • Control d'integritat de flux que evita la pèrdua de paquets.
  • No fer servir el mateix nombre de seqüència a l'retransmetre un paquet, el que evita l'ambigüitat en la determinació dels paquets rebuts i elimina els temps d'espera.
  • La pèrdua d'un paquet afecta el lliurament de només el flux associat amb ell i no atura el lliurament de dades en fluxos paral·lels transmesos a través de la connexió actual.
  • Els límits dels blocs criptogràfics estan alineats amb els límits dels paquets QUIC, el que redueix l'efecte de la pèrdua de paquets en la descodificació de el contingut dels següents paquets.
  • No hi ha problemes amb el bloqueig de la cua TCP.
  • Suport per identificador de connexió, que redueix el temps per establir una reconnexió per a clients mòbils.
  • Compta amb la capacitat de connectar mecanismes avançats per controlar la congestió de la connexió.
  • Compta amb un rendiment notable i guanys de rendiment sobre TCP. Per a serveis de vídeo com YouTube, QUIC ha demostrat una reducció de l'30% en les operacions de re-emmagatzematge a la memòria intermèdia a l'mirar vídeos.

Finalment per als que estiguin interessats en conèixer més a l'respecte sobre MsQuic o volen fer una ullada a el codi font d'aquest, han de saber que el codi està escrit en C, és multiplataforma, de propòsit general, està distribuït sota la llicència MIT i el codi alliberat està allotjat en GitHub.

font: https://techcommunity.microsoft.com


Sigues el primer a comentar

Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.