具体实施方式
下面将结合附图和实例对本发明作进一步的说明。
本发明所要求解的联合路由协议设计问题是:在面向地面短时突发业务情况时,为无人机通信网络设计一个能够有效缓解网络拥塞,降低网络延迟,提高网络吞吐量的路由协议。为了这个目标,本发明提出了一个新的联合路由决策方案,该方案综合考虑了网络的拥塞状况和最短路由信息;同时,本发明提出了一种被动式邻居发现策略。具体地,本发明构建了一个低维护开销、轻量级、易于实现的无人机队列模型,FWBQ模型。在此模型的基础上,本发明设计了一个联合的路由决策变量,该决策变量能够同时反映链路的状态信息,无人机的队列拥塞信息和最少跳数信息。接下来,本发明设计了一个新的数据分组包头格式,从而使得具有低的网络拓扑维护开销的被动式的邻居发现策略得以实现。
通过一个空间图(Space Graph)来描述本发明要解决的无人机通信网络的联合路由协议的设计问题。用一个二元组G=(N,L)表示一个无线通信网络,其中N是一系列的无人机,L表示一系列的通信链路。为了描述的方便,从此处开始,本发明用“节点”替换“无人机”展开说明书的描述。如果L中存在lij,那么表明网络中存在链路(i,j),且本发明利用Ni表示节点i的邻居节点的集合。假设无人机通信网络是一个时隙系统,t表示时隙,在每个时隙中,sij(t)表示链路lij的瞬时信道状态,其中节点i和节点j分别是链路lij的发送节点和接收节点,此时,网络信道状态矩阵可以记为S(t)=[sij(t)]。在每个时隙t,一个网络控制器将会根据一个功率分配矩阵P(t)∈Π确定每一条链路的传输速率,其中Π表示分配的功率的一个紧集。
再考虑一个队列,队列的输入过程为A(t),传输速率过程为u(t),其中,A(t)表示在时隙t内新进入队列的业务的总量,u(t)表示在时隙t内从队列传输出去的业务的总量。本发明假设A(t)在时隙t结束时到达,也就是说无法在时隙t内传输业务流。令U(t)表示队列的当前拥塞量,U(t)的更新公式为,
U(t+1)=[U(t)-u(t)]++A(t)
其中,[t]+=max(t,0)。
在无人机网络中,无人机队列的业务到达过程A(t)可能由两个部分组成,其一是外部网络到达的业务,例如地面网络中的业务接入到无人机网络中;其二是内部网络到达的业务,即,由上一跳节点传输到达的业务。u(t)由随时间变化的信道状态和分配的网络资源两个因素共同决定。
另外,本发明假设无人机能够覆盖地面终端的必要条件是无人机与地面终端之间的链路(简称空地链路)满足一定的服务质量要求(Quality of service,QoS),例如,空地链路的衰落必须小于某个常数。本发明采用Al-Hourani等人提出的方法对空地链路进行建模(参考文件4:Optimal LAP altitude for maximum coverage;A Al-Hourani,SKandeepan,S Lardner;《IEEE Wireless Communications Letters》,2014,3(6):569-572),另外,本发明利用自由空间衰落模型对空空链路进行建模。
为了设计本发明的无人机通信网络的路由协议,首先需要设计无人机通信网络的路由决策,其次需要设计无人机通信网络的邻居发现过程。本发明的提出的联合路由协议进行了如下改进和创新:
(1)提出了两个瞬时功率的概念,分别是队列瞬时功率和传输瞬时功率,队列瞬时功率是指链路两端点队列拥塞业务长度的差与链路容量的乘积,传输瞬时功率是指链路两端点到目的基站的最少跳数的差值与链路容量的乘积。队列瞬时功率能够突出反映队列拥塞信息与链路状态信息,传输瞬时功率则能够同时反映节点到目的基站间的距离信息以及链路的状态信息。下面在说明中,目的节点即目的基站。
(2)提出了一个联合路由决策,即,将队列瞬时功率与传输瞬时功率的和式作为路由决策。此种路由决策在一定程度上能够保证网络中的业务流既能以较小的传输跳数抵达目的基站又能均衡化网络中的业务分布,缓解网络的拥塞状况。
(3)提出了一个新的数据分组包头,即,在数据分组的包头中添加了当前节点的队列拥塞的长度,当前节点到目的基站的最少跳数等信息,此种方案使得在开启网络节点的监听模式的情况下,节点能够在不进行主动询问的条件下获得邻居节点的队列和跳数信息,从而降低了路由的控制开销。
本发明提供的无人机通信网络联合路由协议的实现步骤主要包括五个部分。
第一步,构建一个如参考文献3中所述的低维护开销、轻量级、易于实现的FWBQ模型。
在此FWBQ模型中,每个节点需要维护一组前向队列,同时需要保留一组后向虚拟队列。前向队列中存放的是需要转发给下一跳节点的数据分组,后向虚拟队列统计的是从上一跳节点传输而来的且需要由当前节点转发的数据分组的个数。显然,后向虚拟队列无需存储真实的数据分组,只需要统计数据分组的个数,所以能够用一组计数器加以实现。由此可以知道,在FWBQ模型中,每个节点只需要维护n个前向队列,其中n表示节点的邻居节点的个数。
接下来,本发明将简要介绍如何构建FWBQ模型。
定义1.虚拟源节点(Virtual source node,VSN)。给定网络中的一条链路(i,j),节点i是链路上的发射节点,节点j是这条链路上的接收节点,也就是说,节点i会向节点j传输数据分组。如果传输的数据分组包括两部分,其一是内部数据分组(或称为转发数据分组),其二是外部数据分组(或称为本地数据分组),那么称节点i存在一个映射节点,称为虚拟源节点。虚拟源节点可以向节点i转发与外部数据分组等量的数据分组。
从定义1中可以得出如下几条信息:1)如果一个节点无法产生本地数据分组,那么该节点只能作为转发节点,不存在一个VSN与之相对应;2)当一个VSN向与之相对应的节点转发数据分组时,该节点将会成为一个普通的转发节点。
图2和图3分别描述了FWBQ模型的输入队列模型和输出队列模型。接下来,本发明会结合图2和图3分别描述这两种队列模型。
在两幅图中,实线表示两个节点之间的链路,虚线表示数据分组的流动情况,即数据分组从发射节点的某个前向队列流向了接收节点的对应的前向队列。令表示在t时刻链路lij的输入速率,前向队列qi,j表示存储从节点i到节点j的数据分组的一个队列,后向虚拟队列vi,j表示统计的从节点i传输来的且需要经过节点j转发的数据分组的个数。对qi,j中的任意一个数据分组,当该分组被转发到节点j后,节点j会检查该分组的目的节点是不是节点自身,若是,则该分组会从网络中消失;若不是,该数据分组将会被存放在节点j的一个队列中,例如,根据特定的路由信息,存放在qj,k队列中。如此,不以节点j为目的节点的数据分组将会形成一条从队列qi,j到队列qj,k的数据流。令表示分配给队列qi,j的数据分组传输速率,并令ui,j,k(t)表示分配给从队列qi,j到队列qj,k的数据分组的传输速率。另外,令ui,i,j表示分配给从节点i的VSN发射的经由节点i和节点j转发的数据分组的传输速率。
对一条链路(i,j),其输入速率和输出速率分别能用如下公式进行求解,
其中,Ni表示节点i的邻居节点的集合。
因为每个队列包含不同流的业务,所以,ui,j,k(t)可以利用如下公式进行计算,
其中,表示在时隙t,分配给在链路lij上从队列qi,j转发到队列qj,k的数据流f的传输速率,fd表示数据流f的目的节点。
令qi,j,k表示记录从队列qi,j到队列qj,k的业务流的一个队列,在时隙t+1,队列qi,j,k的业务拥塞的更新公式为,
更新公式是不等式的原因在于,当上一跳邻居节点只有少量数据分组甚至没有数据分组需要传递时,进入当前节点队列的数据分组的数量可能少于从队列中转发出去的数据分组的数量。
至此,本发明得到了前向队列qi,j和后向虚拟队列vi,j的队列拥塞,两种队列拥塞的计算公式分别为,
第二步,在FWBQ模型的基础上,提出了两种瞬时功率的概念,分别是队列瞬时功率和传输瞬时功率,计算这两种瞬时功率,并对这两种瞬时功率求和,得到一种联合路由决策。
一个节点周围可能存在多个邻居节点,该节点在传输数据分组之前需要从众多的邻居节点中挑选出一个优先级最高的节点作为合适的下一跳。一个有效的无人机通信网络的路由协议需要满足如下两条基本要求:其一是路由协议能够均衡化网络业务流,缓解网络拥塞;其二是,路由协议能够以较少的传输跳数将业务流从源节点转发到目的节点。所以,路由协议在设计的过程中必须利用节点的队列拥塞信息和节点到目的节点的最少跳数信息。同时,节点的优先级也与链路的质量有关,链路容量越高,节点的优先级也会越高。因此,本发明提出了两种瞬时功率的概念,分别是队列瞬时功率和传输瞬时功率,其中,队列瞬时功率与节点队列拥塞情况和链路的质量正相关,传输瞬时功率与节点到目的节点的最少跳数和链路的质量正相关。这样,若是能够将两种瞬时功率的和式作为一种路由决策,那么,得到的路由协议将既能够均衡化网络业务流又能够降低业务的传输延迟。
下面是计算两种瞬时功率以及联合路由决策设计的详细过程:
定义2.回压力(Back pressure,BP)。给定一条链路lij,节点i为链路的发射节点,节点j为链路的接收节点。qi,j为节点i维护的,存储了从节点i到节点j的数据分组的一个队列,为了简化说明,本发明也利用符号qi,j表示队列qi,j中数据分组的个数。vi,j为节点j保留的,统计了从节点i传输来的且需要经过节点j转发的数据分组个数的一个计数器。本发明将回压力定义为一条链路lij上队列qi,j中的数据分组的个数与vi,j的差值,可以表示为,
BPij(t)=qi,j(t)-vi,j(t)
定义3.队列瞬时功率。给定一条链路lij,链路上分配的传输速率为ui,j(t)=ui,j(pi(t),sij(t)),其中,sij(t)为链路的状态,pi(t)表示分配给发射节点i的功率,pi(t)∈P(t),且ui,j(t)由香农容量公式计算得到,该链路的队列瞬时功率可以定义为链路的回压力BPij(t)与传输速率的乘积,可以表示为,
定义4.瞬时传输功率。给定一条链路lij,链路上分配的传输速率为ui,j(t)=ui,j(pi(t),sij(t)),其中,sij(t)为链路的状态,pi(t)表示分配给发射节点i的功率,pi(t)∈P(t),P(t)为随时间t变化的网络中所有发射节点的发射功率集合,ui,j(t)由香农容量公式计算得到,hi(t)表示节点i到目的节点的最少跳数,hj(t)表示节点j到目的节点的最少跳数,该链路的瞬时传输功率可以定义为链路两端点到目的节点的最少跳数的差值与传输速率的乘积,可以表示为,
PBij(t)=(hi(t)-hj(t))×ui,j(t)
结合定义2,3和4,本发明的联合路由决策的详细设计过程如下:
在设计路由协议的路由决策时,若是只利用最短路由将网络中的业务从源节点转发到目的节点,则网络中的业务会完全集中在最短路由的传输路径上,如此,在网络需要转发的业务量较大时,可能会导致该传输路径上的所有节点队列均发生严重拥塞,甚至可能造成数据分组的大量丢失,网络通信服务能力被质量削弱。一种有效解决网络拥塞方案是均衡化网络中业务流的分布,如此,可以缓解网络拥塞,使网络适用于传输大量的业务量。尽管均衡化网络中业务流分布的方案能够带来一定的好处,但是在这种方案下,网络中的业务流的流向是随机、无向的,也就是说某些数据分组可能一直在网络中被转发,永远也无法到达目的节点。
因此,本发明考虑提出一种联合考虑网络拥塞状况和最短路由信息的路由决策方案:给定一条链路lij,链路的发射节点为i,接收节点为j,本发明提出的联合路由决策,Ri,j(t),可以表示为,
Ri,j(t)=(qi,j(t)-vi,j(t))×ui,j(t)+(hi(t)-hj(t))×ui,j(t)
在计算得到Ri,j(t)后,本发明将根据最大的Ri,j(t)选择一个接收节点作为下一跳节点。具体依据Ri,j(t)选取节点的过程见第五步。
第三步,构造新的数据分组包头。
在基本的数据分组包头中添加部分额外信息,例如,当前节点的队列拥塞长度信息,当前无人机到目的基站的最少跳数信息等。如此,节点在传输数据分组时,节点传输范围内的其他节点均能够通过解析该数据分组的包头获得这个发射节点的随时间变化的队列拥塞情况以及该节点的最少跳数等信息。
下面结合图4描述构造新的数据分组包头的过程:
节点在传输一个数据分组之前,需要在数据分组的互联网协议(Internetprotocol,IP)的包头前添加一个额外的包头。该包头的结构中有3个32位的字段:第一个32位的字段,队列拥塞长度,表示该数据分组携带的队列拥塞长度信息,它可以通过后向虚拟队列的公式计算得到;第二个32位的字段,上一跳节点地址,表示的是转发该节点收到的最后一个分组的节点的IP地址;第三个32位的字段,跳数,表示的当前节点与目的节点之间的最少跳数。
第四步,提出一个被动式的邻居节点发现策略。
无线网络的路由协议的设计有两大考虑,其一是设计一个有效的路由决策,其二就是需要设计路由的邻居发现策略。一般来讲,一些高效的路由协议需要能够利用较小的代价,例如较少数量的控制数据分组,发现节点的邻居节点集合。
下面描述本发明提出的被动式的邻居节点发现策略的具体实现过程:
本发明提出路由策略的关键实现部分是需要知道网络节点中的邻居节点间如何进行跳数信息和队列长度信息的交互。给定一个节点,只有该节点知道了其邻居节点集合中的所有邻居的跳数和队列长度信息,该节点才能计算它与邻居节点间所有链路的路由策略变量;再通过对比这些路由决策变量,该节点才能确定其邻居节点集合中优先级别最高的邻居节点,进而确定此邻居节点为下一跳节点。
为了降低网络中任意一个节点与其所有邻居节点之间交互信息的开销,本发明开启了网络中所有节点的监听模式功能。在这种模式下,每个节点都能够监听无线信道,并分析它监听到的所有数据分组的包头,进而获得该节点想要的邻居节点的所有关键信息,包括队列和最少跳数信息。这样,网络中的每个节点都不用主动定期地发射路由控制消息询问其传输范围内的邻居节点的相关信息,从而减少了路由控制分组,降低了路由的控制开销。
第五步,实现了一个完整的无人机通信网络联合路由协议过程。
本发明提出的联合路由协议建立在前面描述的联合路由决策以及被动式的邻居发现策略的基础上。该联合路由协议的具体实现过程可以归纳为如下几个步骤,各步骤的说明如下:
步骤1,路由决策:给定一条链路lij,获得该链路的路由决策值Ri,j,如下:
Ri,j(t)=(qi,j(t)-vi,j(t))×ui,j(t)+(hi(t)-hj(t))×ui,j(t)
其中,ui,j(t)表示在时隙t链路lij的传输速率,hi(t)表示节点i到目的节点的最少跳数。
步骤2,对所有的链路(i,j),为发射节点i找一个合适的下一跳,记为j*,使得,
步骤3,确定传输:定义链路(i,j)上的传输速率为,
其中,如果链路(i,j)被激活,即当j=j*时,那么pi(t)=Pt,否则,pi(t)=0,其中Pt是发射节点i的发射功率。也就是说若是节点选中了某一个合适的下一跳节点,那么节点将以全功率发射信号,否则,保持天线静默。
下面是利用本发明的路由协议实现数据传输的一个实例。
图5给出了无人机通信网络的拓扑结构示意图,其中,灰色圆表示无人机节点的覆盖范围,圆的中心为无人机节点,此无人机节点可以为其覆盖范围内的地面终端提供通信接入服务。其他节点为转发节点。图5中存在一个目的基站,4个通信接入和转发节点和20个通信转发节点。无人机通信网络的拓扑结构为网状结构。
为了验证本发明提出的联合路由协议的有效性,本发明将该联合路由协议与基于最少跳数的路由协议DSDV进行了对比,并在NS-3网络仿真器上实现了两种路由协议。且本发明利用UDP作为第四层传输层的协议,设置节点队列大小为600千字节,无人机的发射功率为Pt=17dBm,载波频率为5.15GHz,噪声功率PN=-33dBm,无人机与无人机之间的链路的最大允许链路损耗为108dB,与服务质量相对应的空地链路损耗的最大允许值为105dB,无人机的高度为141米。
在一个分布式无人机网络中,因为很难将信道的繁忙程度调整到本发明需要的合适的值,因此,本发明采用一个简单的策略衡量信道的繁忙程度,即,本发明利用无人机网络中的一个节点的最大信道繁忙程度代表整个网络的信道繁忙程度,同时在实验过程中,本发明发现,当源节点的传输速率增加到了某个值后,信道趋于饱和,信道的繁忙程度不再增加。在本发明中,信道的最大繁忙程度为47%。且本发明利用网络吞吐量和网络延迟评价两种路由协议的性能,其中,网络吞吐量的单位为兆比特每秒,网络延迟单位是秒。
图6给出了在图5所示的网络拓扑结构下,不同信道繁忙程度下的网络吞吐量的变化趋势。由图6可知:
●当信道繁忙程度低于20%时,无人机网络不拥塞,此时,DSDV与本发明的联合路由协议取得的吞吐量均会随着信道繁忙程度的增大而快速增长。这是因为网络不拥塞,两种路由协议都能够通过最短路由传输数据分组,且最短路由路径不会发生拥塞,随着传输速率的增大,网络的吞吐量会逐步增大;
●当信道繁忙程度处于20%到35%之间时,无人机网络出现一定程度上的拥塞,此时,DSDV与本发明的联合路由协议取得的吞吐量均会随着信道繁忙程度的增大而缓慢增长;
●当信道繁忙程度高于35%时,无人机网络拥塞严重,此时,DSDV和本发明的联合路由协议取得的吞吐量均不再增加,甚至有所下降,但是本发明的联合路由协议取得的吞吐量要高于DSDV。这是因为DSDV只采用了最短路由路径传输数据分组,数据分组会拥塞在最短路由路径上,即使提高传输速率也不能增大网络的吞吐量;而本发明的联合路由协议则能缓解网络的拥塞状况,所以本发明的联合路由协议能取得更高的网络吞吐量;同时,严重拥塞的网络状态对两种路由协议的性能都产生了一定的影响。
●在任何网络拥塞情况下,本发明的联合路由协议取得的吞吐量均高于DSDV协议。
图7给出了在图5所示的网络拓扑结构下,不同信道繁忙程度下的网络延迟的变化趋势。由图7可知:
●当无人机网络不拥塞时,DSDV与本发明的联合路由协议均能以较小的传输延迟将数据分组从源节点路由到目的节点;
●当无人机网络出现一定程度上的拥塞时,DSDV路由数据分组的时间会变长,这可能是因为数据分组在最短路由路径上发生拥塞,而采用本发明的联合路由协议的传输延迟的增长相对较为缓慢。这是因为采用DSDV时,数据分组大量拥塞在最短路由路径的节点队列中,从而导致数据分组出现队列延迟,而本发明的联合路由协议则能够在一定程度上均衡化网络中传输的数据分组,所以不会造成大面积的数据分组发生队列延迟;
●当无人机网络拥塞严重时,DSDV与本发明的联合路由协议的传输时延均快速增加,但是本发明的联合路由协议取得的时延要好于DSDV取得的网络时延;这是因为本发明的联合路由协议同时考虑了网络的拥塞状况和最短路由信息,从而使得即便是在网络严重拥塞时,数据分组也能够被分散于网络节点中并被较快速地向目的节点转发。