它允许私有网络上的主机使用私有IP地址,同时仍然能够与公共网络(如互联网)上的主机进行通信。当私有网络上的设备想要与公共网络上的设备通信时,NAT路由器会将其私有IP地址和端口号转换为一个公共IP地址和端口号。这样,公共网络上的设备就可以响应这个请求,并将响应发送回NAT路由器,路由器再将响应转发给私有网络上的原始设备。
为了简单解释NAT(网络地址转换)模式的工作原理,我们可以考虑以下示例:
假设你有一个小型企业网络(私有网络),其中包含几台计算机,它们都使用私有IP地址(例如192.168.1.x),并且都连接到同一个路由器(NAT路由器)。这个路由器有一个公共IP地址(例如61.139.10.100),这是你的企业与互联网连接时所使用的地址。
-
私有网络内部通信 :
在这个小型企业网络中,计算机之间可以相互通信,因为它们都位于同一个私有网络中,并使用私有IP地址。
-
私有网络到公共网络的通信 :
当其中一台计算机(例如,IP地址为192.168.1.10的计算机)想要访问互联网上的某个网站(例如,http://www.example.com)时,它会将请求发送到NAT路由器。
-
NAT路由器的工作 :
NAT路由器收到这个请求后,会查看其NAT转换表(或称为地址映射表)。如果这个请求之前没有出现过(即没有建立过映射关系),NAT路由器会为该请求分配一个未使用的端口号(例如,TCP端口8080),并将该私有IP地址和端口号(192.168.1.10:任意端口)与公共IP地址和端口号(61.139.10.100:8080)建立映射关系,然后将请求转发到互联网上,但源地址和端口号已经被替换为公共IP地址和分配的端口号。
-
公共网络的响应 :
当www.example.com响应这个请求时,它会将响应发送到公共IP地址61.139.10.100的8080端口。
-
NAT路由器的反向转换 :
NAT路由器收到这个响应后,会查看其NAT转换表,找到与61.139.10.100:8080相对应的私有IP地址和端口号(192.168.1.10:任意端口),然后将响应的目标地址和端口号替换为这个私有IP地址和端口号,再将响应转发给私有网络中的目标计算机(IP地址为192.168.1.10的计算机)。
-
私有网络内的计算机收到响应 :
最终,私有网络内的计算机(IP地址为192.168.1.10的计算机)会收到来自www.example.com的响应,就像它直接与互联网上的主机通信一样,但实际上是通过NAT路由器进行了地址和端口号的转换。