我有一个场景,我正在分析到我的网络服务器的 SSL(解密)流量。我正在调查服务器和端到端延迟问题。在此期间,我陷入了以下流量模式,我需要一些建议。模式显示:-
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
客户端从不同的源端口向服务器发送多个 s?
仅供分析的 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 引用,则无需等到流结束时才开始尝试加载图像,因为瓶颈可能与处理有关,而不是与网络有关。因此,您可以通过打开与 Web 服务器的第二个连接来请求该图像,而不是在 HTML 加载完成后请求它(例如),从而减少页面加载时间。
因此,浏览器会为每个页面浏览打开多个连接。您可以在此处查看每个浏览器对其打开的连接数的限制: