Назад | Перейти на главную страницу

Как долго фрагментированные фрагменты TCP хранятся на сервере TCP

Предположим, что данный TCP-фрагмент фрагментирован на две IP-дейтаграммы, и что первая дейтаграмма поступает на TCP-сервер, а вторая датаграмма никогда не приходит.

По прошествии определенного времени TCP-сервер отправляет сообщение поддержки активности и определяет, что клиент жив. Что же тогда TCP-сервер делает с этой первой дейтаграммой? Ожидает ли вторая дейтаграмма, или она отбрасывает первую дейтаграмму?

По истечении тайм-аута повторной сборки фрагмент удаляется; другой конец должен будет передать повторно.

Этот тайм-аут обычно настраивается. В Linux это 30 секунд по умолчанию и управляется через /proc/sys/net/ipv4/ipfrag_time.

На этот вопрос нет однозначного ответа;

Если ты видишь этот В статье об адаптивной ретрансляции вы увидите, что TCP использует RTT как фактор при вычислении соответствующих задержек.

это это более подробная статья. По сути, не существует специального значения тайм-аута только для фрагментации.

это Однако статья Cisco указывает, что виртуальный межсетевой экран IOS XR имеет тайм-аут по умолчанию 10 секунд для фрагментов со своим собственным настраиваемым таймером. Я связываю это, чтобы сказать, что ОС и устройства будут вести себя по-разному, и если вы передаете соединение через такое устройство, например, это может негативно помешать вашему соединению.

Лучше всего соединить две машины одинаковой конфигурации с помощью кроссовера и начать тестирование оттуда, если вы хотите проверить эффекты задержки фрагментации.