Para substituir o TCP: QUIC está pronto para implementação [mas não está pronto para se tornar RFC]

Representantes do Internet Engineering Council (IETF) anunciaram que o protocolo QUIC para transmissão de dados no nível de transporte está pronto para testes em larga escala. Mas devido a várias deficiências, ele ainda não pode ser representado como uma RFC. Os detalhes estão em nosso material hoje.


/ Pixabay / www_slon_pics / PD

Por que o QUIC apareceu


O Google começou a trabalhar no QUIC em 2013. Foi testado nos navegadores Chrome e Chromium. Mais tarde, a tecnologia começou a dar suporte aos sites da empresa, incluindo o YouTube. Após alguns anos, a gigante de TI anunciou que o teste do protocolo foi bem-sucedido e será apresentado à IETF.

O Conselho da Internet começou a trabalhar no QUIC em março de 2016. Como observaram os representantes da IETF, no futuro o QUIC terá que substituir o TCP, já que este esgotou suas capacidades em redes modernas (principalmente móveis).

No protocolo TCP, a conexão é determinada pelos endereços IP e portas do servidor e cliente. Se, por algum motivo, um desses parâmetros for alterado, você deverá recriar a conexão. Daí as dificuldades com a estabilidade da comunicação nas redes móveis. O usuário se move entre diferentes torres de celular e muda constantemente o endereço IP.
O objetivo do QUIC é tornar o processo de alternância entre redes sem fio (incluindo Wi-Fi) mais suave. Além disso, os testes realizados pelo Google mostram uma redução de 30% no número de rebufers ao assistir a vídeos no YouTube.

Características do protocolo


O trabalho do QUIC é baseado no protocolo UDP, que permite trocar dados sem verificar se o destinatário está pronto para recebê-lo. Ao contrário do TCP, que usa o princípio do “triple handshake”, no QUIC, o handshake ocorre em uma etapa com um servidor que já é familiar e em duas etapas com um servidor com o qual o cliente não trabalhava anteriormente. O segundo estágio é necessário para abrir um canal de comunicação seguro e trocar chaves criptográficas. Como resultado, o QUIC possui um atraso de conexão e transmissão menor que o TCP. Ao transmitir dados a uma longa distância (por exemplo, de um continente para outro) usando um dispositivo móvel, a diferença na velocidade de estabelecer uma conexão entre TCP com TLS e o pacote QUIC pode chegar a 300 ms.

O QUIC não possui mais um conjunto de parâmetros associados aos endereços IP e portas do servidor e cliente. Em vez disso, o protocolo trabalha com o identificador de conexão UUID. Isso permite alternar entre o Wi-Fi e a rede móvel, sempre sem recriar a conexão (o UUID é salvo). O mecanismo é semelhante ao utilitário Mosh , que salva sessões ao alternar entre redes sem fio. Informações sobre isso podem ser encontradas no repositório oficial do projeto .

O QUIC também inclui um método de controle de integridade de dados - correção direta de erros ou FEC (Forward Error Correction). Cada pacote que é transmitido através do QUIC possui informações de vizinhos. Portanto, se ele for perdido, o conteúdo do pacote poderá ser restaurado.

Crítica da tecnologia


Até agora, a tecnologia tem certas desvantagens. Por exemplo, vulnerabilidade a ataques DDoS. De acordo com especialistas em segurança da informação, os kits populares para organizar ataques DDoS contam com suporte UDP integrado, o que representa uma grande ameaça. Por esse motivo, ao implementar o QUIC, é importante garantir que o mecanismo de handshake funcione corretamente - ele deve ser otimizado e implementado o mais próximo possível do hardware. Caso contrário, os ataques que o kernel poderia manipular antes teriam que ser tratados por soluções de terceiros (por exemplo, nginx).


/ Wikimedia / Sagor Kumar sr / CC

A segunda desvantagem é a incompatibilidade de protocolo com redes que usam tecnologias NAT, Anycast ou ECMP. Eles trabalham com conexões TCP e não poderão reconhecer e regular o tráfego QUIC. Essa incompatibilidade limita o escopo de uso.

Além disso, os resultados dos testes QUIC mostraram que o protocolo não funciona tão bem em dispositivos móveis quanto prometem os criadores da tecnologia. De acordo com experimentos , com o aumento da largura de banda da rede e a quantidade de dados transferidos, o tempo de carregamento da página para TCP e QUIC é nivelado. Isso ocorre porque o QUIC funciona no espaço do usuário , não no espaço do kernel.

Outra desvantagem do QUIC é a difícil solução de problemas. O protocolo criptografa não apenas os dados, mas também o cabeçalho do pacote no qual é transmitido. Isso dificulta aos administradores de sistema avaliar o desempenho da rede e solucionar problemas rapidamente.

Perspectivas

Devido às vulnerabilidades existentes, proteger um sistema projetado sobre o QUIC pode ser difícil. Para eliminar as falhas do protocolo, os desenvolvedores precisam de dados sobre seu trabalho em condições reais. Para isso, o IETF envolve empresas de TI em testes.
O protocolo já é suportado por grandes organizações. Com o QUIC, os serviços da CDN começaram a funcionar - Cloudflare e Verizon Digital Media Services (VDMS). No Cloudflare, o recurso de conectividade QUIC está na versão beta. A equipe do VDMS trabalha na implementação do protocolo desde 2016 e agora o QUIC pode ser usado por todos os clientes do serviço. Versões do protocolo QUIC também são testadas pela Apple, Pandora, Facebook. Uma lista completa de empresas está disponível no GitHub .

Embora o QUIC continue sendo uma tecnologia experimental, o número de sites que suportam esse protocolo está crescendo - isso é mostrado pelos dados da organização de pesquisa W3Techs. Os especialistas estimam que, com a adoção do padrão, o protocolo será usado com mais frequência - embora ainda não esteja claro exatamente quando a IETF apresentará a versão final do QUIC.

PS O que mais estamos escrevendo no blog corporativo da VAS Experts:

Source: https://habr.com/ru/post/pt429380/


All Articles