本发明专利技术请求保护一种基于流切片的软件定义网络拥塞控制算法,属于通信网络技术领域。首先,SDN控制器对网络拓扑和转发路径初始化;控制器通过周期性向交换机发送State‑Request消息问询交换机及其端口的状态对所有链路进行流量监控,然后计算每条路径的负载情况。当路径负载大于设定的拥塞门限时,就会把该路径上的一条大流分裂成多条子流,控制器通过下发相应的流表把各个子流调度到其他负载较轻的可用路径上。控制器周期性地查询交换机的状态,当目的交换机的缓存区占有量过大时,控制器向源交换机发送减小数据包速率的消息。该算法对导致链路拥塞的数据流重新选路并对数据包重排序,同时降低源端口的发送速率,从而减轻负载较大链路的负载,缓解网络拥塞。
【技术实现步骤摘要】
本专利技术属于通信网络
,涉及一种基于流切片的软件定义网络拥塞控制算法。
技术介绍
软件定义网络(SoftwareDefinedNetwork,SDN),是针对当前网络架构的一场变革,其核心理念是数据转发和控制层面的分离。随着数据中心网络广泛应用云计算、大数据和搜索等技术,使得数据中心应用越来越丰富且用户数量显著增加,数据中心网络的性能面临严峻的考验,其中网络拥塞现象最为突出、亟需解决。当网络中数据流量的大小超过当前网络设备的处理能力时,就会导致网络拥塞,如果不能及时解决拥塞问题,将会造成网络性能持续恶化,由于SDN架构具有全局掌握网络状态信息的优势,可以把拥塞链路上的流量调度到负载较轻的路径上,能够有效缓解拥塞。发生网络拥塞问题的主要原因是带宽资源和交换设备处理能力有限,存储、计算设备性能有限造成的。但是,受制于网络建设、运维成本等现实原因,不能无限制的对网络扩容,导致网络拥塞可能会时有发生,通过对导致链路拥塞的数据流重路由到负载较轻的路径上可以将拥塞发生的概率最小化。文献[HuiLong,YaoShen,GuoMinYi,etal.LABERIO:Dynamicload-balancedRoutinginOpenFlow-enablednetworks[C]//AdvancedInformationNetworkingandApplications(AINA),2013IEEE27thInternationalConferenceon.IEEE,2013:290-297.]利用OpenFlow的特点实时监控网络的流量状态,如果监测到某一条或多条链路的负载相对集中,然后立刻启动相应的拥塞避免措施,对负载较大处的流量重路由。但是,这种算法准确性较差、灵敏度不高;文献[ChimTW,YeungKL,LuiKS.Trafficdistributionoverequal-cost-multi-paths[J].ComputerNetworkstheInternationalJournalofComputer&TelecommunicationsNetworking,2005,49(4):465-475]提出一种CC-PP等价多路径转发的算法,但是该算法可能会导致属于同一个流的数据包到达目的地址的时间不一致,从而产生数据包失序问题。文献[吴志强,吴艳浩.基于Openflow的拥塞控制机制研究[J].河南理工大学学报,2015,(4):1673-9787]提出一种CC-OF拥塞控制机制,是通过在拥塞节点处选择一条或多条数据流在拥塞节点的上一跳节点进行重路由。但是该算法可能由于找不到可用路径,导致不能确保算法的准确性,而且可能会导致新的拥塞,同时没能有效利用网络中可能存在大量处于空闲状态的链路,浪费了大量的网络资源。通过对现有数据中心网络拥塞控制机制的研究可以得出,目前针对数据中心网络中拥塞控制问题的解决方案在一定程度上能缓解网络拥塞,但是算法的有效性不能得到充分保证,不能充分利用网络空闲的链路资源。
技术实现思路
本专利技术旨在解决以上现有技术的问题。提出了一种方法。本专利技术的技术方案如下:一种基于流切片的软件定义网络拥塞控制算法,其包括以下步骤:101、SDN控制器初始化数据中心网络的拓扑,并初始化所有转发路径;102、控制器周期性地查询交换机及其端口的状态,并对所有链路进行流量监控,然后计算每条链路的负载情况,并对网络中链路发生拥塞与否进行判别;103、当网络中的链路发生拥塞时,对其链路上所有数据流的大小进行计算,检测拥塞链路上的大流以备调用;104、将检测到的大流分裂成不同的子流,并把各个子流调度到负载较轻的可选路径上,最后下发新的流表;105、通过比较交换机负载的度量参数F是否超过设定值,判断当前交换机是否过载,一旦过载,控制器对源主机的发包速率进行控制,从而减轻交换机的负载。进一步的,步骤101中控制器初始化数据中心网络的拓扑,并初始化路径包括步骤:利用LLDP协议掌握全局拓扑信息并使用深度优先遍历算法计算任意两个节点之间的所有路径,按照跳数升序的方式对路径排序,得到初始路径。进一步的,步骤102计算每条链路的负载情况,并对网络中链路发生拥塞与否进行判别具体包括步骤;计算出任意时刻每条链路的链路利用率其中loadi,j(t)则表示链路(i,j)上传输数据流所占用带宽的大小,Bi,j表示链路链路(i,j)上最大带宽的大小,即最大传输速率,假设一条路径P包含了链路(i,j)、(m,n)……(o,p),则该路径的负载为LP(t)=MAX[Li,j(t)、Lm,n(t)……Lo,p(t)],控制器对各链路的利用率进行周期性监测,当大于等于某一固定值Bth时,即Li,j(t)>Bth,判定链路发生拥塞。进一步的,所述步骤103当网络中的链路发生拥塞时,对其链路上所有数据流的大小进行计算,检测拥塞链路上的大流以备调用包括;流的大小分类可采取式进行计算,其中ψ是根据统计信息对流量大小进行的估计,分别表示t1、t2时刻交换机接收到的字节数,其中t1<t2,ψ表示流的速率占带宽的比例,通过对ψ进行界定即可区分大小流。进一步的,所述步骤104将检测到的大流分裂成不同的子流,并把各个子流调度到负载较轻的可选路径上,最后下发新的流表具体包括;给定一条有N个数据包的大象流f,该条流字节数为b,其中第i个数据包的字节数为bi,分裂成M个子流,其中第j个子流fj是由第m个到第n个数据包组成,因此,分裂数据流要满足以下条件,如下式所示:bfj=Σi=mi=nbi≥10]]>b=Σj=1Mbfj]]>其中,表示子流fj字节数的大小,通过对的判断各子流是否是一条大象流;采用哈希算法对各个子流分配可用路径H(key)=h(x)mody;式中,x表示数据包的四个头部字段,包括源IP地址、目的IP地址、源端口号、目的端口号;y表示可用路径的条数,使用H(key)值分配一条可用路径给子流。进一步的,步骤105所述指定交换机负载的度量参数F的定义为:其中,Fc代表当前的流表条目数,Fm代表交换机能够维护的流表条目的上限。本专利技术的优点及有益效果如下:本专利技术提供的拥塞控制算法首先初始化网络拓扑,然后计算网络中各链路的负载,当路径的负载超过设定的拥塞门限时,将检测出的大流分裂成多个子流,并调度到其他可用路径上传输,同时当数据流超过交换机的处理能力时,控制器向目的交换机发送降低发送速率的消息,从而能够有效地缓解网络拥塞问题。附图说明图1是本专利技术提供优选实施例流程示意图;图2为根据本专利技术提供的数据中心拓扑图;图3为选取拓扑中三条路径的路径负载变化情况;图4为对比三种算法对拥塞路径S9-S7-S10的负载变化情况。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、详细地描述。所描述的实施例仅仅是本专利技术的一部分实施例。本专利技术的技术方案如下:图1所示第一步,初始化网络拓扑,通过控制器向相关交换机发送LLDP协议掌握全局拓扑信息并计算任意两个节点之间的所有路径,按照跳数升序的方式对路径排序。在本实施例中,图2为本专利技术的仿真拓扑图,该实验拓扑是由4台边缘层本文档来自技高网...
【技术保护点】
一种基于流切片的软件定义网络拥塞控制算法,其特征在于,包括以下步骤:101、SDN控制器初始化数据中心网络的拓扑,并初始化所有转发路径;102、控制器周期性地查询交换机及其端口的状态,并对所有链路进行流量监控,然后计算每条链路的负载情况,并对网络中链路发生拥塞与否进行判别;103、当网络中的链路发生拥塞时,对其链路上所有数据流的大小进行计算,检测拥塞链路上的大流以备调用;104、将检测到的大流分裂成不同的子流,并把各个子流调度到负载较轻的可选路径上,最后下发新的流表;105、通过比较交换机负载的度量参数F是否超过设定值,判断当前交换机是否过载,一旦过载,控制器对源主机的发包速率进行控制,从而减轻交换机的负载。
【技术特征摘要】
1.一种基于流切片的软件定义网络拥塞控制算法,其特征在于,包括以下步骤:101、SDN控制器初始化数据中心网络的拓扑,并初始化所有转发路径;102、控制器周期性地查询交换机及其端口的状态,并对所有链路进行流量监控,然后计算每条链路的负载情况,并对网络中链路发生拥塞与否进行判别;103、当网络中的链路发生拥塞时,对其链路上所有数据流的大小进行计算,检测拥塞链路上的大流以备调用;104、将检测到的大流分裂成不同的子流,并把各个子流调度到负载较轻的可选路径上,最后下发新的流表;105、通过比较交换机负载的度量参数F是否超过设定值,判断当前交换机是否过载,一旦过载,控制器对源主机的发包速率进行控制,从而减轻交换机的负载。2.根据权利要求1所述的基于流切片的软件定义网络拥塞控制算法,其特征在于,步骤101中控制器初始化数据中心网络的拓扑,并初始化路径包括步骤:利用LLDP协议掌握全局拓扑信息并使用深度优先遍历算法计算任意两个节点之间的所有路径,按照跳数升序的方式对路径排序,得到初始路径。3.根据权利要求2所述的基于流切片的软件定义网络拥塞控制算法,其特征在于,步骤102计算每条链路的负载情况,并对网络中链路发生拥塞与否进行判别具体包括步骤;计算出任意时刻每条链路的链路利用率其中loadi,j(t)则表示链路(i,j)上传输数据流所占用带宽的大小,Bi,j表示链路链路(i,j)上最大带宽的大小,即最大传输速率,假设一条路径P包含了链路(i,j)、(m,n)……(o,p),则该路径的负载为LP(t)=MAX[Li,j(t)、Lm,n(t)……Lo,p(t)],控制器对各链路的利用率进行周期性监测,当大于等于某...
【专利技术属性】
技术研发人员:樊自甫,李书,赵安澜,周凯恒,万晓榆,王正强,
申请(专利权)人:重庆邮电大学,
类型:发明
国别省市:重庆;50
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。