耿 志
(宸芯科技有限公司,上海 200120)
近年来,地质灾害、火灾等各种突发的自然灾害及公共安全事件时有发生,严重危及人们生命财产安全,政府愈发重视应急产业的发展。无线自组织网络因其具有的无中心、自组织、抗毁能力强等特性,能够在蜂窝式移动通信系统或者无线局域网遭到破坏,基本的通信业务得不到保障的情况下,快速建立起第一道应急通信系统,被逐渐应用到公共安全、应急救援等领域[1-2]。当前的应急救援对现场视频的实时传输以及图像等多媒体消息传输有着迫切需求[3],这对网络的带宽提出了更高要求,因此对宽带自组网路由协议的研究具有重要意义。
由于信道资源有限以及网络中节点的移动性等因素,常常使宽带自组网承载的多媒体业务服务质量(Quality of Service,QoS)要求得不到满足。近年来,国内外研究者们已针对不同的场景提出了各种QoS感知的路由协议来解决这一关键问题。从整体研究来看,这些QoS感知路由协议[4-12]主要目的是增强某些参数,如吞吐量、抖动、延迟和数据包传递率,但对于多业务共存的网络可能无法兼顾不同业务的QoS需求,也无法充分利用网络资源。因此,本文基于DSDV(Destination-Sequenced Distance-Vector Routing)协议提出一种业务感知的自组网路由协议,根据不同业务的QoS需求建立节点间的不同路由,并感知业务类型进行路由查询。
为了使节点能够及时获取到目的节点路由,快速转发数据,并且考虑到在应急通信网络中节点移动速度相对较低,在远距离传输模式下拓扑结构相对稳定,且本文研究的网络规模中等,因此提出一种基于主动式路由协议DSDV的改进方案,根据不同类型业务的QoS需求选择各自合适的参数来度量路径的优劣,最终建立到目的节点的不同路由。当节点接收到数据包后,节点首先区分是哪一类型的业务,再向路由管理模块查询路由,这样可在一定程度上避免不同业务经过同一个节点导致时延敏感业务的QoS得不到满足。此外,为进一步保障语音业务的时延要求,根据不同类型的业务对时延敏感程度的不同,将业务划分为不同的转发优先级,如表1所示,语音作为应急通信中的首要业务[3],对时延要求苛刻且业务数据量不大,因此设定语音具有更高的转发优先级,节点优先转发语音业务。
表1 业务转发优先级划分
图1所示为本文提出路由算法的设计流程图,将业务分为时延敏感业务和非时延敏感业务两类,节点分别创建并维护这两类业务的路由表。
图1 路由算法流程
路由表的更新和维护流程如图2所示,节点只处理来自相邻节点路由通告消息,根据路由通过中携带的目的节点与本地路由表中的目的节点序列号的大小关系按图2中的流程分别作处理。
图2 路由表维护流程
本设计中节点入网前由主控节点判断是否允许接入,允许接入后占用一个固定的无线帧资源;节点入网后根据接收到的邻节点系统消息,得到两跳以内节点的拓扑情况、可用的无线帧以及节点本身待发业务量等信息,获取无线资源。图3所示为本设计的无线帧结构,参考LTE FDD类型帧结构设计,其中一个无线帧(Radio Frame,RF)长度为10 ms,由10个1 ms子帧组成,发送子帧和接收子帧个数比为4∶1,每个子帧由SLOT0和SLOT1两个时隙构成,每个时隙包含若干资源块(Physical Resource Block,PRB)。32个无线帧组成一个复帧(Multi-frame),目前本设计中节点至少占用一个无线帧资源,因此网络最大可支持32个节点数。节点接收到IP数据后解析判断或递交到AP或转发或丢弃,若需转发则要等待所占用的下一个无线帧到来。
图3 本设计的帧结构
节点入网后,会创建自己的时延敏感业务路由表和非时延敏感业务路由表,并广播到全网;节点收到邻节点入网的消息后,会根据自己保存的全网路由构造路由通告消息并广播,使刚入网的节点快速建立其全网路由。
表2为节点创建的路由表结构,与原路由表相比增加了节点到目的节点路径上的最小传输块大小(MTBsize)。引入该参数的作用在于,在时延敏感业务等待发送时间内,若节点缓存队列里到某目的节点待发的时延敏感数据包大小(PacketSize)比保存的路由表中该参数大,那么在与邻节点进行路由信息交互时,会切换到一条到达目的节点的MTBsize大于PacketSize并且路径时延不增的新路由;此外在节点运动过程中,当两节点逐渐远离时,经过这两个节点的路径上的MTBsize会越来越小,当MTBsize低于某个阈值时,也会切换到链路质量更好的路由,避免了因链路失效再获取新路由导致的数据丢包问题。
节点周期性或路由有更新时广播路由通告消息,邻节点根据图1所示的流程处理接收到的路由通告消息。时延敏感业务路由与非时延敏感业务路由的处理流程是一样的,区别在于节点计算与邻节点间的路由度量值。
对于时延敏感业务路由是以路径时延为度量参数,主要考虑平均等待发送的时间,即接收数据的无线帧距离下一个无线帧的时间间隔。
假设节点占用的无线帧均匀分布,那么当节点占用无线帧个数为NRF时,需要等待的间隔
式中:「·⎤为向上取整。
每个可能的等待间隔出现的接收位置均有NRF个,概率为1/32,则平均等待发送时间Twait为
(1)
当节点占用无线帧个数NRF为32的因数时,式(1)即为
(2)
式中:LRF为一个无线帧长度,本设计为10 ms。节点占用RF个数越多,等待时间越小,路径越优。
而非时延敏感业务路由以空口传输能力为度量参数。物理层根据邻节点间的链路质量计算出本节点与邻节点间一个子帧空口最大传输块大小(Transmission Block Size,TBsize),那么节点N与相邻节点间的路由度量定义为
(3)
式中:D为节点N到邻节点的待发数据量;NRF为节点占用的RF个数;STB为一个子帧空口最大传输块大小。路由度量与空口最大传输能力成反比,路由度量越小,表示路径越优。
当节点接收到邻节点的路由通告消息后,计算与邻节点间的路由度量值,与从路由通告中获取到的邻节点到目的节点路径度量值之和,即为本节点与目的节点间的路由度量值。换言之,源节点S与目的节点D间的某条路径的度量值可表达为所有相邻节点间度量值的求和:
(4)
若接收到的新路径的度量值好于本地保存路径度量值达到某一阈值时则进行路由切换,否则仍使用当前路由,避免路由的频繁切换。
由于节点经常会先后收到多个到同一目的节点并具有相同序列号的路由通告信息,若路由通告中的到目的节点路由度量与本地保存的不同,将进行路由更新,这会触发节点频繁地发送路由通告信息,浪费了带宽,引起路由信息在网络中波动,影响路由的稳定性和算法收敛性,进而影响网络的业务传输性能。为有效防止这种路由波动问题,本方案给每个节点的路由表添加一个表项——路由收敛时间AST。首先计算上一次序列号更新后,路由度量的稳定时间ST为
ST=Troute_change-Tsequence_change。
(5)
式中:Troute_change为本次序列号更新前最新的路由度量更新时间;Tsequence_change为上一次序列号更新时间。
当节点收到带有新的序列号的路由信息时,仍然按照处理流程更新它的路由表,但是它不会立即广播它的路由信息,而是等待一段时间以后再广播。等待时间定义为2·ASTn,其中ASTn为序列号更新后的加权收敛时间
ASTn=α·ASTn-1+(1-α)·ST。
(6)
式中:α为加权系数,初始化值为0.875;ASTn-1为序列号更新前的加权收敛时间,初始化AST0=6 s。
本文仿真是在基于64位Win7系统下使用OPNET进行的,网络同时承载语音业务和大负载数据业务。依据RFC2051 MANET Performance Issues中的自组网性能评价标准,本文选取语音业务端到端时延和数据业务分组投递率两个指标来评价宽带自组网业务感知路由的性能,分别在不同条件下对比分析表3所列场景下语音业务端到端时延和数据业务分组投递率的性能表现。各场景下除表3所列配置不同外,其他配置均相同。
表3 网络业务及路由配置
性能指标定义:
(1)语音业务端到端时延:仿真时间内语音数据包从源节点AP到达目的节点AP的平均时延。
(2)语音业务网络时延:整个网络所有节点语音业务端到端时延的平均值。
(3)数据业务分组投递率:网络中应用层接收到数据分组与发送数据分组总个数之比。
仿真参数配置如表4所示。
表4 仿真参数配置
为验证本文提出的基于业务类型及优先级区分的宽带路由策略(记作业务感知路由)的有效性,比较单语音业务、多业务(语音+数据)网络中业务感知路由、非业务感知路由的语音时延表现。
图4给出了网络规模为16节点时静态拓扑下语音时延随跳数变化情况。可以看出,业务感知路由与网络仅存在语音业务情况下的语音端到端时延相差不大,说明本文提出的业务感知路由可以保证多业务网络中语音业务时延要求,不会影响到应急语音通信。此外,随着端到端跳数的增加,相比于非业务感知路由,业务感知路由对语音业务端到端时延有明显降低。这是因为当节点同时转发语音数据包和分组数据包时,非业务感知路由不对业务类型进行区分,会导致时延敏感的语音数据包排队时间长从而时延更大,这种影响会随着源节点和目的节点之间的跳数增加而增加。
图4 语音端到端时延随跳数的变化
图5给出了网络规模分别为2、4、8、16、32节点时语音业务网络时延变化情况。可以看出,随着网络规模的扩大,语音业务网络时延逐渐增大,且相比于非业务感知路由,业务感知的语音业务网络时延性能优化越明显。这是因为节点数变多时,节点占用个无线帧个数减少,根据式(1)可以看出,语音数据包等待发送的时延会随之增大;并且当节点同时转发语音数据包和分组数据包时,占用无线帧个数越少,分组数据包的发送时间越长,这样当语音数据包排在分组数据包后面时,等待发送的时延就越长。而业务感知路由对语音和数据业务在路由上进行了区分,选择转发语音和数据业务的中继节点不同,即使一些场景下选择了相同的中继节点,本文对不同业务的转发优先级进行划分,节点会优先转发时延敏感的语音业务,加强对应急语音通信的QoS需求保障。
图5 语音数据网络时延随网络规模的变化
在应急通信场景下,整个救援系统由救援指挥人员、救援人员、救援车辆以及救援无人机等组成,它们在移动性上存在差异。因此,本文评估了三种路由策略在不同移动性水平下的性能。网络规模为12节点,各节点按照Random Waypoint(Record Trajectory)移动模型移动,节点移动速度5~25 m/s,图6给出了语音数据网络时延随节点移动速度的变化关系。可以看出,随着节点运动速度的提高,三种路由的语音数据网络时延呈上升趋势且上升幅度不大。节点移动速度从5 m/s到25 m/s,多业务时非业务感知路由的语音数据网络时延增大50 ms左右,而业务感知路由仅增大20 ms左右。因此,业务感知路由有效降低了多业务网络中的语音数据网络时延。
图6 语音数据网络时延随移动速度的变化
在多业务网络中,不仅要关注语音业务时延的性能表现,还要兼顾其他业务的性能。图7~9为多业务网络中不同条件下业务感知与非业务感知两种情况下的网络中数据业务分组投递率的对比。
图7给出了网络规模为16节点时静态拓扑下数据业务分组投递率随跳数变化情况。可以看出,相同跳数下,本文提出的业务感知路由比非业务感知路由的分组投递率略好一些。
图7 分组投递率随跳数的变化
图8给出了网络规模分别为2、4、8、16、32节点时数据业务分组投递率变化情况。可以看出,随着网络规模的扩大,数据业务分组投递率逐渐降低。这是因为网络节点个数越多时,节点占用的无线帧越少,空口传输能力不足,从而使分组投递率随之降低。并且从结果上看,在多业务网络中相同网络规模下,业务感知路由比非业务感知有着更高的分组投递率。
图8 分组投递率随网络规模的变化
图9给出了节点移动速度分别为5、10、15、20、25 m/s时数据业务分组投递率的变化情况。可以看出,随着节点移动速度的逐渐提高,两种路由的分组投递率基本一致且两种路由数据业务分组投递率均略有下降,但下降幅度不大。因为根据式(3),数据业务路由度量参数为路径的传输能力,所以当节点间链路质量下降时路由度量会逐渐增大,在链路断开前路由管理模块就能有所感知,提前切换到链路质量好的路径,从而减少了因链路失效导致的明显丢包。
图9 分组投递率随移动速度的变化
本文提出了一种应急通信中业务感知的宽带自组网路由策略,将业务划分为时延敏感和非时延敏感两种类型,分别在节点间建立对应的两种路由,将网络承载的多种类型业务分布在不同的路径上,可潜在地缓解拥塞,降低端到端时延。仿真结果表明,在多业务网络中,本文提出的业务感知路由,语音业务端到端时延性能远好于非业务感知路由,且与只存在语音业务的网络时延在相近水平,网络承载的数据业务在分组投递率方面也略优于非业务感知路由,可见本文提出的路由策略在一定程度上可以同时兼顾网络中不同类型业务的QoS需求,为应急通信中支持多媒体传输的自组网路由算法设计提供了一定参考。另外,该策略具有一定可拓展性,后续可根据网络承载的其他业务的QoS需求设计度量准则,进一步拓展路由。