Portas, sockets, cliente e servidor

Distinguir host, porta, socket, cliente e servidor.

Portas, sockets, cliente e servidor

Objetivo

Distinguir host, porta, socket, cliente e servidor.

Conceitos essenciais

Porta

TCP e UDP utilizam números de porta para identificar endpoints/serviços. Porta é lógica, não conector físico.

Convenções

80 é associado a HTTP tradicional, 443 a HTTPS e 22 a SSH, mas serviços podem ser configurados em outras portas.

Servidor

Servidor é um papel de software que oferece serviço; seu notebook pode executar um servidor local.

Cliente

Cliente normalmente inicia comunicação com um serviço.

Socket

É uma abstração de endpoint fornecida pelo sistema operacional e APIs de rede.

Porta ocupada

Dois processos normalmente não podem escutar a mesma combinação de protocolo/endereço/porta sem mecanismos específicos. Erros “address already in use” são comuns em desenvolvimento.

Modelo mental

CLIENTE → SOCKET → IP:PORTA → SOCKET → PROCESSO SERVIDOR

Exemplo e demonstração

Um navegador é cliente ao acessar 127.0.0.1:8000; o processo Python do laboratório é servidor.

Experimento / prática

  • Explique 192.168.1.50:8080 separando host e porta.
  • Dê exemplo de um dispositivo comum que também pode desempenhar papel de servidor.

Erros comuns

  • Porta TCP é conector físico.
  • Servidor precisa ser hardware especial.

Resumo

Ao concluir esta aula, revise o modelo mental e tente explicá-lo com suas próprias palavras antes de avançar.