DoIP(Diagnostic Communication over Internet Protocol)即基于互联网协议的诊断通信,它是一种基于以太网的通信协议,用于实现车辆诊断服务的传输。主要功能包括:
- 车辆发现:可以识别和确认网络上的被诊断车辆,例如诊断仪可通过相关报文获取车辆的 VIN(车辆识别码)、GID(组识别)和 DoIP 实体的逻辑地址等信息。
- 路由激活:包括激活诊断功能以及实现以太网到其他网络总线(如 CAN、LIN 等)的报文路由,以兼容传统网络总线,降低布线复杂性并提高各总线网络中 ECU 的诊断效率。
- 诊断仪在线监测:实时监测诊断仪的连接状态和活动。
- 节点信息:获取 DoIP 节点的相关信息。
- 诊断通信:借助车载以太网的高速数据传输能力进行车辆诊断相关工作。
SOME/IP(Scalable Service-Oriented Middleware over IP)是基于 IP 的可扩展的面向服务的中间件。它主要有以下功能:
- 序列化(Serialization):将不同的数据结构转换为可在网络上传输的形式,定义了数据在网络上传输时的封装和排列规则,包括报文头部及载荷数据的格式、各字段长度及含义、各种数据类型在有效载荷中的排列规则等。接收端按此规则进行反序列化,得到实际内容。
- 远程过程调用(Remote Procedure Call,RPC):采用客户端/服务器模式,通过 request/response 模式(客户端发送请求,服务器接收请求并处理,然后返回结果给客户端)或 fire&forget 模式(客户端发送请求后无需等待服务器处理,服务器也无需返回处理结果),请求其他节点上的服务或数据。
- 服务发现(Service Discovery,SD):其核心功能是提供一种动态发现和获取服务状态的机制,可以将自身能提供的服务以及服务的状态告知网络中的其他节点,也可用于主动寻找所需服务。
- 发布/订阅(Publish/Subscribe):客户端发现想要使用的服务后进行订阅,当满足服务的触发条件时,服务器会将客户端所需的服务内容发出,发送方式是单向的事件型通知,客户端只需订阅一次。此机制可实现只在需要时进行数据发送,避免不必要的数据传输,降低网络负载。
- SOME/IP-TP 传输协议(Transport Protocol):这是 SOME/IP 在数据传输层面定义的规则,主要用于解决数据分片问题,防止 IP 分片情况的出现。