CN115277574B - 一种sdn架构下数据中心网络负载均衡方法 - Google Patents
一种sdn架构下数据中心网络负载均衡方法 Download PDFInfo
- Publication number
- CN115277574B CN115277574B CN202211179144.9A CN202211179144A CN115277574B CN 115277574 B CN115277574 B CN 115277574B CN 202211179144 A CN202211179144 A CN 202211179144A CN 115277574 B CN115277574 B CN 115277574B
- Authority
- CN
- China
- Prior art keywords
- network
- feasible
- link
- elephant
- flow
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 241000406668 Loxodonta cyclotis Species 0.000 claims abstract description 71
- 230000009466 transformation Effects 0.000 claims abstract description 23
- 238000012216 screening Methods 0.000 claims abstract description 6
- 241000257303 Hymenoptera Species 0.000 claims description 23
- 238000004364 calculation method Methods 0.000 claims description 20
- 238000012544 monitoring process Methods 0.000 claims description 14
- 239000011159 matrix material Substances 0.000 claims description 12
- 238000001514 detection method Methods 0.000 claims description 7
- 241000764238 Isis Species 0.000 claims 2
- 238000000926 separation method Methods 0.000 abstract description 2
- 230000009977 dual effect Effects 0.000 abstract 1
- 238000000844 transformation Methods 0.000 abstract 1
- 238000012545 processing Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000010410 layer Substances 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- UFHFLCQGNIYNRP-UHFFFAOYSA-N Hydrogen Chemical compound [H][H] UFHFLCQGNIYNRP-UHFFFAOYSA-N 0.000 description 1
- 235000006679 Mentha X verticillata Nutrition 0.000 description 1
- 235000002899 Mentha suaveolens Nutrition 0.000 description 1
- 235000001636 Mentha x rotundifolia Nutrition 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 235000012907 honey Nutrition 0.000 description 1
- 229910052739 hydrogen Inorganic materials 0.000 description 1
- 239000001257 hydrogen Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000452 restraining effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
- H04L47/2433—Allocation of priorities to traffic types
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种SDN架构下数据中心网络负载均衡方法,步骤包括:SDN控制器周期性监测整个数据中心网络的状态信息和网络中的链路拓扑,使用图论算法计算出网络所有的可行路径,排除所有不能连通的路径;对数据流按照大象流、老鼠流的标准进行识别;在区分出大象流以后,继续筛选其中对负载通畅最有威胁的超级大象流,筛选后,根据预设通行阈值判断是否转发或暂缓转发;对大象流或超级大象流采用双种族蜂群两次交叉变换计算最优路径,对老鼠流根据设置的优先级函数来选择路径转发。本发明实现了控制与转发的分离,解决了数据中心网络资源不能灵活调度的问题,实现数据中心网络资源的灵活按需分配、最大程度提升数据中心网络资源利用率。
Description
技术领域
本发明涉及数据中心网络流量调度方法,特别涉及一种SDN架构下数据中心网络负载均衡方法。
背景技术
数据中心网络随着互联网与大数据技术的不断发展,网络规模也在不断扩大,但是各种服务需求的大量部署,导致数据中心网络流量迅速膨胀。数据中心网络常见的流量调度方法是使用普通的静态哈希算法随机分配流量,这种方法无法考虑到网络的实时状态,当网络发生局部拥塞时,不能及时地对网络资源进行分配和调度,无法实现链路的有效负载均衡。数据中心网络的树形拓扑结构冗余度不高,也容易导致网络单点失效,无法保障网络性能。而且,树形结构流量负载均衡的难度较大,数据流主要都由核心层交换机转发,这对顶层网络设备提出了过高的要求,成为遏制网络高性能的瓶颈,当网络中的流量规模较大时,很难满足网络对带宽时延等资源的需求,已经无法满足数据中心网络的发展需要。
数据中心网络的流量从数据量大小的角度一般分为大象流和老鼠流。但网络中数量较少的大象流承载了大部分的网络流量,而数量较多的老鼠流仅承载了少量的网络流量。目前很多负载均衡方法都基于流量分类的方法对数据中心网络进行负载均衡,设置静态或动态阈值来识别大象流,但这些方法都只能简单的识别大象流和老鼠流,对于所有体量的大象流都使用同样的方法计算路径转发,但是大象流之间的体量差别很大,将流量非常大的大象流与普通大象流一起转发,会造成网络局部拥塞,负载不均衡等问题。
目前大多数负载均衡方案对于老鼠流都没有过多的重视,一般都使用ECMP(等价多路径)算法进行转发,ECMP算法是一种传统算法,但由于数据中心网络各链路间带宽、时延等开销并不一致,所以各链路上的网路负载也不尽相同,但是ECMP算法无法解决不同链路的拥塞感知与大小流分类等问题,容易将流分散到已经拥塞的链路上,进一步加剧链路的拥塞。
人工蜂群算法是一种模拟蜜蜂采蜜行为提出来的作为一种群智能优化算法,具有可行性好、通用性强、鲁棒性强等特点,全局搜索能力较强。自问世以来,受到广泛关注与研究。但是人工蜂群算法自身也存在一些缺陷,比如局部搜索能力较差、收敛速度较慢、寻优精度不高以及容易陷入局部最优解的情况。
发明内容
发明目的:本发明的目的是针对以上问题,提供一种SDN架构下数据中心网络负载均衡方法,改善数据中心网络传输性能。
技术方案:本发明的数据中心网络负载均衡方法,包括步骤如下:
S1,通过SDN控制器对整个数据中心网络的实时状态信息进行周期性监测;
S2,通过SDN控制器内的链路层发现协议,实现对网络中链路拓扑的全面探测;
S3,根据探测到的链路拓扑,采用图论算法计算出网络所有的可行路径集合Y;
S4,判断数据流要发送的目的主机与SDN交换机是否直接相连:如果目的主机与SDN交换机直连,则直接进行转发;如果目的主机与SDN交换机非直连,则执行步骤S5;
S5,判断该数据流是否是大象流;如该数据流为大象流,进入步骤S6进行筛选超级大象流;如该数据流是老鼠流进入步骤S9;
S6,对大象流进行逐一筛选,设置超级大象流门限值T,并根据步骤S1中检测到的网络链路状态信息对等待检测的大象流进行计算成本∈;
若大象流成本∈大于等于门限值T,则被认为是超级大象流,进入步骤S7;
若大象流成本∈小于门限值T,则被认为是普通大象流,进入步骤S8;
S7,设置通行阈值λ,然后判断全网链路平均带宽剩余率η是否大于通行阈值λ;若η大于等于λ,进入步骤S8进行路径规划;若η小于λ,暂停转发,直到下次SDN控制器计算出全网链路平均带宽剩余率η大于通行阈值λ时,才能进入步骤S8;
S8,在网络所有的可行路径集合Y中,采用双蜂群两次交叉算法为数据流重新规划路径;
S9,对数据流根据优先级函数选择路径转发;
S10,SDN控制器解析步骤S8和步骤S9中计算得到的路径,并将解析出的有效信息封装成流表项下发给交换机。
进一步,步骤S1中,监测的实时状态信息包括链路已用带宽、链路时延和链路数据包。
进一步,步骤S3中,采用图论算法计算出网络所有的可行路径集合Y的具体实现步骤如下:
S31,将整个数据中心网络抽象为一个有向图G,有向图G共包含N个顶点,为数据中心网络中所有的N个交换机节点的集合,用N×N的矩阵A[axy]表示节点的连接情况:axy=1表示在节点x和y之间有一条边相连;axy=0,表示在x和y之间无边相连;
S32,计算可达矩阵D,D=[dxy]表达式如下:
D=I+A+A2+…+AN-1
其中,I为单位矩阵;若dxy=1,则说明节点x、y之间有链路相连;若dxy=0,则说明节点x、y之间不连通;根据可达矩阵D得到网络所有的可行路径集合Y。
进一步,步骤S5中,进行判断该数据流是否是大象流的条件如下:
条件T1,判断数据流中的数据包数量是否大于等于10000或者占网络总数据包数量的1/1000;
条件T2,判断数据流的速度是否大于等于100Mbps或者持续时间大于等于1s;
若同时满足条件T1和条件T2,则认为该数据流为大象流;若不同时满足条件T1和条件T2,则被认为是老鼠流。
进一步,步骤S6中,大象流的计算成本∈表达式如下:
其中,e表示链路,e=1,2,3,…,n,n表示网络中所有链路的数目,Be是该大象流已用带宽,Le是该大象流持续时间,Pe是该大象流数据包数量;是网络中所有链路的平均已用带宽,是网络中所有链路的平均流持续时间,是网络中所有链路的平均数据包数量;α、β、γ为三个加权指数,满足α+β+γ=1。
进一步,步骤S7中,判断全网链路平均带宽剩余率η是否大于通行阈值的具体实现步骤如下:
S71,通过SDN控制器监测出网络各条链路的已用带宽,再将该链路端口带宽的最大值减去当前已用带宽,得到各条链路的剩余带宽Bri;
其中n是网络中所有链路的数目,Br1、Br2、Br3、…、Brn是各条链路的剩余带宽;
其中,Bm1、Bm2、Bm3、…、Bmn是各条链路的最大带宽;
S74,计算全网链路平均带宽剩余率η:
进一步,步骤S8中,采用双蜂群两次交叉算法为数据流重新规划路径的具体实现步骤如下:
S81,初始化参数,然后在可行路径集合Y中随机生成两个种族的蜂群X1和X2各自的初始解,生成公式如下:
Qij=Qmin+(Qmax-Qmin)×R(-1,1)
其中,Qij={Q1,Q2,...,QNd}表示生成的可行解,Nd为解的维度,R(-1,1)为[-1,1]区间内的随机数,Qmax为维度j的上界,Qmin为维度j下界;K为生成可行解的数量,蜂群X1和X2都分别生成了K个可行解;i=1,2,3,...,K;
S82,蜂群X1和X2分别将随机生成的K个可行解分别安排给K个引领蜂并计算其对应可行解Qij的适应度值;
S83,以可行解Qij为中心搜寻新可行解Zij,并且对比可行解Qij、Zij的适应度值,保留适应度值大的可行解;搜索公式如下:
Zij=Qij+(Qij-Qkj)×R(-1,1)
j=1,2,3,...,Nd;k=1,2,3,...,K
其中,Qkj是不同于Qij的可行解,R(-1,1)是[-1,1]区间内的随机数;
S84,蜂群X1和X2各自的跟随蜂收集引领蜂传递的可行解信息,根据可行解的适应度值采用轮盘赌算法对可行解进行随机挑选,轮盘赌算法公式如下:
Fit(Qij)=ω1·Bremain+ω2·Nreciprocal+ω3·Tdelay
其中,Pi是概率,Fit(Qij)为可行解Qij的适应度值;ω1、ω2、ω3为影响因子,ω1+ω2+ω3=1;Bremain是可行解Qij的剩余带宽;Nreciprocal定义为可行解Qij大流数目的倒数,Tdelay定义为可行解Qij的时延;
S85,蜂群X1和X2同时对其各自跟随蜂随机选择后的可行解进行内部自交叉变换计算;
S86,如果某一个解持续多次循环计算都没有发生更新,就会被怀疑陷入了局部最优的局面,此时与此可行解有关的引领蜂将转变成侦查蜂,转入执行步骤S81开始搜索新的可行解;
S87,蜂群X1和X2对步骤S81-步骤S85计算得出的可行解进行外部互交叉变换计算,在对两个蜂群所有的可行解交叉计算完毕后,比较所有可行解的适应度值,保留适应度值最高的可行解作为最优解。
进一步,步骤S85中,蜂群X1和X2同时对其各自跟随蜂随机选择后的可行解进行内部自交叉变换计算的具体步骤如下:
S851,蜂群X1和X2在各自可行解中随机选择两个可行解,若两个可行解除了首尾节点外有超过一个的相同节点,则随机选择一个相同的节点执行交叉操作;
S852,对交叉后形成的新可行解进行节点是否重复的判断,若新可行解里无重复节点则保留,依次类推对跟随蜂随机选择后的所有可行解进行交叉变换;
S853,全部交叉完毕后,将交叉变换之前的可行解和之后的可行解进行对比,并保留适应度值较高者。
进一步,步骤S9中,采用优先级函数确定转发路径的具体步骤如下:
S91,对网络链路时延和丢包率进行归一化处理:
Tdelay为链路时延,Nloss为丢包率,minTdelay、maxTdelay为理论上的时延最小值、最大值;minNloss、maxNloss为理论上的丢包率最小值和最大值;
S92,根据优先级函数确定数据流的转发路径,路径的优先级函数如下:
PRI=χ1Tdelay #+χ2Nloss #
其中,PRI为路径的优先级函数;χ1、χ2为加权因子,χ1+χ2=1。
本发明与现有技术相比,其显著效果如下:
1、本发明使用SDN(SoftwareDefined Network,软件定义网络)控制器实时监测记录整个网络状态,并对资源统一分配和管理。SDN架构实现了控制与转发的分离,有效解决了数据中心网络资源不能灵活调度的问题,通过部署统一的SDN控制器收集各链路之间的流量需求与拥塞情况,实现数据中心网络资源的灵活按需分配、最大程度提升数据中心网络资源利用率,实现均衡负载;
2、本发明引入图论算法计算出网络所有的可行路径,排除了所有不能连通的路径,为控制器减轻了计算负担,减少了路径计算时间,加快数据流转发,提高了控制器工作效率;
3、本发明先按照识别标准区分大象流和老鼠流,再对大象流进行逐一筛选,筛选出总数据量巨大、持续时间过长的超级大象流,对超级大象流进行针对性的处理,大幅减小网络负载压力,有效减少了链路因为流量过大而导致的拥塞,更有针对性的解决网络负载问题;
4、本发明对老鼠流使用优先级函数计算转发路径,避免了常规方法使用ECMP算法可能加剧路径的拥塞问题,老鼠流根据路径的优先级选择转发,提高了链路利用率,加快了流转发速度;
5、本发明对传统的人工蜂群算法进行改进,初始化生成双种族蜂群,有效的扩大了可行解的搜索范围,提高了最终结果的可靠性,并先后进行种群内自交叉变换和种群间互交叉变换,进一步增加了搜索最优解的精度和准确度,更加提高了全局最优解的可靠性,解决了普通人工蜂群算法容易陷入局部最优解的问题,提高了算法性能;本发明提出的基于此人工蜂群算法的负载均衡方法改善了传统数据中心网络在流量调度方面存在的网络不稳以及链路堵塞的问题,实现了网络负载的动态调节,缓解网络拥塞,最终实现数据中心网络的负载均衡。
附图说明
图1为本发明的网络模型图;
图2为本发明的基于SDN的数据中心网络负载均衡总流程图;
图3为本发明的双蜂群两次交叉变换算法流程图。
具体实施方式
下面结合说明书附图和具体实施方式对本发明做进一步详细描述。网络模型如图1所示,模型由SDN控制器和Fat-tree结构数据中心网络构成,SDN控制器与数据中心网络相连,负责数据中心网络拓扑发现、流量检测、路径计算等功能。
如图2所示,本发明的实现步骤如下:
步骤1,对整个数据中心网络的状态信息进行周期性监测,通过SDN控制器实时监测例如带宽、时延、数据包等实时状态信息,来为后续算法服务。
链路已用带宽的监测:先设定一个固定的时间间隔,然后通过SDN控制器中自带的OpenFlow协议对网络中各个交换设备的端口进行监测和信息的汇总,其中包括这个时间间隔内通过端口的字节数,将这个时间间隔内监测到的字节数除以时间间隔,就能得到此时链路的已用带宽。
链路时延的监测:SDN控制器会发送Packet-Out消息,命令交换机S1发送数据流至交换机S2,但交换机S2没有能够处理该数据流的流表项,就会向SDN控制器发送Packet-In消息进行回复;SDN控制器根据发送时间和接收时间,便可计算得到消息的往返总时间T1(消息的往返路径为:由SDN控制器发送至交换机S1,再至交换机S2,最后又从交换机S2返回至SDN控制器)SDN控制器再分别向S1与S2发送echo request消息,交换机S1和S2再分别发送echo reply消息至SDN控制器,SDN控制器根据发送时间和接收时间的时间差得到SDN控制器到交换机S1和S2的各自时间T2、T3,则交换机S1与S2间的链路时延TL-delay的计算表达式如下:
链路数据包的监测:和链路带宽监测类似,数据包的监测也需要对设备端口的流量信息进行统计。设定一个适当的时间间隔,然后使用OpenFlow协议对链路中交换设备的端口进行监测,交换机便会周期性地将端口信息回复给SDN控制器。随后SDN控制器会对这些流量信息进行统计,得到其中包含的端口发送和接收数据包数量信息。
步骤2,通过SDN控制器内的链路层发现协议(LLDP,Link Layer DiscoveryProtocol)实现对网络中链路拓扑的全面探测。
步骤3,根据步骤2中探测到的网络中链路拓扑,使用图论算法计算出网络所有的可行路径集合Y。具体步骤如下:
步骤31,根据步骤2中探测到的网络中链路拓扑,将整个数据中心网络抽象为一个有向图G,有向图G共包含N个顶点,为数据中心网络中所有的N个交换机节点的集合,用N×N的矩阵A=[axy]表示节点的连接情况:axy=1表示在节点x和y之间有一条边相连;axy=0,表示在x和y之间无边相连;
S32,计算可达矩阵D,D=[dxy]表达式如下:
D=I+A+A2+…+AN-1
(2)
其中,I为单位矩阵;若dxy=1,则说明节点x、y之间有链路相连;若dxy=0,则说明节点x、y之间不连通;根据可达矩阵D得到网络所有的可行路径集合Y。
步骤4,SDN交换机接收数据流,先进行判断数据流要发送的目的主机与SDN交换机是否直接相连,如果目的主机与SDN交换机直连,则直接进行转发,不需要其他复杂操作;如果目的主机与SDN交换机非直连,则执行步骤5。
步骤5,进行判断该数据流是否是大象流,判断方法如下:
条件1,判断数据流中的数据包数量是否大于等于10000或者占网络总数据包数量的1/1000;
条件2,判断数据流的速度是否大于等于100Mbps或者持续时间大于等于1s。
若同时满足条件1和条件2,则认为该数据流为大象流,然后进入步骤6进行筛选超级大象流;
若不同时满足条件1和条件2,则被认为是老鼠流进入步骤9,根据优先级函数选择路径转发
步骤6,将步骤5中判定的大象流进行逐一筛选,筛选出总数据量巨大、持续时间过长的超级大象流,对超级大象流进行针对性的路径选择转发,大幅减小网络负载压力。
步骤61,设置超级大象流门限值T,T可以根据实际应用需求调整。并根据步骤1中检测到的网络链路状态信息对等待检测的大象流进行计算成本∈:
其中e表示链路,i=1,2,3,…,n;n表示网络中所有链路的数目,Be是该大象流已用带宽,Le是该大象流持续时间,Pe是该大象流数据包数量;是网络中所有链路的平均已用带宽,是网络中所有链路的平均流持续时间,是网络中所有链路的平均数据包数量;其中α、β、γ为三个加权指数,需要满足α+β+γ=1。不同需求的业务对加权指数的定值也不一样,可根据实际业务做不同调整。
步骤62,将求出的大象流成本∈和设置的超级大象流门限值T做比较,若大于等于门限值T,则被认为是超级大象流,进入步骤7;若小于门限值T,则被认为是普通大象流,进入步骤8。
步骤7,设置通行阈值λ,(λ值可根据网络业务需求调整设置)然后判断全网链路平均带宽剩余率η是否大于通行阈值。具体步骤如下。
步骤71,通过SDN控制器监测出网络各条链路的已用带宽,再将该链路端口带宽的最大值减去当前已用带宽,即得到各条链路的剩余带宽Bri。
其中n是网络中所有链路的数目,Br1、Br2、Br3、…、Brn是各条链路的剩余带宽;
其中,Bm1、Bm2、Bm3、…Bmn是各条链路的最大带宽。
步骤74,计算全网链路平均带宽剩余率η:
然后将全网链路平均带宽剩余率η与通行阈值λ相比较,若η大于等于λ,说明全网整体链路负载情况良好,进入步骤8进行路径规划。若η小于λ,说明链路负载情况较差,超级大象流不能立刻转发,否则会造成网络拥塞,需暂停转发,直到下次SDN控制器计算出全网链路平均带宽剩余率η大于等于通行阈值λ时,才可以进入步骤8。
步骤8,在步骤3计算出的网络所有的可行路径集合Y中,采用双蜂群两次交叉算法为数据流重新规划路径,具体流程如图3所示;具体过程如下:
步骤81,初始化可行性解总数、需要迭代次数、可行解更新限制次数等参数,然后在可行路径集合Y中随机生成两个种族的蜂群X1和X2各自的初始解,生成公式如下:
Qij=Qmin+(Qmax-Qmin)×R(-1,1) (10)
式中,Qij={Q1,Q2,...,QNd}表示生成的可行解,Nd是解的维度,R(-1,1)是[-1,1]区间内的随机数,Qmax是维度j的上界,Qmin为维度j下界,K是生成可行解的数量,蜂群X1和X2都分别生成了K个可行解;
j=1,2,3...,Nd;i=1,2,3,...,K。
步骤82,蜂群X1和X2分别将上述随机生成的K个可行解分别安排给K个引领蜂并计算其对应可行解Qij的适应度值。适应度函数Fit(Qij)的值越大,对应的路径越应该被选择。适用度函数Fit(Qij)如下:
Fit(Qij)=ω1·Bremain+ω2·Nreciprocal+ω3·Tdelay (11)
其中ω1、ω2、ω3是影响因子,ω1+ω2+ω3=1,本发明将(ω1、ω2、ω3)设定为(0.35,0.35,0.3)。Bremain是可行解Qij的剩余带宽,Nreciprocal定义为可行解Qij大流数目的倒数,Tdelay定义为可行解Qij的时延。
步骤83,然后以Qij为中心搜寻新可行解Zij,并且对比新旧可行解的适应度值,保留适应度值大的可行解,搜索公式如下:
Zij=Qij+(Qij-Qkj)×R(-1,1)
j=1,2,3,...,Nd;k=1,2,3,...,K (12)
式中,Qkj是不同于Qij的可行解,R(-1,1)是[-1,1]区间内的随机数。
步骤84,蜂群X1和X2各自的跟随蜂收集引领蜂传递的可行解信息,根据可行解的适应度值采用轮盘赌算法对可行解进行随机挑选,轮盘赌算法公式如下:
其中Pi是概率,Fit(Qij)为可行解Qij的适应度值。
跟随蜂随机选择好可行解后,用步骤83中的公式和方法继续在这个可行解附近搜寻其他可行解,若找到其他可行解,比较新旧可行解,并保留适应度值较高者。
步骤85,蜂群X1和X2同时对其各自跟随蜂随机选择后的可行解进行内部自交叉变换计算,具体步骤如下:蜂群X1和X2在各自可行解中随机选择两个可行解,若两个可行解除了首尾节点外有超过一个的相同节点,则随机选择一个相同的节点执行交叉操作,例如“S1→S3→S4→S5→S6→S8”和“S1→S2→S5→S7→S8”两个可行解进行交叉操作,以共同节点S5为交叉节点将两个可行解交叉互换,产生新的两个可行解“S1→S3→S4→S5→S7→S8”和“S1→S2→S5→S6→S8”。对交叉后形成的新可行解还要进行节点是否重复的判断,以便排除有环路的可行解,若新可行解里无重复节点则保留,依次类推对跟随蜂随机选择后的所有可行解进行交叉变换。全部交叉完毕后,将交叉变换之前的可行解和之后的可行解进行对比,并保留适应度值较高者。
步骤86,在上述搜寻最优解的过程中,如果某一个解持续多次循环计算都没有发生更新,就会被怀疑陷入了局部最优的局面,此时与此可行解有关的引领蜂将转变成侦查蜂,使用步骤81中的方法和公式开始搜索新的可行解。
步骤87,蜂群X1和X2对步骤81-步骤85计算得出的可行解进行外部互交叉变换计算,即蜂群X1随机选出一个可行解去和蜂群X2随机选出的一个可行解进行交叉变换,二者使用步骤85中的交叉变换方式生成两个新可行解,在对两个蜂群所有的可行解交叉计算完毕后,比较所有可行解的适应度值,保留适应度值最高的可行解作为最优解,然后结束。
步骤9,对于步骤5中被判定不是大象流的数据流使用优先级函数确定转发路径。具体步骤如下:
步骤91,对网络链路时延和丢包率进行归一化处理来统一单位数量级。
式中,Tdelay为链路时延,Nloss为丢包率,mnTdelay、maxTdelay为理论上的时延最小值和最大值,minNloss、maxNloss为理论上的丢包率最小值和最大值。丢包率由SDN控制器进行计算,SDN控制器对交换设备端口的流量信息进行统计,将端口发送包数目减去接收包数量,再除以发送包数量,就是链路的丢包率。
步骤92,根据优先级函数确定数据流的转发路径,因为小流对于时延有着较高的要求,所以优先级函数如下所示:
PRI=χ1Tdelay #+χ2Nloss # (16)
PRI为路径的优先级函数,χ1、χ2为加权因子χ1+χ2=1;Tdelay #越高,路径传输越快,Nloss #越高,路径质量越好,PRI的值越大,路径优先级越高。然后将数据流根据优先级函数选择优先级高的路径进行转发。
步骤10,SDN控制器解析步骤8和步骤9中计算得到的路径,并将解析出的有效信息封装成流表项下发给交换机,交换机根据这些信息对数据流进行处理。
Claims (8)
1.一种SDN架构下数据中心网络负载均衡方法,其特征在于,包括步骤如下:
S1,通过SDN控制器对整个数据中心网络的实时状态信息进行周期性监测;
S2,通过SDN控制器内的链路层发现协议,实现对网络中链路拓扑的全面探测;
S3,根据探测到的链路拓扑,采用图论算法计算出网络所有的可行路径集合Y;
S4,判断数据流要发送的目的主机与SDN交换机是否直接相连:如果目的主机与SDN交换机直连,则直接进行转发;如果目的主机与SDN交换机非直连,则执行步骤S5;
S5,判断该数据流是否是大象流;如该数据流为大象流,进入步骤S6进行筛选超级大象流;如该数据流是老鼠流进入步骤S9;
S7,设置通行阈值,然后判断全网链路平均带宽剩余率是否大于通行阈值;若大于等于,进入步骤S8进行路径规划;若小于,暂停转发,直到下次SDN控制器计
算出全网链路平均带宽剩余率大于通行阈值时,才能进入步骤S8;
S8,在网络所有的可行路径集合Y中,采用双蜂群两次交叉算法为数据流重新规划路径,具体实现步骤如下:
S86,如果某一个解持续多次循环计算都没有发生更新,就会被怀疑陷入了局部最优的局面,此时与此可行解有关的引领蜂将转变成侦查蜂,转入执行步骤S81开始搜索新的可行解;
S9,对老鼠流根据优先级函数选择路径转发;
S10,SDN控制器解析步骤S8和步骤S9中计算得到的路径,并将解析出的有效信息封装成流表项下发给交换机。
2.根据权利要求1所述的SDN架构下数据中心网络负载均衡方法,其特征在于,步骤S1中,监测的实时状态信息包括链路已用带宽、链路时延和链路数据包。
4.根据权利要求1所述的SDN架构下数据中心网络负载均衡方法,其特征在于,步骤S5中,进行判断该数据流是否是大象流的条件如下:
条件T1,判断数据流中的数据包数量是否大于等于10000或者占网络总数据包数量的1/1000;
条件T2,判断数据流的速度是否大于等于100Mbps或者持续时间大于等于1s;
若同时满足条件T1和条件T2,则认为该数据流为大象流;若不同时满足条件T1和条件T2,则被认为是老鼠流。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211179144.9A CN115277574B (zh) | 2022-09-27 | 2022-09-27 | 一种sdn架构下数据中心网络负载均衡方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211179144.9A CN115277574B (zh) | 2022-09-27 | 2022-09-27 | 一种sdn架构下数据中心网络负载均衡方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115277574A CN115277574A (zh) | 2022-11-01 |
CN115277574B true CN115277574B (zh) | 2023-02-03 |
Family
ID=83757324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211179144.9A Active CN115277574B (zh) | 2022-09-27 | 2022-09-27 | 一种sdn架构下数据中心网络负载均衡方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115277574B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116232997B (zh) * | 2023-02-10 | 2024-04-09 | 中国联合网络通信集团有限公司 | 数据转发方法、装置及存储介质 |
CN117294643B (zh) * | 2023-11-24 | 2024-03-12 | 南京邮电大学 | 一种基于SDN架构的网络QoS保障路由方法 |
CN118118439B (zh) * | 2024-04-23 | 2024-07-09 | 南京信息工程大学 | 一种基于链路分类的非均匀带宽分配方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106533960A (zh) * | 2016-12-23 | 2017-03-22 | 重庆邮电大学 | 一种基于Fat‑Tree结构的数据中心网络路由方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019135249A1 (en) * | 2018-01-05 | 2019-07-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Data center failure management in an sdn deployment using border gateway node control |
CN110765595B (zh) * | 2019-10-10 | 2022-12-09 | 内蒙古农业大学 | 基于多层虚拟拓扑节能的sdn数据中心网络流量调度方法 |
CN110932989B (zh) * | 2019-11-20 | 2021-09-21 | 华南理工大学 | 一种基于sdn数据中心网络的大象流路径监控调度方法 |
-
2022
- 2022-09-27 CN CN202211179144.9A patent/CN115277574B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106533960A (zh) * | 2016-12-23 | 2017-03-22 | 重庆邮电大学 | 一种基于Fat‑Tree结构的数据中心网络路由方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115277574A (zh) | 2022-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115277574B (zh) | 一种sdn架构下数据中心网络负载均衡方法 | |
CN109818865B (zh) | 一种sdn增强路径装箱装置及方法 | |
CN108259367B (zh) | 一种基于软件定义网络的服务感知的流策略定制方法 | |
CN105227481B (zh) | 基于路径开销和流调度代价最小化的sdn拥塞控制路由方法 | |
CN108600102B (zh) | 一种基于智慧协同网络的柔性数据传输系统 | |
CN109547340B (zh) | 基于重路由的sdn数据中心网络拥塞控制方法 | |
CN104158753B (zh) | 基于软件定义网络的动态流调度方法及系统 | |
CN106209669B (zh) | 面向sdn数据中心网络最大概率路径流调度方法及装置 | |
CN105791151B (zh) | 一种动态流量控制方法,及装置 | |
CN107579922B (zh) | 网络负载均衡装置和方法 | |
CN109688056B (zh) | 智能网络控制系统及方法 | |
CN108289064A (zh) | 一种数据中心网中混合式负载均衡方法 | |
CN103825838B (zh) | 一种数据中心去带宽碎片化流调度方法 | |
CN112350949B (zh) | 软件定义网络中基于流调度的重路由拥塞控制方法及系统 | |
CN105721577A (zh) | 一种面向软件定义网络的服务器负载均衡方法 | |
CN114285758A (zh) | 基于opnet的通信网络优化仿真系统、方法和装置 | |
CN108880888A (zh) | 一种基于深度学习的sdn网络流量预测方法 | |
CN114884895A (zh) | 一种基于深度强化学习的智能流量调度方法 | |
CN104219319A (zh) | 一种分布式网络流量自组织调度方法 | |
CN115378876A (zh) | 一种sdn环境下数据中心网络负载均衡方法 | |
CN107018018A (zh) | 一种基于sdn的服务器增量在线升级方法及系统 | |
CN114938374A (zh) | 跨协议负载均衡方法及系统 | |
CN112995036A (zh) | 网络流量的调度方法及装置 | |
CN104468403A (zh) | 一种基于nacc对数据包进行网络流分类的sdn控制器 | |
CN114448899A (zh) | 一种均衡数据中心网络负载的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |