xmlns="http://www.w3.org/2000/svg"style="display:Translation,网络地址转换)文章目录NAT(NetworkTranslation,网络地址转换)什么是NAT?为什么需要NAT?——核心动机NAT的核心工作原理NAT的主要类型1.静态NAT最常用的一种重要概念:NAT穿透(NATTraversal)NAT与IPv6总结/>/>可以把NAT想象成一个大楼(局域网)的前台(路由器/防火墙)。大楼里的每个员工(内网设备)都有自己的内部分机号(私有IP地址),但对外联系时,统一使用公司的总机号码(公网IP地址)。前台负责接听和转接所有来电,并根据内部规则找到对应的员工。/>什么是NAT?NAT(NetworkTranslation,网络地址转换)是一种在数据包通过路由器或防火墙时,修改数据包中的源IP地址或目的IP地址的技术。通俗地说,它允许一个实体(如家庭路由器)使用一个公网IP地址,代表其背后的一群拥有私有IP地址的设备(如手机、电脑、平板)与互联网进行通信。为什么需要NAT?——核心动机缓解IPv4地址枯竭(最主要原因):公网IP地址:全球唯一,可以在互联网上直接访问。数量有限,非常宝贵。私有IP地址:如192.168.x.x,10.x.x.x,172.16.x.x。这些地址可以在任何局域网内重复使用,但不能在互联网上直接路由。NAT让整个局域网内的成百上千台设备,共享一个或少数几个公网IP地址上网,极大地节省了公网IP资源。增强安全性:从外部互联网来看,你的内网结构是完全不可见的。外部只能看到执行NAT的设备(如路由器)。它像一个屏障,默认情况下,外部主动发起的连接请求会被NAT设备拒绝或忽略,因为它不知道这个连接应该转给内网的哪台设备。这提供了基础的防火墙功能。/>NAT的核心工作原理NAT的核心是维护一张NAT转换表。这张表记录了内网设备(私有IP+端口)与NAT设备出口(公网IP+端口)之间的映射关系。一个典型的家庭上网过程:发起请求:你的电脑(192.168.1.100:12345)想访问一个网站(8.8.8.8:80)。数据包发出,源IP/端口是192.168.1.100:12345,目的IP/端口是8.8.8.8:80。到达NAT设备:数据包首先到达你的家用路由器(NAT设备)。路由器检查数据包,发现它来自内网,要去外网。转换与记录(关键步骤):记录:路由器在自己的NAT转换表中记录下这条映射:(内网:192.168.1.100:12345)25000)。这里的25000是路由器随机分配的一个未被占用的端口。转换:路由器修改数据包的源IP地址为自己的公网IP(比如1.2.3.4),并修改源端口为25000。然后,将这个转换后的数据包发送到互联网。服务器响应:目标服务器(8.8.8.8)收到请求后,将响应数据包发回给1.2.3.4:25000。接收与反向转换:路由器收到来自服务器(8.8.8.8:80)发往1.2.3.4:25000的响应数据包。路由器查询NAT转换表,找到1.2.3.4:25000对应的内网设备是192.168.1.100:12345。反向转换:路由器修改数据包的目的IP地址为192.168.1.100,目的端口为12345。送达:转换后的数据包被正确发送回你的电脑。整个过程对电脑和服务器是透明的,它们都以为自己是在直接通信。/>NAT的主要类型根据转换方式的不同,NAT主要分为以下三种:1.静态NATNAT)方式:一个内网私有IP地址一对一地映射成一个公网IP地址。映射关系是固定的,手动配置的。特点:不节省公网IP,但允许外部设备通过这个固定的公网IP访问内网的特定设备(如公司服务器)。场景:需要对外提供服务的服务器。2.动态NATNAT)方式:从NAT设备拥有的一组公网IP地址池中,动态地选择一个未被占用的公网IP,与一个内网私有IP建立临时的映射关系。特点:当会话结束时,映射关系被释放,公网IP可以给其他内网设备使用。在一定程度上节省了公网IP,但并发访问量超过公网IP数量时,后续设备无法上网。场景:内网设备数量不多,且公网IP地址池略大于并发访问需求的企业环境。3.网络地址端口转换最常用的一种方式:这是让成千上万台设备共享一个公网IP上网的核心技术。它不仅转换IP地址,还转换传输层的端口号。特点:通过区分端口号来唯一标识内网的不同设备和不同会话。即使多个内网设备访问同一个外网服务器的相同服务(如都访问百度的80端口),NAT设备也能通过为它们分配不同的源端口,来正确区分返回的数据包该转发给谁。这就是我们家庭宽带上网普遍使用的NAT方式。(NATTraversal)这是NAT带来的一个副作用和解决方案。问题:由于NAT设备的屏障作用,外网的设备无法主动向内网的设备发起连接。因为NAT表中没有预先建立好的映射关系,外网发来的数据包会被NAT设备丢弃。这在P2P(点对点)应用中(如在线游戏、BT下载、视频通话)是个大问题——两个都在各自内网里的设备如何直接通信?解决方案(NAT穿透):端口转发(PortForwarding):在NAT设备上手动配置一个固定的映射规则。例如,将外网IP的3389端口永远映射到内网某台电脑的3389端口。这样,外网主动访问公网IP:3389时,NAT设备就知道该转发给谁。但这需要手动配置,且不够灵活。UPnP(通用即插即用):允许内网应用程序自动请求NAT设备为其打开一个端口并建立映射。比如游戏或BT软件可以自动完成配置,无需用户手动干预。但出于安全考虑,很多路由器默认关闭此功能。STUNTURNICE协议:这是更复杂的自动协商技术,被VoIP(如网络电话)、WebRTC(网页实时通信)等应用广泛使用。它通过一个公网服务器帮助两个内网设备“打洞”,找到一条可以相互通信的路径。/>NAT与IPv6IPv6拥有几乎无限的地址空间,旨在让每一台设备都能拥有一个全球唯一的公网IP地址,从设计上“修复”NAT存在的必要性。然而,由于NAT带来的“默认安全”特性,以及网络管理员和用户的使用习惯,即使在IPv6环境中,仍然存在类似NAT的技术(如NAT66,即IPv6到IPv6的网络地址转换),用于隐藏内部网络结构或简化网络重新编号的过程。但主流趋势是回归到端到端的直接连接。总结align="left">描述align="left">核心功能align="left">通过修改IP包头中的地址信息,实现私有网络访问公共网络的能力。align="left">主要动机align="left">解决IPv4地址枯竭和提供基础的安全屏障。align="left">核心技术align="left">维护NAT转换表,记录(内网IP:端口)与(公网IP:端口)的映射关系。align="left">最常用类型align="left">NAPT/PAT,通过端口复用实现多设备共享一个公网IP。align="left">主要问题align="left">破坏了端到端的连接模型,导致外部无法主动访问内网设备,需要NAT穿透技术来解决。align="left">未来趋势align="left">IPv6旨在取代NAT,但由于惯性,NAT及其变种(如NAT66)可能仍会存在一段时间。