APP下载

链路状态感知的低轨卫星网络路由机制

2020-04-09谢金森陈双武

宇航总体技术 2020年2期
关键词:中继数据包报文

刘 洵,谢金森,陈双武

(中国科学技术大学, 合肥 230021)

0 引言

近年来,随着通信技术的成熟与发展,卫星网络逐渐受到业界的关注。卫星网络利用卫星作为中继节点转发数据,在地面站之间进行通信。与地面网络相比,卫星网络具有全天候、高带宽、覆盖范围广、不受地形限制等优点。高效的卫星网络路由方案对提高卫星网络传输的时效性和可靠性有着重要的意义。与其他类型的卫星网络相比,低轨卫星网络既具有传输损耗小、通信延迟低、功耗低等优点,也存在拓扑变化快、卫星节点的计算能力和功率受限和易出现拥塞等特点。因此,设计高效的低轨卫星网络路由机制具有一定的挑战性。

现有研究大多关注卫星网络拓扑结构的动态变化,提出了基于系统周期分割思想和覆盖区域分割思想,将卫星网络结构由动态转化为静态,再在静态结构下设计协议进行路由的方法。其中系统周期分割思想根据卫星网络的周期性,将卫星系统周期划分为多个时间片[1],只要时间片足够小,就可看作卫星网络拓扑结构在同一时间片内是不变的。于是卫星网络就被视为周期性重复的一系列拓扑快照[2-3],卫星网络路由计算也就转化成了多个静态虚拟拓扑下的路由计算问题。基于系统周期分割思想的卫星网络,卫星不需要实时计算,协议开销较小。但是系统周期分割思想需要大量的空间存储拓扑快照[4],并且对流量变化、链路拥塞及故障等实时情况的适应性较差[5-6]。覆盖区域划分思想将地球表面规则地划分为不同的区域,给每个节点赋予不同的固定逻辑地址[1]。在覆盖区域划分思想下,逻辑节点的位置固定且排列规则,当前很多研究工作将集中控制与覆盖区域思想相结合,实现流量传输的最优控制[7]。但是覆盖区域分割思想需要卫星拓扑结构非常规则,一旦某个卫星节点出现故障,网络拓扑规则性被破坏,就会导致卫星网络性能大打折扣[8]。另外,在覆盖区域分割思想下,卫星节点需要实时进行路由计算,对卫星星上处理能力要求高[9]。

针对传统卫星网络路由机制存在可扩展性低,对星上处理能力要求高等缺点,本文提出链路状态感知的低轨卫星路由机制。该机制可以解决卫星网络易出现拥塞的问题,同时兼顾低轨卫星能量和计算能力的限制,并具备较高的可拓展性。

1 机制原理

1.1 系统模型

考虑卫星网络中存在M个卫星节点,表示为M={1,2,…,M}。其中,节点i剩余能量为Bi,用B={B1,B2,…,Bm}表示卫星节点剩余能量的集合;卫星节点i的接收队列长度用Li表示,它反映了节点i处链路的拥塞程度。

感知驱动路由机制由路由学习和路由决策两个部分组成。路由学习部分通过SRLM(Satellite Routing Learning Message,卫星路由学习报文)的广播实现,其中源节点的信息包括卫星ID、剩余能量、接收队列长度等。在感知驱动路由机制中,每个卫星节点都会周期性地广播SRLM报文,并转发来自其他节点的SRLM报文。SRLM报文的广播使得节点信息在全网范围内传输。节点接收到新的来自其他节点的SRLM报文时,根据报文内容更新本地路由表。路由决策是指节点依据当前的路由信息对数据包进行路由。

1.1.1 路由学习

路由学习过程指节点通过SRLM报文感知链路质量、邻居节点的接收队列长度和剩余能量信息的过程。其中,邻居节点的接收队列长度和剩余能量可通过邻居节点生成的学习包获得。而链路质量(TQ)则通过SRLM报文的丢包率计算得到,下面主要介绍TQ值的计算过程。

(1)单跳TQ值的计算

为了计算TQ值,先引入RQ和EQ两个变量。假设中A和B是网络中的一对邻居节点。其中,RQAB表示过去T时间段内节点A收到上一跳节点和源节点都为B的SRLM报文的数量(图1);EQAB表示过去T时间段内节点A上一跳为B且上上一跳为A本身的SRLM报文的数量(图2)。定义TQAB=EQAB/RQAB,它反映了节点A至节点B的链路质量的好坏(图3)。为方便表示,将RQAB简写为RQ,将EQAB简写为EQ,将TQAB简写为TQ。

图1 RQ值的计算Fig.1 Calculation of RQ

图2 EQ值的计算Fig.2 Calculation of EQ

图3 单跳TQ值的计算Fig.3 Calculation of single-hop TQ

假设由节点A至节点B的链路丢包率为p,由节点B至节点A的链路丢包率为q,其中p、q∈[0,1]。A、B节点在之前T时段内发送的学习包数量为N,则通过式(1)和式(2)可以得到RQ和EQ的数学期望

E[RQ]=(1-q)N

(1)

E[EQ]=(1-p)(1-q)N

(2)

(3)

结合图1和图2可以发现,节点A至节点B的传输链路质量可以表示为EQ/RQ,即TQ的定义。注意到RQ和EQ相互独立(因为它们表示的是由不同节点生成的SRLM报文),故将式(2)除以式(1)可以得到TQ数学期望式(3)。由式(3)可以发现,TQ的数学期望与p成反相关,且两者之和为1。这符合定义中TQ表示由A向B的链路中数据包传输成功的概率的描述。因此,可以写出TQ的计算公式

TQ=min{EQ/RQ,1}

(4)

式(4)表示TQ为EQ/RQ和1的最小值。由于TQ表示节点A到B数据包传输的成功率,所以TQ∈[0,1]。而在实际计算中由于RQ和EQ相互独立,可能出现某时刻RQ比EQ大的情况,因此在式(4)中加上了TQ值不大于1的限制条件。

(2)路径TQ值的计算

在1.1.1(1)节给出了单跳链路的TQ值计算公式,卫星节点进行路径决策时需要从本节点到目的节点之间的路径TQ值。设数据包从节点A0发送至节点An,按顺序经过节点A0、A1、…、An。由于各链路质量相互独立,所以路径TQ可表示为各跳链路TQ的乘积。

(5)

在感知驱动路由机制中,SRLM报文包含从当前节点到源节点的TQ值,SRLM报文在每次转发后都会对该值进行更新。如图4所示,各跳链路质量为TQCB=0.9,TQBA=0.8。当SRLM报文从节点A到达节点B时,更新TQ值为0.9;由节点B转发到达节点C时,更新TQCA=TQCB×TQBA=0.72。

图4 路径TQ值的计算Fig.4 Calculation of path TQ

1.1.2 路由决策

在保证数据传输质量的情况下,为了减少卫星节点能量消耗并改善卫星网络局部拥塞的情况,链路状态感知路由机制通过对链路质量、拥塞情况以及剩余能量进行权衡选择下一跳节点。当从卫星节点m发送数据包至卫星节点n时,卫星节点通过式(6)、式(7)进行路由决策

(6)

(7)

2 系统实现

感知驱动路由机制的实现由数据包转发模块和路由学习模块组成,路由学习模块通过SRLM包的广播感知网络状态并更新路由表,数据包转发模块通过查找路由表确定下一跳节点。其中数据包转发流程较为简单,根据路由学习模块更新的路由表将数据包发送至对应的下一跳节点。本节主要介绍路由学习模块。

路由学习模块通过广播SRLM包感知网络信息,SRLM包中包含了有关源节点和数据包自身的信息,在正式阐述路由学习模块前,先介绍几个重要的量:1)TTL(Time To Live):表示SRLM报文的剩余存活时间,在模型中定义为剩余可转发次数。当SRLM报文生成时,TTL被赋值为TTL_MAX,即设定的最大转发次数,此后每经过一次转发,TTL的值减1。当TTL等于0时,该SRLM包会被丢弃。设定最大转发次数是为了防止网络中SRLM包数量过多,从而导致冗余;2)源节点ID:源节点ID表示生成该SRLM包的卫星节点ID;3)路径TQ值:从源节点至当前所在卫星节点的路径TQ值。

图5 SRLM报文处理流程Fig.5 Process of SRLM

3 实验验证

3.1 半实物仿真平台搭建

本文实验由两个部分组成,第一部分是搭建半实物仿真平台,第二部分是在该仿真平台上验证链路状态感知路由机制的有效性。其中,半实物仿真平台分为控制器和树莓派节点两个部分,见图6。PC作为控制器,下发控制报文至各树莓派节点,模拟真实环境中丢包率等参数,树莓派作为卫星节点,根据控制器的指令执行相应的动作,并定时上传网络信息(链路状态等)至控制器。

3.2 实验参数设计

仿真实验的目的是验证感知驱动路由机制的可行性与有效性。本文首先利用仿真平台搭建一个拓扑简单的网络。如图7所示,节点M为源节点,节点E为目的节点,A、B、C均为中继节点。在该网络中,节点M可以通过3条路径将数据包发送至N。为了表达方便,本文使用XAY形式表达路径,其中X是源节点,A是中继节点,Y是目的节点。3条路径的TQ值见图7,链路MAN质量最好,链路MBN其次,MCN最差。

图6 半实物仿真平台Fig.6 Hardware platform for simulation

图7 仿真实验网络拓扑Fig.7 Network topology of the experiment

仿真节点的能量设置如下:假设源节点M和目的节点N具有无穷多的能量,这两个节点的能量储备并不影响实验结果。中继节点A、B、C分别具有100000、200000、200000单位能量,其中每单位能量可以发送2048bytes的数据。为保证卫星其余功能的正常执行,节点需预留一定能量,因此实验中设计当节点能量低于20000单位时就不再具备数据传输功能。另外,在实验中,设置要传输的数据大小为16MB,设置源节点M和中继节点A、B、C的发送速率为600kbps,设置中继节点A、B、C的接收速率为200kbps,目的节点N的接收速率为3Mbps。以上关于发送速率和接收速率的设置是为了模拟链路拥塞:若数据仅仅通过一条或两条路径传输,源节点和中继节点之间的链路就会出现拥塞,只有3条链路都被利用,源节点和中继节点之间的链路才不会成为瓶颈。设置目的节点N接收速率为5Mbps是为了保证中继节点和目的节点之间的链路通畅。

注意MTQ的计算公式(6),其中右式有3个权重参数α、β、γ,在仿真实验中只需要测量其中的两个量。由图6可知,已经固定了链路质量,所以在仿真实验中α是固定的。于是,将式(6)改写为式(8)。实验中分别改变参数β和γ,观察并分析它们对卫星网络的影响。

(8)

3.3 实验结果分析

3.3.1 对β的分析

通过固定γ=0.01,改变β的值并观察网络状态,从而得到图8的实验结果,这相当于忽略卫星节点剩余能量对于路由决策的影响。随着β值的增大,中继节点A、B、C的接收队列长度逐渐趋于相同,如图8(a)所示。其原因是当链路拥塞情况所占的比重较大时,源节点的路由决策趋于使各邻居节点接收队列长度(L)一致,导致链路的使用时间趋于相同,如图8(c)所示,各节点消耗的能量趋于一致。由图8(b)可以看出,由于忽略了节点剩余能量的影响,节点A的剩余能量一直维持在较低水平。另外,随着β的增加,中继节点总消耗的能量逐渐降低,最后维持在一个较低的水平。β较高时(如β=10)和只考虑TQ值(β=0.01)的情况相比,总的能量消耗大约降低了35%,如图8(d)所示。这是由于在β较低的时候,数据包的传输仅仅利用了链路质量较好的1~2条链路,造成了链路拥塞。发生拥塞时节点数据丢包后重传消耗了大量的能量,这使得能量消耗较大。在β较高时,由于对3条链路的均衡使用(3个中间节点的接收队列长度相近),基本没有拥塞情况的出现,减少了数据包的重传次数,使总能量消耗降低。

(a)中继节点平均队列长度

(b)中继节点剩余能量

(c)中继节点消耗的能量

(d)中继节点消耗的总能量

3.3.2 对γ的分析

通过固定β=0.01,改变γ的值观察网络状态得到图9的实验结果,这相当于忽略卫星节点剩余能量对路由决策的影响。γ代表了卫星节点剩余能量在路由决策中的权重。由图9(a)可以看出,随着γ的增大,源节点M倾向于使用那些中继节点能量更为充足的链路,当γ较大时,数据甚至没有通过链路MAN传输,如图9(c)所示。这种倾向也可以通过图9(b)说明,随着γ增大,中继节点的剩余能量逐渐趋于一致。由图8(d)可以看出,随着γ增大,数据传输消耗的总能量同样随之减少。这是由于在γ较大时,源节点倾向于交替使用MBN、MCN两条能量较为充裕链路。图9(d)相对于图8(d)传输数据要花费更多能量也可以根据链路的使用时间解释:在图9(d)中γ较大时,只有MBN、MCN两条链路被使用,而在图8(d)中β较大时,3条链路均被使用。

3.3.3β和γ对传输速率的影响

通过图8(a)和图9(a)观察到,随着β和γ的增大,链路中的数据传输时间逐渐下降,最后趋于一个稳定状态。下降部分可以用之前对γ的分析部分中的链路的使用时间解释:在初始阶段,β、γ非常小,此时源节点M只使用链路质量较高的链路MAN传输数据。由于源节点M的发送速率超过中间节点A的接收速率,所以链路中发生拥塞,数据传输速率较低。随着β、γ的增加,源节点M不再单一选择链路MAN传输数据,而是通过多条链路传输,拥塞程度降低,传输速率变大。β、γ的增加都会使得传输速率变大,但是两者原理不同。前者倾向于使3个中间节点的接收队列长度接近,后者则使得3个中间节点的剩余能量接近。

(a)中继节点平均队列长度

(b)中继节点剩余能量

(c)中继节点消耗的能量

(d)各中继节点消耗的总能量

另外,还可以对比图10中两条曲线观察到在传输时间的稳定部分,β较大且γ=0.01的传输时间比γ较大且β=0.01的传输时间短很多。原因是前者使用3条链路传输数据,而后者只是用了2条,所以前者速率要比后者快。并且可以从图8(d)、图9(d)中发现,后者的能量消耗比前者大,这是后者没有利用链路质量较好的MAN路径,导致丢包率较高,这也是传输时间更长的原因。

图10 传输时间随β和γ的变化Fig.10 The variation of transmission time over β and γ

3.4 实验总结

在实验中,通过改变权重参数β和γ的值,观察其对传输速率以及网络节点状态的影响。发现随着β的增加,节点在路由决策时倾向于使得各有效传输链路上邻居节点的接收队列长度相同。而在γ增大时,节点在路由决策时倾向于使得各有效传输链路上的邻居节点剩余能量相同。这验证了感知驱动路由机制的可行性与有效性,如果希望减少网络中拥塞的出现,可以选取较大的β值,若更重视对卫星能量的控制,可以选取较大的γ值。

4 结论

本文提出了链路状态感知的卫星路由机制,卫星节点通过感知链路的传输质量、邻居节点的队列长度和能量进行路由决策。与传统卫星路由机制相比,路由学习使得链路状态感知的卫星路由机制具有更高的可扩展性。本文使用树莓派搭建半实物仿真平台,并在平台上进行实验。实验结果表明,链路状态感知的路由机制可以有效地降低拥塞程度并控制卫星节点的能量,防止节点能量过低,延长卫星网络的使用时间。

猜你喜欢

中继数据包报文
基于J1939 协议多包报文的时序研究及应用
以太网QoS技术研究及实践
二维隐蔽时间信道构建的研究*
基于Python的汽车CAN总线报文格式转换系统的设计与实现
基于报文类型的限速值动态调整
C#串口高效可靠的接收方案设计
“鹊桥号”成功发射
Link—16中继时隙自适应调整分配技术研究
退化型高斯中继广播信道的信道容量研究
网络数据包的抓取与识别