Fundamentos de TCP/IP
A comunicação pela Internet não funciona por um único grande mecanismo.
Ao ver um site, enviar email ou conectar um aplicativo a um servidor, várias regras de comunicação atuam em conjunto.
A ideia que serve de base para isso é TCP/IP.
O nome TCP/IP contém TCP e IP, mas na prática não se refere apenas a TCP e IP. Ele é usado para indicar o conjunto de protocolos de comunicação usados na Internet, isto é, a base geral dos mecanismos de comunicação.
Este artigo organiza TCP/IP não como especificação detalhada, mas como uma porta de entrada para entender a visão geral da comunicação pela Internet.
O que é TCP/IP
TCP/IP é o conjunto básico de protocolos usado para comunicar na Internet.
Protocolo é uma regra para comunicação. São necessárias regras para indicar como especificar o destino, em que unidade enviar dados, como tratar dados que não chegam e em que formato aplicativos trocam informações.
No TCP/IP, a comunicação é pensada separando papéis.
| Papel | Principal responsável | Descrição |
|---|---|---|
| Entregar ao destino | IP | Usa endereços IP para direcionar a comunicação ao destino |
| Administrar a forma de entrega | TCP / UDP | Decide como enviar dados e como tratar confiabilidade ou leveza |
| Resolver nomes | DNS | Consulta o endereço IP correspondente a um nome de domínio |
| Trocar dados entre aplicativos | HTTP e outros | Troca dados de páginas Web, APIs e aplicações |
| Proteger a comunicação | TLS | Criptografa o conteúdo de comunicações como HTTP e ajuda a evitar adulteração e falsificação |
Assim, a comunicação pela Internet se estabelece com IP, TCP e UDP como base, combinados a DNS, HTTP, TLS e mecanismos relacionados.
IP tem o papel de direcionar ao destino
IP é a sigla de Internet Protocol.
O papel central do IP é direcionar a comunicação ao destino usando endereços IP. Na Internet, endereços IP são usados para identificar dispositivos e servidores.
Por exemplo, quando o navegador se comunica com um servidor Web, no fim os pacotes são enviados em direção ao endereço IP de destino. Roteadores no caminho olham informações como o endereço IP de destino e decidem para onde enviar o pacote em seguida.
No entanto, IP é um mecanismo para "direcionar ao destino"; ele não garante sozinho toda a confiabilidade da comunicação.
Só com IP, não se trata suficientemente de questões como:
- se os dados chegaram
- se chegaram na ordem correta
- se dados perdidos devem ser reenviados
- a qual aplicativo dentro de um dispositivo devem ser entregues
Esses pontos envolvem TCP, UDP, números de porta e protocolos superiores.
TCP prioriza confiabilidade
TCP é a sigla de Transmission Control Protocol.
TCP é um mecanismo para tornar os dados mais fáceis de tratar com precisão. Ele estabelece uma conexão com a outra parte, confirma se os dados enviados chegaram, reenvia dados perdidos e reorganiza dados que chegaram fora de ordem.
Por isso, TCP é adequado para comunicações em que perda ou desordem causam problema.
| Uso | Por que TCP é adequado |
|---|---|
| HTTP/1.1 e HTTP/2 | Os dados da página Web precisam ser recebidos corretamente |
| Processo de login | Se faltar informação necessária à autenticação, o processamento falha |
| Envio e recebimento de arquivos | Se faltar uma parte, o arquivo pode ser corrompido |
| Envio de email | O conteúdo da mensagem precisa ser entregue corretamente |
No entanto, TCP não é um mecanismo que torna tudo mais rápido. Como realiza confirmação de chegada, reenvio e outros controles, pode aumentar a latência conforme as condições da rede.
O ponto importante é que TCP é um mecanismo que prioriza tratar dados de forma confiável, não simplesmente "o método rápido".
UDP prioriza leveza e flexibilidade
UDP é a sigla de User Datagram Protocol.
UDP é mais simples que TCP. Ele não pressupõe estabelecer uma conexão da mesma forma que TCP, nem possui por si só um mecanismo para reenviar dados que não chegaram ou reorganizar a ordem.
Isso não significa que UDP seja sempre inferior.
Ao reduzir as garantias do próprio protocolo, UDP facilita projetar comunicações de baixa latência ou aplicar controles próprios no lado da aplicação.
Por exemplo, em chamadas de vídeo, jogos online, algumas consultas DNS, QUIC e HTTP/3, UDP pode ser usado.
| Uso | Por que UDP é usado |
|---|---|
| DNS | Consultas e respostas curtas podem ser tratadas rapidamente |
| Chamadas de vídeo | Pode ser mais importante entregar o momento atual que reenviar dados antigos |
| Jogos online | Baixa latência pode ser mais importante que reenviar todo dado passado |
| QUIC / HTTP/3 | Um protocolo novo é construído sobre UDP |
UDP em si não garante chegada, ordem nem reenvio. Quando esses elementos são necessários, a aplicação ou um protocolo acima do UDP precisa implementá-los.
QUIC é um exemplo representativo: ele usa UDP como base, mas adiciona controle de conexão, criptografia, reenvio e outros mecanismos próprios.
Números de porta distinguem aplicações
Endereço IP indica a outra parte na rede, mas não basta para decidir a qual aplicação entregar a comunicação.
Em um mesmo dispositivo ou servidor, navegador, DNS, email, chat, API e outros serviços podem comunicar ao mesmo tempo. Para distinguir essas comunicações, TCP e UDP usam números de porta.
| Elemento | Papel | Exemplo |
|---|---|---|
| Endereço IP | Indica o host de origem ou destino | Servidor Web ou dispositivo do usuário |
| Número de porta | Distingue serviço ou comunicação dentro do host | 443 para HTTPS, 53 para DNS |
| Protocolo | Distingue TCP, UDP e outros | TCP 443 e UDP 443 são tratados separadamente |
Por exemplo, se Web, DNS e email estiverem funcionando no mesmo servidor, cada um pode ser distinguido por um número de porta diferente.
Mesmo usando o mesmo número, TCP e UDP são tratados como comunicações diferentes. Ou seja, TCP 443 e UDP 443 não são a mesma comunicação, mesmo que usem o mesmo número "443".
DNS, HTTP e TLS também funcionam sobre TCP/IP
Ao ver um site, a comunicação não se completa apenas com IP, TCP e UDP.
Humanos normalmente especificam sites por nomes de domínio, não por endereços IP. Por isso, primeiro usa-se DNS para procurar o endereço IP correspondente ao nome de domínio.
Quando o endereço IP é conhecido, o navegador se comunica com o destino. HTTP é usado para obter páginas Web. No caso de HTTPS, a comunicação HTTP é protegida por TLS.
| Mecanismo | Papel |
|---|---|
| DNS | Procura o endereço IP a partir do nome de domínio |
| IP | Transporta pacotes em direção ao endereço IP de destino |
| TCP / UDP | Trata a forma de entrega dos dados |
| TLS | Criptografa o conteúdo da comunicação e realiza confirmação do destino e detecção de adulteração |
| HTTP | Troca dados de páginas Web e APIs |
O ponto importante aqui é que esses mecanismos não competem entre si; eles dividem papéis.
Por exemplo, HTTPS é comunicação HTTP protegida por TLS. E, em muitos casos, abaixo dele são usados TCP ou UDP e IP.
Fluxo ao abrir uma página Web
Do ponto de vista de TCP/IP, o fluxo de abertura de uma página Web pode ser organizado de forma simples como segue.
| Etapa | O que acontece | Mecanismos relacionados |
|---|---|---|
| 1 | Interpretar a URL | Navegador, HTTP/HTTPS |
| 2 | Procurar o endereço IP a partir do nome de domínio | DNS |
| 3 | Direcionar a comunicação ao endereço IP de destino | IP, roteamento |
| 4 | Administrar a forma de entrega dos dados | TCP, UDP, QUIC etc. |
| 5 | Proteger a comunicação se for HTTPS | TLS |
| 6 | Solicitar dados da página ou da API | HTTP |
| 7 | Exibir os dados recebidos na tela | Navegador |
Na comunicação real, cache, CDN, balanceadores de carga, reutilização de conexões existentes e outros elementos também entram em jogo. Por isso, nem sempre tudo é executado do zero exatamente na mesma ordem.
Ainda assim, como base, fica mais fácil organizar pensando que DNS, IP, TCP/UDP, TLS e HTTP têm papéis diferentes.
Relação entre TCP/IP e anonimato
TCP/IP não é um mecanismo para anonimização. É a base para fazer a comunicação funcionar na Internet.
Por isso, informações necessárias para estabelecer a comunicação podem ficar visíveis no caminho da comunicação ou para o destino.
| Informação | Lugar onde pode ficar visível | Ponto de atenção para anonimato |
|---|---|---|
| Endereço IP de origem | Servidor de destino, equipamentos no caminho da comunicação etc. | na-se pista da rede de origem |
| Endereço IP de destino | Equipamentos no caminho da comunicação etc. | Torna-se material para inferir a qual servidor a comunicação se dirige |
| Número de porta | Roteadores, firewalls, logs de comunicação etc. | Torna-se material para inferir tipos de comunicação como HTTPS, DNS e |
| Protocolo de comunicação | Roteadores, firewalls, logs de comunicação etc. | O tratamento da comunicação muda conforme TCP ou UDP |
| Volume e horário da comunicação | Equipamentos no caminho da comunicação, servidor de destino etc. | Torna-se material para padrões de comportamento e comparação com outros logs |
Usar HTTPS ou TLS facilita proteger o conteúdo da comunicação. Mas isso não faz desaparecer todos os endereços IP, volume de comunicação, horário da comunicação e relação com o destino.
Ao pensar em anonimato, é preciso separar "conteúdo da comunicação" de "informações externas necessárias para estabelecer a comunicação".
Resumo
TCP/IP é o conjunto de protocolos que sustenta a comunicação pela Internet.
IP direciona a comunicação ao destino usando endereços IP. TCP administra uma entrega mais confiável dos dados. UDP reduz as garantias do próprio protocolo e facilita comunicações leves ou desenhadas com mais flexibilidade.
DNS, HTTP e TLS também funcionam dividindo papéis sobre TCP/IP. Ao abrir uma página Web, DNS procura o endereço IP, IP direciona a comunicação ao destino, TCP ou UDP trata a forma de entrega dos dados, no HTTPS o TLS protege a comunicação, e HTTP troca o conteúdo da página.
TCP/IP não é tecnologia de anonimização. Para que a comunicação funcione, informações como endereço IP, número de porta, protocolo de comunicação, volume de comunicação e horário são tratadas.
Entender essa base facilita organizar, ao aprender sobre DNS, HTTP/HTTPS, TLS, VPN, Tor, logs de comunicação e temas semelhantes, "de qual camada e de qual coisa se está falando".
Ferramentas relacionadas
WhatIsMyIP
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.