CongWin - Informática

Propaganda
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
Download