一种面向高动态卫星网络的虚拟网络映射方法与流程

文档序号:22252802发布日期:2020-09-18 13:07阅读:197来源:国知局
一种面向高动态卫星网络的虚拟网络映射方法与流程

本发明涉及航天通信技术领域,尤其是一种面向高动态卫星网络的虚拟网络映射方法。



背景技术:

随着航天领域的快速发展,发射卫星的成本变得越来越低。同时,由于卫星移动通信系统具有覆盖区域广、受地形地貌影响小和不受自然灾害影响等特点,非常适合边海防防务、境外通信和重大灾害中的应急通信等应用。因此,各个国家都开始部署属于自己的卫星网络系统,卫星的数量开始急剧上升,卫星系统开始承载复杂多变的通信业务,比如空间通信、数据中继、气象观测、深空通信、中继传输等,未来的卫星系统将具备更加完善的网络功能。然而,由于卫星的星载资源受限,使得星上的节点资源以及带宽资源非常珍贵,需要通过对星上的网络资源和计算存储能力进行虚拟化,提高星载资源的利用,并且实现对空间复杂任务提供定制化网络服务。

2005年,普林斯顿大学的larrypeterson教授的团队提出了网络虚拟化的概念,在不推翻现有的互联网架构的前提下,将网络的底层基础设施资源进行整合,抽象成为多个虚拟网络,并且提供可编程接口,实现在一个公共物理网络上同时映射多个彼此隔离的,具有不同网络拓扑结构的虚拟网络。网络虚拟化是通过虚拟网络映射实现的,虚拟网络映射指的是,将虚拟网络请求高效地映射到物理网络上,而且要满足虚拟网络对各种物理资源(如节点计算能力、链路带宽等)的要求。虚拟网络映射需要解决资源约束、准入控制、在线请求和拓扑多样性等多方面的问题。高效率的虚拟网络映射能够提升物理网络资源利用率,从而能够在同一个基础网络上运行更多的虚拟网络,有助于开发新型网络技术,同时有利于运营商降低运营成本。

虚网映射方式可以分为在线处理和离线处理。离线处理算法在映射之前知道虚拟网络所需要的物理资源,然后一次性将所有虚网映射到底层网络。在实际应用中,虚拟网络的具体情况是无法预知的,所以这种算法对于实际应用而言没有什么意义。之后的算法大多数都是在线处理算法,这种算法一般处理随机到达的、所需资源不同的虚网请求,并且根据虚网的到达和离开实时更新底层资源状态。有文献中提出的同构图搜索的算法也是一种在线处理算法,这个算法在虚网到达的规模较小的情况下效率很高,但是在虚网到达规模较大的情况下,由于搜索失败产生的回退过多,导致算法的时间复杂度大幅度提高。

由于卫星网络动态变化快,网络拓扑时刻都在发生变化,所以在卫星网络中应该采用在线处理的算法,实时搜集网络拓扑数据来进行虚网映射的计算。本技术则采用融合软件定义网络的卫星网络体系构架。sdn是实现网络虚拟化的一种方式,它的核心设计理念是实现网络的控制平面和数据转发平面的分离,利用集中式的控制器来控制底层的网络硬件设施,从而实现网络流量的灵活调度与控制。因此,sdn技术能够有效降低设备负载,协助网络运营商更好地控制基础设施,降低整体运营成本,成为了最具前途的网络技术之一。

在卫星网络系统中,sdn控制器主要部署在地面,利用地面站收集卫星网络的星间拓扑信息以及网络资源使用情况,然后进行集中计算为每个虚网请求分配网络资源。卫星节点也负责实现部分控制功能,其中位于高轨道的卫星由于覆盖面范围大,在地面控制器无法直接控制某些卫星的情况下,可以通过高轨道卫星进行控制。每当卫星的网络拓扑发生变化,控制器将提取因为拓扑变化而受到影响的虚拟网络请求,重新为这些请求计算映射方案,分配资源。

目前关于虚网映射算法的研究有不少,但是大多数都是针对对面网络的场景进行研究的,考虑如何提高底层网络资源的利用率以及虚网映射的成功率,然而针对类似卫星网络的高动态场景进行专门设计的映射算法很少。

《分布式星群网络虚拟资源仲裁机制研究》一文提出了一种分布式星群网络虚拟资源仲裁机制,该机制针对分布式星群网络虚拟资源管理中虚拟资源冲突的问题,引入了博弈论和路径分裂法,在虚拟网络资源发生冲突时对冲突资源重新进行计算和分配。当某条路径出现虚拟网络资源冲突的情况,首先采用路径分裂法计算出该路径的并行链路的空闲资源,然后将冲突的资源分配到并行路径上。如果并行路径的剩余空闲资源不能满足冲突请求的资源,则利用博弈法的思想,结合请求的优先级,合理分配带宽给发生冲突的虚拟网络,以此来保证分布式星群网络资源的合理使用。

该机制运行在分布式星群网络虚拟资源管理框架之上,该框架采用的是一种分层分域的机构。全局调度中心负责维护全局资源信息表和拓扑信息表,每完成一个请求的映射之后,更新映射信息。在每一个移动卫星网络最小的逻辑拓扑变化周期结束以后,根据带宽使用情况试试调整较低优先级的虚拟网络请求的带宽资源。而分域调度中心指的就是每个移动卫星区域内的管理节点,负责收集域内卫星的资源使用情况,维护域内资源信息、域内拓扑信息、域内虚网信息、域内映射虚网四张表。卫星节点维护一张虚拟链路资源表,并且周期性地感知周围资源使用情况来进行更新,实时上报该节点周围链路的资源信息给分域调度中心。

上述技术的缺点是:

(1)无法适应卫星网络的实际场景

上述资源仲裁机制仅仅是针对虚拟网络映射中可能产生的三个冲突场景进行了优化,分别是全局调度中心在映射过程中底层资源发生变化而产生映射冲突、未考虑到cpu和带宽以外的资源而产生的映射冲突、网络请求资源需求变化而产生的冲突,实际上这三个需求都是只是针对一般网络的场景,并没有考虑到卫星网络的几个重要的特点,这样在实际部署到卫星网络上的时候,就会产生很多问题。

(2)无法适应卫星的高动态性

由于大部分卫星网络的卫星都运行在较低的轨道,所以运动速度很快,网络的拓扑变化非常频繁,当有链路断开时,需要提取收到影响的虚拟网络,然后对这些网络请求进行重新映射。当有链路建立的时候,需要及时更新链路状态表,来达到链路的高效利用。该虚拟资源调度机制没有考虑底层链路拓扑发生变化变化时的请求的重映射,会导致虚网请求的映射失败。

(3)星上计算量大

一般的卫星节点需要定时收集周围链路的资源使用情况,并且上报给分域调度中心的卫星。此外,当地面全局调度中心发生故障无法进行虚拟资源的计算与分配,分域调度中心需要接替完成这一工作,然而该机制采用的路径分裂法需要利用ospf算法计算多条路径,算法的复杂度非常高。这些功能都需要卫星具备良好的星上计算能力。但是通信卫星主要是用来进行转发的,星上资源非常受限,如果大量的资源用来进行计算以及感知网络状况,那么整个卫星网络将会发生拥塞。

(4)资源耗费大、可靠性低

分布式星群网络虚拟资源仲裁机制采用的是分层调度的机制,分为地面的全局调度中心和星上的分域调度中心。当卫星作为分域调度中心的时候,需要多颗备用卫星来维持系统的高可靠性。整个卫星网络具有很多分域调度中心,成本代价很高。此外,由于卫星网络是覆盖全球的,但是地面站的覆盖范围有限,需要在全球部署多个地面站来实现真正的全局管控。



技术实现要素:

针对卫星通信网络动态变化快、星间链路带宽双向不对等、地面站无法完全覆盖所有卫星等特点,本发明设计了一种面向高动态卫星网络的虚网映射机制,由地面站和高轨道卫星承载主要的网络控制功能,统一对虚拟网络请求进行处理并且映射到物理网络。由控制器主动探知来获取卫星网络的拓扑,同时卫星节点也会起到辅助作用,在出现网络故障的时候主动感知链路状态变化传输给控制器,控制器提取断开链路上的虚网请求,进行重映射。

为解决上述技术问题,本发明提供一种面向高动态卫星网络的虚拟网络映射方法,所述方法包括以下步骤:

步骤一,建立卫星底层网络架构模型,建立虚拟网络即虚网的架构模型;

步骤二,通过地面控制器以及承载在卫星上的控制器采集底层网络和虚拟网络的网络拓扑信息,并且维护一张虚网统计拓扑和一张记录底层网络资源状态的抽象统计拓扑;

步骤三,一个虚网请求达到时,控制器如果接受该虚网请求,则根据所使用的映射算法给虚网分配底层资源,并且更新抽象拓扑和虚网统计拓扑;当一个虚网服务完成时,则从底层节点释放已分配的资源。

进一步的,所述步骤三中的则根据所使用的映射算法给虚网分配底层资源,其具体过程为:首先检测是否发生拓扑变化,如果发生变化,则提取受影响的请求加入到请求队列,回收这些请求占用的底层资源,如果没有发生变化,则直接对请求队列实施以下操作;然后依次进行虚网请求的映射,所述虚网请求的映射包括节点映射与链路映射,基于贪婪算法进行虚网节点映射以及基于k最短路径算法进行链路映射;

虚网请求具体的映射步骤分为两步,首先使用贪婪算法进行虚网节点映射,节点映射之前先对当前虚网请求中的所有节点按照cpu从大到小进行排序;当该虚网中每个虚拟节点都映射成功后,根据k最短路径算法对链路进行映射,找到底层网络中两个节点之间k条最短的路径,如果存在一条路径满足虚拟链路的带宽需求,则映射到该底层路径上,如果k条路径都不符合,那么该链路映射失败;若映射失败,则将请求放入等待队列,若失败次数超过预设的重映射门限参数,则直接拒绝该请求。

进一步的,所述卫星底层网络架构模型为:

整个卫星底层为有权有向图,gs=(ns,es),ns代表底层节点的集合,es代表底层链路的集合;对于ns集合中的任意节点ns都有一个代表其节点cpu资源大小的符号c(ns),对于es集合中的每一条链路es(i,j),都有一个代表其链路带宽大小的符号b(es),以及一个带边链路时延大小的符号1(es),其中i,j分别表示这条链路的源节点和目的节点,所有底层网络的路径集合用ps表示,ps(s,t)代表的是源节点s到目的节点t的所有路径的集合;

所述虚拟网络的架构模型为:

虚拟网络表示为有权有向图gv=(nv,ev),nv代表底层节点的集合,ev代表底层链路的集合;对于nv集合中的任意节点nv都有一个代表其节点cpu资源大小的符号c(nv),对于ev集合中的每一条链路ev(i,j),都有一个代表其链路带宽大小的符号b(ev);虚拟网络请求表示为vi=(gv,ts,t6),ts表示虚拟网络开始的时间,t6表示虚拟网络结束的时间;虚网开始时地面控制器为虚网分配底层物理资源,虚网结束时地面控制器回收分配给虚网的底层物理资源。

进一步的,步骤三中,所述依次进行虚网请求的映射指的是按照请求优先级从大到小排序。

更进一步的,步骤三中,采用贪婪算法进行虚网节点映射指,如果当前虚网请求不指定接入卫星节点,从请求可接入的卫星节点中选取剩余资源最大的节点作为第一个节点进行映射,请求中剩余的虚拟节点,从符合虚拟节点cpu要求的集合中挑选剩余资源最大的节点进行映射。

更进一步的,对于不指定接入的卫星节点,引入一个接入卫星的资源参数ra(ns),该参数衡量卫星作为接入卫星时的资源剩余情况,定义如下:

rn(ns)代表当前节点的剩余cpu资源,t(ns)代表当前节点的剩余天线数量,∑esel(ns)b(es)代表当前节点所连接链路的剩余总带宽,ra(ns)的值越大,说明该节点拥有的各项与虚网映射有关的资源越多,能够提升虚网请求映射的成功率,并且提高底层资源的利用率;

一个虚拟网络请求的映射过程用符号m表示,将虚拟网络gv映射到底层物理网络gs,同时虚拟网络所需的节点资源和链路资源应当小于底层网络的剩余资源;

m(gv):(gv,c(nv),b(ev))→(gs,rn(ns),re(p))。

本发明与现有技术相比较,本发明的实施效果如下:

(1)更加适用于卫星网络

①针对卫星网络真实的应用场景,考虑到卫星用户接入时需要对覆盖的卫星节点进行选择,引入接入卫星剩余资源的度量方式,使得虚网用户接入的卫星节点具有较大cpu、可用链路带宽、天线数量等资源,提升映射成功的概率。

②针对卫星通信网络采用的是单工通信的特点,在映射时考虑了底层链路双向带宽不对等的情况,更加贴近真实的映射场景。

③由于卫星网络的拓扑周期性变化,提前感知拓扑变化,提取受影响请求,重新进行映射,缩短了用户服务中断的时间,提高了用户服务质量。

(2)低时延、负载均衡

在进行链路映射的时候,综合考虑了链路的剩余带宽和时延,使得映射结果兼具链路低时延和网络负载均衡的优点,提高了全网的底层资源的利用率,同时提升了用户的体验,提高虚网请求接受率。

附图说明

图1为本发明卫网络虚拟化模型结构示意图。

具体实施方式

下面结合附图和具体实例对本发明做更进一步的解释:

实施例1

本发明提供的面向高动态卫星网络的虚拟网络映射方法完整技术方案为:

卫星底层网络

整个卫星底层网络可以看作是一个有权有向图,gs=(ns,es),ns代表底层节点的集合,es代表底层链路的集合。对于ns集合中的任意节点ns都有一个代表其节点cpu资源大小的符号c(ns),对于es集合中的每一条链路es(i,j),都有一个代表其链路带宽大小的符号b(es),以及一个带边链路时延大小的符号l(es),其中i,j分别表示这条链路的源节点和目的节点,注意es(i,j)和es(j,i)不是同一条链路。同时,把所有底层网络的路径集合用ps表示,ps(s,t)代表的是源节点s到目的节点t的所有路径的集合。

虚拟网络

和底层物理网络相似,虚拟网络也可以表示为有权有向图gv=(nv,ev),nv代表底层节点的集合,ev代表底层链路的集合。对于nv集合中的任意节点nv都有一个代表其节点cpu资源大小的符号c(nv),对于ev集合中的每一条链路ev(i,j),都有一个代表其链路带宽大小的符号b(ev)。虚网请求表示为vi=(gv,ts,te),ts表示虚拟网络开始的时间,te表示虚拟网络结束的时间。虚网开始时地面控制器为虚网分配底层物理资源,虚网结束时地面控制器回收分配给虚网的底层物理资源。

剩余资源

对于底层节点当前时刻的剩余资源,可以表示为节点的剩余资源等于节点的初始cpu减去分配给虚拟节点的cpu之和,其中nv→ns表示的是所有映射到当前底层节点的虚拟节点。

同理,对于底层链路当前时刻的剩余资源,可以表示为链路的剩余资源等于链路的初始带宽减去分配给虚拟链路的带宽之和,其中ev→es表示的是所有映射到当前底层链路的虚拟链路。

链路的度量值rl(es)为:

re(es)代表一条链路上的剩余带宽,bw(ls)代表一条链路的总带宽,l(es)代表链路的时延,rl(ls)则代表该条链路加权之后的逻辑时延,逻辑时延不一定等于该条链路的实际时延,其受链路剩余带宽、以及实际链路时延的影响,当链路剩余资源越少,链路的逻辑时延就越大,该条链路被映射的概率就越低,从而达到减少虚网请求的整体时延,并且能够减少链路负载,起到负载均衡的效果。

而对于底层路径的剩余资源,可以表示为当前路径所经过的所有链路中,剩余链路资源最少的链路对应的剩余带宽。

虚网映射方案

本方案的sdn控制平面是由地面控制器以及承载在高轨道卫星的控制器构成的,其负责周期性收集网络拓扑信息,并且同时维护一张虚网统计拓扑和一张记录底层网络资源状态的抽象统计拓扑。当一个虚网请求达到时,控制器需要决定是否接受这个请求。如果接受该虚网请求,则需要根据所使用的映射算法合理地给虚网分配底层资源,并且更新抽象拓扑和虚网统计拓扑。当一个虚网服务完成时,则需要从底层节点释放已分配的资源。

由于用户接入卫星网络的时候,只能选取在其覆盖范围内的卫星进行接入,所以虚网请求中应该包含可接入卫星的卫星节点集,以及该虚拟网络是否指定接入的卫星节点。对于不指定接入的卫星节点,引入一个接入卫星的资源参数ra(ns),该参数衡量卫星作为接入卫星时的资源剩余情况,定义如下:

rn(ns)代表当前节点的剩余cpu资源,t(ns)代表当前节点的剩余天线数量,∑esel(ns)b(es)代表当前节点所连接链路的剩余总带宽,ra(ns)的值越大,说明该节点拥有的各项与虚网映射有关的资源越多,能够提升虚网请求映射的成功率,并且提高底层资源的利用率。

一个虚拟网络请求的映射过程用符号m表示,将虚拟网络gv映射到底层物理网络gs,同时虚拟网络所需的节点资源和链路资源应当小于底层网络的剩余资源。

m(gv):(gv,c(nv),b(ev))→(gs,rn(ns),re(p))

由于虚网映射可以分为两个部分,所以该公式又可以分成两个公式,

m(nv):(nv,c(nv))→(ns,rn(ns))

m(ev):(ev,b(ev))→(es,re(p))

该虚网映射算法首先检测是否发生拓扑变化,如果发生变化,则提取受影响的请求加入到请求队列,回收这些请求占用的底层资源。然后依次进行请求的映射,映射分为两步:节点映射与链路映射。虚网请求具体的映射步骤分为两步,首先使用贪婪算法进行虚网节点映射,节点映射之前先对当前虚网请求中的所有节点按照cpu从大到小进行排序。这么做的目的是让cpu大的节点先进行映射,如果映射失败,能够省去后面的映射步骤,节约时间。当该虚网中每个虚拟节点都映射成功后,然后根据k最短路径算法对链路进行映射,找到底层网络中两个节点之间k条最短的路径,如果存在一条路径满足虚拟链路的带宽需求,则映射到该底层路径上,如果k条路径都不符合,那么该链路映射失败。若映射失败,则将请求放入等待队列,若失败次数超过预设的重映射门限参数,则直接拒绝该请求。具体算法流程如下表:

基于上述技术方案,本发明技术方案能够实现:

(1)更加适用于卫星网络

①针对卫星网络真实的应用场景,考虑到卫星用户接入时需要对覆盖的卫星节点进行选择,引入接入卫星剩余资源的度量方式,使得虚网用户接入的卫星节点具有较大cpu、可用链路带宽、天线数量等资源,提升映射成功的概率。

②针对卫星通信网络采用的是单工通信的特点,在映射时考虑了底层链路双向带宽不对等的情况,更加贴近真实的映射场景。

③由于卫星网络的拓扑周期性变化,提前感知拓扑变化,提取受影响请求,重新进行映射,缩短了用户服务中断的时间,提高了用户服务质量。

(2)低时延、负载均衡

在进行链路映射的时候,综合考虑了链路的剩余带宽和时延,使得映射结果兼具链路低时延和网络负载均衡的优点,提高了全网的底层资源的利用率,同时提升了用户的体验,提高虚网请求接受率。

以上内容是结合具体的实施例对本发明所作的详细说明,不能认定本发明具体实施仅限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明保护的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1