Несколько пакетов син перед рукопожатием?
У меня есть сценарий, я анализирую трафик ssl (decrpyt) на мой веб-сервер. Я расследую проблемы с сервером и сквозную задержку. В промежутке между этим я застрял в следующей схеме движения, для которой мне нужен совет / предложение. Скороговорка показывает:
client server
src port 1 -> 80 (syn)
src port 2 -> 80 (syn)
src port 3 -> 80 (syn)
src port 4 -> 80 (syn)
.....
server client
src port 80 -> 1 (syn/ack)
src port 80 -> 2 (syn/ack)
client server
src port 1 -> 80 (ack)
src port 2 -> 80 (ack)
После полного рукопожатия я вижу "http get request"
от клиента. Мои проблемы:-
- Почему несколько
SYN
отправлены с клиента на сервер с другого исходного порта?
Пример запроса SYN только для анализа выглядит
694 47.583499000 192.168.1.56 192.168.1.22 TCP 66 0.000173000 50844→80 [SYN] Seq=0 Win=8192 Len=0 MSS=1460 WS=4 SACK_PERM=1
Пожалуйста, помогите мне понять это поведение.
1 ответ
Это часть работы браузеров. Когда веб-страница загружается, вы можете получить частичный ответ. Если у вас есть HTML-ссылка на изображение в первом фрагменте, нет необходимости ждать окончания потока, чтобы начать пытаться загрузить изображение, поскольку узкое место может быть связано с обработкой, а не с сетью. Следовательно, вы можете уменьшить время загрузки страницы, открыв второе соединение с веб-сервером для запроса этого изображения, а не запрашивая его после завершения загрузки HTML (например).
Поэтому браузеры будут открывать несколько соединений для каждого просмотра страницы. Вы можете увидеть ограничения, которые каждый браузер использует для количества соединений, которые он открывает здесь: