我有一个场景,我正在分析ssl(decrpyt)stream量到我的networking服务器。 我正在调查服务器和端到端延迟问题。 在这之间我被困在以下的交通模式,我需要一些build议/build议。 模式显示: –
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
请帮我理解这种行为。
这是浏览器工作方式的一部分。 当一个网页加载,你可能会得到一个分块的响应。 如果您在第一个块中有一个HTML引用图像,则不需要等到stream结束才开始尝试加载图像,因为瓶颈可能与处理有关,而与networking无关。 因此,可以通过打开到Web服务器的第二个连接来请求该图像,而不是在HTML完成加载(例如)之后请求它,以减less页面加载时间。
因此,浏览器将为每个页面视图打开多个连接。 你可以看到每个浏览器使用的限制,它打开的连接数量在这里: