NAT网关本质是在L3/L4对IPv4数据包进行有状态地址端口转换,依赖动态会话表实现双向映射;PAT通过IP+端口复用共享单公网IP,静态/动态NAT仅映射IP且支持双向通信但不省IP。

NAT网关的底层转换机制,本质是在数据包穿越边界设备(如家用路由器、企业防火墙)时,实时改写IP报文头中的地址与端口字段,并依赖一张动态维护的映射表完成双向流量识别与还原。它不是独立协议,而是对IPv4数据包在网络层(L3)和传输层(L4)的有状态干预。
核心转换动作发生在两个方向
当内网设备发起对外连接时:
- 源IP地址由私有地址(如192.168.1.5)替换为公网IP(如203.0.113.8)
- 源端口可能被重写(尤其在PAT中),例如从52102变为50127,用于区分不同内网主机
- NAT网关同步在会话表中记录五元组:协议类型 + 内网IP:端口 + 公网IP:端口 + 外网IP:端口
当外网响应返回时:
- 目的IP和目的端口匹配会话表中的“公网IP:端口”项
- 网关查表还原出原始内网IP:端口,改写目的字段后转发至局域网
- 若无对应表项(如外网主动发起连接且未预配置),数据包直接丢弃
PAT是当前最主流的NAT实现方式
PAT(Port Address Translation),也称NAPT,通过“IP+端口”联合标识,使成百上千台内网设备共享单个公网IP。其关键在于端口复用能力:
- TCP/UDP端口范围为1–65535,理论单IP可支撑近6.5万个并发连接
- 实际可用端口受设备性能、超时策略(如TCP空闲15分钟、UDP 2分钟)限制
- 网关需处理端口冲突:同一内网IP的不同连接不能分配相同出口端口,需自动递增或哈希选端
静态NAT与动态NAT的适用边界清晰
它们不依赖端口,仅做IP级映射,因此天然支持双向通信:
- 静态NAT固定绑定一个内网IP到一个公网IP,适合Web、SSH等需长期对外暴露的服务
- 动态NAT从地址池中临时分配公网IP,适用于内网用户轮换访问外网,但已基本被PAT取代
- 两者均无法节省公网IP资源,部署成本高,在IPv4紧缺背景下仅用于特定服务发布场景
会话表是NAT网关的运行中枢
这张表不是配置文件,而是内存中实时更新的状态数据库,每条记录包含:
- 协议(TCP/UDP/ICMP)、内部本地地址(192.168.1.10:49153)
- 内部全局地址(203.0.113.8:61204)、外部全局地址(142.250.189.46:443)
- 超时时间戳、连接状态(如TCP的SYN_SENT、ESTABLISHED、FIN_WAIT)
表项生命周期严格跟随连接状态——连接建立时插入,正常断开或超时后清除。表满或异常老化会导致新连接失败或响应丢失。










