我知道在 TCP 端口 80 上运行网站的 Web 服务器可以接收来自许多不同 IP 地址的 TCP 连接,这些 IP 地址来自许多不同的临时端口。
客户端是否可以使用同一个临时端口在 TCP 端口 80 上发起与不同 Web 服务器的多个连接(完成 TCP 三次握手)?
例如:
Source Port: 55555, Destination Port: 80, Destination IP: 1.1.1.1
Source Port: 55555, Destination Port: 80, Destination IP: 2.2.2.2
Source Port: 55555, Destination Port: 80, Destination IP: 3.3.3.3
答案1
如果使用端口 55555 的第一个连接已关闭,则任何应用程序都可以重用该端口。如果某个应用程序尝试打开另一个应用程序正在使用的同一端口,则操作系统将响应该端口已在使用中。
需要注意的是,使用 TCP 打开端口的应用程序可以根据需要使用它,包括将其用于多个服务器,但所有的多路复用工作都在应用程序上,而不是 TCP 上。