Skip to content

NAT 网络地址转换

考情分析

NAT 是选择题中偶尔出现的考点,通常考查 NAT 的基本功能、私有地址范围、NAPT 的端口映射机制等。不涉及复杂计算。

考频:★★☆

私有地址

IPv4 地址资源有限(23243 亿),全球每台设备都分配一个公网 IP 根本不够用。于是 RFC 1918 规定了三个私有地址范围,供内部网络自由使用:

类别地址范围网段数
A 类10.0.0.0 ~ 10.255.255.2551 个 A 类网
B 类172.16.0.0 ~ 172.31.255.25516 个 B 类网
C 类192.168.0.0 ~ 192.168.255.255256 个 C 类网

私有地址的特点:

  • 只在内部网络使用,不会出现在公网上
  • 不同组织可以使用相同的私有地址,互不影响
  • 路由器不转发目的地址为私有地址的数据报

NAT 的基本原理

NAT(Network Address Translation)安装在内网与外网的边界路由器上,负责在数据报经过时替换 IP 地址。

基本 NAT(一对一)

最简单的 NAT 就是维护一张转换表,将内部私有 IP 和外部公网 IP 一一映射。

内网主机 → NAT路由器 → 公网
192.168.1.10 → 替换为 203.0.113.5 → 发出

发送方向: 将数据报的源 IP 从私有地址替换为公网地址

接收方向: 将数据报的目的 IP 从公网地址替换回私有地址

问题是:基本 NAT 要求公网 IP 和内网主机一一对应。如果内网有 100 台主机同时上网,就需要 100 个公网 IP,没有节约地址。

NAPT(网络地址与端口转换)

NAPT(Network Address Port Translation)在替换 IP 的同时还替换端口号,从而实现多台内网主机共享一个公网 IP

内网:                NAT转换表:                   公网:
192.168.1.10:3000 → 203.0.113.5:40001          → 服务器
192.168.1.20:3000 → 203.0.113.5:40002          → 服务器
192.168.1.30:4000 → 203.0.113.5:40003          → 服务器

三台内网主机使用同一个公网 IP(203.0.113.5),通过不同的端口号区分。端口号有 65535 个可用,所以一个公网 IP 理论上可以支撑大量内网主机同时上网。

实际上我们平时说的"NAT",绑大多数情况下指的就是 NAPT。

NAT 转换表

NAT 路由器维护一张转换表,记录了每条连接的映射关系:

内网地址内网端口公网地址公网端口协议
192.168.1.103000203.0.113.540001TCP
192.168.1.203000203.0.113.540002TCP
192.168.1.304000203.0.113.540003UDP

转换过程:

NAT 的问题

NAT 虽然有效缓解了 IPv4 地址不足的问题,但也带来了一些副作用:

1. 破坏了端到端通信模型

外部主机无法主动向 NAT 后面的内网主机发起连接(因为不知道内网主机的地址和端口映射)。P2P 应用、VoIP、在线游戏等都受此影响。

2. NAT 路由器需要检查和修改传输层信息

NAT 不仅修改 IP 首部,还要修改 TCP/UDP 首部的端口号,甚至要重新计算校验和。这违反了网络层次结构的封装原则——网络层设备不应该去看传输层的内容。

3. 依赖于传输层协议

NAPT 依赖端口号来区分连接,但有些协议(如 ICMP)没有端口号的概念,NAT 处理起来比较麻烦。

4. 增加了网络复杂性

NAT 引入了状态(转换表),路由器变得有状态了,增加了故障排查的难度。

NAT 穿透

为了解决 NAT 后面的主机无法被外部访问的问题,出现了一些 NAT 穿透技术:

  • UPnP:允许内网应用自动在 NAT 上配置端口映射
  • STUN:通过外部服务器帮助内网主机发现自己的公网地址和端口
  • 中继(TURN):通过第三方服务器转发数据

这些内容 408 基本不考,了解即可。

易错点

1. NAT 修改的是 IP 地址,NAPT 还额外修改端口号

基本 NAT 只改 IP,一对一映射;NAPT 同时改 IP 和端口号,多对一映射。

2. 私有地址的三个范围要记住

10.0.0.0/8、172.16.0.0/12、192.168.0.0/16。选择题可能给一个 IP 问是否属于私有地址。

3. NAT 路由器要重新计算校验和

修改了 IP 首部就要重算 IP 首部校验和;修改了端口号就要重算 TCP/UDP 校验和。

4. NAT 不等于防火墙

NAT 隐藏了内网结构,有一定的安全作用,但它本身不是安全设备。

高频考点清单

  • 三段私有地址范围:10.x / 172.16~31.x / 192.168.x
  • NAT 的功能:私有地址和公网地址的转换
  • NAPT 通过端口号实现多对一映射
  • NAT 破坏端到端通信模型
  • NAT 修改 IP 地址(和端口号),需要重新计算校验和

真题练习

相关真题(4题)

2025Q37选择题2分

NAT 从内网到外网修改源 IP 地址和源端口号

2023Q38选择题2分

NAT 地址转换:经过路由器转发后源 IP 是否被替换

2020Q47综合题9分

子网划分与 NAT 综合题:地址规划、NAT 转换表与路由转发

2016Q38选择题2分

NAT 转换后的 IP 地址:源地址替换为公网地址,目的地址不变