首页 > 解决方案 > 为什么我的计算机使用不同的端口与服务器进行 3 次握手 3 次 - Wireshark?

问题描述

当我的计算机使用 TCP 连接到随机网站以进行分配时,我使用 Wireshark 捕获了数据包。通常,在数据传输开始之前,应该有 3 个初始数据包(SYN、SYN-ACK、ACK)用于 3 次握手。

就我而言,有 9 个连接,3 个不同的 3 次握手;每个都是用我电脑的不同端口完成的。在它们中的每一个都被接受后,数据传输仅使用其中一个端口继续。

我无法理解这背后的原因。谢谢!

标签: networkingtcpipwiresharkhandshake

解决方案


浏览器打开到一个站点的多个连接是很常见的。这样做的原因是,对于 HTTP/1,单个 TCP 连接一次只能处理一个请求-响应,即多个请求一个接一个,而不是并行的。要并行处理多个请求,浏览器需要打开多个 TCP 连接。由于连接设置需要一些时间,如果需要发送新请求,浏览器可能会打开到服务器的多个连接,以便已经建立一些连接。


推荐阅读