NAT之如何寻找局域网中的主机
当在你家里要访问 163 网站的时候,你的包需要 NAT 成为公网 IP,返回的包又要 NAT 成你的私有 IP,返回包怎么知道这是你的请求呢?它怎么就这么智能的 NAT 成了你的 IP 而非别人的 IP 呢?
NAT在进行地址替换时不仅仅包含IP地址,还有端口号。具体说来就是,我们在进行连接外网服务器请求的数据包中,除了源、目的IP地址外,还有源、目的端口号。其中目的端口号是固定的,比如21或80等等。但源端口号是随机生成的。当数据包到达进行NAT的设备时,除了私有IP地址会被替换成公网IP地址外,端口号也会被替换成NAT随机生成的端口号。NAT的端口号和局域网中的主机一一对应,同时NAT设备维护一张端口号和主机对应的表。当外网服务器返回数据到NAT设备时,NAT设备通过返回数据包中的端口号找到局域网中的主机并将数据转发。
这样就完整的实现了局域网主机上外网的功能。
本文深入解析NAT(网络地址转换)如何实现局域网主机访问互联网的过程。通过NAT,局域网内的私有IP地址转换为公网IP,同时利用端口号与局域网内主机建立一一对应关系,确保数据包准确返回至发起请求的设备。文章揭示了NAT在地址转换中对端口号的运用,以及NAT设备如何维护端口与主机的映射表,实现数据包的精确转发。
2560





