基于SDN的网络流量分配机制研究
2022-09-07彭财静
彭财静
(陕西国际商贸学院信息工程学院 陕西 咸阳 712000)
0 引言
随着4G网络的飞速发展和5G时代的到来,我国网络用户规模截至2021年12月已经达到了10.32亿。网络的数据承载量达到了海量级别,而传统的蜂窝式网络架构下有限的带宽资源和存储容量已经很难满足此量级下的资源管理需求[1],网络拥塞、负载不均衡、资源分配不合理、传输延时等问题成了限制第五代移动通信技术(5th generation mobile communication technology,5G)[2]网络发展的主要原因。由于传统的蜂窝式网络架构采用的是封闭式网络设备部署,随着网络规模的不断扩大,基于封闭式网络设备的协议部署愈加复杂,这使得网络优化变得极为困难,新的改进技术很难在真实环境中进行实践和验证,也导致上述问题得不到有效解决,因此采用新型的软件定义网络(software defined network,SDN)架构,以网络虚拟技术为核心,将网络设备与数据传输进行分层式控制,能够有效解决原有网络架构下的性能优化受限问题,同时将SDN架构与5G网络的切片技术相结合,构建更为灵活的基于5G网络的流量资源分配机制,以提高网络资源的调度效率、促进网络资源的合理化分配。
1 核心技术及架构概述
1.1 5G网络切片技术
5G网络切片技术是通过网络虚拟技术以特定的网络性能或功能为标准对网络进行的逻辑分割,构建逻辑上功能独立、性能也符合用户特定需求的独立网络。借助网络切片技术能够为网络用户提供差异化网络服务,满足运营商的个性化网络部署需求。网络切片技术主要应用于3类基础网络的切分,包括:接入网、传输网和核心网[3]。
接入网切片主要用于实现网络接入所需协议标准和视频资源的个性化定制,通过协议栈切分将基带处理单元(building base band unit,BBU)拆分为集中单元和分布单元[4]两个部分,集中单元用于非实时性业务的接入处理,分布单元用于实时性业务的接入处理。
传输网切片用于实现不同业务需求下的网络传输个性化服务,通过网络虚拟技术对网络的链路节点、传输端口等资源进行虚拟化分割,在物理层上构建多个独立的逻辑传输子网,各子网之间相互隔离,互不干扰。采用了SDN架构的传输网络切片网络流量控制模式可以分为基于数据平面的通道硬隔离和基于控制平面的网络拓扑资源隔离,前者用于实现网络切片内端到端的通道隔离,并匹配有相应的调度策略;后者用于实现网络切片内的通道控制,包括切面控制、链路控制、端口和协议栈控制等。
核心网切片用于提供具体业务场景下的个性化服务,相较于4G网络的网元集中控制模式,核心网切片将网元功能进行解耦合模块化,并按照具体业务需求以组件的形式进行灵活整合。各组件之间可以通过开放接口进行通信,也可以根据业务需求变化动态扩展与裁剪。
1.2 SDN架构
SDN架构采用网络虚拟技术基于逻辑层面将网络划分为3层,自底向上包括数据层、控制层和应用层[5],见图1。
数据层为最底层,由网络硬件设备构成,该层的网络设备通过控制层动态生成的数据流表进行数据的交换与转发,本身不再兼具协议控制、网络资源调度等控制职能,大大简化了硬件设备的协议部署、功能配置等工作。
控制层由可编程的SDN控制器构成,通过软件编程方式实现对数据层设备的通信控制、对应用层数据的格式处理以及网络资源的动态调度,并提供了南向与北向两个通信接口,南向接口负责与数据层通信,北向接口负责与服务层通信[6]。
应用层由多个SDN应用构成,提供面向用户的各类应用程序服务,并以数据请求的形式向控制层传递相关的数据信息,由控制层完成具体的业务处理。
由各层的功能划分可知,SDN架构的主要目的是将物理网络的网络链路进行软控制和硬通信的逻辑解耦,通过核心控制层对网络流量进行可编程的灵活控制,大大提高了网络功能部署的灵活性与扩展性。
2 网络流量分配机制
为了实现端到端的全方位网络服务,网络服务供应商会依据各类行业的个性化服务需求进行网络切片的划分。单个切片可以面向单一特定行业为多个租户提供垂直服务,租户网络之间的业务相近,但分配的网络资源是相互隔离、互不干扰的。网络流量的资源分配指的是两方面的资源调度,一是租户网络切片之间的资源分配,二是租户网络的片内资源分配。根据资源分配对象不同,切片网络流量分配机制主要可以分为静态分配与动态分配两大类。静态分配机制是指网络路由的分配和选择由网络管理员手动完成,网络管理员需要依据当前的业务需求与网络拓扑分析手动配置路由表,可以用于租户网络片间的资源分配;动态分配机制则是依据动态路由算法自动生成并能够实时更新路由表的一种的分配机制,可以用于租户网络片内的资源分配。这里仅针对租户网络片内的动态资源分配展开讨论。
动态流量分配机制的传统路由算法主要有3类:距离收敛路由、链路状态路由和路由算法[7]。
距离收敛路由算法是一种实现简单且高效的算法,主要应用于自治系统的内部流量分配,例如内部路由选择(routing information protocol,RIP)协议、内部网关路由选择(interior gateway routing protocol,IGRP)协议等都采用的是距离收敛路由算法来构建动态路由表。该算法依据相邻路由器的信息交换汇总生成路由表,以数据报转发路由节点数量最少的路径为最优路径选择。
链路状态路由算法是大型网络中应用最为广泛的一种算法,该算法在网络切片内通过路由节点的信息交换收集所有节点的链路信息,以此对当前网络切片的全局链路状态进行描绘,切片内路由节点就可以依据一致的链路状态信息创建和维护路由表。对于每个路由器节点需要完成的工作包括:与相邻的节点交互路由地址;计算与相邻节点的转发距离和流量开销;将获取和计算的信息封装为链路状态信息包并转发给相邻路由;计算最优的转发路径并生成路由表。
路由算法是自组网中较常应用的一种算法,自组网切片的移动终端既要负责应用功能的实现,例如浏览器程序,又要负责主机功能的实现,例如路由、数据分组、数据报转发等,采用源路由算法可以有效缓解自组网切片移动终端用户的路由负载。该算法主要通过数据源主机提供完整的路由选择策略,并将路径信息封装在数据分组的报头,转发的中间节点无需维护路由表,也不需要再进行路由选择的计算,直接按照源主机提供的路由分组序列进行转发即可,大大减轻了中间节点路由开销,也避免了路由环路。
以上3种传统的动态路由算法都是基于链路权重的算法。链路权重是传统网络架构下各类路由协议中非常重要的组成部分,链路权重的计算对网络硬件依赖度非常高,这使得链路权重的计算普遍具有一定的静态性和片面性,也大大限制了网络的弹性扩展和资源的有效利用,而SDN架构的引入可以有效解决上述问题,进一步提高链路权重的计算效率和动态路由分配的灵活性。
3 基于SDN的链路权重算法
链路权重是网络流量分配的重要依据,也是SDN架构流量分配机制的热点研究问题,基于SDN架构的链路权重计算可以分为静态权重计算与动态权重计算两类。
3.1 静态链路权重计算
静态链路权重的计算,首先需要通过SDN器控制获取传输网络切片内的网络拓扑信息,然后为每条链路计算权重值,主要的计算方法包括链路的节点跳数计算法、距离矢量计算法和带宽倒数法,不同的算法所依据的参数指标也不相同,链路的节点跳数计算法是最小标准;距离矢量计算法的路径距离最小标准;带宽倒数法是最大带宽标准。由于上述算法都不能对3个重要参数指标全部兼顾,因此存在一定的片面性。
静态链路权重计算忽略了时间因素对链路状态的影响,因此是一种静态的计算方法,当数据源或数据分组到达边缘交换机后,交换机会依据预先设定好的链路权重进行路由的选择计算。该算法下SDN控制器无需频繁轮询网元设备,减少了控制平面与数据平面的通信开销和路由计算的开销,在网络资源空闲的情况下,算法效率高且易实现,但在网络出现拥塞时,该算法不会动态适应和调整分配策略,反而会加剧网络的拥塞和负载不均衡。
3.2 动态链路权重计算
动态链路权重计算加入了时间维度的可变参数,SDN控制器需要定时轮询数据层的网元设备,动态获取片内的网络拓扑信息,依据链路状态变化更新片内的链路权重。动态链路权重的算法设计需要解决的关键问题涉及以下3个方面。
(1)网络业务需求预测的敏感性问题。网络流量分配策略的设计通常要参考网络业务的具体需求,而这种参考是预测性质的,预测结果越精确,资源分配策略的匹配度就越高,资源利用的也就更充分。因此算法设计还需要具有较好的业务需求敏感性,能够进行更加精确和细粒度的需求预测。
(2)链路权重计算的片面性问题。影响链路权重的参数指标有很多,例如链路的路径距离、带宽、时延、丢包率等,单一的指标评价无法准确、客观反映当前的网络链路状态,因此算法设计应考虑到参数指标评价的全面性以及各指标间的动态均衡。
(3)链路权重计算的动态更新频次问题。网络链路状态的变化是十分频繁的,链路权重计算如果要完全匹配到网络链路的变化情况,就需要频繁进行通信和计算,这本身也增加了网络资源的开销,反而会延长权重值计算的收敛速度。如果按照固定的时间间隔进行权重值的计算和更新,又无法充分发挥算法的动态优势,实现资源分配的最优化。因此算法设计还应充分考虑链路权重计算频次的时间与控制。
在传统的蜂窝式网络架构中,上述问题一直没有得到良好的解决,而网络切片技术的引入为问题的解决提供了可能。网络切片技术面向的是垂直用户,通过网络切片为垂直用户提供更加精确和细化的网络服务,因此切片资源分配本身就对租户网络的业务需求高度适配,业务需求预测也更加精准;其次网络切片具有网络资源的隔离特性,各个租户网络之间的流量分配是互不干扰的,链路权重的计算局限于租户网络切片之内,综合参数指标对权重值的估量与均衡更易于实现。针对最后一个问题,链路权重计算的频次控制可以结合信息熵算法,利用信息熵的数据集反差特性实现对计算频次的动态调整。
4 链路权重计算的优化机制解决方案
4.1 网络业务需求预测的敏感性问题解决
网络业务需求预测属于不确定性问题,常用的解决方法有随机优化法和鲁棒法。随机优化法首先要进行随机参数的概率预设,随机参数由决策者根据历史数据、同类业务需求情况、先验推导进行设定,然后由优化函数通过随机参数的概率分布情况构建业务的敏感性属性偏好向量,形成最终的选择方案矩阵。方案矩阵罗列出了每条可选链路的业务预测权重,并作为链路权重计算的重要参数之一,使其进一步匹配到细粒度的业务需求。鲁棒法对随机参数的概率设定通过不确定集的方法来实现,具有更高的计算效率和准确度。不确定提供的是随机参数的概率波动范围,波动范围设置越精细,求解过程越复杂,最优解预测结果越准确,但计算开销也越大,因此不确定集的构建还需要兼顾到计算效率与结果准确度之间的资源均衡。
4.2 链路权重计算的片面性问题解决
链路权重的评估参数有很多,其中很多参数还存在负相关关系,因此链路权重计算的片面性问题解决的目的不在于要使得各个参数指标都达到最优解,而是在各个参数之间寻找均衡的最优解。采用分布式鲁棒法可以有效解决这一问题,将影响链路权重的多个属性指标视为随机参数,并为其构建了概率分布模糊集,通过不断对分布模糊集中的概率分布最坏结果的迭代优化使其尽量接近一个理想的链路状态。
4.3 链路权重计算的频次控制
链路权重的计算频次应与网络链路的状态变化密切相关,如链路处于一个相对稳定或空闲的状态,链路权重的更新就不必过于频繁,反之则需要对当前的网络做出及时反应和调整,以预防网络拥塞的发生。采用信息熵方式可以对网络链路多维属性的不确定性因素进行干扰排除,并最终实现精确的链路权重动态更新的控制。信息熵是度量复杂事物一种方法,可以简单表述为事物属性越复杂,不确定性越大,那么这些属性的状态变化概率就越小,其所构成的数据集就越稳定。根据信息熵的数据集反差特性,数据集不变的前提下,信息熵也不会变化,也就不具备触发链路权重更新的条件;反之则认为事物的不确定性越大,属性状态的变化也越大,当数据集的波动超过信息熵的阈值设定后,就会触发链路权重的计算更新。
5 结语
5G网络的网络切片技术为个性化的网络服务定制提供了全面的技术支持,其所承载的用户流量也越来越大,为了能够有效提高传输网切片的资源利用率,本研究结合SDN架构,对传输网切片的流量分配机制展开了全面研究,针对传输网内多个租户网络的片间资源分配和片内资源分配机制进行了探讨,并在此基础上提出了租户网络片内链路权重计算的完整解决方案,为之后的5G网络资源分配机制优化提供了一定的研究思路和参考依据。