news 2026/6/7 5:54:20

【翻译】【SOMEIP-SD】Page79 - Page84

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【翻译】【SOMEIP-SD】Page79 - Page84

文章目录

        • 5.1.4.5 SOME/IP-SD 机制和错误处理
        • 5.1.4.6 错误处理
5.1.4.5 SOME/IP-SD 机制和错误处理

本节介绍SOME/IP-SD的机制设计原因和错误处理
Soft State Protocol:SOME/IP-SD被设计软件状态协议,因此设计了TTL机制。软件状态需要按时刷新以保持其有效性,可以在配置中将TTL设置成最大值用于关闭这个功能。

Initial Wait Phase:
引入Initial Wait Phase有两个原因:1、为了缓解全车ECU启动时造成的通信压力。2、允许ECU接收SD消息中的多个Entry。

Repetition Phase:
引入Repetition Phase是为了快速同步服务端和客户端。如论客户端和服务端谁先启动都能快速同步。Repetition Phase采用指数方式增加发送消息的间隔事件是为了避免系统消息过载。

Main Phase:
引入Main Phase的目的是SD试图保持一个稳定状态,在这个状态下服务端和客户端不在试图快速同步通信(以较低的固定频率同步信息)。

Request-Response-Delay:
之所以引入 Request-Response-Delay,以在组播场景延迟应答消息。是为了避免在规模大的系统中有多个ECU要回复同一个请求,造成被应答者的网络压力过大。

5.1.4.6 错误处理


[PRS_SOMEIPSD_00125]
SOME/IP-SD消息至少包含12byte的数据,如果收到小于12byte的数据应该抛弃,不应再有下一步 操作。


[PRS_SOMEIPSD_00126]
如果收到一个非Subscribe Eventgroup Entry的Entry,其包含未知的Service ID该Entry应被忽略。[PRS_SOMEIPSD_00393]中提到大的Negative Acknowledgement除外。


[PRS_SOMEIPSD_00127]
如果收到一个非Subscribe Eventgroup Entry的Entry,其包含未知的Instance ID该Entry应被忽略。[PRS_SOMEIPSD_00393]中提到大的Negative Acknowledgement除外。


[PRS_SOMEIPSD_00128]
如果收到一个非Subscribe Eventgroup Entry的Entry,其包含未知的Major Version该Entry应被忽略。[PRS_SOMEIPSD_00393]中提到大的Negative Acknowledgement除外。


[PRS_SOMEIPSD_00129]
如果收到一个非Subscribe Eventgroup Entry的Entry,其包含未知的Eventgroup ID该Entry应被忽略。[PRS_SOMEIPSD_00393]中提到大的Negative Acknowledgement除外。本条只适用于Eventgroup Entry


[PRS_SOMEIPSD_00803]
如果Entries Array的长度不合理(如:Entries Array的长度超过了消息整体长度)。则抛弃整个消息不做下一步动作。


[PRS_SOMEIPSD_00130]

检测Entry引用的Option顺序如下

  • Option是否存在
  • Entry所需的Option是否完备
  • Entry是否只引用自己需要的Option
  • Entry引用的Option中没有相互之间冲突的
  • Option的Type是否是已知Type,除了discardable flag为1的除外
  • Option必须是在[PRS_SOMEIPSD_00583]中规定允许引用的,除了discardable flag为1的除外
  • Option的Length长度与Option的Type相匹配
  • Endpoint Option包含有效的传输层协议字段
  • Option是有效的
    如果Entry引用的Option是SD已知的类型,但是其并不被服务端所需要(如:提供服务方提供了TCP和UDP的Option,但客户端只需要UDP Option)则当前Entry应继续被处理

[PRS_SOMEIPSD_00131]
检查TCP连接是否已完备。仅适用于配置中Eventgroup 和 Subscribe Eventgroup Entry采用TCP的情况


[PRS_SOMEIPSD_00852]
检测安全关联是否完备


[PRS_SOMEIPSD_00132]
检测是否有足够的剩余资源


[PRS_SOMEIPSD_00232]
如果Find entry没有通过[PRS_SOMEIPSD_00232]中规定的检查,当前Entry应该被忽略。除了[PRS_SOMEIPSD_00529]中规定的可以忽略Endpoint 或 Multicast Options的情况


[PRS_SOMEIPSD_00233]
如果Offer Entry没有通过[PRS_SOMEIPSD_00232]中规定的检查,当前Entry应该被忽略


[PRS_SOMEIPSD_00234]
如果Subscribe Eventgroup Entry没有通过在 [PRS_SOMEIPSD_00130],[PRS_SOMEIPSD_00131],[PRS_SOMEIPSD_00832],[PRS_SOMEIPSD_00852] 或[PRS_SOMEIPSD_00132]中规定的检查,需要发送Subscribe Eventgroup NACK Entry作为回应。


[PRS_SOMEIPSD_00235]
如果Subscribe Eventgroup ACK Entry没有通过[PRS_SOMEIPSD_00130] 和 [PRS_SOMEIPSD_00132] 中的检查,应该继续处理当前Entry。但需要将订阅请求视为失败。


[PRS_SOMEIPSD_00231]
满足下列情况的Option应被忽略

  • Option Type未知(未知的Option,尚未支持的Option)并且discardable flag被设置成1
  • Option是冗余的(同Entry引用的类型和内容相同的Option)
  • Option不被需要(如仅使用组播的事件,接收到了unicast endpoint option)

[PRS_SOMEIPSD_00844]
多个配置选项中配包含了冲突的Item(名称相同),则这些Item都需要被处理,而不能做合并处理。


[PRS_SOMEIPSD_00832]
需要对需要安全连接的对外提供服务的实例进行检查。检查其相关的链接是否已与安全关联建立了管系。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/4 20:18:34

Open-AutoGLM上手机,只需这4步!开发者必看的轻量化部署秘籍

第一章:Open-AutoGLM移动端部署概述Open-AutoGLM 是基于 AutoGLM 架构优化的轻量化大语言模型,专为在移动设备上实现高效推理而设计。该模型通过结构压缩、算子融合与硬件适配等技术,在保持较高自然语言理解能力的同时,显著降低计…

作者头像 李华
网站建设 2026/5/29 22:19:55

【大模型私有化部署新选择】:Open-AutoGLM本地化实施方案详解

第一章:Open-AutoGLM私有化部署的背景与意义随着企业对数据隐私和模型可控性的要求日益提升,大语言模型的私有化部署逐渐成为关键需求。Open-AutoGLM 作为一款开源的自动化生成语言模型,支持在本地环境或私有云中部署,确保敏感数据…

作者头像 李华
网站建设 2026/5/31 8:05:28

零代码+全场景!ChatWiki四步搭建企业AI知识库,效率提升必备收藏指南

传统知识管理因知识分散导致查找效率低、响应慢。ChatWiki作为零代码AI知识库解决方案,通过接入大模型、上传文档处理、关联知识库和智能响应四步,帮助企业构建智能记忆中枢。其全场景适配和精细化管理功能,使企业能高效利用AI技术提升知识管…

作者头像 李华
网站建设 2026/5/28 14:22:56

openEuler 系统想远程管理?不用公网 IP 也能轻松实现,方法在这!

文章目录前言1. 本地SSH连接测试2. openEuler安装Cpolar3. 配置 SSH公网地址4. 公网远程SSH连接5. 固定连接SSH公网地址6. SSH固定地址连接测试前言 openEuler 是一款聚焦多样性计算的操作系统,支持服务器、嵌入式设备和云计算环境,安全性和稳定性都不错…

作者头像 李华
网站建设 2026/6/4 8:43:52

Mac上运行Open-AutoGLM到底难不难?看完这篇你就知道该怎么做

第一章:Mac上运行Open-AutoGLM的现状与挑战在苹果芯片架构逐步普及的背景下,越来越多开发者尝试在Mac平台上部署和运行大型语言模型。Open-AutoGLM作为基于AutoGPT架构衍生的开源项目,具备自动化任务分解与执行能力,但其在Mac本地…

作者头像 李华