李贺武,刘李鑫,刘君,吴茜
(1.清华大学网络科学与网络空间研究院,北京 100084;2.北京信息科学与技术国家研究中心,北京 100084)
卫星网络因其在覆盖范围和移动接入能力等方面与地面网络具有极强的互补关系,受到各界的关注,近年来得到迅速发展,如 Iridium[1]、OneWeb[2]、Starlink[3]等。天地一体化网络是以地面网络为基础、以卫星网络为延伸,覆盖太空、空中、陆地、海洋等自然空间,为天基、空基、陆基、海基等各类用户的活动提供信息保障的基础设施。天地一体化网络不仅符合未来技术发展的趋势,也是中国的重大战略需求[4-5]。然而因卫星高速移动所导致的卫星网络内部及与地面网络之间的连接关系不断变化的特性一直是困扰卫星网络及天地一体化网络路由机制设计的最重要难题之一,寻求一种不受频繁切换影响的路由机制越来越重要。
早期的卫星网络主要通过“快照技术”[6-7]来实现星上的路由转发,即基于虚拟拓扑的集中式路由机制。卫星数量的激增及星座规模的迅速膨胀,使卫星网络内及其与地面网络间的连接关系变化愈发频繁。基于虚拟拓扑的快照机制在链路连接关系更加高动态变化场景中,寻求静态离散场景难度加大。基于虚拟拓扑切分得到的时间片数目正比于链路切换次数,这直接导致星上需要存储和维护的路由表数目增长正比于链路切换次数的增长,对星上资源有限的卫星网络造成极大冲击。与此同时,基于虚拟拓扑的路由机制在与地面路由机制融合时的难度较大。因为前者是利用卫星标识和星间连接关系生成路由信息,在与基于IP 路由的地面网络融合时,需要两种路由机制配合,且需要前者能根据当前地面用户连接情况及时地更新星上路由的存储信息,这会产生相当大的星上维护开销,加剧星上资源压力。
考虑卫星网络内部的星间相对位置通常相对固定,一部分工作提出基于虚拟节点的分布式路由机制[8-10]。基于已知的星间相对位置信息,根据星上存储的预先计算生成的映射表选择转发接口,或者邻居之间交换位置信息和移动方向信息,比较邻居距目的地址绝对距离得到下一跳路由。这避免了基于虚拟拓扑的集中式路由机制存在的路由表存储开销巨大的问题。然而,现有相关路由算法假设落地卫星标识已知,由于卫星高速运动,卫星与用户之间切换频繁,获取落地卫星标识会产生大量的位置更新开销。此外,由于卫星位置具有时变性,部分解决方案需要邻居间定期交换状态信息。随着卫星星座规模的增大,邻居间消息交换愈发频繁,导致卫星网络中带宽资源浪费严重。
地面互联网通过TCP/IP 实现了异构网络互联且发展成熟,将地面基于IP 的分布式路由协议迁移应用能充分发挥地面互联网的优势,用较低的开销实现一体化网络建设。然而现有分布式IP 路由协议主要是针对地面互联网设计,其拓扑基本稳定,这导致协议对一体化网络链路连接关系高动态变化场景应对不足,路由频繁更新使协议可用性受到极大影响。为此,已有研究尝试利用卫星周期运行规律,引入预测信息,优化一体化网络路由机制设计,如OSPF+(open shortest path first)[11]、BGP+(border gateway protocol)[12]等。然而,卫星星座规模的增大导致星上环境更加复杂,所需要的预测指标增多,这对卫星存储能力和计算能力提出了更高要求,频繁的消息交换也给卫星能耗带来更大挑战。
本文提出一种基于位置的天地一体化网络路由寻址机制(LA-ISTN,location based routing addressing mechanism of integrated satellite and terrestrial network),不同于上述提及的若干通过获取邻居信息计算下一跳的位置路由机制,LA-ISTN 不需要获取邻居卫星的位置信息,仅需要从IP 地址中获取目的地址的位置信息来计算其方位,由选择算法计算得到的卫星自身最优的接口直接进行数据分组转发。LA-ISTN 结合传统路由表查找机制的优势,提出星上临时路由表的概念,将分布式计算结果存储到路由表中,当卫星与目的地址相对位置发生改变时,更新临时路由表。临时路由表使LA-ISTN 对于连续数据传输支持度更高,极大地提升了机制性能。
卫星通信技术的发展使低轨卫星星座内通过组网路由实现远距离高带宽传输成为可能。
早期典型的星间路由机制设计[6]是基于卫星运行规律预测虚拟拓扑,将卫星运行周期切分为离散的时间片,地面集中计算并生成每个时间片的转发表,星上存储所有时间片内转发表,并定期进行更新。文献[13]在时间片切分的基础上,将时延抖动等纳入路由生成算法优化目标。文献[14]提出滑动窗口机制,星上只存储窗口大小时间内路由表信息,卫星过顶时,通过地面站上传新的窗口大小时间内路由表信息。这类方法路由表获得基于地面集中预测卫星运行信息生成的先验知识,在实际运行环境中,抵抗卫星节点失效和链路故障的能力差。且随着卫星规模增大,切分卫星运行周期内静态拓扑片段的难度增加,时间片数量正比于链路切换次数,这使星上存储开销和维护开销急增,星上面临路由表“爆炸”问题,对网络可用性造成极大影响。
文献[8]考虑引入卫星相对位置信息解决基于虚拟拓扑的集中式路由机制存储开销大的问题,利用同轨道高度内卫星相对位置进行路由寻址,从而解决星上路由表“爆炸”问题。文献[9-10]引入拥塞等指标对路由机制进一步优化。文献[15]中提出基于地理位置信息进行路由的贪心算法,更靠近目的节点的邻居节点作为下一跳。文献[16-17]引入平面路由方案,对文献[15]中可能出现的最后一跳不可达问题进行优化。由于卫星位置时变,此类解决方案算法计算开销大,且需要邻居之间定期交换位置信息和移动方向信息,消息交换开销大。此类方案假设卫星可以获取到落地卫星信息,由于卫星移动,目的用户接入卫星频繁切换,落地卫星的信息难以获得,且随着星座规模增大,切换更加普遍,寻址机制实际部署困难。
一种路由机制的设计思路是借鉴地面互联网成熟的分布式IP 路由协议来实现星间组网路由。文献[18]指出了卫星网络中IP 路由存在的挑战:链路连接关系高动态变化;星上计算资源受限,能耗受限。这类解决方案尝试利用卫星拓扑具有周期性和可预测性的特点,典型思路是将预测信息引入OSPF(open shortest path first)协议,以避免不必要的路由收敛,加速必要的路由收敛[11]。此类优化方案使协议在卫星网络部署时更适应链路连接关系高动态变化环境,带来了路由协议性能一定的提升。但是随着卫星规模增加,链路切换更加频繁,需要的预测信息增多,路由频繁更新也使网络可用性受到极大影响。
本文提出的LA-ISTN 利用基于地理位置信息编址的IP 编址策略,解决基于虚拟节点的路由机制面临的目的位置信息很难获得的问题。每颗卫星从IP 地址中获取目的地址的位置信息并计算出相对方位,得出最优的转发接口进行数据分组转发,不需要邻居间交换状态信息,省去了消息交换开销。LA-ISTN 利用传统查表路由机制的优势,提出将路由计算结果存储到临时路由表中,当卫星与目的地址的相对位置发生改变时,更新路由表,增强对连续数据传输的支持度,提升机制性能。
低轨卫星网络因具有时延低、带宽高、覆盖范围广的特点,与地面互联网有极强互补性,成为一体化网络的研究热点。不同于地面网络相对固定的特点,低轨卫星相对地面运动速度快,星地之间链路频繁切换,终端平均每10 min 即需要切换接入卫星。传统IP 逻辑编址机制中,改变接入卫星会导致终端IP 地址改变,触发绑定更新,频繁的绑定更新会消耗大量星上通信资源。为了解决绑定更新频繁的问题,文献[19]提出终端IP 地址基于地理区块编址,使绑定更新与切换无关,降低IP 地址更新的频率,从而解决绑定更新频繁的问题,但并未给出相应的基于位置的星间路由方案。IP 生成规则的修改,需要给出相应的高效星间路由方案,现有的路由机制在面对接入用户量庞大的一体化网络场景时,会因频繁的路由更新导致网络不可用。因此,本文基于节点位置信息和方位信息提出了LA-ISTN,即地理区块编址场景下的星间路由策略。
假设卫星网络内每颗低轨卫星携带4 个接口[20],分别与轨内轨间的4 个邻居建立星间链路。考虑轨间建立星间激光链路的难度,假设其中2 个与同轨道内的邻居卫星建立星间链路的接口为激光接口,且假设在卫星运行过程中,链路始终保持连接。其余2 个与相邻轨道的邻居卫星建立星间链路的接口为微波接口,在运行过程中,若卫星进入极区,与相邻轨道邻居卫星建立的星间链路将断开。此外,由于卫星跟瞄系统的精度和速度的限制,本文假设2 个运行方向不同的相邻轨道的卫星之间不建立星间链路,所提及的地面接入节点为地面固定的地面站或直接与卫星通信的移动终端。
LA-ISTN 所涉及的概念和变量定义如下。
目的地址位置信息。基于地球表面分区编码算法得到的区块编码信息,或目的地址一定精度的经纬度信息,通过编址算法将目的地址位置信息嵌入IPv6 地址中。常见的地球表面分区编码算法有Geohash[21]、Google S2 等。
卫星位置信息。卫星位置信息指当前卫星投影到地面所得的基于地球表面分区编码算法得到的区块编码信息或一定精度的经纬度位置信息。卫星系统天然具有时空特性,易获得其位置信息。
卫星节点坐标系。以当前卫星为原点,当前卫星所在轨道为y轴,正方向为卫星运动方向;垂直所在轨道方向为x轴,正方向为右向。
卫星接口方向。卫星接口方向即卫星通过接口与邻居卫星节点建立的星间链路远离当前卫星的方向。卫星节点S与C建立星间链路,射线S—C方向即为S与C建立星间链路接口的方向,如图1 所示。
图1 卫星接口方向示意
记当前接收到数据分组的卫星为S,数据分组目的地址为D。若位置信息由基于地球表面分区编码算法生成的字符串表示,则当前卫星位置信息为Sl,数据分组目的地址位置信息为Dl;若位置信息由一定精度的经纬度信息表示,则当前卫星位置信息为(latc,lonc),数据分组的目的地址位置信息为(latd,lond)。dx表示在以当前卫星为原点建立的直角坐标系中目的地址所处位置在x轴上的投影的长度,dy表示在y轴上投影的长度。星上接口方向与S—D连线所形成的夹角定义为接口的方向角,记为α。卫星与n个邻居节点建立星间链路所形成的n个接口方向角为α1,α2,…,α n(本文中n<4),如图1 所示α1和α2即为S的2 个接口方向角。
3.2.1 LA-ISTN
不同于文献[15]使用位置信息计算邻居节点距离目的地址的绝对距离或绝对方向来选择下一跳路由节点的方法,LA-ISTN 根据目的地址的位置信息计算其相对于当前卫星的方位,然后利用相对方位选择当前卫星的最优转发接口进行数据分组转发。每颗卫星独立计算转发接口,不需要邻居间交换状态信息。本文给出了LA-ISTN 选择转发接口的2 种实现方式——基于接口方向角比较的转发接口选择算法(IA-ISA,interface angle based on interface selection algorithm)和基于星间相对位置的转发接口选择算法(RP-ISA,relative position based on interface selection algorithm)。
IA-ISA 中定义的最优转发接口指当前卫星所形成的接口方向角中,最小的接口方向角对应的接口,IA-ISA 的具体实现如算法1 所述。特别地,LA-ISTN不同接口选择算法实现中待选择的转发接口不包括接收到当前数据分组的接口,以避免数据分组从接收接口再转发给前一跳卫星节点形成路由环路。因此,算法1 中输入的卫星节点接口方向角中不包括收到的当前数据分组的接口对应的接口方向角。
算法1IA-ISA
输入D,α1,α2,…,α n
输出next_port
1) next_port=ip_lookup()//查询临时路由表,获取转发信息
2) if next_port//若查询到对应表项,则根据表项进行转发
3) next_port=sort_angle(α1,α2,…,α n)// 对输入的接口方向角进行排序,将最小接口方向角对应的接口赋值给next_port,若最小接口方向角有多个,优先选择同轨内邻居建立链路的接口
forward(next_port);
4) route_item=generate_route(D,next_port);
add_route(route_item)//将本次路由计算结果加入临时路由表
return;
算法1 首先查找临时路由表,若查找成功,将数据分组从路由表中记录的接口转发给目的用户;否则,选择对应最小接口方向角的转发接口,将数据分组从该接口转发给下一跳邻居卫星节点。
考虑某些低轨卫星网络建设规模大、单颗卫星成本较低,因此存在单颗卫星计算能力不足的缺陷。卫星接口方向角的获得和计算开销对此类卫星网络来讲压力过大,因此,本文给出LA-ISTN 接口选择的第二种实现方式RP-ISA。
RP-ISA 利用星间邻居相对位置来选择转发接口,对当前卫星建立卫星节点坐标系,易知目的地址一定位于以当前卫星为原点所建立的卫星节点坐标系的坐标轴或者4 个象限中。目的地址与卫星的相对方位根据目的IP 地址中记录的位置信息计算得到,以(dx,dy)的形式表示。RP-ISA 将复杂的接口选择问题转化为选择轨内星间链路或轨间星间链路转发的问题。考虑不同纬度轨间星间链路的长度有区别,在选择最优转发接口时,若目的地址相对当前卫星处于较高纬度,优先轨内转发;若目的地址相对当前卫星处于较低纬度,优先轨间转发,具体实现如算法2 所示。
算法2RP-ISA
输入D,(latd,lond),(latc,lonc),dx,dy
输出next_port
1) next_port=ip_lookup();//查询临时路由表,获取转发信息
2) if next_port:
forward(next_port);
return;
end if
3)//确定intra_port 和inter_port 对应值,其中intra_port 表示本次选择过程中轨内链路对应的接口,inter_port 表示本次选择过程中轨间链路对应的接口
//接口可用的条件是该接口当前建立了星间链路且不是接收到数据分组的接口
//若dx>0,则目的地址位于坐标系中一、四象限,接口可用前提下选择东向(x轴正方向)接口作为轨间接口
//若dx<0,则目的地址位于坐标系中二、三象限,接口可用前提下选择西向(x轴负方向)接口作为轨间接口
4) if(|latc| < |latd|)
//当前卫星所处纬度低于目的地址所处纬度,越高纬,轨间链路越短,故此刻优先选择轨内接口转发,靠近高纬时,判断是否需要进行轨间转发
//Lv表示同轨内两颗卫星的平均距离,若y轴方向上距离小于,根据最强信号强度连接原则,目的地址可能位于当前卫星同纬度卫星覆盖区域,此时选择轨间转发
//Lh表示相邻轨道内两颗卫星的平均距离,若x轴方向上距离小于,推测目的地址可能位于当前卫星同经度卫星覆盖区域,此时选择轨内转发
3.2.2 临时路由表
临时路由表指星上存储临时接入当前卫星的终端路由信息和LA-ISTN 生成的路由表项。当卫星与目的地址的相对位置发生改变时,清除当前路由表项信息,以保证临时路由表中记录始终是有效的。当前卫星相对于地球表面的横向移动速度为vx,相对于地球表面的纵向移动速度为vy,临时路由表项有效时长如式(1)和式(2)所示。
取tx和ty中较小的一个作为当前路由表项的有效时长,例如tx相对较小,则当经过tx时间后,清除当前路由表项。特别地,由于采用地理位置信息编址的方法,临时路由表中会出现依据地理区块聚类的现象。位置信息的精度也影响着上述有效时长的计算,本质上算法获取的位置信息是一定精度大小的区块信息。因此,为了进一步降低星上计算开销和路由表维护开销,本文对临时路由表的更新做出进一步优化,即当卫星投影到地面所在分区发生变化时,清空当前临时路由表,根据运行情况重新生成临时路由表。
3.3.1 最后一跳寻址可达性分析
分布式位置路由算法存在可达性疑问的位置在于路由的最后一跳,传统基于绝对距离的路由算法存在最后一跳不可达问题[15];LA-ISTN 同样是基于位置的分布式路由算法,卫星覆盖区域重叠导致用户节点位于当前卫星覆盖范围内但并未接入当前卫星的情况发生。根据LA-ISTN 描述,此种情况下,寻址机制继续选取靠近目的位置的接口方向进行转发。
本文给出最复杂重叠情况下的证明,如图2 所示,即目的地址D位于卫星A、C、E、S重叠覆盖区域,均有可能连接到某颗卫星时的情况,这种情况下算法的路由可达性证明如下。
图2 最后一跳可达性分析示意
证明若D接入S,S查找星上临时路由表获得下一跳路由,将数据分组数据分组转发给D,此时路由可达。若D未接入S,S查找临时路由表失败,依据接口方向转发到A或者C。
若D接入A,算法选择的转发接口是与A相连的接口,则路由可达;若算法选择的转发接口是与C相连的接口,数据分组转发到C,C查找临时路由表失败,依据接口方向转发到E。同样地,E查找临时路由表失败,将数据分组转发到A,路由可达。
同理,D接入C的情况路由可达。
若D接入E,算法选择的接口是A或者C,根据算法,数据分组转发到E,路由可达。
特别地,考虑在数据分组转发过程中,D接入的卫星发生变化的情况,LA-ISTN 将数据分组沿着形成的四边形转发,最终一定路由可达。由于不会出现用户来回在2 颗卫星之间切换的情况,其路由在靠近目的地址的位置最多绕一圈便可完成数据分组转发,故不会产生路由环路的问题。
3.3.2 轨间链路断开及拼缝位置寻址可达性分析
3.1 节给出了LA-ISTN 所对应的低轨卫星网络场景的具体介绍。除拼缝位置轨间不建立星间链路,其余位置轨间链路未按照地面预测连接关系正常建立或突然断开时,给出寻址可达性证明如下。
证明 首先给出只涉及一条轨间链路断开(即单条链路断开)情况下的可达性分析。如图3(a)所示,当S与右侧邻居的轨间链路断开时,算法会选择先转发至B,而后转发至A,最后一跳可达性证明同3.3.1 节。
图3 轨间链路断开情况下可达性分析示意
其次,当涉及多条轨间链路断开时,如图3(b)所示,S、B、A等卫星节点均与右侧轨道卫星节点星间链路断开。根据算法描述可知,在此情况下,数据分组会沿着当前轨道逐跳转发,直到转发至某一卫星节点,其靠近目的位置的轨间链路正常连接。当前卫星将数据分组转发至相邻轨道卫星节点E,在相邻轨道内继续转发,直至到达D。
最后,给出当2 条相邻轨道之间的星间链路全部断开,即拼缝位置的寻址可达性分析。如图4 所示,拼缝位置相邻轨道间不建立星间链路。根据算法描述,数据分组转发至拼缝位置的某条轨道时,会沿着该轨道逐跳转发。当越过极点N时,数据分组会继续沿更靠近D的方向转发,不经过未建立轨间链路的拼缝位置,后续可达性分析同前文所述,最终实现路由可达。
图4 拼缝位置可达性分析示意
3.3.3 开销分析
本节从邻居信息交换开销、星上存储开销、算法时间复杂度三方面对算法开销进行分析。
1) 邻居信息交换开销。LA-ISTN 需要的卫星接口方向信息和位置信息通过本地读取卫星上关于天线角度的状态信息和位置信息来获得,并不需要交换邻居信息。与地面基于IP 的分布式路由机制及传统位置路由算法相比,LA-ISTN 不需要邻居间“hello”消息传递和位置信息传递,邻居间信息交换开销为零。
2) 星上存储开销。LA-ISTN 仅存储包含当前接入卫星用户的路由信息和在一定时期内的算法计算结果,且IP 地址基于地理区块信息生成,算法计算得出的路由表项可聚类,进一步减少星上路由表存储开销。与快照机制相比,存储开销的降低程度与链路切换次数成正比。
3) 算法时间复杂度。IA-ISA 的算法复杂度由算法1 中的步骤1)进行路由表查找、步骤3)接口方向角排序和步骤4)添加表项三部分组成。星上路由表规模记为M,则查询运行时间为O(M)。由3.1 节描述可知,算法输入接口方向角个数至多为除了接收到数据分组的接口之外的所有接口数,即输入规模n≤3,故算法1 的步骤3)运行时间为常数级。步骤4)添加表项操作运行时间为O(1)。故IA-ISA 的时间复杂度为O(M)。
RP-ISA 时间复杂度由算法2 中的步骤1)路由表查找、步骤3)轨内轨间转发接口确定、步骤4)部分接口选择和步骤5)添加表项四部分组成。查询步运行时间与IA-ISA 相同,为O(M)。由算法2 描述可知,轨内轨间转发接口确定各需要进行2 次比较,接口选择需要进行2 次比较,总比较次数为6 次,故步骤3)和步骤4)的运行时间为常数级。步骤5)添加表项操作运行时间为O(1)。故RP-ISA 的时间复杂度为O(M)。
综上可知,LA-ISTN 运行的计算开销主要来源于路由表查找开销。
3.3.4 性能分析
本节从路径最优性、抗毁性和对于连续数据传输支持的角度对算法进行分析。
1) 路径最优性。分布式 IP 路由协议通过Dijkstra 算法计算生成最短路径。LA-ISTN 逐跳计算下一跳路由,在邻近目的地址时可能会出现多跳寻址的情况,使算法获得的路径不是最短路径。根据最后一跳寻址可达性分析可知,从路径跳数的角度比较,记最短跳数为n,则LA-ISTN 所得路径跳数至多为n+2。从路径传输时延的角度比较,LA-ISTN 第二种实现方式(RP-ISA)将纬度越高、横向链路距离越短的特性纳入考虑,记最短路径传输时延为T,则LA-ISTN 所得路径的传输时延最大值为T+2L,其中,L表示单条纵向或横向星间链路的最大传输时延。
2) 抗毁性。LA-ISTN 仅考虑当前有效的接口,不依赖预测的链路连接关系,故路由选择灵活性和抗毁性强。
3) 对于连续数据传输支持。LA-ISTN 提出临时路由表的概念,利用传统路由查表机制的优势,连续数据流只需计算一次,后续路由查找临时路由表获得,避免单个数据分组计算带来的额外开销,对连续数据传输支持度高。
本文使用STK(Systems Tool Kit)卫星工具包[22]和Mininet 网络仿真软件[23]搭建了一体化网络仿真环境。低轨卫星网络由于距地面距离近、时延低成为了卫星网络发展的趋势。低轨卫星网络的拓扑变化最频繁,路由机制设计所面临的形势相较其他轨道高度卫星来讲更严峻,因此本文仿真的一体化网络场景中卫星网络部分为低轨卫星网络。由于铱星系统经过多年的发展,其星座结构最具有代表性,故本文的仿真场景基于铱星系统的星座结构来模拟低轨卫星网络,增加卫星节点数来模拟多个场景。低轨卫星网络参数如表1 所示。地面节点选取了15 个地面站进行地面站间组网,在全球范围内选取了25 个用户节点,共40个地面节点。
本文通过将真实的卫星轨道运行参数和地面节点位置信息输入STK 卫星工具包,模拟了网络在一个卫星运动周期(100 min)内的拓扑变换情况并选取了最典型的快照机制[6]和地面应用最广泛的分布式路由协议OSPF[22]与LA-ISTN 进行对比。开销测试通过在Mininet 网络仿真软件中搭建上述不同规模的网络,使用Quagga 路由软件[24]部署OPSF协议来进行。从路由表存储开销、路由更新开销、网络可用性及路径传输时延4 个方面对3 种机制进行对比分析。
表1 低轨卫星网络参数
记一次卫星运行周期内,单颗卫星上采用的基于虚拟拓扑的快照机制[6]携带的路由表规模为CVT,OSPF 协议存储的路由表规模为COSPF,LA-ISTN 存储的临时路由表规模为CLA-ISTN,切分的静态拓扑时间片数为R。根据3 种路由机制的设计可知,快照机制需要携带所有时刻的路由表,星上定期更新当前时刻生效路由表,OSPF协议仅存储当前时刻的路由表,故存在如式(3)所示关系。
根据3.2.2 节所述临时路由表的定义可知,LA-ISTN 中卫星仅需要存储当前时刻卫星的接入终端地址项及算法计算出的网络部分路由信息。与存储当前时刻全网路由信息的OSPF 相比,可得式(4)所示不等式。
整理可得式(5)所示关系。
随着卫星星座规模增长,链路切换更加频繁,使静态时间片切分难度加大,导致R不断增大。由式(5)可知,快照路由机制面临着严峻的路由表存储开销急增问题和复杂的维护问题,其存储规模是LA-ISTN 存储规模的R倍。相比快照机制,LA-ISTN更适合大规模卫星网络,虽然OSPF 协议的路由表存储开销与LA-ISTN 基本一致,但其路由更新频繁,使资源有限的卫星难以承受。
路由更新开销定义为由于路由更新所致的更新数据交换开销。快照机制是基于虚拟拓扑预先计算出每一时间片的路由信息,随时间片更新当前生效路由表,不需要发送更新数据进行路由表更新,因此其路由更新开销为0。
LA-ISTN 中路由表更新发生在单颗卫星切换分区时卫星本地更新路由表,不需要邻居间路由信息交换和其他通信,因此其路由更新开销为0。
OSPF 协议中使用“hello”消息来监听链路连接状态,链路状态变化会触发路由表更新。由于OSPF 协议需要得知全网连接信息以计算最短路径,因此本地路由表更新会导致邻居间传递LSA update 数据分组,交换各自路由表,因此OSPF 协议存在更新数据交换开销。实验得到该协议在不同网络规模下一个卫星周期内的路由更新引起的数据交换总开销,如图5 所示。由图5 可以看出,OSPF协议因路由更新引起的数据交换开销随着网络节点规模的增长近乎呈指数级增长。
图5 OSPF 协议路由更新数据交换总开销变化
综上分析可知,LA-ISTN 无路由更新开销,可以极大地减少星上带宽资源消耗,提升网络整体性能。
网络可用性定义为当前时刻路由表能准确地反映当前时刻网络拓扑状况的时长占比。快照机制下卫星网络理论上始终可用,但在实际运行过程中卫星具有一定的随机性,不能保证其链路连接状态与地面预测结果时刻保持一致。倘若发生链路建立失败或链路意外断开等情况,网络实际拓扑将与预测信息不一致,其网络可用性将受到毁灭性打击。
根据3.3.4 节抗毁性分析可知,LA-ISTN 基本不受链路预测的影响,星间链路建立失败仅会导致当前可选择接口减少,可能会引起星间转发跳数的增加,但能保证数据分组可达。因此意外情况对LA-ISTN 下的网络可用性无影响,网络始终可用。
分布式IP 路由协议遇到故障会引起全网路由更新,路由长时间处于收敛状态,收敛过程中,网络可用性受到极大影响。OSPF 协议的网络可用性测试是在Mininet 环境中使用Quagga 路由软件部署,得到了不同网络节点规模下一个卫星运行周期内的OSPF 协议的运行情况,计算得到其网络可用时长占比,如表2 所示。
表2 不同网络节点规模仿真发生路由更新次数及网络可用时长占比
由表2 可以看到,随着网络规模的增长,路由更新次数增长对OSPF 协议可用性的影响较大,当网络规模为178 时,可用时长占比已不足7%。综上,相较快照机制和OSPF 协议,LA-ISTN 在网络可用性方面占据明显优势。
本文选择分别位于北京和开罗的2 个地面接入节点,在不同的网络规模下,测量并比较了IA-ISA、RP-ISA 和最短路径3 种路由选择算法计算得到的路径传输时延,结果如表3 所示。其中,最短路径算法是快照机制和OSPF 协议的路由选择算法,IA-ISA 和RP-ISA 是LA-ISTN 机制下2 种不同的路由选择算法。
由表3 可以看出,IA-ISA 在不同网络规模下的路径传输时延与最短路径传输时延相同,即为最优传输路径。当RP-ISA 的节点规模分别为130、154、178 时,路径传输时延相比最短路径有一定延迟,平均差值为7.792 2 ms,与3.3.4 节性能分析的结果相符,差值在理论分析范围内。
表3 3 种算法路径传输时延比较
本文提出一种基于位置的天地一体化网络路由寻址机制——LA-ISTN,基于用户IP 地址根据其地理位置信息生成的编址方式,在星间路由时,利用IP 地址中的位置信息计算路由方位,根据路由方位选择最优的转发接口进行转发。实验结果表明,相较快照协议和OSPF 路由协议,LA-ISTN 星上路由表规模仅为前者的(R为快照机制携带的路由表的数目)。LA-ISTN 路由更新引起的数据分组交换开销和邻居通信开销为0,且路由选择不依赖于预测的链路连接关系,稳健性强,可保证网络时刻可用。