Redes I
Os Protocolos
Prof. Dr. Amine BERQIA
[email protected]
http://w3.ualg.pt/~bamine/
Definição
Um protocolo é uma descrição formal de
regras e de convenções a seguir em
uma troca de informações, que seja para
encaminhar os dados até ao
destinatário ou para que
destinatário compreenda como deve
utilizar os dados que recebeu.
Protocolos de transporte
 Fornece comunicação de aplicação-para-aplicação
 Precisa dum mecanismo adicional de
endereçamento para identificar aplicações
 Designa-se por extremo-a-extremo
 Pode fornecer:
 Fiabilidade
 Controlo de Fluxo
 Controlo Congestão
Exemplo de Camada Transporte :
Transmission Control Protocol (TCP)






Normalizado pelo IETF como RFC 793
Protocolo mais popular da Camada 4
Protocolo orientado à conexão
Funciona entre aplicações e IP
Funcionamento Full-duplex
Interface tipo byte-stream
Resumo do TCP
Fornece um serviço de transporte de fluxo
full-duplex, orientado à conexão
completamente fiável (nenhuma
duplicação ou perda de dados), que
permite dois programas aplicativos formar
uma conexão, enviar dados em qualquer
uma das direcções e então terminar a
conexão.
Relação Entre o TCP e Outros
Protocolos

TCP num computador utiliza o
IP para comunicar com TCP
noutro computador
Aparente Contradição




IP oferece entrega melhor-esforço (não fiável)
TCP utiliza o IP
TCP fornece transferência completamente
fiável
Como é isto possível?
Conseguir Fiabilidade
Estabelecimento fiável da conexão
 Transmissão fiável dos dados
 Terminação fiável da conexão

Transmissão fiável dos dados
 Confirmação positiva
 O receptor devolve uma curta mensagem na chegada de
dados
 Designa-se por confirmação (acknowledgement)
 Retransmissão
 Remetente inicia cronometro sempre que uma
mensagem é transmitida
 Se o cronometro expira antes duma confirmação
chegar, o remetente retransmite a mensagem
Retransmissão
Quanto tempo deverá esperar o TCP
Antes de Retransmitir?
 Tempo que leva para chegar uma confirmação
depende de
Distancia ao destino
Presente condições de tráfego
 Conexões múltiplas podem ser abertas
simultaneamente
 Condições de tráfego mudam rapidamente
Resolver o Problema da
Retransmissão

Manter estimativa do tempo de viagem de
ida-e-volta de cada conexão
 Utilizar estimativa actual para fixar
cronometro de retransmissão
 Designado por retransmissão adaptável
 Motivo de sucesso do TCP
Retransmissão adaptável

Intervalo depende da presente estimativa de ida-e-volta
TCP Controlo de Fluxo
 Receptor
Anuncia espaço de buffer disponível
Designa-se por janela
 Remetente
Pode enviar até ao limite da janela antes da
chegada do ACK
 Também designado por protocolo de janela
deslizante (sliding window protocol)
Estabelecimento e Terminação
Estabelecimento da conexão
Tem de ser fiável
Terminação da conexão
Deve ser graciosa
Difícil
Por que Startup/Shutdown é Difícil
 Segmentos podem ser
perdidos
duplicados
atrasados
entregue fora de ordem
qualquer um dos participantes pode bloquear
qualquer um dos participantes pode reiniciar
 Necessário evitar que mensagem duplicada de
terminação venha afectar conexão posterior
A Solução de Estabelecimento do
TCP
 Utiliza troca de três mensagens
 Conhecido como “3-way handshake”
 Necessário e suficiente para estabelecimento
fiável e não ambígua
 Mensagens SYN (Synchronize) são utilizadas
para estabelecimento de conexão
3-Way Handshake
A Terminação do TCP
Portas de protocolo

A cada aplicação é atribuído um numero distinto
 Servidor




É Normalizado
Utiliza sempre o mesmo número da porta
Normalmente utiliza números de porta mais baixos
Cliente


Obtém porto não utilizada do software de protocolo
Normalmente utiliza números da porta mais altos
Veja / etc/services
Exemplo de Porta de protocolo
 Aplicação de servidor Web atribuída a porta 80
 Aplicação cliente Web obtém porto 32938
 Segmento de TCP enviado do cliente para servidor
tem
 número da porta origem 32938
 número da porta destino 80
 Quando servidor Web responder, segmento de
TCP tem
 número da porta origem 80
 número da porta destino 32938
TCP Segmento Formato
User Datagram Protocol (UDP)






Entrega de mensagem não fiável
Protocolo sem conexão
Nenhum controlo de fluxo (nenhuma janela)
Nenhuma recuperação de erro (não há ACKs)
Permite multiplexação da aplicação
Detecção de erros opcional (campo de checksum)
UDP Mensagem Formato
SMTP
 Simple Mail Transfer Protocol SMTP Definido no
RFC 821
 Utiliza protocolo TCP
 Utilzado entre
 Programa de transferência de correio no computador do
remetente
 Servidor de correio do destinatário
 Especifica como
 Cliente interage com o servidor
 Destinatários são especificados
 Mensagem é transferida
TELNET
 Definido em RFC 854
 Permite acesso interactivo a um computador de um local
remoto
 Interface texto
 Utilizador
 invoca o cliente
 especifica computador remoto
 Cliente
 inicializa conexão TCP ao servidor
 Transmite teclas premidas através da conexão
 exibe resultados em tela
Protocolo de transferência de
ficheiros (FTP)






Definido no RFC 959
Cópia completa de ficheiro
Utiliza o TCP
Suporta transferências de ficheiros binários ou
de texto
Conjunto extenso de comandos
Até 1995, era a fonte principal de pacotes na
Internet
FTP
Protocolo de Transferência de
hipertexto (HTTP)
 Servidor Web disponibiliza páginas
 Servidor utiliza a porta 80 por defeito
 Cliente Web (browser) requisita páginas
 Cria uma conexão TCP ao servidor
 HTTP assenta em cima do TCP
 HTTP v1.1 definido no RFC 2068
melhoramento principal em relação á v1.0:
única conexão de TCP para múltiplos pedidos
de HTTP
Download

Technologie Internet : Protocoles d `applications (1)