TCP congestion control и queueing

TCP механизми за регулация на трафика и congestion-control

В стандартните TCP имплементации има няколко механизма за предотвратяване на congestion:

  • TCP Slow-start – това е стандартният метод за увеличаване на количеството данни, което се изпраща – в началото експоненциално започвайки от един сегмент, а след определен момент – линейно(congestion-avoidance поведение), и регулация на това количество при наличие на задръстване (congestion) някъде по мрежата след източника на трафик;
  • TCP congestion-avoidance – работи заедно с TCP Slow-start и дефинира начин за регулация на нарастването на обема данни за изпращане при TCP – де факто представлява flow control при източника;
  • TCP Fast retransmit -дефинира ускорено препредаване на част от данни, при получаване на минимум 3 дубликатни квитанции (duplicate acknowledgements), без да се изчаква изтичането на TCP retransmission timeout-а.
  • TCP Fast recovery – след изпращането на липсващият сегмент от fast retransmit механизма, TCP продължава с линейно нарастване на количеството изпращана информация (congestion avoidance), вместо със започване на slow-start от самото начало;

TCP Slow-start

При установяване на TCP сесия една от променливите, които се инициализират в крайните възли е cwnd – congestion window. (more…)