A Microsoft lançou sua implementação do protocolo QUIC, utilizado no HTTP/3

Empresa Microsoft anunciou sobre a abertura do código da biblioteca MsQuic com a implementação do protocolo de rede QUIC. O código foi escrito em C e é distribuído sob a licença MIT. A biblioteca é multiplataforma e pode ser utilizada não só no Windows, mas também no Linux com a utilização de Schannel ou OpenSSL para TLS 1.3. Futuramente, o suporte a outras plataformas está planejado.

A biblioteca é baseada no código do driver msquic.sys, fornecido no núcleo do Windows 10 (Insider Preview) para garantir o funcionamento dos protocolos HTTP e SMB sobre o QUIC. Inclusive, o código é utilizado para implementar HTTP/3 na pilha interna do Windows e no .NET Core. O desenvolvimento da biblioteca MsQuic será totalmente realizado no GitHub, utilizando revisão pública, pull requests e GitHub Issues. Uma infraestrutura foi preparada para verificar cada commit e pull request em um conjunto de mais de 4000 testes. Após a estabilização do ambiente de desenvolvimento, mudanças de desenvolvedores externos estão planejadas.

MsQuic já pode ser utilizado para a criação de servidores e clientes, mas nem toda a funcionalidade definida na especificação IETF está disponível atualmente. Por exemplo, ainda não há suporte a 0-RTT, migração de clientes, descoberta de Path MTU e gerenciamento da seleção de endereços para o servidor (Server Preferred Address). Entre os recursos implementados, destaca-se a otimização para alcançar a máxima largura de banda e mínima latência, suporte a entrada/saída assíncrona, RSS (Receive Side Scaling) e a capacidade de combinar fluxos UDP de entrada e saída. A implementação do MsQuic foi testada quanto à compatibilidade com versões experimentais dos navegadores Chrome e Edge.

Vale lembrar que o HTTP/3 padroniza o uso do protocolo QUIC como transporte para o HTTP/2. O protocolo QUIC (Quick UDP Internet Connections) vem sendo desenvolvido pela Google desde 2013 como uma alternativa à combinação TCP+TLS para a Web, abordando problemas de latência elevada na configuração e negociação de conexões TCP e eliminando atrasos em caso de perda de pacotes durante a transmissão de dados. O QUIC é uma camada sobre o protocolo UDP, suportando multiplexação de várias conexões e fornecendo métodos de criptografia equivalentes ao TLS/SSL.

Principais Características QUIC:

  • Alta segurança, equivalente ao TLS (na verdade, o QUIC fornece a capacidade de usar TLS 1.3 sobre UDP);
  • Controle da integridade do fluxo, prevenindo a perda de pacotes;
  • Capacidade de estabelecer uma conexão instantaneamente (0-RTT, em cerca de 75% dos casos, os dados podem ser transmitidos imediatamente após o envio do pacote de configuração da conexão) e garantir latências mínimas entre o envio da solicitação e o recebimento da resposta (RTT, Round Trip Time);
    A Microsoft lançou sua implementação do protocolo QUIC, utilizado no HTTP/3
  • Não reutilizar o mesmo número de sequência ao retransmitir um pacote, o que ajuda a evitar ambiguidades na identificação dos pacotes recebidos e elimina timeouts;
  • A perda de um pacote afeta apenas a entrega do fluxo relacionado e não interrompe a entrega de dados em fluxos paralelos transmitidos através da conexão atual;
  • Mecanismos de correção de erros que minimizam atrasos devido à retransmissão de pacotes perdidos. Uso de códigos especiais de correção de erros em nível de pacote para reduzir situações que exigem a retransmissão de dados de pacotes perdidos.
  • Os limites dos blocos criptográficos estão alinhados com os limites dos pacotes QUIC, o que diminui o impacto da perda de pacotes na decodificação do conteúdo dos pacotes subsequentes.
  • Ausência de problemas de bloqueio de fila TCP.
  • Suporte a identificadores de conexão, permitindo reduzir o tempo de estabelecimento de novas conexões para clientes móveis.
  • Capacidade de conectar mecanismos avançados de controle de congestionamento.
  • Uso de técnicas de previsão de largura de banda em cada direção para garantir a intensidade ideal de envio de pacotes, evitando um estado de sobrecarga em que ocorre a perda de pacotes.
  • Notável aumento de desempenho e capacidade em comparação ao TCP. Para serviços de vídeo, como o YouTube, a aplicação do QUIC demonstrou uma redução de 30% nas operações de buffering durante a reprodução de vídeos.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster