
Наше приложение работает на сервере Amazon, и мы постоянно сталкивались с проблемой, связанной с tcp-рукопожатием. Иногда мы не могли подключиться к нашему приложению или telnet на порту 80 нашего сервера. Я погуглил и нашел решение, которое заключается в том, что отключение масштабирования окна tcp и временных меток tcp может решить проблему. Я сделал это, и проблема была решена.
Вот решение:Почему сервер не отправляет пакет SYN/ACK в ответ на пакет SYN
Теперь, нормально ли отключить масштабирование окна TCP и временную метку на сервере? Если нет, то как я решу свою проблему (проблему с рукопожатием).
решение1
Можно отключить и то, и другое, но могут возникнуть недостатки.
Масштабирование окна позволяет масштабировать объявленное окно до значений, превышающих 64 килобайта. Если ваш путь имеет задержку пропускной способности в любом направлении (наименьшая пропускная способность, умноженная на время кругового обхода) больше 64 килобайт, вам нужно будет использовать масштабирование окна, чтобы достичь более высоких битрейтов.
Временные метки могут помочь, например, в некоторых случаях против ложных повторных передач или зацикливания порядкового номера, например. Обычно не критично, но как всегда "это зависит от..." :p