平顶山做网站哪家好,在线crm在线oa免费,网络游戏带来的危害,怎么免费制作网站SOME/IP-SD消息格式 
通用要求 
服务发现消息应通过UDP进行支持。准备将服务发现消息传输到TCP中以供将来使用情况。服务发现消息应以SOME/IP头开始#xff0c;如图1所示#xff1a; • 服务发现消息应使用0xFFFF的Service-ID#xff08;16位#xff09;。 • 服务发现消息…SOME/IP-SD消息格式 
通用要求 
服务发现消息应通过UDP进行支持。准备将服务发现消息传输到TCP中以供将来使用情况。服务发现消息应以SOME/IP头开始如图1所示 • 服务发现消息应使用0xFFFF的Service-ID16位。 • 服务发现消息应使用0x8100的Method-ID16位。 • 服务发现消息应使用SOME/IP指定的uint32长度字段。这意味着长度以字节为单位并从长度字段后的第一个字节开始直到SOME/IP-SD消息的最后一个字节结束。 
• 服务发现消息应具有Client-ID16位并根据SOME/IP规则进行处理。 
• 服务发现消息应具有Session-ID16位并根据SOME/IP要求进行处理。 每发送一条SOME/IP-SD消息Session-IDSOME/IP头部应递增。  
• 服务发现消息应具有0x01的Protocol-Version8位。 
• 服务发现消息应具有0x01的Interface-Version8位。 
• 服务发现消息应具有0x02通知的Message Type8位。 
• 服务发现消息应具有0x00的Return Code8位。 SOME/IP-SD 头格式 
在SOME/IP头部之后应按照图1所示紧随其后的SOME/IP-SD头部。 
SOME/IP-SD头部应以一个名为Flags的8位字段开始。 
SOME/IP-SD Flags字段的第一个标志最高位应称为Reboot标志。 
SOME/IP-SD头部的Reboot标志应在重新启动后的所有消息中设置为1直到SOME/IP头部中的Session-ID环绕并重新从0开始。 
SOME/IP-SD Flags字段的第二个标志次高位应称为Unicast标志对于单播设置为1对于多播设置为0。 
SOME/IP-SD头部的Unicast标志应对于请求消息和订阅消息设置为单播即1。 
在Flags之后SOME/IP-SD头部应具有一个称为Reserved的24位字段直到另行通知为止该字段设置为0。 
在SOME/IP-SD头部之后应跟随Entries数组。 
在SOME/IP-SD头部的Entries数组之后应跟随Option数组。 
SOME/IP-SD头部的Entries数组和Options数组应以一个uint32长度字段作为开始该字段计算以下数据的字节数即Entries或Options的字节数量。 
条目格式 
存在两种类型的条目用于服务的类型1条目和用于事件组的类型2条目。 
类型1条目应为16字节大小并按照图2所示的顺序包含以下字段 
• Type字段 [uint8]编码为FindService0x00、OfferService0x01和RequestService0x02。 
• Index First Option Run字段 [uint8]选项数组中选项的索引。 • Index Second Option Run字段 [uint8]选项数组中选项的索引。 • Number of Options 1字段 [uint4]描述第一个选项运行使用的选项数量。 • Number of Options 2字段 [uint4]描述第二个选项运行使用的选项数量。 • Service-ID字段 [uint16]描述受SD消息影响的服务或服务实例的Service-ID。 • Instance ID字段 [uint16]描述受SD消息影响的服务实例的Service-Instance-ID如果是针对一个服务的所有服务实例则设置为0xFFFF。 • Major Version字段 [uint8]编码为服务的主要版本。 • TTL字段 [uint24]以秒为单位描述条目的生存期。 • Minor Version字段 [uint32]编码为服务的次要版本。 类型2条目应为16字节大小并按照图3所示的顺序包含以下字段 • Type字段 [uint8]编码为FindEventgroup0x04、Publish0x05和Subscribe0x06。 • Index First Option Run字段 [uint8]选项数组中选项的索引。 
• Index Second Option Run [uint8]选项数组中选项的索引。 
• Number of Options 1 [uint4]描述第一个选项运行使用的选项数量。 
• Number of Options 2 [uint4]描述第二个选项运行使用的选项数量。 
• Service-ID [uint16]描述受SD消息影响的服务或服务实例的Service-ID。 
• Instance ID [uint16]描述受SD消息影响的服务实例的Service-Instance-ID如果是针对一个服务的所有服务实例则设置为0xFFFF。 
• Reserved [uint8]应设置为0x00。 
• TTL [uint24]以秒为单位描述条目的生存期。 
• Reserved [uint16]应设置为0x0000。 
• Eventgroup ID [uint16]传输一个事件组的ID。 选项格式 
为了标识选项类型每个选项都应以以下方式开始 • Length字段 [uint16]指定选项的字节长度。 
• 类型[uint8]指定选项的类型。 
长度字段不应包括长度字段和类型字段的长度。 
配置选项 
配置选项的格式应如下 
• 长度 [uint16]应设置为配置选项占用的总字节数不包括16位长度字段和8位类型标志。 
• 类型 [uint8]应设置为0x01。 
• 保留 [uint8]应设置为0x00。 
• 配置字符串 [动态长度]应携带配置字符串。 
配置选项应基于DNS TXT和DNS-SD格式指定一组键-值对。 
配置字符串的格式应以一个单字节长度字段开头该字段描述了在此长度字段后面的字节数。 
在每个字符序列之后期望另一个长度字段和一个随后的字符序列直到长度字段设置为0x00为止。 
在长度字段设置为0x00之后不再跟随任何字符。 
一个字符序列应编码一个键和可选的值。 
字符序列应包含一个等号字符0x03D来分隔键和值。 
键不应包含等号字符并且至少应为一个非空白字符。键的字符应为可打印的US-ASCII值0x20-0x7E不包括0x3D。 
不应该是序列的第一个字符。 
对于一个没有的字符序列该键应被解释为存在。 
对于以结尾的字符序列该键应被解释为存在但值为空。 
在单个配置选项中支持具有相同键的多个条目。 
配置选项还应用于编码主机名、服务名和实例名如果需要。 
图3显示了配置选项的格式图4显示了配置选项的示例。 负载均衡选项 
负载均衡选项应使用类型0x02。 
负载均衡选项应携带类似DNS-SRV记录的优先级和权重可用于负载均衡不同的服务实例。 
IPv4端点选项的格式应如下所示 长度 [uint16]应设置为0x0005。  类型 [uint8]应设置为0x02。  保留 [uint8]应设置为0x00。  优先级 [uint16]携带此实例的优先级。  权重 [uint16]携带此实例的权重。  
图5显示了负载均衡选项的格式。 保护选项 
保护选项应使用类型0x03。 
保护选项应携带Alive-Counter和CRC可用于保护整个消息包括SOME/IP头。 
保护选项的格式应如下所示 长度 [uint16]应设置为0x0009。  类型 [uint8]应设置为0x03。  保留 [uint8]应设置为0x00。  Alive-Counter [uint32]应设置为活动计数器的值。如果不存在活动计数器则应在此字段中使用请求ID的值。  CRC [uint32]应包含用于保护此消息的CRC多项式的值。CRC多项式应由系统部门指定。  
如果SOME/IP消息中包含多个保护选项则它们仅应覆盖它们前面的消息部分。此外使用多个保护选项将触发可配置的开发错误。 
IPv4端点选项 
IPv4端点选项应使用类型0x04。 
IPv4端点选项应指定使用的IPv4地址、第4层协议和第4层端口号。 
IPv4端点选项的格式应如下 
• 长度[uint16]应设置为0x0009。 
• 类型[uint8]应设置为0x04。 
• 保留[uint8]应设置为0x00。 
• IPv4地址[uint32]应将IP地址作为四个字节传输。 
• 保留 [uint8]应设置为0x00。 
• L4-Proto [uint8]应根据IANA/IETF类型设置为第4层协议0x06TCP0x11UDP。 
• L4-Port [uint16]应设置为第4层协议的端口号。 
图6显示了IPv4端点选项的格式。 IPv6端点选项 
IPv6端点选项应使用类型0x06。 
IPv6端点选项应指定使用的IPv6地址、第4层协议和第4层端口号。 
IPv6端点选项的格式应如下 
• 长度[uint16]应设置为0x0015。 
• 类型[uint8]应设置为0x06。 
• 保留[uint8]应设置为0x00。 
• IPv6地址[uint128]应将IP地址作为16个字节传输。 
• 保留[uint8]应设置为0x00。 
• L4-Proto [uint8]应根据IANA/IETF类型设置为第4层协议0x06TCP0x11UDP。 
• L4-Port [uint16]应设置为第4层协议的端口号。 
图 7 显示了IPv6端点选项的格式。 引用选项来自条目的以下字段 
使用条目的以下字段选项被条目引用 • Index First Option Run对于第一个选项运行索引到选项数组。索引0表示SOME/IP-SD数据包的第一个选项。 • Index Second Option Run对于第二个选项运行索引到选项数组。索引0表示SOME/IP-SD数据包的第一个选项。 • Number of Options 1第一个选项运行的长度。长度为0表示选项运行中没有选项。 • Number of Options 2第二个选项运行的长度。长度为0表示选项运行中没有选项。 
存在两个不同的选项运行第一个选项运行和第二个选项运行。 
支持两个选项运行的原因预期存在两种不同类型的选项多个SOME/IP-SD条目之间共享的选项和每个SOME/IP-SD条目特有的选项。支持两个不同的选项运行是支持这两种选项的最有效方式同时保持了数据传输格式的高效性。 
每个选项运行都应引用第一个选项和该运行中的选项数量。 
如果选项数量设置为零则认为选项运行为空。 
对于空的运行索引即Index First Option Run和/或Index Second Option Run应设置为零。 
实现应接受并处理接收到的选项运行长度设置为零且选项索引未设置为零的SD消息。 
示例 
图8显示了一个SOME/IP-SD PDU的示例。IP和UDP头部仅以简化形式显示。