«Почему отправляющему объекту в TCP необходимо учитывать размер окна перегрузки при определении размера скользящего окна?»
Это связано с тем, что размер окна перегрузки представляет возможную перегрузку в сети. Это одна из ключевых функций TCP. Это окно обновляется в три этапа.
На первом этапе, когда запускается TCP, он начинается с окон перегрузки, равных 1 MSS (максимальный размер сегмента), а затем постепенно увеличивается. Отправитель TCP начинает с этого значения, потому что он «оценивает», сколько пакетов он может отправить по сети. Эта фаза также известна как фаза медленного старта. Кстати, несмотря на то, что это называется медленным стартом, TCP увеличивает пакет, удваивая окно перегрузки, и увеличение происходит при получении ACK.
На втором этапе, когда окно перегрузки достигает порога медленного старта (ss) (да, он есть!), отправитель TCP увеличивает свое окно перегрузки аддитивно — это фаза предотвращения перегрузки. Здесь отправитель становится более осторожным. Опять же, увеличение происходит при получении ACK.
На третьем этапе, когда пакет отбрасывается (одной из причин может быть тайм-аут повторной передачи), TCP сокращает окно перегрузки до 1 MSS и перезапускается, чтобы снова увеличить его. Это делается потому, что возникла вероятная перегрузка, поэтому сокращение окна перегрузки, скорее всего, устранит ситуацию перегрузки на пути. В отличие от других этапов, снижение происходит из-за отсутствия приема ACK.
person
Manoj Pandey
schedule
15.09.2013