CP-17 SOME/IP协议栈深度解析 - 面向服务的车载中间件从协议原理到AUTOSAR工程实战

CP-17 SOME/IP协议栈深度解析 —— 面向服务的车载中间件从协议原理到AUTOSAR工程实战

系列导航

文章编号文章标题
CP-01AUTOSAR CP快速入门指南
CP-02BSW层综述与RTE的作用
......
CP-16车载以太网TCP/IP协议栈全栈深度解析
CP-17SOME/IP协议栈深度解析

目录

  1. 引言:从信号导向到服务导向——车载通信范式的根本变革
  2. SOME/IP在协议栈中的定位
  3. SOME/IP消息格式深度解析
  4. 服务模型:Method、Event、Field
  5. 通信模式详解
  6. SOME/IP序列化规则
  7. SOME/IP-SD服务发现协议深度解析
  8. SOME/IP-TP传输协议:大数据分段机制
  9. SOME/IP在AUTOSAR CP BSW中的集成
  10. SOME/IP安全机制
  11. SOME/IP vs 其他车载协议对比
  12. 调试与工程实践
  13. 总结与展望

1. 引言:从信号导向到服务导向——车载通信范式的根本变革

1.1 传统CAN信号通信的局限性

在传统 automotive E/E架构中,ECU之间的通信主要依赖于CAN/LIN等总线技术,采用的是信号导向(Signal-Based)的通信模式。这种模式具有以下固有限制:

  • 带宽天花板:CAN 2.0总线最高仅支持1Mbps的有效带宽,LIN更是只有20Kbps。在ADAS传感器数据量爆炸式增长的今天,这远远无法满足需求。
  • 拓扑固定:CAN网络采用广播总线拓扑,所有节点接收所有报文,添加新节点需要重新设计网络。
  • 硬编码信号交互:发送方和接收方在编译时静态绑定,发送方不知道谁在接收,接收方也不知道数据从何而来。
  • 无服务发现机制:节点上电后即假设网络状态已知,缺少动态发现可用服务的能力。

1.2 SOA架构的引入

随着软件定义汽车(SDV)概念的兴起,面向服务架构(Service-Oriented Architecture, SOA)被引入车载通信领域。SOA的核心思想是:

  • 将功能封装为服务(Service),每个服务具有明确定义的接口
  • 服务提供者(Provider)发布服务,服务消费者(Consumer)订阅服务
  • 通过服务发现(Service Discovery)机制动态建立连接
  • 服务之间通过标准化的契约(Contract)进行交互

1.3 SOME/IP的诞生与演进

SOME/IP(Scalable service-Oriented MiddlewarE over IP)正是AUTOSAR为车载以太网设计的面向服务中间件协议。SOME/IP于AUTOSAR 4.2(2014年)首次定义,到R24-11已经形成了完整成熟的规范体系。

SOME/IP的全称体现了其设计理念:

  • Scalable:可扩展,支持从低端ECU到高性能计算平台的部署
  • service-Oriented:面向服务,支持SOA架构范式
  • MiddlewarE:中间件,运行在传输层之上、应用层之下
  • over IP:基于TCP/UDP/IP协议栈

SOME/IP已经被宝马iX3、奔驰EQS、大众ID系列等量产车型广泛采用,成为车载以太网服务通信的事实标准。

1.4 与CP-16的关系

本文是CP-16(车载以太网TCP/IP协议栈全栈深度解析)的姊妹篇。CP-16详细讲述了从Eth Driver到Socket Adaptor的传输管道如何修建;本文则聚焦于管道上跑的服务逻辑——即SOME/IP如何利用TCP/UDP基础设施实现面向服务的通信。两篇文章互补,构成了AUTOSAR CP以太网通信栈的完整知识体系。


2. SOME/IP在协议栈中的定位

2.1 OSI模型中的位置

根据AUTOSAR FO_PRS_SOMEIPProtocol规范,SOME/IP在OSI参考模型中主要位于会话层(Layer 5)表示层(Layer 6)

  • 会话层(Session Layer):SOME/IP建立了请求/响应、发布/订阅等通信会话
  • 表示层(Presentation Layer):SOME/IP定义了数据的序列化格式,将应用数据编码为字节流
  • SOME/IP的Request ID机制也涉及到传输层的会话管理功能

2.2 与TCP/UDP的关系

SOME/IP运行在传输层之上,依赖于TCP或UDP协议:

  • 基于TCP的SOME/IP:适用于需要可靠传输的场景,如方法调用(Method)、关键配置数据
  • 基于UDP的SOME/IP:适用于对实时性要求高、可容忍丢包的场景,如事件通知(Event)
  • UDP传输的SOME/IP使用SOME/IP-TP协议支持大数据分段

2.3 AUTOSAR CP BSW中的位置

在AUTOSAR CP BSW架构中,SOME/IP涉及多个模块:

  • SomeIpXf:SOME/IP Transformer,负责序列化/反序列化和协议转换
  • Sd:Service Discovery模块,处理服务发现消息
  • SomeIpTp:SOME/IP Transport Protocol,处理UDP大数据分段
  • SoAd:Socket Adaptor,管理Socket连接与PDU路由
  • PduR:PDU Router,负责PDU在BSW层的路由

2.4 CP vs AP的实现差异

AUTOSAR CP与AP平台对SOME/IP的实现方式有显著差异:

  • CP:通过独立的BSW模块(SomeIpXf、Sd、SomeIpTp)实现,属于静态配置、编译时确定的方案
  • AP:通过ara::com通信管理框架实现,提供更高级的抽象,使用C++17的面向对象接口
  • AP的ara::com在底层同样使用SOME/IP协议,但封装了完整的序列化、服务发现等功能

3. SOME/IP消息格式深度解析(16字节Header + Payload)

SOME/IP消息由固定16字节Header可变长度Payload组成。Header的每个字段都有明确的语义和用途,理解Header格式是掌握SOME/IP的基础。

3.1 Message ID(32 bits / 4 bytes)

Message ID用于唯一标识一个服务接口成员,由两部分组成:

Message ID = Service ID (16 bits) + Method/Event/Field ID (16 bits)
  • Service ID:标识服务实例,如雨刮服务可能是0x1234
  • Method/Event/Field ID
    • 0x0000 - 0x0FFF:Method ID(方法调用)
    • 0x1000 - 0x1FFF:Event ID(事件通知)
    • 0x2000 - 0x2FFF:Field ID(字段访问)
  • 特殊值:Message ID = 0xFFFF.8100 表示SOME/IP-SD消息

3.2 Length(32 bits / 4 bytes)

Length字段指示Payload + 后续Header字段的总长度,不包括Length字段本身:

Length = Request ID (4 bytes) + Protocol Version (1 byte) + Interface Version (1 byte) + Message Type (1 byte) + Return Code (1 byte) + Payload Length = 8 bytes + Payload Length

3.3 Request ID(32 bits / 4 bytes)

Request ID用于匹配请求和响应,特别是在并发RPC场景下:

Request ID = Client ID (16 bits) + Session ID (16 bits)
  • Client ID:标识发起请求的客户端ECU,通常在车辆网络配置中静态分配
  • Session ID:客户端生成的递增序号,用于区分同一客户端的多个并发请求
  • 服务端在响应中原样回传Request ID,客户端据此匹配响应

3.4 Protocol Version(8 bits)

协议版本号,固定为1。这个字段用于标识SOME/IP协议的版本号,确保通信双方使用兼容的协议版本。

3.5 Interface Version(8 bits)

服务接口版本号,采用Major.Minor编码

Interface Version = (Major Version << 8) | Minor Version
  • Major Version:主版本号,不兼容的接口变更时递增
  • Minor Version:次版本号,向后兼容的功能扩展时递增
  • 版本不匹配时,接收方返回E_NOT_OK (0x01)错误

3.6 Message Type(8 bits)

消息类型定义了通信模式,完整枚举如下:

类型说明
0x00REQUEST请求,需要响应
0x01REQUEST_NO_RETURN请求,不需要响应(Fire & Forget)
0x02NOTIFICATION通知/事件(Callback/Event)
0x80RESPONSE响应
0x81ERROR错误响应
0x20TP_REQUEST请求(分段传输)
0x21TP_REQUEST_NO_RETURN请求不分段传输
0x22TP_NOTIFICATION通知(分段传输)
0xA0TP_RESPONSE响应(分段传输)
0xA1TP_ERROR错误响应(分段传输)

3.7 Return Code(8 bits)

返回码指示操作的结果状态:

名称说明
0x00E_OK成功
0x01E_NOT_OK一般错误
0x02E_UNKNOWN_SERVICE未知服务
0x03E_UNKNOWN_METHOD未知方法
0x04E_NOT_READY服务未就绪
0x05E_NOT_REACHABLE不可达
0x06E_TIMEOUT超时
0x07-0x09-保留
0x0A-0xFE-厂商自定义
0xFF-保留

4. 服务模型:Method、Event、Field

4.1 Service与Service Instance

SOME/IP的服务模型中有两个核心概念:

  • Service:服务的抽象定义,由Service ID唯一标识,代表一类功能集合
  • Service Instance:服务的具体实例,由Service ID + Instance ID标识

典型场景:雨刮服务(Service ID = 0x1234)在车身控制域ECU和左车门ECU上各有一个Instance(Instance ID = 0x0001和0x0002)。

4.2 Method(方法调用)

Method模拟了远程过程调用(RPC)的语义:

  • Request/Response模式:客户端发起调用,服务端处理后返回结果
    • 同步:客户端阻塞等待响应
    • 异步:客户端注册回调,服务端通过Event返回结果
  • Fire & Forget模式:使用REQUEST_NO_RETURN类型,只发送不等待响应

4.3 Event(事件通知)

Event用于服务端主动推送数据给已订阅的客户端:

  • Event属于某个Event Group,Event Group是订阅的基本单元
  • 触发策略
    • Cyclic:周期发送,如100ms发送一次
    • On Change:值变化时发送
    • Epsilon Change:变化超过阈值时发送,避免噪声信号频繁触发
  • Event是单向的,服务端不期望客户端回复

4.4 Field(字段)

Field是Method和Event的组合,代表一个可读写的状态:

  • Getter:读取当前值(Request/Response)
  • Setter:设置新值(Request/Response)
  • Notifier:值变化时通知订阅者(Event)

Field与Event的关键区别:Field始终有有效值(最后设置的值),而Event是瞬时快照。

4.5 Event Group(事件组)

Event Group是逻辑上相关的Events和Fields的分组:

  • 订阅的基本单元:客户端订阅Event Group,而不是单个Event
  • 网络层使用UDP Multicast分发同一Event Group的消息
  • 一个Event可以属于多个Event Group

5. 通信模式详解

5.1 Request/Response(RPC远程过程调用)

Request/Response是最常见的同步通信模式:

完整流程:

  1. 客户端SW-C通过RTE发起方法调用
  2. Com/PduR路由到SomeIpXf进行序列化
  3. SomeIpXf添加SOME/IP Header(Request类型)
  4. 通过SoAd → TcpIp → Ethernet发送
  5. 服务端接收并反序列化
  6. 服务端处理请求,生成响应
  7. 响应原路返回(Response类型)
  8. 客户端接收并处理响应或错误

超时处理:每个Method可配置独立超时时间,超时后触发错误处理逻辑。

5.2 Publish/Subscribe(发布/订阅)

Publish/Subscribe支持一对多的事件分发

订阅流程:

  1. OfferService:服务端通过SD广播宣告服务可用(UDP Multicast)
  2. Subscribe:客户端向服务端订阅EventGroup
  3. SubscribeAck:服务端确认订阅成功
  4. Event Notification:服务端向订阅者推送事件数据
  5. 服务端下线时发送StopOffer,客户端收到后清理订阅状态

5.3 Fire & Forget

适用于不需要返回值的异步通知场景:

  • 使用REQUEST_NO_RETURN消息类型
  • 典型场景:故障信息上报、日志发送、触发通知
  • 通常配合UDP使用,无重传机制

6. SOME/IP序列化规则

6.1 基本数据类型

SOME/IP支持以下基本数据类型(全部采用Big-Endian字节序):

类型大小说明
uint8 / boolean1 byte无符号8位整数
uint162 bytes无符号16位整数
uint324 bytes无符号32位整数
uint648 bytes无符号64位整数
int8 / sint81 byte有符号8位整数
int16 / sint162 bytes有符号16位整数
int32 / sint324 bytes有符号32位整数
int64 / sint648 bytes有符号64位整数
float324 bytesIEEE 754单精度浮点
float648 bytesIEEE 754双精度浮点

6.2 复合数据类型

6.2.1 Struct(结构体)

标准结构体,无Tag字段,按成员顺序固定序列化:

struct SensorData { uint16 id; // 2 bytes uint8 status; // 1 byte float value; // 4 bytes uint8 padding; // 1 byte (alignment) } // Total: 8 bytes, no forward/backward compatibility
6.2.2 Extensible Struct(可扩展结构体)

TLV Tag的可扩展结构体,支持向前兼容:

struct SensorData { uint8 tag; // Type ID: 0x01, 0x02, 0x03... uint16 length; // Length of following data // Type-specific value } // Unknown tags are ignored - forward compatible // Order independent - backward compatible
6.2.3 Union(联合体)

Type Selector的联合体,同一时间只有一个成员有效:

union SensorValue { uint8 as_uint8; // Selector = 0x01 float as_float; // Selector = 0x02 uint16 as_uint16; // Selector = 0x03 } // Binary: [Selector (1B)] [Value (4B)] // Selector indicates which member is active
6.2.4 Array和String

变长数据类型使用长度前缀

// Array: [Length (1-4 bytes)] [Element 0] [Element 1] ... // String: [Length (1 byte)] [UTF-8 chars...]

6.3 序列化对齐规则

  • 默认对齐边界为1字节
  • 结构体内部可能存在Padding以保证成员对齐
  • Byte Order Mark (BOM)可选用于标识字节序

7. SOME/IP-SD服务发现协议深度解析

7.1 SD的设计目标

SOME/IP-SD(Service Discovery)解决了SOA架构中的服务在哪里的问题:

  • 服务可用性管理:Offer / StopOffer
  • 订阅管理:Subscribe / SubscribeAck / StopSubscribe
  • 动态网络拓扑:ECU上电/下电时自动发现/移除服务

7.2 SD消息格式

SOME/IP-SD使用固定的Message ID = 0xFFFF.8100,运行在UDP 30490端口:

7.2.1 SD Entry(条目)

每个Entry长度为16字节,描述服务或订阅状态:

Entry类型用途
FindService0x00客户端查找服务
OfferService0x01服务端提供服务
StopOfferService0x02停止提供服务
Subscribe0x06订阅EventGroup
StopSubscribe0x07取消订阅
SubscribeAck0x08订阅确认
7.2.2 SD Option(选项)

Option提供网络层地址和配置信息

  • IPv4/IPv6 Endpoint Option:服务通信端点(IP地址+端口)
  • IPv4/IPv6 Multicast Option:SD多播地址
  • Configuration Option:键值对配置信息

7.3 SD状态机

7.3.1 服务端状态机
Down --> [Service Available] --> Offered ^ | [StopOffer / TTL=0] | v Down
7.3.2 客户端状态机
Down --> [Subscribe sent] --> Subscribed ^ | [StopSubscribe / TTL=0] | v Down

7.4 三阶段广播策略

SD使用三阶段策略避免网络风暴:

  1. Initial Wait Phase(初始等待阶段)
    • 等待Initial_Wait_Time(0-2000ms)
    • 添加Jitter(随机延迟)避免多ECU同时启动导致的广播风暴
  2. Repetition Phase(重复阶段)
    • RepetitionBaseDelay(默认100ms)为间隔重复发送
    • 每次间隔乘以DelayFactor(指数退避)
    • 最多重复RepetitionsMax次(默认3次)
  3. Main Phase(主阶段)
    • TTL/3为周期循环发送
    • 持续保持服务可用性通知

7.5 TTL机制

TTL(Time To Live)是SD消息的关键字段:

  • TTL=0表示StopOffer(服务不可用)或StopSubscribe(取消订阅)
  • TTL>0时,接收方在TTL过期前未收到刷新消息则判定服务不可用
  • 常见TTL值:服务Offer常用3秒,订阅常用5秒

8. SOME/IP-TP传输协议:大数据分段机制

8.1 为什么需要TP

标准以太网MTU为1500字节,扣除各层头部开销后,SOME/IP Payload最大约1472字节(UDP)或1460字节(TCP)。对于诊断数据、地图数据等大载荷场景,需要分片传输。

8.2 TP Header格式

SOME/IP-TP在原始Header后插入4字节TP Header

+----------------------------------------+ | Offset (28 bits) | Res (3) | M (1 bit) | +----------------------------------------+
  • Offset(28 bits):分段偏移量,以16字节为单位
  • Reserved(3 bits):保留位,必须为0
  • More Segments (M)(1 bit):0=最后分段,1=还有更多分段

8.3 分段与重组流程

8.3.1 发送端(分段)
  1. 计算Payload大小,确定分段数量
  2. 每个分段添加SOME/IP Header + TP Header
  3. 设置Offset值(偏移量/16)和M标志
  4. 通过多个UDP数据报发送
8.3.2 接收端(重组)
  1. 分配重组缓冲区
  2. 按Offset将分段数据写入正确位置
  3. 设置重组超时(默认500ms)
  4. 超时则丢弃已接收的分段

8.4 示例计算

假设Payload为5880字节,最大分段Payload为1452字节:

分段1: Offset=0, More=1, Length=1452 分段2: Offset=91, More=1, Length=1452 (91 * 16 = 1456字节已发送) 分段3: Offset=182, More=0, Length=2960 (182 * 16 = 2912字节已发送) 总计: 2912 + 2960 = 5872 + 8(TP头) = 5880 ✓

9. SOME/IP在AUTOSAR CP BSW中的集成

9.1 BSW模块架构

SOME/IP在AUTOSAR CP BSW中涉及多个模块的协作:

9.2 各模块职责

9.2.1 SomeIpXf(SOME/IP Transformer)
  • 序列化/反序列化:将应用数据结构与SOME/IP Payload互相转换
  • Header处理:构造和解析SOME/IP消息头
  • SD Client接口:提供服务发现的上层API
9.2.2 SomeIpTp(传输协议)
  • 大数据分段:将超长Payload拆分为多个UDP数据报
  • 重组管理:接收端重组分段消息
  • 超时控制:防止无限等待丢失的分段
9.2.3 Sd(Service Discovery)
  • 状态管理:维护服务提供/订阅状态机
  • SD消息构造:生成Offer/Find/Subscribe等SD消息
  • TTL刷新:周期性重发SD消息保持服务可用性
9.2.4 SoAd(Socket Adaptor)
  • Socket连接管理:TCP/UDP Socket的创建和关闭
  • PDU复用:同一Socket上复用多个I-PDU
  • 路由组控制:批量启用/禁用PDU路由

9.3 配置要点

9.3.1 ARXML配置
<ServiceInterface> <ShortName>SensorDataInterface</ShortName> <ServiceID>0x1234</ServiceID> <Version> <Major>1</Major> <Minor>0</Minor> </Version> <Methods> <Method> <MethodID>0x0001</MethodID> <RequestOutput>...</RequestOutput> <ResponseInput>...</ResponseInput> </Method> </Methods> <Events> <Event> <EventID>0x8001</EventID> <EventGroupRefs>...</EventGroupRefs> </Event> </Events> </ServiceInterface>
9.3.2 SD配置参数
参数默认值说明
Initial_Wait_Time100ms初始等待时间
RepetitionsMax3重复次数上限
RepetitionBaseDelay100ms基础重复间隔
TTL3s服务Offer的TTL

9.4 数据流路径

9.4.1 发送路径(TX)
SW-C (RTE) -> Com -> PduR -> SomeIpXf (序列化) -> PduR -> SoAd -> TcpIp -> EthIf -> Eth Driver
9.4.2 接收路径(RX)
Eth Driver -> EthIf -> TcpIp -> SoAd -> PduR -> SomeIpXf (反序列化) -> PduR -> Com -> RTE -> SW-C

10. SOME/IP安全机制

10.1 安全需求分析

车载以太网暴露于外部网络,面临以下安全威胁:

  • 恶意ECU注入:伪造服务提供者发送虚假数据
  • 中间人攻击:拦截和篡改SOME/IP消息
  • 重放攻击:重复发送窃取的合法消息
  • 服务劫持:非法订阅或取消订阅服务

10.2 SOME/IP Sec

AUTOSAR定义了SOME/IP Security扩展:

  • 消息级认证:使用MAC(消息认证码)验证消息来源
  • 消息加密:保护敏感数据的机密性
  • SecOC(Secure Onboard Communication)模块协同

10.3 TLS for TCP-based SOME/IP

对于基于TCP的SOME/IP通信,可使用TLS提供端到端安全:

  • TLS 1.2/1.3提供强认证和加密
  • 证书管理集成HSM(硬件安全模块)
  • 适合高安全要求的诊断和安全通信场景

10.4 安全Service Discovery

  • 防止虚假服务注册攻击
  • 订阅认证:验证订阅者的合法身份
  • SD消息签名:确保SD消息的可信性

11. SOME/IP vs 其他车载协议对比

11.1 SOME/IP vs CAN信号通信

特性CAN SignalSOME/IP
带宽1Mbps100Mbps+
服务发现SD动态发现
通信模式广播+接收过滤RPC/PubSub
数据类型信号(信号导向)服务(服务导向)
协议开销低(CAN头4B)较高(SOME/IP头16B+)

11.2 SOME/IP vs DoIP

DoIP(Diagnostic over IP)主要用于诊断通信

  • DoIP:ECU诊断(UDS协议),与外部诊断设备通信
  • SOME/IP:车内服务通信,车载ECU间互操作
  • 两者可共存于同一以太网网络

11.3 SOME/IP vs DDS

DDS(Data Distribution Service)主要用于AP平台和机器人领域:

  • DDS:去中心化 PubSub,完整的服务质量(QoS)机制
  • SOME/IP:SOA中间件,AUTOSAR生态集成更好
  • DDS更适合高性能计算平台,SOME/IP更适合车载嵌入式ECU

12. 调试与工程实践

12.1 Wireshark SOME/IP插件

Wireshark支持原生SOME/IP解析

  • 自动解析SOME/IP Header各字段
  • 识别Method/Event/Field类型
  • 解析SD消息的Entry和Option
  • 支持SOME/IP-TP分段重组显示

过滤器语法

someip || someip_sd // 过滤所有SOME/IP流量 someip.service_id == 0x1234 // 过滤特定服务 someip.method_id == 0x0001 // 过滤特定方法

12.2 Vector CANoe/Ethernet

CANoe是业界最常用的车载总线仿真测试工具

  • CANoe.CAN:CAN/LIN仿真
  • CANoe.VX1410:以太网仿真板卡
  • 内置SOME/IP/IP配置功能
  • 支持CAPL脚本实现复杂测试场景

12.3 常见问题排查

12.3.1 服务无法发现
  • 检查SD Multicast地址是否正确(默认224.0.0.1)
  • 验证UDP 30490端口是否开放
  • 检查TTL设置是否合理
  • 确认SoAd Socket配置正确
12.3.2 序列化错误
  • 检查字节序设置(Big-Endian vs Little-Endian)
  • 验证结构体对齐和Padding
  • 确认接口版本号匹配
12.3.3 大数据传输失败
  • 检查MTU设置(通常需要1500)
  • 验证SomeIpTp配置(分段阈值、超时时间)
  • 确认UDP而非TCP(TCP自带分段)
12.3.4 版本不兼容
  • Protocol Version必须为1
  • Interface Version Major必须匹配
  • 检查ARXML接口定义是否一致

13. 总结与展望

13.1 SOME/IP核心价值

SOME/IP是AUTOSAR为车载以太网设计的面向服务通信中间件,核心价值包括:

  • 支持SOA架构范式,实现服务化通信
  • 通过SD实现动态服务发现
  • 提供Method/Event/Field三种服务接口
  • 支持Request/Response、Pub/Sub等多种通信模式
  • 通过序列化实现异构ECU互操作

13.2 与AUTOSAR AP的演进

随着AUTOSAR AP平台的普及,SOME/IP的角色也在演进:

  • AP的ara::com在底层使用SOME/IP,向上提供更现代的C++接口
  • CP和AP通过ara::com的SOME/IP binding实现互联互通
  • 未来可能统一使用更先进的协议(如HTTP/RESTful + DDS)

13.3 TSN对SOME/IP的增强

时间敏感网络(TSN)可为SOME/IP提供:

  • 确定性传输:通过Time-Aware Shaping保证关键服务的实时性
  • 带宽保障:通过CBS/ATS机制预留带宽
  • 冗余传输:通过Frame Replication and Elimination提高可靠性

13.4 面向SDV的演进

在软件定义汽车时代,SOME/IP面临新的挑战:

  • 更高带宽需求:10Gbps车载以太网
  • 云端协同:与云端服务统一架构
  • 服务编排:动态服务部署和生命周期管理
  • 安全增强:端到端安全认证和加密

参考资料

  1. AUTOSAR_FO_PRS_SOMEIPProtocol (R24-11) - SOME/IP协议规范
  2. AUTOSAR_FO_PRS_SOMEIPServiceDiscoveryProtocol (R24-11) - SD协议规范
  3. AUTOSAR_CP_SWS_SOMEIPTransformer (R24-11) - Transformer规范
  4. AUTOSAR_SWS_SOMEIPTransportProtocol (v4.3.0) - TP传输协议规范
  5. AUTOSAR_CP_SWS_TcpIp (R24-11) - TCP/IP Stack规范
  6. AUTOSAR_AP_SWS_CommunicationManagement (R24-11) - AP通信管理规范
  7. COVESA/vsomeip - 开源SOME/IP实现

关于作者:本文属于AUTOSAR CP实战系列文章,该系列涵盖CP平台从入门到精通的完整知识体系。

系列导航:CP-01~CP-17已发布,CP-18+敬请期待。

标签:#AUTOSAR #SOMEIP #车载以太网 #汽车电子 #SOA #嵌入式