Para que a comunicação de rede funcione, não basta apenas saber o endereço IP de um computador. Em um único servidor (como o 10.0.0.1), podem estar rodando simultaneamente um servidor web, um servidor de e-mail e um servidor de banco de dados.
A Identificação e Portas é o mecanismo da camada de transporte (usado pela camada de aplicação) que permite o direcionamento correto de cada dado para o processo (software) correspondente.
1. O Conceito de Porta Lógica
Uma Porta é um número de 16 bits (variando de 0 a 65535) que serve como um identificador lógico para um serviço ou processo de rede.
- Analogia: Se o endereço IP é o número do prédio, a porta é o número do apartamento.
- Socket: A combinação de um endereço IP + um número de porta é chamada de Socket (ex:
192.168.1.10:80). É através do socket que a aplicação “escreve” e “lê” dados da rede.
2. Categorias de Portas (IANA)
A IANA (Internet Assigned Numbers Authority) divide as portas em três faixas:
| Faixa de Portas | Nome | Descrição |
|---|---|---|
| 0 a 1023 | Bem-Conhecidas (Well-Known) | Reservadas para serviços universais (HTTP, SSH, DNS). Em sistemas Unix, exigem privilégios de root para serem abertas. |
| 1024 a 49151 | Registradas | Usadas por aplicações específicas de fabricantes (SQL, MySQL, RDP). |
| 49152 a 65535 | Dinâmicas / Efêmeras | Usadas temporariamente por clientes para iniciar uma conexão e receber a resposta do servidor. |
3. Multiplexação e Demultiplexação
- Multiplexação: A capacidade do computador de enviar dados de diferentes aplicações (Navegador, Skype, Spotify) através de uma única conexão física (placa de rede).
- Demultiplexação: A capacidade de receber dados da rede e entregá-los exatamente à aplicação correta, baseando-se no número da porta de destino contido no cabeçalho TCP ou UDP.
Subtópicos
- O Estabelecimento da Conexão e Sockets
- Lista de Portas e Serviços Comuns
- Segurança e Escaneamento de Portas