Реализация алгоритма медленного старта использует второе окно, аналогичное окну отправки, но управляемое отдельно, которое называется окном перегрузки (congestion window, snd_cwnd). Окно перегрузки поддерживается в соответствии с оценкой данных, которые сеть в состоянии буферировать для данного соединения. Политика отправки изменяется таким образом, чтобы новые данные отправлялись, лишь если они допускаются как обычным окном отправки, так и окном отправки перегрузки. Окно перегрузки инициализируется размером пакета, заставляя соединение начать с медленного старта. Его размер устанавливается в один пакет каждый раз, когда передача останавливается из-за тайм-аута. В противном случае, когда подтвержден повторно переданный пакет, получающееся окно обновления могло бы позволить отправить полное окно, что снова переполнило бы промежуточные маршрутизаторы. Этот медленный старт после тайм-аута повторной передачи устраняет необходимость теста в процедуре вывода для ограничения вывода размером одного пакета в течение первоначального тайм-аута. Кроме того, тайм-аут может указывать, что сеть стала медленнее из-за перегрузки, и временное уменьшение окна может помочь сети восстановиться из этого состояния.
Соединение вынуждается повторно установить свой таймер синхронизации после того, как оно было остановлено, и медленный старт также приводит к этому эффекту. Медленный старт также используется, если соединение начинает передачу после периода бездействия, по крайней мере, с текущего значения повторной передачи (функции сглаженного времени обращения и оценок дисперсии).
- 17/05/2010 04:38 - Сетевая коммуникация
- 16/05/2010 02:44 - Сетевая файловая система
- 21/03/2010 19:54 - Медленный старт
- 21/03/2010 19:43 - Обработка сдерживания источника
- 21/03/2010 19:36 - Задание размеров буфера и окна
- 31/01/2010 15:39 - Отложенные подтверждения и обновления окон
- 31/01/2010 15:30 - Избежание небольших пакетов