图 2.4：软件 NAT (CPU处理) vs 硬件 NAT (PPE/HNAT) 数据转发路径对比
展示首包建立连接与后续数据包在 Linux Kernel 路径与 PPE 硬件加速路径的区别
❌ 传统软件 NAT (Slow Path / CPU转发)
1. 网卡驱动 (NIC RX Interrupt) → 触发 CPU 中断
2. Netfilter 框架 (PREROUTING → FORWARD → conntrack 跟踪)
3. CPU 修改 IP/Port (iptables / nftables SNAT/DNAT)
4. 路由表查找 (Routing Decision) + POSTROUTING
5. 网卡发送 (NIC TX) → 消耗大量 CPU 资源与延迟
特点：每一个数据包都要经过 CPU 与 Netfilter 栈
吞吐量受限 CPU 算力（千兆/万兆易挤爆），小包延迟偏高，容易丢包
⚡ 硬件加速 NAT (Fast Path / PPE/HNAT)
【首包 Fast Path 建立】
CPU 正常处理第 1 个包，并在 HNAT/PPE 硬件表中写入 Offload 流表
【后续所有数据包 (Direct Path)】
① 网卡接收物理信号 (WAN/LAN PHY)
② PPE/HNAT 硬件引擎直接匹配流表并修改 IP/Port
③ 硬件直接转发至目标网卡 (LAN/WAN PHY)
💡 后续数据包完全绕过 Linux Kernel、CPU 及 Netfilter！
特点：线速转发，CPU 占用率接近 0%
大幅降低 P2P 游戏包转发延迟
⚠️ 但部分平台HNAT可能导致Full Cone规则失效（以 NatTypeTester 实测为准）