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

Почему TCP не регулирует размер сегмента?

Я отправляю HTTP-запрос с телом, достаточным для того, чтобы запрос был сегментирован на несколько пакетов размером 374B (заголовки), 1500B и 199B.

Так как у некоторого нашего сетевого оборудования MTU составляет всего 1430 Б, а для пакетов установлен флаг IPv4 «Не фрагментировать», оборудование отклоняет пакет размером 1500 Б и отвечает необходимостью фрагментации ICMP, но с установленным флагом «Не фрагментировать». . Этот пакет ICMP имеет «MTU следующего перехода» 1430B.

Затем TCP немного выжидает и повторно передает пакет сразу после того, как он был отброшен в результате перегрузки сети (см. Снимок экрана Wireshark), и не регулирует размер своих сегментов.

Почему TCP не регулирует размер сегментов, чтобы размер пакета был достаточно меньше?

Я использую:

пакеты wirehark

Заголовки IPv4 большого пакета

Пакет ICMP, который отвечает на большой пакет (с «MTU следующего перехода: 1430B»)

Изменить: весь трафик был захвачен на клиентском устройстве через tcpdump.