O que é o protocolo QUIC?
O QUIC (Quick UDP Internet Connection, ou ‘’Conexão UDP Rápida com a Internet’’) é um tipo de protocolo de comunicação construído com o objetivo de garantir mais velocidade na transferência de dados sem sacrificar elementos de segurança essenciais para a proteção dos dados que fluem pela rede.
Ele é projetado para tornar o tráfego HTTP (Hypertext Transfer Protocol, ou ‘’protocolo de transferência de hipertexto’’) mais seguro, eficiente e rápido. Na teoria, o QUIC consegue reunir todas as melhores qualidades dos protocolos TCP e UDP: segurança e velocidade.
Como o QUIC foi criado?
O QUIC não apareceu da noite para o dia. Ele é resultado de vários anos de desenvolvimento e de aprimoramentos de protocolos e tecnologias anteriores. Para entender melhor as várias etapas da criação do QUIC, nós criamos uma linha do tempo com as principais evoluções deste protocolo.
- 2012 – O QUIC começa a ser desenvolvido para o navegador web Google Chrome. Nesta etapa, o protocolo QUIC ainda estava em fase experimental.
- 2013 – O QUIC foi implementado na versão 16 do Opera (lançada em 19 de julho de 2013) e na versão 29 do Chromium (disponibilizada em 20 de agosto de 2013).
- 2017 – A Google implementa suporte ao protocolo QUIC em seus servidores, ampliando a utilização dele.
- 2019 – O Firefox Nightly recebe suporte para o protocolo QUIC em novembro de 2019, criando várias possibilidades para desenvolvedores (principalmente web). Além disto, o QUIC fica disponível para aplicativos criados para sistemas Android.
- 2020 – O QUIC também chega à Apple através da adição ao WebKit exibido na convenção da Safari Technology Preview realizada em abril de 2020, adicionado ao Safari 14 para iOS 14 e macOS Big Sur. Em outubro, o Facebook faz uma migração de infraestrutura de servidores para o protocolo QUIC, o que incluiu o Instagram.
- Atualmente – Hoje, o QUIC continua sendo ampliado, mas ainda há um longo caminho pela frente. De acordo com o Usage Statistics of QUIC for Websites (Estatísticas de Uso do QUIC para Websites) publicado em março de 2021, apenas 5.6% dos websites utilizam o protocolo.
Mas a ampliação já é significativa. A Cloudflare, por exemplo, já oferece suporte ao protocolo – e a .NET 5, que conta com suporte (ainda em fase experimental) ao QUIC por meio da biblioteca MsQuic.
Podemos dizer que o QUIC é um protocolo ainda em período de testes e experimentações, mas que já conta com adesão crescente, o que faz com que ele seja um possível protocolo padrão em um futuro talvez próximo.
Como o QUIC funciona?
O QUIC é um protocolo de rede que oferece uma nova camada de transporte aos usuários. Ele é projetado para dar mais segurança ao tráfego HTTP, além de torná-lo mais eficiente e rápido. Ele tem várias similaridades com outros protocolos, como o TCP, TCP/2, HTTP, HTTP/2 e UDP. É importante ressaltar que o QUIC também foi designado como HTTP/3.
Basicamente, o QUIC faz a combinação entre dois handshakes (as mensagens e/ou datagramas trocadas entre um cliente e um servidor), o servidor e o cliente reconhecem a abertura na conexão e, aí, criam um grupo de chaves de criptografia TLS para permitir o fluxo de dados.
Além disto, o QUIC simplifica o processo de TLS handshake, criando uma única etapa de handshake, ao invés de processos que podem exigir até quatro solicitações. Isto gera um fluxo mais rápido e um melhor desempenho no envio e recebimento de pacotes de dados nas conexões.
Vantagens do protocolo QUIC
O QUIC é um protocolo de transporte de baixa latência usado em aplicativos e serviços que precisam de velocidade para garantir um bom desempenho aos usuários (como usuários de serviços de VoIP, pessoas que gostam de games online e streamers, por exemplo).
Nós podemos listar algumas das principais vantagens do QUIC em comparação com outros tipos de protocolo.
Tempos de conexão reduzidos
Para estabelecer a criptografia TLS, o cliente e o servidor precisam executar um TLS handshake e uma troca de chaves criptografadas (elas são usadas como ‘’códigos’’ para permitir a troca de informações entre o cliente e o servidor). Acontece que este processo pode ser bastante demorado em termos de Tecnologia da Informação, já que há 4 solicitações envolvidas.
Quando os dados são transferidos com protocolo TCP, por exemplo, então há ainda mais etapas envolvidas neste processo. Isto pode gerar uma redução na velocidade da conexão, e a grande vantagem do QUIC simplifica e agiliza este processo com apenas um único handshake.
Mais desempenho diante da perda de pacotes de dados
Protocolos como o HTTP/2 e o TCP podem sofrer com o chamado head-of-line blocking, um fenômeno no qual uma linha de pacotes de dados podem ser ‘’bloqueados’’ pelo primeiro pacote, criando um ‘’engarrafamento’’.
Caso um pacote de dados se perca, a parte que deveria receber o pacote precisa esperar até que ele seja recuperado e redirecionado – e, enquanto isto, os outros pacotes ficam em espera até o problema se resolver. Isto pode causar um grande impacto negativo no desempenho das conexões.
O protocolo QUIC resolve isto ao permitir que os pacotes de dados cheguem ao destino deles de forma independente. Assim, eles não precisam esperar por um pacote de dados que tenha se perdido e conseguem chegar ao destinatário sem nenhum problema.
Conexões estáveis quando as redes são alteradas
Quando o usuário se conecta a um servidor web através de um protocolo TCP e houver uma mudança repentina de rede (de uma rede Wi-Fi para uma rede 4G, por exemplo), cada conexão precisa ser reestabelecida.
O protocolo QUIC permite uma transição mais fluída e dinâmica ao dar um identificador único para cada conexão. Assim, elas podem ser reestabelecidas com o simples envio de um pacote, ao invés de todo um processo de estabelecimento de uma nova conexão, mesmo que haja uma alteração no endereço IP.
Mais facilidade de aprimoramento e desenvolvimento
O TCP foi implementado nos kernels dos sistemas operacionais, ou seja, nos núcleos, na base deles. Então, é praticamente impossível fazer alterações nestes protocolos.
O QUIC, por outro lado, pode passar por alterações a nível de aplicação, fazendo com que ele seja um protocolo muito mais flexível e dinâmico, atendendo as diferentes necessidades de diferentes aplicações.
Diferenças entre os protocolos
Todos os protocolos têm praticamente o mesmo objetivo: aprimorar o envio e o recebimento de dados na internet. Mas cada um possui suas próprias características e é usado para tarefas distintas.
O TCP e o UDP, por exemplo, são usados para permitir conexões – enquanto o protocolo IP serve para identificar conexões. Só que o TCP é mais rápido que o UDP, enquanto o UDP garante mais proteção contra perda de pacotes.
Já o IPv4 e o IPv6 são, basicamente, servem para endereçar dispositivos em conexões. A diferença é que o IPv4 oferece um limite muito menor para combinações – apenas 4 bilhões que, mesmo sendo um número alto, não atende mais as demandas atuais. Então, o IPv6 serve como um aprimoramento dos endereçamentos e uma maior gama para combinações.
IPSec/IKEv2, WireGuard, SSTP, OpenVPN, L2TP/IPSec e PPTP são exemplos de protocolos VPN. Só que há diferenças de nível de criptografia, velocidade e estabilidade entre eles.
O QUIC não executa nenhuma tarefa nova, necessariamente. Há outros protocolos que já fazem praticamente o que ele é criado para fazer. Os maiores diferenciais do QUIC são a maior velocidade que ele consegue entregar sem, no entanto, sacrificar a segurança do fluxo de dados. Então, no geral, ele consegue ser um protocolo mais ‘’completo’’ em termos de funcionalidade e desempenho.
Onde o QUIC é usado atualmente?
Desde o desenvolvimento e os testes com o QUIC, o protocolo passa por uma ampliação de utilização. Navegadores, aplicativos, programas, sistemas operacionais e outros recursos já utilizam o protocolo, seja em fase experimental ou total.
Aqui, você pode conferir alguns exemplos de serviços que já utilizam o QUIC:
- Navegadores web: Google Chrome, Chromium e Firefox são alguns exemplos de navegadores web que utilizam o protocolo QUIC.
- Redes sociais e aplicativos: YouTube, Blogger, Google Hangouts, Uber, Facebook e Instagram são alguns exemplos de aplicativos e redes sociais que já utilizam este protocolo.
- Serviços de e-mail: o Gmail é um dos serviços de e-mail que também utilizam o QUIC.
- Servidores: Akamai Technologies, Caddy, LiteSpeed Technologies, Cloudflare, Microsoft Windows Server e Citrix são alguns exemplos de recursos de servidores que utilizam o protocolo QUIC.
- Frameworks: o .NET 5 é uma das frameworks mais significativas que utilizam o QUIC.
- Pacotes, implementações e bibliotecas (libraries): MsQuic, Mvfst, Quiche, Quinn, Neqo, Swift-quic e QUANT são alguns exemplos de implementações, pacotes e bibliotecas (libraries) que usam o QUIC.
Uma das principais vantagens para estes apps e serviços é que, com o uso do QUIC, eles perdem menos pacotes. Isto significa menos latência, mais velocidade e melhor desempenho, o que beneficia a experiência de usuário.
O protocolo QUIC é seguro?
O principal foco do QUIC é a velocidade, mas ele também tem como objetivo oferecer mais segurança do que os outros protocolos.
Para conseguir maior taxa de velocidade para envio e recebimento de dados, o QUIC usa o protocolo de transporte UDP (User Datagram Protocol, ou ‘’protocolo de datagrama do usuário’’) – ele oferece mais rapidez que o TCP (Transmission Control Protocol, ou ‘’protocolo de transmissão de controle’’).
Um dos recursos que o QUIC usa para conseguir oferecer mais proteção aos usuários é a criptografia automática dos dados. Ele faz a integração da criptografia TLS, o que garante mais integridade ao fluxo de dados – e dá ainda mais velocidade ao QUIC.
Então, de forma resumida, o QUIC é sim seguro, principalmente por conseguir fazer uma integração com recursos de outros protocolos, além da criptografia TLS.
Como desabilitar o QUIC
Desabilitar o protocolo QUIC é um processo que pode ser feito através de configurações do firewall, o que exige um nível de conhecimento técnico maior. O meio mais fácil é desabilitar o QUIC no navegador.
Desabilitando o QUIC no Google Chrome
- 1.
Primeiro, abra o navegador Chrome.
- 2.
Na barra de endereços web, digite o seguinte endereço: chrome://flags/ e pressione a tecla Enter.
- 3.
Na tela seguinte, procure por Protocolo QUIC experimental (ou Experimental QUIC protocol).
- 4.
No menu ao lado, escolha a opção Desabilitado (ou Disabled).
- 5.
Em seguida, clique no botão Reiniciar agora (ou Relaunch) que vai aparecer.
Pronto! Agora, você pode usar o Chrome sem o protocolo QUIC. Se quiser reativá-lo, é só seguir os passos acima e escolher a opção Enabled (Habilitado) ou Default (Padrão).
Sua segurança online começa com um clique.
Fique em segurança com a VPN líder a nível mundial