Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Paulo Roberto Freire Cunha prfc@cin.ufpe.br
Redes de Computadores 2 - Camada de Transporte (Princípios de Funcionamento & UDP & TCP) - Paulo Roberto Freire Cunha
2
Redes de Computadores 2 (baseado nos slides do Kurose)
Revisão ... processos se comunicam enviando/ recebendo mensagens através de sockets (API) socket é a interface entre o processo da aplicação e a camada de transporte um processo identifica o outro processo que ele quer se comunicar através de um endereço IP e uma porta T E L N Aplicação do Usuário F T P H T P S M T P S N M P D N S Interface de Sockets UDP TCP IP ARP PPP Interface de rede Camada de Abstração do Hardware Drivers Redes de Computadores 2 (baseado nos slides do Kurose)
3
Camada de Transporte
4
Princípios da Camada de Transporte
funções básicas multiplexação/ demultiplexação transporte de dados confiável controle de fluxo controle de congestionamento Visão Geral serviços da camada de transporte transporte sem conexão: UDP transporte de dados confiável transporte orientado a conexão: TCP controle de congestionamento no TCP Redes de Computadores 2 (baseado nos slides do Kurose)
5
Princípios da Camada de Transporte
L N Aplicação do Usuário F T P H T P S M T P S N M P D N S Interface de Sockets CAMADA DE TRANSPORTE UDP TCP IP ARP PPP Interface de rede Camada de Abstração do Hardware Drivers Redes de Computadores 2 (baseado nos slides do Kurose)
6
Serviços da Camada de Transporte
fornece comunicação entre aplicações que executam em hosts separados os serviços da camada de rede transferem dados entre “sistemas finais” os serviços da camada de transporte transferem dados entre “processos” aplicação transport rede enlace física rede enlace física network data link physical rede enlace física Transporte lógico fim-a-fim rede enlace física rede enlace física aplciação transport rede enlace física Redes de Computadores 2 (baseado nos slides do Kurose)
7
Serviços de Transporte na Internet
TCP confiável unicast ordenado estabelecimento da conexão controle de congestionamento controle de fluxo UDP não-confiável unicast / multicast não-ordenado Não tem um serviço Multicast confiável, em tempo real ou com garantia de largura banda O projeto de uma aplicação deve definir que serviço deverá ser usado. Redes de Computadores 2 (baseado nos slides do Kurose)
8
Multiplexação/Demultiplexação
envia segmentos (unidade de dados trocada entre entidades da camada de transporte) para a aplicação correta “executada no receptor” multiplexação coleta dados de múltiplos processos e coloca um cabeçalho “executada no transmissor” Redes de Computadores 2 (baseado nos slides do Kurose)
9
Multiplexação/Demultiplexação
dado da camada de aplicação P4 M M´ cabeçalho do segmento aplicação transporte rede P1 P2 M´ M aplicação transporte rede aplicação transporte rede segmento H t M H n segment Redes de Computadores 2 (baseado nos slides do Kurose)
10
Multiplexação/Demultiplexação
Formato do Segmento UDP/TCP baseadas no IP e no número das portas do transmissor receptor cada segmento tem o número da porta da origem e do destino portas específicas das aplicações porta origem # porta dest. # 32 bits dados resto do cabeçalho Redes de Computadores 2 (baseado nos slides do Kurose)
11
Multiplexação/Demultiplexação
são reservados 16 bits para as portas (65536 portas) portas reservadas (RFC 1700) ftp (20,21) http (80) smtp (25) telnet (23) > 1023 livres Redes de Computadores 2 (baseado nos slides do Kurose)
12
Multiplexação/Demultiplexação
porta orig.: x porta dest:23 Cliente WEB host C host A servidor B porta orig.:23 porta dest: x IP orig: C IP dest: B porta orig: y port dest: 80 IP orig: C IP dest: B porta orig: x porta dest:80 telnet IP orig.: A IP Dest: B porta orig: x porta dest:80 Servidor WEB B Cliente WEB host A Servidor WEB Redes de Computadores 2 (baseado nos slides do Kurose)
13
UDP – User Datagram Protocol
RFC 768 tipo de serviço fornecido à camada de aplicação “melhor esforço” perda de pacotes pacotes fora de ordem “sem-conexão” não há um estabelecimento inicial (handshake) da conexão cada pacote é tratado de forma independente benefícios do uso do UDP o handshake (como no TCP) pode causar atrasos simplicidade (não mantém o estado da conexão no cliente/servidor) cabeçalho de dados pequeno (TCP –20) ausência de controle de congestionamento Redes de Computadores 2 (baseado nos slides do Kurose)
14
Redes de Computadores 2 (baseado nos slides do Kurose)
UDP aplicações que usam o UDP multimídia tolerante a perdas sensível a taxa de transmissão telefonia na Internet protocolos de aplicação que usam UDP DNS SNMP RIP 32 bits porta orig # porta dest # dados length checksum Datagrama (max. 516 bytes) Redes de Computadores 2 (baseado nos slides do Kurose)
15
Redes de Computadores 2 (baseado nos slides do Kurose)
UDP – exemplo 1 7345 7070 8+12 crc Hello World 7345 7070 8+12 crc Hello World 7070 7345 8+12 crc HELLO WORLD 7070 7345 8+12 crc HELLO WORLD paulista goiana Redes de Computadores 2 (baseado nos slides do Kurose)
16
Redes de Computadores 2 (baseado nos slides do Kurose)
UDP – exemplo 2 [CLOCK] 7345 7070 8+5 crc CLOCK 7345 7070 8+5 crc CLOCK 7070 7345 8+8 crc 10:45:30 7070 7345 8+8 crc 10:45:30 paulista goiana Redes de Computadores 2 (baseado nos slides do Kurose)
17
Redes de Computadores 2 (baseado nos slides do Kurose)
UDP – exemplo 2 [MJVM] 7345 7070 8+5 crc MJVM 7345 7070 8+5 crc MJVM 7070 7345 8+6 crc 304516 7070 7345 8+6 crc 304516 paulista goiana Redes de Computadores 2 (baseado nos slides do Kurose)
18
Checksum UDP Receptor Transmissor
Objetivo: Detectar erros nos dados transmitidos Transmissor calcula o checksum trata todo o datagrama como seqüência de 16 bits soma todas as seqüência calcula o complemento Receptor soma todas as seqüências de 16 bits do datagrama se a soma for , então OK se a soma contiver um 0, então ERRO Redes de Computadores 2 (baseado nos slides do Kurose)
19
Redes de Computadores 2 (baseado nos slides do Kurose)
Checksum UDP + + complemento checksum Redes de Computadores 2 (baseado nos slides do Kurose)
20
Princípios de Transferência Confiável de Dados
21
Confiabilidade das Camadas
Transmissor Receptor Canal Confiável Dado Serviço Confiável Fornecido Canal NÃO-Confiável Protocolo Confiável (emissor) (receptor) Dado udt_send() rdt_send() Pacote rdt_rcv() deliver_data() Implementação do Serviço Confiável Camada de APLICAÇÃO As características do canal Não-Confiável definem a complexidade do protocolo confiável TRANSPORTE Camada de REDE Redes de Computadores 2 (baseado nos slides do Kurose)
22
Princípios de Transferência Confiável de Dados
deliver_data(): chamada por rdt para enviar o dado para aplicação rdt_send(): chamada da aplicação Canal NÃO-Confiável Protocolo Confiável (emissor) (receptor) Dado udt_send() rdt_send() Pacote rdt_rcv() deliver_data() receptor Transmissor udt_send(): chamada por rdt para transferência em um canal não-confiável rdt_rcv(): chamado quando o pacote chega ao receptor Redes de Computadores 2 (baseado nos slides do Kurose)
23
Protocolos para Transmissão Confiável
rdt 1.0 canal confiável rdt 2.0 canal não-confiável (com erros) perda de bits uso de ACK/NACK problema: ACK/NACK corrompidos rdt 2.1 canal com erros numeração dos pacotes (0 ou 1) pacotes são retransmitidos se o ACK/NACK for corrompido duplicatas são eliminadas problema: o receptor não sabe se o ACK/NACK foi recebido Redes de Computadores 2 (baseado nos slides do Kurose)
24
Protocolos para Transmissão Confiável
rdt 2.2 canal com erros não usa o NACK o ACK segue com o número do último pacote transmitido rdt 3.0 canal com erro e perdas ack e # do pacote ajuda, mas não é suficiente o emissor espera um certo tempo e retransmite o pacote Redes de Computadores 2 (baseado nos slides do Kurose)
25
Protocolos com Pipeline
vários pacotes são transmitidos antes do receptor receber um ack de que a transmissão foi realizada com sucesso exemplos de protocolos Go-back-N Retransmissão seletiva Redes de Computadores 2 (baseado nos slides do Kurose)
26
Protocolos com Pipeline
Go-back-N usa janelas pacotes com número de seqüência ACK(n): reconhece os pacotes até n temporizador para cada pacote se acontecer um timeout(n), o pacote n e todos os pacotes com número de seqüência maiores são retransmitidos Retransmissão seletiva todos os pacotes são reconhecidos individualmente um temporizador é mantido para cada pacote não reconhecido apenas os pacotes não reconhecidos são retransmitidos Redes de Computadores 2 (baseado nos slides do Kurose)
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.