Redes de Computadores Aula 6



Documentos relacionados
Redes de Computadores

PTC Aula Princípios da transferência de dados confiável. (Kurose, Seções 3.4 e 3.5) 28/04/2017

Fragmentos das máquinas de estados finitos do RDT 2.2 (fonte: Kurose)

Redes de computadores e a Internet. Capítulo 3. Camada de transporte

Redes de Computadores. Protocolos ARQ Continuação Profa. Priscila Solís Barreto

Serviços e Protocolos de Transporte

Redes de Computadores

Capítulo 3: Camada de Transporte. Multiplexação/desmultiplexação. Serviços e protocolos de transporte. Antônio Abelém abelem@ufpa.

Camada de transporte. Serviços

Serviços da camada de transporte

SSC0641 Redes de Computadores

Camada de transporte. Camada de transporte

Redes de Computadores

Camada de Transporte Transferindo Mensagem entre Processos

Tecnologia de Redes de Computadores

PTC Aula Princípios da transferência de dados confiável 3.5 Transporte orientado para conexão: TCP

Capítulo 3: Camada de Transporte

Redes de Computadores

Camada de Transporte. Protocolos TCP e UDP

Capítulo 3 Camada de transporte

TCP - multiplexação/demultiplexação

Transporte. Sua função é: Promover uma transferência de dados confiável e econômica entre máquina de origem e máquina de destino.

Controle de Erro em Redes de Computadores

Protocolos com paralelismo (pipelining) Pipelining: aumento da utilização

Camada de Transporte. Serviços de Transporte. Desempenho em Protocolos de Transporte. Aprender sobre protocolos de transporte na Internet

Slides e Notas de Aula. Adriano Mauro Cansian. adriano@ieee.org

Protocolo de transporte em tempo-real (Real- Time Transport Protocol) Definido na RFC 3350 Normalmente usado sobre o UDP Serviços

Introdução. Algumas terminologias. Camada de Enlace de Dados. Prof. Leandro Pykosz

Curso de Redes de Computadores 2010

Redes de Computadores_Marcelo Furtado Pratica 2- Qualidade de serviços

Capítulo 3. Camada de transporte. Pearson. Todos os direitos reservados.1

4. Protocolos Teóricos e Protocolos de Controlo de Ligação Protocolos ARQ; Especificação de Protocolos; Eficiência ARQ.

Cap. 3 O nível de transporte

Nível de Enlace. Nível de Enlace. Serviços. Serviços oferecidos os nível de rede

Redes de Computadores I. Gabarito da Lista de Exercícios

Redes de computadores e a Internet. Capítulo3. Camada de transporte

EEL878 - Redes de Computadores I. Prof. Luís Henrique Maciel Kosmalski Costa.

Redes de Computadores II. Módulo 1 Introdução e a camada de enlace

Redes de Computadores

Redes de Computadores e a Internet

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

Redes de Computadores 1ª Colecção Exercícios diversos 2 de Novembro de 2006 Arquitecturas de comunicação, controlo de acesso ao meio

Redes de Computadores. Camada de Transporte

Comunicação de Dados

Tratamento de erros. Escola Superior de Tecnologia e Gestão Instituto Politécnico de Bragança Abril de 2006

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Controle de Congestionamento

Camada de Transporte. Protocolos TCP e UDP

TCP: Visão geral RFCs: 793, 1122, 1323, 2018, TCP: nos. de seq. e ACKs. TCP: estrutura do segmento. TCP: Tempo de Resposta (RTT) e Temporização

TCP - estabelecimento de conexão

PROJETO DE REDES

Monitoração de Desempenho de Redes Curso SCI/RNP. Ferramentas de Medição - Iperf NTP

2 Controle de Congestionamento do TCP

Protocolos de Transmissão

REDES DE COMPUTADORES II

Redes de Computadores

Capítulo 3: Camada de Transporte

TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581

Camada Transporte Parte 2. Prof. Dr. S. Motoyama

REDES DE COMPUTADORES Camada de Transporte. Alexandre Augusto Giron

Nível de Enlace. Nível de Enlace. Serviços. Serviços. Serviços. Serviços. Serviços oferecidos os nível de rede

PEL/FEN Redes de Computadores 2015/1 Primeira Lista de Exercícios Prof. Marcelo Gonçalves Rubinstein

Software para o Ensino do Protocolo de Janelas Deslizantes. Software for Sliding-Window Protocol teaching

Redes de Computadores II

Teleprocessamento e Redes

Transporte. Transporte. Nível de Transporte Portas, Protocolos UDP e TCP. Transporte. Transporte. Nível de Transporte

Networking Performance Best Practices. Priscila Veiga Technical Account Manager May/2014

Redes de Computadores

Camada de Transporte, protocolos TCP e UDP

Controle de Congestionamento em TCP Parte 2. Prof. Dr. S. Motoyama

6 de Julho de Exercício 23 Para que servem portas na camada de transporte?

Curso: Tec. Em Sistemas Para Internet 1 semestre Redes de Computadores Memória de Aula 07. Prof. Moises P. Renjiffo

Transcrição:

Redes de Computadores Aula 6 Aula passada Camada de transporte Multiplexação Princípios de transmissão confiável Aula de hoje Eficiência Go Back N Selective Repeat Stop and wait

Eficiência do Stop-and-Wait Início da transmissão Fim da transmissão Recebe confirmação Pacote L bytes Taxa de transmissão R Propagação p Vazão máxima do canal? Utilização? Muito ruim! tempo tempo

Eficiência do Stop-and-Wait Pacote L bytes Taxa de transmissão R Propagação p Vazão = L / (L/R + 2p) Ex. L = 1000 bytes, R = 1Gbps, p = 10ms V = 400Kbps Apesar do enlace ser de 1Gbps! U = 0.4/1000 = 0.0004! Como melhorar eficiência?

Protocolos com Pipeline Pipeline: transmissor permite múltiplos pacotes em trânsito, antes de receber ACK Problemas que teremos que resolver? Significado do ACK, número de sequência, ordenação, bufferização

Vazão com Pipeline Rx ACK 1 Rx ACK 2 Rx ACK 3 Tx P1 Tx P2 Tx P3 Tx P4 Tx P5 Tx P6 Tx ACK 1 Tx ACK 2 Tx ACK 3 Supor pipeline de 3 pacotes Ganho na vazão? Ganho na utilização? Transmissão de 3 pacotes Vazão 3 vezes maior! tempo tempo

Protocolos com Pipeline (ou Janela) Go-back N Tx poder ter até N pacotes sem ACK no pipeline Rx transmite ACKs cumulativos Não envia ACK se tiver faltando na sequência Tx tem timer para pacote mais antigo sem ACK Retransmite todos os pacotes se timer expira Selective Repeat: Tx pode ter até N pacotes sem ACK no pipeline RX envia ACK individual para pacotes Tx mantém um timer para cada pacote Retransmite somente o pacote se timer expira

Go-Back-N Sender: k-bit seq # in pkt header window of up to N, consecutive unack ed pkts allowed ACK(n): ACKs all pkts up to, including seq # n - cumulative ACK may receive duplicate ACKs (see receiver) timer for each in-flight pkt timeout(n): retransmit pkt n and all higher seq # pkts in window

GBN: sender extended FSM rdt_send(data) Λ base=1 nextseqnum=1 rdt_rcv(rcvpkt) && corrupt(rcvpkt) if (nextseqnum < base+n) { sndpkt[nextseqnum] = make_pkt(nextseqnum,data,chksum) udt_send(sndpkt[nextseqnum]) if (base == nextseqnum) start_timer nextseqnum++ } else refuse_data(data) Wait timeout start_timer udt_send(sndpkt[base]) udt_send(sndpkt[base+1]) udt_send(sndpkt[nextseqnum 1]) rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) base = getacknum(rcvpkt)+1 If (base == nextseqnum) stop_timer else start_timer

GBN: receiver extended FSM default udt_send(sndpkt) Λ Wait expectedseqnum=1 sndpkt = make_pkt(expectedseqnum,ack,chksum) rdt_rcv(rcvpkt) && notcurrupt(rcvpkt) && hasseqnum(rcvpkt,expectedseqnum) extract(rcvpkt,data) deliver_data(data) sndpkt = make_pkt(expectedseqnum,ack,chksum) udt_send(sndpkt) expectedseqnum++ ACK-only: always send ACK for correctly-received pkt with highest in-order seq # may generate duplicate ACKs need only remember expectedseqnum out-of-order pkt: discard (don t buffer) -> no receiver buffering! Re-ACK pkt with highest in-order seq #

GBN in action

Selective Repeat receiver individually acknowledges all correctly received pkts buffers pkts, as needed, for eventual in-order delivery to upper layer sender only resends pkts for which ACK not received sender timer for each unacked pkt sender window N consecutive seq # s again limits seq #s of sent, unacked pkts

Selective repeat: sender, receiver windows

Selective repeat sender data from above : if next available seq # in window, send pkt timeout(n): resend pkt n, restart timer ACK(n) in [sendbase,sendbase+n]: mark pkt n as received if n smallest unacked pkt, advance window base to next unacked seq # pkt n in [rcvbase, rcvbase+n-1] send ACK(n) out-of-order: buffer in-order: deliver (also deliver buffered, in-order pkts), advance window to next not-yet-received pkt pkt n in [rcvbase-n,rcvbase-1] ACK(n) otherwise: receiver ignore

Selective repeat in action

Selective repeat: dilemma Example: seq # s: 0, 1, 2, 3 window size=3 receiver sees no difference in two scenarios! incorrectly passes duplicate data as new in (a) Q: what relationship between seq # size and window size?