Anda di halaman 1dari 15

TCP - controle de congestionamento

Remetente limita a transmisso Baseado em janelas


Remetente e destinatrio mantm uma varivel chamada janela de congestionamento (CongWin)

LastByteSent LastByteAcked min{CongWin, RcvWindow}


Para no congestionar a rede e no saturar o buffer do destinatrio

Apresentao supe que a limitao da janela de recepo desprezvel e que o flavor o Reno

TCP - controle de congestionamento


Permite o envio de CongWin segmentos de tamanho mximo MSS antes de receber um ACK Com uma janela de tamanho CongWin e um round trip time RTT, a vazo dada por
CongWin x MSS / RTT

TCP - controle de congestionamento


Eventos de perda
Estouro de temporizao Recebimento de trs ACKs duplicados

Dois componentes principais


Partida lenta (Slow Start) Aumento aditivo, diminuio multiplicativa (Additive Increase, Multiplicative Decrease - AIMD)

TCP - controle de congestionamento


Algoritmo partida lenta
Inicialmente CongWin = 1 (RFC 3390) Janela CongWin aumenta de um segmento a cada ACK recebido (dobra a cada RTT) CongWin = CongWin + 1 At um limite Threshold ou uma perda
Threshold AIMD 3 ACKs duplicados AIMD Estouro de temporizador incio da partida lenta

TCP - controle de congestionamento


Exemplo com partida lenta (fonte: Kurose)
Hosp. A Hosp. B

RTT

tempo

TCP - controle de congestionamento


Algoritmo AIMD
Janela CongWin cresce 1/CongWin a cada ACK recebido
CongWin = CongWin + a/CongWin, a = 1

Perda
Threshold = 0,5 * CongWin Janela CongWin diminui de 0,5 CongWin a cada segmento perdido por ACKs duplicados CongWin = CongWin - b * CongWin, b = 0,5 CongWin = 1 se perda por temporizao

TCP - controle de congestionamento


Exemplo com AIMD (fonte: Kurose)

TCP - controle de congestionamento


Algoritmo AIMD
Para MSS = 1500, RTT = 100 ms e vazo = 10 Gbps, CongWin deve ser 83333 Isso gera uma taxa de perdas que no pode passar de 2 10-10 no possvel atualmente Soluo: uso de outros protocolos de transporte, como o HSTCP

TCP - flavors
Tahoe
Mais antigo Usa partida lenta e AIMD Qualquer perda volta partida lenta

Reno
Mais novo Usa partida lenta e AIMD Usa retransmisso rpida, recuperao rpida e ACKs atrasados Apresentado anteriormente

Vegas
Usa um outro algoritmo de congestionamento

TCP - flavors
Sack
Usa retransmisso seletiva Usa o campo de opes para indicar blocos no contguos recebidos

New Reno

TCP - controle de congestionamento


Exemplo de controle de congestionamento do TCP (fonte: Kurose)
14 congestion window size (segments) 12 10 8 6 4 2 0

threshold TCP Tahoe


1 2 3 4 5

TCP Reno
6 7 8 9 10 11 12 13 14 15 Transmission round

TCP - justia
AIMD justo Na apresentao supe-se
Duas conexes TCP Mesmos MSSs e RTTs Enlace R

TCP - justia
Compartilhamento de um enlace congestionado (fonte: Kurose)

TCP - justia
Vazo das conexes (fonte: Kurose)

Bibliografia
Kurose Captulos 3 e 7 Tanenbaum Captulo 6 Comer

Anda mungkin juga menyukai