直接简洁在通信协议中的重要性

日期:2023-06-22
我们经常被伟大演说家的雄辩和花言巧语所吸引。有些人甚至可以被他们的演讲催眠

作者:Angelo Corsaro博士,ZettaScale Technology首席执行官/首席技术官

当谈到通信协议时,更重要的是关注简洁和直接,因为任何不是传达信息所必需的东西都是浪费时间和精力。
换句话说,如果我们在交流时从信息理论的角度思考,那么我们希望确保信息的水平,即熵最大化。这需要发送最小数量的字节来传输给定的信息。在本文中,我们将介绍Zenoh协议,并解释它如何解决云对物通信中的关键挑战,并在任何现有协议之外显著降低能耗。


图1:关键协议消息的比较线路开销分析

Zenoh概述

Zenoh是一个开源协议,由ZettaScale团队设计。它在业界引起了很大的兴趣,因为它是唯一一个提供统一抽象集的堆栈,用于管理互联网规模的运动数据和静止数据。
具体来说,Zenoh是一个Pub/Sub/Query协议。它为发布/订阅以及地理分布式查询(静态数据)提供了位置透明的抽象,这通常在命名数据网络(NDN)协议中可以找到。Zenoh可以在数据中心级硬件和网络以及微控制器和低功耗网络上高效运行并提供一流的性能。
Zenoh的发布/订阅原语为从微控制器到数据中心的数据移动提供了有效的支持。对地理分布式查询的支持允许通过互联网检索存储在异构存储中的数据,例如数据库、文件系统和云存储。最后,值得强调的是,Zenoh的所有原语都对数据名称和名称表达式进行操作——换句话说,位置对用户来说是完全透明的。
Zenoh支持任意通信拓扑(如图所示),允许通过任意连接图、代理和路由通信进行对等通信。
如图所示,客户端通信可以由对等端以及基础设施节点(即路由器)进行调解。
最后,Zenoh只为用户数据增加了5字节的开销,从而使其成为迄今为止市场上最高效的协议。与DDS、MQTT和OPC-UA等其他高级协议相比,这一点尤其明显。

能源效率
当我们考虑能量时,从两个维度考虑它的使用是有用的:操作设备所需的能量和设备通信所需的能源。在过去的几年里,我们的设备运行所需的能源有了重大改进,其中一些设备用于通信的物理层也有了一些改进。一些值得注意的例子包括个人和广域低功率网络。
如上所述,已经特别注意减少设备所使用的能量。也就是说,值得指出的是,通信比计算更消耗能源。这是一个事实,我相信你每天在使用手机时都会经历,并见证浏览互联网消耗电池的速度。
鉴于通信是非常节能的,我们有必要分析我们可以做些什么来减少它。为我们的通信堆栈提供一个非常节能的物理和数据链路层就足够了吗?不幸的是,答案是否定的。让我们了解原因。
大部分能源浪费来自数据链路之上以及通常传输层之上使用的协议。应用使用MQTT、XMPP、HTTP和DDS等协议进行通信。这些协议具有不同程度的冗长性,并且在许多情况下,所支持的通信模型会导致几种间接性。

理解问题
让我们以MQTT协议为例,该协议已被广泛用于物联网和设备连接。虽然这个协议一直被认为是轻量级的,但它实际上并不像声称的那样高效。首先,由于它没有任何动态发现,即使没有人对它感兴趣,它也会导致数据在网络上发送。此外,如图所示,与Zenoh等协议相比,它的数据消息有相当大的开销。此外,这种开销与主题名称线性相关,这使得当命名方案没有得到严格控制时,MQTT流量很难预测。
MQTT带来的另一个挑战是,它只支持客户端到代理的通信模型。因此,即使需要交换数据的设备彼此靠近并且具有潜在的直接网络连接,数据交换也必须由代理进行中介。大部分时间都部署在云上的代理。这种通信模型的结果是,两个设备之间共享的数据不会只传输单跳。相反,由于MQTT所支持的通信模型的限制,它必须跨越大量的网络元素并行进数千公里。很明显,你可以看到这是如何造成巨大的能源浪费的。

解决问题
今天使用的许多协议都是20年前或更长时间前设计的。与此同时,技术领域以及用例也在不断发展。这使得这些协议无法满足现代应用的全方位需求,尤其是与边缘计算和云到设备连续体相关的应用。
Zenoh旨在解决这些应用类别带来的挑战。在Zenoh中优化的一个方面是能量最小化。这是通过确保最小的导线开销来实现的。


2Zenoh协议栈

如上所述,对于偶尔发送的数据,Zenoh线路开销为5字节。当产生足够的数据以允许批处理时,每个用户数据样本的开销往往为约2字节。此外,Zenoh能够直接在数据链路上工作(如下图所示)。这进一步允许应用将导线开销减少到最低限度。事实上,低于数据链路需要基于硬件的解决方案。
Zenoh帮助最大限度地减少能源的另一种方式是确保应用可以在网络拓扑和连接允许的情况下使用对等通信直接交换数据。此外,即使在无法实现直接网络连接的情况下,Zenoh也可以通过利用对网格的支持来保持本地通信。
最后,为了避免在没有人感兴趣的情况下数据在网络上流动,Zenoh配备了一个极其高效的发现协议,确保只有在网络上有人感兴趣时,数据才会离开主机。

结束语
总之,重要的是要理解沟通是非常有活力的。仅仅通过通信网络的物理层来减少能量消耗是不够的,因为所建立的更高级别的协议对能量不友好。Zenoh是一种新颖的协议,旨在满足边缘和云到微控制器应用的需求。其设计的结果之一是有助于最大限度地减少能源消耗。
www.zettascale.tech
 


订阅我们的通讯!

电子邮件地址