25
Redes de computadores: Redes de computadores: Camada de Transporte Camada de Transporte Prof. Dr. Amine BERQIA Prof. Dr. Amine BERQIA [email protected] [email protected] http://w3.ualg.pt/~bamine/ http://w3.ualg.pt/~bamine/

Redes de computadores: Camada de Transporte Prof. Dr. Amine BERQIA [email protected] bamine

Embed Size (px)

Citation preview

Page 1: Redes de computadores: Camada de Transporte Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Redes de computadores:Redes de computadores: Camada de Transporte Camada de Transporte

Prof. Dr. Amine BERQIAProf. Dr. Amine BERQIA [email protected] [email protected]

http://w3.ualg.pt/~bamine/http://w3.ualg.pt/~bamine/

Page 2: Redes de computadores: Camada de Transporte Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Sumário Sumário

Onde estamos?

Protocolos de transporte: TCP UDP

Page 3: Redes de computadores: Camada de Transporte Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Onde estamos? Onde estamos?

Page 4: Redes de computadores: Camada de Transporte Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Protocolos de transporte Protocolos de transporte Fornece comunicação de aplicação-para-aplicação Fornece comunicação de aplicação-para-aplicação Precisa dum mecanismo adicional de Precisa dum mecanismo adicional de

endereçamento para identificar aplicações endereçamento para identificar aplicações Designa-se por extremo-a-extremoDesigna-se por extremo-a-extremo Pode fornecer:Pode fornecer:

FiabilidadeFiabilidade Controlo de FluxoControlo de Fluxo Controlo CongestãoControlo Congestão

Page 5: Redes de computadores: Camada de Transporte Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Exemplo de Camada Transporte : Exemplo de Camada Transporte : Transmission Control Protocol (TCP)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

Page 6: Redes de computadores: Camada de Transporte Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Resumo do TCP 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.

Page 7: Redes de computadores: Camada de Transporte Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Relação Entre o TCP e Relação Entre o TCP e Outros Protocolos Outros Protocolos

TCP num computador utiliza o IP para comunicar com TCP noutro

computador

Page 8: Redes de computadores: Camada de Transporte Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Aparente ContradiçãoAparente 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?

Page 9: Redes de computadores: Camada de Transporte Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Conseguir FiabilidadeConseguir Fiabilidade

Estabelecimento fiável da conexãoEstabelecimento fiável da conexão Transmissão fiável dos dadosTransmissão fiável dos dados Terminação fiável da conexãoTerminação fiável da conexão

Page 10: Redes de computadores: Camada de Transporte Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Transmissão fiável dos Transmissão fiável dos dados dados

Confirmação positiva Confirmação positiva O receptor devolve uma curta mensagem na chegada de O receptor devolve uma curta mensagem na chegada de

dadosdados Designa-se por confirmação (Designa-se por confirmação (acknowledgement)acknowledgement)

Retransmissão Retransmissão Remetente inicia cronometro sempre que uma Remetente inicia cronometro sempre que uma

mensagem é transmitida mensagem é transmitida Se o cronometro expira antes duma confirmação Se o cronometro expira antes duma confirmação

chegar, o remetente retransmite a mensagem chegar, o remetente retransmite a mensagem

Page 11: Redes de computadores: Camada de Transporte Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Retransmissão Retransmissão

Page 12: Redes de computadores: Camada de Transporte Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Quanto tempo deverá Quanto tempo deverá esperar o TCP Antes de esperar o TCP Antes de

Retransmitir? 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

Page 13: Redes de computadores: Camada de Transporte Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Resolver o Problema da Resolver o Problema da Retransmissão 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

Page 14: Redes de computadores: Camada de Transporte Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Retransmissão adaptável Retransmissão adaptável

Intervalo depende da presente estimativa de ida-e-volta Intervalo depende da presente estimativa de ida-e-volta

Page 15: Redes de computadores: Camada de Transporte Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

TCP Controlo de FluxoTCP Controlo de Fluxo Receptor Receptor

Anuncia espaço de Anuncia espaço de buffer buffer disponível disponível Designa-se por janela Designa-se por janela

RemetenteRemetente Pode enviar até ao limite da janela antes da Pode enviar até ao limite da janela antes da

chegada do ACKchegada do ACK Também designado por protocolo de janela Também designado por protocolo de janela

deslizante (deslizante (sliding window protocolsliding window protocol))

Page 16: Redes de computadores: Camada de Transporte Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Estabelecimento e Estabelecimento e Terminação Terminação

Estabelecimento da conexão Estabelecimento da conexão Tem de ser fiávelTem de ser fiável

Terminação da conexão Terminação da conexão Deve ser graciosa Deve ser graciosa

Difícil Difícil

Page 17: Redes de computadores: Camada de Transporte Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Por que Por que Startup/Shutdown é Difícil 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

Page 18: Redes de computadores: Camada de Transporte Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

A Solução de A Solução de Estabelecimento do TCP 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

Page 19: Redes de computadores: Camada de Transporte Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

3-Way Handshake3-Way Handshake

Page 20: Redes de computadores: Camada de Transporte Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

A Terminação do TCP A Terminação do TCP

Page 21: Redes de computadores: Camada de Transporte Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Portas de protocolo 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

Page 22: Redes de computadores: Camada de Transporte Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Exemplo de Porta de Exemplo de Porta de protocolo 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

Page 23: Redes de computadores: Camada de Transporte Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

TCP Segmento Formato TCP Segmento Formato

Page 24: Redes de computadores: Camada de Transporte Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

User Datagram Protocol User Datagram Protocol (UDP) (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)

Page 25: Redes de computadores: Camada de Transporte Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

UDP Mensagem Formato UDP Mensagem Formato