Criado em 2012 pelo Google, o protocolo QUIC (Quick UDP Internet Connection) é um padrão aberto projetado para garantir muito mais velocidade ao tráfego HTTP. Implementado em navegadores como Safari, Firefox e Opera, ele segue em fase de ampliação desde que teve sua adoção verificada pelo órgão regulamentador IETF (Internet Engineering Task Force).
Usado em 8% dos sites de todo o mundo, de acordo com a última pesquisa realizada pelo W3Techs em abril, o QUIC promete unir o que há de melhor nos padrões TCP (Transmission Control Protocol) e UDP (User Data Protocol) e se tornar uma opção melhor do que ambos.
Mas será que isso é possível? Neste artigo, descobriremos juntos como funciona o protocolo QUIC e quais as principais diferenças entre ele, o TCP e o UDP.
Afinal, como funciona o protocolo QUIC?
Esse protocolo de camada de transporte de rede garante que ocorra a movimentação de muitos fluxos de dados simultaneamente e de forma independente a partir da combinação entre dois handshakes e da abertura de conexões multiplexadas entre usuário e servidor.
Utilizando como base o UDP para aumentar a velocidade de envio e recebimento dos dados, ele é indicado principalmente nos casos em que o objetivo é melhorar o desempenho de aplicações web. E faz integração com recursos de outros protocolos, como a criptografia TLS, para manter usuários e suas informações protegidos.
Vantagens e Desvantagens do Protocolo QUIC
Quando comparado aos protocolos mais antigos, o QUIC se destaca pela baixa latência, alto desempenho e estabilidade constante que oferece. Na teoria, ao dividir os pacotes de dados em fluxos e tratá-los de forma independente, ele impede que a perda de um desses pacotes provoque head-of-line-blocking, um problema que costuma gerar engarrafamento e lentidão nas conexões.
Quando falamos em estabilidade, ele parece ter sido desenvolvido para atender às demandas atuais de mobilidade dos usuários, já que exige apenas o reenvio de um pacote de dados para restabelecer a conexão após uma mudança repentina de rede.
Por ser implementado ao nível de usuário e não no núcleo de um sistema operacional, o QUIC é muito mais flexível para passar por correções e otimizações de acordo com a necessidade de cada aplicativo.
No entanto, vale ressaltar que ele também traz desafios quanto a compatibilidade, complexidade e consumo de largura de banda. Com menos informações de texto simples no cabeçalho dos pacotes de dados, ele exige muito mais empenho dos operadores de rede e fabricantes de firewall para regular e gerenciar o tráfego.
E suas taxas de transmissão podem ser mais pobres por causa do controle automático de congestionamento em conexões de dados de alta largura de banda.
No que diz respeito a proteção contra ameaças, como alguns firewalls ainda não são capazes de descriptografar os fluxos para inspecionar seus pacotes, o risco de que o tráfego potencialmente malicioso entre na rede sem ser notado se torna um pouco maior.
Principais Diferenças entre Protocolo QUIC, TCP e UDP
Assim como o QUIC, o TCP e o UDP também são protocolos usados para determinar o envio e recebimento de dados na internet ou na rede local. E para fazer uma escolha, é fundamental analisar as diferenças que existem entre ambos.
TCP x QUIC
Enquanto o TCP opera na camada de transporte da pilha de rede e exige um processo de handshake de três vias para estabelecer uma conexão entre um cliente e um servidor, o QUIC usa apenas dois handshakes zero-RTT e IDs de conexão que são independentes de endereços IP e portas.
Quando falamos em controle de congestionamento, o QUIC conta com um mecanismo de controle próprio que é mais resistente à interferência de caixas intermediárias e evita paralizações e lentidão, ao contrário do TCP que diminui as taxas de transmissão quando a perda de pacotes é detectada.
Em termos de segurança, vale lembrar que ambos oferecem recursos robustos de proteção: o TCP usa de protocolos adicionais como o Transport Layer Security e o QUIC aposta em criptografia TLS e autenticação como componentes inerentes, fornecendo comunicação segura por padrão.
UDP x QUIC
Apesar de usar o UDP como base, o protocolo QUIC também apresenta algumas diferenças em relação a ele. Como falamos anteriormente, o QUIC tem parâmetros bem definidos para garantir a retransmissão de dados em apenas um fluxo e impedir o bloqueio ou desaceleração de outras pistas.
O UPD, por sua vez, deixa a desejar porque não garante a integridade dos dados, não tem um sistema que identifique e corrija erros e é indiferente aos pacotes perdidos. Com ele, não há garantia de entrega dos pacotes na ordem correta.
De forma geral, podemos considerar:
Garante | QUIC | TCP | UDP |
Fluxo da rede | SIM | NÃO | NEM SEMPRE |
Velocidade | SIM | NÃO | SIM |
Segurança | SIM | SIM | NEM SEMPRE |
Controle e gerenciamento de pacotes | SIM | SIM | NÃO |
Conexão Confiável | SIM | SIM | NÃO |
Cada vez mais necessário para dar aos usuários rapidez e segurança na hora de navegar, o protocolo QUIC deve ser adotado como padrão em breve, sendo implementado em todos os navegadores, servidores web e aplicativos.
Agora que você entendeu sua importância e suas principais diferenças em relação ao TCP e UDP, que tal saber mais sobre transporte de dados?
No blog da Eletronet, compartilhamos semanalmente dicas de especialistas, tiramos dúvidas e exploramos os principais conceitos do universo de provedores de internet.
Acesse o site e confira!