- SOME/IP专为车载网络设计,提供面向服务的高效通信,支持动态服务发现和标准化数据格式,适合实时性要求高的场景
- TCP/IP是通用协议,适合互联网和局域网,但在车载网中缺乏对服务架构和实时性的直接支持。
通信模式
服务是包含方法、字段和事件的接口,由这些服务接口定义,包括以下:
- 方法(Method)
- 带响应的方法:Request/Response
- 不带相应的方法: Fire/Forget
- 事件(Event):当某些事情发生时,服务器向客户端发送消息(类似通知功能)
- 字段(Field):属性或状态的获取器(Getter)、设置器(Setter)、通知器(Notifier)(类似“状态监控”功能,例如手机的设置亮度调节,可以获取亮度,设置亮度,亮度变化时收到通知)
- 事件组(EventGroup):用于发布/订阅处理的事件和字段的逻辑组
SOME/IP-SD:服务发现,负责服务的发现和订阅管理,确保客户端能够找到并连接所需的服务,需要明确以下信息:
- 服务实例的状态是否可用或不可用
- 如何访问服务
- 发布/订阅机制
- 客户端需要哪些事件或字段
SOME/IP:负责具体的服务通信,实现数据的传输和处理
SOME/IP报文格式
包头+payload:
- MessageID:报文的唯一标识符,占32位,
- 0-15,MethodID,
- 16-31:EventID
- Length: 32bits
- Request ID:
- clientID,16bits, 区分请求同一服务Service的不同客户端
- SessionID, 16bits,同一个客户单请求同一服务Sservice的次数
- Protocol Version:8 bits
- Interface Version:8 bits
- Message Tpye:8 bits
- Return Code:8 bits
- Payload:32bit