每个进程的端口号是唯一的吗?这是关系1:1如果没有系统知道如何通过流程来传递响应?
答案 0 :(得分:1)
操作系统使用4个参数识别TCP连接终点:
本地端口,本地地址,远程端口,远程地址
因此本地端口不需要是唯一的。它通常对于侦听(即服务器)套接字是唯一的,因为侦听套接字通常具有未绑定的远程端口和远程地址。但即使对于侦听套接字,如果一台机器有多个IP地址,您可以让一个进程侦听给定端口和一个IP地址,而另一个进程侦听同一端口但不同的IP地址。
对于连接的套接字,绑定了所有4个值,因此许多同时连接可以使用相同的本地端口。由于这个原因,一台机器上的开放连接数量不限于64K,这将是非常有限的。
答案 1 :(得分:0)
每个系统的端口号是唯一的:两个进程不能[重新]打开相同的端口号。