«上一篇 下一篇»
  计算机工程  2022, Vol. 48 Issue (5): 185-190, 199  DOI: 10.19678/j.issn.1000-3428.0061298
0

引用本文  

王奎宇, 宋晓勤, 缪娟娟, 等. 基于SDN的高性能QoS保障低轨道卫星星间路由算法[J]. 计算机工程, 2022, 48(5), 185-190. DOI: 10.19678/j.issn.1000-3428.0061298.
WANG Kuiyu, SONG Xiaoqin, MIAO Juanjuan, et al. SDN-Based High-Performance and QoS Guaranteed Inter-Satellite Routing Algorithm for Low-Earth Orbit Satellites[J]. Computer Engineering, 2022, 48(5), 185-190. DOI: 10.19678/j.issn.1000-3428.0061298.

基金项目

国家自然科学基金(61572254,61973161);江苏省自然科学基金(BK20190409);中国电子科技集团公司航天信息应用技术重点实验室开放基金(SXX18629T022)

作者简介

王奎宇(1996—),男,硕士研究生,主研方向为卫星通信组网;
宋晓勤,副教授;
缪娟娟,硕士研究生;
张昕婷,硕士研究生;
雷磊,教授、博士生导师

文章历史

收稿日期:2021-03-29
修回日期:2021-08-25
基于SDN的高性能QoS保障低轨道卫星星间路由算法
王奎宇 , 宋晓勤 , 缪娟娟 , 张昕婷 , 雷磊     
南京航空航天大学 电子信息工程学院, 南京 211106
摘要:低轨道卫星通信系统具有全球覆盖性、移动性、可扩展性等优势,在提供全球互联网服务、灾难应急处理等方面发挥重要作用,但由于星上有限的存储和计算资源,传统路由算法不适用于低轨道卫星通信网络。结合软件定义网络架构,提出一种支持服务质量(QoS)的高性能低轨道卫星星间路由算法。根据剩余链路持续时间定义星间链路生存时间,确定每条星间链路的稳定度,缓解由于链路切换导致的业务路径重构问题。基于高轨道卫星得到的星间链路的流量状态,定义链路负载矩阵,给出星间链路负载度函数,并利用标签交换路径集合获得每条路径的负载度,避免节点拥塞,实现网络负载均衡。针对不同要求的业务服务类型定义权重因子矩阵,通过调整因子来减小瓶颈节点对路由算法的影响,满足多用户的QoS要求。仿真结果表明,在不同的QoS要求下,该算法在业务时延、系统吞吐量、网络负载均衡等方面均具有明显优势,且算法复杂度低,大幅节省了有限的星上存储与计算资源。
关键词低轨道卫星    空天地一体化    软件定义网络    服务质量    负载均衡    
SDN-Based High-Performance and QoS Guaranteed Inter-Satellite Routing Algorithm for Low-Earth Orbit Satellites
WANG Kuiyu , SONG Xiaoqin , MIAO Juanjuan , ZHANG Xinting , LEI Lei     
College of Electronic and Information Engineering, Nanjing University of Aeronautics and Astronautics, Nanjing 211106, China
Abstract: The Low-Earth Orbit(LEO) satellite communication system has the advantages of good global coverage, mobility, and scalability.It has played a significant role in providing global Internet services and disaster emergency response.However, owing to the limited storage and computing resources of satellites, traditional routing algorithms are unsuitable for LEO communication networks.Therefore, combined with Software-Defined Network(SDN) architecture, this study proposes a high-performance and Quality of Service(QoS) guaranteed inter-satellite routing algorithm for LEO satellites.We define the survival time of the Inter-Satellite Link(ISL) according to the remaining link duration and obtain the stability degree of each ISL to alleviate the problem of service path reconstruction caused by link switching. Based on the traffic status of the ISLs obtained by Geostationary-Earth Orbit(GEO) satellites, we define the link load matrix to provide the ISL load degree function, and use the Label Switching Path(LSP) set to obtain the load degree of each path to avoid node congestion and realize network load balancing.Finally, we define a weighting factor matrix for different required business service types and reduce the influence of the bottleneck node on the routing algorithm by adjusting the factor and guaranteeing the QoS requirements of multiple users.The simulation results show that under different QoS requirements, the algorithm has obvious advantages in terms of business delay, system throughput, and network load balancing, and the low algorithm complexity significantly reduces the limited on-board storage and computing resources.
Key words: Low-Earth Orbit(LEO) satellite    space-air-ground integration    Software-Defined Network(SDN)    Quality of Service(QoS)    load balancing    

开放科学(资源服务)标志码(OSID):

0 概述

随着经济全球化和全球信息化进程的加速,地面通信网络已经不能满足日益增长的用户需求,天地一体化信息网络将提供更多资源[1]。卫星通信是一种理想的远距离通信技术,不仅可以克服地理条件的局限性,而且可以提供廉价、持续、可靠的通信信道[2-4]。因此,将卫星网络的全球覆盖性、移动性和可扩展性的优势与地面网络的巨大传输能力和低时延的特点相结合来实现空天地一体化的信息网络成为迫切需要解决的问题[5-6]。但低轨道(Low-Earth Orbit,LEO)卫星通信网络中的动态拓扑,不均匀的流量分布,有限的功率、存储和处理能力使得传统路由算法无法应用于低轨道卫星的星间路由,并且新兴的网络应用需求日益复杂多变,亟需设计有效和灵活的卫星通信网络管理方案[7-9]。为解决卫星网络中的这些问题,研究人员将注意力转向了软件定义网络(Software-Defined Network,SDN)。

SDN是一种新的通信网络体系结构模式,简化了通信网络系统的管理方式,将传统网络的控制平面和数据转发平面分开[10-12],实现了数据的集中控制处理和通信网络资源的优化和利用。文献[13]经过深入研究指出SDN在通信网络集成方面具有很大优势,可以降低卫星机载处理成本以及整个卫星网络成本。文献[14]在SDN框架上提出多路径传输控制协议(Transmission Control Protocol,TCP),并证明该协议显著提高了网络吞吐量,可防止切换过程中的传输中断。

在现有研究中,星间路由算法主要包括虚拟拓扑法、虚拟节点法、动态拓扑更新法3类。虚拟拓扑法利用卫星星座运转的周期性和可预测性,将星座周期划分为若干个时间片[15]。卫星网络拓扑在每个时间间隔内均可以看作是静态的,屏蔽了卫星高速运动造成的拓扑变化。但大量的时间片导致了巨大的路由表,并占用了大量卫星的存储资源。虚拟节点法的每个区域对应一个具有唯一逻辑地址的卫星,该地址用于确定卫星的下一跳。当卫星移动到下一个区域时,逻辑地址也会随之改变,但会出现网络拥塞等问题[16]。动态拓扑更新法利用卫星交换网络状态信息,获取实时的拓扑结构计算路由表,能够实时响应卫星节点失效、链路拥塞等情况,但路由算法复杂度明显增加。

近年来,低轨道卫星路由技术受到越来越多的关注。文献[17]提出卫星切换方案,以确保通信链路的可靠性。该方案可以减少用户的接入延迟,保证通信的连续性,但没有分析卫星间通信链路的连续性和稳定性。文献[18]提出一种基于软件定义网络的频谱共享和流量分流机制,实现蜂窝网络的地面基站与星地通信波束群之间的合作与竞争,但在星间链路(Inter-Satellite Link,ISL)切换时会产生较大的性能波动,并且未对不同优先级的业务提供保证。文献[19]提出一种基于时间结构的增广路径搜索方法,用于计算三层异构卫星网络容量,然而该方法并没有考虑实时星间链路状态变化的优化问题。文献[20]构建了一个按需任务模型来描述网络动态特性和不同的任务需求,然后将QoS支持问题变为基于图的最大流量问题,并提出一种QoS支持路由策略,但该策略仅考虑了QoS保障,未考虑节点负载均衡以及星间链路切换问题。

针对上述问题,本文利用SDN网络架构管理和优化LEO卫星网络通信系统,提出一种高性能QoS保障的LEO卫星星间路由算法。针对通信链路状态信息和星间链路通断实时变化的问题,根据剩余链路持续时间定义星间链路生存时间,得出每条星间链路的稳定度,解决由于链路切换导致的业务路径重构问题。基于高轨道(Geostationary-Earth Orbit,GEO)卫星得到的星间链路的流量状态,定义链路负载矩阵,给出星间链路负载度函数,并利用标签交换路径(Label Switching Path,LSP)集合得到每条路径的负载度,以避免节点拥塞,实现网络负载均衡。通过路径代价函数给出路由决策矩阵,根据用户对业务时延、带宽和丢包率的不同要求,将业务分为3种类型,定义权重因子矩阵,根据不同业务类型的需求,分配不同的权重因子,保证用户的QoS要求。针对瓶颈节点提出调整因子来减小其对路由算法的影响,并通过理论证明调整因子的有效性。

1 系统模型 1.1 网络架构

采用基于SDN的卫星网络通信架构,该架构由用户层、控制层和数据层组成[21],其中,用户层主要由各类地面用户终端组成,控制层主要由地面站、GEO卫星和中轨道(Medium-Earth Orbit,MEO)卫星组成,数据层主要由LEO卫星组成,如图 1所示。采用SDN将网络通信设备的控制面和用户面解耦,在逻辑上集中控制面,并提供网络可编程性以及简化的标准接口管理功能。通过控制层中的GEO与MEO监控LEO的全局链路状态信息,由地面控制层完成路由计算以及流表的下发。在图 1中:GEO卫星是控制卫星,负责监控星间链路状态信息;MEO为辅助卫星,辅助GEO收集LEO卫星的状态信息;LEO是数据转发卫星。利用SDN的可编程功能,GEO可以轻松实现LEO网络中转发规则的更新,从而保证较低的数据传输延迟和少量的资源消耗,实现卫星网络中的资源优化分配。

Download:
图 1 卫星网络通信架构 Fig. 1 Communication architecture of satellite network
1.2 卫星模型

数据转发任务由低轨道卫星通信系统组成,包含$ {N}_{\mathrm{L}}\times {M}_{\mathrm{L}} $颗低轨道卫星,其中,$ {N}_{\mathrm{L}} $表示星座轨道平面的个数,$ {M}_{\mathrm{L}} $表示每个轨道包含的卫星颗数。每颗低轨道卫星用$ \left(i, j\right) $进行编号,$ i $代表卫星所处的轨道号$ \left(i=\mathrm{1, 2}, \cdots , {N}_{\mathrm{L}}\right) $$ j $为卫星所处轨道内的卫星编号$ \left(j=\mathrm{1, 2}, \cdots , {M}_{\mathrm{L}}\right) $。1颗卫星的星间链路一般考虑为4条,包括2条相邻轨道的轨间链路和2条同一轨道面的轨内链路。在一般情况下,可以建立两条连续的轨内链路,轨间链路则需要根据卫星的运动不断切换,并且在极地地区卫星密度较大、业务量较低、卫星相对运动角速度较高,因此极地地区的轨间链路将会暂时关闭,当卫星回到低纬度地区时再与相邻轨道建立轨间链路。

低轨道卫星通信系统基本模型可以表示为$ G\left(\nu , \varepsilon , W\left(t\right)|\upsilon \in v, \left(u, \upsilon \right)\in \varepsilon \right) $,其中:一组节点由$ v=u\bigcup R\bigcup G $表示,包括用户卫星$ u $,中继卫星$ R $和地面节点$ G $$ \varepsilon ={\varepsilon }_{\mathrm{i}\mathrm{s}\mathrm{l}}\bigcup {\varepsilon }_{\mathrm{g}\mathrm{s}\mathrm{l}} $是链路集合,$ {\varepsilon }_{\mathrm{i}\mathrm{s}\mathrm{l}} $是ISL集合,$ {\varepsilon }_{\mathrm{g}\mathrm{s}\mathrm{l}} $是星地链路(Ground-Satellite Link,GSL)集合;$ W\left(t\right)=\left({W}_{u, \upsilon }\left(t\right)\right) $表示在时间区间$ \left[{t}_{1}, {t}_{2}\right] $上节点$ u $与节点$ \upsilon $之间的代价函数,一般由可用带宽、传输时延、误码率等因素组成,$ \left[{t}_{1}, {t}_{2}\right] $为卫星拓扑更新时间间隔。

2 路由算法

本文算法基于SDN架构,路由计算由SDN控制器实现,以节省星上有限存储计算资源。卫星通信网络中的每个节点在SDN控制器中映射成虚拟节点,每个虚拟节点存储来自GEO卫星报告的LEO卫星节点链路状态信息,SDN控制器将虚拟节点组成虚拟MPLS[22]网络,根据算法计算结果以标签的形式集成到OpenFlow[23]协议流表中,通过南向接口发送给LEO卫星来执行数据转发任务。

2.1 初始权重函数

在虚拟MPLS卫星网络中首先定义$ {c}_{u, \upsilon } $为链接因子,当卫星节点$ u $与节点$ \upsilon $之间无链路建立时$ {c}_{u, \upsilon } $被置为0;当卫星节点$ u $与节点$ \upsilon $之间有链路建立时$ {c}_{u, \upsilon } $被置为1。定义$ {\mathit{\boldsymbol{C}}}_{m\times m}={\left({c}_{u, \upsilon }\right)}_{m\times m} $为链接矩阵,代表卫星节点间的链路链接状况;$ {\mathit{\boldsymbol{B}}}_{m\times m}={\left({b}_{u, \upsilon }\right)}_{m\times m} $为剩余带宽矩阵,代表链路的可获得带宽;$ {\mathit{\boldsymbol{D}}}_{m\times m}={\left({d}_{u, \upsilon }\right)}_{m\times m} $为传播时延矩阵,代表各星间链路的传播时延。

星间链路$ {S}_{u}\to {S}_{\upsilon } $的初始权重值定义如下:

$ {I}_{u, \upsilon }\left(t\right)=\alpha \frac{{B}_{\mathrm{m}\mathrm{a}\mathrm{x}}}{{B}_{u, \upsilon }\left(t\right)}+\beta \frac{{D}_{u, \upsilon }\left(t\right)}{{D}_{\mathrm{m}\mathrm{i}\mathrm{n}}} $ (1)

其中:$ {B}_{u, \upsilon }\left(t\right) $为链路$ {S}_{u}\to {S}_{\upsilon } $$ t $时刻的剩余可用带宽;$ {B}_{\mathrm{m}\mathrm{a}\mathrm{x}} $为当前卫星网络链路中可用剩余带宽的最大值;$ {D}_{u, \upsilon }\left(t\right) $为链路$ {S}_{u}\to {S}_{\upsilon } $$ t $时刻的传播时延;$ {D}_{\mathrm{m}\mathrm{i}\mathrm{n}} $为当前卫星网络链路中的最小传播时延;$ \alpha \mathrm{、}\beta $为权重因子。

根据$ {\mathit{\boldsymbol{C}}}_{m\times m} $,计算并获得从源卫星节点$ S $到目的卫星节点$ D $的标签交换路径集合:

$ \mathrm{L}\mathrm{S}\mathrm{P}=\left\{\mathrm{l}\mathrm{s}{\mathrm{p}}_{1}, \mathrm{l}\mathrm{s}{\mathrm{p}}_{2}, \cdots , \mathrm{l}\mathrm{s}{\mathrm{p}}_{n}\right\} $ (2)

集合中共有$ n $条可选用路径,$ \mathrm{l}\mathrm{s}{\mathrm{p}}_{k}\left(1\le k\le n\right) $代表第$ k $条路径,则第$ k $条路径的初始权重值定义如下:

$ {a}_{k}\left(t\right)=\sum\limits_{a=1}^{m}{I}_{u, \upsilon }{\left(t\right)}_{a} $ (3)

其中:$ m $表示$ \mathrm{l}\mathrm{s}{\mathrm{p}}_{k} $路径的总条数。

2.2 链路稳定度函数

考虑链路切换和QoS保障的需要,定义3种不同的业务服务类型$ \mathrm{T}\mathrm{o}\mathrm{S}=\left\{\mathrm{t}\mathrm{o}{\mathrm{s}}_{1}, \mathrm{t}\mathrm{o}{\mathrm{s}}_{2}, \mathrm{t}\mathrm{o}{\mathrm{s}}_{3}\right\} $,其中:$ \mathrm{t}\mathrm{o}{\mathrm{s}}_{1} $表示需要大带宽、低丢包率的业务,例如视频会议;$ \mathrm{t}\mathrm{o}{\mathrm{s}}_{2} $表示可容忍延迟但需要较大带宽的业务,例如大文件数据传输;$ \mathrm{t}\mathrm{o}{\mathrm{s}}_{3} $表示具有最高优先级的业务,即要求低时延、低丢包率和低抖动,例如信号指令数据传输。针对不同的业务类型,为了能够动态地分配和均衡网络流量负载,定义$ {\mathit{\boldsymbol{T}}}_{m\times m}={\left({t}_{u, \upsilon }\right)}_{m\times m} $为链路稳定度矩阵,代表各星间链路在当前时间的链路剩余生存时间;$ {\mathit{\boldsymbol{J}}}_{m\times m}={\left({j}_{u, \upsilon }\right)}_{m\times m} $为链路负载度矩阵,代表各卫星节点的负载程度。

在卫星星座系统中星间链路的通断在一个轨道周期内会发生多次切换,假设卫星$ {S}_{u} $与卫星$ {S}_{\upsilon } $$ {t}_{{S}_{u}\to {S}_{\upsilon }}^{\mathrm{o}\mathrm{n}} $时刻建立星间链路并在$ {t}_{{S}_{u}\to {S}_{\upsilon }}^{\mathrm{o}\mathrm{f}\mathrm{f}} $时刻链路断开,此时星间链路$ {S}_{u}\to {S}_{\upsilon } $的生存时间$ {T}_{k} $定义如下:

$ {T}_{k}\left({S}_{u}\to {S}_{\upsilon }\right)={t}_{{S}_{u}\to {S}_{\upsilon }}^{\mathrm{o}\mathrm{f}\mathrm{f}}-{t}_{{S}_{u}\to {S}_{\upsilon }}^{\mathrm{o}\mathrm{n}} $ (4)

在任意时刻$ t $,星间链路的剩余生存时间定义如下:

$ T\left({S}_{u}\to {S}_{\upsilon }\right)={t}_{{S}_{u}\to {S}_{\upsilon }}^{\mathrm{o}\mathrm{f}\mathrm{f}}-t $ (5)

其中:$ {t}_{{S}_{u}\to {S}_{\upsilon }}^{\mathrm{o}\mathrm{n}}\le t\le {t}_{{S}_{u}\to {S}_{\upsilon }}^{\mathrm{o}\mathrm{f}\mathrm{f}} $

星间链路$ {S}_{u}\to {S}_{\upsilon } $的稳定度定义如下:

$ {s}_{u, \upsilon }\left(t\right)=\frac{{T}_{\mathrm{t}\mathrm{o}\mathrm{l}}}{T\left({S}_{u}\to {S}_{\upsilon }\right)} $ (6)

其中:$ {T}_{\mathrm{t}\mathrm{o}\mathrm{l}} $为卫星星座系统的运动周期。

根据式(6)得到星间链路稳定度矩阵:

$ \mathit{\boldsymbol{s}}\left(t\right)=\left[\begin{array}{cccc}{\mathit{\boldsymbol{s}}}_{11}\left(t\right)& {\mathit{\boldsymbol{s}}}_{12}\left(t\right)& \cdots & {\mathit{\boldsymbol{s}}}_{1m}\left(t\right)\\ {\mathit{\boldsymbol{s}}}_{21}\left(t\right)& {\mathit{\boldsymbol{s}}}_{22}\left(t\right)& \cdots & {\mathit{\boldsymbol{s}}}_{2m}\left(t\right)\\ ⋮& ⋮& & ⋮\\ {\mathit{\boldsymbol{s}}}_{m1}\left(t\right)& {\mathit{\boldsymbol{s}}}_{m2}\left(t\right)& \cdots & {\mathit{\boldsymbol{s}}}_{mm}\left(t\right)\end{array}\right] $ (7)

根据星间链路的剩余生存时间可以定义$ \mathrm{l}\mathrm{s}{\mathrm{p}}_{k}\left(1\le k\le n\right) $的星间链路稳定值:

$ {s}_{k}\left(t\right)=\frac{{T}_{\mathrm{t}\mathrm{o}\mathrm{l}}}{T{\left({S}_{u}\to {S}_{\upsilon }\right)}_{\mathrm{m}\mathrm{i}\mathrm{n}}} $ (8)

其中:$ T{\left({S}_{u}\to {S}_{\upsilon }\right)}_{\mathrm{m}\mathrm{i}\mathrm{n}} $$ \mathrm{l}\mathrm{s}{\mathrm{p}}_{k}\left(1\le k\le n\right) $中各星间链路的最小链路剩余生存时间。

2.3 链路负载度函数

当有多个用户向SDN控制器发起端到端的业务申请时,通过流量监测来获取网络的实时流量信息,动态分配整个卫星网络的业务流量,避免拥塞节点的出现。定义$ \mathrm{l}\mathrm{s}{\mathrm{p}}_{k}\left(1\le k\le n\right) $中每一条$ {S}_{u}\to {S}_{\upsilon } $的链路负载度为$ {j}_{k}\left(t\right) $$ {j}_{k}\left(t\right) $计算公式如下:

$ {j}_{u, \upsilon }\left(t\right)=\left\{\begin{array}{l}0, {c}_{u, \upsilon }\notin \mathrm{l}\mathrm{s}\mathrm{p}\\ F\left(t\right)/P\left(t\right), {c}_{u, \upsilon }\in \mathrm{l}\mathrm{s}\mathrm{p}\end{array}\right. $ (9)

其中:$ F\left(t\right) $$ t $时刻星间链路$ {S}_{u}\to {S}_{\upsilon } $被分配的流量负载;$ P\left(t\right) $为所有$ \mathrm{L}\mathrm{S}\mathrm{P} $集合的总条数。

根据式(9)得到链路负载度矩阵:

$ \mathit{\boldsymbol{j}}\left(t\right)=\left[\begin{array}{cccc}{\mathit{\boldsymbol{j}}}_{11}\left(t\right)& {\mathit{\boldsymbol{j}}}_{12}\left(t\right)& \cdots & {\mathit{\boldsymbol{j}}}_{1m}\left(t\right)\\ {\mathit{\boldsymbol{j}}}_{21}\left(t\right)& {\mathit{\boldsymbol{j}}}_{22}\left(t\right)& \cdots & {\mathit{\boldsymbol{j}}}_{2m}\left(t\right)\\ ⋮& ⋮& & ⋮\\ {\mathit{\boldsymbol{j}}}_{m1}\left(t\right)& {\mathit{\boldsymbol{j}}}_{m2}\left(t\right)& \cdots & {\mathit{\boldsymbol{j}}}_{mm}\left(t\right)\end{array}\right] $ (10)

定义$ \mathrm{l}\mathrm{s}{\mathrm{p}}_{k}\left(1\le k\le n\right) $的链路负载度函数:

$ {j}_{k}\left(t\right)=\frac{{F}_{\mathrm{m}\mathrm{a}\mathrm{x}}\left(t\right)}{P\left(t\right)} $ (11)

其中:$ {F}_{\mathrm{m}\mathrm{a}\mathrm{x}}\left(t\right) $$ t $时刻$ \mathrm{l}\mathrm{s}{\mathrm{p}}_{k}\left(1\le k\le n\right) $中星间链路$ {S}_{u}\to {S}_{\upsilon } $被分配的流量负载的最大值。

2.4 链路代价函数

通过考虑$ \mathrm{l}\mathrm{s}{\mathrm{p}}_{k}\left(1\le k\le n\right) $的初始权重函数、链路稳定度函数和链路负载度函数,定义权重因子矩阵:

$ \mathit{\boldsymbol{w}}=\left[\begin{array}{ccc}{w}_{11}& {w}_{12}& {w}_{13}\\ {w}_{21}& {w}_{22}& {w}_{23}\\ {w}_{31}& {w}_{32}& {w}_{33}\end{array}\right] $ (12)

其中:$ {w}_{11} $$ \mathrm{t}\mathrm{o}{\mathrm{s}}_{1} $初始权重值的权重因子;$ {w}_{22} $$ \mathrm{t}\mathrm{o}{\mathrm{s}}_{2} $链路稳定度的权重因子;$ {w}_{33} $$ \mathrm{t}\mathrm{o}{\mathrm{s}}_{3} $链路负载度的权重因子。同时,有$ {w}_{11}+{w}_{12}+{w}_{13}=1 $$ {w}_{21}+{w}_{22}+{w}_{23}=1 $$ {w}_{31}+{w}_{32}+{w}_{33}=1 $

将链路初始权重函数、链路稳定度函数和链路负载度函数归一化。根据式(3)得到归一化后的初始权重函数:

$ {A}_{k}\left(t\right)=\frac{{a}_{k}\left(t\right)-{a}_{\mathrm{m}\mathrm{i}\mathrm{n}}\left(t\right)}{{a}_{\mathrm{m}\mathrm{a}\mathrm{x}}\left(t\right)-{a}_{\mathrm{m}\mathrm{i}\mathrm{n}}\left(t\right)} $ (13)

其中:$ {a}_{\mathrm{m}\mathrm{i}\mathrm{n}}\left(t\right) $$ \mathrm{l}\mathrm{s}\mathrm{p} $中链路初始权重值的最小值;$ {a}_{\mathrm{m}\mathrm{a}\mathrm{x}}\left(t\right) $$ \mathrm{l}\mathrm{s}\mathrm{p} $中链路初始权重值的最大值。

根据式(8)得到归一化后的链路稳定度函数:

$ {S}_{k}\left(t\right)=\frac{{s}_{k}\left(t\right)-{s}_{\mathrm{m}\mathrm{i}\mathrm{n}}\left(t\right)}{{s}_{\mathrm{m}\mathrm{a}\mathrm{x}}\left(t\right)-{s}_{\mathrm{m}\mathrm{i}\mathrm{n}}\left(t\right)} $ (14)

其中:$ {s}_{\mathrm{m}\mathrm{i}\mathrm{n}}\left(t\right) $$ \mathrm{l}\mathrm{s}\mathrm{p} $中链路稳定度的最小值;$ {s}_{\mathrm{m}\mathrm{a}\mathrm{x}}\left(t\right) $$ \mathrm{l}\mathrm{s}\mathrm{p} $中链路稳定度的最大值。

根据式(11)得到归一化后的链路负载度函数:

$ {J}_{k}\left(t\right)=\frac{{j}_{k}\left(t\right)-{j}_{\mathrm{m}\mathrm{i}\mathrm{n}}\left(t\right)}{{j}_{\mathrm{m}\mathrm{a}\mathrm{x}}\left(t\right)-{j}_{\mathrm{m}\mathrm{i}\mathrm{n}}\left(t\right)} $ (15)

其中:$ {j}_{\mathrm{m}\mathrm{i}\mathrm{n}}\left(t\right) $$ \mathrm{l}\mathrm{s}\mathrm{p} $中链路负载度的最小值;$ {j}_{\mathrm{m}\mathrm{a}\mathrm{x}}\left(t\right) $$ \mathrm{l}\mathrm{s}\mathrm{p} $中链路负载度的最大值。

针对不同的业务服务类型$ \mathrm{t}\mathrm{o}{\mathrm{s}}_{1} $$ \mathrm{t}\mathrm{o}{\mathrm{s}}_{2} $$ \mathrm{t}\mathrm{o}{\mathrm{s}}_{3} $,定义其对应的决策矩阵$ {\mathit{\boldsymbol{U}}}_{1}{\left(t\right)}_{1\times n}={\left(\mathrm{l}\mathrm{s}{\mathrm{p}}_{k}^{1}\right)}_{1\times n} $$ {\mathit{\boldsymbol{U}}}_{2}{\left(t\right)}_{1\times n}={\left(\mathrm{l}\mathrm{s}{\mathrm{p}}_{k}^{2}\right)}_{1\times n} $$ {\mathit{\boldsymbol{U}}}_{3}{\left(t\right)}_{1\times n}={\left(\mathrm{l}\mathrm{s}{\mathrm{p}}_{k}^{3}\right)}_{1\times n} $,其中:

$ \begin{array}{l}\mathrm{l}\mathrm{s}{\mathrm{p}}_{k}^{1}={w}_{11}\times {A}_{k}\left(t\right)+{w}_{12}\times {S}_{k}\left(t\right)+\\ \ \ \ \ \ \ \ \ \ \ \ \ {w}_{13}\times {J}_{k}\left(t\right)\end{array} $ (16)

为减少瓶颈节点对链路初始权重函数的影响,引入调整因子Q并定义链路初始权重函数调整因子:

$ {Q}_{A}^{k}=\frac{\underset{1\le r\le m}{\mathrm{m}\mathrm{a}\mathrm{x}}{I}_{r}\left(t\right)}{{a}_{k}\left(t\right)} $ (17)

证明  假设$ {I}_{x}\left(t\right)=\underset{1\le r\le m}{\mathrm{m}\mathrm{a}\mathrm{x}}{I}_{r}\left(t\right) $,则有:

$ \begin{array}{l}{Q}_{A}^{k}=\frac{\underset{1\le r\le m}{\mathrm{m}\mathrm{a}\mathrm{x}}{I}_{r}\left(t\right)}{{a}_{k}\left(t\right)}=\\ \ \ \ \ \ \ \ \ \ \ \ \ \frac{{I}_{x}\left(t\right)}{\sum\limits_{r=1}^{x-1}{I}_{r}\left(t\right)+{I}_{x}\left(t\right)+\sum\limits_{r=x+1}^{m}{I}_{r}\left(t\right)}=\\ \ \ \ \ \ \ \ \ \ \ \ \ \frac{1}{\left(\sum\limits_{r=1}^{x-1}{I}_{r}\left(t\right)+\sum\limits_{r=x+1}^{m}{I}_{r}\left(t\right)\right)/{I}_{x}\left(t\right)+1}\end{array} $ (18)

由此可以看出,当$ {I}_{x}\left(t\right) $越大时$ {Q}_{A}^{k} $的取值越大,从而可以减小瓶颈节点对链路初始权重函数的影响。

针对不同的业务服务类型$ \mathrm{t}\mathrm{o}{\mathrm{s}}_{1} $$ \mathrm{t}\mathrm{o}{\mathrm{s}}_{2} $$ \mathrm{t}\mathrm{o}{\mathrm{s}}_{3} $得出链路代价函数:

$ \begin{array}{l}\mathrm{l}\mathrm{s}{\mathrm{p}}_{Qk}^{1}={w}_{11}\times {Q}_{A}^{k}\times {A}_{k}\left(t\right)+{w}_{12}\times {S}_{k}\left(t\right)+\\ \ \ \ \ \ \ \ \ \ \ \ \ {w}_{13}\times {J}_{k}\left(t\right)\end{array} $ (19)

此时决策矩阵更新如下:

$ {\mathit{\boldsymbol{U}}}_{1}\left(t\right)=\left[\mathrm{l}\mathrm{s}{\mathrm{p}}_{{Q}_{1}}^{1}, \mathrm{l}\mathrm{s}{\mathrm{p}}_{{Q}_{2}}^{1}, \cdots , \mathrm{l}\mathrm{s}{\mathrm{p}}_{{Q}_{n}}^{1}\right] $ (20)
$ {\mathit{\boldsymbol{U}}}_{2}\left(t\right)=\left[\mathrm{l}\mathrm{s}{\mathrm{p}}_{{Q}_{1}}^{2}, \mathrm{l}\mathrm{s}{\mathrm{p}}_{{Q}_{2}}^{2}, \cdots , \mathrm{l}\mathrm{s}{\mathrm{p}}_{{Q}_{n}}^{2}\right] $ (21)
$ {\mathit{\boldsymbol{U}}}_{3}\left(t\right)=\left[\mathrm{l}\mathrm{s}{\mathrm{p}}_{{Q}_{1}}^{3}, \mathrm{l}\mathrm{s}{\mathrm{p}}_{{Q}_{2}}^{3}, \cdots , \mathrm{l}\mathrm{s}{\mathrm{p}}_{{Q}_{n}}^{3}\right] $ (22)

根据本文路由算法的决策矩阵,分配具有合适值的权重因子矩阵$ \mathit{\boldsymbol{\omega }} $,从$ \mathrm{L}\mathrm{S}\mathrm{P} $可选路径集合中为具有不同QoS要求的业务类型选择合适的路由路径,完成路由转发。

本文算法主要由星间链路的状态信息交互与低轨道卫星的路由计算两部分组成,算法复杂度主要体现于路由计算过程。路由计算根据三大函数加权计算最优路径,可以看出本文算法的时间复杂度为常数级,传统SPFA算法的时间复杂度为ON2),其中N为卫星节点数。由于本文算法采用SDN网络架构,低轨道卫星几乎只需存储状态信息,大幅节省了星上存储资源,占用的空间复杂度也为常数级,而传统SPFA算法的空间复杂度为ON),因此本文算法适用于卫星通信网络资源受限的应用场景。

3 仿真验证

为验证路由算法的有效性,利用STK来构建低轨道卫星星座运动模型。卫星星座模型有4个轨道平面,即$ {N}_{\mathrm{L}}=4 $,每个轨道平面由9颗卫星组成,即$ {M}_{\mathrm{L}}=9 $,共有36颗卫星。当卫星纬度超过75°时认为进入极区,轨间链路断开,仅保留2条轨内链路。卫星星座参数如表 1所示。

下载CSV 表 1 卫星星座参数 Table 1 Satellite constellation parameters

通过STK构建卫星星座模型,得到卫星的星间链路通断时间,卫星周期运动轨迹、位置距离等数据,构建低轨道卫星通信系统的网络拓扑模型。卫星星座模型如图 2所示。

Download:
图 2 卫星星座模型 Fig. 2 Satellite constellation model

为验证本文路由算法的性能,仿真结果与SDRA[24]算法进行对比,并针对3种不同需求的业务类型$ \mathrm{t}\mathrm{o}{\mathrm{s}}_{1} $$ \mathrm{t}\mathrm{o}{\mathrm{s}}_{2} $$ \mathrm{t}\mathrm{o}{\mathrm{s}}_{3} $,设置权重因子矩阵:

$ \mathit{\boldsymbol{w}}=\left[\begin{array}{ccc}0.33& 0.33& 0.33\\ 0.30& 0.10& 0.60\\ 0.80& 0.10& 0.10\end{array}\right] $

利用调整因子$ {Q}_{A}^{k} $得到决策矩阵为不同需求的业务进行路由计算。选取卫星运动角0°~9°的时间段,图 3给出在相同的网络通信环境下业务类型$ \mathrm{t}\mathrm{o}{\mathrm{s}}_{1} $$ \mathrm{t}\mathrm{o}{\mathrm{s}}_{2} $$ \mathrm{t}\mathrm{o}{\mathrm{s}}_{3} $与SDRA算法的链路稳定度。由图 3可以看出,由于SDRA算法未考虑星间链路状态信息,因此本文算法的3种业务类型对应的链路稳定度均明显高于SDRA算法,其中,业务$ \mathrm{t}\mathrm{o}{\mathrm{s}}_{1} $的链路稳定度权重因子最大,在仿真结果中的链路稳定度最高,SDRA算法得到的链路稳定度仅为0.5左右。

Download:
图 3 链路稳定度对比 Fig. 3 Comparison of link stability degree

图 4给出了在相同的网络通信环境下业务类型$ \mathrm{t}\mathrm{o}{\mathrm{s}}_{1} $$ \mathrm{t}\mathrm{o}{\mathrm{s}}_{2} $$ \mathrm{t}\mathrm{o}{\mathrm{s}}_{3} $与SDRA算法的链路负载度。由图 4可以看出,本文算法的3种业务类型对应的链路负载度均明显小于SDRA算法,其中业务$ \mathrm{t}\mathrm{o}{\mathrm{s}}_{2} $的链路负载度权重因子最大,仿真结果表明其路径的平均链路负载度为最小,仅为0.37左右。

Download:
图 4 链路负载度对比 Fig. 4 Comparison of link load degree

图 5给出了在相同的网络通信环境下业务类型$ \mathrm{t}\mathrm{o}{\mathrm{s}}_{1} $$ \mathrm{t}\mathrm{o}{\mathrm{s}}_{2} $$ \mathrm{t}\mathrm{o}{\mathrm{s}}_{3} $与SDRA算法的业务时延。由图 5可以看出,本文算法得出的3种业务类型的平均时延均低于SDRA算法,其中业务$ \mathrm{t}\mathrm{o}{\mathrm{s}}_{3} $对应时延的权重因子较大,平均时延均小于业务$ \mathrm{t}\mathrm{o}{\mathrm{s}}_{1} $$ \mathrm{t}\mathrm{o}{\mathrm{s}}_{2} $的平均时延。

Download:
图 5 业务时延对比 Fig. 5 Comparison of business delay

图 6给出了在不同数据发送速率下本文算法与SDRA算法的吞吐量对比结果。由图 6可以看出,本文算法考虑链路状态、网络负载均衡等关键因素,得到的系统吞吐量明显高于SDRA算法。综合仿真结果图 3~图 6可以看出:本文算法在保证不同用户业务类型$ \mathrm{t}\mathrm{o}{\mathrm{s}}_{1} $$ \mathrm{t}\mathrm{o}{\mathrm{s}}_{2} $$ \mathrm{t}\mathrm{o}{\mathrm{s}}_{3} $的QoS需求的前提下,在网络负载均衡、业务时延、系统吞吐量等方面均具有较明显的性能优势。

Download:
图 6 不同数据发送速率下的吞吐量对比 Fig. 6 Comparison of throughput at different data transmission rates
4 结束语

本文提出一种支持QoS的高性能LEO卫星星间路由算法。利用SDN网络架构节省有限的星上计算和存储资源,并提高卫星通信网络的自适应能力。考虑星间链路的时延、可用带宽、链路切换与负载等因素,定义星间链路的初始权重函数、链路稳定度与链路负载度。针对不同要求的业务服务类型,定义权重因子矩阵,并利用调整因子来减小瓶颈节点的影响,有效保证多用户的QoS要求。仿真结果表明,本文算法相比SDRA算法复杂度更低,不但在业务时延、系统吞吐量、网络负载均衡等方面具有良好的性能,而且保证了多用户的QoS要求。下一步将对卫星通信网络中由业务服务类型数量众多导致的网络拥塞展开研究,进一步优化网络通信性能。

参考文献
[1]
LIU J J, SHI Y P, FADLULLAH Z M, et al. Space-air-ground integrated network: a survey[J]. IEEE Communications Surveys & Tutorials, 2018, 20(4): 2714-2741. DOI:10.1109/COMST.2018.2841996
[2]
SU Y T, LIU Y Q, ZHOU Y Q, et al. Broadband LEO satellite communications: architectures and key technologies[J]. IEEE Wireless Communications, 2019, 26(2): 55-61. DOI:10.1109/MWC.2019.1800299
[3]
QI X G, MA J L, WU D, et al. A survey of routing techniques for satellite networks[J]. Journal of Communications and Information Networks, 2016, 1(4): 66-85. DOI:10.1007/BF03391581
[4]
GOPAL R, BENAMMAR N. Framework for unifying 5G and next generation satellite communications[J]. IEEE Network, 2018, 32(5): 16-24. DOI:10.1109/MNET.2018.1800045
[5]
MARAL G, BOUSQUET M, SUN Z. Satellite communications systems: systems, techniques and technology[M]. Hoboken, USA: John Wiley & Sons, 2020.
[6]
DE SANCTIS M, CIANCA E, ARANITI G, et al. Satellite communications supporting Internet of remote things[J]. IEEE Internet of Things Journal, 2016, 3(1): 113-123. DOI:10.1109/JIOT.2015.2487046
[7]
YAO H P, WANG L Y, WANG X D, et al. The space-terrestrial integrated network: an overview[J]. IEEE Communications Magazine, 2018, 56(9): 178-185. DOI:10.1109/MCOM.2018.1700038
[8]
ZHANG N, ZHANG S, YANG P, et al. Software defined space-air-ground integrated vehicular networks: challenges and solutions[J]. IEEE Communications Magazine, 2017, 55(7): 101-109. DOI:10.1109/MCOM.2017.1601156
[9]
LI T X, ZHOU H C, LUO H B, et al. SERvICE: a software defined framework for integrated space-terrestrial satellite communication[J]. IEEE Transactions on Mobile Computing, 2018, 17(3): 703-716. DOI:10.1109/TMC.2017.2732343
[10]
MARTINELLO M, RIBEIRO M, DE OLIVEIRA R E, et al. Keyflow: a prototype for evolving SDN toward core network fabrics[J]. IEEE Network, 2014, 28(2): 12-19. DOI:10.1109/MNET.2014.6786608
[11]
FARRIS I, TALEB T, KHETTAB Y, et al. A survey on emerging SDN and NFV security mechanisms for IoT systems[J]. IEEE Communications Surveys & Tutorials, 2019, 21(1): 812-837. DOI:10.1109/COMST.2018.2862350
[12]
PAPA A, DE COLA T, VIZARRETA P, et al. Design and evaluation of reconfigurable SDN LEO constellations[J]. IEEE Transactions on Network and Service Management, 2020, 17(3): 1432-1445. DOI:10.1109/TNSM.2020.2993400
[13]
NUNES B A A, MENDONCA M, NGUYEN X N, et al. A survey of software-defined networking: past, present, and future of programmable networks[J]. IEEE Communications Surveys & Tutorials, 2014, 16(3): 1617-1634. DOI:10.1109/SURV.2014.012214.00180
[14]
DU P Y, NAZARI S, MENA J, et al. Multipath TCP in SDN-enabled LEO satellite networks[C]//Proceedings of 2016 IEEE Military Communications Conference. Washington D. C., USA: IEEE Press, 2016: 354-359.
[15]
LI J, LU H, XUE K, et al. Temporal netgrid model-based dynamic routing in large-scale small satellite networks[J]. IEEE Transactions on Vehicular Technology, 2019, 68(6): 6009-6021. DOI:10.1109/TVT.2019.2910570
[16]
EKICI E, AKYILDIZ I F, BENDER M D. A distributed routing algorithm for datagram traffic in LEO satellite networks[J]. IEEE/ACM Transactions on Networking, 2001, 9(2): 137-147. DOI:10.1109/90.917071
[17]
DUAN C F, FENG J, CHANG H T, et al. A novel handover control strategy combined with multi-hop routing in LEO satellite networks[C]//Proceedings of 2018 IEEE International Parallel and Distributed Processing Symposium Workshops. Washington D. C., USA: IEEE Press, 2018: 845-851.
[18]
DU J, JIANG C X, ZHANG H J, et al. Auction design and analysis for SDN-based traffic offloading in hybrid satellite-terrestrial networks[J]. IEEE Journal on Selected Areas in Communications, 2018, 36(10): 2202-2217. DOI:10.1109/JSAC.2018.2869717
[19]
JIANG C X, ZHU X M. Reinforcement learning based capacity management in multi-layer satellite networks[J]. IEEE Transactions on Wireless Communications, 2020, 19(7): 4685-4699. DOI:10.1109/TWC.2020.2986114
[20]
ZHANG T, LI H Y, ZHANG S, et al. STAG-based QoS support routing strategy for multiple missions over the satellite networks[J]. IEEE Transactions on Communications, 2019, 67(10): 6912-6924. DOI:10.1109/TCOMM.2019.2929757
[21]
LIU J J, SHI Y P, ZHAO L, et al. Joint placement of controllers and gateways in SDN-enabled 5G-satellite integrated network[J]. IEEE Journal on Selected Areas in Communications, 2018, 36(2): 221-232. DOI:10.1109/JSAC.2018.2804019
[22]
BAHNASSE A, LOUHAB F E, OULAHYANE H A, et al. Novel SDN architecture for smart MPLS traffic engineering-DiffServ aware management[J]. Future Generation Computer Systems, 2018, 87: 115-126. DOI:10.1016/j.future.2018.04.066
[23]
AMIN R, REISSLEIN M, SHAH N. Hybrid SDN networks: a survey of existing approaches[J]. IEEE Communications Surveys & Tutorials, 2018, 20(4): 3259-3306. DOI:10.1109/COMST.2018.2837161
[24]
ZHU Y H, QIAN L, DING L H, et al. Software defined routing algorithm in LEO satellite networks[C]//Proceedings of 2017 International Conference on Electrical Engineering and Informatics. Washington D. C., USA: IEEE Press, 2017: 257-262.