SOME/IP 详解系列(1)—— 概述
前言
随着车载以太网技术的快速发展,SOME/IP得到了更多在车内网络应用的机会,同时作为SOA架构的重要支撑,也越来越受到人们的关注。但还是有很多人并不是真正的了解SOME/IP,接下来的几篇文章,王师傅打算详细的介绍下SOME/IP的背景、定义、工作机制和应用场景,以及如何通过工具去进行SOME/IP的仿真和验证。
SOME/IP背景介绍
SOME/IP的全称是Scalable service-Oriented MiddlewarE over IP,为基于IP的可扩展的面向服务的中间件,由宝马的Lars Völker博士在2011年设计并提出。SOME/IP是车载网络的通信中间件,位于应用程序和传输层之间,可以为控制器提供一种面向服务的通信方式,适配多种操作系统(如FreeRTOS、RTA-OS、QNX、Linux、Android等),甚至在没有操作系统的嵌入式设备上也可以使用。
Lars Völker博士已于2019年从宝马离职,并加入了一家名为Technica Engineering的德国公司,上图标是这家公司的logo,相信很多对车载以太网测试有些了解的朋友都见过,我们平常测试车载以太网需要用的转换板、交换机和数据监听设备、甚至TC8测试需要用的Golden Device,很多设备都是出自这家公司。
面向服务的方式可以使网络上的控制器更灵活的通信,采用服务器/客户端的模式,提供服务的一方为服务器(Server),使用服务的一方为客户端(Client)。为了实现服务器和客户端之间数据格式的解析,服务的定位和寻找,以及数据的适时发送和高效传输等功能场景,所以需要一种位于传输层之上的通信中间件,简单地说就是需要一种双方都可以读懂的语言,定位双方位置、获取双方状态的方法,以及数据发送和交互的规则。这也是SOME/IP被设计出来的主要原因。
SOME/IP主要功能
SOME/IP主要有以下几个功能
1. 序列化 Serialization
SOME/IP协议对序列化的解释为数据在PDU(Protocol Data Units,协议数据单元)中的表示方式,展开来说