Redes de Computadores - UFMSbrivaldo/pdfs/courses/cn/classes/class08.pdf · Brivaldo Junior Redes...
Transcript of Redes de Computadores - UFMSbrivaldo/pdfs/courses/cn/classes/class08.pdf · Brivaldo Junior Redes...
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
Controle de CongestionamentoControle de Congestionamento do TCP
Visao Geral
1 Controle de Congestionamento
2 Controle de Congestionamento do TCP
Brivaldo Junior Redes de Computadores
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Controle de CongestionamentoControle de Congestionamento do TCP
Perguntas ?
Brivaldo Junior Redes de Computadores