protocolo
17
2
Controle de Congestionamento do TCP
A principal causa de descarte de pacotes na rede é o congestionamento.
Um estudo detalhado dos mecanismos de controle de congestionamento do TCP é apresentado a seguir.
O protocolo TCP (Transmission Control Protocol) faz parte do conjunto de protocolos denominados TCP/IP e tem a finalidade de fornecer um serviço confiável e orientado a conexões de transmissão de dados. Para fornecer esta confiabilidade na transmissão de dados, o TCP utiliza uma técnica conhecida como reconhecimento positivo com retransmissão, na qual o destinatário de um
PUC-Rio - Certificação Digital Nº 0220885/CA
pacote transmite uma mensagem de reconhecimento (Acknowledgement ou
ACK) para cada pacote recebido. Esta mensagem informa a fonte o número seqüencial (sequence number) que corresponde a um campo do cabeçalho TCP do próximo pacote esperado pelo destino. O remetente aguarda o recebimento do ACK para transmitir o próximo pacote. Se, após um período pré-definido por um temporizador, o ACK para um determinado pacote não tiver sido recebido, o
TCP assume que o pacote foi perdido e o retransmite. Da mesma forma, se a fonte receber três ACKs (ACK duplicado) solicitando pelo número seqüencial do último pacote transmitido o TCP também considerará o pacote perdido e o retransmitirá. Normalmente, o valor deste temporizador é dado por, temporizador = β * R
onde R é uma estimativa do RTT (Round Trip Time) que representa o tempo decorrido entre a transmissão de um pacote e o recebimento do ACK. Para acomodar as variações que ocorrem normalmente em uma rede como a Internet, o TCP monitora os atrasos para cada conexão constantemente, atualizando o valor de R sempre que necessário. O apêndice B descreve o cálculo utilizado pelo TCP para estimar o RTT. A especificação original do protocolo recomenda utilizar β = 2.
O mecanismo descrito anteriormente pode levar a um baixo desempenho
em