一种基于虚拟节点矩阵的路由算法的制作方法

文档序号:15845871发布日期:2018-11-07 09:00阅读:231来源:国知局
一种基于虚拟节点矩阵的路由算法的制作方法

本发明涉及卫星通信网络领域,具体说是一种基于虚拟节点矩阵的路由算法。

背景技术

随着传统卫星网络在路由算法上暴露出的不足之处,同时由于全球通信需求不断提升,作为地面网络的延伸以及全球信息栅格的一个组成部分,空间信息网络亟需与地面网络实现无缝互联。其中,基于sdn的卫星网络架构在软件定义网络的思想下将卫星网络中数据路由、资源分配、网络故障及安全监测等功能集中到控制器上,利用控制器的全局性简化了卫星网络的管理功能以及集中式控制数据路由。然而基于sdn的卫星网络设计依然是基于ip协议的传统网络协议栈,面对新的大数据网络环境依然不能从本质上提升数据传输的速度。基于sdn的信息中心网络中,应用层实现icn思想中的名字解析、名字路由和内容缓存等业务,通过控制层提供的开放接口实现业务的部署。但基于sdn的信息中心网络主要基于地面网络,其网络拓扑结构固定,已有的方案不能直接应用于卫星网络。而借助icn思想对请求内容响应快,最大程度的发挥传输节点多播能力等特性,已有研究人员将此思想迁移到卫星网络的设计中,从而建立卫星网络中自适应稠密与稀疏场景的路由算法。然而卫星的高动态使得每个icn请求与数据在卫星网络中实际路由存在严重的问题。因此单纯的软件定义卫星网络不能满足大数据时间传输的需求,单纯的信息中心卫星网络无法实现数据返回或者需要转发节点具有较强的路由能力。



技术实现要素:

针对现有技术的局限性,本发明设计了基于虚拟节点的虚拟路由算法,该算法基于sdn与icn技术的卫星网络架构(以下简称sdicsn架构)将信息中心的思想引入到软件定义的卫星网络架构中,通过sdn转控分离的特点简化卫星网络管理,利用icn缓存的特性提高网络请求的响应速度,同时以geo卫星节点作为sdn控制器,通过高轨控制器的全局性实现icn请求与数据返回的动态路由。

为实现上述目的,本申请的技术方案是:一种基于虚拟节点矩阵的路由算法,具体为:假设所有卫星节点的初始处理能力相同,每个卫星节点在各领域的方向上链路保持连接,则有:

s1:计算虚拟节点的最大通信量d<n,m>:

s2:计算虚拟节点负载率γ<n,m>;

s3:计算链路权重w<n,m>,链路权重反映了轨内和轨间星际链路传输数据的能力;

s4:定义路由矩阵。

进一步的,步骤s1中的虚拟节点的最大通信量d<n,m>具体为:

式中sdmax(i)为单位时间内卫星节点传输的最大数据量;m为每个轨道面内卫星个数。

进一步的,计算虚拟节点负载率γ<n,m>;

其中data(j)表示卫星节点j单位时间内的数据传输量,n为轨道面个数,m为每个轨道面内卫星个数。

进一步的,步骤s3中计算链路权重w<n,m>具体为:

其中第一部分为1bit数据端到端的传输时间的倒数,l<n,m>为星际链路<n,m>的长度,c为数据在真空中传输的光速;第二部分为星际链路<n,m>带宽的可用率,s<n,m>为星际链路<n,m>带宽的剩余量,b为星际链路<n,m>带宽的最大值;α为链路权重自适应因子,其取值范围在(0,1)之间,控制器根据链路带宽利用率来自动调整α的值。

进一步的,步骤s4中定义路由矩阵具体为:

1)如果v=v1,o=o1,则传输路径在以虚拟节点坐标<n1,m1>和<n2,m2>为对角顶点的矩阵内产生;

2)如果v=v2,o=o1,此时由于轨道内链路成环的特点,则在逻辑网络中,路由矩阵在垂直方向上环向传输,传输路径仍在虚拟节点坐标<n1,m1>和<n2,m2>为对角顶点的矩阵内产生;

3)如果v=v1,o=o2,此时路由矩阵在水平方向上环向传输;

4)如果v=v2,o=o2,此时路由矩阵在垂直方向和水平方向上均环向传输。

更进一步的,虚拟节点划分方式具体为:

r1:选择以本初子午线为起始线,以从南到北,自西向东为正方向;

r2:根据轨道面个数n和每个轨道面内卫星个数m,将地球球面划分为2*n*m的逻辑网格,每个网格即为一个虚拟节点;

r3:每个虚拟节点由左下角顶点的编号<n,m>唯一确定;

r4:虚拟节点网络确定后,每个虚拟节点的标记唯一对应一组<经度,纬度>值,即

更进一步的,在倾斜轨道星座中,从北极上空俯视,n个轨道面的升交点赤经在赤道所在平面内的2π的圆内均匀分布;对于参数为i:t/n/f的walker星座,假设第一个轨道面初始时刻的升交点赤经为ω1,第一个轨道面内编号为1的卫星节点初始相位角为ω1,1,则该星座下所有卫星节点的升交点赤经和相位角由下列公式计算:

式中,t为walker星座上的卫星总数;f为相位因子。

更进一步的,根据虚拟节点拓扑策略,将卫星网络抽象为一个大的交换节点,则地面请求的源、目的节点相对卫星网络是固定的;在fib表内容与存储节点的关系记录增加cs节点所在的虚拟节点标记,pit表在内容与转发端口的关系记录中增加端口所在的虚拟节点标记;同时fib和pit表由高轨控制器管理,pit表的更新随着请求的到达与数据的返回而动态更新。

更进一步的,生成转发路径后,控制器将其下发到相关的交换机节点,交换机节点执行转发动作;当数据返回时,控制器根据pit表生成数据对象的返回路径,并根据缓存替换策略执行内容的缓存同时向fib表中添加记录。

更进一步的,当请求数据返回到卫星节点时,控制器主动更新fib表;当交换机因为执行缓存替换操作替换掉某一内容时,交换机主动通告这一变化,控制器更新fib表;如果控制器对某一节点发起轮询请求后,定时器超时后并且没有收到ack,控制器认为该节点失效,控制器更新fib表,将与之相关的内容名称记录标记为失效;在fib表出现记录替换的时候会优先替换被标记的记录。

本发明与现有技术相比有益效果在于:根据卫星网络运行的周期性和其轨迹的可预测性,本申请通过源、目的节点的相对方位获取路由矩阵,从而降低输入矩阵的空间复杂度,进而降低路由算法的时间复杂度。

附图说明

图1为虚拟节点划分示意图;

图2为基于事件驱动与轮询机制的fib表的动态更新示意图;

图3为自适应icn与ip请求的虚拟节点路由状态图;

图4为路由矩阵逻辑图;

图5为请求延时与请求次数的关系图;

图6为请求聚合度说明图;

图7为请求命中率与请求次数关系图;

图8为fib表更新速度说明图。

具体实施方式

下面将结合说明书附图,对本发明作进一步说明。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

实施例1

本实施例提供一种实施该路由算法的卫星网络架构,包括:应用层、控制层、转发层;所述应用层实现内容缓存、名字解析、消息路由和安全等业务;该应用层与控制层之间的北向接口实现业务的部署;所述控制层为分层分布式,其内部的控制器间通过东西向接口实现通信,同时各个控制器提供开放接口实现应用层对控制器的可编程功能;所述转发层,包括低轨基于openflow的卫星节点和地面openflow交换机,该层根据控制下发的流表实现消息的转发,同时增加了对返回内容的缓存功能。每个控制器,均包括:网络拓扑管理模块、路由管理模块、内容管理模块;所述网络拓扑管理模块,包括:链路状态监控模块和网络拓扑管理模块;所述路由管理模块,包括:网络流量管理监测模块、基于名称的路由计算模块、转发信息库fib管理模块和待处理请求表pit管理模块;所述内容管理模块,包括内容分片管理模块、名字解析器和内容缓存管理模块;控制器通过openflow交换机的安全通道,使用openflow协议实现对转发设备的控制。在本架构中,地面网络的控制器采用分层分布式控制方式,根据区域特点划分为若干个自治区域(as),每个自治区域由一个名字路由系统(nameroutingsystem,nrs)控制器管理,控制器之间通过北向接口交换网络状态信息,该架构中的卫星网络采用双层轨道设计,其中3颗同步卫星作为控制器实现全球实时监测,低轨采用walker星座实现全球覆盖。

优选的,本架构采用覆盖ip协议的方式来识别icn请求,用if(icn-flag)值来区分请求类型;对于icn请求,使用ip协议的options字段携带内容名称信息。

优选的,将整个卫星运行周期划分为若干个时间片;卫星控制器周期性检测卫星网络拓扑变化情况;从而提前预测是否需要改变数据传输的路径,继而保证了数据包返回时不会因卫星网络的动态性而中断。

当icn客户端发起请求时,根据控制器中请求内容状态信息判断是否需要通过卫星网络转发内容,从而通过地面或者高轨控制器来跟踪请求的转发过程;当内容返回时,返回路径上的openflow节点根据缓存替换策略来缓存内容。当数据返回路径上某一卫星节点发生故障造成数据中断时,其直接前驱卫星节点在ack超时后向控制器报告错误信息,控制器重新生成数据返回路径并避开故障节点。

本实施例针对传统天地一体化网络中视频等大数据传输延时大,卫星网络控制及新业务部署复杂等问题,提出了sdicsn架构。通过引入sdn与icn技术,一方面利用sdn框架简化天地一体化网络的控制同时提高网络业务部署的效率;另一方面利用网络中转发节点固有的请求聚合与数据分发的能力,以及转发节点对内容具有高敏感性和可选择性缓存的特点,从而实现天地一体化网络整体性能的提升。

实施例2

本实施例提供一种基于虚拟节点矩阵的路由算法,对于低轨星座的设计而言,其星座的两个基本参数为轨道数n和同轨道内卫星节点的个数m,据此可以划分虚拟节点。由于卫星网络的参数都是提前设计好的,因此当星座参数确定后,则每一个虚拟节点的地理位置信息随之确定,即每一个虚拟节点的经纬度范围是可知的。如图1所示,当星座的部分参数为(5,12)时,将地球球面划分为2*5*12的逻辑网格。

规则1:选择以本初子午线为起始线,以从南到北,自西向东为正方向。

规则2:根据轨道面个数n和每个轨道面内卫星个数m,将地球球面划分为2*n*m的逻辑网格,每个网格即为一个虚拟节点。

规则3:每个虚拟节点由左下角顶点的编号<n,m>唯一确定。例如图中多边形abcd区域所确定的虚拟节点由c点的编号<n,m>=<1,3>唯一标记。

规则4:虚拟节点网络确定后,每个虚拟节点的标记唯一对应一组<经度,纬度>值,即

在倾斜轨道星座中,从北极上空俯视,n个轨道面的升交点赤经在赤道所在平面内的2π的圆内均匀分布。对于参数为i:t/n/f的walker星座,假设第一个轨道面初始时刻的升交点赤经为ω1,第一个轨道面内编号为1的卫星节点初始相位角为ω1,1,则该星座下所有卫星节点的升交点赤经和相位角可由公式(1)计算。

卫星节点的升交点赤经和相位角确定之后,根据卫星节点的半长轴、偏心率、轨道倾角和近地点幅角等轨道参数可计算任意时刻卫星节点的在赤道惯性坐标系下的位置及其对应到地面上的经纬度。则由规则4中虚拟节点的经纬度和卫星节点的经纬可以很容易确定由哪一颗卫星负责该虚拟节点区域下的通信任务。

根据虚拟节点拓扑策略,将卫星网络抽象为一个大的交换节点,则可以认为地面请求的源、目的节点相对卫星网络是固定的。引入虚拟节点后,如表1和表2所示,在fib表内容与存储节点的关系记录增加cs节点所在的虚拟节点标记,pit表在内容与转发端口的关系记录中增加端口所在的虚拟节点标记。同时fib和pit表由高轨控制器管理,pit表的更新随着请求的到达与数据的返回而动态更新;

表1

表2

而对于星上fib表的更新机制描述如下:fib表记录了网络中内容缓存与缓存节点之间的映射关系,是提高内容请求响应速度的关键技术之一。不同于地面fib表的创建与维护,本发明将星上fib分为卫星节点缓存记录和地面节点缓存记录。前者在fib表中虚拟节点编号为null,后者为缓存内容所在的虚拟节点编号。而对于卫星节点缓存映射的维护,本发明采用事件驱动与轮询相结合的机制实现,其更新过程如图2。在事件驱动机制中,当请求数据返回到卫星节点时,则fib中一定没有该内容名称的记录(路由设计中将说明原因),此时控制器主动更新fib表。当交换机因为执行缓存替换操作替换掉某一内容时,交换机主动通告这一变化,控制器更新fib表。控制器需要通过轮询的方式来采集交换机节点的资源,在这一过程中,如果控制器对某一节点发起轮询请求后,定时器超时后并且没有收到ack,控制器认为该节点失效,控制器更新fib表,将与之相关的内容名称记录标记为失效。在fib表出现记录替换的时候会优先替换被标记的记录。

如图3为自适应icn与ip请求的虚拟节点路由状态图。当地面节点向低轨交换机节点发起请求时,交换机节点根据流表匹配请求,如果匹配成功则直接转发请求。否则节点根据流表匹配请求类型并根据请求类型提取源、目的ip地址或者虚拟节点信息,控制器根据这些信息执行基于虚拟节点的路由算法。生成转发路径后,控制器将其下发到相关的交换机节点,交换机节点执行转发动作。当数据返回时,控制器根据pit表生成数据对象的返回路径,并根据缓存替换策略执行内容的缓存同时向fib表中添加记录。需要指出的是,对于缓存在卫星节点上内容,因为高轨控制器对内容是敏感的(通过fib表),因此缓存在星上内容的请求会控制器会直接生成返回路径并下发到交换机节点。而对于缓存在地面网络的内容,则请求经过卫星网络的时候fib中没有改内容的记录,数据返回到卫星节点时需要重新路由,该过程由高轨控制器完成,此时控制器会更新fib表。在请求和数据对象转发的过程中,高轨控制器会根据时间片检测链路状态,从而解决或避免链路拥塞;当某一卫星节点故障时,其前驱节点在请求超时后会重新请求控制生成新的路径,但路由不需要从源节点开始。

当icn请求和数据返回通过卫星网络传输时,兴趣包与数据对象的传输路径需要控制器根据路由策略计算。根据上述虚拟节点的引入,如图1,当数据在虚拟节点<2,5>和<5,3>之间传输时,因为每个虚拟节点由与之最近的卫星负责通信,则数据传输的路径可以由卫星节点路径的计算转化为虚拟节点路径的计算。而请求内容的缓存有两种可能,一种是内容缓存在地面节点上;另一种是内容缓存在卫星节点上。第一种情况下,数据返回路径由源、目的节点所在的虚拟节点计算出来;第二种情况下,根据卫星节点的运行轨迹得到该节点所在的虚拟节点,则路由计算转化为第一种情况。

虚拟路由计算的条件及定义如下:

1、假设所有卫星节点的初始处理能力相同。

2、每个卫星节点在四领域的方向上链路保持连接,且假设不考虑反向缝。

3、卫星节点最大通信量sdmax(i):单位时间内卫星节点i传输的最大数据量。

4、虚拟节点最大通信量d<n,m>:单位时间内虚拟节点传输的最大数据量,即同轨道内所有卫星节点最大通信量之和。

5、虚拟节点负载率γ<n,m>:单位时间内经过该虚拟节点的所有卫星节点所传输数据的总和与d<n,m>的比值。其中data(j)表示卫星节点j单位时间内的数据传输量。

6、链路权重w<n,m>:链路权重反映了轨内和轨间星际链路传输数据的能力。由公式(4)定义,其中第一部分为1bit数据端到端的传输时间的倒数,l<n,m>为星际链路<n,m>的长度,假设数据在真空中以光速c传输数据(单位为bit·m/s);第二部分为星际链路<n,m>带宽的可用率,s<n,m>为星际链路<n,m>带宽的剩余量,b为星际链路<n,m>带宽的最大值;α为链路权重自适应因子,其取值范围在(0,1)之间,控制器根据链路带宽利用率来自动调整α的值。

7、路由矩阵定义:令n=5,m=7,则虚拟节点的逻辑网络结构如图所示。假设根据pit表查得数据返回的源、目的节点的虚拟节点坐标为<n1,m1>和<n2,m2>。

1)如果v=v1,o=o1,则传输路径在以虚拟节点坐标<n1,m1>和<n2,m2>为对角顶点的矩阵内产生,如图4中路由矩阵为a-a3-b-b1。

2)如果v=v2,o=o1,此时由于轨道内链路成环的特点,则在逻辑网络中,路由矩阵在垂直方向上环向传输,传输路径仍在虚拟节点坐标<n1,m1>和<n2,m2>为对角顶点的矩阵内产生,如图4中当源、目的节点为a、c时,路由矩阵为半回环矩阵a-a1-c2-c1-c-c3-a2-a3。

3)如果v=v1,o=o2,此时路由矩阵在水平方向上环向传输,如图4中当源、目的节点为a、d时,路由矩阵为半回环矩阵a-a4-d1-d-a6-a5。

4)如果v=v2,o=o2,此时路由矩阵在垂直方向和水平方向上均环向传输,如图4中当源、目的节点为f、e时,路由矩阵为回环矩阵f-e1-e-f1。

假设数据从a点传输到b点,根据路由矩阵的定义得到一个无向图矩阵g=(v,y,w),其中v为虚拟节点的集合,y为虚拟节点负载率的集合,由公式(3)确定,w为负责虚拟节点通信的卫星节点之间的链路权重的集合,由公式(4)确定。

基于虚拟路由矩阵的最优路径算法(见表3)具体实施步骤如下:

s1:根据虚拟节点信息计算其最大通信量。

s2:根据节点信息计算路由矩阵。

s3:根据路由矩阵和虚拟节点的通信量计算路由矩阵中虚拟节点的负载率和链路权重矩阵。

s4:根据上述信息构造无向图矩阵。

s5:根据虚拟节点负载率和链路权重矩阵计算最优路径。

s6:计算当前工作节点状态下的暂时节点和永久性节点。

s7:将工作节点添加到路径集合s中,若目的节点已经找到,则结束程序,否则转到s6。

表3

针对现有卫星网络路由算法的不足和sdicsn在卫星网络上所提供新的特性,本实施例sdicsn架构下提出了vdmr路由算法,利用虚拟节点拓扑的思想,设计了地面虚拟节点的划分规则,利用卫星网络星座的参数将卫星进行编号,通过虚拟节点的经纬度与卫星节点映射到地面的经纬度确定了虚拟节点与卫星节点的一一对应关系。根据卫星网络的运行规律,本文提出了虚拟路由算法,该算法通过源、目的节点在卫星网络中的相对方位来生成路由矩阵,从而降低路由计算的复杂度。

以上所述,仅为本发明创造较佳的具体实施方式,但本发明创造的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明创造披露的技术范围内,根据本发明创造的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明创造的保护范围之内。

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