SOME/IP SD 协议介绍(五)使用SOME/IP-SD宣布非SOME/IP协议的协议。

使用SOME/IP-SD宣布非SOME/IP协议的协议。

除了SOME/IP之外,车辆内部还使用其他通信协议,例如用于网络管理、诊断或闪存更新。这些通信协议可能需要传递服务实例或具有事件组。

对于非SOME/IP协议,应使用特殊的服务ID,并使用配置选项添加更多信息:

  • 服务ID应设置为0xFFFE(保留)

  • 实例ID应按照SOME/IP服务和事件组的描述进行使用

  • 必须添加配置选项,并且该配置选项应至少包含一个键为"otherserv"的条目,其可配置的非空值由系统部门确定。

SOME/IP服务不应在配置选项中使用"otherserv"字符串。

对于FindService/OfferService/RequestService,当宣布非SOME/IP服务实例时,应使用"otherserv"字符串。

有效的"otherserv"字符串示例:"otherserv=internaldiag"。

无效的"otherserv"字符串示例:"otherserv"。

无效的"otherserv"字符串示例:"otherserv="。

SOME/IP SD 协议介绍(五)使用SOME/IP-SD宣布非SOME/IP协议的协议。_第1张图片

以下是用于非SOME/IP-SD的SOME/IP-SD示例PDU:

Service Discovery Protocol (SDP) Header:
---------------------------------------
Version: 2
Message Type: Request (0x01)
Return Code: 0 (No error)
Payload Length: XX
Interface Version: 1

Service Discovery Protocol (SDP) Payload:
----------------------------------------
Service ID: 0xFFFE (Reserved)
Instance ID: XX XX XX XX (Instance ID for the non-SOME/IP service)
Configuration Option:
    Key: otherserv
    Value: internaldiag

上述示例演示了一个用于非SOME/IP-SD的SOME/IP-SD PDU。该PDU包含了SDP头部和负载部分。

在SDP头部中,版本号设置为2,消息类型为请求类型,返回码为0(无错误),负载长度为XX(根据实际负载大小填写),接口版本为1。

在SDP负载部分中,服务ID设置为0xFFFE(保留),实例ID根据非SOME/IP服务的实际实例ID进行设置。

配置选项部分包含一个键值对,键为"otherserv",值为"internaldiag"。这是一个有效的"otherserv"示例,表示该服务的其他信息为"internaldiag"。

请注意,示例中的XX和实际值可能会根据具体情况而有所不同。您需要根据您的需求和协议规范来填充和配置相关字段和数值。

SOME/IP SD 协议介绍(五)使用SOME/IP-SD宣布非SOME/IP协议的协议。_第2张图片

你可能感兴趣的:(SOME/IP,tcp/ip,服务器,网络协议)