CN115277574B - 一种sdn架构下数据中心网络负载均衡方法 - Google Patents

一种sdn架构下数据中心网络负载均衡方法 Download PDF

Info

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
Application number
CN202211179144.9A
Other languages
English (en)
Other versions
CN115277574A (zh
Inventor
郭永安
王禹博
田丰
佘昊
钱琪杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing University of Posts and Telecommunications
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing University of Posts and Telecommunications filed Critical Nanjing University of Posts and Telecommunications
Priority to CN202211179144.9A priority Critical patent/CN115277574B/zh
Publication of CN115277574A publication Critical patent/CN115277574A/zh
Application granted granted Critical
Publication of CN115277574B publication Critical patent/CN115277574B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • H04L47/2433Allocation of priorities to traffic types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Reducing 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架构下数据中心网络负载均衡方法
技术领域
本发明涉及数据中心网络流量调度方法,特别涉及一种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中,大象流的计算成本∈表达式如下:
Figure GDA0003971815310000031
Figure GDA0003971815310000032
Figure GDA0003971815310000033
Figure GDA0003971815310000034
其中,e表示链路,e=1,2,3,…,n,n表示网络中所有链路的数目,Be是该大象流已用带宽,Le是该大象流持续时间,Pe是该大象流数据包数量;
Figure GDA0003971815310000035
是网络中所有链路的平均已用带宽,
Figure GDA0003971815310000036
是网络中所有链路的平均流持续时间,
Figure GDA0003971815310000037
是网络中所有链路的平均数据包数量;α、β、γ为三个加权指数,满足α+β+γ=1。
进一步,步骤S7中,判断全网链路平均带宽剩余率η是否大于通行阈值的具体实现步骤如下:
S71,通过SDN控制器监测出网络各条链路的已用带宽,再将该链路端口带宽的最大值减去当前已用带宽,得到各条链路的剩余带宽Bri
S72,计算网络中所有链路的平均剩余带宽
Figure GDA0003971815310000041
Figure GDA0003971815310000042
其中n是网络中所有链路的数目,Br1、Br2、Br3、…、Brn是各条链路的剩余带宽;
S73,计算网络中所有链路的平均最大带宽
Figure GDA0003971815310000043
Figure GDA0003971815310000044
其中,Bm1、Bm2、Bm3、…、Bmn是各条链路的最大带宽;
S74,计算全网链路平均带宽剩余率η:
Figure GDA0003971815310000045
进一步,步骤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各自的跟随蜂收集引领蜂传递的可行解信息,根据可行解的适应度值采用轮盘赌算法对可行解进行随机挑选,轮盘赌算法公式如下:
Figure GDA0003971815310000051
Fit(Qij)=ω1·Bremain2·Nreciprocal3·Tdelay
其中,Pi是概率,Fit(Qij)为可行解Qij的适应度值;ω1、ω2、ω3为影响因子,ω123=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,对网络链路时延和丢包率进行归一化处理:
Figure GDA0003971815310000061
Figure GDA0003971815310000062
Tdelay为链路时延,Nloss为丢包率,minTdelay、maxTdelay为理论上的时延最小值、最大值;minNloss、maxNloss为理论上的丢包率最小值和最大值;
S92,根据优先级函数确定数据流的转发路径,路径的优先级函数如下:
PRI=χ1Tdelay #2Nloss #
其中,PRI为路径的优先级函数;χ1、χ2为加权因子,χ12=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的计算表达式如下:
Figure GDA0003971815310000081
链路数据包的监测:和链路带宽监测类似,数据包的监测也需要对设备端口的流量信息进行统计。设定一个适当的时间间隔,然后使用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中检测到的网络链路状态信息对等待检测的大象流进行计算成本∈:
Figure GDA0003971815310000091
Figure GDA0003971815310000092
Figure GDA0003971815310000093
Figure GDA0003971815310000094
其中e表示链路,i=1,2,3,…,n;n表示网络中所有链路的数目,Be是该大象流已用带宽,Le是该大象流持续时间,Pe是该大象流数据包数量;
Figure GDA0003971815310000095
是网络中所有链路的平均已用带宽,
Figure GDA0003971815310000096
是网络中所有链路的平均流持续时间,
Figure GDA0003971815310000097
是网络中所有链路的平均数据包数量;其中α、β、γ为三个加权指数,需要满足α+β+γ=1。不同需求的业务对加权指数的定值也不一样,可根据实际业务做不同调整。
步骤62,将求出的大象流成本∈和设置的超级大象流门限值T做比较,若大于等于门限值T,则被认为是超级大象流,进入步骤7;若小于门限值T,则被认为是普通大象流,进入步骤8。
步骤7,设置通行阈值λ,(λ值可根据网络业务需求调整设置)然后判断全网链路平均带宽剩余率η是否大于通行阈值。具体步骤如下。
步骤71,通过SDN控制器监测出网络各条链路的已用带宽,再将该链路端口带宽的最大值减去当前已用带宽,即得到各条链路的剩余带宽Bri
步骤72,计算网络中所有链路的平均剩余带宽
Figure GDA0003971815310000101
Figure GDA0003971815310000102
其中n是网络中所有链路的数目,Br1、Br2、Br3、…、Brn是各条链路的剩余带宽;
S73,计算网络中所有链路的平均最大带宽
Figure GDA0003971815310000103
Figure GDA0003971815310000104
其中,Bm1、Bm2、Bm3、…Bmn是各条链路的最大带宽。
步骤74,计算全网链路平均带宽剩余率η:
Figure GDA0003971815310000105
然后将全网链路平均带宽剩余率η与通行阈值λ相比较,若η大于等于λ,说明全网整体链路负载情况良好,进入步骤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·Bremain2·Nreciprocal3·Tdelay (11)
其中ω1、ω2、ω3是影响因子,ω123=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各自的跟随蜂收集引领蜂传递的可行解信息,根据可行解的适应度值采用轮盘赌算法对可行解进行随机挑选,轮盘赌算法公式如下:
Figure GDA0003971815310000111
其中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,对网络链路时延和丢包率进行归一化处理来统一单位数量级。
Figure GDA0003971815310000121
Figure GDA0003971815310000122
式中,Tdelay为链路时延,Nloss为丢包率,mnTdelay、maxTdelay为理论上的时延最小值和最大值,minNloss、maxNloss为理论上的丢包率最小值和最大值。丢包率由SDN控制器进行计算,SDN控制器对交换设备端口的流量信息进行统计,将端口发送包数目减去接收包数量,再除以发送包数量,就是链路的丢包率。
步骤92,根据优先级函数确定数据流的转发路径,因为小流对于时延有着较高的要求,所以优先级函数如下所示:
PRI=χ1Tdelay #2Nloss # (16)
PRI为路径的优先级函数,χ1、χ2为加权因子χ12=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;
S6,对大象流进行逐一筛选,设置超级大象流门限值T,并根据步骤S1中检测到的网络 链路状态信息对等待检测的大象流进行计算成本
Figure DEST_PATH_IMAGE001
若大象流成本
Figure 169742DEST_PATH_IMAGE001
大于等于门限值T,则被认为是超级大象流,进入步骤S7;
若大象流成本
Figure 375596DEST_PATH_IMAGE001
小于门限值T,则被认为是普通大象流,进入步骤S8;
S7,设置通行阈值
Figure 492456DEST_PATH_IMAGE002
,然后判断全网链路平均带宽剩余率
Figure DEST_PATH_IMAGE003
是否大于通行阈值
Figure 125563DEST_PATH_IMAGE002
;若
Figure 960664DEST_PATH_IMAGE003
大于等于
Figure 704629DEST_PATH_IMAGE002
,进入步骤S8进行路径规划;若
Figure 941575DEST_PATH_IMAGE003
小于
Figure 745583DEST_PATH_IMAGE002
,暂停转发,直到下次SDN控制器计 算出全网链路平均带宽剩余率
Figure 333559DEST_PATH_IMAGE003
大于通行阈值
Figure 881215DEST_PATH_IMAGE002
时,才能进入步骤S8;
S8,在网络所有的可行路径集合Y中,采用双蜂群两次交叉算法为数据流重新规划路径,具体实现步骤如下:
S81,初始化参数,然后在可行路径集合Y中随机生成两个种族的蜂群
Figure 972668DEST_PATH_IMAGE004
Figure DEST_PATH_IMAGE005
各自的 初始解,生成公式如下:
Figure 806632DEST_PATH_IMAGE006
其中,
Figure DEST_PATH_IMAGE007
表示生成的可行解,
Figure 288429DEST_PATH_IMAGE008
为解的维度,
Figure DEST_PATH_IMAGE009
为[-1,1]区间内的随机数,
Figure 233251DEST_PATH_IMAGE010
为维度j的上界,
Figure DEST_PATH_IMAGE011
为维度j下界;K为 生成可行解的数量,蜂群
Figure 913631DEST_PATH_IMAGE012
Figure DEST_PATH_IMAGE013
都分别生成了K个可行解;
Figure 918496DEST_PATH_IMAGE014
S82,蜂群
Figure 825272DEST_PATH_IMAGE012
Figure 839365DEST_PATH_IMAGE013
分别将随机生成的K个可行解分别安排给K个引领蜂并计算其对应 可行解
Figure DEST_PATH_IMAGE015
的适应度值;
S83,以可行解
Figure 374251DEST_PATH_IMAGE015
为中心搜寻新可行解
Figure 956542DEST_PATH_IMAGE016
,并且对比可行解
Figure 475248DEST_PATH_IMAGE015
Figure 168398DEST_PATH_IMAGE016
的适应度 值,保留适应度值大的可行解;搜索公式如下:
Figure DEST_PATH_IMAGE017
其中,
Figure 557791DEST_PATH_IMAGE018
是不同于
Figure 435617DEST_PATH_IMAGE015
的可行解,
Figure DEST_PATH_IMAGE019
是[-1,1]区间内的随机数;
S84,蜂群
Figure 910461DEST_PATH_IMAGE020
Figure DEST_PATH_IMAGE021
各自的跟随蜂收集引领蜂传递的可行解信息,根据可行解的适应 度值采用轮盘赌算法对可行解进行随机挑选,轮盘赌算法公式如下:
Figure 141722DEST_PATH_IMAGE022
Figure DEST_PATH_IMAGE023
其中,
Figure 385621DEST_PATH_IMAGE024
是概率,
Figure DEST_PATH_IMAGE025
为可行解
Figure 637611DEST_PATH_IMAGE015
的适应度值;
Figure 130910DEST_PATH_IMAGE026
为影响因子,
Figure DEST_PATH_IMAGE027
Figure 24916DEST_PATH_IMAGE028
定义为可行解
Figure 795426DEST_PATH_IMAGE015
大流数目的倒数,
Figure DEST_PATH_IMAGE029
定义为 可行解
Figure 218317DEST_PATH_IMAGE030
的时延;
Figure DEST_PATH_IMAGE031
是可行解
Figure 933332DEST_PATH_IMAGE032
的剩余带宽;
S85,蜂群
Figure DEST_PATH_IMAGE033
Figure 365451DEST_PATH_IMAGE034
同时对其各自跟随蜂随机选择后的可行解进行内部自交叉变换计 算;
S86,如果某一个解持续多次循环计算都没有发生更新,就会被怀疑陷入了局部最优的局面,此时与此可行解有关的引领蜂将转变成侦查蜂,转入执行步骤S81开始搜索新的可行解;
S87,蜂群
Figure 583942DEST_PATH_IMAGE033
Figure 849839DEST_PATH_IMAGE034
对步骤S81-步骤S85计算得出的可行解进行外部互交叉变换计算, 在对两个蜂群所有的可行解交叉计算完毕后,比较所有可行解的适应度值,保留适应度值 最高的可行解作为最优解;
S9,对老鼠流根据优先级函数选择路径转发;
S10,SDN控制器解析步骤S8和步骤S9中计算得到的路径,并将解析出的有效信息封装成流表项下发给交换机。
2.根据权利要求1所述的SDN架构下数据中心网络负载均衡方法,其特征在于,步骤S1中,监测的实时状态信息包括链路已用带宽、链路时延和链路数据包。
3.根据权利要求1所述的SDN架构下数据中心网络负载均衡方法,其特征在于,步骤S3中,采用图论算法计算出网络所有的可行路径集合Y的具体实现步骤如下:
S31,将整个数据中心网络抽象为一个有向图G,有向图G共包含N个顶点,为数据中心网 络中所有的N个交换机节点的集合,用N×N的矩阵
Figure DEST_PATH_IMAGE035
表示节点的连接情况:
Figure 255412DEST_PATH_IMAGE036
表示在节点x和y之间有一条边相连;
Figure DEST_PATH_IMAGE037
表示在x和y之间无边相连;
S32,计算可达矩阵D,
Figure 756801DEST_PATH_IMAGE038
表达式如下:
Figure DEST_PATH_IMAGE039
其中,I为单位矩阵;若
Figure 829799DEST_PATH_IMAGE040
,则说明节点x、y之间有链路相连;若
Figure DEST_PATH_IMAGE041
,则说 明节点x、y之间不连通;根据可达矩阵D得到网络所有的可行路径集合Y。
4.根据权利要求1所述的SDN架构下数据中心网络负载均衡方法,其特征在于,步骤S5中,进行判断该数据流是否是大象流的条件如下:
条件T1,判断数据流中的数据包数量是否大于等于10000或者占网络总数据包数量的1/1000;
条件T2,判断数据流的速度是否大于等于100Mbps或者持续时间大于等于1s;
若同时满足条件T1和条件T2,则认为该数据流为大象流;若不同时满足条件T1和条件T2,则被认为是老鼠流。
5.根据权利要求1所述的SDN架构下数据中心网络负载均衡方法,其特征在于,步骤S6 中,大象流的计算成本
Figure 860072DEST_PATH_IMAGE042
表达式如下:
Figure DEST_PATH_IMAGE043
其中,e表示链路,e=1,2,3,…,n,n表示网络中所有链路的数目,
Figure 18521DEST_PATH_IMAGE044
是该大象流已用 带宽,
Figure DEST_PATH_IMAGE045
是该大象流持续时间,
Figure 58021DEST_PATH_IMAGE046
是该大象流数据包数量;
Figure DEST_PATH_IMAGE047
是网络中所有链路的 平均已用带宽,
Figure 985526DEST_PATH_IMAGE048
是网络中所有链路的平均流持续时间,
Figure DEST_PATH_IMAGE049
是网络中所有链路的平 均数据包数量;
Figure 186700DEST_PATH_IMAGE050
为三个加权指数,满足
Figure DEST_PATH_IMAGE051
6.根据权利要求1所述的SDN架构下数据中心网络负载均衡方法,其特征在于,步骤S7 中,判断全网链路平均带宽剩余率
Figure 98024DEST_PATH_IMAGE052
是否大于通行阈值的具体实现步骤如下:
S71,通过SDN控制器监测出网络各条链路的已用带宽,再将该链路端口带宽的最大值 减去当前已用带宽,得到各条链路的剩余带宽
Figure DEST_PATH_IMAGE053
S72,计算网络中所有链路的平均剩余带宽
Figure 144477DEST_PATH_IMAGE054
Figure DEST_PATH_IMAGE055
其中n是网络中所有链路的数目,
Figure 457647DEST_PATH_IMAGE056
是各条链路的剩余带 宽;
S73,计算网络中所有链路的平均最大带宽
Figure DEST_PATH_IMAGE057
Figure 829723DEST_PATH_IMAGE058
其中,
Figure 369288DEST_PATH_IMAGE059
是各条链路的最大带宽;
S74,计算全网链路平均带宽剩余率
Figure DEST_PATH_IMAGE060
Figure 750591DEST_PATH_IMAGE061
7.根据权利要求1所述的SDN架构下数据中心网络负载均衡方法,其特征在于,步骤S85 中,蜂群
Figure 59213DEST_PATH_IMAGE033
Figure 133348DEST_PATH_IMAGE034
同时对其各自跟随蜂随机选择后的可行解进行内部自交叉变换计算的 具体步骤如下:
S851,蜂群
Figure 894630DEST_PATH_IMAGE033
Figure 610783DEST_PATH_IMAGE034
在各自可行解中随机选择两个可行解,若两个可行解除了首尾节 点外有超过一个的相同节点,则随机选择一个相同的节点执行交叉操作;
S852,对交叉后形成的新可行解进行节点是否重复的判断,若新可行解里无重复节点则保留,依次类推对跟随蜂随机选择后的所有可行解进行交叉变换;
S853,全部交叉完毕后,将交叉变换之前的可行解和之后的可行解进行对比,并保留适应度值较高者。
8.根据权利要求1所述的SDN架构下数据中心网络负载均衡方法,其特征在于,步骤S9中,采用优先级函数确定转发路径的具体步骤如下:
S91,对网络链路时延和丢包率进行归一化处理:
Figure DEST_PATH_IMAGE062
Figure 836228DEST_PATH_IMAGE063
为链路时延,
Figure DEST_PATH_IMAGE064
为丢包率,
Figure 815685DEST_PATH_IMAGE065
为理论上的时延最小 值、最大值;
Figure DEST_PATH_IMAGE066
为理论上的丢包率最小值、最大值;
S92,根据优先级函数确定数据流的转发路径,路径的优先级函数如下:
Figure 923318DEST_PATH_IMAGE067
其中,
Figure DEST_PATH_IMAGE068
为路径的优先级函数;
Figure 646424DEST_PATH_IMAGE069
为加权因子,
Figure DEST_PATH_IMAGE070
CN202211179144.9A 2022-09-27 2022-09-27 一种sdn架构下数据中心网络负载均衡方法 Active CN115277574B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106533960A (zh) * 2016-12-23 2017-03-22 重庆邮电大学 一种基于Fat‑Tree结构的数据中心网络路由方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
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数据中心网络的大象流路径监控调度方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
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