车载以太网之要火系列 - 第67篇郭大侠学TSN(冗余传输):关键数据走双路,一条断了备份补

车载以太网之要火系列 - 第67篇郭大侠学TSN(冗余传输):关键数据走双路,一条断了备份补 写在开篇·蓉儿又挖坑上回说到郭靖搞清楚了帧抢占——紧急数据可以打断低优先级数据不用等周期窗口。郭靖合上笔记本若有所思“蓉儿TAS和帧抢占能保证准时发但万一网络断了怎么办刹车指令准时发出了但网线断了还是到不了啊。”黄蓉咬了口糖葫芦“问得好准时发只是第一步可靠到达才是关键。今天就把冗余传输讲清楚——IEEE 802.1CB给关键数据上‘双保险’。”一、冗余传输是什么为什么需要它黄蓉在白板上写下定义冗余传输 同一份数据发两份走两条不同的路径接收方选先到的那份IEEE 802.1CB 标准定义“核心思想重要数据不发一次发两次。两条路一条断了另一条还能到。”没有冗余传输┌─────────┐ ┌─────────┐ ┌─────────┐ │ 刹车ECU │────→│ 交换机 │────→│ 域控制器 │ └─────────┘ └─────────┘ └─────────┘ ↑ ┌─────┴─────┐ │ 网线断了 │ └───────────┘ 结果刹车指令丢了车没刹住有冗余传输┌─────────┐ ┌─────────┐ ┌─────────┐ │ 刹车ECU │──┐ │ 交换机A │──┐ │ 域控制器 │ └─────────┘ │ └─────────┘ │ └─────────┘ │ ▲ │ ↑ │ │ 主路 │ │ └────┼───────────┼──────┘ │ 备路 │ ┌────┴────┐ ┌────┴────┐ │ 交换机B │ │ 交换机C │ └─────────┘ └─────────┘ 结果主路断了备路还能到二、冗余传输是怎么工作的黄蓉画了冗余传输的核心流程┌─────────────────────────────────────────────────────────────────────┐ │ 802.1CB 冗余传输原理 │ ├─────────────────────────────────────────────────────────────────────┤ │ │ │ 发送端 │ │ ┌─────────────────────────────────────────────────────────────┐ │ │ │ 原始数据包刹车指令 │ │ │ │ │ │ │ │ │ ├──→ 复制一份 │ │ │ │ │ │ │ │ │ ▼ ▼ │ │ │ │ [副本1] [副本2] │ │ │ │ 走路径A 走路径B │ │ │ └─────────────────────────────────────────────────────────────┘ │ │ │ │ 网络 │ │ ┌─────────────────────────────────────────────────────────────┐ │ │ │ 路径AECU → 交换机A → 交换机C → 域控 │ │ │ │ 路径BECU → 交换机B → 交换机C → 域控 │ │ │ └─────────────────────────────────────────────────────────────┘ │ │ │ │ 接收端 │ │ ┌─────────────────────────────────────────────────────────────┐ │ │ │ 收到副本1t1→ 收下 │ │ │ │ 收到副本2t2比t1晚→ 丢弃去重 │ │ │ │ │ │ │ │ 如果只收到一份也收下另一份可能丢了 │ │ │ └─────────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────┘三、冗余传输 vs 重传机制郭靖问“TCP也有重传丢了再发不行吗为什么还要冗余传输”黄蓉画了对比表对比项TCP重传802.1CB冗余传输检测丢包需要超时等待不需要等另一份可能已经到了恢复时间毫秒级可能几百ms微秒级几乎无感带宽开销只在丢包时多一份始终多一份双倍带宽适用场景普通数据关键数据刹车、转向实现层级软件TCP栈硬件交换机TCP重传是“丢了再补”冗余传输是“压根不怕丢”。刹车指令等不起TCP那几百毫秒。四、车载典型应用黄蓉画了一张车载冗余传输拓扑图┌─────────────────────────────────────────────────────────────────────┐ │ 车载冗余传输拓扑 │ ├─────────────────────────────────────────────────────────────────────┤ │ │ │ ┌─────────────┐ │ │ │ T-Box/GPS │ │ │ └──────┬──────┘ │ │ │ │ │ ┌────────────┼────────────┐ │ │ │ │ │ │ │ ▼ ▼ ▼ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ 网关主 │ │ 网关备 │ │ 网关备2 │ │ │ │ (路径A) │ │ (路径B) │ │ (路径C) │ │ │ └────┬─────┘ └────┬─────┘ └────┬─────┘ │ │ │ │ │ │ │ └─────────────┼─────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────┐ │ │ │ 域控制器 │ │ │ └─────────────┘ │ │ │ │ 关键数据刹车、转向同时走三条路径一条断了还有两条 │ │ │ └─────────────────────────────────────────────────────────────────────┘数据等级冗余路径数说明ASIL D刹车、转向3条最高安全等级至少一条能到ASIL B/C传感器2条一般冗余非安全相关娱乐1条不冗余五、冗余传输的代价黄蓉提醒郭靖“冗余传输不是免费的有代价。”代价说明带宽翻倍发一份数据占两份带宽需要多路径网络拓扑必须支持多条独立路径需要去重接收方需要识别重复包配置复杂需要规划哪些流需要冗余硬件支持交换机需要支持802.1CB六、TSN四件套总结黄蓉在白板上画了TSN的四个核心机制┌─────────────────────────────────────────────────────────────────────┐ │ TSN四件套 │ ├─────────────────────────────────────────────────────────────────────┤ │ │ │ ① gPTP时间同步 │ │ └── 全网设备时间对齐精度1μs │ │ │ │ │ ▼ │ │ ② TAS时间感知整形 │ │ └── 定时开关门关键数据走专用窗口 │ │ │ │ │ ▼ │ │ ③ 帧抢占 │ │ └── 紧急数据可以打断低优先级数据 │ │ │ │ │ ▼ │ │ ④ 冗余传输802.1CB │ │ └── 关键数据走多条路径一条断了另一条上 │ │ │ │ 四件套配合 │ │ └── 时间对齐gPTP 准时发TAS 紧急插队帧抢占 多路备胎 │ │ 冗余传输 关键数据准时可靠到达 │ │ │ └─────────────────────────────────────────────────────────────────────┘七、黄蓉的小本本郭靖翻开她的笔记本上面写着冗余传输核心要点1. 冗余传输是什么同一份数据发多份走多条不同路径IEEE 802.1CB2. 核心价值一条路断了另一条还能到无需等待重传3. 与TCP重传的区别TCP丢了才补要等几百毫秒802.1CB压根不怕丢微秒级恢复4. 车载应用刹车、转向等高安全等级数据走2-3条冗余路径5. 代价带宽翻倍、需要多路径、配置复杂6. TSN四件套gPTP时间对齐TAS准时发帧抢占紧急插队冗余传输多路备胎一句话刹车指令发三份走三条不同的路。一条断了还有两条能到。写在最后郭靖合上笔记本“TSN四件套齐了——gPTP时间同步、TAS准时发、帧抢占紧急插队、冗余传输多路备胎。关键数据既准时又可靠。”黄蓉咬了口糖葫芦“TSN四件套讲完了。下篇咱们把TSN从头到尾串一遍。”郭靖点头。“下篇预告TSN总结——一张图看懂时间敏感网络。”打完收工886。