首页/计算机网络/04-network/NAT协议 🔗 在 Obsidian 中打开
计算机网络 · 04-network

NAT协议

难度 ★★★重要度 ★★★★★ 考查频率 低题型 选择 / 简答 / 计算 NATNAPT私有地址端口转换端到端
速查
NAT 将私有 IP 转换为公有 IP,解决 IPv4 地址不足;NAPT 借助端口实现多对一映射(多个内网主机共享一个公网 IP)。缺点是违反端到端原则——外部无法主动发起连接。

核心概念

什么是 NAT

网络地址转换(Network Address Translation),将私有 IP 地址转换为公有 IP 地址。

为什么需要 NAT

IPv4地址不足:
- IPv4只有32位,约43亿个地址
- 私有地址可以在内网重复使用
- NAT让多个私有地址共享少量公有地址

私有地址范围(RFC 1918):
- A类: 10.0.0.0 ~ 10.255.255.255 (1个A类网络)
- B类: 172.16.0.0 ~ 172.31.255.255(16个B类网络)
- C类: 192.168.0.0 ~ 192.168.255.255(256个C类网络)

NAT工作原理

基本 NAT(静态 NAT)

一对一映射:私有IP ↔ 公有IP

内网主机192.168.1.100 ←→ 公网IP 203.0.113.1
内网主机192.168.1.101 ←→ 公网IP 203.0.113.2

缺点:需要多个公网IP

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

多对一映射:多个(私有IP:端口) ↔ 一个公有IP:不同端口

转换表(NAPT表):
内部地址:端口          外部地址:端口
192.168.1.100:1025 → 203.0.113.1:40001
192.168.1.100:1026 → 203.0.113.1:40002
192.168.1.101:1025 → 203.0.113.1:40003
内部地址:端口外部地址:端口
192.168.1.100:1025203.0.113.1:40001
192.168.1.100:1026203.0.113.1:40002
192.168.1.101:1025203.0.113.1:40003

工作过程

1. 内网主机(192.168.1.100:1025)发送数据到外网
2. NAT路由器:记录映射,替换源地址和端口
3. 外网服务器回复到 203.0.113.1:40001
4. NAT路由器查表,替换目的地址和端口,转发给内网主机
关键NAT 修改的是 IP 头中的源 / 目的 IP 地址传输层端口号,工作在网络层与传输层之间。

NAT的优缺点

优点

优点说明
节省 IP 地址多个内网主机共享一个公网 IP
安全性内网地址对外部不可见
灵活性内网结构变化不影响外部

缺点

缺点说明
违反端到端原则外部无法主动发起连接
影响某些协议FTP、SIP 等需传输 IP 地址的协议受影响
增加延迟每个分组都需查表转换
端口数量限制单个公网 IP 最多 65535 个端口

常见考法

考点说明
NAT 的工作原理地址和端口的替换过程
NAPT 转换表查表和转换
私有地址范围10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
NAT 的优缺点节省 IP vs 违反端到端原则

易错点

必记
  1. NAT 修改的是 IP 头的源 / 目的 IP 地址传输层端口号
  2. NAT 工作在网络层和传输层之间(不是纯网络层)。
  3. 私有地址不能在公网路由,必须通过 NAT 转换。
  4. NAPT 比基本 NAT 更常用,因为可多主机共享一个 IP。

核心结论

  1. NAT 将私有 IP 转为公有 IP,解决 IPv4 地址不足。
  2. NAPT 通过端口映射实现多对一转换。
  3. NAT 违反端到端原则,但广泛使用。
  4. 私有地址范围:10.0.0.0/8,172.16.0.0/12,192.168.0.0/16。

记忆卡片

NAT 的作用?
将私有 IP 转换为公有 IP,解决 IPv4 地址不足。
私有地址范围?
10.0.0.0/8,172.16.0.0/12,192.168.0.0/16。
NAPT 与基本 NAT 的区别?
NAPT 使用端口映射,多个内网主机共享一个公网 IP。
NAT 的主要缺点?
违反端到端原则,外部无法主动发起连接。

交互动画 · NAPT 转换流程

内网主机192.168.1.100:1025 NAT 路由器公网 203.0.113.1 外网服务器8.8.8.8:80
选择方向,观察 NAT 如何替换地址与端口
点击上方按钮开始
橙色流动虚线表示当前数据方向;NAT 在两次传输中分别替换目的的地址:端口。

相关知识点

ipv4-address-classification ipv4-packet-format arp-protocol

↑ 以上为站内 HTML 相对链接(纯网页可浏览);本页右上「在 Obsidian 中打开」跳回源笔记。