什么是 NAT(网络地址转换)?
NAT 是“网络地址转换”的缩写,是一种将 IP 数据包报头中包含的 IP 地址转换为不同的 IP 地址的技术。 它通常用于将组织内部使用的私有 IP 地址转换为用于外部通信的全局 IP 地址。
引入私有 IP 地址是为了解决 IPv4 地址耗尽的问题。 在 IPv4 中,地址以 32 位表示,允许大约 40 亿个唯一地址。 然而,随着互联网的快速扩张,需要 IP 地址的设备数量呈指数级增长,人们担心可用地址最终会耗尽。 为了节省全球 IP 地址,我们采用了为每个组织分配全球 IP 地址,并在组织内部使用私有 IP 地址的方法。 这导致了 RFC 1918 中定义的私有 IP 地址的引入,该地址指定了不同组织规模的范围:
通常,组织内部网络内的设备会被分配这些范围内的私有 IP 地址。
但是,当具有私有 IP 地址的设备通过互联网访问外部服务器时,服务器无法识别原始设备,因为私有 IP 地址在多个组织之间共享。 因此,必须将私有 IP 地址转换为组织唯一的全球 IP 地址,才能进行互联网通信。 这就是 NAT 发挥作用的地方。
NAT 还具有隐藏内部网络与外部网络的附加效果,通过隔离内部网络来提供一定程度的安全性。 然而,尽管 NAT 对于创建网络分段很有用,但它本身并不是解决安全威胁的全面解决方案。 通常需要额外的端到端隧道技术和协议。
NAT 的一个限制是它以一对一地址转换的方式运行,因此不适合处理来自多个设备的同时通信。 为了解决这个问题,NAT 被扩展以包括端口号转换,从而产生了 NAPT(网络地址端口转换),也称为 IP 伪装。 如今,“NAT”一词通常用于指代 NAT 和 NAPT。