Para que o transporte de dados seja útil, ele não pode apenas entregar o pacote na máquina de destino; ele deve entregar o dado ao processo de software correto (ex: o Chrome, o Outlook ou o servidor Web). Essa identificação é feita através do conceito de Portas e Sockets.

1. O Conceito de Porta (Port)

Uma porta é um endereço lógico de 16 bits (0 a 65.535) que serve como “caixa postal” para uma aplicação específica.
- Portas de Origem: Escolhidas aleatoriamente pelo cliente para cada nova conexão.
- Portas de Destino: Padronizadas para serviços conhecidos (ex: 80 para HTTP, 443 para HTTPS).

2. O Conceito de Socket

Um Socket é a combinação única de um Endereço IP e um Número de Porta.
- Ele identifica de forma absoluta um ponto final de uma conexão na rede.
- Exemplo: 192.168.1.50:443 identifica o processo HTTPS rodando no servidor 50.

3. Identificando uma Conexão Completa

Para que o Sistema Operacional saiba exatamente para qual processo entregar cada segmento que chega da rede, ele usa uma Quíntupla (5-tuple) exclusiva para cada conexão:
1. IP de Origem.
2. Porta de Origem.
3. IP de Destino.
4. Porta de Destino.
5. Protocolo de Transporte (TCP ou UDP).


4. Categorias de Portas (IANA)

As portas são divididas em três grandes grupos:

  • Bem conhecidas (0-1023): Reservadas para serviços universais da Internet.
  • Registradas (1024-49151): Usadas por aplicações específicas de empresas (ex: 3306 para MySQL).
  • Dinâmicas / Efêmeras (49152-65535): Usadas temporariamente por clientes (Navegadores) para abrir conexões.

[!IMPORTANT]
Em termos de Cyber Segurança, o Port Scanning (mapeamento de portas abertas) é a primeira fase de um ataque. Descobrir qual porta está “escutando” revela quais serviços e versões de software estão rodando no servidor alvo.