Protocolos de Rede Essenciais: TCP, UDP, DHCP, DNS e E-mail
Classificado em Computação
Escrito em em português com um tamanho de 4,4 KB
TCP (Transmission Control Protocol)
O TCP é um modo de ligação mais complexo, que consome mais recursos. Possui controlo de fluxo e congestionamento, garantindo a fiabilidade (os pacotes chegam ao destino, por ordem e sem duplicações). Não permite broadcast e é full-duplex, ou seja, permite o controlo de fluxo concorrente de dados em ambos os sentidos da conexão.
- Controlo de Fluxo: Adequação entre as taxas de envio e de receção.
- Controlo de Congestionamento: Adequação às condições de débito do canal.
UDP (User Datagram Protocol)
O UDP é connectionless, mais leve (consome menos recursos), não possui controlo de fluxo, não garante fiabilidade e permite broadcast. Apenas acrescenta o porto de origem e o porto de destino.
Nomes dos Pacotes
- UDP: Datagramas
- TCP: Segmentos
Portos de Rede
Um porto é um número de 16 bits com valores entre 0 e 65535.
Tipos de Portos
- Well-known ports: [1, 1023]
- Efémeros/Cliente: [1024, 65535]
Sockets de Rede
Um Socket é um conjunto formado pelo IP, o porto e o protocolo de transporte utilizado.
Exemplo de endereço de Socket: <tcp, 192.168.0.1:8080>
Canal lógico de comunicação:
Estabelecimento de Conexão TCP (Three-Way Handshake)
- O cliente envia um segmento com a flag SYN ativa, com um número de sequência inicial do cliente. Ex:
SYN SN=30
. - O servidor responde com outro segmento SYN, com o número de sequência inicial do servidor e, ao mesmo tempo, confirma a receção do segmento SYN do cliente ativando a flag ACK e colocando no campo de confirmação (AN) o valor de
SNInicial+1
. - O cliente envia confirmação num segmento ACK com o
AN=SNservidorInicial+1
.
Encerramento de Conexão TCP
- O cliente envia um segmento com a flag FIN ativa, com o seu número de sequência (SN) atual e com o respetivo número de confirmação. Ex:
FIN, ACK SN=302 AN=501
. - O servidor responde com um ACK com
AN=ANcliente+1
. - O servidor envia um segmento FIN com o seu número de sequência (SNservidor) atual e com o respetivo número de confirmação. Ex:
FIN, ACK SN=502 AN=302
. - O cliente envia um segmento ACK com
AN=SNservidor+1
. Ex:ACK AN=503
.
DHCP (Dynamic Host Configuration Protocol)
Mensagens DHCP
- Discover: Enviada pelo cliente à procura de um servidor DHCP (
IP src=0.0.0.0
,IP Dest=255.255.255.255
). - Offer: Enviado pelo servidor oferecendo um IP. (
IP src=IP do servidor
;IP dest=IP oferecido + informações
). - Request: Enviado pelo cliente para requisitar o endereço IP (
IP src=0.0.0.0
;IP dest=255.255.255.255
). Também utilizado para:- Renovar as configurações anteriores.
- Renovar o período de validade das configurações.
- ACK: Enviada pelo servidor ao cliente para confirmar as configurações.
Domínios e DNS
Um Domínio é um nome que serve de base a todo o processo de DNS, possibilitando que trabalhemos com nomes em vez de endereços IP. Se não existir um domínio, não há DNS, uma vez que todos os nomes na internet estão associados a um domínio.
Sistema de E-mail: MTA e MDA
Para funcionar, é necessário um servidor de e-mail que aloja e gere um conjunto de clientes (caixas de correio) associadas a domínios. São denominados por:
- MTA (Mail Transfer Agents): Quando processam e encaminham as mensagens de e-mail entre servidores.
- MDA (Mail Delivery Agents): Quando fazem o envio de e-mail para os clientes.