万 颖,钱克昌,邢 鹏
(1.航天工程大学 航天信息学院,北京 101416; 2.中国人民解放军32151部队,河北 邢台 054000)
天地一体化网络是由天基网络、空基网络及地面网络共同形成的一个异构网络[1]。在天地一体化网络中,天基网络作为地面网络的延伸,是整个网络架构的核心,其承载着网络业务的多样性与复杂性,为其他网络提供智能化的信息保障。
当前,天地一体化网络面临着许多问题与挑战。从链接来看,频繁的数据传输需要星间链路的灵活切换,导致网络拓扑易变,从而难以管控全局网络;从协议来看,多种多样的网络协议体系存在协同合作的问题,且各网络协议无法实现彻底更新;从资源来看,卫星节点的计算和存储拘束于有限的资源,星上功能的开发和扩展存在一定难度。从使用者来看,区别于不同用户类别和用户需求,对网络服务的质量和资源管理带来了挑战。
软件定义网络(SDN,software define network)的是一种灵活的、可编程的、集中控制的新型网络架构,主要由控制平面、数据平面和应用平面构成[2]。SDN主张将控制平面和数据平面分开,使得控制平面能够以全局视角分配网络资源,并制定有效的资源分配策略[3]。SDN的出现为当代网络的发展开辟了新境界,颠覆了传统网络架构,实现了对各类网络设备的集中控制。
综合SDN的优势特征,考虑将SDN引入到天地一体化网络架构的研究中,充分结合SDN自身优势无缝整合多种异构网络,有助于降低网络设备的建设与维护成本,提高卫星通信终端用户的性能和服务质量(Qos,quality of service),扩大卫星通信的应用范围,实现与地面网络的无缝连接[4]。在天基网络中,部署合理的卫星控制器节点,可实现各卫星的分工合作,明确了各卫星的职能,节省了卫星资源,促进了卫星网络智能化发展。
为满足当前各种服务需求,提高网络处理能力,需在天地一体化网络中设计分布式控制平面并部署多个SDN控制器,来实现各种任务的分配与决策。因此,设计一个物理位置分布、逻辑控制功能集中的控制器部署方案显得尤为重要。在天地一体化网络中,LEO卫星网络是整个网络的核心部分,在天地一体化网络中担负重要角色,LEO卫星网络控制平面中控制器的数量、位置以及与交换机的连接关系是设计控制器放置方案、提升天地一体化网络灵活性需要考虑的关键问题[5]。同时,网络时延、可靠性、负载均衡等性能指标决定了整个SDN网络性能的高低,LEO卫星网络中SDN多控制器部署方法的分析与研究是有效优化控制平面性能、提高网络整体性能的关键。
因此,架设合适的基于SDN的天地一体化网络架构,在此基础上结合空间任务的不同特点,研究天地一体化网络中SDN控制器的部署方法,进一步提高天地一体化网络管理的灵活性,为用户提供高效率、高标准的服务。
天地一体化网络是一个以地面网络为基础,以天基网络为延伸,并融合多轨道卫星节点、空域飞行器、地面互联网、移动网络等领域的多维度网络。典型的天地一体化网络架构[6]如图1所示。该网络架构中,天基网络主要由星座、多层轨道卫星和配属的地面基础设施组成,按照卫星各轨道面的高低可分为GEO卫星、MEO卫星和LEO卫星。空基网络由各种飞行器构成,主要担负空间信息的收集工作,同时可处理和传输部分网络信息,实现与地面网络的互联互通,飞行器涵盖飞艇、各种类型的无人机及热气球等。地面网络是发展最早、最为成熟的网络系统,能够支持用户的各类通信服务,主要构成要素为地面站和地面互联网、移动自组网等地面通信系统,但地面网络易受覆盖范围的限制。天地一体化网络能够充分结合各层网络的特征,完美融合各层网络,充分彰显网络一体化的优势所在。
图1 天地一体化网络架构图
为争夺空间网络的战略制高点,抢占宝贵的空间资源,世界上的航天大国都争先恐后发展天地一体化网络。
国外各国对天地一体化网络的探索较早,企图通过空间网络在军事任务和通信导航等方面获得信息优势,如美国的全球信息栅格系统(GIG)[7]和空间通信与导航计划(SCaN)[8]力争为美国军事行动和空间探测活动获得通信导航和信息支持,欧洲国家提出了全球通信一体化空间架构(ISICOM)[9]、多国天基成像系统(MUSIS)为欧洲太空军事力量提供侦察情报信息[10]。随后,国外一些公司也开始研发、建设卫星互联网系统,如一网公司提出的建设一个低轨小型卫星信息系统简称OneWeb系统,并预计于2029年全面建成。2018年SpaceX公司启动的Starlink计划,截止至2022年10月7日累计发射低轨卫星已超3 451颗,成功为超过14万用户提供高速的卫星互联网接入。
我国的天地一体化网络建设起步相对较晚,但发展势头较强。2006年,沈荣骏院士首次提出了发展一个星间、星地及地面网络互联互通的网络构想[11],为中国天地一体化网络的产生奠定了基础。紧接着,中国通信广播卫星公司总工程师闵士权详细分析、介绍了天基综合信息网的体系架构,并建议中国尽快研究天基综合信息网[12]。《“十三五”国家科技创新规划》、《“十四五”规划和2035年远景目标纲要》对发展天地一体化网络先后明确了建设要求和发展规划[13]。2018年,我国建立了首个以全天候、全时段双向通信为目标的低轨卫星通信系统计划“鸿雁星座”[14]。同年,“虹云工程”为形成卫星组网的目标,拟建立一个低轨宽带全球通信卫星系统。2019年6月,天地一体化信息网络试验卫星“天象”成功的发射,为建设天地一体化网络中低轨接入网提供了技术支持[15]。2022年3月,中国银河航天公司成功批量研发并发射了“银河航天”第二批次的6颗低轨宽带通信卫星和1颗遥感卫星,标志着我国具备了建设天地一体化信息网络大规模星座的卫星低研发成本、批量生产和星间组网的实力[16]。
随着互联网大数据时代的到来,传统网络存在的弊端日益暴露,各种网络应用和网络数据流大量涌现,网络整体性能收到前所未有的冲击,人们不得不打破传统思维,重新对网络进行思考,软件定义网络随之产生。
2006年斯坦福大学Clean State课题组受SANE架构启发[17],首次提出了集中控制的思想,为SDN的产生奠定了基础。2009年Nick教授提出了SDN的概念[18],标志着SDN的诞生,Nick教授及其团队不仅是SDN的提出者,也是SDN发展的推动者。SDN能够简化网络管理、加快网络优化升级,国内外各大网络公司都陆续瞄准了SDN技术,研讨、分析、期待SDN可以推动未来互联网的前行并为民众提供更优质的网络服务。2011年雅虎、Facebook、谷歌联合成立了开放网络基金会(ONF),进一步推动SDN的发展,2012年中国在ONF支持下举办了“2012中国SDN与开放网络高峰会议”。2013年,网络厂商巨头Cisco、Intel、IBM等共同研发了OpenDaylight,标志着传统网络厂商开始进军SDN领域。2013年之后,SDN进入迅猛发展阶段,2015年基本到达成熟阶段。2020年全球软件定义网络(SDN)和网络功能虚拟化(NFV, network functions virtualization)市场规模已达到1840亿元,预计2027年达到5325亿元,2021年中国市场规模达到35.5亿元,2022年预计达到49.0亿元[19]。SDN的提出,改变了人类固有的思维方式,改变了网络架构,同时也改变了人们生活。
SDN由数据平面、控制平面、应用平面这三层平面组成,简化了传统网络的逻辑结构[20]。典型的SDN基本架构如图2所示,区别于传统的网络架构,SDN拥有了开放的、可编程的接口,分离了数据平面与控制平面的功能应用,实现了控制平面的集中控制,成为用户追求向往网络编程更加自主、灵活、便利的重要因素。
图2 SDN架构图
应用平面由各种功能应用构成,为满足各种用户需求,通过北向接口与SDN控制平面建立联系,提供常见的网络应用服务。开发者通过下层平面提供的全局网络视图,协助自己在应用平面设计并部署所需的应用程序,并依靠下层的控制平面实现具体功能。
控制平面是整个架构的“主干骨”,作为决策机构,控制平面不仅负责全网的业务调度,还架设起各层交互的桥梁。控制平面可通过北向接口给上层应用平面提供不同层次的可编程能力,还可通过南向接口实现对底层网络信息的监察监测。同时,控制平面还可为其他平面提供全网视图。在小规模网络中,可使用单一控制器构成控制平面来管控网络;在中大规模网络中,网络结构相对复杂,因此需使用多个控制器构成控制平面以满足网络的可扩展性需求。
数据平面又称为基础设施层,由简单的交换机等硬件转发设备组成,数据平面的设备通过南向接口接收来自上层控制平面的决策指令,并根据控制平面下发的流规则进行相应的数据转发与处理。当转发设备接收到数据包时,首先会检查本地流表,寻找对应的流表项,若流表项存在且匹配成功则根据对应的转发路径进行转发,若匹配失败,则封装成Packet-in请求消息发送给控制器,随后由控制器通过通信寻找对应的转发策略,并封装成Packet-out消息返回给交换机。此外,数据平面还会将当前的网络状态、统计信息等数据通过南向接口返回给控制平面。
建立各个平面直接通信交互的接口有北向接口和南向接口。北向接口是SDN控制平面与应用平面之间交互的接口,网络开发者可以按其需求进行网络资源的调度和网络配置。北向接口还为用户和开发者打开了一个新的“窗口”,由于其当前还没有公认的标准制约,无疑为公众提供了更加灵活、便捷的开发平台。南向接口是SDN重要的接口,是控制平面与网络设备沟通交流的唯一通道,该接口传递的请求指令决定了数据平面转发设备的具体操作,同时控制平面可通过该接口实现全网信息的管理。
当前,随着SDN技术在地面互联网架构的成功应用,并展现出网络管理更加灵活、便利的优势特征。国内外研究人员考虑将SDN技术应用于天地一体化网络架构中,考虑在不同的空间地理位置部署控制器,来充分发挥SDN在天基、空基和地面网络中的智能管理作用,进一步推动天地一体化网络的发展。按照SDN控制器部署在高、低卫星轨道层面或是地面等不同位置,可将SDN控制器的部署方式分为单层控制器部署和多层控制器部署。基于SDN的天地一体化网络架构方案如表1所示。
将SDN控制器全部部署在地面或是单个卫星轨道层面的部署方式称为单层控制器部署。常见的单层控制器部署主要是在GEO卫星、LEO卫星和地面放置控制器。
3.1.1 在地面部署控制器
综合地面站数目相对固定,具有时延低、容量大、效率高及数据存储能力强等特点,考虑在地面站上部署控制器,能够顺应网络接入管理的变化。Sheng等人[21]提出了FRBSN架构,该架构将控制器部署在地面网络运营控制中心(NOCC)内,实现全网资源状态的收集与管理,简化了卫星网络的管理。但仅在地面站部署控制器节点以实现对天地一体化网络的管控,其星地链路较长,存在无法及时获取卫星网络信息的局限性。
3.1.2 在LEO卫星部署控制器
LEO卫星数目多、时延低、运动速度快、距离地面近,能够满足大多数网络的通信需求,在部分LEO卫星节点部署控制器,能够增强网络控制的灵活性,在降低网络响应时延的同时满足网络的有效覆盖。Papa等人[22]提出在LEO卫星中动态部署SDN控制器的设想,以降低平均流量的设置时间为目标,通过建立整数线性规划模型,动态调整控制器的部署位置。但LEO卫星运行速度快,单个卫星网络覆盖范围较小,需同时部署多个LEO卫星节点来进行卫星组网,其成本较高,工程浩大。
表1 基于SDN的天地一体化网络架构方案
3.1.3 在GEO卫星部署控制器
GEO卫星具有覆盖范围广、数量少且相对地球表面静止的特征。BAO等人[23]提出了OpenSAN架构,该架构在GEO卫星上布设控制器,根据不同的网络规模将GEO卫星群分为了三种网络拓扑模型,来降低链路带宽、提高网络的可靠性和灵活性。然而,GEO卫星难以获取星间链路频繁变动、传播延迟较短的网络状态信息,且无法覆盖高纬度地区。
综合上述的单层控制器部署方案,可以发现单层控制器部署方案受到卫星轨道位置的制约,存在覆盖范围受限、处理能力受限等问题,难以应对天地一体化网络多层网络异构、规模庞大、网络拓扑动态变化的特性,当前所设计的基于SDN的天地一体化网络的架构中更多采用的是多层控制器部署的方式。
多层控制器部署是指在地面和多个卫星轨道层面部署控制器的方式。多层控制器部署的方式能够有效缓解单层控制器部署方式存在传播时延长、移动速率高而导致的无法及时获取状态信息的现象。此外,多层控制器部署的方式能够充分发挥各个轨道层面卫星节点的优势,进一步提升卫星网络的灵活性和扩展性。
针对GEO卫星独具传输链路可靠、轨道高且稳定、三颗卫星即可实现全球覆盖的优势,可考虑在GEO卫星上部署控制器节点,以掌握全局网络视图、提高卫星网络链路的稳定性。在多层控制器部署方案中,比较常见的部署方式:在GEO卫星和其他轨道层面的卫星节点或是地面上同时部署控制器。
3.2.1 在GEO卫星和地面部署控制器
Shi等人[24]采用跨域的思想在GEO卫星、高空平台和地面站部署控制器节点,部署在地面站的控制器节点是整个网络中的主控制器,主控制器可协调、管控多个网络分域,采用该网络架构可进一步提高天地一体化网络的配置更新和决策效率。Li等人[25]提出了基于SDN与NFV的SERvICE分布式网络架构,指出在GEO卫星、地面站部署控制器节点,由LEO、MEO节点组成数据平面收集网络链路信息并按照指令上传至GEO节点,SERvICE架构可实现全网管控,进一步提高网络通信质量。许方敏等人[26]综合当前网络设备和技术的发展来看,提出了先将控制器部署在地面,后期向GEO卫星部署控制器的设想。
3.2.2 在GEO卫星、LEO卫星和地面部署控制器
韩珍珍等人[27]为满足应急任务低时延的要求,设计由GEO卫星群作为主控制器,部分合适的LEO卫星节点作为从控制器,并在地面部署控制器节点共同组成控制平面,形成软件定义天地一体化信息网络架构。Wei等人[28]为便利网络部署配置和应用服务,提出的网络架构如下:应用平面建立在空间站或是地面站上,并通过北向接口与控制平面更新交互,控制平面由GEO卫星和地面部分控制设备共同组成,数据平面由LEO卫星组成。付辰[29]在LEO部署局部控制器,在地面部署全局控制器,GEO卫星承担全局控制器与局部控制器中继通信的角色,该架构提高了控制平面的可靠性、稳定性和处理性能。Xu等人[30]提出了卫星网络的三层分层的网络架构,综合地面网络控制中心具有强大的计算能力,选择将其作为超级控制器,域控制器设置在GEO卫星节点上,将同一轨道上的卫星进行分组并选择各组中纬度最低、通信时间窗口较长的卫星作为从控制器节点,该架构能够积极应对GEO卫星广播带来的延迟、各级轨道卫星链路干扰等问题。
通过分析上述部署方案并结合天地一体化网络的特征可知,在天地一体化网络中采用多层控制器部署方式的分布式网络架构更为合适。该架构可采用控制器部署在GEO卫星、部分LEO卫星、地面以共同组成控制平面,由LEO卫星节点和地面站组成数据平面,这种网络架构既能缓解卫星节点资源受限的压力,也能充分联动全网信息。
控制平面作为SDN架构的核心部分,通常由一个或多个控制器构成。由于采用单个控制器的部署方式管理网络易存在单点失效、处理能力有限等缺陷,因此对于规模相对较大的网络一般通过部署多个控制器以组成网络的控制平面。目前,评价控制器部署的性能指标主要有网络时延、可靠性、开销和负载等。
网络时延是控制器部署策略中首要考虑的优化目标,该目标会影响转发规则的安装顺序及控制器间的状态同步。网络时延由传输时延、传播时延、排队时延、处理时延四个部分组成[31]。①传输时延又称发送时延,是指发送数据报文整个过程所需的时间,即转发设备开始发送数据直至发送完毕所需时间,其大小与数据流的长度有关,数据流越长则传输时延越长,数据流越短则传输时延越小。②传播时延由控制器与控制器间的传播时延和控制器与交换机的传播时延这两部分组成。③排队时延,即控制器接收到交换机所发送的Packet-in消息后开始排队等待,直至控制器真正开始处理该请求所花的时间。④处理时延,即控制器处理数据所产生的时间,其取决于当前控制器的负载情况、处理能力等因素。在不同网络状态下,构成网络总体时延的四个时延指标所占比重略有不同。若网络状态良好,表明不会出现数据拥塞情况,此时可以忽略排队时延的影响;若网络规模较小时,则可以将节点间的传播时延视为零;若网络规模较大时,表明网络的传播时延所占比重较大,需着重考虑。
当前的控制器部署方案对网络时延的分析较多,刘振鹏等人[32]以交换机与控制器间的传播时延标准差和负载均衡的标准差为优化指标,通过改进的粒子群算法(APSO)来提高粒子的收敛速度,并通过并行搜索最优解优化控制器的部署位置,使得网络传播时延得到了降低,但该方案忽略了其它时延的影响。王杉杉[33]从交换机到控制器的时延和控制器间的同步时延及负载均衡的角度出发,将各控制域内交换机的个数差异定为负载均衡的评价指标,通过相似度函数改进K-medoids算法来划分控制域,引入模拟退火算法优化部署方案。结果表明,使用该方案网络时延得到降低,同时网络设备连接更加稳定。邾伟[34]以最小化控制器数量、高可靠性、较低的网络传输时延、负载均衡为目标设计控制器动态部署方法,提出了在线动态调整算法(ODDA)来调整控制器与交换机的关系。仿真表明,在满足最小化控制器数量、较高的可靠性和负载均衡下,同时降低了网络时延。但该策略没有综合考虑网络整体过载而仅考虑单一的控制器过载情况,且没有考虑控制器间的传播时延。赵文文等人[35]为进一步优化网络时延、可靠性和负载均衡,建立控制器部署策略优化模型,采用遗传算法与模拟退火算法相结合的方法以寻求控制器部署的全局最优解。然而,控制器部署策略在考虑时延问题时,忽略了控制器间的传播时延及网络中的排队时延。
控制器负载主要由控制器在单位时间内处理的请求数量决定,也就是Packet-in消息的数量决定[36]。由于现实网络中流量变化多样,对应的不同交换机的流量请求也存在一定差异性,必然使得所归属的控制器存在负载差异,部分控制器可能出现超载或是欠载现象,导致网络资源不能得到合理的利用。
负载均衡是评价控制器间负载差异的重要指标,控制器间负载越均衡,各个控制器处理能力越接近,相应的处理速度越快,任务也越快处理完毕。常见的评价控制器负载均衡的方式有:①比值法,通过负载的最大值比最小值来衡量负载均衡的差异度,比值越接近于1,则负载差异越小,负载越均衡。②方差法,通过单个控制器的负载与网络中控制器平均负载的方差来权衡负载差异,方差越小,表明各控制器间负载越均衡。史久根等人[37]提出以降低排队时延、减少迁移成本和负载均衡为优化指标,建立控制器动态放置模型,针对网络局部过载和整体过载情况,分别提出了网络局部过载算法(PODA)和整体过载算法(FODA),这两种方法均能够在均衡网络负载下降低网络排队时延和迁移成本。但该策略是在网络负载异常下的被动式调整方案,缺乏一定的主动性。Li等人[38]提出了一种基于流量传播延迟和控制器容量负载均衡的多控制器动态部署方法,使用改进的亲和力传播算法(PSOAP)和控制域调整算法(CDAA)来解决控制器动态部署问题。仿真表明,优化改进后的方法相比于遗传算法(GA)和亲和力传播算法(AP)响应时间均有所降低且负载均衡效果较好。Patil等人[39]以带宽比、时延、跳数、信任度等参数为优化指标,实时查找网络中负载最小的路径,均衡网络流量到负载较差的网络路径中,提升了整个网络的传输性能。
网络的可靠性是SDN控制器部署考虑的一个重要因素,可靠性越高则网络正常运行的概率越大,可靠性与节点的可靠性、链路失效率和链路的拥塞等因素有关。胡涛等人[40]以节点效能和路径质量为可靠性决定因素,注重节点吸引度和负载均衡的影响,使用改进K-center方法确定控制器与交换机的连接关系。该控制器静态部署策略能够优化交换机到控制器的平均时延、提高可靠性和均衡负载,但考虑的时延因素单一。陆杰等人[41]优化控制路径时延和可靠性,使用改进的RatioCut算法并引入K-medoids算法防止孤立节点对聚类的影响,最后加入模拟退火算法避免陷入局部最优以优化控制器的部署位置,该方法能够提高控制路径的可靠性。Mohanty等人[42]提出了以控制器设置成本、控制器与交换机连接成本及控制器发生故障时的重新链接成本为目标,通过建立数学模型,来解决控制器部署的可靠性问题。在真实的网络拓扑中进行仿真,结果表明所设计的算法可靠性较高,但该方法忽略控制器负载的影响。
除以上的性能指标外,网络成本指标也很重要,网络成本主要包括管理成本、部署成本及能源消耗[43]。网络成本主要是为保证SDN网络部署合理、链路可靠、通信顺畅所消耗的实际成本。马勤等人[44]以优化控制域内、域间的通信成本和负载均衡为目标,提出一种改进的粒子群算法来解决控制器静态部署问题。该方法在优化控制器数量的同时降低了通信成本,提高了负载均衡率,但方案忽略了网络中动态流量的影响。Xu等人[45]将控制器部署成本和服务延迟定义为网络成本,从经济角度出发,以降低成本为核心求得部署方案。Chai等人[46]基于SDN网络的网络成本研究控制器部署问题,在研究了控制器部署方法的基础上,通过贪心方法匹配不同类型的控制器以最小化网络成本。
SDN多控制器部署问题是NP难问题,其主要内容就是在SDN网络中确定控制器的部署数量、位置以及控制器与交换机的映射关系,其计算量大、逻辑关系复杂,选择合适的算法解决部署策略显得格外重要。
当前,解决控制器部署问题的算法主要有聚类算法、启发式算法、多目标规划算法和博弈算法等。
5.1.1 聚类算法
聚类是在一定标准下把一个数据集分割成不同的类或簇,簇内的数据对象具有相同的特征或属性,簇间的数据对象差异性较大[47]。简而言之,聚类后的数据呈现两种分布状态,一种是聚集状态,聚到一起的数据大多数是同一类别的,还有一种状态是分散状态,分散的数据大多数是不同类别的。聚类的过程需要两个阶段完成[48]:第一个阶段,通过定义相似函数来区分数据的相似程度;第二个阶段,使用合适的聚类算法将数据进行合理划分。
5.1.2 启发式算法
启发式算法是人类在解决现实问题时所采取的一种根据经验规则求解的方法,通俗的解释就是利用类似仿生学的原理,将自然、动物中的一些现象抽象成算法并处理相应问题,其特点是在有限的搜索空间和允许的时间内求得现实问题的一个可行解,但该可行解为近似最优解,且无法得知可行解相比于最优解的偏离程度。
5.1.3 多目标规划算法
多目标规划算法是求解由多个性能指标构成多个目标函数的方法,由于各个目标函数之间相互制约和影响,因此需要对多个目标规划求解,且仅可在一定的范围内求得可行解。通常情况下,多个目标函数下的可行解不能同时使得每个目标达到最优,必须各有权重。
5.1.4 博弈算法
博弈是指在一定制约条件下,多个决策主体之间利用自身认知能力和所获得的信息做出相应的决策,使得利益最大化。关于博弈论的方法有很多,常见的有合作博弈和非合作博弈,零和博弈和非零和博弈等。
大量文献资料研究了多控制器部署问题,控制器的部署策略可分为控制器静态部署策略和控制器动态部署策略。
5.2.1 控制器静态部署策略
控制器静态部署主要是指不考虑网络流量或网络结构的变化,根据当前的网络拓扑信息确定控制器的部署位置,此时交换机与控制器间的映射关系处于一个相对静态的状态,可通过使用不同的算法,形成不同的控制器静态部署策略,如表2所示。
1)聚类算法。
赵季红等人[49]提出了改进的K-means算法优化质心节点的选择和网络分区来部署控制器,相比于传统的K-means算法,该算法能够降低网络的最大时延和平均时延。陈俊彦等人[50]考虑到实际网络中时延和带宽问题,结合链路成本和负载差异度,使用改进的K-means++算法,求得控制器的最优部署方案,使得网络中流量分布相对均衡,网络整体性能得到提高。齐月震[51]提出了控制器放置的密度峰聚类算法(CPDPC),将多控制器部署问题转化为寻找多个聚类中心的问题,依据控制器部署的个数,依次在聚类中心部署控制器。
当前基于聚类算法的多控制器部署方案,大都是基于控制器静态部署策略提出的,有关控制器与交换机归属关系的动态调整研究相对较少。
2)启发式算法。
邹卯荣[52]针对交换机平均流安装时延和负载均衡两个性能指标,使用粒子群算法结合模拟退火算法研究大规模网络控制器部署策略。樊自甫等人[53]定义正常网络状态下的时延为网络状态时延,考虑到网络单链路故障会影响网络时延,提出了基于粒子群算法和基于贪婪算法的部署方法,仿真表明这两种方法均能降低网络状态时延。Fan等人[54]在优化时延和可靠性时,先使用Louvain算法划分控制域,后使用粒子群算法寻找控制器最佳位置。杨耀通等人[55]使用蝙蝠算法以优化控制器与交换机间时延、负载均衡为目标解决控制器部署问题。
3)多目标规划算法。
Jalili等人[56]使用改进的NSGA-Ⅱ算法解决大规模网络中多目标控制器部署问题,该方法能够减少运算时间,降低算法执行内存,且能有效处理相互冲突的多个目标。吕兴燕等人[57]为优化传播时延、降低控制路径故障比例、增加交换机拥有从控制器数多个目标,建立数学模型,使用NSGA-Ⅱ算法求解部署策略。
4)博弈算法。
Ksentini等人[58]利用讨价还价博弈方法,综合传播时延、通信成本和负载均衡这一系列性能指标,求解控制器的最佳部署位置。Killi等人[59]使用合作博弈方法和K-means相结合的方法,试图使交换机间结成联盟,通过交换机的相互博弈进行网络分区并部署控制器,实现价值最大化。
5.2.2 控制器动态部署策略
控制器动态部署主要是应对网络数据流量的突变、网络拓扑的变化,对于网络负载异常情况,主要采用动态迁移交换机的方式,动态调整控制器与交换机的映射关系,优化网络均衡负载,以增强网络的灵活性与高效性。现有的不同控制器动态部署策略如表3所示。
表2 控制器静态部署策略对比
表3 控制器动态部署策略对比
1)聚类算法。
郭烜成等人[60]通过改进的谱聚类算法,首先进行控制器节点部署和控制域划分,随后,针对网络的动态情况,通过K邻近算法选择迁移交换机并确定迁入域,在综合控制器容量、控制器与交换机的传播时延、控制器安全多个维度优化控制器的负载,但考虑时延因素时没有考虑到实际的排队时延、处理时延。
2)启发式算法。
曹洪运[61]为解决多个控制器可能同时出现负载不均的情况,充分结合蚁群算法收敛速度快、遗传算法全局搜索能力强的特征来解决交换机迁移问题。王立业等人[62]认为控制器发生故障时,需迁移交换机以恢复控制器的正常通信,通过改进的遗传算法优化迁移方式,以降低新流的响应时间并优化网络整体性能。但该策略是从理论层面模拟流量的变化,与具体的实际动态网络环境存在差距。周宁等人[63]根据网络负载情况,设计了自适应遗传算法的交换机迁移机制,能够较好地均衡SDN控制域内、域间的负载。Li等人[64]设计了改进的模糊多目标粒子群算法确定迁移策略,通过动作模块来均衡控制器的负载,但该策略仅考虑网络局部过载,不能应对网络整体过载情况。
3)多目标规划算法。
刘必果等人[65]以均衡控制器负载和降低交换机迁移的通信开销为多目标优化对象,使用改进的NSGA-Ⅱ算法求得最优部署方案。该方案虽在均衡负载上具有明显优势,但该方案仅考虑了网络总体不过载的现象。
4)博弈算法。
Chen等人[66]借助零和博弈论的思想对网络进行弹性控制,通过选择新的控制器以迁移过载的控制器下的交换机,来缓解控制器过载现象。Wu等人[67]提出的基于非合作博弈的动态交换机迁移机制,能够使得控制平面的资源得到充分利用。
区别于传统的卫星网络,天地一体化网络具有体系结构庞大、卫星数量多且分布广、网络拓扑灵活多变等特征,将SDN技术应用于天地一体化网络,可以更好地满足空间网络的功能需求,控制平面可获取天地一体化网络全局视图,灵活管控卫星网络。卫星节点可分离控制与转发功能,降低星载设备的复杂性。卫星控制器节点可以实时监测网络节点变化,随时掌握网络负载情况。
当前天地一体化网络中,控制器的部署方式为带内部署。传统网络中SDN控制器的部署方式主要有带外部署和带内部署这两种部署方式,带外部署是指在任意空间内部署控制器,而带内部署是指在限制的空间区域内部署控制器,即控制器部署于交换机节点上,此时该节点兼备控制器和交换机的双重功能,此处所产生的控制链路与数据链路重合。由于控制器的带外部署会增加卫星网络拓扑的复杂性,影响卫星网络的稳定性和可靠性。因此,在天地一体化网络中控制器的部署方式均为带内部署。
基于SDN的天地一体化网络的多控制器部署研究,主要从控制器静态部署和控制器动态部署两个角度进行分析,进一步优化控制器的部署位置。
控制器静态部署,考虑极短时间内相对不变的卫星网络拓扑、网络用户流量,控制器与交换机保持相对稳定的连接关系,此时高速移动的卫星网络可映射成静态网络关系,综合控制器的性能指标,选择合适的位置部署控制器节点。
当前,基于SDN的卫星网络多控制静态部署研究较多,郭子桢等人[68]从可靠性角度分析出发,研究了LEO卫星网络控制器的部署问题,通过改进的人工鱼群算法提升控制器部署效果,但忽略了交换机与控制器通信过程中可能存在的流量拥塞情况。
刘治国等人[69]以降低卫星网络中端到端的时延和均衡控制器间的负载为优化目标,提出了改进的NSGA-Ⅱ算法,求得LEO卫星网络中控制器最优部署策略,但该方法仅考虑了网络中端到端的传播时延。此外,由于各交换机的数据流请求不同,将控制器下的交换机数量作为控制器负载量的判断依据显然不太合理。
时永鹏[70]通过使用模拟退火算法与聚类算法相结合的方法,研究了卫星网关与控制器的放置问题,在地面交换机到卫星节点的最小化传播时延下,获得最大的可靠性,却忽略了其他时延因素的影响。
Qu等人[71]研究了基于SDN的天地一体化网络架构,针对天基网络使用无人机动态拓扑的控制器布置策略,将时间周期进行分割,通过改进的K-means算法求得单一时间间隔内控制器部署方法,使得交换机到控制器的传播时延得到降低,同时提升了空间通信的服务质量,但该文献顾及的控制器部署影响因素较少。
陈金涛等人[72]综合卫星网络时延、可靠性等多个方面考虑控制器的部署问题,通过改进的粒子群算法求解,但粒子群算法全局寻优能力较弱,求得的部署策略效果有待进一步提升。
综合上述文献可以发现,控制器静态部署方案主要是基于时间片的思想,能够保证在某一时间片内、某一网络状态下的性能达到最优,但忽略了网络流量、拓扑的动态变化,始终认为网络的流量和结构与初始时刻保持一致。控制器静态部署的优点是控制器部署过程简单,但静态部署方式的灵活度受限,无法积极应对空间信息网络的突发性任务引起的流量剧增、控制器容量不足,可能发生控制器停滞甚至整个网络瘫痪的现象,对网络的安全性与可靠性无形中产生了威胁,对整个网络的性能造成了影响。
由于卫星网络节点的高动态性,导致天地一体化网络中星间链路频繁切换,作为控制器的卫星节点,其所管理的交换机节点在应对不同网络用户、服务需求时,卫星节点的数据流量在短时间内会发生激烈变化如激增或是瞬减,致使流量分布不均、卫星控制器节点间负载差异性增大、控制器负载不均,既而部分卫星控制器节点出现欠载问题,而部分卫星控制器节点过载。卫星控制器节点间的负载不均衡,会引发网络性能降低、网络时延增大等一系列问题。控制器动态部署方案以解决卫星网络负载不均为目标,主要通过交换机动态迁移方式,均衡网络中的负载。
Chen等人[73]对于LEO卫星网络中随机波动的负载情况和网络拓扑变化,以均衡网络负载、降低控制开销和时延为优化目标,提出了自适应控制器配置与分配方法。
杨虹[74]设计了空天地一体化网络架构,该架构中控制平面的GEO卫星采用层次型部署方式,采用动态迁移交换机的策略均衡GEO卫星控制平面的全局控制器和局部控制器间的负载。
杨力等人[75]将SDN引入空间信息网络中,根据卫星控制器节点的欠载和过载状态,提出了基于多控制器动态部署的双门限交换机迁移方法。仿真实验表明,该方法能够提高网络的吞吐量和性能,但该控制器动态部署方法没有考虑网络整体过载的情况,且方法中没有嵌入具体的算法,当其应用于较大规模的空间信息网络时,必然会产生较大的计算量。
Liao等人[76]综合传统网络管理效率低、功能固化等问题,考虑将基于6G的天地一体化网络与软件定义网络相结合,建立并优化以时延和控制器负载方差为目标的损失函数,引入控制器负载方差作为衡量负载均衡的依据,采用模拟退火算法求得面向负载均衡的交换机迁移方法,但该方法可能存在迁移开销过大的问题。
Guo等人[77]提出了控制器静态部署、交换机动态分配的研究思路以积极应对卫星网络拓扑的周期性变化。对于已部署完的控制器节点,通过预测网络拓扑的变化,使用混合整数规划模型来重新规划控制域,形成控制器动态部署方案。
综合上述研究可以发现,基于SDN的多控制器静态部署策略,适用于极短时间间隔内网络流量变化极小几乎可以忽略不计、网络拓扑固定的场景或是卫星网络架构初步设计的情景,从优化不同的性能指标出发,选择合适的卫星节点部署控制器。此外,控制器静态部署策略也是控制器动态部署的基础。对于控制器动态部署策略来讲,控制器动态部署是考虑不断变化的交换机请求对控制器的影响,甚至是整个网络状态的影响,常见的解决方式也是通过迁移过载或是欠载控制器下的交换机,通过动态调整控制器与交换机的映射关系来实现控制器间的负载均衡,以达到优化网络整体性能的目的。
本文对天地一体化网络架构、控制器部署策略和基于SDN的天地一体化网络多控制器部署方法进行了研究分析,但还有许多值得思考和研究的问题,下一步可以从以下几个方面开展研究:
1)控制器部署问题的算法使用。由于控制器部署问题是一个NP难问题,基于SDN的天地一体化网络多控制器部署方法所涉及关系更为复杂,其控制平面涉及多个网络层面,因此选择高效的控制器部署算法尤为重要。现有部署策略大多数采用的是启发式算法,这是考虑到启发式算法运算速度快、算法流程简易,但也存在陷入局部极值的风险,新型启发式算法、深度学习、机器学习的出现为控制器部署方法的研究打开了新思路,未来可使用这些新算法解决基于SDN的天地一体化网络多控制器部署问题。
2)天地一体化网络中SDN控制器部署问题的性能指标。现有的有关研究天地一体化网络中SDN控制器部署方法存在性能问题分析不深入、指标考虑不全面等问题。由于空间任务可分为应急任务和常态任务,下一步可以根据空间任务的特性结合性能指标进行深入分析,比如应急任务着重分析时延因素,常态任务着重考虑负载均衡、可靠性等。
3)天地一体化网络中SDN控制器的联合部署问题。当前天地一体化网络中SDN控制器的部署策略,主要都是在所提出的基于SDN的天地一体化网络架构的基础上,着重分析LEO卫星网络控制平面中控制器的部署问题,虽然LEO卫星网络的控制平面是整个网络控制平面的核心,但LEO卫星控制器节点与GEO卫星控制器节点、地面控制器节点的联合部署问题依旧很重要,未来可深入研究。
4)天地一体化网络是一个多层异构网络融合的网络,网络链路中存有大量的数据信息,数据通信的安全是实现天地一体化网络安全通信的关键。因此,未来可以围绕天地一体化网络中的安全通信展开研究,如链路安全、协议安全等。
本文针对基于SDN的天地一体化网络架构下的多控制器部署方法进行研究,分析了现有的基于SDN的天地一体化网络架构及优缺点,阐明了控制平面由GEO卫星、部分LEO卫星、地面站组成,数据平面由LEO卫星节点和地面站组成的网络架构优势更为显著。通过分析SDN控制器的性能指标、SDN多控制器部署问题的常见算法和部署策略,为下一步研究基于SDN的天地一体化网络的控制器部署奠定良好基础,最后论述了现有的基于SDN的天地一体化网络的控制器部署策略并分析了存在的问题,对下一步的研究提出了展望。