TCP и Wireshark: два последовательных TCP-пакета вместо ACK для каждого из них - PullRequest
0 голосов
/ 09 февраля 2020

У нас есть приложение (клиент и сервер), развернутое в двух разных средах (подготовка и производство). Обе среды теоретически настроены точно ... Клиент отправляет данные в запросе POST, а сервер возвращает 200 OK с телом.

На первом изображении [1] клиент имеет IP 172.16.32.47 и сервер 172.16.44.137. Можно видеть, что перед каждым пакетом 200 HTTP (зеленым цветом), например, в кадре 124, от клиента поступает ACK на пакет в кадре 122.

https://i.stack.imgur.com/NX76W.png

Во втором изображении [2] клиент имеет IP 172.16.85.38, а сервер имеет IP 172.16.74.168. В этом случае существуют последовательные пакеты, например, кадры 422 и 423 от сервера к клиенту без ACK между ними.

https://i.stack.imgur.com/NF5an.png

На первом изображении окно TCP достаточно для отправки обоих кадров без ожидания промежуточного подтверждения (верно, что размер окна больше на втором изображении, но оба должны охватывать сообщение).

Почему ACK ожидается от сервера и отправлено с клиента в первом изображении? Что я должен принять во внимание, чтобы сделать более глубокую ревизию?

Любые советы действительно приветствуются.

...