Рассмотрим этот короткий захват пакетов Wireshark в Windows Server 2016:
Размер окна TCP клиента (192.168.201.5) составляет 1504 байта.
TCP-сервер ответил пакетом (длиной 1083).
TCP Payload: 1029 bytes
TCP Seq No: 1
Не дожидаясь подтверждения предыдущего пакета, сервер отправил другой пакет (длина 1414).
TCP Payload: 1360
TCP Seq No: 145
Итак, чтобы максимизировать передачу полезной нагрузки:
1..1029
байтов данных в первом пакете.145..1504
байтов данных во втором пакете.145..1029
байты.Этот сервер общается с небольшими устройствами, стек TCP которых недостаточно мощный для сборки пакетов, содержащих перекрывающиеся данные. Таким образом, сеанс не выполняется (сброс TCP в кадре-12).
Есть ли способ настроить Windows так, чтобы она отправляла более простые (не перекрывающиеся) пакеты?
РЕДАКТИРОВАТЬ Вы можете скачать pcap файл для получения полной информации.
РЕДАКТИРОВАТЬ-2:
Загрузите файл pcap полной сессии Этот сеанс можно увидеть, применив фильтр tcp.port == 50002 and ip.addr == 192.168.201.5
Мне кажется, в дампе есть пакеты из двух разных TCP-сессий. Кажется, что у сеансов одинаковые номера портов, что вызывает поведение RST.
Кадры 1-5 и 7-8 принадлежат одному и тому же сеансу, а кадр 6 - другому сеансу.
Использует ли клиентское устройство случайный TCP-порт в качестве исходного порта при открытии соединений?