Networking 动态网络地址转换

Networking 动态网络地址转换,networking,network-programming,nat,Networking,Network Programming,Nat,我问的问题可能很简单,但是 这是关于网络中DNAT的主题。 假设我们有一个局域网,其中有两台计算机,它们都希望在局域网(Internet)之外连接到一台服务器。 我的问题是,如果两台计算机在翻译IP地址时从同一台服务器发出请求,我们的家庭路由器或NAT服务器如何区分从该服务器接收到的两台计算机的数据包。 哪些信息有助于DNAT将数据包转发到正确的PC?这是因为我们在路由器或NAT设备中有一个表 连接由五个部分指定:源IP、源端口、协议、目标IP和目标端口。这两台本地PC将具有由路由器分配的不同i

我问的问题可能很简单,但是 这是关于网络中DNAT的主题。 假设我们有一个局域网,其中有两台计算机,它们都希望在局域网(Internet)之外连接到一台服务器。 我的问题是,如果两台计算机在翻译IP地址时从同一台服务器发出请求,我们的家庭路由器或NAT服务器如何区分从该服务器接收到的两台计算机的数据包。
哪些信息有助于DNAT将数据包转发到正确的PC?

这是因为我们在路由器或NAT设备中有一个表


连接由五个部分指定:源IP、源端口、协议、目标IP和目标端口。这两台本地PC将具有由路由器分配的不同ip/端口。因此,通过使用该表,我们可以轻松地将数据包选择到正确的PC。

NAT设备使用第4层标识符将答案映射回LAN中的主机。对于TCP/UDP,它使用端口号,尽管NAT的类型不同

Wikipedia有一个很好的NAT表的图表:

注意NAT转换表中的端口号

对于TCP/UDP以外的协议(即没有第4层端口号的协议),其他标识符用于映射。例如,对于ICMP ping,使用