Предотвращение перегрузки по протоколу TCP (требуется уточнение)
У меня только какой-то вопрос относительно алгоритма предотвращения перегрузки TCP.
- Прежде всего, я ищу объяснение, почему часть алгоритма предотвращения перегрузок называется "быстрое восстановление"? Я имею в виду, что не могу найти какой-либо веской причины для этого, кажется, что это не очень быстрое восстановление.
- Я читаю книгу Дугласа Э. Комера "Сетевое взаимодействие с TCP/IP", и есть утверждение, в котором говорится, что хотя TCP SACK и New Reno примерно одинаковы, все же SACK предпочтительнее, но нет хорошего разумного объяснения, почему, поэтому я был бы признателен за помощь в выяснении этого.
1 ответ
Быстрое восстановление позволяет уменьшить окно TCP на 2 вместо того, чтобы перезапускаться до его первоначального значения при потере. Это называется быстрым восстановлением, потому что избегать медленного запуска. (так что "быстрее").
SACK лучше, когда у вас много потерь (много пакетов из одного окна TCP), но New Reno предназначен для использования на компьютере, поддерживающем или не поддерживающем SACK.
Википедия и RFC являются хорошим справочным материалом по предотвращению перегрузок, и я не хочу копировать / вставлять или перефразировать их, делая их менее понятными.
Вы можете прочитать: Предотвращение перегрузок в TCP http://en.wikipedia.org/wiki/TCP_congestion_avoidance_algorithm О FastRecovery / NewReno: rfc3782 и http://en.wikipedia.org/wiki/Slow-start О SACK: rfc2018 и http://en.wikipedia.org/wiki/Retransmission_(data_networks)