3.7.1 无线传感器网络的路由协议

3.7.1 无线传感器网络的路由协议

在开放式系统互联(Open System Interconnection,OSI)参考模型中,网络层是通信子网的最高层。在一般的联机系统和线路交换系统中,网络层的功能意义不大。但是,当终端增多时,它们之间就需要有中继设备相连,此时会出现一台终端要求与多台终端通信的情况,这就产生了把任意两台数据终端设备的数据链路接起来的问题,即网络路由问题。

路由是把信息从信息源穿过网络传递到目的地的行为。路由技术其实是由两项最基本的活动组成的,即决定最优路径和传输数据包。路径选择是实现高效通信的基础。路由器是网络间的连接设备,它的重要工作之一是路径选择。路由选择算法是在路由表中写入各种不同的信息,路由器根据数据包所要到达的目的地选择最佳路径,把数据包发送到可以到达该目的地的下一台路由器。当下一台路由器接收到该数据包时,也会查看其目的地址,并使用合适的路径继续传送给后面的路由器。以此类推,路由过程直到数据包到达最终目的地时结束。

路由包含两个基本的动作:确定最佳路径和通过网络传输信息。在路由的过程中,后者也称为(数据)交换。交换相对来说比较简单,而选择路径很复杂。

1.路径选择

为了帮助选择路径,路由算法初始化并维护包含路径信息的路由表。路径信息根据使用的路由算法不同而不同。路由算法根据许多信息来填充路由表。目的/下一跳地址告知路由器到达该目的地的最佳方式是把分组发送给代表“下一跳”的路由器,当路由器收到一个分组,它就检查其目标地址,尝试将此地址与其“下一跳”联系起来。

路由表还可以包括其他信息,路由器彼此通信,通过交换路由信息维护其路由表。路由更新信息通常包含全部或部分路由表,通过分析来自其他路由器的路由表更新信息,该路由器可以建立网络拓扑细图。路由器间发送的另一个信息例子是链接状态广播信息,它通知其他路由器发送者的链接状态,链接信息用于建立完整的拓扑图,使路由器可以确定最佳路径。

2.交换

交换算法相对而言较简单,对大多数路由协议而言是相同的。多数情况下,某主机决定向另一个主机发送数据,通过某些方法获得路由器的地址后,源主机发送指向该路由器的物理地址(即MAC地址)的数据包,其协议地址是指向目的主机的。

路由器查看了数据包的目的协议地址后,确定是否知道如何转发该包。如果路由器不知道如何转发,通常就将之丢弃。如果路由器知道如何转发,就把目的物理地址变成下一跳的物理地址并向之发送。下一跳可能就是最终的目的主机,如果不是,通常为另一个路由器,它将执行同样的步骤。当分组在网络中流动时,它的物理地址在改变,但其协议地址始终不变。

路由协议负责将数据分组从源节点通过网络转发到目的节点,它主要包括两个方面的功能:寻找源节点和优化目的节点的路径,将数据分组沿着优化路径正确转发。ad-hoc、无线局域网等传统无线网络的首要目标是提供高质量服务和公平高效地利用网络带宽。这些网络路由协议的主要任务是寻找源节点到目的节点间通信延迟小的路径,同时提高整个网络的利用率,避免产生通信拥塞并均衡网络流量等,而能量消耗问题不是这类网络考虑的重点。在无线传感器网络中,节点能量有限且一般没有能量补充,因此路由协议需要高效利用能量。同时,传感器网络节点数目往往很大,节点只能获取局部拓扑结构信息,路由协议要能在局部网络信息的基础上选择合适的路径。传感器网络具有很强的应用相关性,不同应用中的路由协议可能差别很大,没有一个通用的路由协议。此外,传感器网络的路由机制还经常与数据融合技术联系在一起,通过减少通信量而节省能量。因此,传统无线网络的路由协议不适应无线传感器网络。

与传统网络的路由协议相比,无线传感器网络的路由协议具有以下特点:

1)能量优先。传统路由协议在选择最优路径时,很少考虑节点的能量消耗问题。而无线传感器网络中节点的能量有限,延长整个网络的生存期成为传感器网络路由协议设计的重要目标,因此需要考虑节点的能量消耗及网络能量均衡使用的问题。

2)基于局部拓扑信息。无线传感器网络为了节省通信能量,通常采用多跳的通信模式,而节点有限的存储资源和计算资源,使得节点不能存储大量的路由信息,不能进行太复杂的路由计算。在节点只能获取局部拓扑信息和资源有限的情况下,如何实现简单高效的路由机制是无线传感器网络的一个基本问题。

3)以数据为中心。传统的路由协议通常以地址作为节点的标识和路由的依据,而无线传感器网络中大量节点随机部署,所关注的是监测区域的感知数据,而不是具体哪个节点获取的信息,不依赖全网唯一的标识。传感器网络通常包含多个传感器节点到少数汇聚节点的数据流,按照对感知数据的需求、数据通信模式和流向等内容,以数据为中心形成消息的转发路径。

4)应用相关。传感器网络的应用环境千差万别,数据通信模式各不相同,没有一个路由机制适合所有的应用,这是传感器网络应用相关性的一个体现。设计者需要针对每一个具体应用的需求,设计与之适应的特定路由机制。

针对传感器网络路由机制的上述特点,在根据具体应用设计路由机制时,要满足下面的传感器网络路由机制的要求:

1)能量高效。传感器网络路由协议不仅要选择能量消耗小的消息传输路径,而且要从整个网络的角度考虑,选择使整个网络能量均衡消耗的路由。传感器节点的资源有限,传感器网络的路由机制要能够简单而且高效地实现信息传输。

2)可扩展性。在无线传感器网络中,检测区域范围或节点密度不同,造成网络规模大小不同;节点失败、新节点加入及节点移动等,都会使得网络拓扑结构动态变化,这就要求路由机制具有可扩展性,能够适应网络结构的变化。

3)鲁棒性。能量用尽或环境因素造成传感器节点的失败、周围环境影响无线链路的通信质量及无线链路本身的缺点等,这些无线传感器网络的不可靠特性要求路由机制具有一定的容错能力。

4)快速收敛性。传感器网络的拓扑结构动态变化,节点能量和通信带宽等资源有限,因此要求路由机制能够快速收敛,以适应网络拓扑的动态变化,减少通信协议开销,提高消息传输的效率。

针对不同的传感器网络应用,研究人员提出了不同的路由协议。但到目前为止,仍缺乏一个完整和清晰的路由协议分类。从具体应用的角度出发,根据不同应用对传感器网络各种特性的敏感度不同,将路由协议分为四种类型。四种类型的路由协议分别如下:

1)能量感知路由协议。高效利用网络能量是传感器网络路由协议的一个显著特征,早期提出的一些传感器网络路由协议往往仅考虑了能量因素。为了强调高效利用能量的重要性,在此将它们定为能量感知路由协议。能量感知路由协议从数据传输中的能量消耗出发,讨论最优能量消耗路径及最长网络生存期等问题。

2)基于查询的路由协议。在如环境检测、战场评估等应用中,需要不断查询传感器节点采集的数据、汇聚节点(查询节点)发出任务查询命令、传感器节点向查询节点报告采集的数据。在这类应用中,通信流量主要是查询节点和传感器节点之间的命令和数据传输,同时传感器节点的采样信息在传输路径上通常要进行数据融合,可通过减少通信流量来节省能量。

3)地理位置路由协议。在如目标跟踪类应用中,往往需要唤醒距跟踪目标最近的传感器节点,以得到关于目标的更精确位置等相关信息。在这类应用中,通常需要知道目的节点的精确或者大致地理位置。把节点的位置信息作为路由选择的依据,不仅能够完成节点路由功能,还可以降低系统专门维护路由协议的能耗。

4)可靠的路由协议。无线传感器网络的某些应用对通信的服务质量有较高要求,如可靠性和实时性等。而在无线传感器网络中,由于链路的稳定性难以保证、通信信道质量比较低、拓扑变化比较频繁,要实现服务质量保证,需要设计相应的可靠的路由协议。