套接字是IP地址,传输协议和端口号的组合
例如:在NAT后面的不同LAN上的两台主机可以具有相同的IP(假设为192.168.0.2)。
当这些主机连接到Web服务器时,是否可以建立两个相同的套接字?
我知道端口是随机生成的,但是在不同的主机上它可以生成相同的端口
或者是服务器告诉该端口号已被使用?
或者是NAT设备,它改变了IP数据包中的SRC IP?
NAT设备如何知道,在哪里将数据包发送回LAN上的主机?
由于
答案 0 :(得分:1)
正如你正确猜到的那样,NAT分配短暂的端口号,所以它们不能重合。因此,从服务器的角度来看,主机#1的目标副本类似于192.168.0.2:46812,主机#2的目标副本类似于192.168.0.2:51378。当NAT收到这些数据包时,它会根据端口号知道数据包所属的NAT后面的主机。如果您可以访问计算机控制台,则可以使用netstat -anp