TCP Westwood (TCPW) — это модификация TCP New Reno , предназначенная только для отправителя , которая предназначена для лучшей обработки больших путей с задержкой полосы пропускания (большие каналы), с потенциальной потерей пакетов из-за ошибок передачи или других ошибок (дырявые каналы), а также с динамической нагрузкой (динамические каналы). [1]
TCP Westwood использует поток ACK для получения информации, которая поможет ему лучше установить параметры управления перегрузкой: порог медленного старта (ssthresh) и окно перегрузки (cwin). В TCP Westwood «приемлемая скорость» оценивается и используется отправителем для обновления ssthresh и cwin при индикации потери или во время фазы «гибкого зондирования», предлагаемой модификации хорошо известной фазы медленного старта . Кроме того, была разработана схема под названием Persistent Non Congestion Detection (PNCD) для обнаружения постоянного отсутствия перегрузки и запуска фазы гибкого зондирования для оперативного использования большой динамической полосы пропускания.
Полученные в результате приросты производительности в эффективности без неоправданного ущерба справедливости, дружелюбию и стабильности были описаны в многочисленных статьях, которые можно найти на домашней странице TCP WESTWOOD. Значительный прирост эффективности может быть получен для больших динамических труб с утечкой, при сохранении справедливости. При более подходящем критерии дружелюбия, т. е. «оппортунистическом дружелюбии», TCP Westwood демонстрирует хорошую и контролируемую дружелюбность.
Основная идея Westwood TCP, которая представляет собой оценку пропускной способности «из конца в конец» для установки контрольных окон после перегрузки, была предложена Саверио Масколо . Он пришел к этой идее после прочтения главы о контроле перегрузки TCP в книге « Сети передачи данных» Ларри Петерсона . Первая реализация TCP Westwood в ns2 была сделана в Калифорнийском университете в Лос-Анджелесе (UCLA) в 1999 году. Название « Westwood » было выбрано С. Масколо как дань уважения дому UCLA, где он был приглашенным исследователем в то время. Основными соавторами были профессор Марио Герла, доктор Клаудио Касетти и доктор Меди Сенадиди.
TCP Westwood+ является развитием TCP Westwood . TCP Westwood+ является модификацией стека протоколов TCP Reno только на стороне отправителя , которая оптимизирует производительность контроля перегрузки TCP как в проводных, так и в беспроводных сетях . [2] [3] TCP Westwood+ основан на оценке пропускной способности «от конца до конца» для установки окна перегрузки и порога медленного старта после эпизода перегрузки, то есть после трех дублированных подтверждений или тайм-аута. Пропускная способность оценивается путем надлежащей фильтрации нижних частот скорости возврата пакетов подтверждения. Обоснование этой стратегии простое: в отличие от TCP Reno, который слепо вдвое уменьшает окно перегрузки после трех дублированных ACK, TCP Westwood+ адаптивно устанавливает порог медленного старта и окно перегрузки, которое учитывает используемую полосу пропускания в момент возникновения перегрузки. TCP Westwood+ значительно увеличивает пропускную способность по беспроводным каналам и справедливость по сравнению с TCP Reno/ New Reno в проводных сетях.
Когда Саверио Масколо вернулся в Италию , «его эволюция Westwood TCP» была названа Westwood+. Главной новинкой Westwood+ был алгоритм, используемый для оценки доступной пропускной способности сквозного соединения. Фактически, вскоре было обнаружено, что алгоритм оценки пропускной способности Westwood не работал должным образом при наличии обратного трафика из-за сжатия ack. Это явление было объяснено с точки зрения эффектов наложения . Новая версия Westwood+ была впервые реализована в ядре Linux 2.2 Роберто Ферорелли и в ядре Linux 2.4 и 2.6 Анджело Делл'Аэра, оба работали в Политехническом университете Бари в качестве студентов в 2003 и 2004 годах.