两个客户端浏览器可以使用相同的端口与 Web 服务器通信吗?

两个客户端浏览器可以使用相同的端口与 Web 服务器通信吗?

当在客户端和主机之间创建套接字时,它包括两者的 IP 地址、使用的协议和端口号。

假设我有套接字 A (10.0.0.1,TCP,50000) 和 (10.0.0.2,TCP,50000),每个都连接到 (11.11.11.11,TCP,80)(一个 Web 服务器)。

由于两个套接字都使用相同的端口,Web 服务器是否会发生冲突?

答案1

否。连接由包含源 IP 的 5 元组标识

因此,服务器会看到 2 个不同的、可区分的连接。

答案2

尽管 Steffen Ulrich 的回答是正确的,但事实并非如此。

您的 Web 服务器11.11.11.11:80仅监听一个连接。10.0.0.1:50000连接到该连接时,它会立即为其分配一个新端口,例如 49001,并告诉 10.0.0.1 它现在正在与该端口通信11.11.11.11:49001,然后返回监听端口 80 上的连接。

现在,当10.0.0.2:50000连接时,它会立即被告知它现在正在与 对话11.11.11.11:49007,并且 Web 服务器会回去监视想要连接到端口 80 的人。

所以端口不同,并且不会发生冲突。

相关内容