适用于天地一体化网络的轻量级路由通告机制

2022-09-26 04:19北方工业大学王鹏宇黄思恬陈依
数字技术与应用 2022年9期
关键词:通告天地路由

北方工业大学 王鹏宇 黄思恬 陈依

天地一体化网络是中国“科技创新2030”的重要项目,其中卫星网络与地面网络互联起到关键作用。但是直接部署传统的域间网络协议会导致网络中的带宽资源被大量控制路由占用,现有的轻量级部署方案要求设备存储全网路由。本文提出一种轻量级路由通告机制LRAM,将通告路由改为通告对等体组,并使用索引形式保存路由。实验表明:LRAM对带宽资源和存储空间的优化效果明显。

随着地面网络的蓬勃发展以及海洋、偏远农村等地区网络需求的不断增长,构建一个能够覆盖全球互联网接入的天地一体的网络变得越来越有价值。这不仅是中国“科技创新2030”的重要项目,还是未来互联网的发展趋势。但是地面网络和空间网络有较大区别,属于异构网络,想要实现互联有诸多问题待解决。而域间路由协议的设计目的就是互联各类异构网络,实现网络间的互联。然而,直接将现有地面网络的域间路由协议BGP[1]部署至天地一体化网络中会遇到很多的技术挑战,如路由频繁更新、链路时延较大、带宽资源受限等。并且天地一体化网络中BGP的邻居关系不稳定,对等体组频繁变化会带来大量路由收敛[2]。于是,关于如何将BGP部署到天地一体化网络中的研究逐渐受到重视,Yang[3]等人提出了一种简化邻居耦合关系的BGP协议——NTD-BGP,该协议能根据卫星运动周期性的特点较为准确的预测网络拓扑和网络域之间的对应关系,再通过标记的方法减少路由收敛。但由于该机制要求每个路由器保存整个网络的路由,因此会给路由设备带来较大的存储压力,反而会影响查表转发速度。

基于此,本文提出一种适用于天地一体化网络的轻量级路由通告机制(Lightweight Route Advertisement Mechanism,LRAM),将通告路由替换为通告对等体变化,并使用索引的方式保存路由属性,可以做到减少路由收敛的同时显著降低存储压力。

1 方案设计

本文提出的LRAM机制主要用于解决天地一体化网络中卫星与地面站间频繁的断连重连过程中产生的大量路由通告问题,主要包括BGP对等体之间的重复路由收敛以及断连重连引发的OSPF域内的实施链路信息洪泛。还有设备上路由存储过多的问题,主要包括BGP的通告路由和OSPF的AS-External-LSA。

为了解决这些问题,我们基于开源的路由软件Quagga[4]设计LRAM机制,在其中BGP和OSPF模块中均添加了属性表(BGP-Attr、OSPF-Attr),索引表(BGP-Index、OSPF-Index)。

(1)为了解决BGP对等体间重复路由收敛的问题,本文设计的LRAM机制修改了断连重连时的BGP UPDATE通告。在路由器初始化时,在报文中的路由信息后添加一条对等体组信息,这样便于路由器保存属性,在后续断连重连过程中,若没有路由变化,只需要通告一条携带对等体组的信息即可。为了减小卫星设备的路由存储压力,在控制平面里的BGP模块中添加了BGP路由属性表,即BGP-Attr,该表主要用于保存通过BGP学到的路由及其属性,包括路由前缀、下一跳、对等体组等,在每条路由中添加序号(用于索引)和状态码(用于标记当前路由生效与否)。此外,再添加一个路由索引表BGPIndex,用于存储每条路由前缀当前的可选路由,该表中的路由信息用BGP-Attr表中的序号索引表示。

(2)为了解决断连重连引发的OSPF域内的实施链路信息洪泛问题,本文设计的LRAM机制仿照AS-External-LSA,制造PEER-LSA,在数据部分填入对等体组及状态码。取消了原有的AS-External-LSA,发生断连重连时,仅洪泛一条PEER-LSA即可。相应的,也在OSPF模块中添加了OSPF路由属性表和索引表,即OSPFAttr和OSPF-Index,具体结构与BGP-Attr和BGPIndex相同。

2 工作原理

为了说明LRAM的工作原理,我们以一个简易的天地一体化网络为例。假设网络初始状态如图1所示,地面站A-C处于同一网络域内(AS 100),卫星1-3处于同一网络域内(AS 200),域内运行OSPF协议。卫星与地面站之间通过BGP协议建立对等体组,不同网段的邻居使用PPP协议建立连接。另外,地面站A上外接一个PC,代表用户终端设备。

图1 网络初始状态Fig.1 Initial state of network

所有设备在初始化过程中在属性表中添加网络中所有路由的属性信息。在网络恢复初始状态后,索引表中会保存所有可选路由属性,生效的路由属性状态码标记为1,失效的路由属性状态码标记为0。如果一个路由前缀的所有路由属性状态码全部为0则将该前缀标记为Sleep。将所有标记为Active的前缀及其属性同步到原路由表中(BGP-RIB、LSDB),触发重新选路的操作,再通过BGP UPDATE或PEER-LSA同步给邻居。

随着卫星运动,卫星1与地面站A断开连接。BGP邻居10.0.0.1与10.0.0.2之间通 过BGP UPDATE通告对等体组断连。之后卫星1和地面站A在BGP-Index表中,将所有对等体组为10.0.0.1-10.0.0.2的属性状态码置为0,将所有标记为Active的前缀及其属性同步到BGP-RIB中,触发重新选路的操作,再Redistribute到OSPF中。OSPF同样在OSPF-Index表中将所有对等体组为10.0.0.1-10.0.0.2的属性状态码置为0,将所有标记为Active的前缀及其属性同步到LSDB中,触发重新选路的操作,再组织PEER-LSA通告,将对等体组10.0.0.1-10.0.0.2以及状态码0填入,发送给域内邻居。

域内邻居收到PEER-LSA后,解析对等体组和状态码,在OSPF-Index中查找相同的对等体组,并同步状态码。将所有标记为Active的前缀及其属性同步到LSDB中,触发重新选路的操作。OSPF同样将PEERLSA转发给邻居,并Redistribute到BGP中。BGP执行接收到BGP UPDATE通告同样的操作,再组织BGP UPDATE通告将对等体组信息填入发送给邻居。

随着卫星运动,卫星2与地面站B建立连接。BGP邻居20.0.0.1与20.0.0.2之间通过BGP UPDATE通告对等体组重连。操作流程与断连过程相同,将状态码置为1。

如果终端设备与地面站A断开连接,首先地面站A会在BGP-Attr和OSPF-Attr表中将所有与终端IP前缀相同的路由属性的状态码标记为0,并将BGP-Index和OSPF-Index表中所有路由前缀与终端IP相同的索引删除。再组织BGP UPDATE和Route-LSA将信息通告给邻居,邻居收到通告后执行相同的操作。如果地面站上有新的终端设备接入,地面站A会在BGP-Attr和OSPF-Attr中新增前缀和路由属性,将状态码标记为1,在BGP-Index和OSPF-Index表中添加路由前缀和索引。再组织BGP UPDATE和Route-LSA将信息通告给邻居,邻居收到通告后执行相同的操作。

3 系统实现

正如上文所说,本文为了解决天地一体化网络中卫星与地面站间频繁的断连重连过程中产生的大量路由通告问题和设备上路由占用存储过多的问题,提出了LRAM机制。

为了存储路由属性,避免反复增删路由,需要在设备中新增路由属性表BGP-Attr/OSPF-Attr,为了减少路由表的存储压力,需要新增索引表BGP-Index/OSPF-Index。

属性表结构如表1所示。

表1 属性表Tab.1 Attribute table

每个路由前缀对应的索引表结构如表2所示。

表2 路由前缀索引表Tab.2 Routing prefix index table

为了减少断连重连同步时网络中的路由,本文修改了BGP UPDATE报文格式,如表3所示,并仿照AS-External-LSA设计了PEER-LSA报文格式,如表4所示。

表3 BGP UPDATE报文Tab.3 BGP UPDATE message

表4 PEER-LSA报文Tab.4 PEER-LSA message

4 实验验证

为了验证LRAM在天地一体化网络中对控制路由占用带宽和路由占用设备存储空间过大的缓解作用。本文使用内存8G、系统Linux14.04且装有Quagga软件的主机设备搭建了网络,并实现了LRAM的基本思想,改进了Quagga中的代码。

为了验证LRAM机制对控制路由占用带宽的优化效果,我们在图示网络中通过拔插网线模拟天地一体化网络的运行过程,在每台设备上使用TCPDump工具抓取数据包并统计路由数目。模拟两个完整的运行周期,一次使用带有LRAM的方案,另一次不使用LRAM作为对照。经检测,使用LRAM后,网络中的控制路由数目下降了约70%,优化效果明显。之后,我们在两组网络运行时从服务端注入100条路由,再次检测网络中的路由数目,结果更为明显,网络中减少了86%的控制路由。为了更直观地看优化效果,我们在服务端用VLC搭建视频服务器,打开UDP视频流,在播放端接收网络串流播放视频,观察网络运行过程中断连重连对视频播放造成卡顿的时长。经测试,使用LRAM的方案重连后视频均可在2s内恢复流畅,而未使用LRAM的方案会有15s的卡顿。

为了验证LRAM机制对路由占用设备存储空间的优化效果,我们分别在网络中部署了LRAM和NTDBGP,在服务端灌入100条路由并让网络运行一个完整的周期,再用指令查看每台设备BGP-RIB表和LSDB表中的路由数目,再通过计算得到占用的存储空间。实验表明:使用LRAM的方案相比NTD-BGP节省了约80%的存储空间,且网络运行过程中变化较小。

经过实验验证:在天地一体化网络中,LRAM可以明显降低控制路由对带宽的占用,且不会影响网络中的数据业务。比起现有的轻量级部署方案,也可以缓解路由占用设备存储空间过大的情况。

5 结语

本文对天地一体化网络在实际运行中可能遇到的问题进行分析,总结出两大主要问题:对等体频繁替换导致大量路由收敛,部署轻量级的BGP可能带来过大存储压力。针对这些问题,本文提出了一种轻量级的路由通告机制LRAM。我们详细地介绍了LRAM的设计思路,具体说明了在软件层面的改进。此外,本文对LRAM在天地一体化网络运行中发挥作用的流程进行了阐述。最后,我们搭建了简易的天地一体化网络,并部署LRAM验证优化效果,实验结果表明,优化效果显著。并且我们在场景中加入了实际业务,证明了该方案在实际应用中具有很高的价值。

引用

[1] 吴曼青,吴巍,周彬,等.天地一体化信息网络总体架构设想[J].卫星与网络,2016(3):30-36.

[2] ETEFIA B,SWAMINATHAN V,TRAIN J et al.Emulating a Spacebased Router[C]//IEEE Aerospace Conference Proceedings,2010:1-14.

[3] 杨增印,吴茜,李贺武,等.天地一体化信息网络域间路由协议NTD-BGP[J].清华大学学报(自然科学版),2019,59(7):512-522.

[4] JAKMA P,LAMPARTER D.Introduction to the Quagga Routing Suite[J].IEEE Network,2014,28(02):42-48.

猜你喜欢
通告天地路由
国家药监局关于7批次药品不符合规定的通告
A Magic Train Trip
A Talking Pug
探究路由与环路的问题
拾天地之荒
关于实行参考文献新规范的通告
关于实行参考文献新规范的通告
PRIME和G3-PLC路由机制对比
变更启事
WSN中基于等高度路由的源位置隐私保护