SOME/IP报文PDU的封装
SOME/IP概述2【SOME/IP的主要中间件功能+SOME/IP报文PDU的封装】-阿里云开发者社区
- 应用层填充【SOME/IP 发送的消息,即SOME/IP Data Payload】
- 【应用层SOME/IP Data Payload】+ SOME/IP中间件添加的SOME/IP 报文头
- 【SOME/IP 报文】+ 传输层添加的TCP或者UDP报文头
- 【传输层报文】+ 网络层的添加IP报文头
- 【网络层报文】+ 链路层添的加MAC报文头
SOME/IP的PDU(协议数据单元)封装方式基于以太网传输,支持多种传输协议绑定,包括TCP连接、UDP单播和UDP多播。其数据格式包含Method ID、Event ID等关键字段,支持动态服务发现与远程过程调用功能。 12
传输协议选择
- TCP连接:用于传输大数据块(>1400字节)或对可靠性要求高的场景,例如车辆诊断数据传输。
- UDP单播/多播:适用于延时敏感(<100ms)的场景,如智驾系统快速响应指令。同一服务实例的所有事件、方法、字段通常采用同一传输方式(UDP单播/多播或TCP连接)。 2
数据格式构成
- Method ID:区分事件通知(Event)和服务方法(Method),包含Event ID和Method ID。
- 序列化格式:支持UDP/TCP消息的序列化,确保不同架构或操作系统间的数据互操作性。 12
核心功能
- 远程过程调用(RPC):客户端通过服务端提供的接口调用函数,支持有返回值或无返回值的数据交换。
- 服务发现:动态管理服务注册与访问权限配置,确保服务可被发现和调用。