O que é um protocolo
A comunicação na Internet não é apenas o envio de dados. Ela funciona porque o lado que envia e o lado que recebe trocam dados seguindo as mesmas regras.
Essas regras de comunicação são chamadas de protocolos.
Quando você vê um site, envia email ou um aplicativo se comunica com um servidor, vários protocolos são usados nos bastidores. HTTP, DNS, TCP, UDP e TLS são protocolos com papéis diferentes.
Para iniciantes, eles podem parecer termos técnicos separados. Mas, na prática, todos são "regras para fazer a comunicação funcionar".
Este artigo não aprofunda os detalhes de cada protocolo. Em vez disso, organiza qual papel cada um tem dentro da comunicação.
Protocolos são regras de comunicação
Um protocolo é um conjunto de regras para se comunicar.
Na comunicação, é necessário decidir antecipadamente coisas como estas.
- Em que formato enviar os dados
- Em que ordem fazer as trocas
- Como especificar a outra parte
- Como confirmar que os dados chegaram
- Se o conteúdo da comunicação será criptografado
- Como lidar com erros quando eles ocorrem
Se o lado que envia e o lado que recebe funcionarem com regras diferentes, a comunicação não se estabelece. Mesmo que os dados sejam enviados, o lado que recebe não consegue entender o significado deles.
Ou seja, protocolos são regras comuns que permitem que computadores se comuniquem corretamente entre si.
Por que a comunicação precisa de acordos
Na Internet, muitos dispositivos diferentes do mundo todo se comunicam.
Muitos dispositivos e softwares estão envolvidos, incluindo PCs, smartphones, servidores, roteadores, servidores DNS, aplicativos e navegadores. Se cada um se comunicasse à sua própria maneira, não seria possível enviar nem receber dados corretamente.
Por isso, regras comuns são definidas para cada tipo de comunicação. Ao seguir essas regras, dispositivos de fabricantes diferentes e sistemas operacionais diferentes conseguem acessar o mesmo site.
Como os protocolos existem, os vários tipos de dispositivos na Internet conseguem se comunicar dentro dos mesmos mecanismos.
Protocolos representativos usados na Web
Quando você acessa um site, vários protocolos e mecanismos estão envolvidos.
Entre os exemplos representativos estão os seguintes.
| Protocolo ou mecanismo | Papel principal |
|---|---|
| DNS | Consulta o endereço IP correspondente a um nome de domínio |
| HTTP | Troca dados de páginas web |
| HTTPS | Protege a comunicação HTTP com TLS |
| TCP | Entrega dados com precisão |
| UDP | Envia dados com ênfase em velocidade e comportamento em tempo real |
| TLS | Criptografa o conteúdo da comunicação |
Eles não têm todos o mesmo papel. Cada um é responsável por um escopo diferente dentro da comunicação.
O papel do DNS
DNS é um mecanismo para consultar o endereço IP correspondente a um nome de domínio.
Quando você acessa um site, normalmente não digita diretamente um endereço IP. Por exemplo, usa um nome de domínio como example.com.
No entanto, para que um computador envie dados de fato ao destino da comunicação, é necessário um endereço IP. Por isso, o DNS é usado para consultar o endereço IP correspondente ao nome de domínio.
Ou seja, DNS é um mecanismo para consultar o endereço IP da parte com que você quer se comunicar.
Consultas DNS tradicionais podem ser enviadas sem criptografia. Nesse caso, qual nome de domínio foi consultado pode ficar visível na rede.
O papel de HTTP e HTTPS
HTTP é um protocolo para trocar dados de páginas web.
Ele é usado quando um navegador solicita a um servidor web "mostre esta página" e o servidor devolve dados como HTML, imagens, CSS e JavaScript.
HTTPS é um mecanismo que protege a comunicação HTTP com TLS. Ao criptografar com TLS o conteúdo trocado por HTTP, ele torna esse conteúdo mais difícil de ler a partir do caminho da comunicação.
Com apenas HTTP, o conteúdo da comunicação não é criptografado. Por outro lado, com HTTPS, o conteúdo da comunicação é criptografado, o que torna mais difícil para uma rede intermediária ler o conteúdo tal como ele é.
No entanto, mesmo usando HTTPS, nem toda informação relacionada à comunicação fica oculta. O endereço IP de destino, o volume de tráfego, o momento da conexão e informações semelhantes podem ficar visíveis de outras formas.
O papel de TCP e UDP
TCP e UDP são protocolos relacionados à forma como os dados são entregues.
TCP dá prioridade a entregar os dados com precisão. Ele tem mecanismos para reenviar dados se eles se perderem no caminho e para organizá-los na ordem correta.
É usado com frequência em comunicações em que a precisão é importante, como navegação em sites, email e transferência de arquivos. Hoje, também existem mecanismos de comunicação web, como HTTP/3, que usam UDP.
UDP, por outro lado, dá prioridade à velocidade e à leveza. Como não faz confirmações detalhadas de entrega como TCP, tem características que facilitam reduzir a latência da comunicação.
UDP pode ser usado em comunicações em que baixa latência é importante, como chamadas de voz, videochamadas, jogos online e DNS.
TCP e UDP não são superiores ou inferiores um ao outro. TCP é usado em comunicações que priorizam a precisão, e UDP é usado em comunicações que priorizam velocidade e comportamento em tempo real.
O papel do TLS
TLS é um protocolo para criptografar o conteúdo da comunicação.
Quando você acessa um site por HTTPS, quem realmente cuida da proteção do conteúdo da comunicação é o TLS. O TLS criptografa o conteúdo trocado entre o navegador e o servidor.
Por exemplo, informações de login, conteúdo de busca e conteúdo inserido em formulários se tornam mais difíceis de ler no caminho da comunicação por causa do HTTPS.
TLS está relacionado não apenas à criptografia, mas também à verificação da outra parte da comunicação e à detecção de adulterações. No entanto, neste artigo, basta primeiro entendê-lo como "um mecanismo para proteger o conteúdo da comunicação".
Além disso, TLS é um mecanismo para proteger o conteúdo da comunicação, não para ocultar completamente a existência da comunicação em si. Informações como com qual servidor você está se comunicando, quando a comunicação ocorreu e qual volume de dados foi comunicado podem ficar visíveis de outras formas.
Uma única comunicação usa vários protocolos
A comunicação para acessar um site não usa apenas um protocolo.
Por exemplo, ao abrir um site no navegador, o fluxo geral é o seguinte.
- Usar DNS para consultar o endereço IP correspondente ao nome de domínio
- Usar TCP, UDP ou mecanismos semelhantes para tratar características relacionadas à forma de entregar os dados
- Usar TLS para proteger o conteúdo da comunicação
- Usar HTTP para trocar dados da página web
A comunicação real tem processos mais detalhados. No entanto, o ponto importante é que vários protocolos dividem os papéis.
DNS tem o papel de consultar o endereço IP de destino. TCP e UDP têm o papel de decidir como os dados são entregues. TLS tem o papel de proteger o conteúdo da comunicação. HTTP tem o papel de trocar informações de páginas web.
Dessa forma, mesmo um único acesso web combina vários protocolos.
Cada protocolo protege um escopo diferente
Ao entender protocolos, é importante pensar separadamente sobre o escopo pelo qual cada um é responsável.
Por exemplo, usar HTTPS não significa que toda informação relacionada à comunicação fique oculta. HTTPS protege principalmente o conteúdo trocado entre o navegador e o servidor web.
No entanto, o endereço IP de destino, consultas DNS, volume de tráfego, momento da conexão e informações semelhantes podem ficar visíveis de outros pontos de vista.
Além disso, consultas DNS tradicionais podem ser enviadas sem criptografia. Nesse caso, qual nome de domínio foi consultado pode ficar visível na rede.
Dessa forma, é importante entender o que um protocolo protege e o que ele não protege.
Uma perspectiva importante ao pensar em anonimato
Ao pensar em anonimato, entender protocolos é muito importante.
Isso porque a informação que fica visível e o escopo protegido mudam dependendo de qual protocolo está sendo usado.
Por exemplo, se HTTPS é usado, o conteúdo da página web é criptografado. No entanto, o endereço IP de destino e o momento da comunicação não ficam completamente ocultos.
Se você entende como o DNS funciona, consegue perceber que uma consulta de nome de domínio acontece antes de acessar um site. Se entende a diferença entre TCP e UDP, fica mais fácil organizar as características da comunicação e os contextos em que são usados. Se entende o papel do TLS, consegue separar o escopo criptografado das informações que podem não estar criptografadas.
Para aumentar o anonimato, não basta olhar apenas para "se está criptografado". É necessário pensar separadamente, protocolo por protocolo, sobre quais partes da comunicação ficam visíveis e quais partes são protegidas.
Resumo
Um protocolo é um acordo para fazer a comunicação funcionar.
Quando o lado que envia e o lado que recebe seguem as mesmas regras, computadores conseguem trocar dados corretamente entre si.
Na comunicação web, vários protocolos e mecanismos estão envolvidos, incluindo DNS, HTTP, HTTPS, TCP, UDP e TLS. Cada um tem um papel diferente dentro da comunicação.
DNS consulta o endereço IP correspondente a um nome de domínio. HTTP troca dados de páginas web. HTTPS protege a comunicação HTTP com TLS. TCP entrega dados priorizando a precisão. UDP envia dados priorizando velocidade e comportamento em tempo real. TLS protege o conteúdo da comunicação.
Mesmo uma única comunicação combina vários protocolos.
Ao pensar em anonimato, é importante entender qual protocolo protege o quê e o que ele deixa visível. Quando você entende as diferenças entre protocolos, fica mais fácil organizar quais partes da comunicação são protegidas e onde informações podem permanecer.
Ferramentas relacionadas
DNSLeakTest
Recurso externo relacionado a este artigo. Abra apenas se fizer sentido para sua situação e seu modelo de ameaça.
Por que aparece aqui: Pode ajudar com o tema do artigo, mas fica fora do Anonymity Sense e deve ser avaliado antes do uso.