DDS和SOME/IP

这篇具有很好参考价值的文章主要介绍了DDS和SOME/IP。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、DDS协议

OSI七层网络模型:物数网传会表应(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层)

1、本质:通信中间件(会话层协议)

2、发布最小单位:Topic

Topic三要素

(1)数据类型

仅支持OMG Interface Definition Launguage(IDL)定义的数据类型;

支持基本数据结构(eg:short,long,float,string),以及array,sequence,union,enumeration,支持结构体嵌套;

与定义C结构体的语法基本相同;

(2)Topic名称

由用户自己定义,如果要建立通信,pub和sub需要相同的名字

(3)一组QoS策略

上述三者一样,pub和sub才可以建立通信

同一个Topic可以存在多个实例,通过Key来进行区分,eg:#pragma中的id

Topic定义完成后,通过预处理器将IDL文件生成类型库,应用程序可以通过DDS API将这些类型实例化

tutorial::TempSensorType由IDL工具自动生成

3、订阅发布模型(通信形式):DCPS模型

DDS使用称为RTPS(实时发布订阅)的有线协议

4、DDS最重要的特性是以数据为中心,这是与其他很多通信中间件不同的地方。DDS的数据共享以Topic为单元,应用程序能够通过Topic判断其所包含的数据类型,而不必依赖其他的上下文信息。同时,DDS能够按照用户定义的方式自动地进行存储、发布或订阅数据,使应用程序能够像访问本地数据一样去写入或者读取数据。

DDS实现的数据共享可以理解成一个抽象的“全局数据空间”,任何应用程序,不论开发语言,或者运行的操作系统类型,都可以通过相同的方式访问这个“全局数据空间”

5、服务质量QoS

用户可以通过设置QoS策略来控制数据在应用程序之间共享的方式,每个DCPS实体,包括Topic,DataWriter,Publisher,DataReader,Subscriber等,都能够独立配置相应的QoS策略。以下是几种常用的策略

(1)DEADLINE

如果希望某个Topic能够周期更新,可以设置DEADLINE属性。在数据的发布方设置DEADLINE,这意味着应用程序必须以小于DEADLINE的周期去更新Topic,而在数据的订阅方设置DEADLINE,这意味着数据的发布方必须以小于DEADLINE的周期去发布Topic。

(2)LIFESPAN

通过设置LIFESPAN,可以使DataWriter写入的每个数据样本都有一个关联的“到期时间”,超过该时间后,该数据样本不再传送给任何应用程序,并且这些数据将从DataReader缓存中清除。

(3)HISTORY

设置HISTORY属性可以让DataWriter保存并发送旧的采样数据,新的DDS节点如果订阅了相关的Topic,它不仅能够接收到数据的当前值,也能收到一部分历史值,从而了解数据近期的变化趋势

(4)RELIABILITY

为DataWriter设置RELIABILITY属性,可以使数据实现“可靠”的传输,当出现通信错误导致数据采样没有被接收到时,DataWriter会持续重传,直到所有数据被正确接收。

二、SOME/IP协议

1、本质:是定义在传输层(TCP/UDP)之上的面向服务的中间件

dds和someip比较,tcp/ip,网络协议,网络,自动驾驶,人工智能

2、概述

众所周知,在传统以太网中,OSI将以太网分层七层,但是汽车行业,只有5层,将OSI 5-7层统称为应用层,其中SOME/IP协议是一种应用层协议,运行在TCP/UDP传输协议之上。在以CAN总线为主的车载网络中,通信过程是面向信号的(除了诊断通信之外),这是一种根据发送者需求实现的通信过程,当发送者发现信号的值变化了,或者发送周期到了,就会发送信息,而不考虑接收者是否有需求。而SOME/IP则不同,它是在接收方有需求的时候才发送,这种方法的优点在于总线上不会出现过多不必要的数据,从而降低负载。

3、消息格式

dds和someip比较,tcp/ip,网络协议,网络,自动驾驶,人工智能

上图是SOME/IP数据的格式,除了最下面的Payload之外都属于SOME/IP的header,这里面的字段不一一介绍,只提一下Message Type [8 Bit],它有以下几种取值:

  • REQUEST (期待响应的请求)
  • REQUEST_NO_RETURN(不期待响应的请求)
  • NOTIFICATION(事件通知)
  • RESPONSE(响应消息)
  • ERROR(报错消息)

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

dds和someip比较,tcp/ip,网络协议,网络,自动驾驶,人工智能

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

NOTIFICATION又分为Event和Field 两类,这两类通知都需要首先使用SOME/IP-SD(Service Discovery)来进行服务订阅,然后才能发布通知。区别在于,Event是某一时刻的快照,只是事件通知,而Field除了事件通知之外,还具有Getter和Setter的功能,即对信息进行读写的操作。

Event类

dds和someip比较,tcp/ip,网络协议,网络,自动驾驶,人工智能

Field类

dds和someip比较,tcp/ip,网络协议,网络,自动驾驶,人工智能

四、SOME/IP-SD

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

dds和someip比较,tcp/ip,网络协议,网络,自动驾驶,人工智能

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

SOME/IP-SD提供了两种动态发现服务的机制。一种是Offer Service ,由server向网络上的小伙伴告知它所提供的服务;另一种是Find Service ,由client向别人请求可用的服务。

三、DDS与SOME/IP的区别

1、通信模式

SOME/IP是面向服务的通信,服务端将方法和数据以服务的形式暴露给其他节点。而DDS最大的特点是以数据为中心,侧重数据的分发,这种模式其实很像传统的面向信号的通信,只不过DDS更灵活,功能更强大。

2、应用程序接口

SOME/IP协议标准中没有定义标准API,所以基于不同SOME/IP实现的应用程序一般是不能互相移植的。DDS制定了多种编程语言的标准API,因此DDS应用程序理论上能够在不同的DDS实现上进行移植。

3、传输协议

SOME/IP支持UDP和TCP,此外,从AUTOSAR 4.3开始支持对大于1400字节的UDP数据进行分段传输,即SOME/IP-TP。DDS则使用前面提到的RTPS协议(实时发布订阅的有线协议), 大多数DDS(DDS-RTPS)实现至少支持UDP,TCP和共享内存。 RTPS实现了与传输无关的可靠性和分段协议,理论上可在任何传输形式之上运行。

4、安全性

SOME/IP本身并不提供数据安全的控制,所以它的安全性依赖于传输协议,比如基于IPsec或TLS上运行。DDS当然也可以在IPsec或TLS上运行,但这并不是首选的方式。DDS提供多种插件,实现了对安全性的更细粒度的控制,比如数据的加密传输,读写权限控制,应用程序身份认证等,并且DDS安全机制与传输协议无关,因此使用任何传输协议都不影响安全机制的实现。

5、QoS支持

DDS提供多种QoS策略,而SOME/IP本身不提供QoS的支持,因此只能在传输协议或者应用程序中实现。

6、资源需求

DDS在诸多方面提供了更丰富的特性,这自然就导致了在资源需求上,比如内存占用,比SOME/IP要大得多。

7、AUTOSAR平台支持

AUTOSAR Adaptive平台从2018年起开始支持对DDS的绑定,Classic平台目前还并没有支持DDS绑定的规划。而SOME/IP是针对汽车应用定制的,可以无缝部署在AUTOSAR Adaptive和Classic平台中。

区别总结:

SOME/IP

DDS

通信模式

面向服务(接收方有需求就发送)

面向数据(全局数据空间,都可以访问)

应用程序接口

没有定义标准API,具体的实 现中通常提供了C++ API

具有用于多种语言的标准API

传输协议

SOME/IP支持UDP和TCP

大多数DDS(DDS-RTPS)实现至少支持UDP,TCP和共享内存

安全性

安全性依赖于传输协议

DDS安全机制与传输协议无关,且可用插件来提高安全性

QoS支持

不提供QoS的支持

多种QoS策略

资源需求

需求大

需求小

平台支持

可部署在AUTOSAR Adaptive和Classic平台中

仅AUTOSAR Adaptive文章来源地址https://www.toymoban.com/news/detail-765473.html

到了这里,关于DDS和SOME/IP的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【网络原理】TCP 协议中比较重要的一些特性(二)

    目录 1、TCP 状态转换 1.1、三次握手状态 1.2、四次挥手状态 2、滑动窗口 3、流量控制 TCP 状态和“线程状态”是类似的概念,用于描述 TCP 连接过程中正在执行什么操作。 TCP 服务器和客户端都有一定的数据结构来保存连接信息,而这个数据结构中有一个属性叫“状态”,操作

    2024年03月15日
    浏览(51)
  • 【网络原理】TCP 协议中比较重要的一些特性(三)

    目录 1、拥塞控制  2、延时应答 3、捎带应答 4、面向字节流 5、异常情况处理 5.1、其中一方出现了进程崩溃 5.2、其中一方出现关机(正常流程的关机) 5.3、其中一方出现断电(直接拔电源,也是关机,更突然的关机) 5.4、网络断开 和流量控制一样,也是用来限制发送方的

    2024年03月18日
    浏览(56)
  • 【网络协议】TCP/IP 协议

    1、TCP/IP 模型 TCP/IP 协议模型,包含了一系列构成互联网基础的网络协议,是 Internet 的核心协议。 基于 TCP/IP 协议栈可分为四层或五层,转换为 OSI 参考模型,可以分为七层,分别如下图所示: 通常我们所说的都是基于 TCP/TP 五层模型。 2、TCP/IP 协议栈每一层功能 应用层:H

    2024年02月12日
    浏览(65)
  • 网络编程——TCP/IP协议族(IP协议、TCP协议和UDP协议……)

    1、IP协议简介 IP协议又称 网际协议 特指为实现在一个相互连接的网络系统上从源地址到目的地传输数据包(互联网数据包)所提供必要功能的协议,是网络层中的协议。 2、特点 不可靠 :它不能保证IP数据包能成功地到达它的目的地,仅提供尽力而为的传输服务 无连接 :IP 并不

    2024年02月13日
    浏览(75)
  • 【网络】- TCP/IP四层(五层)协议 - 网际层(网络层) - 网际协议IP

    这篇文章主要介绍TCP/IP协议的网际层,上一篇文章介绍了数据链路层,数据链路层的主要作用是 在互连同一种数据链路的节点之间进行包传递 。而网际层的主要作用是 实现终端节点(即使不在同一网络)的通信 。 网际层 有时也称 网络层 ,但由于网际层的作用中包含了“实现

    2024年02月06日
    浏览(59)
  • Java中网络的基本介绍。网络通信,网络,ip地址,域名,端口,网络通信协议,TCP/IP传输过程,网络通信协议模型,TCP协议,UDP协议

    - 网络通信 概念:网络通信是指 通过计算机网络进行信息传输的过程 ,包括数据传输、语音通话、视频会议等。在网络通信中,数据被分成一系列的数据包,并通过网络传输到目的地。在数据传输过程中,需要确保数据的完整性、准确性和安全性。常见的网络通信协议有T

    2024年02月10日
    浏览(71)
  • 网络:TCP/IP协议

    1. OSI七层参考模型        应用层         表示层         会话层         传输层         网络层         数据链路层         物理层 2. TCP/IP模型         应用层         传输层         网络层         数据链路层         物理层 3. 各链路层对应的名称    

    2024年02月15日
    浏览(78)
  • TCP协议IP网络音柱

    SV-704CT TCP协议I P网络音柱 一、描述  SV-704CT是深圳锐科达电子有限公司的一款壁挂式 IP网络有源音柱 ,具有10/100M以太网接口,可将网络音源通过自带的功放和喇叭输出播放,其采用防水设计,功率可以从60W到120W。SV-704CT作为网络广播播放系统的终端,可用于需要广播播放的

    2024年02月07日
    浏览(52)
  • 【网络原理】TCP/IP协议

    目录 1.应用层 2.传输层(核心问题) 2.1 UDP协议 2.1.2 UDP的特点 2.1.3 基于UDP的应用层协议 2.2 TCP协议(重点内容) 2.2.1 TCP/IP 协议含义 2.2.2 TCP协议端格式: 2.2.3 TCP的特点 2.3 TCP原理 2.4 确认应答机制(安全机制) 2.5 超时重传机制(安全机制) 2.5.1 数据直接丢了,接收方没

    2023年04月13日
    浏览(54)
  • SOME/IP协议详解[2 SOME/IP通信机制]

    目录 2.1 SOME/IP 传输层协议 2.2 SOME/IP-SD服务发现(Service Discovery) 2.2.1 FindService OfferService服务查找 2.2.2 Subscribe SubscribeACK服务订阅 2.3 远程进程调用(RPC) 2.3.1 Request/Response 2.3.1.1 规范标准 2.3.2 FireForget 2.3.2.1 规范标准 2.3.3 Notification Event 2.3.3.1 规范标准 2.3.4 Field 2.3.4.1 规范标准 2.3.5 四

    2024年02月13日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包