NAT 通常是指路由器将 IP 地址从私有网络转换为公共 IP 地址,以便私有网络上的节点可以访问公共 Internet。
是否存在使用路由器 * 将地址从公共 IP 地址转换为另一个公共 IP 地址的有效场景?
*注意:我只是在谈论路由器,而不是代理。
NAT 通常是指路由器将 IP 地址从私有网络转换为公共 IP 地址,以便私有网络上的节点可以访问公共 Internet。
是否存在使用路由器 * 将地址从公共 IP 地址转换为另一个公共 IP 地址的有效场景?
*注意:我只是在谈论路由器,而不是代理。
每次我访问 StackExchange 时,都会发生一种符合“将地址从公共 IP 地址转换为另一个公共 IP 地址”的描述的场景。
即使我网络上的每台计算机都有公共 IP 地址,我也无法直接访问 StackExchange,因为 StackExchange 仅支持 IPv4。因此,此答案是通过 NAT64 发送的,该 NAT64 将公共 IPv6 地址转换为公共 IPv4 地址。
在同一协议内的不同公共 IP 地址之间进行转换的情况也会发生。我遇到过一家拥有/8
IPv4 空间并将该范围内的地址分配给内部主机的公司。但是他们仍然使用 NAT 来转换地址,这样外部流量就会被视为来自外部的 IPv4 地址/8
。
我不知道为什么那家公司选择使用 NAT,而实际上他们有足够的 IPv4 地址不需要它。我认为没有 NAT 的每个此类部署都可以更好地工作,但我不能绝对肯定地说,因为我显然不了解世界上每个 NAT 背后发生的事情。
是的。端口映射/目标 NAT 也可以使用公共目标 IP。想象一个负载平衡/故障转移场景,您将虚拟/平衡 IP 地址映射到专用服务器地址。通常这是使用私有地址完成的,但没有理由不使用公共地址。
NAT 用于转换网络地址,源地址、目标地址或两者兼而有之。IP 和 NAT 对任意分配的公共或私有地址一无所知。IP 中没有任何内在的东西来定义公共地址或私有地址。简单地说,ISP 已经同意不根据某些地址范围转发流量,但这与 IP 或 NAT 无关。完全可以使用 NAT 来转换 Private-to-Private、Private-to-Public、Public-to-Private 或 Public-to-Public 地址。
话虽如此,如果可能的话,应该避免 NAT。由于无法在公共 Internet 上使用私有寻址,因此您可能希望使用 NAT。完全有可能有人会使用 NAT 来转换任何其他场景,但应该有充分的理由这样做,因为 NAT 打破了端到端 IP 范式。
我能想到几个用例
我想这些和类似的东西都归于一个普遍的想法,即那些负责网络的人可能不负责服务器,但可能仍然必须使网络正常运行。
乔纳森