Desempenho do Controle de Congestionamento Magnos Martinello Universidade Federal do Espírito Santo - UFES Departamento de Informática – DI Laboratório de Pesquisas em Redes Multimidia – LPRM Controle de congestionamento no TCP Comportamento dentes de serra : sondando por banda congestion window size • Abordagem: aumentar a taxa de transmissão (tamanho da janela), sondando pela banda usada, até uma perda ocorrer – Aumento aditivo: incrementar CongWin em 1 MSS cada RTT até perda detectada – Diminuição multiplicativa : cortar CongWin pela metade após uma perda congestion window 24 Kbytes 16 Kbytes 8 Kbytes time time Prof. Magnos Martinello – UFES Controle de congestionamento no TCP • Emissor limitado: LastByteSent-LastByteAcked min(CongWin,RcvWin) Como o emissor percebe o congestionamento? • Evento de perda = timeout ou 3 acks duplicados CongWin taxa = Bytes/sec RTT • Emissor TCP reduz taxa (CongWin) após evento de perda • CongWin é dinâmica, função do • três mecanismos: congestionamento percebido na – AIMD rede – Partida lenta – Conservativo após Prof. Magnos Martinello – UFES eventos de timeout TCP Slow Start • Aumentar a taxa exponencialmente Host A Host B RTT • Quando uma conexao inicia, CongWin = 1 MSS – Exemplo: MSS = 500 bytes & RTT = 200 msec – Taxa inicial = 20 kbps • Banda disponível pode ser >> MSS/RTT – Desejável rapidamente aumentar a taxa Prof. Magnos Martinello – UFES time Refinamento P: Quando o aumento exponencial deve trocar para linear? R: Quando CongWin chegar a 1/2 do valor do timeout Implementação: • Threshold variável • Em um evento de perda, Threshold é configurado para 1/2 do CongWin Prof. Magnos Martinello – UFES Refinamento: inferindo perda • Depois de 3 ACKs dup: – CongWin é cortada pela metade Filosofia: – Janela cresce 3 ACKs dup indicam linearmente que a rede é capaz de • Mas depois de um evento entregar alguns de timeout: segmentos – CongWin é configurada timeout indica um para 1 MSS; cenário de congestionamento – Janela cresce “mais alarmante” exponencialmente – Até um threshold, então cresce Prof. Magnos Martinello – UFES linearmente Resumo: Controle de congestionamento TCP Quando CongWin está abaixo do Threshold, emissor está na fase slow-start , janela cresce exponencialmente. Quando CongWin está acima do Threshold, emissor está na fase congestion-avoidance, janela cresce linearmente. Quando um triplo ACK ocorre, Threshold configurado para CongWin/2 e CongWin configurado para Threshold. Quando ocorre um timeout, Threshold configurado para CongWin/2 e CongWin é configurado para 1 MSS. Prof. Magnos Martinello – UFES TCP Throughput Qual é o throughout médio do TCP em função do tamanho da janela e RTT? Ignore slow start Seja W o tamanho da janela quando um perda ocorre Quando a janela é W, throughput é W/RTT Logo após uma perda, janela cai para W/2, throughput é então W/2RTT. Throughout médio: .75 W/RTT Prof. Magnos Martinello – UFES Como modelar a latência ? Janela de congestionamento dinâmica Prof. Magnos Martinello – UFES