redes de computadores - ufmsbrivaldo/pdfs/courses/cn/classes/class08.pdf · brivaldo junior redes...
TRANSCRIPT
![Page 1: Redes de Computadores - UFMSbrivaldo/pdfs/courses/cn/classes/class08.pdf · Brivaldo Junior Redes de Computadores. Controle de Congestionamento Controle de Congestionamento do TCP](https://reader033.vdocuments.mx/reader033/viewer/2022042321/5f0abe907e708231d42d2136/html5/thumbnails/1.jpg)
Controle de CongestionamentoControle de Congestionamento do TCP
Redes de Computadores
Prof. Brivaldo Junior
Universidade Federal de Mato Grosso do Sul
29 de junho de 2017
Brivaldo Junior Redes de Computadores
![Page 2: Redes de Computadores - UFMSbrivaldo/pdfs/courses/cn/classes/class08.pdf · Brivaldo Junior Redes de Computadores. Controle de Congestionamento Controle de Congestionamento do TCP](https://reader033.vdocuments.mx/reader033/viewer/2022042321/5f0abe907e708231d42d2136/html5/thumbnails/2.jpg)
Controle de CongestionamentoControle de Congestionamento do TCP
Visao Geral
1 Controle de Congestionamento
2 Controle de Congestionamento do TCP
Brivaldo Junior Redes de Computadores
![Page 3: Redes de Computadores - UFMSbrivaldo/pdfs/courses/cn/classes/class08.pdf · Brivaldo Junior Redes de Computadores. Controle de Congestionamento Controle de Congestionamento do TCP](https://reader033.vdocuments.mx/reader033/viewer/2022042321/5f0abe907e708231d42d2136/html5/thumbnails/3.jpg)
Controle de CongestionamentoControle de Congestionamento do TCP
Princıpios do Controle de Congestionamento
Congestionamento:
informalmente: “quando muitos emissores enviam dados demais para arede manipular”
diferente de controle de fluxo!como se manifesta:
perda de pacotes (estouro de buffer nos roteadores)alto atraso (enfileiramento nos buffers dos roteadores)
um problema de redes top-10!
Brivaldo Junior Redes de Computadores
![Page 4: Redes de Computadores - UFMSbrivaldo/pdfs/courses/cn/classes/class08.pdf · Brivaldo Junior Redes de Computadores. Controle de Congestionamento Controle de Congestionamento do TCP](https://reader033.vdocuments.mx/reader033/viewer/2022042321/5f0abe907e708231d42d2136/html5/thumbnails/4.jpg)
Controle de CongestionamentoControle de Congestionamento do TCP
Congestionamento: Cenario 1
dois emissores e dois receptoresum roteador com buffer infinitocapacidade do enlace de saıda: Rsem retransmissao
Brivaldo Junior Redes de Computadores
![Page 5: Redes de Computadores - UFMSbrivaldo/pdfs/courses/cn/classes/class08.pdf · Brivaldo Junior Redes de Computadores. Controle de Congestionamento Controle de Congestionamento do TCP](https://reader033.vdocuments.mx/reader033/viewer/2022042321/5f0abe907e708231d42d2136/html5/thumbnails/5.jpg)
Controle de CongestionamentoControle de Congestionamento do TCP
Congestionamento: Cenario 1
λin: vazao de saıda do emissor
λout: vazao recebida peloreceptor
a vazao maxima e R/2 porquetemos duas conexoesconcorrentes
o atraso tende ao infinito,porque temos um bufferinfinito, logo, o atraso tendeao infinito quanto maior a taxade transmissao.
Brivaldo Junior Redes de Computadores
![Page 6: Redes de Computadores - UFMSbrivaldo/pdfs/courses/cn/classes/class08.pdf · Brivaldo Junior Redes de Computadores. Controle de Congestionamento Controle de Congestionamento do TCP](https://reader033.vdocuments.mx/reader033/viewer/2022042321/5f0abe907e708231d42d2136/html5/thumbnails/6.jpg)
Controle de CongestionamentoControle de Congestionamento do TCP
Congestionamento: Cenario 2
emissor retransmite pacotes com tempo expiradoentrada na camada de aplicacao = saıda da camada de aplicacao: λin = λoutentrada da camada de transporte inclue retransmissoes: λ′in ≥ λin
Brivaldo Junior Redes de Computadores
![Page 7: Redes de Computadores - UFMSbrivaldo/pdfs/courses/cn/classes/class08.pdf · Brivaldo Junior Redes de Computadores. Controle de Congestionamento Controle de Congestionamento do TCP](https://reader033.vdocuments.mx/reader033/viewer/2022042321/5f0abe907e708231d42d2136/html5/thumbnails/7.jpg)
Controle de CongestionamentoControle de Congestionamento do TCP
Congestionamento: Cenario 2
Situacao (a): emissor envia somente quando o buffer esta disponıvel (conhecimento perfeito!)
Situacao (b): emissor conhece os pacotes que serao perdidos (buffer cheio) e reenvia somente
eles. (0, 333R bytes/s de dados e 0, 166R bytes/s de retransmissoes)
Situacao (c): timeout prematuro no emissor faz com que ele reenvie pacotes ainda nem recebidos,
fazendo com que a media de envio/reenvio de pacotes seja de duas vezes por pacote.
Brivaldo Junior Redes de Computadores
![Page 8: Redes de Computadores - UFMSbrivaldo/pdfs/courses/cn/classes/class08.pdf · Brivaldo Junior Redes de Computadores. Controle de Congestionamento Controle de Congestionamento do TCP](https://reader033.vdocuments.mx/reader033/viewer/2022042321/5f0abe907e708231d42d2136/html5/thumbnails/8.jpg)
Controle de CongestionamentoControle de Congestionamento do TCP
Congestionamento: Cenario 2
Custos do congestionamento:
mais trabalho (retransmissoes) para alcancar um “goodput” (trafego bom)retransmissoes desnecessarias: enlace transportando multiplas copias deum pacote
reduz o goodput
Brivaldo Junior Redes de Computadores
![Page 9: Redes de Computadores - UFMSbrivaldo/pdfs/courses/cn/classes/class08.pdf · Brivaldo Junior Redes de Computadores. Controle de Congestionamento Controle de Congestionamento do TCP](https://reader033.vdocuments.mx/reader033/viewer/2022042321/5f0abe907e708231d42d2136/html5/thumbnails/9.jpg)
Controle de CongestionamentoControle de Congestionamento do TCP
Congestionamento: Cenario 3
quatro emissores
multiplos caminhos
timeout e retransmissao
Pergunta: O que acontece se λin eλ′in aumentarem? (vazao deA→ C)Resposta: Todos os pacotes recebidos no
roteador R1 terao mais chance de ser da
conexao entre A→ C do que da conexao
entre B → D, causando descarte de pacotes e
levando a vazao entre B e D a 0.
Brivaldo Junior Redes de Computadores
![Page 10: Redes de Computadores - UFMSbrivaldo/pdfs/courses/cn/classes/class08.pdf · Brivaldo Junior Redes de Computadores. Controle de Congestionamento Controle de Congestionamento do TCP](https://reader033.vdocuments.mx/reader033/viewer/2022042321/5f0abe907e708231d42d2136/html5/thumbnails/10.jpg)
Controle de CongestionamentoControle de Congestionamento do TCP
Congestionamento: Cenario 3
Outro custo do congestionamento e que quando um pacote e descartado(dropado), qualquer capacidade de transmissao anterior usada pelo pacotetera sido desperdicada
Brivaldo Junior Redes de Computadores
![Page 11: Redes de Computadores - UFMSbrivaldo/pdfs/courses/cn/classes/class08.pdf · Brivaldo Junior Redes de Computadores. Controle de Congestionamento Controle de Congestionamento do TCP](https://reader033.vdocuments.mx/reader033/viewer/2022042321/5f0abe907e708231d42d2136/html5/thumbnails/11.jpg)
Controle de CongestionamentoControle de Congestionamento do TCP
Mecanismos de Controle de Congestionamento
Controle de congestionamentofim-a-fim:
sem apoio explıcito da rede
congestionamento inferido peloatraso e perda de pacotes nosistema final
abordagem usada pelo TCP
Controle de congestionamento“assistido” pela rede:
roteadores fornecem feedback dosroteadores para os sistemas finais
bit unico sinalizandocongestionamento (SNA, DECbit,ATM)taxa explıcita do emissor para quemele envia
Brivaldo Junior Redes de Computadores
![Page 12: Redes de Computadores - UFMSbrivaldo/pdfs/courses/cn/classes/class08.pdf · Brivaldo Junior Redes de Computadores. Controle de Congestionamento Controle de Congestionamento do TCP](https://reader033.vdocuments.mx/reader033/viewer/2022042321/5f0abe907e708231d42d2136/html5/thumbnails/12.jpg)
Controle de CongestionamentoControle de Congestionamento do TCP
Aumento Aditivo, Reducao Multiplicativa
abordagem: emissor aumenta a taxa de transmissao (e o tamanho dajanela de congestionamento cwnd), procurando pela largura de banda util,ate que uma perda ocorra.
aumento aditivo (additive increase): aumenta cwnd em 1 MSS a cada RTT ateque uma perda seja detectadareducao multiplicativa (multiplicative decrease): corta cwnd pela metade depoisde uma perda
Brivaldo Junior Redes de Computadores
![Page 13: Redes de Computadores - UFMSbrivaldo/pdfs/courses/cn/classes/class08.pdf · Brivaldo Junior Redes de Computadores. Controle de Congestionamento Controle de Congestionamento do TCP](https://reader033.vdocuments.mx/reader033/viewer/2022042321/5f0abe907e708231d42d2136/html5/thumbnails/13.jpg)
Controle de CongestionamentoControle de Congestionamento do TCP
Mecanismos de Controle de Congestionamento
os limites de transmissao doemissor:
LastByteSent− LastByteAcked ≥
min{cwnd, rwnd}
Em que cwnd e a janela decongestionamento e rwnd e ajanela de recepcao
cwnd e dinamico e varia em funcaoda percepcao de congestionamentoda rede
Taxa de envio do TCP:grosseiramente: envia cwnd bytes,espera RTT para ACKs, entao enviamais bytestaxa ≈ cwnd
RTT bytes/s
Brivaldo Junior Redes de Computadores
![Page 14: Redes de Computadores - UFMSbrivaldo/pdfs/courses/cn/classes/class08.pdf · Brivaldo Junior Redes de Computadores. Controle de Congestionamento Controle de Congestionamento do TCP](https://reader033.vdocuments.mx/reader033/viewer/2022042321/5f0abe907e708231d42d2136/html5/thumbnails/14.jpg)
Controle de CongestionamentoControle de Congestionamento do TCP
TCP Slow Start
quando a conexao inicia, ataxa de transferencia aumentaexponencialmente ate que oprimeiro evento de perdaocorra:
inicialmente cwnd = 1 MSSdobra o cwnd a cada RTTtermina o incremento de cwnd
para cada ACK recebido
sumario: comeca devagar, masvai acelerandoexponencialmente
Brivaldo Junior Redes de Computadores
![Page 15: Redes de Computadores - UFMSbrivaldo/pdfs/courses/cn/classes/class08.pdf · Brivaldo Junior Redes de Computadores. Controle de Congestionamento Controle de Congestionamento do TCP](https://reader033.vdocuments.mx/reader033/viewer/2022042321/5f0abe907e708231d42d2136/html5/thumbnails/15.jpg)
Controle de CongestionamentoControle de Congestionamento do TCP
TCP: detectando e reagindo a perdas (recuperacao rapida)
perdas indicadas por timeout:cwnd e definido para 1 MSSssthresh e definido para metade do valor de cwnd no momento que ocorreu aperdajanela cresce exponencialmente (como no slow start) ate um certo limiar(ssthresh) e depois cresce linearmente
perdas sao indicadas por ACKs duplicado triplo: TCP Renocwnd e cortado pela metade e entao cresce linearmente
TCP Tahoe sempre define cwnd para 1 (timeout ou duplicacao tripla deACKs)
Brivaldo Junior Redes de Computadores
![Page 16: Redes de Computadores - UFMSbrivaldo/pdfs/courses/cn/classes/class08.pdf · Brivaldo Junior Redes de Computadores. Controle de Congestionamento Controle de Congestionamento do TCP](https://reader033.vdocuments.mx/reader033/viewer/2022042321/5f0abe907e708231d42d2136/html5/thumbnails/16.jpg)
Controle de CongestionamentoControle de Congestionamento do TCP
TCP: Partida Lenta para Adicao Cumulativa
o crescimento da janela eexponencial ate ssthresh edepois linear (rodada 1 a 4)
a janela cresce linearmente atea rodada 8 (janela alcancatamanho 12)na rodada 8 temos uma perda
ssthresh e definido paracwnd
2 = 6Tahoe: reinicia o cwnd para 1Reno: reinicia o cwnd parassthresh
Figura: Imagem correta. No livro esta errado
Brivaldo Junior Redes de Computadores
![Page 17: Redes de Computadores - UFMSbrivaldo/pdfs/courses/cn/classes/class08.pdf · Brivaldo Junior Redes de Computadores. Controle de Congestionamento Controle de Congestionamento do TCP](https://reader033.vdocuments.mx/reader033/viewer/2022042321/5f0abe907e708231d42d2136/html5/thumbnails/17.jpg)
Controle de CongestionamentoControle de Congestionamento do TCP
Justica do TCP
Se K sessoes TCP compartilharem o mesmo enlace “gargalo”, a largurade banda R de cada um deve ser a taxa media de R
K
Brivaldo Junior Redes de Computadores
![Page 18: Redes de Computadores - UFMSbrivaldo/pdfs/courses/cn/classes/class08.pdf · Brivaldo Junior Redes de Computadores. Controle de Congestionamento Controle de Congestionamento do TCP](https://reader033.vdocuments.mx/reader033/viewer/2022042321/5f0abe907e708231d42d2136/html5/thumbnails/18.jpg)
Controle de CongestionamentoControle de Congestionamento do TCP
Por que o TCP e justo?
duas sessoes competindo:o aumento aditivo aumenta em 1, conforme a vazao aumentao decaimento multiplicativo reduz a vazao proporcionalmente
Brivaldo Junior Redes de Computadores
![Page 19: Redes de Computadores - UFMSbrivaldo/pdfs/courses/cn/classes/class08.pdf · Brivaldo Junior Redes de Computadores. Controle de Congestionamento Controle de Congestionamento do TCP](https://reader033.vdocuments.mx/reader033/viewer/2022042321/5f0abe907e708231d42d2136/html5/thumbnails/19.jpg)
Controle de CongestionamentoControle de Congestionamento do TCP
Exercıcio 1: Verdadeiro ou Falso
Um host A enviando um grande arquivo para um host B sobre uma conexaoTCP. Assuma que B nao tem qualquer dado para enviar para A. B nao enviarareconhecimentos para A, porque B nao pode enviar dados de reconhecimentousando os dados como “carona”.
Solucao
Falso
Brivaldo Junior Redes de Computadores
![Page 20: Redes de Computadores - UFMSbrivaldo/pdfs/courses/cn/classes/class08.pdf · Brivaldo Junior Redes de Computadores. Controle de Congestionamento Controle de Congestionamento do TCP](https://reader033.vdocuments.mx/reader033/viewer/2022042321/5f0abe907e708231d42d2136/html5/thumbnails/20.jpg)
Controle de CongestionamentoControle de Congestionamento do TCP
Exercıcio 1: Verdadeiro ou Falso
Um host A enviando um grande arquivo para um host B sobre uma conexaoTCP. Assuma que B nao tem qualquer dado para enviar para A. B nao enviarareconhecimentos para A, porque B nao pode enviar dados de reconhecimentousando os dados como “carona”.
Solucao
Falso
Brivaldo Junior Redes de Computadores
![Page 21: Redes de Computadores - UFMSbrivaldo/pdfs/courses/cn/classes/class08.pdf · Brivaldo Junior Redes de Computadores. Controle de Congestionamento Controle de Congestionamento do TCP](https://reader033.vdocuments.mx/reader033/viewer/2022042321/5f0abe907e708231d42d2136/html5/thumbnails/21.jpg)
Controle de CongestionamentoControle de Congestionamento do TCP
Exercıcio 2: Verdadeiro ou Falso
O tamanho da tanela TCP rwnd nunca muda durante a duracao de umaconexao.
Solucao
Falso
Brivaldo Junior Redes de Computadores
![Page 22: Redes de Computadores - UFMSbrivaldo/pdfs/courses/cn/classes/class08.pdf · Brivaldo Junior Redes de Computadores. Controle de Congestionamento Controle de Congestionamento do TCP](https://reader033.vdocuments.mx/reader033/viewer/2022042321/5f0abe907e708231d42d2136/html5/thumbnails/22.jpg)
Controle de CongestionamentoControle de Congestionamento do TCP
Exercıcio 2: Verdadeiro ou Falso
O tamanho da tanela TCP rwnd nunca muda durante a duracao de umaconexao.
Solucao
Falso
Brivaldo Junior Redes de Computadores
![Page 23: Redes de Computadores - UFMSbrivaldo/pdfs/courses/cn/classes/class08.pdf · Brivaldo Junior Redes de Computadores. Controle de Congestionamento Controle de Congestionamento do TCP](https://reader033.vdocuments.mx/reader033/viewer/2022042321/5f0abe907e708231d42d2136/html5/thumbnails/23.jpg)
Controle de CongestionamentoControle de Congestionamento do TCP
Exercıcio 3: Verdadeiro ou Falso
Suponha que um host A esta enviando um arquivo grande para um host Busando uma conexao TCP. O numero de bytes nao reconhecidos que A envianao podem exceder o tamanho do buffer de recepcao.
Solucao
Verdadeiro
Brivaldo Junior Redes de Computadores
![Page 24: Redes de Computadores - UFMSbrivaldo/pdfs/courses/cn/classes/class08.pdf · Brivaldo Junior Redes de Computadores. Controle de Congestionamento Controle de Congestionamento do TCP](https://reader033.vdocuments.mx/reader033/viewer/2022042321/5f0abe907e708231d42d2136/html5/thumbnails/24.jpg)
Controle de CongestionamentoControle de Congestionamento do TCP
Exercıcio 3: Verdadeiro ou Falso
Suponha que um host A esta enviando um arquivo grande para um host Busando uma conexao TCP. O numero de bytes nao reconhecidos que A envianao podem exceder o tamanho do buffer de recepcao.
Solucao
Verdadeiro
Brivaldo Junior Redes de Computadores
![Page 25: Redes de Computadores - UFMSbrivaldo/pdfs/courses/cn/classes/class08.pdf · Brivaldo Junior Redes de Computadores. Controle de Congestionamento Controle de Congestionamento do TCP](https://reader033.vdocuments.mx/reader033/viewer/2022042321/5f0abe907e708231d42d2136/html5/thumbnails/25.jpg)
Controle de CongestionamentoControle de Congestionamento do TCP
Exercıcio 4
Suponha que um host A envia dois segmentos TCP um atras do outro para o host B por uma conexao
TCP. O primeiro segmento tem numero de sequencia 90; o segundo tem numero de sequencia 110.
1 Quantos dados foram enviados no primeiro segmento?
2 Suponha que o primeiro segmento foi perdido, mas o segundo chegue a B. No reconhecimento
que B envia para A, qual sera o numero de reconhecimento?
Solucao
1 20 bytes
2 ACK = 90
Brivaldo Junior Redes de Computadores
![Page 26: Redes de Computadores - UFMSbrivaldo/pdfs/courses/cn/classes/class08.pdf · Brivaldo Junior Redes de Computadores. Controle de Congestionamento Controle de Congestionamento do TCP](https://reader033.vdocuments.mx/reader033/viewer/2022042321/5f0abe907e708231d42d2136/html5/thumbnails/26.jpg)
Controle de CongestionamentoControle de Congestionamento do TCP
Exercıcio 4
Suponha que um host A envia dois segmentos TCP um atras do outro para o host B por uma conexao
TCP. O primeiro segmento tem numero de sequencia 90; o segundo tem numero de sequencia 110.
1 Quantos dados foram enviados no primeiro segmento?
2 Suponha que o primeiro segmento foi perdido, mas o segundo chegue a B. No reconhecimento
que B envia para A, qual sera o numero de reconhecimento?
Solucao
1 20 bytes
2 ACK = 90
Brivaldo Junior Redes de Computadores
![Page 27: Redes de Computadores - UFMSbrivaldo/pdfs/courses/cn/classes/class08.pdf · Brivaldo Junior Redes de Computadores. Controle de Congestionamento Controle de Congestionamento do TCP](https://reader033.vdocuments.mx/reader033/viewer/2022042321/5f0abe907e708231d42d2136/html5/thumbnails/27.jpg)
Controle de CongestionamentoControle de Congestionamento do TCP
Perguntas ?
Brivaldo Junior Redes de Computadores