车载以太网-SOME/IP简介

谈思实验室 2025-04-21 17:53

点击上方蓝字谈思实验室

获取更多汽车网络安全资讯

01

什么是SOME/IP

SOME/IP (Scalable service-Oriented MiddlewarE over IP) 是车载以太网通信引入的一个概念,位于OSI 7层模型的层4(传输层)之上。

  • 在以CAN总线为主的车载网络中,通信过程是面向信号的(除了诊断通信之外),这是一种根据发送者需求实现的通信过程,当发送者发现信号的值变化了,或者发送周期到了,就会发送信息,而不考虑接收者是否有需求。

  • 而SOME/IP则不同,它是在接收方有需求的时候才发送,这种方法的优点在于总线上不会出现过多不必要的数据,从而降低负载。

  • 在车载网络中,某个ECU有时会需要调用实现在其他ECU上的个服务,这个时候它俩就分别扮演了client和server的角色,而SOME/IP就是实现这种远程服务调用的接口

  • 如下图所示

服务的远程调用

02

SOME/IP的一些关键特征包括

  • 序列化(Serialization):它是数据在数据单元中的表示方式,可以是UDP或TCP消息。当数据在网络上传输时,读取数据的电子控制单元(ECU)可能具有不同的体系结构、操作系统等。只有当存在一种机制来实现一致的数据传输时,才能确保互操作性。SOME/IP允许进行某些序列化。

  • 远程过程调用(Remote Procedure Call,RPC):这是一种远程调用函数的方法,由客户端ECU请求。当客户端ECU需要从服务器获取一些数据时,它使用RPC进行数据交换。RPC可能有返回值,也可能没有返回值,即客户端可以请求数据作为响应,也可以仅调用函数在服务器端执行某些任务。

  • 服务发现(Service Discovery):服务发现(SD)协议是SOME/IP概念的支柱。在面向服务的体系结构中,服务(功能实体-方法、事件或字段)必须是可发现的。SOME/IP SD协议管理此方面-是否提供服务或停止使其可用。

  • 发布/订阅(Publish/Subscribe):客户端可以订阅服务器的内容,以便动态接收服务器的更新数据。SOME/IP的发布/订阅功能推断客户端需要哪些数据(事件/字段)并共享这些数据。Pub/Sub由SOME/IP SD管理。

到目前为止,我们已经了解了面向服务的体系结构的概念以及SOME/IP在其中的实现中的作用。现在,我们将深入了解SOME/IP和以太网如何实现ECU之间的客户端/服务器通信。

03

理解以太网和SOME/IP通信的工作原理

在开始探索之前,我们必须了解一些与SOME/IP相关的术语。

  • 服务:由事件、方法或字段组合而成的接口

  • 服务实例:服务的单个实例;它实现了服务接口

  • 事件:服务器向客户端发送的消息,表示某些事件发生了

  • 字段:服务的一部分,表示状态,因此始终具有一个值

  • Getter/Setter:读取/写入字段属性的请求/响应调用

  • 事件组:多个事件的逻辑组合

  • 方法:可以被调用的函数、子例程或过程

  • 通知器:负责在字段值更改时发送事件消息

  • 通知事件:由通知器发送的事件消息

SOME/IP数据在以太网报文中的位置

SOME/IP作为ECU间通信协议的附加价值

SOME/IP作为ECU间通信协议的附加价值在于,它使得面向服务的体系结构成为可能。它不仅使整个车辆网络具有动态性和灵活性,而且提供了实现CPU密集型应用所需的骨干。

让我们看看SOME/IP带来的其他优点:

  1. 更容易向车辆电子系统添加新功能。

  2. 作为连接生态系统的一部分,为车辆系统提供所需的灵活性。

  3. 可以使用事件和方法使用以太网实现复杂的服务接口。

  4. 它支持单播和组播。

  5. 引入事件、通知器等可以降低数据路径的复杂度。
    SOME/IP在汽车行业中的常见应用

总体情况

SOME/IP是一款巧妙设计的中间件,具有CAN、MOST和FlexRay的特性以及备受追捧的面向服务的通信。它与另一项开创性技术——自适应AUTOSAR的合作已经引起了人们的关注。它们共同具有改变汽车软件开发和集成到ECU网络的方式的潜力。

从上面这个图可以看出来,SOME/IP其实是构架在传输层之上的应用层通信协议,它的内容虽然很多很杂,但本质上也就是定义了SOME/IP 包头和数据的内容而已。

04

SOME/IP 数据的格式

上图是SOME/IP数据的格式,除了最下面的Payload之外都属于SOME/IP的header。SOME/IP消息由报头header和有效负载Payload组成。

  • 消息ID:服务ID和事件/方法ID的组合

  • Length:包含从请求ID到SOME/IP消息结束的长度(以字节为单位)

  • 请求ID:允许提供者和订阅者区分同一方法、事件、getter或setter的多个并行使用

  • 协议版本:包含SOME/IP协议版本的8位字段

  • 接口版本:包含服务接口主要版本的8位字段

  • 消息类型:用于区分消息类型

  • 返回码:用于指示请求是否已成功处理。

Message Type [8 Bit],它有以下几种取值:

  • REQUEST (期待响应的请求)

  • REQUEST_NO_RETURN(不期待响应的请求)

  • NOTIFICATION(事件通知)

  • RESPONSE(响应消息)

  • ERROR(报错消息)

REQUEST,REQUEST_NO_RETURN,RESPONSE属于同一类远程过程调用方法,当client有需求的时候,发送一个request消息,server根据这个消息类型(REQUEST或REQUEST_NO_RETURN)来决定是否发送response消息。过程如下图所示。

方法调用过程

NOTIFICATION属于事件通知类的服务,首先由client向server订阅服务内容,然后server向client自动发布服务内容。

Event Notification

Field Notification

NOTIFICATION又分为Event和Field 两类,这两类通知都需要首先使用SOME/IP-SD(Service Discovery)来进行服务订阅,然后才能发布通知。

区别在于,Event是某一时刻的快照,只是事件通知,而Field除了事件通知之外,还具有Getter和Setter的功能,即对信息进行读写的操作。

05

SOME/IP-Service Discovery

SOME/IP-SD可以被当作SOME/IP的一种特殊服务,前面提到过,client可以远程调用server提供的服务,或者订阅server发布的内容,那么client是怎么知道server提供哪些服务呢,就是通过SOME/IP-SD来实现服务发现过程的。

SOME/IP-SD的报文格式

从上图可见,SOME/IP-SD是一种特殊的SOME/IP格式,它对SOME/IP-SD报文中的Payload进行了定义和实现。而Message ID字段则是固定的0xFF FF 81 00。

SOME/IP-SD提供了两种动态发现服务的机制。

  1. 一种是Offer Service ,由server向网络上的小伙伴告知它所提供的服务。

  2. 另一种是Find Service ,由client向别人请求可用的服务。

本文只是简要介绍,不对通信过程和协议内容做过多分析。

这上面有与SOME/IP相关的全部详细信息。

SOME/IP的功能

1、数据的序列化和反序列化

将网络中的对象,比如结构体或者字符串转换成二进制流进行传输的过程。娱乐信息的控制器可以支持8Byte对齐,所有的ECU应至少支持4Byte对齐序列化要求字节对齐,提高CPU的访问效率。

2、RPC远程调用机制

远程调用机制包括以下几种:

  • 请求/响应(R/R)通信

客户端发送一条Request消息,该消息由服务端Response。(带返回值的函数调用)

▲ 图3:请求/响应(R/R)通信

  • 焚烧 & 忘记(F & F)通信

客户端向服务器调用方法,无需服务器响应消息的请求称为fire&forget。(空函数调用)

▲ 图4:焚烧&忘记(F/F)通信

  • 通知事件(Notification Event)

与CAN报文类似,当客户端订阅Event Group后,当发生某些特定事件时(周期更新、值发生改变或值改变了ε),服务器就会给客户端发送Event报文。(应用数据转换)

▲ 图5:Notification Event通信

  • 域(Field)

Field是Getter、Setter和Notifier的组合。Getter是一个请求/回应调用,请求报文的payload为空,Field的值置于响应报文的payload中。同样Setter也是一个请求/回应调用,将要设置的Field的值置于请求报文的payload中,响应报文的payload也要放置Field设置的值。Notifier同Event类似,Field中的事件报文在Field值更新时会发送出来,但遵循事件发送规则。

▲ 图6:Notification Event通信

AP AUTOSAR

1、ara::com---通讯管理接口

其可实现应用之间的函数调用和事件发送

服务请求:双向数据流,即发送请求者会收到服务端的反馈,可支持多对1的服务请求,即单个服务可被不同客户端调用,客户端可串行或并行进行反馈,具体流程如下:

事件发送:由客户端发起,单向数据流。即数据只可从服务端向客户端流动,支持单个服务向多个客户端的事件发送,流程如下:

3、管理整个网络中服务的状态

  • 通信机制

SOME/IP通过以太网提供面向服务的通讯,采用SOME/IP-Service Discovery定位服务实例,并检测服务的运行状态,同时发布订阅处理功能。

▲ 图7:Service Discovery的作用

客户端收到需要的服务,会发送订阅报文,服务端给出订阅ACK后,开始发送Event。所有需要Event或NotificationEvent的客户端必须在运行时间中利用SOME/IP-SD在某个server上注册。

▲ 图8:订阅与Event发送(源自SOME/IP Service Discovery ProtocolSpecification)

1.服务发现通信行为

对每一个服务实例或事件组,服务发现在发送条目时必须至少包含初始等待阶段、重复阶段和主阶段。

2.初始等待阶段

随机等待一段时间后发送报文(发现服务和提供服务条目)。

3.重复阶段

服务发现实现时必须在重复阶段等待一段时间,且发送的条目数量有限制。如果发送的条目数量设置为0,则必须跳过重复阶段。在初始等待阶段之后服务实例进入主阶段。

4.主阶段

在进入主阶段之后,必须等待一段时间后发送第一条报文,循环发送提供服务报文。

当某ECU的服务实例停止服务时,必须发送停止提供服务条目。服务端的状态机如下图所示:

▲ 图9:服务端的状态机(源自SOME/IP Service Discovery Protocol Specification)

客户端在Down阶段如收到提供服务条目,可内部调用服务请求;如未收到提供服务条目,则进入初始等待阶段等待一段时间后进入重复阶段发送报文,接收到提供服务条目,进入主阶段。当收到服务实例停止服务时,服务停止,仍停留在主阶段。客户端的状态机如下图所示:

▲ 图10:客户端的状态机(源自SOME/IP Service Discovery Protocol Specification)

SOME/IP与AUTOSAR

在CP AUTOSAR架构中:

SOME/IP-SD模块位于AUTOSAR BSW Mode Manager module(BswM)和AUTOSAR Socket Adaptor module (SoAd)之间

如图11所示:

BswM模块提供了通用模式请求和服务请求之间的连接。

SoAd模块则处理以太网堆栈和Sd模块之间的服务请求。

通过配置SoAd中的SocketConnection表,可以接收其他ECU的Sd模块发来的单播和多播报文。

▲ 图11:AUTOSAR SOME/IP-SD模块交互(源自Specification of Service Discovery)

来源:

https://zhuanlan.zhihu.com/p/48424110

 end 

图片

 精品活动推荐 

图片

图片


图片

 AutoSec中国行系列沙龙 

图片

图片

 专业社群 

图片

部分入群专家来自:

新势力车企:

特斯拉、合众新能源-哪吒、理想、极氪、小米、宾理汽车、极越、零跑汽车、阿维塔汽车、智己汽车、小鹏、岚图汽车、蔚来汽车、吉祥汽车、赛力斯......

外资传统主流车企代表:

大众中国、大众酷翼、奥迪汽车、宝马、福特、戴姆勒-奔驰、通用、保时捷、沃尔沃、现代汽车、日产汽车、捷豹路虎、斯堪尼亚......

内资传统主流车企:

吉利汽车、上汽乘用车、长城汽车、上汽大众、长安汽车、北京汽车、东风汽车、广汽、比亚迪、一汽集团、一汽解放、东风商用、上汽商用......

全球领先一级供应商:

博世、大陆集团、联合汽车电子、安波福、采埃孚、科世达、舍弗勒、霍尼韦尔、大疆、日立、哈曼、华为、百度、联想、联发科、普瑞均胜、德赛西威、蜂巢转向、均联智行、武汉光庭、星纪魅族、中车集团、赢彻科技、潍柴集团、地平线、紫光同芯、字节跳动、......

二级供应商(500+以上):

Upstream、ETAS、Synopsys、NXP、TUV、上海软件中心、Deloitte、中科数测固源科技、奇安信、为辰信安、云驰未来、信大捷安、信长城、泽鹿安全、纽创信安、复旦微电子、天融信、奇虎360、中汽中心、中国汽研、上海汽检、软安科技、浙江大学......

人员占比

图片


公司类型占比


图片

更多文章

不要错过哦,这可能是汽车网络安全产业最大的专属社区!

关于涉嫌仿冒AutoSec会议品牌的律师声明

一文带你了解智能汽车车载网络通信安全架构

网络安全:TARA方法、工具与案例

汽车数据安全合规重点分析

浅析汽车芯片信息安全之安全启动

域集中式架构的汽车车载通信安全方案探究

系统安全架构之车辆网络安全架构

车联网中的隐私保护问题

智能网联汽车网络安全技术研究

AUTOSAR 信息安全框架和关键技术分析

AUTOSAR 信息安全机制有哪些?

信息安全的底层机制

汽车网络安全

Autosar硬件安全模块HSM的使用

首发!小米雷军两会上就汽车数据安全问题建言:关于构建完善汽车数据安全管理体系的建议

谈思实验室 深入专注智能汽车网络安全与数据安全技术,专属汽车网络安全圈的头部学习交流平台和社区。平台定期会通过线上线下等形式进行一手干货内容输出,并依托丰富产业及专家资源,深化上下游供需对接,逐步壮大我国汽车安全文化及产业生态圈。
评论
  • 电磁场的作用主要体现在以下几个方面:首先在能源领域,电磁场是发电、输电的基础。无论是火力发电还是核电站,*终都需要通过电磁感应原理将机械能转化为电能。高压输电线路则利用交变电磁场实现电能的远距离传输,为现代工业和生活提供动力保障。在通信技术方面,电磁波作为电磁场的传播形式,构成了无线通信的基础。从无线电广播到5G移动网络,从卫星通信到光纤传输,本质上都是对特定频段电磁场的**控制和利用。雷达系统通过发射和接收电磁波实现目标探测,在气象预报、航空管制等领域不可huo缺。在医疗领域,电磁场技术为诊断
    锦正茂科技 2025-05-19 13:19 14浏览
  • 2025 年 5 月 16 日讯,英伟达首席执行官黄仁勋的专机于北京时间 13:29 抵达中国台北松山机场,其此行引起了广泛关注。黄仁勋此番赴台,主要是为了参加即将于 5 月 20 日至 23 日举行的台北电脑展(Computex 2025),他将在 19 日上午进行主题演讲。此次演讲备受期待,市场猜测其可能会宣布英伟达与富士康、广达等中国台湾地区 AI 服务器公司达成的更多合作,进一步推动 AI 技术的发展和应用。此外,据市场消息,黄仁勋将于 17 日邀请供应链伙伴聚餐,鸿海董事长刘扬伟、纬创
    鲜橙财经 2025-05-16 14:00 209浏览
  • 非常荣欣参加了这次《7天造一台无人机》试读体验活动,同时非常感谢面包板论坛举办此活动。本书印刷还是非常新颖,具有精美漫画。下图为图书正面。 本书主要介绍组装、调试一架四旋翼无人机的完整流程,包括组装无人机机架、安装电机和螺旋桨、电池充电保养、安装飞控、飞行前调试,并且在组装、调试过程中依次介绍了飞行原理、动力系统、遥控器、电池、飞控等相关基础知识。 本书共分为7章。第1章首先介绍了无人机学习的一些方法,避免大家在学习无人机时走弯路;然后介绍了无人机的基础知识,并对四旋翼无人机的概念、飞行原理和各
    shenwen2007_656583087 2025-05-17 12:07 60浏览
  • ETC系统是一种高速公路或桥梁自动收费系统。插卡式ETC是长这个样子的,正面如下图。背面是有一小块太阳能板的,还有一个按钮开关,如下图。用工具拆开上盖,可以看见电池,显示屏,卡片,如下图。取下PCB板,可以看见背面,如下图。J5,J6脚是接太阳能板的正负极的,SKYRELAY(斯凯瑞利) SKY1311T 读卡器芯片,内部集成了多种通信协议。SKY1311T芯片通过内置的硬件加密引擎和高级加密标准(AES)来实现数据的加密传输,保证数据的安全性。169E 具体的数据手册没有查到,猜测是
    liweicheng 2025-05-17 21:41 90浏览
  •   北京仿真软件开发代表性企业解析   北京作为国内仿真技术创新高地,集聚多家深耕细分领域的领先企业,其技术布局与行业适配性各具特色。以下为核心企业的优势解析及选型参考:   一、华盛恒辉科技有限公司   华盛恒辉科技有限公司:是一家专注于高端软件定制开发服务和高端建设的服务机构,致力于为企业提供全面、系统的开发制作方案。在部队政企开发、建设到运营推广领域拥有丰富经验,在教育,工业,医疗,APP,管理,商城,人工智能,部队软件、工业软件、数字化转型、新能源软件、光伏软件、汽车软件,ERP,
    华盛恒辉l58ll334744 2025-05-16 16:00 180浏览
  •   头部技术企业核心能力与行业解决方案解析   华盛恒辉科技有限公司   华盛恒辉科技有限公司:是一家专注于高端软件定制开发服务和高端建设的服务机构,致力于为企业提供全面、系统的开发制作方案。在部队政企开发、建设到运营推广领域拥有丰富经验,在教育,工业,医疗,APP,管理,商城,人工智能,部队软件、工业软件、数字化转型、新能源软件、光伏软件、汽车软件,ERP,系统二次开发,CRM等领域有很多成功案例。   五木恒润科技有限公司   五木恒润科技有限公司:是一家专业的部队信息化建设服务单位
    华盛恒辉l58ll334744 2025-05-19 17:18 82浏览
  • 什么是互斥量互斥量的应用场合互斥量的API函数基本代码结构互斥量使用举例递归锁递归锁举例总结什么是互斥量在freeRTOS中,多个任务访问一块共享资源,会产生竞争现象。比如马路上只有一个很早以前的电话亭,A、B都想要打电话,然后他们就开始打架了。但是如果A先进去了然后把门锁了,B想进去打电话的话只能在外面等,必须等到A把门锁打开。互斥量的应用场合像freeRTOS的多任务系统,任务A正在使用某个资源,还没用完的时候,任务B也来使用,就可能会导致问题。就比如串口,任务A正在用串口发送数据,此时任务
    二月半 2025-05-18 20:54 89浏览
  • 随着智能硬件设备的快速发展,蓝牙音频语音芯片在智能家居、穿戴设备、车载电子等领域得到广泛应用。蓝牙音频语音芯片凭借其低功耗、高集成度和灵活的通信接口,成为许多开发者的选择。然而,在实际应用中,开发者可能会遇到IC芯片通过串口或MCU通信时无响应的问题。本文将从通信接口配置与故障排查角度,普及相关知识并提供解决方案。一、通信接口基础配置串口接线规则蓝牙芯片的串口通信需遵循“交叉连接”原则:TX(发送端)→ RX(接收端)RX(接收端)→ TX(发送端)若接线错误(如TX-TX或RX-RX直连),数
    广州唯创电子 2025-05-19 09:47 12浏览
  • 在现代影像技术的快速发展下,动态范围(Dynamic Range)成为评估影像质量的重要指针之一。无论是无人机在高空拍摄的画面、工作用相机在不同光线条件下的成像表现、还是随身记录仪在运动过程中的稳定录像,「动态范围」的数值高低直接影响画面的清晰度与细节还原能力。然而,拍摄环境中的极端条件,如耀眼的阳光、深沉的阴影或快速变化的光线,都对产品的影像拍摄提出了严峻的挑战。技术难题:不同环境下对影像设备的质量影响本次分享一家网络监控摄影机(Network Cameras) 制造厂商,经常收到客诉提到:在
    百佳泰测试实验室 2025-05-16 14:43 191浏览
  • 电磁场是自然界中一种特殊的物质存在形式,由相互依存且能够相互转化的电场和磁场共同构成。这种无形的物理场充满整个空间,既能够传递电磁力,也能够以电磁波的形式传播能量。电场源于静止或运动的电荷,表现为对带电粒子施加作用力的能力;而磁场则产生于电流或变化的电场,能够影响运动电荷的轨迹。两者通过动态耦合形成统一的电磁场系统,其行为规律由麦克斯韦方程组完整描述。这个方程组包含四个基本方程,分别揭示了电荷如何产生电场、磁场无孤立磁荷的特性、变化磁场激发电场的规律,以及电流与变化电场共同产生磁场的机制。电磁场
    锦正茂科技 2025-05-19 13:07 15浏览
  • 什么是信号量信号量能干啥信号量的函数实例举例总结什么是信号量简而言之,就是发出通知,接收通知的任务获得通知后去干啥啥。通知有多有少。自定义通知数量的,叫计数型信号量;只有有无(即“0”,“1”)通知的,叫二进制信号量。信号量能干啥资源管理:控制多个任务对共享资源(如外设、内存块)的访问权限,避免竞争条件任务同步 :实现任务间的时序协调(如等待某个事件完成)中断与任务通信:在中断服务程序(ISR)中快速通知任务处理事件(需使用 xxxFromISR 版本的函数)信号量的函数创建二进制信号量函数原型
    二月半 2025-05-18 20:48 95浏览
  • 这算是一款挺经典的“轨迹球”,它与其它品牌轨迹球最大的不同是它有个大圆环形状的滚轮,缩放图片、浏览网页非常方便,据说这还是Kensington独有的专利。我要拆解的这款轨迹球的型号是:K72337,算是同品牌系列里最最基础的入门款,优点是价廉物美(人民币200元左右),缺点是球的直径略小(40mm)—— 要想精准定位光标位置需要先有操控它的娴熟度,还有就是这款可供组合的按键也太少(高配型号有多个自定义按键),但好在我当年入手它就只是为了提高工作效率(用于文字编辑、程序修改、PPT绘图、音频剪辑等
    牛言喵语 2025-05-18 05:42 73浏览
  • 【拆解】+TFT LCD 通用测试仪拆解 目前对于车载行业,显示屏在整车的份额越来越高。各个供应商或者下级供应商都会回针对TFT的开发做规划。那么,在TFT测试方面,他们是如何进行产品开发前的测试和有效性验证的内。是的,无非就是他们公司自己开发点亮治具或者从治具供应商那边购买点亮设备。客户只需要提供客户需求。有能力的供应商就好针对需求进行分解开发。在规定的时间内完成产品的开发和交付。今天我们就来看看用在车载显示屏或者消费电子上面的TFT点亮治具—TFT LCD通用测试仪式怎么设计出来的。 如下就
    zhusx123 2025-05-18 14:07 81浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦