Em outubro de 1986, a vazão da internet caiu para cerca de um milésimo da capacidade à medida que a carga crescia, embora nenhum link isolado estivesse quebrado. Van Jacobson diagnosticou a causa: os emissores transmitiam o mais rápido que podiam e, em caso de perda, retransmitiam em velocidade máxima, de modo que a rede gastava sua capacidade retransmitindo pacotes que seriam descartados novamente.
Seu artigo de 1988 propôs o slow start e a evitação de congestionamento. Um emissor começa com um segmento e dobra sua janela a cada confirmação até detectar perda, então reduz a janela pela metade e aumenta lentamente. Em vez de presumir a capacidade do caminho, cada emissor a mede por meio do feedback e se adapta.
O projeto é deliberadamente conservador no início porque a única maneira de descobrir a largura de banda disponível é sondá-la, e a única maneira segura de sondar é com cautela. O comportamento resultante — aumento aditivo, redução multiplicativa — permite que milhares de conexões compartilhem um mesmo caminho sem um escalonador central.
Sondar a capacidade com cautela; reduzir pela metade em caso de perda
A perda é tratada como um sinal, não como um erro, de modo que os emissores reagem antes de a rede ficar inundada.
O crescimento exponencial encontra a capacidade rapidamente, enquanto a redução pela metade em caso de perda mantém a recuperação segura.
O algoritmo é local: cada emissor se adapta a partir de seu próprio feedback, então o sistema escala para milhões de conexões.
Corrigiu uma falha sistêmica com uma mudança no comportamento de um protocolo, não com novo hardware.
Quando a capacidade do sistema é desconhecida e compartilhada, faça cada participante sondar de forma conservadora e recuar diante do feedback — o agregado então se autorregula.
O slow start e a evitação de congestionamento tornaram-se o núcleo do controle de congestionamento do TCP e foram codificados na RFC 2001 em 1997. Variantes posteriores (NewReno, CUBIC, BBR) refinaram as regras de sondagem, mas o princípio de sondar e recuar ainda rege como a maior parte da internet compartilha largura de banda.
CONFIRA AS EVIDÊNCIAS
As fontes
- Congestion Avoidance and Control ACM SIGCOMM 1988 (via Lawrence Berkeley National Laboratory) · ee.lbl.gov ·
- RFC 2001 — TCP Slow Start, Congestion Avoidance, Fast Retransmit, and Fast Recovery Algorithms IETF / RFC Editor · rfc-editor.org