SOME/IP协议详解[5 SOME/IP-SD协议解析]

本文详细介绍了SOME/IP-SD协议的报文格式,包括EntryArray的ServiceEntryArray和EventGroupEntryArray,以及OptionArray的不同类型如ConfigurationOptions、EndpointOptions和MulticastOptions。每个部分的字段和功能进行了深入解释,如ServiceEntryArray用于服务同步和管理,EventGroupEntryArray涉及事件组的订阅和管理,而OptionArray提供了通信过程中的附加信息。此外,还阐述了SD状态机在服务端和客户端的不同行为。

5.1 SOME/IP-SD协议头

首先,依照惯例我们先来看下SOME/IP-SD的报文格式如下图11所示:

图11 SOME/IP-SD Message Format

一般而言,如果没有特别要求,在SD报文格式中的内容均按照大端方式传输。

由于SOME/IP-SD报文实际上也只是SOME/IP报文的一种,只不过是在SOME/IP标准协议的基础上扩展了Entry,Option等字段,其中Entry用于同步服务实例的状态以及发布/订阅关系的管理,Options则用于传输Entry的附加信息。

接下来,我们将针对上述的协议中各种字段为大家一一解释如下表3:

表3 SOME/IP-SD 协议内字段解释

5.2 Entry Array 

如上表1中所述,Entry Array按照SD的定义可分为以下两种:

  1. Service Type:用于FindService,OfferService,StopOfferService这几种场景;
  2. EventGroup Type: 用于 SubscribeEventgroup, StopSubscribeEventgroup,SubscribeEventgroupAck,SubscribeEventgroupNack这几类场景。

5.2.1 Service Entry Array

如下图12所示,首先我们介绍下为Service Entry Array中定义的各个字段内容:

图12 Service Entry Array定义

对上述Service Entry Array定义的各个Field解释说明如下表4所示:

表4 Service Entry Array字段解释说明

5.2.2 EventGroup Entry Array

介绍完Service Entry Array,相比之下EventGroup Entry Array又存在哪些差异呢?如下图13为EventGroup Entry Array的各个字段内容的定义:

图13 EventGroup Entry Array定义

相比Service Entry Array,EventGroup Entry少了Minor Version,但是多出了Counter以及EventGroup ID内容,接下来我们将对上述EventGroup Entry Array定义的各个Field解释说明如下表5所示:

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大魔王库巴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值