Microsoft abriu a súa implementación do protocolo QUIC usado en HTTP/3

Microsoft anunciou sobre a apertura do código da biblioteca msquic coa implantación do protocolo de rede QUIC. O código está escrito en C e distribuído por baixo licenza MIT. A biblioteca é multiplataforma e pódese usar non só en Windows, senón tamén en Linux canle s ou OpenSSL para TLS 1.3. No futuro, está previsto apoiar outras plataformas.

A biblioteca baséase no código de controlador msquic.sys proporcionado no núcleo de Windows 10 (Insider Preview) para activar o HTTP e SMB encima de QUIC. O código tamén se usa para implementar HTTP/3 na pila interna de Windows e en .NET Core. O desenvolvemento da biblioteca MsQuic realizarase integramente en GitHub mediante a revisión pública por pares, solicitudes de extracción e problemas de GitHub. Preparouse unha infraestrutura que verifica cada solicitude de commit e pull nun conxunto de máis de 4000 probas. Despois de estabilizar o ambiente de desenvolvemento, está previsto aceptar cambios de desenvolvedores de terceiros.

MsQuic xa se pode usar para crear servidores e clientes, pero non está dispoñible actualmente toda a funcionalidade definida na especificación IETF. Por exemplo, non hai soporte para 0-RTT, migración de clientes, Path MTU Discovery ou control do enderezo preferido do servidor. Entre as funcións implementadas, destaca a optimización para acadar o máximo rendemento e os mínimos atrasos, soporte para entrada/saída asíncrona, RSS (Receive Side Scaling) e a capacidade de combinar fluxos UDP de entrada e saída. Probouse a compatibilidade da implementación de MsQuic coas versións experimentais dos navegadores Chrome e Edge.

Lembre que HTTP/3 estandariza o uso do protocolo QUIC como transporte para HTTP/2. Protocolo QUIC (Quick UDP Internet Connections) foi desenvolvida por Google desde 2013 como unha alternativa á combinación TCP+TLS para a Web, resolvendo problemas con longos tempos de configuración e negociación para conexións en TCP e eliminando os atrasos cando se perden paquetes durante a transferencia de datos. QUIC é unha extensión do protocolo UDP que admite a multiplexación de varias conexións e proporciona métodos de cifrado equivalentes a TLS/SSL.

O principal Características RÁPIDO:

  • Alta seguridade semellante a TLS (esencialmente QUIC ofrece a posibilidade de usar TLS 1.3 sobre UDP);
  • Control de integridade do fluxo, evitando a perda de paquetes;
  • A capacidade de establecer unha conexión instantáneamente (0-RTT, en aproximadamente o 75% dos casos os datos pódense transmitir inmediatamente despois de enviar o paquete de configuración da conexión) e proporcionar atrasos mínimos entre o envío dunha solicitude e a recepción dunha resposta (RTT, Tempo de ida e volta);
    Microsoft abriu a súa implementación do protocolo QUIC usado en HTTP/3

  • Non utilizar o mesmo número de secuencia ao retransmitir un paquete, o que evita a ambigüidade na identificación dos paquetes recibidos e elimina os tempos de espera;
  • A perda dun paquete afecta só á entrega do fluxo asociado a el e non detén a entrega de datos en fluxos paralelos transmitidos a través da conexión actual;
  • Funcións de corrección de erros que minimizan os atrasos debidos á retransmisión de paquetes perdidos. Uso de códigos especiais de corrección de erros a nivel de paquetes para reducir as situacións que requiren a retransmisión de paquetes de datos perdidos.
  • Os límites dos bloques criptográficos están aliñados cos límites dos paquetes QUIC, o que reduce o impacto das perdas de paquetes na decodificación do contido dos paquetes posteriores;
  • Non hai problemas co bloqueo da fila TCP;
  • Soporte para o identificador de conexión, que reduce o tempo necesario para establecer unha reconexión para os clientes móbiles;
  • Posibilidade de conectar mecanismos avanzados de control de conxestión da conexión;
  • Utiliza técnicas de previsión de rendemento por dirección para garantir que os paquetes se envían a velocidades óptimas, evitando que se conxestionen e causen a perda de paquetes;
  • Perceptible crecemento rendemento e rendemento en comparación co TCP. Para servizos de vídeo como YouTube, demostrouse que QUIC reduce nun 30 % as operacións de rebuffer ao ver vídeos.

Fonte: opennet.ru

Engadir un comentario