两台电脑在同一个局域网,通信同一个服务器

网络工程 纳特 传输协议
2022-02-13 23:09:06

假设我们有2台pc在同一个局域网,pc1的192.168.1.5 本地IP:pc2的本地IP:192.168.1.6

现在假设 pc1 和 pc2 都想连接到互联网上的服务器,我们都知道服务器会收到来自同一个 IP 的 2 个请求,即公共 IP(假设它是216.33.23.5,因为192.168.1.5192.168.1.6是私有的,并且对于那,我们有端口号。

所以服务器会收到(IP, source port number)的2个组合;

让我们说它们是:(216.33.23.5, 3455)和(216.33.23.5, 4666

现在的问题是,什么能保证pc1和pc2不会使用相同的源端口号,那么服务器会糊涂呢?

2个回答

简短的回答:NAT 路由器。

NAT 路由器需要跟踪其转换,因此它将为不同的连接使用不同的 L4 端口号。对于源 NAT,NAT 路由器通常不会重复使用客户端的源端口,而是从它自己的池中获取一个并转换它(NAPT)。

不,它不会使用相同的源端口。因为 natting 算法的设计方式是随机生成不同的源端口,并在内部 pc 或服务器通信以访问 Internet 时分配为源端口。内部 ip 将与 isp public ip 在此进程中的源端口由 layer3 设备分配,并且此源端口可以在 nat 表中看到..

Generally souce Port is randomly generated by router or firewall to keep track of connection or session established for both inbound and outbound traffic . Source port is visible in NAT table