1.4 ZigBee无线传感器网络拓扑结构
ZigBee支持包含有主从设备的星型、树型和网状等拓扑结构。虽然每一个ZigBee设备都有一个唯一的64位的IEEE地址,并可以用这个地址在PAN中进行通信,但在从设备和网络主协调器建立连接后会为它分配一个16位的短地址,此后就可以用这个短地址在PAN内进行通信。64位的IEEE地址是唯一的绝对地址,相当于计算机的MAC地址;而16位的短地址是相对地址,相当于IP地址。
1.星型拓扑
星型拓扑是最简单的一种拓扑形式,包含一个协调器(Coordinator)和一系列的终端节点(End Device),其结构如图1.9所示。每一个终端节点只能和协调器进行通信。如果需要在两个终端节点之间进行通信则必须通过协调器进行信息的转发。
图1.9 星型拓扑结构示意图
这种拓扑形式的缺点是节点之间的数据路由只有唯一的一个路径。协调器有可能成为整个网络的瓶颈。实现星形网络拓扑不需要使用ZigBee的网络层协议,因为本身IEEE 802.15.4的协议层就已经实现了星型拓扑形式,但是这需要开发者在应用层做更多的工作,包括自己处理信息的转发。
2.树型拓扑
树型拓扑包括一个协调器以及一系列的路由器和终端节点。协调器连接一系列的路由器和终端节点,其子节点的路由器也可以连接一系列的路由器和终端节点,这样可以重复多个层级。树型拓扑的结构如图1.10所示。
图1.10 树型拓扑结构示意图
需要注意以下几点。
① 协调器和路由器可以包含自己的子节点。
② 终端节点不能有自己的子节点。
③ 有同一个父节点的节点称为兄弟节点。
④ 有同一个祖父节点的节点称为堂兄弟节点。
树型拓扑中的通信规则如下。
① 每一个节点都只能与其父节点和子节点进行通信。
② 如果需要从一个节点向另一个节点发送数据,那么信息将沿着树的路径向上传递到最近的祖先节点,然后再向下传递到目标节点。
这种拓扑方式的缺点就是信息只有唯一的路由通道。另外,信息的路由是由协议栈层处理的,整个路由过程对于应用层是完全透明的。
3.网状拓扑(Mesh拓扑)
网状拓扑包含一个协调器和一系列的路由器和终端节点。这种网络拓扑形式和树型拓扑相同,可参考上面所提到的树型网拓扑。但是,网状拓扑具有更加灵活的信息路由规则,在可能的情况下,路由节点之间可以直接通信。这种路由机制使得信息的通信变得更有效率,而且意味着一旦一个路由路径出现了问题,信息可以自动地沿着其他的路由路径进行传输。网状拓扑的结构如图1.11所示。
图1.11 网状拓扑结构示意图
通常在支持网状网络的实现上,网络层会提供相应的路由探索功能,这一特性使得网络层可以找到信息传输的最优化路径。需要注意的是,以上所提到的特性都由网络层来实现,应用层不需要进行任何参与。
网状拓扑结构的网络具有强大的功能,可以通过“多级跳”的方式来通信。该拓扑结构还可以组成极为复杂的网络,这种网络具备自组织和自愈功能。星型和树型网络适合点对点、距离相对较近的应用。