>> Tecnologia Eletrônica >  >> Telefones >> Viva-voz de Conferência

O Que São Sockets e Portas em Redes? A Encanamento da Comunicação na Internet

Sockets e portas são a camada de endereçamento que permite múltiplos apps compartilharem uma conexão de rede. Aqui está o modelo mental.

Socket = Handle de Endpoint

Um socket é um objeto gerenciado pelo SO representando uma ponta de um canal de comunicação bidirecional. Pense: uma tomada de telefone na parede — é a interface, não a conversa.

  • Criado pelo app via syscall (socket()).
  • Vinculado a IP + porta (local) e conectado a IP remoto + porta.
  • Identificado por file descriptor (inteiro) dentro do processo.
  • Suporta streams (TCP) ou datagramas (UDP).

Porta = Número de Canal Virtual

Uma porta (0–65535) é um sub-endereço lógico num IP. Distingue serviços no mesmo host.

  • Well-known (0–1023): HTTP 80, HTTPS 443, SSH 22, DNS 53, SMTP 25.
  • Registradas (1024–49151): MySQL 3306, PostgreSQL 5432, RDP 3389.
  • Efêmeras (49152–65535): Lado cliente auto-atribuído para conexões de saída.

Como Trabalham Juntos

Tupla = (IP origem, porta origem, IP destino, porta destino, protocolo) identifica uma conexão unicamente.

  • Servidor: bind(0.0.0.0, 443) → listen() → accept() cria novo socket por cliente.
  • Cliente: connect(dst_ip, 443) → SO escolhe porta efêmera de origem.
  • Múltiplos clientes → mesma porta servidor, portas origem diferentes = multiplexação.

Port Forwarding (NAT)

Roteador mapeia WAN_IP:porta_ext → LAN_IP:porta_int. Permite entrada para servidor interno.

Analogia

  • IP = endereço do prédio
  • Porta = número do apartamento
  • Socket = a porta + interfone real (um por conversa)
  • Protocolo = idioma falado (TCP = gravado, confiável; UDP = grita-e-espera)

Sockets são a API; portas são o namespace. Ambos essenciais.