一、NAT的介绍以及作用
二、NAPT的介绍以及作用
三、NAT vs NAPT
一、NAT的介绍以及作用
1.1 NAT的介绍
NAT(Network Address Translation)是一种广泛应用于互联网的技术,主要用于解决IPv4地址耗尽问题,同时提供网络安全和网络管理功能。它通过将私有网络内部的设备地址转换为公共网络地址,使多个内部设备共享单个公网IP,显著提升了IP地址的利用率。
1.2 为什么要有NAT
IPv4 是一个32位的整数,最多可以表达40亿多的IP地址,相对于全球众多的需要联网的设备,ip地址不够用。IPv6可以解决IP不够用的问题,但目前的众多网络设备广泛支持IPv4。
1.3 NAT的核心原理
1. 基本思想
- 私有网络:企业/家庭内部使用非公网IP段(如192.168.x.x、10.x.x.x、172.16.x.x至172.31.x.x)。
- 公网IP:全球唯一的IPv4地址,用于与互联网通信。
- NAT设备(如路由器、防火墙)负责在数据包转发时进行地址转换。
2. 工作流程
- 入站流量:外部请求到达NAT设备,根据目标端口和协议映射到内部设备的私网IP。
- 出站流量:内部设备发起请求时,NAT设备将私网IP替换为公网IP,并记录映射关系(如端口)。
- 数据包转发:经转换后的数据包通过公网路由至目标,返回时NAT设备反向映射,确保流量正确送达内部设备。
1.4 NAT的主要类型
1.4.1 静态NAT(Static NAT)
- 一对一映射:固定私网IP对应唯一公网IP及端口。
- 典型场景:Web服务器对外提供服务,需稳定公网IP访问。
1.4.2 动态NAT
- 临时映射:从公网IP池中动态分配未使用的端口和IP组合。
- 适用场景:有限公网IP需支持多个内部设备间歇性上网。
- 限制:公网IP数量决定并发连接数。
动态NAT基于地址池来实现私有地址与公有地址的转换。
当内部主机A和B需要访问公网IP时,网关RTA会从配置的公网地址池中选取一个未使用的公网ip作为映射。每台主机都会分配到地址池中的一个唯一地址。当不需要此连接时,对应的地址映射会被删除,公网地址也恢复到地址池待用。网关收到回复报文后,也会执行静态地址转换。
动态NAT中的地址池用尽后,只能等待被占用的公用IP被释放后,其他主机才能使用它访问公网
1.5 NAT的应用场景
1. IPv4地址短缺
- 全球IPv4地址耗尽(约43亿),NAT允许多设备共享单一公网IP。
2. 网络安全
- 隐藏内部网络拓扑,抵御外部攻击(如DDoS、端口扫描)。
3. 灵活扩展
- 无需重新分配公网IP即可新增内部设备。
4. 远程访问
- VPN结合NAT实现安全远程连接(如企业内网访问)。
二、NAPT的介绍以及作用
2.1 NAPT的介绍
NAPT(网络地址端口转换)是NAT(网络地址转换)技术的扩展,不仅转换网络地址(IP),还通过端口映射区分不同内部设备。它是现代网络中实现多设备共享单一公网IP的核心技术,广泛应用于家庭宽带、企业内网和云服务。
2.2 NAPT的核心概念
1. 定义
- NAPT将私有网络中的多个设备(不同IP或相同IP+不同端口)映射到公网IP的唯一端口组合,通过IP+端口的双重转换实现流量区分。
2. 关键技术
- IP转换:私有IP → 公网IP。
- 端口映射:私有端口 → 公网端口(如TCP/UDP端口号)。
- 状态跟踪:记录每个映射关系的会话状态(如TCP三次握手、UDP连接)。
2.3 NAPT的工作原理
1. 数据包处理流程
- 出站流量:
- 私有设备发起请求(如192.168.1.2:80→google.com:80)。
- NAPT设备分配公网端口(如203.0.113.1:65432)。
- 数据包头部修改为公网IP+端口,发送至互联网。
- 入站流量:
- 互联网返回数据包(目标203.0.113.1:65432)。
- NAPT设备根据端口反向查找私有设备(192.168.1.2:80)。
- 数据包还原为私有网络格式,转发至目标设备。
2. 状态表(State Table)
NAPT维护会话状态表,记录以下信息:
- 私有IP + 私有端口 → 公网IP + 公网端口
- 协议类型(TCP/UDP)
- TCP序列号(仅TCP)
- 生存时间(TTL)
示例:
2.4 NAPT的类型
1. 基于端口的NAPT
- 动态端口分配:为每个内部设备分配唯一公网端口(如TCP 1024-65535)。
- 典型场景:家庭路由器、小型企业网络。
2. 基于协议的NAPT
- 按协议分流:如TCP流量走80端口,UDP流量走53端口。
- 适用场景:混合协议服务(如HTTP+DNS)。
3. 基于VPN的NAPT
- 隧道封装:在VPN隧道中嵌入NAPT(如OpenVPN结合端口转发)。
- 用途:远程办公、安全访问内网资源。
2.5 NAPT的应用场景
1. 家庭宽带
- 多台手机、电脑共享一个公网IP,通过路由器自动分配端口。
2. 企业内网
- 隐藏内部服务器IP(如数据库、OA系统),仅暴露必要端口。
3. 云服务器
- AWS/ECS实例通过弹性公网IP(EIP)结合NAPT管理多个容器服务。
4. 网络安全
- 防止端口扫描(外部无法探测内部设备端口)。