NDN-over-ZigBee:基于ZigBee的命名数据网络外文翻译资料

 2021-12-13 09:12

英语原文共 16 页

NDN-over-ZigBee:基于ZigBee的命名数据网络

摘要

命名数据网络(NDN)是一种允许使用数据的自然名称而不是主机的逻辑地址进行通信的新架构。近年来,一些研究项目证明了NDN能够支持新兴的物联网应用,如家庭自动化,智能城市和智能农业应用。本文旨在将NDN技术与ZigBee技术集成,为需要无线传感/驱动能力、移动性支持和低功耗的物联网应用提供更好的支持。为此,我们提出了基于ZigBee的命名数据网络的设计,我们通过三种不同场景的实验展示了NDN在物联网环境中的适用性和易用性。 选择ZigBee的原因是因为它是一个低功率无线个域网(WPAN)的网络规范并且支持大量节点。

关键词:命名数据网络,ZigBee,IoT

1.介绍

物联网(IOT)主要由智能嵌入式设备构建,在连接、移动支持和高效电源管理方面带来了新的需求。从通信的角度来看,这些设备主要通过TCP/IP协议连接。然而,越来越清楚的是,这些(传统)协议在本质上远远不能解决物联网平台问题,例如处理复杂和动态的移动网络、加强通信和数据交换的安全性,或将信息与其位置有效地连接起来,以便轻松发现信息。

与Internet协议(IP)不同,命名数据网络(NDN)是一种新的体系结构,它建议使用自然名称而不是主机的IP地址访问数据。这种机制有助于应用程序开发,因为设计不考虑主机的网络位置。此外,这种新的体系结构可以支持大量节点的移动性使得它与物联网需求非常兼容。而且,NDN中的安全性是基于数据的,这使得它能够更灵活地支持不同的安全需求。

为让我们更清楚地看到NDN的优势,我们假设我们需要为水平衡管理这个大项目设计一个通讯方案。水平衡的目的是估计一个或多个水源(如大坝)周围饮用水的摄入量和消耗量。这种平衡是根据降水量、人口消耗量、地面湿度等计算得出的。

这个例子中一个重要的问题就是在同一个解决方案中有不同的无线技术。事实上,在现实的设计中,当一个无线标准和另一个无线标准产生冲突时,利用某个无线标准(及其相关设备)来架构某一部分会更好。例如,ZigBee广泛应用于无线传感器网络(WSNS),因此,将其用于降水监测和地面湿度是一个明智的选择,因为它的覆盖范围是确定已知的;但是由于每个传感器(如用水表)都是相互独立的,并且他们的通讯范围十分广泛(公里),它更适合利用LoRaWAN这样的解决方案来管理人口消费情况。此外,每个标准都有其安全机制和明显的缺陷,所涉及的实体有会有不同的安全要求。所有的技术挑战都集中于如何整合这些数据碎片,以提供一个同一切可靠的数据采集方法。安全机制还必须在使用的协议之上统一,以确保从传感器到应用程序的端到端安全。在这种情况下,我们可以用命名数据网络(NDN)这种方式来优雅并高效地传递重要消息。

  • 允许应用程序统一请求数据,不管它是由ZigBee、Lorawan还是其他技术提供的。NDN的方法自然具有这一特性;每个数据都可以通过其名称进行访问,而无需在服务器、应用程序和传感器之间建立和保持显式连接。
  • 为了提供等效的特性,基于主机(基于IP)的体系结构需要一个中间件来将每个数据绑定到相应的传感器。中间软件增加了协议开销、复杂性,并由于额外的处理而导致通信延迟。
  • 允许应用程序检查每个感应值的来源,即使传感器离线、更换或已加入另一个本地网络。而由于在应用程序检索数据以检查其真实性时,传感器必须保持可使用的状态,故基于主机的方法不能本机提供这种安全性。基于主机的体系结构还需要中间软件和服务器来实现此功能。相反地,NDN允许在任何时候检查每个数据包的真实性,即使在使用数据时传感器不可用;每个数据包中所携带的强制签名和相关的信任模型使这种验证成为可能。
  • 重复使用相同的数据。我们可以在很多物联网场景中观察到应用程序在不同的时间要求相同的内容。在基于主机的体系结构中,每个数据都在一个包含两个主机(源和目标)的包中,因此不可能对不同的请求重用同一个包。NDN中的数据包独立于任何源地址或目标地址。这允许缓存数据包以满足进一步的请求,并预取一些流行的数据包以更快地满足请求。

另一方面,ZigBee是为满足嵌入式设备需求而设计的通信协议。它提供低功耗,并支持许多具有多种不同拓扑结构的长距离设备。目前,许多物联网解决方案的成功证明了ZigBee规范及其兼容硬件的有效性。因此,如果我们为NDN提供ZigBee特性,这将使得物联网应用程序的开发更有吸引力。

在本文中,我们建议利用NDN和ZigBee的优势,并将它们结合起来,为物联网应用开发迈出新的一步。实际上,我们提出了一种实现,允许在ZigBee协议上进行NDN通信,作为对NDN的第2层支持。由于我们的实现可以在任何带有NDN模块(NFD)的Linux发行版上运行,我们相信它将允许NDN针对60个更大的设备和网关集,并覆盖更多的物联网应用程序。

本文的组织结构如下。第2节简要介绍了NDN体系结构,概述了无线支持及其与NDN的集成。第3节详细说明了之前提出的基于ZigBee的命名数据网络层。第4节描述了为评估我们的实施而进行的性能测试,并讨论了获得的结果。第5节以未来展望来总结我们的工作。

2.背景

2.1 NDN概述

NDN以信息网络为中心的模式(ICN)为基础遵循着以内容为中心的网络(CCN)体系结构。NDN的基本原理是识别数据而不是其拥有者。虽然TCP/IP体系结构基于源地址和目标地址来识别主机并确保通信,但NDN使用的是数据的自然名称。NDN的沙漏结构在其细腰中包含了传统上由更高网络层提供的所有相关网络操作(见图1)。例如,当在IP体系结构的传输层和应用层中实现时,在NDN体系结构的网络层中支持流控制和安全机制。

图1 NDN和IP的体系结构比较

数据命名网络定义了两种类型的包:内容请求包和内容数据包。每个NDN节点维护三个数据结构以确保其操作:FIB(转发内容库)、PIT(挂起内容表)和CS(内容存储)。通信是由使用者驱动的,这意味着它是由使用者(即请求数据的人)发起的。因此,NDN应用程序可以扮演两个角色:如果应用程序发送内容请求数据包,则扮演使用者角色;如果应用程序通过发送数据包的方式来响应传入的内容,则扮演制造者的角色。

NDN数据包不携带任何源地址或目标地址。内容的转发完全依赖于名称。当一个数据包到达一个节点时,检查PIT,并将该数据包转发给85个相应内容的所有源接口或应用程序(在NDN中抽象为“面”)。之后,节点将传入的内容从PIT中丢弃,并在其CS中保留一段时间最近转发的数据包。因此,在转发传入的内容之前,节点首先检查请求的数据在其CS中是否可用。如果找到了相应的数据,它将作为响应发送回,而不进一步转发内容。NDN的命名是没有限制的,因为它的名称空间是分层的且无边界的,并且路由器将名称作为以“/”为边界的组件序列来处理。主机的移动性不会影响通信,因为内容和数据的名称是保持连贯的。

NDN专门设计用于支持新的通信模式和新兴的应用程序的一款协议,如物联网专用的应用程序。许多研究项目在不同的领域并以不同的方式证明了NDN是一种有希望构建物联网应用程序和全球物联网平台的体系结构。

2.2 NDN与无线通讯

IEEE802标准是一套针对有线和无线网络的网络(物理)标准。众所周知的无线技术协议包括802.11(WiFi)、802.15.4(ZigBee)和802.15.1(蓝牙)。

归功于其令人满意的带宽和成本,WiFi很好地满足了局域网的要求,并广泛应用于企业和家庭。但是,也有一些网络类型专注于其他方面,比如低功耗、大量节点和长距离。好在许多物理规范都是为支持这些方面而设计的。例如,蓝牙是为低功耗无线个人区域网络(WPAN)设计的,它允许1-2 MB/s的数据速率,并具有可接受的功耗(BLE)和复杂性。 其他的专用网络也提出了它们的通信规范,例如货车专用的DSRC和超长距离的3G/4G。此外,最近出现了专门为物联网设计的新无线技术,如Sigfox和Lorawan。

当前,我们的重点在物联网和无线传感器/执行器通信。虽然这种通信一般不需要大量的带宽,但是它需要一个高效的电源管理方案,一个较低的生产成本以及需要一个能够用简单的方式支持大量移动节点的办法。为了满足这些要求,ZigBee被设计为WPAN的网状网络规范。由于大多数ZigBee设备由电池供电,因此它主要设计用于支持长距离的大量节点/传感器的情形,并保持较低功耗。这使得Zigbee与WSN通信和物联网密切相关。

综上所述,图2根据一些重要的评估标准给出了一些包括IOT在内的相关的无线技术的对比情况。

图2无线技术比较

如上所述,NDN是一种相当具有发展前景的物联网和移动通信网络体系结构。许多基于NDN的物联网架构必须使用专有协议来管理传感器/执行器,而不是在整个解决方案中使用NDN。因此,NDN与ZigBee的集成可能会产生奇妙的化学反应,它将使NDN能够涵盖更多新兴的应用程序,如家庭自动化、智能城市、智能农业等。此外,ZigBee的设计仅仅用于感知和执行(例如通过XBEE模块),该特殊功能可以与NDN集成,来产生本地的传感/执行能力。

NDN协议栈的实现现在可用于基本支持IEEE802.15.4(ZigBee)规范的RIOT-OS(NDN-RIOT);但是RIOT-OS是一个针对一组有限的设备的专业的平台,同时我们也相信ZigBee更广泛的支持将是有益和有用的。例如,在运行在通用平台(如Linux)上的现有NDN应用程序中,可能需要使用ZigBee作为无线支持。

至于其他无线规范,无线网络和3G目前由NDN实现支持,并且还提出了通过蓝牙(称为NDNBLUE)实现NDN的方式。

通常,L3协议与低速无线网络集成的主要任务是报头压缩(例如6lowpan)。幸运的是,由于NDN数据包不是基于预先定义的字段大小(与IP不同),因此可以自然地设计NDN集成:它足以禁止某些不相关的字段,并限制NDN名称中组件的大小和数量。然而,NDN通信是由使用者驱动的;这意味着只有使用者才能启动通信。由于低速率无线协议也有通信限制(如传感器的睡眠模式),集成必须找到一种采用NDN拉动方式的通讯模式的无线协议。例如,在Lorawan的A级设备不能被网关立即访问;这个特性需要仔细选择如何将NDN与Lorawan结合起来。在ZigBee的例子中,我们做了一些设计选择,将在下一节中详细描述。

在任何情况下,集成着NDN的低速率无线协议都可以在构建全球物联网平台中发挥重要作用。设备地址将仅用于本地通信,而全局通信和安全将根据内容名称来确保。这将允许使用异构无线技术生成绑定到其生产商(传感器)的相同数据包格式。此外,通过将分组复用与低速率无线协议的小报头相结合,网络传输的开销将比基于IP的解决方案少得多。由于NDN安全是建立在内容之上的,因此我们认为将安全模式从通道转移到内容可以弥补底层低速无线协议的安全缺陷。

但是,由于低速率无线协议的有效负载很小,因此NDN集成的第一个规则是限制名称长度。这将使名称表达性降低,不过通过编码机制使这些简短的名称携带更多信息。转发策略的选择也是有限的:虽然NDN为内容的转发提供了很多选择接口的可能性,但是无线节点只能重新传播接收到的内容,这增加了发生冲突的概率。但是单跳通信(设备网关)的情况不受太大影响。

低速率无线协议也会限制集成的可能性。例如,Lorawan中有限的包数和有限的有效负载,以及BLE中的少量节点,都会造成很多限制。幸运的是,如图2所示,ZigBee技术为NDN集成提供了令人满意的平衡特性,这将在下一节中描述。

3. 基于ZigBee的命名数据网络的设计

基于上一节给出的原因,我们选择使用ZigBee协议来支持NDN的无线通信。为了实现这一点,我们开发了一个软件层并添加到NDN模块中。这个层的作用是截取具有特定前缀名的内容,并通过zigbee发送它们。我们决定不将这一层集成到NDN软件模块中,主要原因有两个:第一,NDN模块(称为NFD)的实现正在开发中,可能会发生重大变化并导致稳定性问题。其次,用于ZigBee通信的硬件模块(称为XBee)提供用于处理较多复杂内容的物联网应用的传感器和执行器的I/O管脚;因此,由于NDN模块已成为完整的网络协议,因此不推荐在NDN模块中集成I/O管脚管理。图3描述了集成ZigBee层后的软件和硬件层堆栈。

图3基于ZigBee的命名数据网络节点的软件和硬件层

3.1软件结构

简单的NDN应用程序可以充当信息的生产者或信息的消费者。因此,运行应用程序的NDN节点通常要么发送内容以获取数据(消费者),要么等待内容并以数据响应(生产者)。这种行为引导我们将ZigBee层划分为两个独立的过程:第一个过程管理发送内容和获取数据(发送过程);第二个过程接收传入内容并将数据发送回(接收过程)。这样,每个节点根据其角色只能使用这两个过程中的一个:消费者的排放过程(发送数据),生产者的接收过程(接收数据)。这种设计选择为每个节点提供了一个轻量且不太复杂的基于ZigBee的命名数据网络层,并避免了硬件访问冲突。当然,路由器或网关节点可以被视为生产者,因此它使用接收过程。

为了处理通信错误,发送过程可以检测到远程ZigBee硬件何时没有响应。另一方面,当远程应用程序没有响应时,接收过程可以检测并通知信息发送过程。通过这种方式,我们可以用使用基于ZigBee的命名数据网络层来判断我们的NDN消费者应用程序是否可以识别远程ZigBee硬件或远程应用程序有没有响应。

3.2传感器管理

除了ZigBee通信管理之外,基于ZigBee的命名数据网络层还能够管理连接到ZigBee硬件模块的传感器。事实上,除了接收内容之外,接收过程还可以读取硬件模块管脚的状态,对每个值执行个性化处理,并通过另一个网络接口(以太网、WiFi

资料编号:[5517]

原文和译文剩余内容已隐藏,您需要先支付 20元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。