NAT:如果两台主机向同一个IP:PORT发起连接,使用相同的源PORT,路由器如何处理?

Nul*_*pty 8 networking router nat

我只是在想,这个想法出现在我的脑海中。

假设我的局域网中有主机 A 和 B。我有一个路由器和一个互联网上的主机 C。我知道在启动连接时,源端口是随机选择的,但是如果两个主机在启动到同一主机时选择相同的端口会发生什么?

A:10123 -> C:80
B:10123 -> C:80
Run Code Online (Sandbox Code Playgroud)

路由器如何知道每个数据包属于哪个数据包?

干杯。

lon*_*eck 10

仅仅因为主机 A 和 B 选择了端口 10123 并不意味着这是路由器使用的端口。路由器从它自己选择的源端口连接到主机 C。所以连接看起来更像这样:

                                  router
                          +--------------------+
A:(src:10123, dest:80) -> | A:10123 -> C:43775 | -> C:80
B:(src:10123, dest:80) -> | B:10123 -> C:43776 | -> C:80
                          +--------------------+
Run Code Online (Sandbox Code Playgroud)