软件学报  2018, Vol. 29 Issue (12): 3886-3903   PDF    
高鲁棒性低延迟的路由协议
兰轩宇, 陈晓江, 徐丹, 彭瑶, 房鼎益     
西北大学 信息科学与技术学院, 陕西 西安 710127
摘要: 无线传感器网络广泛应用于人类社会生活的各个方面,例如灾难预警、工业控制等.而此类应用有很多不仅对数据的实时性存在较高要求,同时对鲁棒性也存在要求.此类问题主要挑战是要兼顾延迟性能和鲁棒性.针对这个挑战,提出了低延迟高鲁棒性的路由协议(RDR),RDR通过独特的路径探测寻找延迟较短、鲁棒性较强的路径,以此降低传输延迟,利用周围节点协助转发解决不稳定链路,增强鲁棒性,使得网络中的节点可以在良好的网络环境或恶劣的网络环境中都保持较好的延迟表现,同时保证网络中节点可以进行端到端通信,不再局限于单向数据收集.使用OMNeT++平台围绕延迟、鲁棒性等多个角度进行了大量的仿真实验,通过理论分析和仿真实验结合,从各个方面说明了所提协议可以保证较低的端到端延迟,并且具有很强的鲁棒性.
关键词: 无线网络     物联网     延迟     鲁棒性    
Robust Delay-Aware Routing Protocol
LAN Xuan-Yu, CHEN Xiao-Jiang, XU Dan, PENG Yao, FANG Ding-Yi     
School of Information and Technology, Northwest University, Xi'an 710127, China
Foundation item: National Natural Science Foundation of China (61802309, 61672428, 61702416); Ministry of Science and Technology of China (2018TD-026); Key R&D Project of Shaanxi Science and Technology Department (2018SF-369); International Cooperation Foundation of Shaanxi Province of China) (2018KW-020)
Abstract: Wireless sensor networks are widely used in all aspects of human social life, such as disaster warning and industrial control. Many such applications need to meet not only high real-time data requirements, but also robustness of the requirements. The main challenge for this type of problem is to balance performance and robustness. In order to solve this problem, this article proposes a low latency and high robust routing protocol (RDR). RDR finds a shorter delay and strong resistance path through unique path detection to reduce the propagation delay. It also uses the surrounding nodes to assist in forwarding to solve the unstable link and enhance the robustness. As a result, the nodes in the network can maintain good delay performance in both good network environment and bad network environment, and also communicate with each other instead of limiting to one-way data collection. The paper uses OMNeT++ platform to carry out a large number of simulation experiments around delays and robustness. Theoretical analysis and simulation experiments show that RDR can guarantee lower end-to-end delay and strong robustness.
Key words: wireless network     Internet of things     delay     robustness    

无线传感器网络(wireless sensor network, 简称WSN)是由大量带有传感功能的通信节点以自组织的形式组成的多跳网络, 他们相互协助对目标区域进行监测、采集或感知.近年来, 又产生了物联网(Internet of things, 简称IoT)和泛在网络(ubiquitous networking)等新型网络, 它们的普适性更强、可以应用的场景更多.各种各样的无线网络被应用于不同的领域, 如环境监测、野生动物监测、自然灾害预警、医疗监控、目标追踪[1, 2]等.针对不同的应用, 网络中路由协议的设计也不同.无线传感网应用中, 很多应用对实时性有很高需求, 例如实时环境监测、灾难预警、工业控制等应用, 通过对这些应用特点进行分析, 我们发现这些应用所伴随的往往是恶劣的环境或者高度变化的网络拓扑, 对性能的要求不仅仅只针对延迟, 在延迟的基础上, 还伴随鲁棒性的需求.这样的需求使得协议的设计不得不在保证延迟的基础上兼顾鲁棒性, 同时, 数据的收发应该可以在任意的节点间完成, 不仅限于向基站传输数据.

以往针对延迟性能设计的协议通常只考虑了延迟性能一个指标, 导致虽然他们能实现较低的延迟, 但是往往要求节点工作在相对理想的环境中, 协议策略对环境的适应性比较差, 当遭受严峻的环境考验时, 往往会导致性能严重下降.本文对这类应用的需求进行深入分析, 发现影响其延迟性能的主要是路由协议的好坏, 所以本文提出一种路径发现和机会路由相结合的路由协议RDR, 在保证延迟较低的情况下增加鲁棒性, 并且使任意节点间都可以高鲁棒低延迟地通信.本文对RDR设计了大量的实验进行分析, 通过实验验证上述的设计的确在各自的使用条件中表现优秀, 达到了预想的设计目的, 为各类低延迟应用提供了新的选择.

本文的主要贡献在于分析归纳了上述应用面临的主要挑战是兼顾延迟和鲁棒性, 并针对这一挑战提出了一种高鲁棒性低延迟的路由协议RDR.本文第1节阐述相关的路由协议的研究现状.第2节介绍本文提出的高鲁棒性低延迟的路由协议RDR.第3节设计实验仿真验证RDR的正确性和有效性.第4节总结全文.

1 相关研究

无线传感网路由协议的研究主要是研究如何使得网络中的节点发送数据时选择一条最优的转发路径, 使数据到达目的节点.路由协议的发展从固定路由表的静态路由发展到现在主流的基于路由代价的机会路由, 协议进行决策所依据的指标也在不断变化, 从以前依赖跳数和RSSI发展到现在根据不同的环境设定特有的代价评估函数.根据不同的环境和设备能力, 协议使用不同的信息作为参数, 例如, 在节点配有GPS的网络环境中, 由于地理位置信息可以通过GPS取得, 所以基于地理位置信息的协议就很受欢迎.

如前文所述, 网络层协议主要是路由协议, 不同的应用场景, 网络协议的设计架构和设计目标不同, 而性能和网络的架构模型又是息息相关的, 所以本文对现有的模型和架构进行分析, 下面我们对目前主流的路由协议进行总结, 分析他们的优劣和适用范围.路由协议主要分为确定性路由和机会路由两个大类, 路由协议划分如图 1所示.

Fig. 1 Routing protocols classification 图 1 路由协议分类图

确定性路由协议有以下几种[3].

●  第1种是以数据为中心的协议.

文献[4]提出了SPIN, 这是以数据为中心的平面路由, 这类路由协议中所有节点作用相同, 共同合作完成任务, 通信模式是产生数据的节点广播元数据, 有需求的节点收到后请求数据.通过资源自适应和协商, 解决了洪泛带来的广播风暴.文献[5]提出了Direct Diffusion, 将产生的数据以键值对命名, 合并重复的数据以节省能耗, 通信由基站基于洪泛请求发起, 相对于SPIN, 大大简化了通信复杂度, 节点也不需要维护全网拓扑图.这种思想被广泛应用于此类协议, 产生了很多类似协议, 如文献[6, 7], 但由于其洪泛的查询机制, 能量消耗较大, 同时延迟无法得到保障, 当链路变化时, 很容易造成通信失败.这类协议相对于简单洪泛来说有一定的能耗降低, 但是其本质还是基于洪泛的, 所以相比机会路由等新型方法能耗级别还是太大, 同时又没有针对鲁棒性的设计, 所以无法保证数据可靠到达.虽然很多研究尝试在此基础上的一些优化如加入多播等手段, 但是都无法从本质上解决问题, 所以无法适用于前文所述的高可靠性低延迟的场景.近年来, 由于NDN的产生, 出现了基于NDN的路由协议[8], 为数据为中心的协议提出了新的可能, 但是其有效性还需验证.

●  第2种是基于网络拓扑结构的协议.

文献[9]提出了LEACH, 是最早的基于层级的路由协议.这类路由协议的设计充分考虑到了网络的可拓展性, 当网络规模扩大, 不划分层级的网络容易造成通信和响应延迟.这类协议的思想是:将网络中的节点以一定的方式划分为簇, 然后设立簇头节点, 簇与簇之间使用簇头节点进行通信.在此基础上, 很多协议对LEACH进行了优化[10].由于网络划分更多的是一种思想, 簇内可以使用任何协议的方法进行组织, 簇头的选择也多种多样, 使得这种协议可以针对不同的使用环境限制, 增加不同的设计变种.例如:为了平衡能量利用率, 增加网络生存时间, 文献[12]提出设置副簇头以平衡能量利用, 文献[13]提出动态改变簇的大小和簇头负责的范围来平衡能量消.可见, 这类协议可拓展性很强, 也正是因此, 此类协议仍然被广泛应用.但是这种类型的协议往往对拓扑结构要求比较严格, 比较适合数据收集型网络, 无法满足任意节点间都可以发送数据的需求.

●  第3种是基于地理位置信息的协议[14].

文献[15]提出了基于地理位置信息的路由方法, 由于节点本身不具有像IP一样的寻址方式, 通过对地理位置信息可以估计节点间的距离, 然后根据距离估算能耗, 然后可以提高能量利用率.这样, 对指定区域数据的请求可以只被发送到相关区域, 避免了能量的浪费.这类应用还可以和其他思想进行结合, 例如:文献[16]在基于地理位置的基础上加上了对拥塞和数据包连接性的考虑, 显著提升了能量利用率.还有很多路由协议以吞吐或者服务质量出发, 设计的目的是最大化生存时间[17]或最小化延迟[18]等.此类协议要求节点具有获取地理位置的能力, 适用范围很小, 对于无法得到自己地理位置信息的节点和网络则无法使用.

随着技术的发展, 无线网络的范围也越来越广, WSN, Ad-Hoc, MESH, MANET等网络相互交错.这类网络往往具有动态的网络拓扑和自组织自适应的特性, 数据交互不局限于某些特点的节点, 网络中的任何节点都可能发送或者接收数据.由于节点之间的对等性, 协议经常需要进行路径发现, 典型的协议如文献[19, 20], 这类协议的突出问题是没有考虑到网络环境对协议性能的影响, 在恶劣环境下性能下降严重以致无法工作, 无法满足前文所述需求.

尽管传统路由协议从不同角度进行了设计, 但是思路主要是借鉴有线网络的设计经验, 并不能很好地解决无线网络环境中面临的问题; 对动态的极端恶劣的网络环境没有抵抗性, 导致重传数量增加, 浪费网络能量; 对链路层的使用也只停留在简单的跳数和RSSI上, 不能真的做到充分利用无线链路.上述原因导致了延迟和鲁棒性不佳.为了应对此类问题, 机会路由应运而生, 这种路由方法充分利用无线网络中链路层天然多播的优势和网络的密度, 核心的理念就是通过MAC层天然的广播将数据存储于多个节点, 这样充分利用了链路多样性, 增加了对不稳定信道的抵抗能力.机会路由倾向于选择一个可转发候选集而不是选择特定的某个节点.通过选取不同参数计算路由代价, 实现各种不同侧重点的路由协议, 机会路由的思想也被应用于各种无线网络中.

文献[21]首次提出了机会路由, 利用传输介质的广播特性创造多个传输的机会.机会路由通常包含几个阶段[22, 23]:第一, 转发候选集的选择, 选择可以当做下一跳节点的集合; 第二, 向转发候选集广播数据; 第三, 分布式选择最优的候选节点; 第四, 被选中的候选节点转发数据.机会路由主要分为以下几类.

●  第一是与传统路由相结合的机会路由, 这类路由将机会路由的思想应用于传统路由的场景中, 例如文献[24]基于地理位置信息的机会路由, 并且平衡了单跳转发延迟和发送速率, 使得其性能优于仅适用传统路由或者仅适用机会路由;

●  还有很多文献提出了基于链路质量的机会路由, 他们将链路稳定性、延迟、带宽或者能量消耗加入机会路由的路有代价评估, 实现了具有相应效果的路由协议, 此处不一一列举;

●  针对移动网络环境, 产生了概率机会路由, 主要是解决节点在移动的过程中无法保证稳定的邻居节点, 进而导致没有稳定的转发候选节点的问题, 典型的协议如文献[25];

●  近年来, 基于最优化算法的机会路由也受到了关注, 这类方法将优化算法、博弈论、机器学习等方法与机会路由结合, 例如, 文献[26]提出一种多限制因素下的近似解最优算法, 文献[27]提出一种基于博弈论的机会路由;

●  还有很多研究专注于跨层设计, 充分考虑到底层协议对高层协议的影响, 例如文献[28, 29].

机会路由虽然在能耗和鲁棒性上都有不错的表现, 但由于其每个节点都要进行探测然后决策的机制, 导致延迟通常较长, 无法保证低的端到端延迟; 同时, 机会路由没有路径发现的功能, 只能依靠路有代价转发数据, 无法完成任意节点之间的数据收发.

虽然现有的工作对路由协议进行了深入细致的研究, 但是仍然面临很多问题.传统路由无法解决鲁棒性和延迟性能的双重要求; 机会路由虽然在鲁棒性方面有一定优势, 但是延迟表现较差; 同时, 网络设计侧重于数据收集网络, 无法完成网络中任意节点间通信.

所以, 本文要设计一种高鲁棒性低延迟的路由协议, 同时不依靠网络拓扑, 不仅限于基站接收数据, 具有良好的可拓展性.

2 高鲁棒性低延迟的路由协议RDR

由前文可知, 越来越多的无线网络应用对数据的延迟有严苛的要求, 例如灾难预警、工业控制等, 在这样的网络环境中运行的路由协议, 必须保证较低的端到端延迟, 并且此类应用往往伴随着恶劣的环境, 节点有可能要面对严寒、高温或者高湿度、强干扰等影响, 所以要求节点具有良好的鲁棒性.这类问题的挑战在于需要在恶劣的环境中保持较低的延迟, 即兼顾鲁棒性延迟性能.而现有的路由协议往往更加侧重于能量的高效利用, 低延迟的协议相对较少, 而这些拥有低延迟特性的协议往往不能同时保证有较好的鲁棒性, 无法在恶劣的环境中工作.所以本文提出一种高鲁棒性低延迟的路由协议(robust delay-aware routing protocol, 简称RDR), 使其在各种环境中都能保证较低的端到端延迟.本节将详细介绍这种协议的细节.

2.1 协议概述

RDR的设计思路是:充分结合机会路由和路径探测的优势, 节点通过路径探测找到延迟表现最优的路径和潜在的协助节点, 协助节点是指在选中的路径方向上的节点, 这些节点是可能参与数据发送的节点的总和.在数据发送时, 使用协助节点协助转发来保证数据包到达, 从而取消耗时的重传, 这样使得端到端延迟降到最低; 同时, 协助节点的参与, 使网络中更多的节点参与数据转发, 对链路质量的变化也有了较好的抵抗性, 因此增强了鲁棒性.数据发送阶段的动态多播可以保证数据总是使用延迟较短的路径进行传输, 同时, 多播也可以进一步降低通信环境变化对数据稳定性的影响, 进一步增强鲁棒性.

2.1.1 网络模型

网络由N个静止的节点组成, 节点随机地部署在网络中, 部署区域可以视为一个2D平面, 节点具有一定的通信范围, 在通信范围内的节点可以互相通信, 每个节点都有一个唯一的标识NODEID, 节点的所有资源均有限.假设节点产生数据的频率不高, 不考虑拥塞问题; 节点的部署比较稠密, 假设任意节点不考虑稀疏部署的情况; 假设任意节点都有多个邻居节点.节点使用带有链路质量评估的MAC层协议.

2.1.2 协议概述

RDR是一个基于带路径发现的机会多播协议, 当节点有数据发送需求时, 先发送一个路径探测包, 这个路径探测包被不断地转发, 直到到达目的节点.沿途节点通过计算得到协助转发节点集, 当探测包第一次被转发至目的节点时, 由目的节点返回一个路径应答包, 确认发现一条路径和沿途的转发候选节点.源节点在收到探测应答后, 按照返回的结果发送数据, 路径上的节点和沿途的潜在转发候选节点以机会路由的方式转发数据, 并且动态决策是否使用多播, 直到数据被目的节点接收, 本次数据发送结束.如图 2所示

Fig. 2 Design overview of RDR 图 2 RDR总体示意图

图 2是网络中的一部分, 当节点S要发送数据给节点D时, 节点S发起路径探测, 通过路径探测和路径探测应答, 选定一条路径, 如图中虚线所示.选中的路径为源节点到目的节点的方向, 在数据发送的过程中, 数据会沿着选定的路径方向(即虚线方向)以机会路由的方式传播, 但不一定是选定的路径节点(即图中红色的节点), 任何潜在的转发节点(即图中灰色节点)和选定的路径节点都可能进行数据转发.当发生丢包时(即图中红叉所示), 其他节点会完成转发, 因此降低了延迟, 如图中实线所示, 为数据实际经过的路径.同时会根据网络状况动态进行多播(图中两条实线所示), 这样增强了对不良环境的耐受性.下面的章节分几个部分介绍RDR, 第3.2节介绍路径发现时的具体细节, 第3.3节介绍数据转发时的具体细节, 第3.4节介绍网络初始化和路由信息更新的具体细节.

2.2 路径发现策略

路径发现的思路是:网络中的节点以竞争的方式发现路径, 这样保证赢得竞争的节点在延迟和抗逆性上具有优势.抗逆性是指节点和网络在工作的过程中对不良环境的抵抗能力, 在本文所述的应用环境中, 延迟和抗逆性是影响数据传输性能的主要因素.路径发现的意义在于:节点本身不具有全网拓扑信息, 而本文提出的协议所适用的类型也不仅限于某一种特定的网络结构, 所以网络中任意一对节点都有可能发生通信行为.而当节点需要发送数据时, 它不知道如何将数据发送至目的节点, 必须进过探测才可以找到路径.传统的固定路由很难满足鲁棒性需求, 所以需要一种动态的按需的路径发现策略.路径发现分为两个部分:一是路径探测, 二是路径探测应答.

2.2.1 机会路由思想的优势分析

当源节点需要发送数据给目的节点, 并且它又不具备到目的节点的路径信息时, 它通过广播一个路径探测包来发起一次路径探测.与传统的路径探测不同的是, RDR的路径探测不仅仅是寻找一条路径, 更重要的是发现路径上潜在的转发节点.这样, 探测得到的将是一个大概的方向和可能参与的节点集合, 使得数据发送的时候有多种潜在的选择, 充分利用机会路由的思想.下面首先通过一个例子分析为什么要使用机会路由的思想, 为什么要寻找潜在的转发节点.如图 3所示.

Fig. 3 Advantages of opportunity routing 图 3 机会路由的优势示意图

图 3(a)为网络中一种情况, 当节点A要发送数据给节点C时, 由于节点A与节点C直接的链路不稳定, 所以根据链路情况, 路径选择可能会选择AB再到C的路径.这样, 按照传统的路由方法, 数据将会首先被转发至B节点, 再由B节点向A节点转发.而这样的转发策略可能会导致如图 3(b)的情况, 即:不稳定的C节点刚好很短时间内就收到了A发的探测, 并且此时信道也是可以通信的, 但是由于转发策略, 只能等到B节点接受数据再将数据转发至C.而机会路由的思想如图 3(c)所示:节点B和节点C都是潜在的转发节点, 再C节点收到探测且信道可用的情况下, 节点A直接将数据发送至节点C.而当A, C直接信道情况不好时, 这样的策略也可以保证与传统策略一样完成任务.通过以上分析可以看到:机会路由的思想可以充分利用网络的广度, 让更多的节点有机会参与数据转发过程, 从而提高网络在鲁棒性和延迟性上的表现.

2.2.2 路径探测

本节介绍RDR如何进行路径发现, 如何在路径发现中借鉴机会路由的优点.源节点广播一个路径探测包发起路径探测, 这个包将被通信范围内的所有正在工作的节点收到, 任何节点收到非重复的探测包后, 保存上游节点ID和探测包序列号, 通过路由代价计算, 选择自己的协助转发节点, 并设置退避时间, 退避完成后转发探测包.重复这个过程, 直到探测包被目的节点接收.

NiNj是网络中的任意两个相邻的节点, S(i)和S(j)是NiNj的邻居节点集, 下面以探测包从Ni发往Nj的过程为例说明节点转发探测包的策略, 当Nj收到Ni广播的路径探测包, Nj将自己视为导航节点, NiNj的公共邻居节点集记为CSij, 按照公式(1)求CSij:

$ C{S_{ij}} = S\left( i \right) \cap S\left( j \right) $ (1)

对于CSij中的每个节点k, 求节点k和节点j的公共邻居节点个数, 记为n.然后, 节点j对公共邻居节点集中的节点进行评估, 得到协助转发节点集Aij.设Pij是节点i发送数据到节点j的成功率, 节点jCSij中的节点按照pik的从大到小排序, 然后根据下面的公式选择协助转发节点:

$ f(k) = {f_1}(k) + {f_2}(k) = \frac{1}{{\sum\limits_{k \in {A_{ij}}} {{P_{ik}}} }} + \frac{2}{n}\sum\limits_{k \in {A_{ij}}} {{P_{ik}}} $ (2)

函数f(k)表示了节点i通过机会路由的方式转发数据的代价, 其中:f1(k)表示节点i将数据发送到协助节点集中节点的代价; f2(k)表示数据发送至协助节点集后, 协助节点集中节点转发数据的代价.两部分代价共同构成了对数据转发代价的评估.评估时, 将CSij中的节点依次加入f(k), 判断加入新的节点后, 是否可以使f(k)的值变小:如果可以, 则将节点k加入协助转发节点集; 如果f(k)值增大, 则不选择节点k.即:若f(Aij$\cup $k)-f(Aij) > 0, 则Aij=Aij$\cup $k.

评估函数是基于以下分析给出的:如图 4所示, 假设所有节点通信范围相同, 以节点I发送路径探测包, 节点J收到路径探测包选择自己的协助节点为例, Aij初始为空, 每次从CSij中选择一个节点加入Aij, 每加入一个新节点, 根据公式计算代价值, 当代价值不再减小时, 停止加入新节点.例如:当节点p加入时, 节点p与节点j公共邻居节点较多, f(Aij$\cup $p)-f(Aij) > 0成立, 所以加入节点p; 而当节点q加入时, 节点q与节点j的公共邻居节点较少, f(Aij$\cup $q)-f(Aij) > 0不成立, 所以不加入q.

Fig. 4 Example of assist node 图 4 协助节点集选择示意图

当节点确定了协助转发候选集后, 节点设置一个退避时间, 当退避时间到时, 节点将自己的NODEID加入探测包, 然后广播收到的探测包.退避时间的大小由几个因素决定:一是协助节点的多少, 二是当前距离源节点的距离, 三是历史发送成功率.设tij为节点j的退避时间, tij的计算方法如下:

$ {t_{ij}} = \frac{{Hop}}{{\sum\limits_k {{p_{ik}}{p_{kj}} + 1} }} \times \tau, k \in {A_{ij}} $ (3)

Hop为数据包当前的跳数, τ为最短单位时间.由公式(3)可知:当数据包经过的跳数越少, 协助转发节点更多, 发送成功率更高的节点拥有更小的退避时间, 所以将会更快的转播探测包, 继而更快速的到达目的节点.下面以一个例子说明退避的过程, 假设网络拓扑如图 5所示.

Fig. 5 A example for routing discovery phase 图 5 路径探测过程

设节点S有数据发送到节点H, 节点C收到探测包后, 将自己视为选中节点, 假设节点A和节点B为节点C的协助转发节点, 则C通过公式(3)计算得到退避时间为0.49τ.如果C的定时器第1个时间到, 则C重新广播探测包, 节点F收到C广播的探测包后, 假设节点D和节点E是节点F的协助转发节点, 则节点F通过计算得到退避时间是1.36τ.如果F的定时器第一个时间到, 节点F将重新广播这个包, 这样, 目的节点H就收到了探测包.而其他定时器时间较长的节点重播探测包时, 收到的节点将会发现自己已经不是第一次收到这个包, 将会将探测包丢弃.下面的算法1和图 6描述了节点如何处理探测包.

Fig. 6 Flow diagram of routing discovery 图 6 路径探测流程图

算法1.节点j如何处理节点i发来的探测包.

过程:节点j处理节点i发来的探测包

1.  if第1次收到探测包p then

2.     if节点j是目的节点then

3.       进入路径探测应答阶段

4.     else

5.       求节点i和节点j的公共邻居节点集CSij:CSij=S(i)$\cap $S(j)

6.       将CSij中节点按照n值大小排序

7.         While CSij$\emptyset $do

8.           按照公式计算路由代价f(k), k$\subseteq $CSij

9.           f(Aij+k)-f(Aij) < 0 then

10.           Aij=Aij$\cup $k

11.         end if

21.         end while

13.         计算退避时间tij

14.         退避时间到后转发p

15.       end if

16.else

17.       丢弃探测包p

18.end if

上述算法只有一处需要遍及, 一处需要排序, 时间复杂度为O(nlogn), 其中, n为协助节点个数.

通过上述方法, 延迟最短的探测包到达了目的节点, 此时选择路径通常含有较多的协助转发节点, 因此, 此时选择的路径有较低的延迟和较强的鲁棒性.

2.2.3 路径探测应答

当第1个探测包到达目的节点时, 目的节点返回一个路径探测应答包, 这个路径探测应答包沿着路径探测包的反方向广播回到源节点, 完成一次路径探测.任意节点收到目的节点广播的路径探测应答包后, 首先检查自己是不是选定路径上的节点.

●  如果是, 则标记自己为选中的导航节点, 并记录探测应答包中的信息, 然后重新广播这个包;

●  如果不是, 节点查看自己是不是选定的协助转发节点:如果是, 则记录包中的信息, 并确认自己是被选中的协助转发节点; 如果不是, 节点丢弃这个包.

探测应答包具有2个方面的作用:一是确定转发路径, 对路径上的节点进行确认, 二是对路径上的协助转发候选节点进行确认, 通过做这样的确认, 每个可能参与转发的节点都获知了自己转发数据的转发候选集.为了达到这样的效果, 路径探测应答包需要有如下的结构设计(如图 7所示).

Fig. 7 Structure of the path detection response 图 7 路径探测应答包结构

设节点Ni, Nj, Nk为连续的3个导航节点, 此时, Aij, Ajk分别是他们之间的协助节点集, 每当本跳导航节点重新广播路径探测包时, 需要将这些信息包含在探测包中.根据这些信息, 上一跳Ni可以确认自己导航节点的身份, 并且Aij中的节点可以确认自己协助转发节点的身份, 还可以根据Ajk确认转发数据的转发候选集.下面仍然以上文中的拓扑结构为例, 说明路径探测应答包是如何从目的节点回到源节点的.

图 8所示:目的节点H第1次收到探测包后, 返回一个路径探测应答包, 此时, 它没有下一跳导航节点Nk, 因此也没有Ajk, 所以节点H发出的路径探测应答包中包含上一跳导航节点、本跳导航节点和他们之间的协助节点, 即{G, I, H}.节点F收到后确认自己是导航节点, 记录下一跳转发候选集为{G, I, H}, 然后更新路径探测应答包.对于节点F, 上一跳节点是C, 下一跳节点时H, 他们之间的协助节点分别是{D, E}和{G, I}, 所以节点F重新广播这个探测包, 包中的信息为{D, E, F, G, H, I}.而节点G和节点I收到节点H发出的路径探测应答包后, 发现自己是协助转发节点, 则记录{G, I, H}, 并用自己的邻居节点集与得到的结果求交, 得到自己的转发候选集.路径上的每个导航节点和协助转发节点都会按照的方式处理收到的路径探测应答包.下面的算法2描述了节点对路径探测包的处理.

Fig. 8 A example for routing discovery reply phase 图 8 路径应答过程

算法2.节点j如何处理节点节点i发来的探测应答包q.

1.  if 第1次收到探测包q then

2.    if 节点j是选定的导航节点then

3.      确认自己是导航节点

4.      记录探测应答包中的信息

5.      更新探测应答包中附带的信息

6.      转发探测应答包

7.    end if 节点j是选定的协助转发节点then

8.      记录探测应答包中的信息

9.    else

10.      丢弃探测应答包q

11.    end if

12.else

13.    丢弃探测包q

14.end if

2.2.4 路径保存和重复利用

每个节点都会将探测得到的路径保存一段时间, 由于探测得到的是一条路径的大概方向和可能参与的节点集合, 而不是特定的某个节点, 并且由上文描述可知, 探测得到的路径是分布式存储的, 这样, 节点通过将探测得到的路径保存一段时间, 路径将有可能被重复利用.以下面的情况为例, 说明重复利用的原理.

图 9所示:假设从SD是一条已经探测过的路径, 当失效时间还没到时, 沿途的节点保存着路径.例如, C节点保存着从节点C到节点D的路径, 节点B保存着节点B到节点D的路径.可见, 路径的保存是分布式的, 因为节点B不需要保存从BD的每个节点, 只需要保存节点B到节点D的发送候选集, 即节点C的方向, 后面的部分将由后面的节点保存.这样, 当节点S1也有数据要发送到节点D时, 它进行路径探测, 当路径探测包到达B时, B节点通过判断就可以得知自己已经有这个路径, 则不需要继续探测, 这样的设定极大地提升了效率.

Fig. 9 A example for parh reuse 图 9 路径重复利用原理

通过上述的路径探测和历史记录, 节点总是可以沿着正确的方向发送数据, 并且备选的发送节点不仅仅某个特定节点, 而是一个节点集合, 这样的设定使得节点在发送数据的时候又多种选择, 不再受制于某个链路的变化或者节点失效, 从而具有较强的鲁棒性, 解决了鲁棒性的挑战.同时, 由于路径选择时参考了延迟信息和信道状态, 所以所选的路径往往可以具有较好的延迟表现, 从而解决了低延迟的挑战.

2.3 数据转发策略

通过上一小节, 源节点现在拥有了一条通往目的节点的路径, 即源节点得知数据发送的下一跳候选节点.此时, 源节点只需要规定候选节点集中节点的优先级, 并将数据发送出去.收到数据的节点首先判断是否是第一次收到该数据包:如果是, 则根据优先级计算退避时间, 时间到后返回ACK, 这个ACK不仅通知源节点数据成功发出, 同时通知其他正在退避的节点停止转发.后面的转发过程将由路径上的节点按照探测结果自行完成, 与源节点发送数据的过程相似.为了进一步提高鲁棒性、降低延迟, RDR在此基础上加入了多播机制, 每个数据包有一个多播标志位, 表示当前是不是处于多播状态, 节点在发送数据时, 会根据现在的延迟情况和转发候选集进行决策, 选择是否进行多播.

2.3.1 单播转发策略

下面首先介绍不使用多播时数据的转发策略.由于RDR的设计目的是延迟优先, 所以规定候选集中节点的优先级时, 也是按照延迟情况进行设定的, 将候选节点集中的节点按照延迟从低到高排序, 分布设定优先级0, 1, …, n, 然后将这个优先级序列加入到数据包中, 随数据包一同发出, 并且将数据包标记为非多播数据包.收到数据包的节点设置退避时间tBackOff:

$ {t_{BackOff}} = \left( {{T_{SFIS}} + {T_D}} \right) \times k $ (4)

其中, TSFIS是短帧时间间隔, 在802.11中, 取10us或16us; TD是发送节点与接收数据节点间的单跳延迟.当退避时间到时, 节点返回ACK, 压制其他节点, 并转发数据, 转发方法与前述相同.

2.3.2 多播对性能的提升

下面对多播进行分析, 说明为什么要使用多播.如图 10所示:设有一源节点S和一目标节点D, 他们中间存在若干条链路{X1, X2, …, Xn}, 当节点S采用单播的方式将数据发送至节点D时, 即选择延迟最好的链路进行发送, 平均延迟用μ表示, 则:

$ m = {\rm{min}}\left\{ {E\left[{{X_1}} \right], E\left[{{X_2}} \right], \ldots ., E\left[{{X_n}} \right]} \right\} $ (5)
Fig. 10 Multicast gain analysis 图 10 多播的收益分析

如果节点采用多播的方式, 即数据同时从所有链路发出, 平均延迟用μ1表示, 则:

$ {m_1} = E\left[{{\rm{min}}\{ {X_1}, {X_2}, \ldots, {X_n}\} } \right] $ (6)

可以用二者的商来衡量多播对延迟性能的提升.

接下来分析什么时候多播对延迟性能的提升大.首先以图 11(a)为例, 假设S有两条路径, 如果路径SAD的延迟是1s, 路径SBD的延迟3s, 则此时多播是没有任何性能提升的, 因为只需要选择SAD就可以达到性能最佳.而如果路径SAD有10%的概率延迟10s, 90%的概率延迟0.1s, 路径SBD有10%的概率延迟30s, 90%的概率延迟0.3s, 此时, 通过计算可以得知, 他们的平均延迟还是约等于1s和3s, 但此时如果使用多播, 可以求得平均延迟只有大约0.2s, 可见多播收益将是5.然后考虑图 11(b)中的网络拓扑, 如果各路径有如表 1所示延迟情况, 则可计算得, 单播延迟为1s, 多播延迟也为1s.

Fig. 11 Influence of different link number on multicast gain 图 11 不同链路数量对多播收益的影响

Table 1 Path delay distribution   (s) 表 1 不同路径延迟分布表   (s)

由上述分析可以看出, 多播收益的大小取决于链路延迟的样本方差:当延迟完全已知时, 多播没有收益, 即D(C)=0;而当链路延迟方差较大时, 多播收益大.根据切比雪夫不等式的意义可知:多播收益大时, 延迟的分布在均值附近, 例如图 11(b)中的延迟分布; 多播收益小时, 延迟的分布离均值较远, 如图 11(a)中的延迟分布.同时可以看到:多播的收益与链路选择的个数无关, 即使2条链路也可以使多播收益达到最大.而在实际网络中, 节点只能得到历史的延迟, 未来的延迟分布是不可估计的, 因此, 多播是可以使延迟性能提高的.

2.3.3 动态多播

根据上述分析可以看出:在实际网络中, 多播是存在优势的.但是多播势必会造成能量的浪费, 而且会使网络中的流量增加, 使发生拥塞的可能性增大.所以RDR的策略中, 最多只使用2条路径的多播.关于多播的收益, 本文在实验部分会给出实验数据, 说明更多的路径并不会带来明显的提升.

RDR的多播策略如下.

每当节点发送数据时, 首先决策是否进行多播, 决策的方法如下:节点首先检查待转发的数据包是否已经被上游节点设置为多播, 已经被多播的节点不能再次进行多播, 防止网络中出现广播风暴.节点对选定的发送候选节点集按照延迟进行排序:如果选定的导航节点是转发候选节点中平均延迟最低的节点, 则不启用多播; 如果不是, 则启用多播.当不采用多播时, 数据的发送如第3.3.1节中所述.

当使用多播时, 节点首先将数据包中的多播标志位置1, 然后再设置发送候选集节点优先级, 将导航节点和平均延迟表现最优的节点优先级设为最高, 其余节点按照平均延迟从小到大的顺序依次设置优先级.当不使用多播时, 则将导航节点设置为优先级最高的节点, 其他节点按照平均延迟从小到大依次设置优先级.

发送数据时, 将选定的转发节点集和他们对应的优先级同数据一起发送.这样的数据发送策略可以动态地进行链路的选择, 使得数据向着延迟较低链路质量较好的节点传输, 因此进一步降低了能耗, 提升了鲁棒性, 从而解决了低延迟高鲁棒性的挑战.

2.4 初始化和更新策略 2.4.1 初始化阶段

●  初始化阶段, 从节点上电开始, 所有节点在初始化过程中不休眠, 由sink节点发起, sink节点广播一个初始化包, 表示初始化开始;

●  每个节点内部维护一个邻居节点表, 表中包含邻居节点的NODEID、平均延迟和发送成功率, 初始值均为空;

●  节点收到初始化包后, 将NODEID加入自己的邻居节点集, 当节点第一次收到初始化包时后, 节点随机退避一段时间, 在退避时间到后, 节点重新广播这个初始化包, 然后节点持续监听一段时间Ti, Ti为初始化阶段的预计时长;

●  节点在监听过程中记录收到的广播包的NODEID并加入到自己的邻居节点集中.

这样, 网络将以洪泛的方式初始化, 初始化完成后, 所有节点都得到一个完整的邻居节点集.

2.4.2 邻居信息更新

由于RDR需要使用邻居节点的发送成功率和延迟等数据, 所以本质上说, RDR是一个同步协议, 即协议需要周期性地对邻居节点信息进行同步, 同步的方法如下.

●  每个节点内部维护一个周期定时器, 每当定时器时间到时, 节点发起一次邻居信息更新, 节点广播一个探测包, 周围的邻居节点收到探测包, 设置一个退避时间, 在退避时间到后, 将自己的邻居节点表发送给探测节点;

●  节点通过对这些信息的收集, 更新维护的邻居节点表.每个节点对周围节点记录最近10次的发送延迟和发送成功率, 并使用这些数据对延迟和发送成功率进行计算.

这样, 当链路质量变化或者节点出现故障等破坏因素出现时, 周围节点可以迅速感知.通过这样的更新操作, 节点掌握两跳内的链接信息.

2.5 小结

本节提出了一种低延迟高鲁棒性的路由协议RDR, 首先对机会路由的优势进行了分析; 然后, 基于机会路由的思想设计了一种有效的高鲁棒性的路径探测机制, 通过探测找到源节点到目的节点的一条路径和沿途的协助转发节点; 然后分析了多播在数据传输阶段的优势, 并以此为依据, 提出一种动态的多播方法; 最后介绍了协议初始化和信息更新的相关细节.

3 实验仿真.

前文介绍了一种高鲁棒性低延迟的路由协议(RDR)理论上的建模和分析, 本节将通过仿真实验, 验证前文提出的协议各方面的性能表现.实验使用OMNeT++平台, 该平台对常见协议进行了封装, 并且由较好的GUI支持, 可以动态观察到协议运行情况.

3.1 高鲁棒性低延迟的路由协议的仿真实验

对于路由协议RDR, 仿真实验主要针对其延迟性能; 此外, 对传输成功率, 控制包数量等也进行了分析, 对比实验对比的协议主要是ADOV和传统的机会路由.AODV是经典的带有路径发现的协议[19], RDR在此基础上进行了深入优化, 所以对比实验选择了AODV, 机会路由选取延迟表现较好且较新的ORW[29], 该协议可以在低占空比下保证较好的延迟表现, 同时又是典型的机会路由; RDR也使用了机会路由的思想, 所以选择它来进行对比, 本文通过实验说明RDR与机会路由间的优劣.

3.1.1 多播有效性的实验

首先, RDR中使用了多播, 在第3.3.1节中对多播的提升做了理论上的分析, 得出结论是:多播的收益取决于链路的可预测性, 当可预测性越高时, 收益越小, 可预测性越低时收益越大.本节将设计一个实验验证多播的有效性.

选取一对源节点和目的节点, 网络的其他设置见表 2.

表 2  

分别使用1~5条路径进行数据发送, 得到结果如图 12所示.

Fig. 12 Link number v.s. delay increment 图 12 链路数量与延迟增量的关系图

可见:当使用1条路径时, 端到端延迟比理想状态长1ms左右; 而使用两条或多条链路, 则可以使延迟增量降低, 其中, 尤其以使用两条链路对延迟的优化效果最明显.由图 12可见:使用2条链路时, 延迟增量下降了将近一半; 而使用3~5条链路时, 虽然延迟也有所下降, 但是下降幅度不大; 同时, 使用多条链路会带来网络负载提升, 使用链路增加会显著提升拥塞发生的概率、能耗增加等副作用, 所以多播策略中只使用两条链路进行多播.由以上分析可以确定RDR的策略是可行并且高效的.

3.1.2 协议性能评估和分析

本节使用AODV和传统机会路由作为对比的实验, 分别从以下几个方面对协议性能进行评估.

(1) 端到端延迟;

(2) 数据发送成功率;

(3) 单跳延迟;

(4) 能量消耗.

实验使用的网络拓扑包含100~200个节点、300条链路, 节点随机部署在2维平面中, 由拓扑生成器直接生成.链路模型采用简单的延迟模型, 节点模型采用简单节点模型.实验的其他初始设定见表 3.

表 3  

(1) 端到端延迟的实验和分析

本实验首先使用5跳的源节点目的节点对, 丢包率取值从0.1~0.5.这里不选择更高的丢包率进行实验, 是因为过高的丢包率得到的数据不具有代表性; 同时, 在实际应用中, 如此高的丢包率也基本不存在.作为对比, 此处采用3种不同的协议对端到端延迟进行了实验, 其中, 在机会路由的实验中, 实验忽略了机会路由无法寻找目的节点的缺点, 将数据流向手动设置为正确的方向.同时, 实验只记录成功送达的数据包, 实验结果如图 13所示.可见:在丢包率较低的情况下, 3种协议的端到端延迟都较短, 而三者之间的差异主要是由于协议类型所引起的, AODV由于要重传, 偶然的丢包会使延迟增加, 但是由于丢包不多, 所以端到端延迟不是很大; RDR表现是最好的, 由于有协助节点, 所以基本不受偶然丢包的影响; 而机会路由由于每一跳都要进行探测和选择, 所以即使信道质量较好, 丢包率较低时, 延迟也不会特别短.当丢包率上升时, 可见对机会路由的影响并不大, 机会路由会根据路由代价动态地计算, 自动选择丢包少的链路; AODV则受到丢包影响较大, 基本呈线性关系, 因为丢包的发生会造成重传, 而AODV协议的丢包必然会造成延迟的增加; 反观RDR受到丢包影响不大, 在0.3~0.35处的陡增可能是因为所有helper均失效的情况发生, 而这种情况发生的概率很低, 所以延迟会变长, 但是不会增加太多, 总体延迟情况好于其他两种协议.

Fig. 13 Package loss ratio v.s. end-to-end delay 图 13 丢包率和延迟关系图

(2) 单跳延迟分析

由上节可知:当数据包丢包率较低的时, 3种协议的延迟性能都较好, 所以这里使用同上一节一样的网络配置, 并将数据包丢包率设置为0.1, 然后对3种协议的单跳延迟进行实验, 实验的结果如图 14所示.由实验结果可以发现:RDR和AODV协议的第1条延迟都特别的长, 而后面几跳延迟相对较短.这是由于这两个协议都是基于路径探测的, 当节点发送数据时首先要进行路径探测, 找到路径后才可以进行数据发送, 而路径探测需要花费一定的时间, 所以导致第1跳时间变长.对比两者发现:RDR在每一跳的单跳延迟都比AODV要短, 无论是探测的效率还是数据转发的效率, RDR都强于AODV.而机会路由由于是每一跳单独进行决策, 所以单跳延迟比较平均; 同时, 由于每一跳都需要探测并决策, 所以每一跳延迟都相对较长.

Fig. 14 Hop count v.s. one hop delay 图 14 跳数与延迟的关系图

(3) 发送成功率的实验和分析

本实验将节点密度设为100~200, 链路丢包率设为0.1, 其他设定如前.对3种协议的数据发送成功率进行了比较.实验结果如图 15所示.由图 15可以明显地发现, 数据发送成功率都很高.这主要是因为重传的存在, 即使偶尔发生丢包, 节点也会根据ACK进行判断, 并及时进行重传, 所以数据传输的成功率协议均可以得到保障.需要注意的是:RDR在节点分布密集的情况下反而成功率有所下降.原因由于节点分布密集, 从而导致不同的探测包和探测应答包发生碰撞引起的.而从结果上来看, 碰撞的影响并不是很大.

Fig. 15 Node density v.s. successful ratio 图 15 节点密度与发送成功率的关系图

(4) 能量消耗分析

除了基本数据包的传输, 控制包的数量直接影响了节点和网络的能量消耗, 本小节使用控制包数量作为度量, 分析RDR在能量消耗水平上的表现.控制包包括RTS/CTS、各种探测包和ACK, 这里使用与上节相同的网络设置, 对6种协议的控制包数量进行了仿真实验.实验结果如图 16所示.由图 16可以明显地看出:RDR在控制包数量上远少于AODV, 但是比机会路由略多一些.其原因是因为AODV协议使用的是任播(unicast), 这样会使网络中的数量急剧增加; 而RDR在进行广播之前会先进行选择, 只对选中的节点进行发送, 即使用的是(multicast), 所以会使控制包数量减少.而机会路由相对来讲只需要很少的控制包, 这是由于机会路由本身不需要进行路径探测, 只需要每个节点发送数据之前进行单跳内探测即可, 但其他两种协议需要进行路径探测, 所以控制包的数量必然会相应地多一些.虽然RDR控制包在控制包数量上多于机会路由, 但是本实验忽略了机会路由无法寻路的问题, 所以机会路由只能适用于特定的场景, 无法做到任意节点间的收发, 而RDR则不受影响.

Fig. 16 Node density v.s. quantity of control packages 图 16 节点密度与控制包个数的关系图

4 总结与展望

无线传感网中, 很多应用对数据的实时性要求很高, 这类应用除了对延迟有要求外, 还有对鲁棒性有很高的要求.针对这个挑战, 本文提出一种高鲁棒性低延迟的路由协议(RDR), 通过合理的路径探测, 保证任意节点间低延迟通信.在探测的过程中确定协助转发节点, 当数据发送失败时, 用这些协助转发节点可以协助数据转发, 以此增强鲁棒性.在数据发送阶段, 使用多播来动态选取路径, 保证数据从相对较好的路径被转发.最后, 对提出的协议进行了仿真实验和分析, 说明了本文所提出的协议的合理性和正确性.

下一步的工作包括:(1)增加对能量消耗的优化, 减少与数据无关的探测和转发, 使协议更加高效; (2)增加真实系统实现, 用系统实际运行结果验证协议的可行性.

参考文献
[1]
Losilla F, Garcia-Sanchez AJ, Garcia-Sanchez F, Garcia-Haro J, Haas ZJ. A comprehensive approach to WSN-based ITS applications:A survey. Sensors, 2011, 11(11): 10220-10265. [doi:10.3390/s111110220]
[2]
Liang S, Hu Y, Wang KZ, Xian XD. Design of landslide warning system based on wireless sensor network. Journal of Sensor Technology, 2010, 23(8): 1184-1188(in Chinese with English abstract). [doi:10.3969/j.issn.1004-1699.2010.08.028]
[3]
Tang Y, Zhou MT, Zhang X. Overview of routing protocols in wireless sensor networks. Ruan Jian Xue Bao/Journal of Software, 2006, 17(3): 410-421(in Chinese with English abstract). http://www.jos.org.cn/jos/ch/reader/view_abstract.aspx?flag=1&file_no=20060309&journal_id=jos
[4]
Heinzelman WR, Kulik J, Balakrishnan H. Adaptive protocols for information dissemination in wireless sensor networks. In: Proc. of the 5th Annual ACM/IEEE Int'l Conf. on Mobile Computing and Networking. ACM Press, 1999. 174-185. http://dl.acm.org/citation.cfm?id=313529
[5]
Intanagonwiwat C, Govindan R, Estrin D. Directed diffusion: A scalable and robust communication paradigm for sensor networks. In: Proc. of the 6th Annual Int'l Conf. on Mobile Computing and Networking. ACM Press, 2000. 56-67. http://xueshu.baidu.com/s?wd=paperuri%3A%288bc4ed1fd9557a47e06283d5b2cdd5f8%29&filter=sc_long_sign&tn=SE_xueshusource_2kduw22v&sc_vurl=http%3A%2F%2Fci.nii.ac.jp%2Fnaid%2F10026755804&ie=utf-8&sc_us=8312864776412760087&sc_as_para=sc_lib%3A
[6]
Yao Y, Gehrke J. The cougar approach to in-network query processing in sensor networks. ACM Sigmod Record, 2002, 31(3): 9-18. [doi:10.1145/601858]
[7]
Sadagopan N, Krishnamachari B, Helmy A. The ACQUIRE mechanism for efficient querying in sensor networks. In: Proc. of the 20031st IEEE Int'l Workshop on Sensor Network Protocols and Applications. IEEE, 2003. 149-155. http://xueshu.baidu.com/s?wd=paperuri%3A%28b3c1c8e55dbd65a6cfa0b2a4a437fb1b%29&filter=sc_long_sign&tn=SE_xueshusource_2kduw22v&sc_vurl=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D1203365&ie=utf-8&sc_us=2673647559647682428
[8]
Amadeo M, Campolo C, Molinaro A, Ruggeri G. Content-Centric wireless networking:A survey. Computer Networks, 2014, 72(7): 1-13. http://www.sciencedirect.com/science/article/pii/S1389128614002497
[9]
Heinzelman WR, Chandrakasan A, Balakrishnan H. Energy-Efficient communication protocol for wireless microsensor networks. In: Proc. of the 33rd Annual Hawaii Int'l Conf. on System Sciences, Vol. 2. IEEE, 2000. 10. http://doi.ieeecomputersociety.org/10.1109/HICSS.2000.926982
[10]
Marappan P, Rodrigues P. An energy efficient routing protocol for correlated data using CL-LEACH in WSN. Wireless Networks, 2016, 22(4): 1-9. http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=85c979056d2d937a10b86861093820a9
[11]
Shen B, Zhang SY, Zhong YP. Cluster-Based routing protocols for wireless sensor networks. Ruan Jian Xue Bao/Journal of Software, 2006, 17(7): 1588-1600(in Chinese with English abstract). http://www.jos.org.cn/jos/ch/reader/view_abstract.aspx?flag=1&file_no=20060713&journal_id=jos
[12]
Mehmood A, Lloret J, Noman M, Song H. Improvement of the wireless sensor network lifetime using LEACH with vice-cluster head. Ad Hoc & Sensor Wireless Networks, 2015, 28(1): 1-17. http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=647618d95545b5bac9314ba6f620bce3
[13]
Ma Z, Li G, Gong Q. Improvement on LEACH-C protocol of wireless sensor network (LEACH-CC). Int'l Journal of Future Generation Communication and Networking, 2016, 9(2): 183-192. [doi:10.14257/ijfgcn]
[14]
Zhang HY, Li YY, Liu YH. Research progress of routing protocols based on geographic location in wireless sensor networks. Computer Application Research, 2008, 25(1): 18-21(in Chinese with English abstract). [doi:10.3969/j.issn.1001-3695.2008.01.004]
[15]
Xu Y, Heidemann J, Estrin D. Geography-Informed energy conservation for ad hoc routing. In: Proc. of the 7th Annual Int'l Conf. on Mobile Computing and Networking. ACM Press, 2001. 70-84. http://doi.ieeecomputersociety.org/resolve?ref_id=doi:10.1145/381677.381685&rfr_id=trans/tm/2003/01/ttm2003010025.htm
[16]
Petrioli C, Nati M, Casari P, Zorzi M, Basagni S. ALBA-R: Load-balancing geographic routing around connectivity holes in wireless sensor networks. IEEE Trans. on Parallel & Distributed Systems, 2014, 25(3): 529-539. http://xueshu.baidu.com/s?wd=paperuri%3A%282e6175513c2717c42922fee1bcf21648%29&filter=sc_long_sign&tn=SE_xueshusource_2kduw22v&sc_vurl=http%3A%2F%2Fdl.acm.org%2Fcitation.cfm%3Fid%3D2587769&ie=utf-8&sc_us=15920322160475157567
[17]
Chang JH, Tassiulas L. Maximum lifetime routing in wireless sensor networks. IEEE/ACM Trans. on Networking, 2004, 12(4): 609-619. http://ieeexplore.ieee.org/iel5/90/29402/01331424.pdf
[18]
He T, Stankovic JA, Lu C, Abdelzaher T. SPEED: A stateless protocol for real-time communication in sensor networks. In: Proc. of the 200323rd Int'l Conf. on Distributed Computing Systems. IEEE, 2003. 46-55. http://xueshu.baidu.com/s?wd=paperuri%3A%286446b90f69a988aeb8427b25b29e2491%29&filter=sc_long_sign&tn=SE_xueshusource_2kduw22v&sc_vurl=http%3A%2F%2Fdl.acm.org%2Fcitation.cfm%3Fid%3D851919&ie=utf-8&sc_us=13269127053552755728
[19]
Lee SJ, Gerla M. AODV-BR: Backup routing in ad hoc networks. In: Proc. of the Wireless Communications and Networking Conf. (WCNC 2000), Vol.3. IEEE, 2000. 1311-1316. http://ci.nii.ac.jp/naid/10024111846
[20]
Johnson DB, Maltz DA, Broch J. DSR: The dynamic source routing protocol for multi-hop wireless ad hoc networks. In: Proc. of the Ad Hoc Networking. 2006. 139172. http://dl.acm.org/citation.cfm?id=374552
[21]
Biswas S, Morris R. Opportunistic routing in multi-hop wireless networks. ACM SIGCOMM Computer Communication Review, 2004, 34(1): 69-74. [doi:10.1145/972374]
[22]
Tian K, Zhang BX, Ma J, Yao Z. Opportunistic routing protocols for wireless multihop networks. Ruan Jian Xue Bao/Journal of Software, 2010, 21(10): 2542-2553(in Chinese with English abstract). http://www.jos.org.cn/jos/ch/reader/view_abstract.aspx?flag=1&file_no=3740&journal_id=jos
[23]
Chakchouk N. A survey on opportunistic routing in wireless communication networks. IEEE Communications Surveys & Tutorials, 2015, 17(4): 1-1. http://ieeexplore.ieee.org/document/7056450/
[24]
Zeng K, Yang Z, Lou W. Location-Aided opportunistic forwarding in multirate and multihop wireless networks. IEEE Trans. on Vehicular Technology, 2009, 58(6): 3032-3040. http://xueshu.baidu.com/s?wd=paperuri%3A%2861df9bf3d907efad37dd1edc97e993ea%29&filter=sc_long_sign&tn=SE_xueshusource_2kduw22v&sc_vurl=http%3A%2F%2Fieeexplore.ieee.org%2Fdocument%2F4731844%2F&ie=utf-8&sc_us=10174191195318860290&sc_as_para=sc_lib%3A
[25]
Erramilli V, Crovella M, Chaintreau A, Diot C. Delegation forwarding. In: Proc. of the Acm Int'l Symp. on Mobile Ad Hoc Networking & Computing. DBLP, 2008. 251-260.
[26]
Fang X, Yang D, Xue G. MAP: Multiconstrained anypath routing in wireless mesh networks. IEEE Trans. on Mobile Computing, 2013, 12(10): 1893-1906.
[27]
Zhang X, Li B. Dice: A game theoretic framework for wireless multipath network coding. In: Proc. of the ACM Int'l Symp. on Mobile Ad Hoc Networking and Computing. ACM Press, 2008. 293-302. http://dl.acm.org/citation.cfm?id=1374658
[28]
Pavković B, Theoleyre F, Duda A. Multipath opportunistic RPL routing over IEEE 802.15.4. In: Proc. of the Int'l Symp. on Modeling Analysis and Simulation of Wireless and Mobile Systems (MSWIM 2011). Miami: DBLP, 2011. 179-186. http://dl.acm.org/citation.cfm?id=2068929
[29]
Ghadimi E, Landsiedel O, Soldati P, Duquennoy S, Johansson M. Opportunistic routing in low duty-cycle wireless sensor networks. ACM Trans. on Sensor Networks, 2016, 10(4): 1-39. http://dl.acm.org/citation.cfm?id=2533686
[2]
梁山, 胡颖, 王可之, 鲜晓东. 基于无线传感器网络的山体滑坡预警系统设计. 传感技术学报, 2010, 23(8): 1184-1188. [doi:10.3969/j.issn.1004-1699.2010.08.028]
[3]
唐勇, 周明天, 张欣. 无线传感器网络路由协议研究进展. 软件学报, 2006, 17(3): 410-421. http://www.jos.org.cn/jos/ch/reader/view_abstract.aspx?flag=1&file_no=20060309&journal_id=jos
[11]
沈波, 张世永, 钟亦平. 无线传感器网络分簇路由协议. 软件学报, 2006, 17(7): 1588-1600. http://www.jos.org.cn/jos/ch/reader/view_abstract.aspx?flag=1&file_no=20060713&journal_id=jos
[14]
张衡阳, 李莹莹, 刘云辉. 基于地理位置的无线传感器网络路由协议研究进展. 计算机应用研究, 2008, 25(1): 18-21. [doi:10.3969/j.issn.1001-3695.2008.01.004]
[22]
田克, 张宝贤, 马建, 姚郑. 无线多跳网络中的机会路由. 软件学报, 2010, 21(10): 2542-2553. http://www.jos.org.cn/jos/ch/reader/view_abstract.aspx?flag=1&file_no=3740&journal_id=jos