首页 > 其他分享 >SOME/IP 笔记

SOME/IP 笔记

时间:2024-03-06 21:23:04浏览次数:22  
标签:IP SOME 笔记 Client 类型 bit ID

参考链接1:https://mp.weixin.qq.com/s?__biz=MzI0NTU1NDQ3Mw==&mid=2247483718&idx=1&sn=35ec9b655c6d20b9ea14972133a2ce28&chksm=e94d8d00de3a04162fd1acf8eb1dd3300266cc5be77fb66b018a882dd7274ba5a71f1347ab41&scene=21#wechat_redirect # SOME/IP 协议介绍

1、SOME/IP的报文格式

SOME/IP的报文由 消息 ID Message ID(Service ID / Method ID)[32 bit] + 消息长度 Length[32 bit] + 请求 ID Request ID(Client ID / Session ID)[32 bit] + 协议版本 Protocol Version[8 bit] + 接口版本 Interface Version[8 bit] + 消息类型 Message Type[8 bit] + 返回码 Return Code[8 bit] + 消息体 Payload[variable size] 组成。除了消息体,其他组成消息头部。

  • 消息长度:(从Request ID开始到Payload结束)

  • SOME/IP 服务分为服务提供者和服务调用者,用以区分相同消息的不同调用。Rquest ID = Client ID + Session ID.

  • Message Type,用于标识消息的类型,分别为 5 种类型:

  • 1)请求类型(0x00):需要响应的请求;

  • 2)无需响应的请求(0x01);

  • 3)通知(0x02):无需响应的通知/事件回调;

  • 4)响应(0x80):响应体

  • 5)错误

  • SOME/IP 的消息类型可分为 Method 类型、Event 类型和 Field 类型。当为 Method 类型时(第 1 bit = 0),Message ID = Service ID + Method ID;当为 Event类型时(第 1 bit = 1),Message ID = Service ID + Event ID。三种消息类型和通信机制之间的映射关系如下:

  • 传输协议:SOME/IP协议属于应用层协议,可基于 TCP/UDP。

2、SOME/IP 控制报文:SOME/IP-SD

参考链接:https://mp.weixin.qq.com/s?__biz=MzI0NTU1NDQ3Mw==&mid=2247483733&idx=1&sn=60740d2c14970b3445fa7a707cff94a0&chksm=e94d8d13de3a0405c04fb1c08e12428fee9bfeac1f756a47b8eaf983911af6c6d0aa71bdff65&cur_album_id=1665737889458028552&scene=189#wechat_redirect

  • SOME/IP-SD 解决的是 1)SOME/IP-SD;2)当服务不可用时,如何通知Client;3)Client如何订阅事件。即 SOME/IP-SD 用来实现服务发现和事件订阅机制。

  • SOME/IP-SD 报文格式如下:

  • 报文有个重要的 Type 字段(8bits):1)若 Service 就绪,会主动发出 OfferService 通知组播内其他节点该服务已启动,可以创建连接;2)若网络未收到相关服务的 OfferService,而 Client 又需要访问该服务,则 Client 发出 FindService 主动寻找服务,此时若 Service 就绪,则会回复 OfferService 报文;3)若服务不可用,会主动发出 StopOfferService 报文通知组播内其他节点该服务不可用,停止发送请求,并去学校订阅。

标签:IP,SOME,笔记,Client,类型,bit,ID
From: https://www.cnblogs.com/MasterBean/p/18057615

相关文章

  • 2023 NOIP 游记
    \(\text{Day-INF}\)提高\(135\)卡线进\(\text{NOIP}\)。集训两天成绩:\(50\to135\)。\(\text{Day1}\)开赛\(13\text{min}\)才拿到试题。(最后延长了\(10\text{min}\))开\(\text{A}\)题,刚读题发觉很难,但读完题的我差点就拍案而起了。为了避免正解打挂,不至于失掉部......
  • java复习笔记 - 1
           java是一门面向对象的语言,其解决问题的方式是通过封装属性和方法为对象,通过调用对象的不同方法来达到解决问题的步骤。其本身一开始封装了不少类,可以直接使用,常见的比如String,包装类,集合类,文件类,异常类等常用的,还有一些关于数字处理的后面再说。因为最近在看数据......
  • MA-GCL论文阅读笔记
    Abstract​ 在图中生成对比视图比在图像中更具挑战性,因为我们对如何在不改变图标签的情况下显著增强图缺乏先验知识。我们认为,在GCL中,典型的数据增强技术(例如,边缘下降)不能产生足够不同的对比视图来过滤掉噪声。此外,以往的GCL方法采用了两个具有完全相同的神经结构和绑定参数的视......
  • Vue学习笔记36--VueComponent构造函数
    VueComponent构造函数<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>VueComponent&......
  • 给虚拟机配置ip
    给虚拟机配置ip添加网卡明白自己的需求如果是ping通主机ip那么使用仅主机网卡就足够如果需要ping外网(类似与百度之类的)则需要使用nat网卡如图:添加的网络适配器顺序不固定,知道自己网络适配器对应的网卡(类似ens34)即可查看网卡配置文件nat网卡配置文件仅主机网卡配置......
  • 技术笔记(1)QFramework
    技术笔记(1)QFramework希望实现的功能或目标:了解学习游戏开发中的架构演化过程了解学习IOC容器、DI等相关概念‍‍学习笔记:‍BindableProperty类实际上是数据+事件我理解为将模型层中的一个数据整合升级成一个类,并将修改和获取其的具体方法放在属性的get和set......
  • 技术笔记(3)扩展方法
    技术笔记(3)扩展方法希望实现的功能或目标:继续学习MMORPG游戏开发的框架了解扩展方法‍学习笔记:CanGetLayersExtension类扩展方法GetSystem:publicstaticTGetSystem<T>(thisICanGetSystemself)whereT:class,ISystem{returnStartArchitecture.I......
  • 技术笔记(2)MMORPG架构
    技术笔记(2)MMORPG架构希望实现的功能或目标:一个功能完整的接近商业案例的MMORPG游戏项目搭建起该游戏项目的基本架构‍学习笔记:IOCContainer类用以保存所有层级以及各个模块的实例实例字典​privateDictionary<Type,object>instancesDict=newDictiona......
  • P3957 [NOIP2017 普及组] 跳房子
    原题链接题解二分加动态维护区间最大值注意设立变量的含义,改变变量值的规则code#include<bits/stdc++.h>#definelllonglongusingnamespacestd;llsum[500005]={0};structunit{llx,v;booloperator<(constunit&b)const{returnb.v>v;}//}room[5000......
  • XXL-JOB 使用笔记(附代码)
    一:分布式调度系统对比开源产品对比:Quartz缺点: 1、不支持任务编排,无可视化编配页面 2、与业务高度耦合,系统侵入性严重 3.调度逻辑和QuartzJobBean耦合在同一个项目中,任务增加会导致系统性能瓶颈 4.quartz底层以“抢占式”获取DB锁并由抢占成功节点负责运行任务,会导......