A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Redes de Computadores 2 - Camada de Transporte (Princípios de Funcionamento & UDP & TCP) - Paulo Roberto Freire Cunha

Apresentações semelhantes


Apresentação em tema: "Redes de Computadores 2 - Camada de Transporte (Princípios de Funcionamento & UDP & TCP) - Paulo Roberto Freire Cunha"— Transcrição da apresentação:

1 Redes de Computadores 2 - Camada de Transporte (Princípios de Funcionamento & UDP & TCP) - Paulo Roberto Freire Cunha prfc@cin.ufpe.br

2 Redes de Computadores 2 (baseado nos slides do Kurose) Revisão... Camada de Abstração do Hardware Interface de rede ARPPPP IP UDP TCP Interface de Sockets Drivers FTPFTP TELNETTELNET DNSDNS HTTPHTTP SMTPSMTP SNMPSNMP Aplicação do Usuário 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

3 Camada de Transporte

4 Redes de Computadores 2 (baseado nos slides do Kurose) 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

5 Redes de Computadores 2 (baseado nos slides do Kurose) Princípios da Camada de Transporte Camada de Abstração do Hardware Interface de rede ARPPPP IP UDP TCP Interface de Sockets Drivers FTPFTP TELNETTELNET DNSDNS HTTPHTTP SMTPSMTP SNMPSNMP Aplicação do Usuário CAMADA DE TRANSPORTE

6 Redes de Computadores 2 (baseado nos slides do Kurose) 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 aplciação transport rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física network data link physical Transporte lógico fim-a-fim

7 Redes de Computadores 2 (baseado nos slides do Kurose) 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.

8 Redes de Computadores 2 (baseado nos slides do Kurose) Multiplexação/Demultiplexaçã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

9 Redes de Computadores 2 (baseado nos slides do Kurose) Multiplexação/Demultiplexação aplicação transporte rede M´ P2 aplicação transporte rede H t H n segment segmento M aplicação transporte rede P1 MMM´ P4 cabeçalho do segmento dado da camada de aplicação

10 Redes de Computadores 2 (baseado nos slides do Kurose) Multiplexação/Demultiplexação 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 Formato do Segmento UDP/TCP

11 Redes de Computadores 2 (baseado nos slides do Kurose) Multiplexação/Demultiplexação são reservados 16 bits para as portas (65536 portas) 0-1023 portas reservadas (RFC 1700) ftp (20,21) http (80) smtp (25) telnet (23) > 1023 livres

12 Redes de Computadores 2 (baseado nos slides do Kurose) Multiplexação/Demultiplexação host A servidor B porta orig.: x porta dest:23 porta orig.:23 porta dest: x telnet Cliente WEB host A Cliente WEB host C IP orig: C IP dest: B porta orig: x porta dest:80 IP orig: C IP dest: B porta orig: y port dest: 80 Servidor WEB IP orig.: A IP Dest: B porta orig: x porta dest:80 Servidor WEB B

13 Redes de Computadores 2 (baseado nos slides do Kurose) 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

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 Datagrama (max. 516 bytes) porta orig #porta dest # dados length checksum

15 Redes de Computadores 2 (baseado nos slides do Kurose) UDP – exemplo 1 paulista goiana 73457070 8+12crc Hello World 73457070 8+12crc Hello World 70707345 8+12crc HELLO WORLD 70707345 8+12crc HELLO WORLD

16 Redes de Computadores 2 (baseado nos slides do Kurose) UDP – exemplo 2 [CLOCK] paulista goiana 73457070 8+5crc CLOCK 73457070 8+5crc CLOCK 70707345 8+8crc 10:45:30 70707345 8+8crc 10:45:30

17 Redes de Computadores 2 (baseado nos slides do Kurose) UDP – exemplo 2 [MJVM] paulista goiana 73457070 8+5crc MJVM 73457070 8+5crc MJVM 70707345 8+6crc 304516 70707345 8+6crc 304516

18 Redes de Computadores 2 (baseado nos slides do Kurose) Checksum UDP 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 11111111, então OK se a soma contiver um 0, então ERRO Objetivo: Detectar erros nos dados transmitidos

19 Redes de Computadores 2 (baseado nos slides do Kurose) Checksum UDP 0110011001100110 0101010101010101 0000111100001111 0110011001100110 0101010101010101 1011101110111011 0000111100001111 + + 1100101011001010 0011010100110101 complemento checksum

20 Princípios de Transferência Confiável de Dados

21 Redes de Computadores 2 (baseado nos slides do Kurose) Confiabilidade das Camadas Camada de TRANSPORTE Camada de APLICAÇÃO REDE TransmissorReceptor Canal Confiável Dado Serviço Confiável Fornecido Canal NÃO-Confiável Protocolo Confiável (emissor) Protocolo Confiável (receptor) Dado udt_send() rdt_send() Pacote rdt_rcv() deliver_data() Dado Implementação do Serviço Confiável As características do canal Não-Confiável definem a complexidade do protocolo confiável

22 Redes de Computadores 2 (baseado nos slides do Kurose) Princípios de Transferência Confiável de Dados Transmissor receptor udt_send(): chamada por rdt para transferência em um canal não-confiável rdt_send(): chamada da aplicação deliver_data(): chamada por rdt para enviar o dado para aplicação Canal NÃO-Confiável Protocolo Confiável (emissor) Protocolo Confiável (receptor) Dado udt_send() rdt_send() Pacote rdt_rcv() deliver_data() Dado rdt_rcv(): chamado quando o pacote chega ao receptor

23 Redes de Computadores 2 (baseado nos slides do Kurose) 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

24 Redes de Computadores 2 (baseado nos slides do Kurose) 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

25 Redes de Computadores 2 (baseado nos slides do Kurose) 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

26 Redes de Computadores 2 (baseado nos slides do Kurose) 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


Carregar ppt "Redes de Computadores 2 - Camada de Transporte (Princípios de Funcionamento & UDP & TCP) - Paulo Roberto Freire Cunha"

Apresentações semelhantes


Anúncios Google