本文解析了SNAT和DNAT为什么可以独立使用。
SNAT和DNAT是两种不同的网络地址转换技术,它们用于不同的网络场景和需求。
SNAT主要用于将私有IP地址转换为公共IP地址,以便在互联网上进行传输。当内部网络中的设备需要访问外部网络时,SNAT可以将内部设备的私有IP地址转换为外部网络的公共IP地址,从而使得内部设备可以与外部网络进行通信。
而DNAT则用于将外部网络的数据包转发到内部网络中的特定设备或服务。当外部网络中的数据包需要访问内部网络中的特定设备或服务时,DNAT可以将数据包的目标地址转换为内部网络的私有IP地址,并将数据包转发到正确的设备或服务。
因此,SNAT和DNAT是两种不同的地址转换技术,用于不同的网络场景和需求,不能相互替代。在某些情况下,可能需要同时使用SNAT和DNAT来满足不同的网络需求。
那么初学者很容易有这么一个问题,如果SNAT和DNAT都可以独立使用,那么以SNAT为例,当客户端的源地址被转换后,服务端发回的包如何被客户端接收呢?(既然发回的包没有做:目的地址转换)
答案是当路由器做了SNAT后,路由器会维护一条发送者的真实IP地址和端口以及修改后的IP地址和端口的记录。
当路由器接收到具有匹配IP地址和端口的数据包时,它将这些数据转换回专用IP地址和端口,并将数据包一起转发。