使用相同 TCP 和 UDP 端口号的 NAT

使用相同 TCP 和 UDP 端口号的 NAT

主机 A(10.0.0.1)连接到主机 B(130.129.123.2)上的 2 个服务器(TCP 和 UDP),两个服务器均在端口 53 上运行。传统 NAT 如何处理这个问题?

答案1

10.0.0.1 tcp/53映射到 的NAT 规则与映射到 的192.0.2.1 tcp/53规则无关。10.0.0.1 udp/53192.0.2.1 udp/53

因此,如果您愿意,您可以对使用不同 IP 协议的端口使用相同的数值,从而产生两种不同的转换。

答案2

静态 NAT – 将未注册的 IP 地址一对一映射到已注册的 IP 地址。当设备需要从网络外部访问时特别有用。

例如:在静态 NAT 中,IP 地址为 192.168.32.10 的计算机将始终转换为 213.18.123.110

动态 NAT – 将未注册的 IP 地址从一组已注册 IP 地址映射到已注册 IP 地址。动态 NAT 还在未注册和已注册 IP 地址之间建立一对一映射,但映射可能会根据通信时池中可用的已注册地址而有所不同。

例如:在动态 NAT 中,IP 地址为 192.168.32.10 的计算机将转换为 213.18.123.100 至 213.18.123.150 范围内的第一个可用地址

这就是你要问的吗?

答案3

主机 A 将选择某个随机的高端口 (<1024),并连接到 B。NAT 盒 (通常是路由器) 将源 IP (盒 A) 更改为其拥有的公共 IP (如果使用传出端口,它还会更改端口号),并记住更改。当 B 收到数据包时,它会将数据包回复到分配给路由器的公共 IP (由于 NAT,数据包似乎来自该 IP)。然后,路由器将检查 NAT 表,并注意到它之前所做的转换,并对其进行逆向转换 (将目标 IP 更改为 IP (盒 A),以及端口,如果它之前已经这样做过),并将其发送到盒 A。

使用 tcp 时,它可以在 TCP FIN/RST/... 之后忘记 nat 表条目,或者等待超时。使用 UDP 时,它只是等待超时(在此 IP/端口组合上没有任何数据包到达之后)。

相关内容