📖 虚拟专用网 VPN 和网络地址转换 NAT
🎯 课程摘要:本节介绍虚拟专用网 VPN 的原理(基于隧道技术,将内部 IP 数据报加密封装在外部 IP 数据报中通过公用因特网传输),以及网络地址转换 NAT/NAPT 如何缓解 IPv4 地址枯竭问题。
📝 详细笔记
1. 虚拟专用网 VPN
1.1 专用地址(私有地址)
出于安全考虑,专用网内的主机不应直接暴露于公用因特网,应使用机构可自行分配的专用地址(私有地址),无需向因特网管理机构申请。
RFC1918 规定的三个 CIDR 地址块作为专用地址:
| 地址块 | 范围 | 前缀 |
|---|---|---|
| 10.0.0.0/8 | 10.0.0.0 ~ 10.255.255.255 | 10/8 |
| 172.16.0.0/12 | 172.16.0.0 ~ 172.31.255.255 | 172.16/12 |
| 192.168.0.0/16 | 192.168.0.0 ~ 192.168.255.255 | 192.168/16 |
- 不同机构的专用网可能使用相同的专用 IP 地址,但因仅在机构内部使用,不会引起麻烦。
- ⚠️ 重点/考点:因特网中的所有路由器对目的地址是专用地址的 IP 数据报一律不进行转发(由 ISP 设置其路由器实现)。
1.2 VPN 的实现原理
专用网至少需要一个路由器具有合法的全球 IP 地址,才能利用公用因特网通信。隧道技术工作过程(以部门 A 主机 H1 向部门 B 主机 H2 发送数据为例):
- "虚拟"的含义:数据报实际经公用因特网传送,但效果上如同在本机构专用网上传送。
- "隧道"的含义:IP 数据报在因特网中可能经过多个网络和路由器,但从逻辑上看,R1 与 R2 之间好像是一条直通的点对点链路,故称 IP 隧道技术。
- ⚠️ 重点/考点:VPN 利用 IP 隧道技术实现 IP 数据报封装在 IP 数据报中传输。
1.3 远程接入 VPN 与合规注意
- 外地员工可在任意地点接入因特网运行 VPN 软件访问专用网资源。
- ⚠️ 注意:2017 年《关于清理规范互联网网络接入服务市场的通知》,我国未经电信主管部门批准,不得自行建立或租用专线(含虚拟专用网络)。
2. 网络地址转换 NAT
2.1 NAT 的提出背景
- IPv4 地址空间耗尽危险未解除。
- 2011 年 2 月 3 日,IANA(因特网号码分配管理局)宣布 IPv4 地址已分配完毕。
- NAT(网络地址转换)技术于 1994 年提出,用于缓解 IPv4 地址枯竭问题。
2.2 NAT 基本原理
NAT 能使大量使用内部专用地址的专用网用户共享少量外部全球地址访问因特网。
- 装有 NAT 软件的路由器称 NAT 路由器,至少拥有一个有效的外部全球 IP 地址。
- 所有使用专用地址的主机与外网通信时,都要在 NAT 路由器上将内部专用地址转换为外部全球地址。
NAT 转换过程(主机 A 专用地址 IPA → 主机 B 全球地址 IPB):
- 基本 NAT 的缺点:若 NAT 路由器拥有 N 个全球 IP 地址,则专用网内最多同时有 N 台主机接入因特网。
3. 网络地址与端口号转换 NAPT
3.1 NAPT 原理
- 将 NAT 与运输层端口号结合使用,称为 NAPT(网络地址与端口号转换)。
- 可使专用网中大量使用专用地址的主机共用 NAT 路由器上的一个全球 IP 地址,同时与因特网中不同主机通信。
- 现在很多家用路由器(接入手机、平板、笔记本、台式机、物联网设备等)实际上就是 NAPT 路由器,但往往并不运行路由选择协议。
3.2 NAPT 转换示例
主机 A、主机 B 均向因特网主机 C(端口 80)发送数据,A、B 源端口号恰好都为 30000:
| 内部专用地址:源端口 | → 转换后 | 外部全球地址:新源端口 |
|---|---|---|
| 主机A的IP:30000 | → | NAPT路由器全球IP:动态端口1 |
| 主机B的IP:30000 | → | NAPT路由器全球IP:动态端口2 |
- 端口号仅在本主机中才有意义,不同主机可使用相同端口号,NAPT 路由器会动态分配新源端口号加以区分。
- ⚠️ 重点/考点:NAPT 通过"IP 地址 + 端口号"的映射,让多台内部主机共用一个全球 IP 地址同时通信。
3.3 NAT 的局限性
- NAT 对网络应用并不完全透明,会对某些网络应用产生影响。
- NAT 的重要特点:通信必须由专用网内部发起,因此使用内部专用地址的主机不能直接充当因特网中的服务器(外网主机不能首先向内网主机发起通信)。
- 对 P2P 等需要外网主机主动与内网主机通信的应用,通过 NAT 时会遇到问题,需使用 NAT 穿透技术解决。
💡 核心总结
- VPN 通过隧道技术把内部 IP 数据报加密封装在外部 IP 数据报中,经公用因特网在专用网间传输,逻辑上等效于点对点直通链路。
- 专用地址(10/8、172.16/12、192.168/16)仅在机构内部有效,因特网路由器对目的地址为专用地址的数据报一律不转发。
- NAT/NAPT 使大量内网主机共享少量全球地址访问因特网;NAPT 进一步复用端口号,使多主机共用一个全球 IP。
- NAT 要求通信由内网发起,内网主机不能直接作为服务器,P2P 应用需 NAT 穿透技术。
❓ 课后思考 / 经典考题
- 为什么不同机构的专用网可以使用相同的专用 IP 地址而不会冲突?
- 简述 VPN 隧道技术中 IP 数据报的封装与解封装过程,外部数据报首部中的源/目的地址分别是什么?
- 基本 NAT 与 NAPT 的区别是什么?NAPT 如何让多台主机共用一个全球 IP 地址?
- 为什么说 NAT 对网络应用不完全透明?NAT 对 P2P 应用有何影响?