NAT网络地址转换


对于初学者来说,NAT(Network Address Translation,网络地址转换) 可以理解为“家庭/公司内网与互联网之间的‘翻译官’”——它能让多个内网设备(手机、电脑、电视)共用一个公网IP访问互联网,同时保护内网设备不被外网直接访问。

一、先搞懂:为什么需要NAT?

我们先明确两个关键概念,再理解NAT的必要性:

  • 公网IP:互联网上“唯一的门牌号”,比如你家宽带从运营商(电信、联通)申请到的IP(如 202.103.54.12),所有互联网设备(百度服务器、抖音服务器)都有唯一公网IP。
  • 内网IP:家庭/公司路由器分配给内网设备的“内部门牌号”,仅在局域网内有效,比如 192.168.1.2(手机)、192.168.1.3(电脑),不同局域网的内网IP可以重复(比如你家的 192.168.1.2 和邻居家的 192.168.1.2 互不干扰)。

问题核心:全球的公网IP数量有限(IPv4协议下约43亿个),无法给每台设备分配一个公网IP。而NAT的出现,解决了“公网IP不够用”的问题——让一个公网IP对应多个内网IP。

二、NAT的3种核心类型(初学者重点记PAT)

NAT主要分3类,其中 PAT(端口地址转换) 是我们日常生活中最常用的(比如家里的路由器、公司的网关),另外两种在特定场景(如服务器)中使用。

1. 静态NAT(Static NAT):一对一映射

  • 原理:将一个固定的内网IP永久映射到一个固定的公网IP(相当于给内网设备分配了“专属公网门牌号”)。
  • 适用场景:内网有需要被外网主动访问的设备,比如公司的网站服务器、监控设备。
  • 初学者案例
    公司内网有一台Web服务器,内网IP是 192.168.0.100,公司从运营商申请了一个公网IP 203.95.67.89。通过静态NAT设置,将 192.168.0.100203.95.67.89 绑定。
    此时,外网用户在浏览器输入 203.95.67.89,就能直接访问到公司内网的Web服务器。

2. 动态NAT(Dynamic NAT):多对多映射

  • 原理:从一个“公网IP池”(比如运营商分配的5个公网IP:202.103.54.10~202.103.54.14)中,随机分配一个公网IP给需要访问外网的内网设备,设备断开连接后,公网IP放回池子里供其他设备使用。
  • 适用场景:内网设备数量较多,但同时访问外网的设备较少(比如100台内网电脑,同时上网的只有20台,用5个公网IP的池就够了)。
  • 初学者案例: 学校机房有50台电脑(内网IP 192.168.2.1~192.168.2.50),学校申请了3个公网IP(202.98.11.5~202.98.11.7)作为IP池。
    当1号电脑(192.168.2.1)上网时,动态NAT分配 202.98.11.5;2号电脑上网时,分配 202.98.11.6;3号电脑上网时,分配 202.98.11.7;4号电脑上网时,等前3台有一台断开,再用它释放的公网IP。

3. PAT(端口地址转换):多对一映射(最常用)

  • 原理:所有内网设备共用一个公网IP,通过“公网IP+端口号”来区分不同的内网设备(比如公网IP是 202.103.54.12,手机用 202.103.54.12:12345,电脑用 202.103.54.12:54321)。
    这里的“端口号”是一个1~65535的数字,用于标识设备上的不同网络服务(比如浏览网页用80端口,微信聊天用特定端口)。

  • 适用场景:家庭、小型公司(几乎所有家用路由器默认用PAT)。

  • 初学者案例(最贴近生活): 你家的路由器从电信申请到公网IP 202.103.54.12,路由器给手机分配内网IP 192.168.1.2,给电脑分配 192.168.1.3
  • 当你用手机刷抖音时:手机发送的数据包“源IP是192.168.1.2”,经过路由器时,NAT会把源IP改成 202.103.54.12,并随机分配一个端口(比如12345),同时记录“192.168.1.2 ↔ 202.103.54.12:12345”的映射关系。
  • 当抖音服务器返回视频数据时:数据的“目标IP是202.103.54.12,目标端口是12345”,路由器收到后,根据之前的映射记录,把目标IP改回 192.168.1.2,再发给手机。
  • 同时电脑用浏览器逛百度时:路由器会给电脑分配另一个端口(比如54321),用 202.103.54.12:54321192.168.1.3 绑定,这样抖音和百度的返回数据就能准确发给手机和电脑,不会混淆。

三、NAT的工作流程(用“寄快递”类比,一看就懂)

我们用“手机(内网)访问百度(外网)”的例子,类比NAT的工作步骤,更直观:

步骤 实际网络操作 寄快递类比
1 手机(内网IP:192.168.1.2)发送“访问百度”的数据包,源IP是192.168.1.2,目标IP是百度服务器的公网IP(180.101.49.12)。 你(手机)要给“百度公司(外网)”寄快递,快递单上“寄件人地址”写你家的“房间号(内网IP:192.168.1.2)”,“收件人地址”写百度公司的“总地址(公网IP:180.101.49.12)”。
2 数据包到达路由器(NAT设备),路由器做两件事:
① 把数据包的“源IP”从192.168.1.2改成路由器的公网IP(202.103.54.12);
② 分配一个端口号(比如12345),把“源IP+端口”(202.103.54.12:12345)与手机的内网IP(192.168.1.2)绑定,记在“映射表”里。
快递到了小区门口的“快递站(路由器)”,快递员(NAT)把你快递单上的“寄件人地址”改成“小区总地址(公网IP:202.103.54.12)”,并在快递单上贴一个“编号(端口12345)”,同时在本子上记“编号12345 → 2号楼3单元401(手机内网IP)”。
3 数据包通过互联网到达百度服务器,百度处理后,返回“网页数据”,数据包的“目标IP”是202.103.54.12,“目标端口”是12345。 百度公司收到快递后,回复一个“包裹(网页数据)”,包裹上“收件人地址”写“小区总地址(202.103.54.12)”,并标注“编号12345”。
4 路由器收到百度返回的数据包,查看“映射表”,发现“端口12345”对应手机的内网IP(192.168.1.2),于是把“目标IP”改成192.168.1.2,再把数据包发给手机。 快递站收到百度的包裹,看包裹上的“编号12345”,查本子找到对应的“2号楼3单元401(手机)”,把包裹送过去。

四、初学者必知的2个NAT关键问题

1. 为什么内网设备不能被外网主动访问?

因为NAT的“单向性”:只有内网设备先主动访问外网,路由器才会记录“内网IP→公网IP+端口”的映射;如果外网设备(比如别人的电脑)主动访问路由器的公网IP,路由器的“映射表”里没有对应的记录,就会直接丢弃数据包,相当于给内网加了一道“防火墙”,保护内网设备不被外网陌生设备攻击。

例外:如果需要外网主动访问内网设备(比如家里的监控、内网游戏服务器),可以手动在路由器上设置“端口映射”(本质是提前在NAT映射表里添加一条固定记录)。比如把监控的内网IP 192.168.1.10 的80端口,映射到路由器公网IP的8080端口,这样外网用户输入“公网IP:8080”就能访问监控。

2. NAT和IPv6的关系?

现在我们用的是IPv4协议,公网IP不够用才需要NAT;而IPv6协议有“2^128个IP地址”(足够给地球上每一粒沙子分配一个IP),未来普及IPv6后,每个设备都能有一个专属公网IP,NAT的“节省公网IP”功能就不再需要了,但NAT的“安全防护”功能可能仍会保留。

五、总结(初学者记3句话)

  1. NAT的核心作用:节省公网IP(让多个内网设备共用一个公网IP上网)+ 保护内网安全(阻止外网主动访问内网)。
  2. 最常用的NAT类型是PAT(端口地址转换),家里的路由器默认用它。
  3. NAT的本质是“IP地址翻译”,通过路由器在“内网IP”和“公网IP”之间转换,并用“端口号”区分不同内网设备。