APP下载

天地一体化信息网络动态重构技术与仿真方法

2020-05-14董若楠张光杰王晓锋李乾治

小型微型计算机系统 2020年5期
关键词:卫星网络链路重构

董若楠,张光杰,刘 渊,王晓锋,李乾治

1(江南大学 数字媒体学院,江苏 无锡 214122)

2(江南大学 物联网学院,江苏 无锡 214122)

E-mail:1132756208@qq.com

1 引 言

天地一体化信息网络动态重构技术是指面临人为无意、恶意攻击或遭受恶劣自然环境的挑战时,卫星节点、通信链路发生故障,网络仍能够维持自身功能的技术.相对于传统互联网,天地一体化信息网络链路开放,卫星节点直接暴露于空间轨道上,长期处于恶劣的自然环境中,容易遭受非法截获、无意或蓄意干扰甚至摧毁,需要针对天地一体化信息网络的动态重构方法展开研究.

但由于天地一体化网络(SGIN)[1]是一个高度异构且结构复杂的信息网络,具备高动态、分布式自组织等特点,解决技术问题与难点时耗资巨大,在实际部署SGIN之前,需要建立天地一化的信息网络仿真实验平台,对网络拓扑、相关协议、应用程序等进行严格评估及验证[2].

云计算平台可以为网络仿真提供逼真的虚拟仿真环境,当下基于云平台和虚拟化的网络仿真已成为一种新趋势[3,4].OpenStack作为当下Iaas云计算技术中的代表,依托虚拟化技术,实现计算、网络、存储等资源的虚拟化,完成物理资源的统一调度,在保证仿真逼真性的前提下实现对资源的充分利用.

本文基于OpenStack云平台,依据STK仿真数据,协同控制卫星链路的方法,构建动态变化的卫星网络仿真场景,提出了支持卫星网络动态收敛和通信服务迁移的可重构方法,实现面向天地一体化的动态重构技术.

2 相关工作

关于卫星动态重构网络的研究较少,文献[5]研究卫星网络的高可用方案,利用延展带宽资源分配的方法,对DDoS的攻击实验具备很好的防御效果,但是这种方法却无法保证卫星节点本身意外事故后的高可用.文献[6]基于Dijkstra 算法依据双层卫星网络时延最短和时延抖动实现路由策略,并通过实验证明这种方法效率具备良好性能,但这种方法依据的是卫星运动的周期规律,采用静态切换策略,无法应对非法攻击等意外情况.文献[7]针对基础网络设计一种可重构服务的算法,通过节点或最短链路为资源关键度的衡量指标实现网络的动态感知,但未将该算法运用于实际场景中,无法保证其实用性.在高可用的通信方面,文献[8]采用温备份的方式,提高通信的可靠性与容错性,但未能将NGN下一代通信网络与卫星网络融合.

研究动态重构的方法,需要构建天地一体化仿真场景,目前关于卫星网络的仿真研究主要集中在理论模型的研究、基于离散事件驱动的数字仿真研究、基于虚拟化技术的网络仿真研究等三个方面.

文献[9]通过理论分析信道模型,利用STK卫星工具包进行分析研究,生成较高精度的链路性能数据.这种方法可以为卫星网络的仿真提供理论基础,但理论建模的方法,只能从数据进行分析,无法支撑卫星网络协议的评估与验证.

文献[10]研究一种未来卫星网络结构,通过NS2仿真实验验证结构满足发展的需求;文献[11]依托OPNET研究一种网络混合路由算法;文献[12]基于QualNet与STK实现对卫星通信网络的建模,并通过实验证明建模仿真的正确性.离散事件驱动的数字仿真研究(NS2,OPNET,QualNet等),可以将STK等理论分析的数据结果相结合,实现对复杂卫星网络的分析,具备可扩展、低成本的优点,但这种方法无法生成现实的流量数据与现实系统交互,真实性不足.文献[13]基于虚拟化技术对LEO卫星链路进行仿真,以STK产生的数据为依据,实现链路特性精确控制,但是文献中只考虑了单条链路.文献[14]依托虚拟化技术实现天地一体化网络中卫星链路仿真,采用这种方法,链路仿真既可以实现流量报文的现实交互,同时可以复现理论数据,保证仿真的逼真性,但文献并未对高可用的卫星通信网络展开研究,无法保证仿真网络的可用性和网络的稳定性.文献[15]设计了一种轻量级虚拟化与云平台融合的方案,轻量级的虚拟化技术占用物理资源较少,可以扩展仿真的规模.基于虚拟化的仿真方法,可以综合理论模型的研究、离散事件驱动的数字仿真研究的优势,既可以依托理论模型为数据依据,又可以实现低成本、大规模的仿真,而且虚拟化的仿真方法还可以产生真实的流量,对天地一体化的仿真场景进行逼真验证,为此需要以虚拟化技术为基础构建天地一体化信息网络仿真实验平台,研究卫星网络动态重构的方法.

总之,综合目前存在的网络仿真方案及可重构方法,针对复杂多变的信息网络,构建动态变化的天地一体化信息网络仿真场景,研究面向卫星通信网络的可重构方法意义重大.

3 基于云平台的可重构信息网络仿真体系

本文基于OpenStack仿真平台,研究支持动态重构的天地一体化信息网络,需要实现动态变化的卫星网络仿真,并研究卫星和地面通信网络的动态重构方法.

卫星网络的可重构可以由支持动态收敛的卫星仿真节点来实现,地面网络的动态重构则由支持通信服务迁移的方案来完成,以下为此展开详细介绍.

3.1 仿真实验体系架构

文献[16]对时下几种云平台进行实验测试,结果表明,OpenStack在计算密集型的应用中表现出较好的性能,所以本方法基于OpenStack云平台实现分布式仿真环境的搭建.OpenStack云平台通过NTP协议实现各个节点的时间同步,保证仿真的实时性;在控制节点实现镜像服务、计算服务、网络服务等的管理;在计算节点实现计算资源的虚拟化,是虚拟机具体运行的场所.

天地一体化网络由卫星网络和地面通信网络组成,网络中主要包含仿真用户、信关站和卫星等,本文集成轻量级虚拟化docker与全虚拟化技术KVM,融合多尺度的虚拟技术,解决规模仿真与性能稳定的矛盾.基于云平台的实验系统架构如图1所示.卫星与通信服务的信关站数量少所需资源多,用户节点数量多占用资源少.在支持KVM的计算节点集成通信服务节点(信关站)与卫星节点,卫星节点(Satellite Node)中集成网络的动态收敛方法,保证卫星网络的可重构;通信服务节点(Station Node)的集群方案,实现通信网络的可重构.在支持docker的计算节点集成用户节点,通过控制节点管控异常用户,构造DDoS攻击;在网络节点实现网络资源的虚拟化管理,主要通过OVS虚拟交换机软件实现对二层网络的仿真,通过tap设备与veth pair实现虚拟网络设备和网络链路的仿真,利用linux内核工具TC完成链路性能参数的控制,通过卫星链路控制节点实现对卫星网络仿真的协同控制,保证仿真卫星网络的动态变化.

图1 可重构信息网络仿真实验架构

3.2 卫星网络

为研究与验证卫星网络的可重构技术,需要在云仿真实验平台中构建逼真性高、动态变化的卫星网络环境,分析卫星链路特性并研究链路仿真的方法便显得格外重要.文献[13]以STK产生的数据为依据,实现链路特性精确控制,但是文献中只考虑了单条链路.卫星网络庞大而复杂,需要对卫星仿真网络中的所有链路参数实现协同控制,从而实现网络的实时仿真.

卫星距地距离远,根据总延时=发送延时+传播延时+处理延时+排队延时;此时的传播延时便成了影响总延时的主要因素,传播延时与传播介质和距离有关,假定电磁波的传播速率为定值c,则传播延时τ为,其中L为距离长度.而卫星时刻处于周期运动,卫星间的距离可能会发生变化.例如当卫星间的相对位置发生变化(如图2所示),卫星由p0位置到p1位置,与观察卫星间的距离发生从len0到len1的变化,传输距离的改变会导致两颗卫星间的链路延时变化.

图2 卫星链路分析示意图

卫星运动轨道为不同直径大小的同心圆轨道,卫星星座中同轨道星间距离保持不变,不同轨道间的星间距离发生周期变化,因此不同轨道间的链路延时变化为研究卫星网络仿真的关键部分.

3.3 支持动态收敛的卫星节点

在保证真实的卫星链路场景后,基于云平台展开本文的可重构技术的研究,实现复杂网络拓扑的动态学习与感知,当网络中卫星仿真节点出现故障或当卫星链路阻塞中断的情况时,实现链路的择优转发,满足路由的自主学习与网络重建.

本文在卫星仿真节点中集成动态路由服务,主要由心跳探测模块、拓扑学习过程、路径计算过程、拓扑数据库及路由表等组成,架构如图3所示,下面对各个模块及过程的具体情况展开介绍.

1)心跳探测模块:模块为了实现分布式卫星路由,需要各个节点间建立联系,通过心跳探测模块发出周期性的探测响应包,相邻节点可以确立邻居关系也可以实时更新邻居状态,并传递所需信息.

2)拓扑学习过程:通过相邻节点间的信息交换,拓扑学习模块可以动态学习并建立自己的数据库,通过相互的学习,保证分布式数据库实时更新并保证数据的一致性.

3)拓扑数据库:主要是经过拓扑学习获得,库中保存同一区域下完整的卫星节点信息,从而为下一步制作生成自身的路由表做准备.

4)路径计算:是实现与生成路由表的关键部分,通过最短路径计算,获得最短路径,为报文的分组转发提供路由向导.

图3 可重构卫星节点架构图

5)路由表:为转发模块提供路由,每个卫星节点,有自己的一套全网路由,并通过心跳检测模块动态更新数据,保证节点间的最优路径.

6)转发模块:根据自身路由表,实现最短路径的分组转发.选择较优线路,保证服务质量,同时在转发模块中添加数据包的延时分发功能,实现卫星链路延时仿真,体现星间距离的动态变化.

3.4 支持动态迁移的通信服务

卫星通信网络系统在实现卫星网络的动态重构后,可保障星间通信的服务质量,此时地面提供通信服务的网元(信关站)的高可用性,便成了影响通信服务的关键因素.信关站可能会因为自身物理状态的损害,意外断电或受到非法攻击,无法提供正常的服务.为此设计一种集群备份的方法,通过实现可迁移服务,提高服务的抗干扰能力.

为实现高可用的通信服务,本文基于共享集群的设计理念,提出可迁移的通信服务方法,主要设计思想如下.

1)备份节点:为通信服务节点提供备份节点,确保当自身受到损害等意外情况,无法正常服务时,备份节点代管相关服务;

2)共享存储:主节点与备份节点共享存储数据库,数据共享确保通信服务的顺利接管,可维持用户在网络的状态,保证通话、短消息等通信行为的正常执行.

3)对外同一:主节点与备份节点对外透明无差,主节点与备份节点除本身ip地址外,还具备共享浮动的虚拟ip,服务组件监听共享虚拟ip,监管通信服务,为此用户对主备节点感受不到差别,保证透明性.

4)状态监测:主节点通过状态报告模块与备份节点的状态监测模块实现状态协调,当主节点正常运行时备份节点处于待机准备阶段,当状态报告出于宕机或联系中断状态,备份节点转变自身状态为服务状态,实现通信服务的迁移.

4 支持动态重构的关键技术

4.1 卫星网络协同仿真

在3.2中分析了卫星链路的特性,为了复现不同轨道间的链路变化验证动态重构的方法.实现对卫星网络的协同控制,展开以下研究.SDN通过编写软件的方法采用集中式的管理方式,可以灵活定义网络设备的转发功能,不需要在每个路由器或交换机上分别进行以设备为中心的配置更改,满足协同仿真的需求,为此本文方法借鉴SDN的思想,采用一种数据控制分离、软件可编程的体系架构,在图1云仿真实验平台的卫星链路控制节点中,实现卫星链路的协同仿真技术.

技术的详细架构如图4所示,采用集中式的控制平面和分布式的转发平面,两个平面相互分离,通过转发通信接口,控制平面实现对网络设备的集中控制,实现卫星节点间的链路仿真,具体实现过程如下.

1)卫星链路控制节点从云平台的控制节点获取实验网络拓扑,并在业务层对卫星链路的拓扑做抽象建模,通过STK中设置卫星场景星历时间、雨衰模型及大气衰减模型、卫星发射机功率、接收机功率等参数,实时仿真卫星链路的状态信息,STK仿真过程根据卫星运动的行为轨迹,演练生成星间距离信息并传至控制层.

2)测算模块获取链路信息数据,根据当前延时Dcur=Lcur/c(其中L为卫星在空间中的几何距离,c为电磁波的传播速度),计算生成链路的延时数据,并将处理过的数据同步到协同控制器.

3)协同控制器作为统一的控制单元,并行控制所有负责的卫星节点,通过控制转发通信接口与卫星仿真节点实现交互.

4)卫星节点根据收到协同控制器的链路控制信息,通过在虚拟网卡上建立队列,以此控制数据分组的发送,根据入队的时间Tarrive与控制信息的延时数据Tdelay,数据发送时间Tsend为:Tsend=Tarrive+Tdelay+ΔT,ΔT为底层封装等可能因素造成的误差.最终实现卫星链路性能的协同仿真,构建动态变化的卫星网络场景.

图4 协同仿真结构图

4.2 卫星网络的动态切换

基于3.3介绍的节点架构及功能模块,实现分布式卫星节点软路由的动态感知方法,针对卫星网络变化实现路由的动态可重构.实现的过程如下所示.

1)首先建立邻居状态,卫星仿真节点Root以广播的方式,向自己的邻居节点发送心跳探测的报文.邻居节点Neim(m=1…n),收到邻居Root发来的信息探测报文,修改自己的邻居状态为初始化状态,将Root添加为自己的邻居,回送带有自己标识信息的报文给Root.Root收到报文后发现其中带有自身的标识,同时带有邻居的信息,将状态确立为邻居建立状态,并发送响应包,邻居收到回复,确立建立邻居状态.节点通过周期性的心跳探测维持与邻居的连接关系,若一段时间未收到邻居的心跳报文,则修改邻居状态,将两点链路修改为不可达.

2)更新拓扑状态数据库:通过拓扑学习模块,节点依次将自己作为Root节点,将本地拓扑信息发送给邻居节点,邻居节点Neim收到带有Root数据库中信息的报文并与本地拓扑状态数据库对比,然后返回请求报文.向发送方(Root)请求本地数据库中未包含的链路的详细信息,添加Root返回的拓扑信息到数据库,最终节点掌握网络中所有节点的拓扑信息,实现分布式拓扑数据库的统一,保证数据的一致性.

3)最优路径算法:通过学习模块,拓扑状态数据库保存全网的节点路由信息,路由计算模块以自身节点为根节点,并通过Dijkstra算法,建立到其他节点的最短路径树,构建本地路由表,保证最优转发.

4)拓扑的动态重构:路由表建立后处于稳定状态,若通过心跳探测报文发现邻居状态发生变化则重新建立邻居关系即通过重复1)-4)过程来更新数据库.

5)转发模块根据本地路由表,实现数据分组转发.

4.3 通信服务的动态迁移

基于3.4介绍的可迁移的通信服务方案,实现支持动态重构的地面通信方法,可有效避免通信基站不可服务的意外情况.下面对实现的具体过程展开介绍.

1)备份节点开机启动服务检测程序,周期探测主节点是否处于正常工作状态,若收到正常工作的回应报文则不做其他动作继续探测,否则进入工作流程2);

2)拿到程序预设的与主机共享的浮动IP,调用本地切换程序实现对通信服务程序相关配置的修改,切换监听端口为浮动IP所对应的端口地址,更新通信服务程序.

3)备份节点切换成为主服务节点,并反馈信息给管理员,对初始主机节点进行故障检测,排查与维护.

最终,通过传输(通信链路的动态切换)和服务(通信业务可迁移)的双重保证,实现卫星仿真网络的动态可重构及网络的高可用.

5 实验分析与验证

5.1 自动化构建天地一体化实验场景

5.1.1 实验的物理环境

基于本文的设计方法,基于OpenStack云平台构建仿真实验环境,其中控制节点处理器为Intel(R)Xeon(R)CPU E5-2620 v4*2,内存64G;网络节点处理器为Intel(R)Xeon(R)CPU E5-2609 v3*2,内存为16G;计算节点1处理器为Intel(R)Xeon(R)CPU E5-4607 v2*4,内存32G;计算节点2处理器为Intel(R)Xeon(R)CPU E5-2620 v3*2,内存16G;操作系统均采用CentOS7.2,Openstack的版本是Mitaka.

5.1.2 自动化构建的仿真场景

在控制节点实现对虚拟节点的管理控制,同时为解决在仿真大规模场景时的构造复杂的问题,设计一种根据描述文件,自动化映射生成卫星网络仿真场景的方法.在云平台中制作生成所需的镜像文件,在本文中包含卫星、信关站、正常仿真用户、被控用户、DDoS主控用户等.

通过拓扑描述文件构建实验场景,执行自动化场景生成程序,能够在云平台中自动化构造天地一体化实验场景,体现本文设计方法的便利性,改善了Openstack云平台只能通过CLI或Web UI创建单一类型节点的弊端,并通过自动化映射程序,可自动规划节点到指定计算节点,充分利用节点资源,避免因某个节点硬件资源限制无法实现大规模部署,同时本文设计方法还集成了docker与KVM多种虚拟化技术,并通过统一的部署程序实现无差别映射.

图5 STK场景

为验证卫星网络的动态可重构方法的有效性,受限于实验的物理资源,本实验只选取6颗卫星组成双轨卫星星座,并选取指定卫星编号下挂载对比实验组群;场景映射的程序部署在控制节点,将图5所示的卫星场景以及卫星服务区域内的服务站和用户节点部署在实验环境中,通过调用glance API获取相应的镜像文件,调用云平台nova与neutron组件的API,实现虚拟节点的部署与网络配置,完成仿真场景的规划部署,最终生成的实验场景如图6所示.

图6 高可用仿真实验图

5.2 协同仿真的实验与分析

仿真卫星的运动过程,受限于物理资源,构造三颗高轨与三颗低轨的图6小规模仿真场景,STK控制星历时间,驱动卫星节点模拟卫星运动,同轨道卫星距离保持不变,不同轨道间星间距离发生变化,造成延时改变.每隔一小时采集轨道间链路往返一次的延时数据,总共采集六个小时,每组采集十组数据取平均值,验证协同仿真方法的可行性.并取其中一条链路分析仿真结果与理论值的误差大小.

根据图7协同仿真实验数据,可看到每条链路延时属性的动态变化,证明本方法实现了控制平面与数据转发平面的分离,满足集中控制分布实现的需求,可以实现卫星多条链路延时参数协同仿真的效果,保证卫星仿真节点动态机动的特性.通过图8链路仿真延时数据,以LEO_GEO1作为目标案例,分析链路仿真的误差大小,其中误差率=(实际值-理论值)/理论值*100%,由实验数据得到仿真的平均误差率为0.153%,误差率较小,仿真结果与理论值相近,证明本文方法是理想的仿真办法.

图7 协同仿真实验

5.3 卫星网络的动态收敛实验与分析

除了卫星周期运动引起的规律网络变化外,由于卫星自身原因或因外界的非法攻击的情况也会导致突发的网络变化.在仿真过程中模拟卫星意外掉电行为,采用随机策略针对LEO_3和GEO_1进行卫星故障仿真实验,导致卫星无法提供服务,取图中的节点USR1与USR2(假定星地网络链路参数不变),并且节点中集成了traceroute路径探索服务,通过USR1中探索USR2的可达路径,每隔一小时采集路径信息,来验证方法能够实现链路状态改变后的自主选择.

图8 LEO_GEO1链路仿真延时数据

实验结果如图9所示链路采集结果,显示了各个采集时间点USR1到达USR2的路径上经过的卫星节点,通过实验结果所示,由于卫星状态的改变,卫星节点能够实现动态拓扑的路由学习,用户的请求在链路发生变化后,自动调整转发路径,成功抵达目标用户.通过实验结果证明,本方法能够在卫星网络的发生变化后的路径动态切换,实现网络重构,同时解决了目前云平台中的动态路由问题.

图9 LEO_GEO1路径采集数据

5.4 通信服务的可迁移实验

为验证通信服务的高可用,取图中的原始信关站Station_Test1与采用本文设计方法的Station_Test2.通过在云平台中集成的分布式攻击仿真方法,分别攻击两个站点,并通过USR1与USR2的通话方法,来验证服务的可用性.证明本方法的可以实现通信服务的高可用与对攻击的可抗性.为此两组的实验结果如表1所示.

表1 热迁移实验结果

实验结果证明,初始信关站无法抵抗DDoS攻击,受到攻击时无法提供正常的服务,用户发起通信的请求无法收到正常回应,无法抵抗DDoS攻击.采用本文的设计方法,则可以在受到攻击后正常提供服务,可以提供高质量的服务,保证服务的高可用性.

6 结束语

本文设计一种天地一体化网络环境中的网络动态重构方法,从高空与地面等多种维度保证服务的高可用,为卫星通信网络的建设提供一定的参考价值,下一步研究天地一体化卫星网络的加密鉴权方法,保证高质量的同时可以实现安全业务,同时研究提升天地一体化卫星网络动态重构实时性的方法.

猜你喜欢

卫星网络链路重构
2023卫星网络与空间应用技术大会召开
家纺“全链路”升级
高通量卫星网络及网络漫游关键技术
长城叙事的重构
全球低轨卫星网络最新态势研判
天空地一体化网络多中继链路自适应调度技术
北方大陆 重构未来
北京的重构与再造
论中止行为及其对中止犯的重构
卫星网络中基于网络编码的ARQ机制