一种基于软件定义的弹性网络资源分配方案

2017-08-09 02:05王威华王小洁冷泳林宁兆龙
关键词:队列网络资源交换机

王威华,王小洁,冷泳林,宁兆龙

(1.兰州大学 经济学院, 兰州 730107; 2.大连理工大学 软件学院, 辽宁 大连 116620)



一种基于软件定义的弹性网络资源分配方案

王威华1,王小洁2,冷泳林2,宁兆龙2

(1.兰州大学 经济学院, 兰州 730107; 2.大连理工大学 软件学院, 辽宁 大连 116620)

介绍了一种在SDN架构下的新型网络资源分配机制。传统的网络结构在资源分配的过程中存在诸多缺点,导致网络性能不够稳定,拥塞控制比较被动,严重影响用户体验。 提出一种综合考虑影响资源分配一切因素、系数优先的弹性网络资源分配算法,通过划定优先级来决定资源分配的方式。本算法基于SDN架构,可以显著改善传统网络资源分配的不足。 介绍了SDN体系的背景和发展以及针对无线网络的SDN扩展,提出系数优先的弹性网络资源分配算法,从各个细节描述和分析本算法的思路和实现过程。通过仿真实验对本算法的性能进行评测,说明本算法的优越性。

软件定义网络技术;资源分配算法;优先级;拥塞控制

1 研究背景

弹性网络资源分配是指根据网络中节点的状态、链路的状态、传输资源的类型、客户要求的传输速度等条件,对网络传输的流量进行弹性控制,从而达到传输效率的提升和服务质量(quality of service,QoS)的保障[1-2]。然而,传统TCP/IP网络结构对硬件的处理能力要求太高,硬件性能往往很难达到要求。对网络资源的弹性分配意味着要对整体网络结构进行完整的监视和控制,对硬件的计算能力要求太多,现有的网络底层硬件很难满足要求。

软件定义技术给弹性网络资源分配打开了一扇新的窗户[3-4]。通过将网络控制端从数据端独立出来,用SDN控制器单独进行网络的统筹管理,同时通过北向接口与应用程序连接,可以大大提升网络设备对数据的处理能力。一方面,SDN控制器连接了网络中所有的交换机,网络设备对于命令有较快的响应速度;另一方面,通过应用层的程序可以辅助计算一些复杂的算法,在SDN架构提升网路灵活性的同时,通过控制端计算能力的质的提高,可以使用更为精细、更为复杂的链路选择和交换机队列管理算法,从而提升网络的数据处理能力和效率[5-6]。

网络资源分配主要分为两部分:路径选择和节点缓存队列管理。路径选择是指在网络底层硬件拓扑结构中选择一条资源传输效率最高的路径,从而以最短的时间和最高的效率实现资源的分配。节点缓存是指网络交换机中的缓存队列。由于交换机收到数据之后,并不总能及时将数据立即转发出去,就需要暂时性储存在交换机的缓存队列中排队等候转发,而如果出现了网络拥塞,导致交换机中的缓存队列满了,这时再到达交换机的数据包将会被丢弃,也就是所说的丢包[7]。

本文主要针对传统的资源分配算法的不足,提出一种全新的基于SDN架构的资源分配解决思路。SDN是一种全新的网络体系,本文所引用的文献大部分都是SDN架构的概念、实现思路,少量是关于网络资源分配算法。文献[8]的作者对SDN架构进行了阐述,同时从细节上介绍了传统网络体系中路由队列算法的种类和不足,同时介绍了新的基于SDN的相关算法。

本文基于SDN的弹性网络资源分配机制,设计了系数优先的弹性网络资源分配算法,针对目前的网络架构的缺点进行了改良,提出一种SDN下的网络资源分配机制,对传统的网络构架下加以创新,借助SDN控制和转发的分离带来的对整个网络的全局控制力,实现高效率、高稳定性的网络信息传输体系。

首先,基于SDN架构,可以搭载更强劲的处理器来处理指数倍规模的数据,从而完成传统网络结构所难以实现的算法。无论是数据处理能力还是对突发情况的应对都可以达到比较理想的效果。SDN对网络性能的提升不止是处理能力,对于拥塞控制和QoS等都有质的提高。以前的底层硬件既负责数据的转发又负责流量的管理,单一的交换机或路由器很难根据网络的情况进行流量管理。而在SDN的架构里,SDN控制器具有网络的全局视角,可以通过对网络内部所有设备的监控进行分析,得到最全面的网络状态,并进行分析。通过全局视角,可以下达最为准确的指令来进行网络调配,将网络整体的效率大幅提升。而与此同时,交换机只需要负责接收SDN控制器的命令进行数据转发,几乎无需进行任何计算工作。各网络设备分工明确,所能达到的效率是之前的传统网络结构远不能达到的。

其次,算法第一次引入了优先级系统。流量划分优先级,将重要的以及用户最重视的流量种类划分到高优先级优先进行,这样可以使管理网络的硬件设备和软件更有针对性地处理各种流量,将有限的资源更多地分配给更需要的流量,从而显著提高网络的整体效率,做到有的放矢。针对用户的不同需求来精准控制流量的流动,进一步提高QoS。而在网络拥塞发生时,对丢包的选择也更加合理,对缓存队列的控制可以做到更细腻。

传统网络资源分配算法对流量的各阶段控制是分开进行的。对路径选择和节点缓存队列分别进行管理,网络的整体协调性很差。而基于系数优先的弹性网络资源分配算法在一次的传输作业中一次性考虑了所有的因素,从所有可能的路径中选择节点和带宽占用情况最好的,再综合路径的距离进行计算,保证所有流量的路径都是最合理的。

为了进行拥塞控制,传统网络中一些比较先进的算法具有流量预测功能,可以通过预测一段时间后的资源占用并以决定新流量的传输方式。本文设计的系数优先的弹性网络资源分配算法并没有流量预测功能,而是采用了定时刷新机制,每隔一段时间就对网络中所有流量进行重新的最优线路计算。定时刷新机制要比流量预测机制更加灵活实用,同时对于网络效率的整体提高更为显著。

2 系数优先的弹性网络资源分配算法

网络数据流量的飞速发展对资源管理方式提出了更高要求,传统方法难以适应海量、并发和实时的数据管理需求,因此弹性网络资源管理方法近年来得到广泛研究[9-10]。

SDN架构将控制与转发分离,从而达到网络效率的最大化[11]。通过将算法建立在SDN架构上,可以完成很多复杂的算法和计算,从而使网络资源分配的过程更加细腻,达到充分利用网络链路资源、降低网络拥塞的影响以及节能环保的目的。

传统的互联网流量传输方式在SDN架构中并不能直接使用。系数优先的资源分配算法基于SDN技术,通过综合考虑网络资源传输过程中需要经过的节点、节点之间的链路和流量传输的路径,对各节点、各链路、各路径进行优先级评测,计算得出最优路径进行数据传输。

本算法的主要思路是追求更稳定的传输通路,通过综合考虑每条路径中每个影响传输的因素,经过计算得出最佳路径进行数据传输。因此,算法的计算结果一定要优于传统的数据传输。同时,本算法的一个重要实现就是如何在更高的网络利用率和更快的传输速度之间进行很好的抉择。更高的网络利用率表示整个网络中,忙碌的与空闲的链路占的比例大小。高网络利用率可以使网络数据传输更协调,同时对于特定的交换机不至于由于过载而过热导致效率降低。更快的传输速度是指最短的路径选择和最大传输速度的采用。如何在网络利用率和传输速度之间抉择、什么时候进行什么样的抉择,是本算法的核心所在。

2.1 算法流程

每个网络流量在创建之初就设定好一个字段表示流量的优先级。优先级有两种,默认优先级是根据流量类型定义的,有少数2级优先级和4级优先级流量,大部分流量是3级优先级,也就是普通流量。用户可以通过应用端程序将流量自定义优先级,比如将极其重要的邮件等设置为优先级5,这样无论网络中发生什么,只要网络还能运作,邮件就一定能及时送到。

当一个数据包产生并准备在网络中传输时,首先,系统将根据网络拓扑进行一次路径查询,得出从源节点到目标节点之间的所有无环路径。无环是指路径中没有重复节点。其中,每两个节点之间的路径长度都设定为一单位路径长度。系统将得到的路径按单位路径长度从长到短排列起来,将最长的路径设为优先级1。因为一个单位路径长度很可能同时被多条路径使用,所以这里的优先级是指整条路径的优先级。得到最长的路径的优先级之后,将第二长的路径优先级设为2,以此类推,直到最短路径的优先级计算出来。将路径优先级设为R。

SDN控制器向每个交换机发送查询命令,查询每个交换机以及每两个交换机之间链路的状态,交换机将自己的缓存队列占用百分比P以及相邻的单位路径的占用带宽占总带宽百分比W返回给SDN控制器。

节点优先级计算方式:

Prior_P=[(1-P)×100|20]+1

(1)

单位路径优先级计算方式:

Prior_W=[(1-W)×100|20]+1

(2)

假设流量源节点优先级为P1,目标节点优先级为Pn,中间经过的单位路径优先级为W1到Wn。

为了进行综合优先级的计算,还需要计算节点的标准差Pa和路径的标准差Wa以及P×W的标准差PWa。

节点优先级P的平均值Ave_P:

(3)

节点标准差Pa:

(4)

路径优先级W的平均值Ave_W:

(5)

路径标准差Wa计算公式为:

(6)

P×W的平均值Ave_PW:

(7)

P×W的标准差:

(8)

路径的优先级:

Level=(Ave_PW-Pa-Wa-PWa)×R

(9)

2.2 具体实现

算法将路径中源节点优先级刨除不参与计算,将之后的每个单位路径长度和下一个节点作为一组,将每一组的单位路径优先级和节点优先级相乘并求出每一组的和,将得到的结果除以组的个数n-1,从而得到每一组的优先级的平均值。将节点和单位路径的优先级相乘是为了造成优先级的叠加效应,假如节点和单位路径的优先级都很高,那么得到的这一组的结果会更高,反之亦然。在计算最佳路径的过程中,优先采用优先级高的节点和单位路径组合将会很大程度提高网络利用率。

得出平均组优先级后,分别减去路径中所有节点优先级的标准差和所有单位路径的优先级的标准差。这是为了路径的稳定性。通过对节点和单位路径优先级采取简单的乘积,虽然可以在它们优先级都很高的时候和都很低的时候将组优先级放大,但是却没有考虑到节点和单位路径优先级相差很多的情况。这时候可能会产生2×8=4×4效应。假设节点的优先级为2,单位路径优先级为8,此时得出的组优先级为16,而假设节点和单位路径优先级都为4,得出的组优先级也为16。此时,4×4的组合显然要比2×8的组合要好得多。这是因为当节点优先级和单位路径优先级相差很多,一般都是因为交换机内队列缓存了很多小容量的流量包,对单位路径带宽占用很小,或者是交换机内队列缓存了很少的大容量包,因此单位路径带宽占用率很高,这时的网络是很低效的,因为传输速度总会被严重制约。与之相对,优先级相似的节点和单位链路更加稳定,传输速度也更快。我们需要对这两种情况进行区分,因此引入了节点和单位链路的优先级差的概念。通过减去每组优先级的平均差,来获得更精确的判断。

最后,乘以路径优先级,将路径的因素加入考虑。传统的网络资源分配方案中,采用最短路由就是因为路径长度对传输速度影响极大,因为更短的路径意味着经过更少的交换机,经历更少次的转发,冒更小的网络拥塞的风险。因此,路径长度对于最终的传输速度起着至关重要的作用,有必要将路径长度单独提出来,对之前的结果做一个乘积,将路径的优势无限放大。但是,假如最短路径途径的节点或者单位路径的使用占用率过高,甚至出现网络拥塞时,根据算法,其他路径的优先级可能就会比最短路径高,这样可以完美躲避网路拥塞,同时获得更高的网络利用率。

为了时刻保证流量控制的准确性,系数优先的弹性网络资源分配算法采用定时刷新查询机制,初步设定每隔一段时间就对每个流量的最优路径进行重新计算。计算的顺序是从高优先级的流量开始,当最后计算的流量完成路径计算,则重新开始第二轮计算工作。采用定时刷新机制后,就无需考虑到流量变化带来的网络传输效率降低得可能性。

相比于传统的网络资源分配算法,本算法在诸多步骤上进行了优化。通过优先级系统,将网络的整体利用率提升到很高,大大降低了网络拥塞发生的几率。而一旦网络拥塞发生,也可以通过优先级系统,将重要流量优先传输,将重要度最小的流量包丢弃,从而将损失降低到最低。

3 仿真实验

本文仿真中共有10个交换机,用编号从0到9表示。交换机之间采用随机连线方式,模拟真实的小区网络使用环境。实验用计算机代表SDN控制器和应用端的集合,通过计算机直接模拟出SDN控制器向每个节点发送命令和查询的过程。所有的链路都是全双工。网络参数如表1所示。

共进行10组测试,每组测试时间为10 s,每组测试中依然将节点的缓存设为600,在开始的时候一次性随机向节点发送2 000个数据包,每个数据包的优先级设为3,新分配的流量包将进行优先级随机分配。所得的实验结果如下:

丢包率变化,即墓志铭中数据量的变化如图1。图中:横轴为时间,共记录了10 s的传输过程;纵轴为丢包率。

本次实验并没有采用符合泊松分布的ON/OFF网络流量模型,而是选用了随时间匀速向网络中随机节点发送数据包的流量源。因此,在遇到网络拥塞的时候,由于源节点的分配依然是随机的,因此拥塞节点将会继续被分配新的流量任务,而此时由于节点处于拥塞状态,因此新的被分配的任务全部丢包,造成大量丢包。而且随着时间的增加,丢包现象会加剧。这是由实验流量发送源的恒定发送速率决定的。

表1 资源分配网络参数

名称参数链路带宽/Mbps10链路延迟/ms10最小数据包/Byte500最大数据包/Byte1500节点缓存600转发延迟/ms10

图1中:在发送速率为800包/s的时候,在第10 s开始出现丢包;在900包/s的时候,丢包时间提前到了第8 s;在1 000包/s的时候,第7 s就开始丢包了。除了这些时间以外,其他时间均未出现丢包现象。说明本算法在拥塞控制上具有优势。除了发送节点在拥塞节点这种情况难以避免之外,其余的各种情况下,拥塞现象都得到了很好的避免,显示出本算法的优越性。

图1 丢包率变化

为了对实验进行对照,再选用同样的参数,模拟传统路由资源分配算法进行对照实验。将系数优先的弹性网络资源分配算法改成简单的最短路径算法,获得的丢包率变化如图2。当使用传统结构进行测试时,从第6 s就有丢包现象出现,而且随着发送速率不断增大,丢包现象呈现越来越严重趋势。这是由于传统的网络结构对拥塞的处理比较被动,当一个节点发生拥塞之后,依然会选择拥塞节点进行传输中转。如果短时间内拥塞得不到解决,会影响周围的节点的正常流量传输,从而使更多的节点进入拥塞状态。而系数优先的弹性网络资源分配算法通过对比不同路径的优先级,淘汰掉拥塞节点的路径选择畅通路径,可以有效降低丢包率。

图2 传统网络丢包率

由图3所示,可以观察到在数据包发送速率在400包/s左右时,节点内的队列平均长度基本保持不变,网络对流量的处理速度和发送速率大致持平。而当发送速率更低时,节点内的队列平均长度随时间变化不断变短直至队列长度仅为新加入的任务长度。而当发送速率更高的时候,节点平均队列长度不断增加,可以预测到,随着时间的不断推移,最终将会导致拥塞的发生和丢包现象的出现。

图3 队列长度变化

由队列长度变化图像可以看出,随着新的任务不停被加入,节点内平均队列长度基本呈光滑的曲线变化,变化速度十分均匀。这说明算法对于节点队列的调配很均衡,网络管理员对于网络流量的走向可以有一个很好的预测。

4 结论

传统的网络结构对于流量的路径计算和路由队列管理也只能分开进行,很容易造成网络的拥塞,对链路的利用率也很低。系数优先的弹性网络资源分配算法基于SDN架构,硬件规格高度统一,底层硬件的安装和配置变得异常方便。由于计算性能的质的提高,使得SDN架构可以支持更加复杂的算法,系数优先的弹性网络资源分配算法就是其中之一。由于综合考虑了流量类型、节点状态、链路状态和路径长度,本算法初步做到了对于网络资源调配的统一。通过综合考虑资源分配中的每个因素,达到高链路利用率和低丢包率,同时还可以保证拥塞现象的避免。仿真实验验证了本算法丢包率低,链路利用率高、节点队列浮动平滑。

本研究是对SDN进行资源管理相关应用的探索,还存在一定不足,如本算法对SDN控制器以及应用端的计算性能要求过高,由此造成的硬件难题很难解决。未来工作包括:根据网络环境状态和业务需求,在流表修改,控制器与交换机交互,实机检测等方面做更加全面的系统设计。

[1] SZABO R,KIND M,WESTPHAL F,et al.Elastic Network Functions:Opportunities and Challenges[J].IEEE Network,2015,29(3):15-21.

[2] GUO L,NING Z,SONG Q,et al,A QoS-oriented High-Efficiency Resource Allocation Scheme in Wireless Multimedia Sensor Networks[J].IEEE Sensors Journal,2017,99:1.

[3] NING Z,XIA,KONG X,et al.Social-oriented resource management in cloud-based mobile networks[J].IEEE Cloud Computing Magazine,2016,3(4):24-31.

[4] 李贺武,赵洲洋,孙文琦,等.SDN+:基于SDN的未来无线网络系统架构和扩展[J].邮电设计技术,2015(10):44-50.

[5] AKYILDIZ I.A Road Map for Traffic Engineering in SDN-OpenFlow Networks[J].Computer Networks,2014,71(3):1-30.

[6] 李纪舟,何恩.软件定义网络技术及发展趋势综述[J].通信技术,2014,47(2):125.

[7] QIU T.A Greedy Model with Small World for Improving the Robustness of Heterogeneous Internet of Things[J].Computer Networks,2016,101(6):127-143.

[8] 赵笑楠.基于SDN的网络流量控制模型设计与研究[D].北京:北京交通大学,2015.

[9] NING Z,XIA F,HU X,et al.Social-oriented Adaptive Transmission in Opportunistic Internet of Smartphones[J].IEEE Transactions on Industrial Informatics,2017,13(2):810-820.

[10]QIU T,CHEN N,LI K,et al.Heterogeneous ad hoc networks:Architectures,advances and challenges[J].Ad Hoc Networks,2017,55:143-152.

[11]YANG C,CHEN Z,XIA B,et al.When ICN Meets C-RAN for HetNets:An SDN Approach[J].IEEE Communications Magazine,2015,53(11):118-125,

(责任编辑 杨黎丽)

A SDN-Based Elastic Resource Allocation Scheme

WANG Weihua1, WANG Xiaojie2, LENG Yonglin2, NING Zhaolong2

(1.School of Economics, Lanzhou University, Lanzhou 730107, China;2.School of Software, Dalian University of Technology, Dalian 116620, China)

This paper introduces a brand new resource allocation mechanism based on SDN. Countless shortcomings have been witnessed in the architecture of traditional network resource allocation which results in terrible stability together with passive congestion control ability and highly affect user experience. We come up with a resource allocation mechanism based on coefficient which considers factors in effecting resource allocation work. This mechanism gives every factor a priority which depends how resource is allocated. Based on the architecture of SDN, this mechanism can remarkably promote the conventional resource allocation approach. First of all, the paper introduces the background and the development of SDN. Then, the extension of SDN in wireless network is introduced. After that, the paper comes up with the new resource allocation mechanism based on coefficient and some details about its logic and implementation. At last, with simulation experiment, we evaluate the performance of the mechanism which illustrates its advancement.

software defined network;resource allocation mechanism;priority;congestion control

2017-01-09

国家自然科学基金资助项目(61502075);中国博士后面上基金资助项目(2015M580224);辽宁省博士科研启动基金资助项目(201501166)

王威华(1994—),男,主要从事社交网络和网络优化的研究,E-mail:whwang13@lzu.edu.cn;宁兆龙(1986—),男,博士,讲师,主要从事云计算和网络优化的研究,E-mail:zhaolongning@dlut.edu.cn。

王威华,王小洁,冷泳林,等.一种基于软件定义的弹性网络资源分配方案[J].重庆理工大学学报(自然科学),2017(7):145-150.

format:WANG Weihua, WANG Xiaojie, LENG Yonglin, et al.A SDN-Based Elastic Resource Allocation Scheme[J].Journal of Chongqing University of Technology(Natural Science),2017(7):145-150.

10.3969/j.issn.1674-8425(z).2017.07.023

TP39

A

1674-8425(2017)07-0145-06

猜你喜欢
队列网络资源交换机
队列里的小秘密
基于多队列切换的SDN拥塞控制*
网络资源在阿拉伯语教学中的应用及成效分析
基于地铁交换机电源设计思考
在队列里
修复损坏的交换机NOS
使用链路聚合进行交换机互联
丰田加速驶入自动驾驶队列
网络资源在高中班级管理中的运用
谈网络资源在大学计算机教学中的应用