@[supper_runner](SOME/IP协议详解_SD&SI(Service Discovery & ServiceInterface))
#个人学习记录与分享,欢迎指正。
#本文链接:https://blog.csdn.net/supper_runner/article/details/120857413
1. 前言
SOME/IP是目前汽车行业实现SOA架构最核心的通信协议,本文将围绕SOME/IP的ServiceDiscovery机制和Service Interface工作场景着重分享SOME/IP面向服务的实现方法,以及SOME/IP通信机制的优势。大家感兴趣的话后面可以分享一下SOME/IP 的序列化、SOME/IP的ETS协议栈一致性测试和应用服务定义方法。
2. SOME/IP的特点
SOME/IP全称Scalable service-Oriented MiddlewarE over IP,全称很好的概括了SOME/IP协议的特征,但是对于SOME/IP刚接触的朋友直接去理解这四个特征可能会过于抽象,可大概看一眼,先了解下面SD的机制章节和Service Interface章节后再行理解。
2.1.Scalable——可伸缩的
得益于SOME/IP中间件的功能,服务与硬件能够很好的解耦,其对于服务的管理拓展性和可裁剪性都非常好,在系统中增加较少一些服务,甚至增加减少一些ECU对于整个系统来说影响很小,理论上带宽允许的情况下,可以无限增加服务数量(当然服务ID的范围为2字节,此原则不可违反)。
2.2.service-Oriented——面向服务的
SOME/IP协议以服务的单位管理整车信息,服务可以包含各种可调用方法(Method)和事件通知组(EventGroup),通过Service Interface将信息进行传递共享,可以做到按需分配服务,按需分配信息,从而提高通信线路利用率。
(该图为借用图片,已难以溯源,仅用于学习分享,如有侵权请联系删除)
3.3.MiddlewarE——中间件
SOME/IP作为服务于分布式系统的通信协议,可将应用层与Endpoint信息、硬件驱动等底层信息进行松耦合管理,使得应用模块在查找所需服务或提供自身服务时,可以完全不关心底层信息,很好的实现了中间件的功能。
2.4.over IP——基于IP协议
SOME/IP位于OSI七层模型的5-7层(应用层),需要运行于TCP/IP协议栈之上,即所有的SOME/IP报文都是IP报文,都是TCP/UDP报文。
3.SD机制
SD机制是SOME/IP实现服务信息共享的核心机制,如其全称ServiceDiscovery,它实现了服务发现的功能。
要了解SD需要首先了解SOME/IP的通信架构,SOME/IP服务于分布式系统,采用服务器客户端无规则分布模式&#