以下是一个 NAT 地址转换的示例,帮助你更好地理解这四种地址的作用:
假设一个企业内部网络使用私有 IP 地址段192.168.1.0/24,网络中有多台主机,其中一台主机的内部本地地址是192.168.1.100。企业通过一台 NAT 设备连接到互联网,NAT 设备从服务提供商那里获得了一个公网 IP 地址202.100.100.100,这个地址就是内部全局地址。
当内部主机192.168.1.100要访问外部网站www.example.com(其外部全局地址假设为111.111.111.111)时,NAT 设备会将内部本地地址192.168.1.100转换为内部全局地址202.100.100.100,然后向目标网站发送请求。此时,对于外部网站www.example.com来说,它看到的源地址是202.100.100.100(内部全局地址),而不是内部主机的真实地址192.168.1.100(内部本地地址)。
当外部网站www.example.com响应请求时,它会将数据包发送到202.100.100.100。NAT 设备接收到数据包后,会根据之前的地址转换记录,将目的地址从202.100.100.100转换回192.168.1.100,然后将数据包转发给内部主机192.168.1.100。
在这个过程中,外部网站www.example.com的外部全局地址是111.111.111.111,而对于企业内部网络中的主机来说,它们所知道的外部网站的地址是 NAT 设备为其设置的外部本地地址。假设 NAT 设备将外部网站的外部全局地址111.111.111.111转换为外部本地地址172.16.1.10(这个地址是 NAT 设备根据一定规则在内部网络中分配的,仅用于内部网络识别外部主机),那么企业内部主机在与外部网站通信时,就会使用172.16.1.10作为目标地址来发送数据包。
通过这个例子可以看出,内部本地地址用于企业内部网络中标识主机,内部全局地址用于让内部主机能够在外部网络中进行通信,外部全局地址用于标识外部网络中的主机,外部本地地址则方便了内部网络中的主机与外部主机进行通信,同时隐藏了外部主机的真实地址。