Я просмотрел здесь другие вопросы, касающиеся соответствующих тем, но мне все еще не ясно.
Я только что читал этот объяснение Последовательность TCP и номера подтверждения. Примерно на полпути есть эта диаграмма:
В конце страницы объяснение последнего шага, шага 4, включает следующий текст:
Обратите внимание, что порядковый номер сегмента в строке 4 такой же, как и в строке 3, потому что ACK не занимает пространство порядкового номера.
Поэтому имейте в виду, что любые сгенерированные пакеты, которые являются просто подтверждениями (другими словами, имеют только установленный флаг ACK и не содержат данных) ранее полученных пакетов, никогда не увеличивают порядковый номер.
В настоящее время я пытаюсь понять это:
Что касается моих первых двух пунктов, это правильно? (Например, правильно ли понял автор?) Что касается моего третьего пункта, это правильно? И, наконец, если предположить, что ответ на первые два вопроса прост: 'да', то причина того, что эти числа одинаковы в обоих пакетах, потому что не было получено промежуточных пакетов от Сервер шлюза?
Я прошу общих разъяснений по этому поводу.
PSH
установлен флаг.Пакет 3 как бы избыточен. Уровень TCP может решить подождать несколько микросекунд перед его отправкой и сразу перейти к пакету 4, если приложение действительно записало что-то в сокет в течение этих микросекунд.
Я могу порекомендовать использовать Wireshark для проверки реального трафика на вашем компьютере, что может помочь понять, что происходит.