实验采用 QEMU 模拟环境,利用 Linux Network Namespace 模拟物理隔离的节点。
物理层网络 (Underlay):192.168.1.0/24
隧道逻辑层 (Overlay):10.10.10.0/24
拓扑结构:Node_A 与 Node_B 进行业务通信,Node_C 作为旁路监听端。
[Outer IPv4][Inner IPv4][UDP/TCP]
特点:最简单的“套娃”,开销最小。[Outer IPv4][Inner IPv6][UDP/TCP]
[Outer IP][ESP Header][Encrypted Data]
特点:安全第一,自带“保险箱”,常用于远程诊断和云端加密链路。[Outer IP][GRE Header][Inner IP]
[Outer IP][GRE Header][Inner MAC][Inner IP]
特点:“虚拟网线”剥开 GRE 直接就是以太网头[Outer IP][GRE Header][ERSPAN III Header (8-20B)][Inner MAC][Inner IP]
特点:Timestamp: 位于内层 MAC 头之前,由发送端内核读PHC打入。Session ID / Hardware ID:标记流量来源,防止在多路监控时搞混。在智驾开发中,我们经常需要处理两类极端数据:一类是需要极致透明以便分析延迟的传感器数据,另一类是需要极致安全以防被黑客操控的控制指令。通过 Wireshark 抓包,我们可以直观看到两者的区别。
正如 3.3.2 节所述,ERSPAN III 是为了观测而生的。
Wireshark 观察点:
Protocol Type: 0x22eb (ERSPAN III)。
关键元数据:在内层 MAC 头之前,你会看到 Timestamp(时间戳)。
深度解析:如何在观测端node_c计算A/B延时?
公式:ΔT=(Treply−Trequest)×Granularity通过计算两个 ERSPAN 包的时间戳差值,工程师可以排除上位机 C 的性能干扰,直接获取 A、B 两端在车载网络中的确定性延迟。

当你开启 VTI 隧道后,物理链路(192.168.1.x)上的抓包结果会发生剧变。
Wireshark 观察点:
Protocol: 显示为 ESP (50)。
内容:你无法直接看到 10.10.10.x 的 Ping 报文,甚至连 UDP/TCP 端口都不可见。
如何调试?
物理层视角:如截图所示,只能看到 SPI(安全参数索引)和序列号,载荷部分全是加密乱码。
内部视角:你必须在 Namespace 中监听逻辑接口(如 ip netns exec node_a tcpdump -i vti0),才能看到解密后的 ICMP 原文。这模拟了智驾系统中,敏感数据(如远程驾驶指令)在公网传输时即使被拦截也无法被解析的真实场景。
| 隧道类型 | 封装协议 | 传输内容 | 核心特征 | 智驾应用场景 |
| IPIP (tunl) | IPv4 in IPv4 | IPv4 | 最原始、开销最小 | 智驾域控制器(MDC)访问座舱域(CDC)的一个特定服务 |
| SIT | IPv6 in IPv4 | IPv6 | 6over4 转换专用 | 现代智驾算法 IPv6 |
| VTI | IPsec 隧道 | IP | 逻辑接口,支持路由 | 车云监控(Cloud-to-Vehicle),VTI 结合 IPsec 确保了数据不会被窃听或篡改 |
| GRE | GRE (L3) | 几乎所有 L3 | 灵活、通用 | 车载骨干网中不同功能分区(Zone)之间的通用桥梁。 |
| GRETAP | GRE (L2) | 以太网帧 | 透明网线,带 MAC | gPTP 时间同步 |
| ERSPAN | GRE (L2+) | 以太网帧 | 带时间戳的镜像 | 流量回放、影子模式、延迟分析等。A域控和 B 传感器之间的对话“克隆”一份发给上位机(采集机)C |
#add tunl deviceip tunnel add mytun mode ipip remote 192.168.1.2 local 192.168.1.1#add sit deviceip link add sit1 type sit remote 192.168.1.2 local 192.168.1.1#add vti deviceip link add vti_tun type vti local 192.168.1.1 remote 192.168.1.2 key 100