Преимущества «не фрагментировать» на пакетах TCP?

У одного из наших клиентов возникают проблемы с отправкой данных из нашего приложения (на их ПК) на сервер (в другом географическом положении). При отправке пакетов размером менее 1100 байт все работает нормально, но выше этого мы видим, что TCP ретранслирует пакет каждые несколько секунд и не получает ответа. Пакеты, которые мы используем для тестирования, имеют размер около 1400 байт (но менее 1472). Я могу отправить пинг ICMP на www.google.com, который составляет 1472 байта, и получить ответ (так что это не их маршрутизатор / первые несколько переходов).

Я обнаружил, что наше приложение устанавливает флаг DF для этих пакетов, и я считаю, что маршрутизатор на пути к серверу имеет MTU меньше / равный 1100 и отбрасывает пакет.

Это влияет на 1 клиента из 5000, но так как маршруты у всех будут разные, это ожидается.

Данные представляют собой конверт SOAP, и мы ожидаем ответа SOAP. Я не могу объяснить, ПОЧЕМУ мы это делаем, код для этого был написан предыдущим разработчиком.

Так...Есть ли какие-либо преимущества ИЛИ оправдание для установки флага DF на пакетах TCP для данных приложения?

Я могу подумать о причинах, которые необходимы для приложений диагностики сети, но не в нашей ситуации (мы хотим, чтобы данные дошли до конечной точки, фрагментированы или нет). Один из наших системных администраторов сказал, что это может иметь какое-то отношение к нам с использованием SSL, но, насколько я знаю, SSL подобен потоку и не зависит от фрагментации, пока в конце поток перестраивается, проблем нет.

Если нет веских оснований, я буду менять поведение нашего приложения.

Заранее спасибо.

Ответы на вопрос(3)

Ваш ответ на вопрос