车载以太网之要火系列 - 第49篇郭大侠学SOME/IP:人说SOME/IP虽好,对手已在路上跑
写在开篇·蓉儿又挖坑上回说到郭靖学完了SOME/IP的十八般武艺——报文头、Service ID、Instance ID、Method、Event、Field、SD的Offer/Find/Subscribe三驾马车。郭靖合上笔记本信心满满“蓉儿SOME/IP我算是学透了服务发现、远程调用、事件通知全都会了”黄蓉咬了口糖葫芦“那好我问你——SOME/IP就没有缺点吗有没有它搞不定的场景”郭靖一愣“这……”“SOME/IP虽好但江湖上还有更高的山。今天就把SOME/IP的优缺点讲透让你知道——为什么行业里还在找‘更好的方案’。”一、SOME/IP的优点复习一下黄蓉在白板上写下SOME/IP的核心优势优点说明车窗例子轻量高效头部仅12字节适合车载以太网带宽有限场景车窗控制报文只有几十字节服务发现SD动态发现服务不用硬编码IP座舱自动找到车窗ECU灵活通信模式支持RR、FireForget、Event、Field升窗用RR位置变化用Event面向服务符合SOA架构接口清晰车窗服务有明确的Service ID和Method IDAUTOSAR原生支持AP和CP都原生支持SOME/IPOEM开发方便确定性设计目标是“可预测”而非“极速”适合周期性状态上报“SOME/IP是车载以太网的‘原住民’和AUTOSAR配合得天衣无缝。”二、SOME/IP的缺点痛点在哪里黄蓉继续写SOME/IP的不足缺点说明影响QoS支持弱没有内置的服务质量保证机制无法区分“刹车信号”和“娱乐信号”的优先级实时性一般基于UDP/TCP没有时间同步不适合自动驾驶等硬实时场景大数据传输效率低需要SOME/IP-TP分包有额外开销刷写固件、传输大数据块时效率不高可靠性依赖底层UDP不保证可靠TCP有握手开销需要应用层自己处理重传没有内置加密安全机制需要额外实现如SecOC需要额外开发安全模块郭靖问“QoS是啥”黄蓉“QoS Quality of Service 服务质量。简单说就是‘谁能插队谁得排队’。”她画了一个例子┌─────────────────────────────────────────────────────────────────────┐ │ 没有QoS大家都一样 │ ├─────────────────────────────────────────────────────────────────────┤ │ │ │ 刹车信号紧急—— 排队 —— [慢悠悠发送] —— 刹车延迟 │ │ 娱乐信号不紧急—— 排队 —— [正常发送] │ │ │ └─────────────────────────────────────────────────────────────────────┘ ┌─────────────────────────────────────────────────────────────────────┐ │ 有QoS刹车可以插队 │ ├─────────────────────────────────────────────────────────────────────┤ │ │ │ 刹车信号高优先级—— 插队—— [立即发送] —— 刹车及时 │ │ 娱乐信号低优先级—— 排队等待 —— [稍后发送] │ │ │ └─────────────────────────────────────────────────────────────────────┘“SOME/IP本身没有QoS机制刹车信号和娱乐信号在同一个队列里谁先谁后不确定。这在自动驾驶里是不能接受的。”三、SOME/IP适合什么场景黄蓉画了一张“SOME/IP适用场景图”场景适合吗原因车身控制车窗、空调、灯光✅ 非常适合消息小周期性不要求超低延迟远程过程调用RPC✅ 非常适合Method/Response模式天然支持状态上报Event/Field✅ 非常适合事件通知按需推送诊断UDS over IP✅ 非常适合DoIP就用SOME/IP传输UDS音视频流❌ 不太适合大数据流需要QoS和带宽管理自动驾驶超低延迟❌ 不太适合需要微秒级延迟和确定性调度固件刷写大数据⚠️ 可用但不优需要SOME/IP-TP分包效率不高四、SOME/IP的“天花板”郭靖问“那SOME/IP搞不定的场景行业里怎么办”黄蓉叹了口气“车的架构在变。”阶段架构通信需求主角过去分布式几十个ECU简单的信号和控制CAN、LIN现在域集中几个域控制器服务化、RPCSOME/IP未来中央计算区域控制器超低延迟、大数据、QoS“自动驾驶需要微秒级的延迟需要刹车信号能插队需要点云数据高效传输。这些SOME/IP给不了。”郭靖追问“那给得了的是什么”黄蓉摇摇头没有直接回答“有些场景下SOME/IP像一把趁手的****——轻快、够用、江湖上人人都会。但当你面对自动驾驶、超低延迟、海量数据时这把匕首就有些力不从心了。”她顿了顿“江湖上还藏着另一门功夫。它的名号叫DDS。”郭靖怔住“DDS”黄蓉合上笔记本站起身来“那是另一座山。山上的风景等你翻过这座坡我再讲给你听。”五、黄蓉的小本本郭靖翻开她的笔记本上面写着SOME/IP优缺点总结优点轻量高效头部仅12字节SD动态服务发现灵活通信模式RR、Event、FieldAUTOSAR原生支持缺点QoS支持弱无法区分优先级实时性一般没有时间同步大数据传输效率低安全机制需额外开发适合场景车身控制、RPC、诊断 →SOME/IP够用不够用的场景自动驾驶、超低延迟、大数据 →需要更强的协议SOME/IP是“够用”但不是“万能”。写在最后郭靖合上笔记本“SOME/IP轻量高效适合车身控制、RPC、诊断。但它QoS弱、实时性一般。自动驾驶需要超低延迟和优先级控制SOME/IP给不了。”黄蓉咬了口糖葫芦“SOME/IP虽好但江湖上还有更高的山。你知道那个山叫什么吗”郭靖摇头。黄蓉眨眨眼“下篇预告DDS——数据分发服务的江湖传说。”打完收工886。