网络基础 10 NAT协议

10.NAT协议

NAT网络地址转换(Network Address Translation)属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术

NAT协议的重点内容

  • IPv4地址不够用(约43亿)所以需要NAT,同时NAT可以隐藏内网拓扑结构以提高安全性
  • NAT是通过地址转换实现内网设备与公网通信的机制,端口复用(PAT)是NAT的一种实现方式,也是NAT的核心,通过端口复用,单个公网IP可支持成千上万的内网设备并发访问,极大缓解IPv4地址短缺问题。现在一般都用PAT作为默认的NAT模式
  • 动态静态映射的区别
  • 锥形NAT的穿透差异(NAT的行为模式)

通俗比喻:小区快递收发室

想象你住在一个小区(内网),每户有私有门牌号(如192.168.1.100),但对外只用小区大门地址(公网IP如120.80.70.1)。

核心功能

  • 地址复用:通过公网IP地址池或端口号区分内网设备。
  • 安全隔离:隐藏内网拓扑,防止外部直接访问内网设备。

NAT的分类与技术原理

  1. 静态NAT
    • 特点:一对一固定映射(内网IP ↔ 公网IP)。
    • 优点:支持双向通信(内网可访问外网,外网也可主动访问内网)。
    • 缺点:浪费公网IP资源,仅适合对外服务(如Web服务器)。
  2. 动态NAT
    • 特点:从公网IP池中动态分配地址(多对多映射)。
      • 地址池管理:预先配置一组公网IP地址(如10个),形成“地址池”。
      • 按需分配:当内网设备(如20台机器)需要访问外网时,动态NAT从地址池中 随机分配一个公网IP 与内网IP绑定。
      • 会话结束后释放:内网设备断开连接后,公网IP被释放回地址池,供其他设备使用
    • 限制:公网IP池需足够大,且仅支持内网访问外网。
      • 多对多映射:动态NAT允许多个内网IP共享多个公网IP(地址池中的IP数量通常少于内网设备数量)。
        • 例如:10个公网IP → 20台内网设备(动态分配,按需使用)。
      • 一对一绑定:每个会话(内网IP → 公网IP)是一对一的,但公网IP是动态分配的(非固定)
    • 应用场景:企业内网用户临时访问互联网。
  3. PAT(端口地址转换,Port Address Translation)
    • 特点:多对一映射,通过端口号区分会话(NAPT)。
    • 核心机制:
      • 内网设备访问外网时,NAT设备修改源IP为公网IP,并分配唯一端口号。
      • 外网返回数据包时,根据公网IP和端口号匹配到内网设备。
    • 优势:极大节省公网IP资源(单个公网IP可支持数千设备)。
    • 典型应用:家庭路由器、小型办公室网络。
  4. Easy IP
    • 特点:直接使用路由器出口接口的公网IP进行转换,无需额外地址池。
    • 应用场景:家庭宽带、中小企业上网(无需手动配置地址池)。

NAT的优缺点与限制

  1. 优点
    • 节省公网IP资源:通过PAT实现多对一转换。
    • 增强安全性:内网地址对外不可见。
    • 简化网络管理:内网可自由规划私有地址。
  2. 缺点与限制
    • 无法支持所有协议:部分协议(如FTP、SIP)依赖IP地址传递,需特殊处理。
    • 限制P2P通信:对称NAT或严格防火墙可能导致P2P连接失败。
    • 增加延迟:地址转换过程可能引入轻微性能开销。
  3. NAT穿透技术
    • STUN/ICE/UPnP:用于解决P2P通信中的NAT穿透问题。
    • 中继服务器:通过第三方服务器转发数据(如WebRTC中的TURN)。

应用场景

  • 家庭/企业上网
    • PAT:家庭路由器共享一个公网IP。
    • Easy IP:中小企业低成本接入互联网。
  • 对外服务发布
    • 静态NAT/DNAT:Web服务器、邮件服务器需固定公网IP。
  • 网络安全防护
    • 动态NAT:隐藏内网设备,防止外部扫描。
  • IPv4/IPv6过渡
    • 双栈/NAT-PT:平滑迁移至IPv6环境。

扩展

锥形NAT的分类是NAT设备行为模式的描述(“外部设备访问内网主机” 的安全策略),而静态/动态/PAT是NAT的实现方式

NAT类型 是否支持锥形NAT 说明
静态NAT 静态NAT通常表现为 全锥形NAT(固定公网IP和端口),因为映射关系固定。
动态NAT 动态NAT可能表现为 地址受限锥形NAT(公网IP动态分配,但限制外部IP)。
PAT(端口地址转换) PAT通常表现为 端口受限锥形NAT对称NAT(通过端口号严格限制访问)。

锥形NAT

  • 全锥形NAT(Full Cone NAT)
    • 一旦内网主机A通过某个公网IP和端口(如120.26.143.x:50001)与外网通信,NAT设备会为该内网主机创建一个固定的映射(120.26.143.x:50001 → 内网IP:端口)。
    • 任何外部主机(如B、C等)均可通过120.26.143.x:50001访问内网主机A。
  • 地址受限锥形NAT(Address-Restricted Cone NAT)
    • 只有 内网主机A曾主动通信的外部IP地址(如B的IP)才能通过120.26.143.x:50001访问内网主机A。
    • 限制条件:内网主机A访问过外网主机B的IP+端口,B在访问A时判断这个IP是不是A访问过的,是访问过的就可以访问A
  • 端口受限锥形NAT(Port-Restricted Cone NAT)
    • 在地址受限的基础上,进一步限制 外部主机的端口
    • 限制条件:内网主机A访问过外网主机B的IP+端口,B在访问A时判断这个IP+端口是不是A访问过的,是访问过的就可以访问A
    • 对称NAT区分:端口受限锥形NAT,不管内网主机A要和多少个外网主机通信,都只给a分配一个固定的公网ip+端口,外网主机访问这个端口时去判断外网主机的ip+端口是不是主机a发起过请求的
  • 对称NAT(Symmetric NAT)
    • 每次内网主机A与不同的外部ip+端口(IP外:port)通信时,都给A分配一个公网IP+端口(IP内:port,通常用对称NAT时是PAT,所以公网IP固定而端口动态分配),当外部主机想访问A时,只能通过当时A访问它时用的IP内:port才能访问到A,即四元组固定
    • 限制条件:外部主机的IP和端口必须与内网主机A的原始请求完全一致,且每次连接的映射独立
    • 端口受限锥形NAT区别:访问每一个不同的外网IP+端口时,都会给A分配一个公网IP+端口,然后外网主机B想访问A时判断A和B此时的四元组对不对
    • 四元组(SIP, DIP, Sport, Dport)固定是对称NAT的核心绑定规则:
      • SIP:Sport:内网主机A的源IP+源端口
      • DIP:Dport:A主动发送请求的目的IP+目的端口
      • eIP:ePort:NAT分配的公网IP+端口
      • 结论:
        • 四元组中的任意一项变化(如目标IP或Dport不同),都会导致NAT分配不同的(eIP:ePort)。
        • 四元组固定 是指外部主机回传数据包时,必须使用与A主动发送请求时相同的(DIP:Dport)和(eIP:ePort)。
0%