Pré-requisitos - Conhecimento básico de controle de congestionamento

O TCP usa uma janela de congestionamento e uma política de congestionamento que evita o congestionamento. Anteriormente, presumíamos que apenas o receptor pode ditar o tamanho da janela do remetente. Ignoramos outra entidade aqui, a rede. Se a rede não puder entregar os dados tão rapidamente quanto são criados pelo remetente, ela deve dizer ao remetente para diminuir a velocidade. Ou seja, além do receptor, a rede é uma segunda entidade que determina o tamanho da janela do remetente.

Política de congestionamento em TCP -

  1. Fase de início lento: começa o incremento lento é exponencial para o limite
  2. Fase de prevenção de congestionamento: Após atingir o limite, o incremento é de 1
  3. Fase de detecção de congestionamento: o remetente volta para a fase de início lento ou para a fase de prevenção de congestionamento.

Fase de início lento: incremento exponencial - Nesta fase, após cada RTT, o tamanho da janela de congestionamento aumenta exponencialmente.

Initially cwnd = 1
After 1 RTT, cwnd = 2^(1) = 2
2 RTT, cwnd = 2^(2) = 4
3 RTT, cwnd = 2^(3) = 8

Fase de prevenção de congestionamento: incremento aditivo - esta fase começa após o valor de limite também denotado como ssthresh . O tamanho de cwnd (janela de congestionamento) aumenta o aditivo. Após cada RTT cwnd = cwnd + 1.

Initially cwnd = i
After 1 RTT, cwnd = i+1
2 RTT, cwnd = i+2
3 RTT, cwnd = i+3

Fase de detecção de congestionamento: decremento multiplicativo - Se ocorrer congestionamento, o tamanho da janela de congestionamento é reduzido. A única maneira de um remetente adivinhar que ocorreu o congestionamento é a necessidade de retransmitir um segmento. A retransmissão é necessária para recuperar um pacote ausente que foi considerado descartado por um roteador devido ao congestionamento. A retransmissão pode ocorrer em um de dois casos: quando o temporizador RTO atinge o tempo limite ou quando três ACKs duplicados são recebidos.

  • Caso 1: Retransmissão devido ao tempo limite - neste caso, a possibilidade de congestionamento é alta.

    (a) ssthresh é reduzido à metade do tamanho da janela atual.
    (b) defina cwnd = 1
    (c) comece com a fase de início lento novamente.

  • Caso 2: Retransmissão devido a 3 duplicatas de confirmação - neste caso, a possibilidade de congestionamento é menor.

    (a) o valor ssthresh é reduzido à metade do tamanho da janela atual.
    (b) definir cwnd = ssthresh
    (c) iniciar com a fase de prevenção de congestionamento

    Exemplo - suponha que um protocolo TCP tenha o comportamento de inicialização lenta. Na 5ª rodada de transmissão com um valor limite (ssthresh) de 32 entra na fase de prevenção de congestionamento e continua até a 10ª transmissão. Na 10ª rodada de transmissão, 3 ACKs duplicados são recebidos pelo receptor e entram no modo de aumento aditivo. O tempo limite ocorre na 16ª rodada de transmissão. Plote a rodada de transmissão (tempo) versus o tamanho da janela de congestionamento dos segmentos TCP.

    Perguntas do GATE CS -

    Praticar as perguntas a seguir o ajudará a testar seus conhecimentos. Todas as perguntas foram feitas no GATE em anos anteriores ou nos testes de simulação GATE. É altamente recomendável que você os pratique.

    1. GATE CS 2008, Questão 56
    2. GATE CS 2012, Questão 65
    3. GATE CS 2014 (Conjunto 1), Pergunta 65
    4. GATE IT 2005, Questão 73

    Este artigo é uma contribuição de SHAURYA UPPAL . Se você gosta de GeeksforGeeks e gostaria de contribuir, você também pode escrever um artigo usando contribute.geeksforgeeks.org ou enviar o seu artigo para contribute@geeksforgeeks.org. Veja o seu artigo na página principal do GeeksforGeeks e ajude outros Geeks.

    Escreva comentários se encontrar algo incorreto ou se quiser compartilhar mais informações sobre o tópico discutido acima.

    Atenção leitor! Não pare de aprender agora. Pratique o exame GATE bem antes do exame real com os questionários sobre o assunto e gerais disponíveis no curso GATE Test Series .

    Aprenda todos os conceitos do GATE CS com aulas gratuitas ao vivo em nosso canal do youtube.