ZigBee整合IP网络建构无线感知网络新骨架

本文作者:admin       点击: 2007-10-09 00:00
前言:
无线感知网络的狂热与现实

早在数年以前,“无线感知网络”这个概念刚刚开始形成的时候,这个新技术被认为可以应用在各式各样的场合;可以适用于工业控制,医疗保健,家庭自动化,还有其它许许多多充满期望的愿景。然而,过了数年的时间,我们到现在为止都还没有在市场上看到一个可以被视为“典范”,或是“杀手级”的无线感知网络应用。回头看看过去数年的发展,我们不难发现在整个芯片产业、以及服务整合产业之中,对这个新技术都有过度乐观估算的现象;熟知这一项技术的工程师以及市场分析师们,会告诉你各式各样复杂而令人头昏的理论来解释这个现象。在本文中我们不打算去深究这些原因;我们将专注于讨论其中一项主要的因素:在现实世界布建一个无线感知网络所需要花费的成本。
任何一种无线感知网络,都存在各式各样的限制。在一个环境受到严密控制的实验室中,我们可以很简单的建构出一个理想的网络,让网络完全按这我们想要的方式扩张,让封包按照我们想要的方式传送。然而,当我们进入现实世界,我们会受到各式各样的环境因素限制:墙壁、楼层、阶梯、门廊、电力线、甚至水管。这些看似极端琐碎无聊的东西,对于整个无线信号环境会带来完全超出预期的影响。在大多数的布建案中,想要完全依靠无线技术来建构一个能够传递数据的感知网络,根本是一件不可能的任务。因为这个限制,无线感知网络的规模一直无法突破瓶颈。

在本文中,我们将深入探讨无线感知网络在现实世界布建中会碰到的问题,同时我们将介绍一种新的跨网络整合技术;这种技术目前已经融合入ZigBee无线通信协议的标准中。藉由这种新技术,我们将会使用一种全新的视点来评估无线感知网络的布建这件事。

无线感知网络的本质

在现实世界中,要布建一个使用ZigBee通信协议的无线感知网络会有多困难?要了解这个问题,首先我们必须先了解无线感知网络的本质。
无线感知网络的基本概念是3低:耗电低、传输距离低、而且传输速度也低。装置在设计的时候亦是以低成本为主要考虑。整个无线感知网络系统必须依靠大量的布建节点,各节点的无线传输范围互相涵盖,如此才能建构出一个大型的服务范围。在网络中,数据以点对点自由传输(ad-hocs)的方式,一点一点传输至目的地。

这样的需求在实作上,通常是由一些具有动态调整特性的路由选径算法来达成。举例来说,最常见的自组网络随传距离向量算法(Ad-hoc On-Demand Vector,AODV);这种算法被实作在许多不同的通信技术中,包括ZigBee。AODV是一种具备动态调整路径的技术,他执行的方式就是将选径封包用广播方式淹没(Flood)整个网络,藉此搜寻一条往目标节点的最短路径。
显而易见的,这种路由选径方式在某些特定的应用情境中,是很没有效率的做法;尤其是当网络的涵盖范围越变越大的时候。同时,AODV本身只是路由选径技术,并不包含对于网络“管理”方面的功能。对于一个需要更严谨的管理功能的无线网络,必须另外寻找一套更加完整的网络通信行为模式,包括网络的形成、装置的认证、以及装置的寻址管理。

ZigBee通信协议所采用的网络通信行为模式即是一种以树状结构为基础的技术。在这种网络模式中,每一个节点必须按照一定的顺序依次“加入”网络。每一个节点的网络地址是在加入网络的同时,依据他在网络中的“位置”计算而得知。这样的规则相当单纯:整个网络首先必须由一个“根节点”(Coordinator)形成;在根节点建立起整个网络之后,其它的节点便会试着与根节点要求建立网络联机。

在ZigBee网络中,封包可以根据目的地址计算出下一个节点该往哪边传输。这个网络行为模式相当单纯且易于实作,然而这种方式带来最直接的影响,就是网络地址空间的浪费。ZigBee通信协议预设整个网络是一个“平衡的”树状结构,亦即每个节点都应该要能接受预设的最大联机数量,以此一假设为基数进行地址的计算与分配。然而IEEE 802.15.4本身使用的动态网络地址只有两个字节,亦即整个网络最大不能超过65536个节点,包括实际存在的节点以及“可能会”存在的节点。在这种条件限制下,无论是每个节点可接受的最大联机数量,以及整个网络的最大阶层数量,都会受到很大的限制。

现实世界布建的各种问题

在现实世界布建时,基本的规则是:节点的无线范围必须互相涵盖。这项要求在开放空间或许很容易达成,但是在复杂空间中,这是很困难的事。建筑为了有效率的使用空间,会用各式各样的隔间来划分走道与房间。建筑的材料本身有时候会遮蔽无线信号,因此实际上能够布建的地点受到限制。在大多数的布建案中,装置都被局限在人的活动空间中;无线信号的轨迹实际上也是依照走道、门廊、楼梯的路径。这些问题通常会导致两种常见的问题:长链状网络,以及传输瓶颈。

长链状网络是最常发生的布建问题,特别是在复杂的环境中,例如办公室、学校、医院等地。在这些环境中,布建的区域通常较大,同时根节点位置的选择通常不是依照无线特性或拓璞结构等技术因素;实际上在大部分的布建案中,决定根节点位置的,是使用者的喜好、将就现有装置、以及环境的美观等等非技术因素。

为了能够弥补这些限制,额外的中继节点必须布建在系统中,以维持整体网络能够互相涵盖。这样会产生两个额外的效应:首先,额外的网络深度会限制每个节点能够容许的联机数量。因此整体网络的规模会受到限制。其次,越大的网络深度,表示更久的延迟,以及更高的封包遗失率。如果系统的应用情境无法容忍封包的遗失,逾时重传以及流量管制等机制是必要加入系统中。如此一来,网络整体的效能将会大幅下降。
传输瓶颈是另外一个常见的问题。这个问题通常发生在多个感测节点必须依赖单一一个中继节点来转发资料的状况。

图2显示一个典型的传输瓶颈问题。在这个情境中,感测节点被布建在数个彼此分隔的独立空间中,例如教室或是多楼层的布建。多个传感器被布建在一个广大的空间中,例如大会议室,然后这些感测节点必须依赖单一一个节点来转发数据,例如安装在会议室门框上缘的路由器。如果感测节点的数据发送很频繁,例如位置追踪等应用,中继节点的数据壅塞状况就会很明显。使用流量控制与缓冲等机制有助于改善封包壅塞的状况,但是这些节点使用的 MCU 通常不会具备太高的运算能力以及储存空间,通常上限只有10~20个封包的空间。超出这个容量,后续的封包还是会被舍弃。

对于这些现实布建会发生的问题,最有效的解决方案就是将网络拆分成数个较小的区快。每一个区块可以被视为是一个小型的独立网络,因此在这些区块中,比较容易形成“平衡的”网络拓璞。在某些应用情境中,会将异质网络终端点与各区块的根节点连接,也就是在物理与逻辑上都把一个大型网络切分成数个小网络。网络与网络之间的数据传输,全部依靠异质网络上的应用程序来转发。这样的解决方案通常会使用一些现成的转换装置,例如RS232到Ethernet的转接器。

在图3中,我们可以明显看出两种不同架构的差异。数据路径长度明显降低,同时整体网络效能也大幅提升。这样的解决方案在固定的应用情境中可以达到很理想的效能,然而这个解决方案同时存在一个问题:网络系统的功能会难以扩充。上述的解决方案需要依靠应用程序将接收到的封包转换成特定的序列传输数据。当有新的应用加入这个网络中时,区块根节点如果没有相对应的处理程序(Profile)存在,将无法转发这种封包。这个问题会发生的主要原因是由于依赖应用程序层级来进行封包转发,如果我们需要一个更加通用的解决方案,我们要从更底层着手。

ZigBee Bridge

ZigBee在2005年底,正式把整合异质网络来克服各种实际布建问题的概念纳入ZigBee通信协议的发展蓝图之中。Gateway Workgroup(GWG)是目前负责制定相关应用规格的组织,日前该组织公布了一份新的标准:ZigBee Bridge。

ZigBee Bridge与传统依靠应用程序层级来进行封包桥接的做法不同,ZigBee Bridge在第2层 data-link层进行封包交换。这样的特向可以让一个 ZigBee Bridge 完全不需要依靠使用者自动的应用程序,便可以交换所有类型的封包。因此ZigBee Bridge可以视作是一个单纯的“路由器”。
图4显示 ZigBee Bridge的系统架构。一个新的封包交换层介于 Network层以及MAC层之间,原始数据在这一层进行交换,对于上层的通信协议不会造成任何干扰,上层的通信协议也不需要任何修改便可正常工作。桥接层可以分成3个不同的功能区块:桥揭路由层(Bridge Routing Layer),桥接装置层(Bridge Device Layer),以及因特网层(ZigBee IP Transport Layer)。

桥接路由层负责解析外送的封包,依照封包的目的地地址,配合预先制定的对应表,将封包分派至 无线电界面或是IP网络界面。桥接路由层的功能存取界面设计成和802.15.4完全相同,亦即上层 Network层完全不需要进行任何修改就可以与桥接路由层界接。

桥接装置层负责封包数据的封装与解封,同时负责维持IP网络的联机。桥接装置层同时负责提供类似802.15.4 MLDE与MLME的数据与管理服务,让桥接路由层呼叫取用。包括建立联机、传输与接收封包、以及模拟Scan、Associate等动作。

因特网层负责实际的封包传输。根据ZigBee Bridge标准规范,预设使用的传输协议是UDP/IP,IANA分配的通信端口17755。ZigBee Bridge也支持透过TCP/IP的封包传输形式,不过由于TCP/IP需要维护联机,对于一般低成本装置来说,会耗费过大的系统运算资源。因此TCP/IP的支持在目前被列为是选择性支持。

ZigBee Bridge 应用于现实世界布建

ZigBee Bridge最早的构想,是使用IP网络来连接一个PAN里面的两个节点,藉此制造一个封包的“虫洞”,或者用来连接两个实体隔离的PAN。但是很快的,研究人员发现了ZigBee Bridge另外一种用处。ZigBee Bridge的桥接层,在设计上被视为一个实体抽象层;上层不需要知道数据到底是从 RF 传输还是从IP传输。理论上,这样的结构可以延伸发展,以包含更多不同的界面;或是反过来,将某些实体界面从架构中抽离。由于有这样的特性,我们可以建构一个只包含IP界面的装置,或者换句话说,一个不包含无线界面的ZigBee 装置。

这种不包含RF界面的ZigBee装置,可以完全由软件构成,不再受到现有的2.4GHz无线传输平台限制。这个“装置”可能是一个在UNIX服务器上运作的 daemon,或是在 Windows服务器上运作的服务。我们甚至可能让多个不同的虚拟装置同时存在于一台主机之上。
“虚拟 ZigBee 装置”为现实应用情境的发展带来很多的可能性。使用者程序现在可以使用正常的 IPC(Inter-Process Communication)管道与ZigBee装置进行数据交换。应用程序也可以在任何一个有IP网络联机的装置上执行,不必局限于布建的现场。

利用这项技术,我们得以描绘出一个新的系统布建方式。首先我们藉由Ethernet、HomePNA、WiFi 甚或GPRS建构一个IP网络骨干。接下来我们根据功能或是实际无线的环境条件,将整个无线感知网络划分成多个小区块。每一个小区块安装一个ZigBee Bridge装置,连接至IP骨干网络。最后,我们架设一台服务器,上面执行虚拟的ZigBee根节点,藉此形成整个ZigBee网络。在这样的架构中,所有的ZigBee Bridge都被视为是虚拟根节点底下的第一层Router,数据首先透过IP网络传至Bridge,在透过无线信号传至小区块里面的无线节点。

Case Study: AMR 读表系统

我们最后用一个范例当作结论。这个范例是一个AMR系统,亦即自动读表系统(Automatic Meter Reader),例如瓦斯、电表、水表等。近年来这是无线感知网络领域的一个热门主题。AMR系统的最大挑战就是:必须实际布建在住宅建筑中,网络的规模取决于建筑物本身。一个5层楼的公寓规模相对较小且容易执行,但是一栋10层楼以上的大厦就完全是另外一回事了。
图5示一个典型的AMR系统布建方式。在这个例子中,系统被布建在一栋12层楼的大楼中,每层楼有4户需要安装。楼板本身会阻隔无线信号,因此必须沿着楼梯天井或是外墙布建中继节点,以确保数据路径的畅通。然后数据搜集/显示装置被安装在大楼1楼的入口处,以便于瓦斯或者电力公司人员撷取资料。从1楼到12楼,总共有11个阶层,亦即每个节点可接受的联机数量限制在两个以下。如图所示,最长的路径深度是15层,已经到达ZigBee规格的最大上限。如果楼层数量比12层更多,或是每层楼的户数比4户更多,整个系统就无法形成网络。

若使用ZigBee Bridge,整个网络将会有完全不同的架构。如同图7示,每个楼层被划分成一个区块,12个ZigBee Bridge装置透过骨干网络直接与虚拟ZigBee根节点建立联机,每层楼的4个传感器直接与Bridge装置进行联机(只要无线信号能够涵盖)。亦即在这个网络中,整体的最大深度只有2(或 3)。与传统的布建方式相比,差异非常明显。

结论

ZigBee Bridge技术提供了一个符合标准的异质网络整合解决方案。同时也提供了一个全心的无线感知网络布建方式。在这种新的架构中,无线感枝节点被划分成多区块,每个区块藉由ZigBee Bridge装置与IP网络与数据骨干连结,同时一个完全由软件组件构成的虚拟 ZigBee根节点负责整个网络的建立。这种方式将会有效的克服现实世界布建发生的各种问题,简化网络架构,同时提升网络整体效能。