O documento discute o controle de congestionamento no protocolo TCP. O TCP usa quatro algoritmos para evitar e responder à congestão: congestion avoidance, slow start, fast retransmit e fast recovery. A janela deslizante permite o envio de vários pacotes sem esperar ACKs e ajuda no controle de fluxo entre origem e destino.
2. Agenda
• O que é o TCP
• Congestionamento
• Janela Deslizante
• Manifestações
• Controle de Congestionamento
3. Um pouco sobre o TCP
• O protocolo TCP (Transmission Control Protocol) tem a
finalidade de fornecer um serviço confiável e orientado a
conexões de transmissão de dados.
• Para, o TCP utiliza o reconhecimento positivo com
retransmissão, na qual o destinatário de um pacote
transmite uma mensagem de reconhecimento
(Acknowledgement ou ACK) para cada pacote recebido.
4. Um pouco sobre o TCP
• 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á.
5. Congestionamento
• Ocorre quando o volume de dados que trafegam pela rede
é maior do que a sua capacidade.
• Muitas fontes enviando muitos dados muito rápido para a
rede tratar”
• Por exemplo, quando vários fluxos de pacotes chegam em
três ou quatro entradas de um roteador e todos os fluxos
deverão ser escoados pela mesma porta de saída, a fila
deste roteador pode encher, e se a quantidade de memória
para armazenar todos os pacotes for insuficiente os pacotes
serão descartados.
7. Controle de congestionamento
• Este termo é utilizado para descrever os esforços realizados
pelos nós da rede para impedir ou responder a condições de
sobrecarga.
• O controle de congestionamento do TCP é realizado por
quatro algoritmos:
• Congestion Avoidance;
• Slow Start;
• Fast Retransmit;
• Fast Recovery.
8. Congestion Avoidance (Evitar o
congestionamento)
• É o algoritmo que age como controle de acionamento para
os demais algoritmos para o controle de congestionamento.
• Slow Start;
• Fast Retransmit;
• Fast Recovery.
9. Slow Start (início lento)
• É uma das funções que são utilizadas pelo protocolo TCP
para impedir o congestionamento de dados dentro da rede.
Essa função faz com que o transmissor não envia uma
quantidade da dados superior ao que a rede é capaz de
processar.
• Com isso minimizando o enfileiramento de pacotes na
memória temporária (buffer) dos roteadores.
10. Fast Retransmit (Retransmissão rápida)
• É uma tecnica que permite que o protocolo TCP reduza o
tempo de espera para retransmitir um pacote que foi perdido
devido a colisão ou congestionamento da rede.
11. Fast recovery (Recuperação rápida)
• É uma variação do slow start que opera em conjunto ao fast
retransmit que permite ao protocolo TCP utilizar o slow start
durante a transição, fazendo com que o fluxo de dados
transmitidos durante aquele período de tempo seja menor
minimizando a perda de dados e ganho de tempo durante as
transmições.
12. Janela deslizante
• É um buffer que contém um número finito de pacotes que
podem ser transmitidos independentemente de
reconhecimento.
• A medida que os ACKs (pacotes de conhecimento) são
recebidos a janela desliza incorporando novos pacotes no
buffer. Se todos os pacotes da janela forem transmitidos e
nenhum ACK for recebido, o TCP não transmitirá nenhum
novo pacote e entrará em estado de espera por
reconhecimentos ou expiração dos temporizadores de
retransmissão.
13. Janela deslizante
• A janela deslizante é utilizada também para controle de
fluxo na conexão TCP através de alterações em seu
tamanho. Em cada ACK transmitido o destinatário informa a
fonte quantos pacotes ele é capaz de receber (advertised
window).
• Esta informação faz com que a fonte ajuste o tamanho da
sua janela deslizante de forma a não enviar mais pacotes
que o destinatário consiga processar.