端嘉盈
(中国铁道科学研究院集团有限公司电子计算技术研究所,北京 100081)
路由选择算法是网络层设计的一个主要任务,负责将数据从源节点通过网络转发到目的节点,它的主要功能是寻找源节点和目的节点间的优化路径并将数据沿着优化路径正确转发[1-2]。
无线传感器网络与传统的无线网络协议不同使其受到能量消耗的制约,并且只能获取到局部拓扑信息,因此,无线传感器的路由协议需考虑节点能量消耗以及网络能耗均衡的问题。无线传感器网络为了节省通信能量,通常采用多跳的通信模式,因此节点如何在只能获取到局部拓扑信息和资源有限的情况下实现简单高效的路由机制,是无线传感器网络研究的一个基本问题[3-5]。
随着无线传感器网络的广泛使用,以线性拓扑网络为基础的无线传感器网络越来越多的使用在河流、道路、管道、高压电线等线性对象的监测中。无线传感器网络节点的能量有限,因此针对线性拓扑的无线传感器网络能量消耗的研究很有意义,传统的路由协议可以在一定程度上解决能耗均衡的问题,但是,传感器具有很强的应用相关性,不同应用中的路由协议差别很大,没有通用的路由协议,需要针对每一个具体应用的需求,设计与之适应的特定路由机制[6-8]。王伟研究了长距离带状拓扑结构的无线传感器网络,设计了一种长距离带状网络环境下的分簇路由协议[9]。Abraham O提出了一种基于基站控制的簇头轮换的QoS路由协议(QBCDCP)[10]。PEAS算法是一种通过维持必要的工作节点,关闭冗余节点的方法维持网络具有长生命周期的节能的WSN路由算法[11,12]。潘必平提出了采用粒子群算法优化的分簇路由算法,用于解决线性无线传感器网络中路由路径较为单一,热区明显等问题[13]。王楠针对监测点位置事先确定的线性路由问题,提出一种等距离分组多跳路由协议[14]。
铁路沿线监测区域呈狭长带状特点,为了对其环境情况进行实时监测,需将传感器线性部署在铁路沿线,因此,铁路沿线无线传感器网络是典型的线性无线传感器网络,若套用现有的路由协议存在一个普遍的问题就是缺乏对监测区域环境条件的适应性。针对铁路沿线的线性无线传感器网络的具体应用场景,设计出一种适应于铁路沿线线性拓扑无线传感器网络的基于信息分级的能耗均衡路由协议。
随着无线传感器网络技术的发展成熟,为铁路沿线的基础设施、设备和自然环境全天候的实时监测提供了技术保障。铁路沿线需要监测的对象种类繁多,传感器的安装位置由监测对象的特点决定,大体成线性分布在铁路沿线。为了将这些传感器采集的信息汇总到路局中心,根据实际情况可知,在铁路沿线每隔固定距离设置有GSM-R机房,机房内有铁路有线专网,只需采用无线传感器网络将传感器采集的信息汇聚到机房便可发送至路局中心。由于传感器节点布置分散,有的传感器距离机房较远,若所有传感器都与机房之间各自布置中继节点直接通信,会造成节点布置繁多、成本高和通信信道互相干扰的问题。因此,本文设计的无线传感器网络由传感器节点、轨边汇聚节点、基站汇聚节点以及中继节点组成,如图1所示。各类传感器节点将采集的信息通过无线方式发送至轨边汇聚节点,再由轨边汇聚节点通过中继节点多跳传输至机房汇聚节点,最后由机房汇聚节点通过铁路专网将这些信息发送至路局中心。路局中心下达的查询命令通过同样的方式反向发送给传感器节点[15]。
图1 铁路沿线WSN节点布置示意
由图1可知,轨边汇聚节点将铁路沿线分为若干个分区,为了避免“能量空洞”问题,延长网络生命周期,同一分区内的中继节点均匀布置,不同分区间的中继节点非均匀布置,距离机房汇聚节点越近的分区内的中继节点布置越密集[16]。
建立的铁路沿线无线传感器网络满足以下条件或假设:
①网络中所有的节点被分配有唯一的ID,所有节点都参加和转发给定的数据;
②中继节点的初始能量是固定的,处理能力、存储空间和节点能量是有限的;
③节点布置之后,节点的地理位置固定;
④节点可以测量需要的参数,比如通信可靠性和当前剩余能量;
⑤通过数据融合后数据包的大小相同;
⑥节点的发射功率只能满足相邻节点之间以及相隔一个的节点之间通信,再远的节点之间无法直接通信;
根据铁路沿线无线传感器网络原型可知,每个轨边汇聚节点需要汇聚周围不同的感知节点的信息,这些感知节点监测的对象不同,监测对象所处的状态不同,包含不同信息的数据包的重要程度会有较大的差异,在进行数据包传输的过程中,要使重要的信息能够快速地、高效地发送至路局中心。因此,有必要针对该问题设计线性无线传感器网络路由协议,通过中继节点将轨边汇聚节点汇聚的数据包按照信息的重要程度依次传输至机房汇聚节点处,同时,由于中继节点的能量有限,该路由协议必须均衡使用有限的能量,使网络的生命周期最长。该线性网络可以简化如图2所示。
图2 线性无线传感器网络示意
图2中,节点A表示轨边汇聚节点,节点B表示机房汇聚节点,节点A与B之间布置了n个中继节点,由于传感器节点与轨边汇聚节点之间的数据传输不是本文的研究重点,因此传感器节点在图中不体现。
受限于节点的发射功率,节点在发送数据包时,只能满足相邻节点之间以及相隔一个的节点之间通信,再远的节点之间无法直接通信。因此,数据包在线性网络的传输中,仅存在两种转发方式,即数据包由第Li个节点转发到第Li+1个节点的过程,称之为单跳转发方式;数据包由第Li个节点转发到第Li+2个节点的过程,称之为双跳转发方式。
传感器节点采集的数据包具有不同的重要程度,当这些数据包到达轨边汇聚节点时,对数据包的优先级进行设定。为了降低优先级高的数据包的传输时延,提高优先级高的数据包传输的可靠性,文中通过减少优先级高的数据包的转发次数和减少优先级高的数据包在轨边汇聚节点的排队时延两种方式实现,分别建立数据包转发模型和数据包排队模型。
数据包的转发模型由两部分组成,一部分是数据包的优先级划分,以及根据该数据包的优先级计算其在传输过程中使用的两种转发方式的次数;另一部分是以能耗均衡为前提,以网络寿命最长为目标,根据中继节点的初始能量,计算每个中继节点可以使用的两种转发方式的初始次数。
(1)数据包的优先级及转发方式
优先级最高的数据包应尽可能多地使用双跳的方式转发数据包,虽然消耗了较多的能量,但是可以使数据包更快更可靠地发送至机房汇聚节点;优先级低的数据包应采用单跳的方式转发数据包,以减少网络的能耗。
线性网络中共有n个中继节点,数据包的优先级共分为K+1个优先级,从0级到K级,其中K级为最高优先级,0级为最低优先级。
(1)
在对最高优先级K级的数据包进行传输时,采用最多的双跳方式转发该数据包,则最高优先级K的数据包的双跳方式转发次数为
(2)
最高优先级K的数据包的总转发次数为
NK=n+1-MK
(3)
优先级k的数据包的双跳方式转发次数为
Mk=MK-k+1
(4)
优先级k的数据包的总转发次数为
Nk=n+1-Mk
(5)
优先级0的数据包的双跳方式转发次数为
M0=0
(6)
优先级0的数据包的总转发次数为
N0=n+1
(7)
因此,优先级的级数和该优先级的数据包所需要的双跳的跳数在数值上一致。
(2)中继节点的两种转发方式的初始次数
线性无线传感器网络的数据传输消耗的能量满足典型的无线传感器网络能量耗费模型[17]。
(8)
ERx=l×Eelec
(9)
式(8)表示发射l比特数据损耗能量ETx的计算公式,包括两部分:发射电路损耗和功率放大损耗。Eelec为发射电路的损耗能量,功率放大损耗则根据发送者和接收者之间的距离不同采用不同的模型:当d 设中继节点之间的距离为d,第Li个节点发送一个数据包到第Li+1个节点消耗的能量为s,第Li个节点发送一个数据包到第Li+2个节点消耗的能量为S,第Li个节点接收一个数据包消耗的能量为r,中继节点初始能量为E,网络全生命周期内传输的数据包总数量为Q。pi为第Li个节点可以使用的单跳转发方式的次数;qi为第Li个节点可以使用的双跳转发方式的次数。因此,节点应该满足能量约束条件,如式(10)所示。 (10) 信息从轨边汇聚节点传输至机房汇聚节点的过程中,每两个相邻节点之间流过的数据包的总数,都等于轨边汇聚节点总共发送的数据包数,也等于机房汇聚节点总共接收的数据包数,将该原则定义为流量守恒原则。根据该原则,可知每个节点转发的数据包数应满足流量守恒约束条件如式(11)所示。 (11) (12) 为了使网络的使用寿命最长,采用网络在全生命周期内总共发送的数据包数量为网络寿命的衡量指标,当网络寿命最长时,网络传输的数据包总数量最多,则模型的目标函数为 (13) 当Q为最大值时,求得 (14) 根据该模型可知,当第Li个节点的两种转发方式的次数满足式(14)时,网络寿命最长。 数据包从轨边汇聚节点传输至机房汇聚节点的总传输时延,包括数据包在轨边汇聚节点处的排队时延、处理时延及其在其他节点的转发时延。 轨边汇聚节点可以接收来自多个数据源的数据,都通过中继网络传输至机房汇聚节点。由于很多数据可能同时到达轨边汇聚节点,因此在轨边汇聚节点设置一个缓冲队列,设为NQ0,NQ1,NQ3,…NQK,其中NQK为优先级为k的数据包的队列,队列总长度为 (15) 为了减小优先级高的数据包的排队时延,采用非强占优先权M/M/1排队系统:假定系统中有两类顾客,第一类顾客较第二类顾客具有非强占优先权是指,队列中的第一类顾客优先插队排在第二类顾客队伍前面先接受服务,若第一类顾客到达时第二类顾客正在接受服务,第一类顾客只好等待,直到第二类顾客被服务完毕,才可以接受服务员(台)服务[18]。 采用该策略,轨边汇聚节点对所有数据包根据优先级排序,将优先级高的数据包排在队头,优先级低的数据包排在队尾,优先级低的数据包只能在优先级高的数据包传输完成后进行数据传输,优先级低的数据包在传输的过程中不会因为优先级高的数据包的到来而停止传输。 轨边汇聚节点非强占优先权M/M/1排队系统假设如下[19]: ①轨边汇聚节点接收来自多个数据源的数据包,传感器网络采用CSMA/CA协议,不会发生两个数据包同时到达轨边汇聚节点的情况; ②数据包分为K+1个等级,第K级享有最高优先权,第K-1级享有次优先权,…,第0级享有最低优先权: ④轨边汇聚节点为每一级别的数据包服务的时间均服从参数为μ负指数分布,平均服务时间为1/μ,平均服务率为μ; ⑤Tk为第k级数据包所需的服务时间,1≤k≤K; ⑥T为系统的服务时间。 那么 (16) 由于第0级至第K级数据包均是相互独立的Poisson流,因此,在任何时刻到达轨边汇聚节点的数据包属于第k级1≤k≤K的概率为λk/λ。系统的平均服务时间为 (17) (18) 当有优先权级别高的数据包到达轨边汇聚节点时,发现轨边汇聚节点正在处理其他数据包,则该数据包不能强占轨边汇聚节点进行服务,而只能排在比其优先级别低的数据包前排队等待[20-21]。 第K级数据包的平均排队等待时间为 (19) 第f级数据包的平均排队等待时间为 (20) 因此,第K级数据包的总传输时延为 (21) τ为其他节点的转发时延。 第f级数据包的总传输时延为 (22) 本文设计的线性无线传感器网络路由协议分为路由建立、数据包优先级排序和数据传输3个步骤。 在初始路由建立阶段,由轨边汇聚节点根据数据包转发模型求解所有节点的单跳转发方式的初始次数(pi)和双跳转发方式的初始次数(qi),并通过广播的方式分发给所有节点。每个节点维护的路由表信息仅包括该节点的两种转发方式的可用次数。 当数据包传输至轨边汇聚节点时,轨边汇聚节点对数据包根据优先级进行排序,根据数据包转发模型计算数据包在传输的过程中需要进行的双跳方式的转发次数Mk,并记录在数据包中。再根据数据包排队模型在轨边汇聚节点采用非强制优先权排队系统依次发送数据包。 在数据包传输的过程中,第Li个节点接收到数据包后,若数据包需要进行的双跳方式的转发次数Mk>0,且第Li个节点可以使用的双跳方式的转发次数qi≥1,则使用双跳方式转发数据包,同时数据包需要进行的双跳方式的转发次数Mk-1,将该节点的可以使用的双跳方式的转发次数qi值也减小1。若数据包需要进行的双跳方式的转发次数Mk>0,但节点可以使用的双跳方式的转发次数qi值为0,则使用单跳方式转发数据包,该数据包内需要进行的双跳方式的转发次数Mk不变。若数据包需要进行的双跳方式的转发次数Mk=0,则使用单跳的方式转发数据包。数据包传输过程流程如图3所示。这种由节点自主选择数据包的转发方式的过程称之为“智能转发”。 图3 数据包传输过程流程 选用网络仿真工具NS2[22]对本文设计的路由协议进行仿真实验,并对实验结果进行分析评估。 (23) 仿真实验参数设置如表1所示。 表1 仿真参数 对具有5个中继节点的线性无线传感器网络进行仿真100次,可以得到网络中优先级分别为0、1、2、3四种优先级数据包分别发送的数量,如图4所示。 图4 不同优先级数据包的发送数量 将文中提出的该路由协议称为方式Ⅰ,与以下两种数据传输方式进行对比。 方式Ⅱ:轨边汇聚节点处的排队方式不采用非强制优先权排队系统,而采用“先到先服务”排队系统。 方式Ⅲ:不考虑数据包划分优先级,也不采用智能转发的方式,所有的数据包均依次逐跳进行传输。 经过100次仿真实验可知,这3种数据传输方式下的线性无线传感器网络传输的数据包总数量,如图5所示。其中,方式Ⅰ和方式Ⅱ的传输数据包总数量大致相同,则这两种方式的网络寿命大致相同,方式Ⅲ传输的数据包总数量较少,则该方式下网络寿命略小。 图5 数据包传输数量对比 针对具有5个中继节点的网络进行100次仿真,可以得到方式Ⅰ和方式Ⅱ两种传输方式下,网络中优先级分别为0、1、2、3四种优先级的数据包的传输时延。通过仿真得到两种传输方式的时延对比,如图6所示。 图6 传输包传输时延对比 由图6可知,通过采用文中非强制优先权排队系统的方法,虽然优先级较低的数据包的传输时延有所增加,但是优先级最高的数据包的传输时延得到了有效的降低,提高了优先级别较高的数据包传输的及时性。 采用该方式是使数据包的排队时延分摊在不同优先级别的数据包上,使得WK 本文针对铁路沿线无线传感器网络的特点,设计了一种适应于铁路沿线线性拓扑无线传感器网络的路由协议。协议提出了根据传感器采集的信息的重要程度对数据包进行优先级排序,对不同优先级的数据包采用不同的转发方式,使得优先级高的信息可以得到快速、高效的转发。建立了数据包转发模型和数据包排队模型,采用减少优先级高的数据包的转发次数和减少优先级高的数据包在轨边汇聚节点的排队时延两种方式,减少优先级高的数据包的总传输时延。以网络全生命周期内传输的数据包总数量为网络寿命的衡量指标,均衡使用节点能量,使网络寿命最长。 仿真实验表明:采用该路由协议可以均衡使用网络能量,同时使得优先级高的数据包具有较小的传输时延。在以后的研究中,在此路由协议的基础上,应考虑节点的故障问题,可采用增加备用节点的方式。3.2 数据包排队模型
4 路由协议
4.1 路由建立
4.2 数据包优先级排序
4.3 数据包传输
5 仿真与分析
5.1 仿真实验环境
5.2 仿真对比实验分析
6 结语