Learn

284 artigosCategoria: Tudo
Rede

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.

PapelPrincipal responsávelDescrição
Entregar ao destinoIPUsa endereços IP para direcionar a comunicação ao destino
Administrar a forma de entregaTCP / UDPDecide como enviar dados e como tratar confiabilidade ou leveza
Resolver nomesDNSConsulta o endereço IP correspondente a um nome de domínio
Trocar dados entre aplicativosHTTP e outrosTroca dados de páginas Web, APIs e aplicações
Proteger a comunicaçãoTLSCriptografa 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.

UsoPor que TCP é adequado
HTTP/1.1 e HTTP/2Os dados da página Web precisam ser recebidos corretamente
Processo de loginSe faltar informação necessária à autenticação, o processamento falha
Envio e recebimento de arquivosSe faltar uma parte, o arquivo pode ser corrompido
Envio de emailO 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.

UsoPor que UDP é usado
DNSConsultas e respostas curtas podem ser tratadas rapidamente
Chamadas de vídeoPode ser mais importante entregar o momento atual que reenviar dados antigos
Jogos onlineBaixa latência pode ser mais importante que reenviar todo dado passado
QUIC / HTTP/3Um 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.

ElementoPapelExemplo
Endereço IPIndica o host de origem ou destinoServidor Web ou dispositivo do usuário
Número de portaDistingue serviço ou comunicação dentro do host443 para HTTPS, 53 para DNS
ProtocoloDistingue TCP, UDP e outrosTCP 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.

MecanismoPapel
DNSProcura o endereço IP a partir do nome de domínio
IPTransporta pacotes em direção ao endereço IP de destino
TCP / UDPTrata a forma de entrega dos dados
TLSCriptografa o conteúdo da comunicação e realiza confirmação do destino e detecção de adulteração
HTTPTroca 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.

EtapaO que aconteceMecanismos relacionados
1Interpretar a URLNavegador, HTTP/HTTPS
2Procurar o endereço IP a partir do nome de domínioDNS
3Direcionar a comunicação ao endereço IP de destinoIP, roteamento
4Administrar a forma de entrega dos dadosTCP, UDP, QUIC etc.
5Proteger a comunicação se for HTTPSTLS
6Solicitar dados da página ou da APIHTTP
7Exibir os dados recebidos na telaNavegador

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çãoLugar onde pode ficar visívelPonto de atenção para anonimato
Endereço IP de origemServidor de destino, equipamentos no caminho da comunicação etc.na-se pista da rede de origem
Endereço IP de destinoEquipamentos no caminho da comunicação etc.Torna-se material para inferir a qual servidor a comunicação se dirige
Número de portaRoteadores, firewalls, logs de comunicação etc.Torna-se material para inferir tipos de comunicação como HTTPS, DNS e
Protocolo de comunicaçãoRoteadores, firewalls, logs de comunicação etc.O tratamento da comunicação muda conforme TCP ou UDP
Volume e horário da comunicaçãoEquipamentos 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

Public IP Check

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.

URL : https://www.whatismyip.com/

Abrir site externo

Artigos relacionados