CN112615798B - 一种基于大象流预约的带宽分配方法和设备 - Google Patents
一种基于大象流预约的带宽分配方法和设备 Download PDFInfo
- Publication number
- CN112615798B CN112615798B CN202011335941.2A CN202011335941A CN112615798B CN 112615798 B CN112615798 B CN 112615798B CN 202011335941 A CN202011335941 A CN 202011335941A CN 112615798 B CN112615798 B CN 112615798B
- Authority
- CN
- China
- Prior art keywords
- elephant
- bandwidth
- flow
- elephant flow
- transmission
- 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
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/70—Admission control; Resource allocation
- H04L47/72—Admission control; Resource allocation using reservation actions during connection setup
-
- 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
-
- 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/70—Admission control; Resource allocation
- H04L47/80—Actions related to the user profile or the type of traffic
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种基于大象流预约的带宽分配方法和设备,根据预约约束信息的不同,将带宽预约型大象流分为传输时间保障类大象流,以及传输速率保障类大象流,为不同类型的大象流提供不同策略的宽带分配机制,并制定大象流优先级策略,为重要性不同的大象流划分不同的优先级,然后当发生网络拥塞时,通过优先级策略的相应规则尽量维持重要的带宽预约型大象流在原路径继续进行流量传输,并把业务级别比较低的对应于优先级较低的大象流进行组合并优先进行重路由,将其调度到其它链路,直到网络拥塞条件解除。
Description
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种基于大象流预约的带宽分配方法和设备。
背景技术
随着数据中心网络快速发展,网络承载业务不断增长,网络中的数据流量也不断增加。数据中心网络有两种类型流量:大象流和老鼠流;老鼠流持续时间较短,带宽需求也较低,而大象流则反之。大象流的数据量只占据数据中心网络流量的10%~20%,但却长时间占据着网络80%~90%的带宽。老鼠流大小一般不超过10kb,并且持续时间较短。为了保障数据中心网络的传输质量,提高网络利用率,应重点对大象流的传输进行保证和处理。例如,某些紧急数据备份业务,其产生的流量是典型的大象流,通过带宽预约对其传输带宽及传输时间进行保证,不仅对其业务成功交付起决定性作用,而且对网络性能保障也至关重要。SDN软件定义网络基于控制转发分离的核心思想,将控制平面与数据平面进行有效解耦。SDN控制平面具有网络的全局视图,能够对网络设备、策略进行统一管理,而SDN数据平面只负责数据流的转发。SDN数据中心网络中大象流所经链路发生网络拥塞时,将迅速降低网络的性能,无法保证大象流的传输服务质量。
发明内容
本发明实施例提供一种基于大象流预约的带宽分配方法和系统,解决了现有技术中SDN数据中心网络中大象流所经链路发生网络拥塞时,将迅速降低网络的性能,无法保证大象流的传输服务质量的问题。
第一方面,本发明实施例提供一种基于大象流预约的带宽分配方法,包括:
若判断当前流量类型为带宽预约型大象流,则确定所述带宽预约型大象流的类型,所述带宽预约型大象流的类型包括传输时间保障型大象流和传输速率保障型大象流;
若判断所述带宽预约型大象流的类型为传输时间保障型大象流,则根据最短路径算法计算得到若干条候选路径,并根据候选路径中链路的已分配带宽和链路带宽容量确定当前时刻每条所述候选路径的可预约分配带宽,根据所述可预约分配带宽确定每条候选路径为所述传输时间保障型大象流分配的最大可预留带宽;
若判断所述带宽预约型大象流的类型为传输速率保障型大象流,则根据最短路径算法计算得到若干条候选路径,并根据候选路径中链路的已分配带宽和链路带宽容量确定当前时刻每条所述候选路径的可预约分配带宽,根据所述可预约分配带宽确定每条候选路径可为所述传输速率保障型大象流分配的最大可预留带宽,若判断某条候选路径的所述最大可预留带宽不小于所述传输速率保障型大象流的预约网络带宽,则该候选路径为所述传输速率保障型大象流分配与所述预约网络带宽相等的带宽。
作为优选的,所述并根据候选路径中链路的已分配带宽和链路带宽容量确定当前时刻每条所述候选路径的可预约分配带宽,具体包括:
根据当前时刻t候选路径中任一链路l正被占用带宽Ul(t)和已成功预留带宽Pl(t),确定链路l的已分配带宽ABl(t):
ABl(t)=Ul(t)+Pl(t)
Ul(t)=MFl(t)+NEFl(t)+TEFl(t)+REFl(t)
Pl(t)=TPl(t)+RPl(t)
其中,MFl(t)为当前时刻t存在的多个老鼠流实际占用的带宽总和;NEFl(t)为当前时刻t存在的多个非预约型大象流实际占用的带宽总和;TEFl(t)为当前时刻t存在的多个传输时间保障型大象流的带宽估算值总和,若传输时间保障型大象流的截止时间在当前时间t之后,则按预约带宽值估算,否则按其实际占用带宽值估算;REFl(t)为当前时刻t存在的多个传输速率保障型大象流的预约带宽总和;
TPl(t)为当前时刻t链路l上已成功预约的多个传输时间保障型大象流的预约带宽总和,若判断其中某个传输时间保障型大象流的传输起始时间>t,则将其预约带宽计为0;RPl(t)当前时刻t链路l上已成功预约的多个传输速率保障型大象流的预约带宽总和,如果其中某个传输速率保障型大象流的传输起始时间>t,则将其预约带宽计为0;
根据当前时刻t,候选路径中链路l的带宽容量Bl和已分配带宽ABl(t),确定所述候选路径的可预约分配带宽:
RBc(t)=Minl∈c(RBl(t))=Minl∈c(Bl-ABl(t))
其中,c表示候选路径的链路集合。
作为优选的,所述根据所述可预约分配带宽确定每条候选路径为所述传输时间保障型大象流分配的最大可预留带宽,具体包括:
基于所述可预约分配带宽确定候选路径可为所述传输时间保障型大象流分配的最大可预留带宽:
Zmax(c,h)=r×Minv∈[Tstart,Tstart+r](Minl∈c(RBl(v)))
r=Min{s|s×Minv∈[Tstart,Tstart+s](Minl∈c(RBl(v)))≥M}
上式中,c表示候选路径的链路集合,h为传输时间保障型大象流,Tstart,Tdeadline分别为传输时间保障型大象流的传输起始时间与截止时间,M为传输业务的总量大小。
作为优选的,所述根据所述可预约分配带宽确定每条候选路径可为所述传输速率保障型大象流分配的最大可预留带宽,具体包括:
设置传输时间增量L,根据所述可预约分配带宽确定每条候选路径可为所述传输速率保障型大象流分配的最大可预留带宽:
Zmax(c,g)=Minv∈[Tstart,Tstart+L](Minl∈c(RBl(v)))
上式中,c表示候选路径的链路集合,g为传输速率保障型大象流,Tstart为传输起始时间。
作为优选的,根据所述可预约分配带宽确定每条候选路径为所述带宽预约型大象流分配的最大可预留带宽后,还包括:
判断传输速率保障型大象流e在候选路径p上分配的最大可预留带宽是否满足:Zmax(p,e)≥BW,若是,则该候选路径p为可行路径,在该候选路径p上为传输速率保障型大象流e预留带宽大小:X(e)=BW;若否则从可选链路中删除该候选路径p,重复直至处理完若干条候选路径中的所有候选路径。
判断传输时间保障型大象流e在候选路径p上分配的最大可预留带宽Zmax(p,e)式中的r是否满足:r≤Tdeadline-Tstart,若是,则该候选路径p为可行路径,在该候选路径p上为传输时间保障型大象流e预留带宽大小:X(e)=Zmax(p,e);若否,则从候选路径集中删除该候选路径p,重复直至处理完若干条候选路径中的所有候选路径。
作为优选的,在于,还包括:
确定每条可行路径上各条链路上大象流的共存代价权值,所述大象流包括传输时间保障型大象流、传输速率保障型大象流和非预约型大象流;
若链路lj上无其他大象流经过,则该条链路lj的共存代价权值为0;
若链路lj上多个大象流{e1,e2,...,en}(包括本次预约的大象流)对应的预约带宽值为{b1,b2,...,bn},链路lj的带宽容量为B,则该条链路lj的共存代价权值为:
计算可行路径P的大象流共存代价权值:
上式中,M为可行路径P中链路的个数;
确定所有可行路径的共存代价权值W(Pi),i∈[1,K],K为可行路径个数,并选出最优路径PBest=arg(minPi∈FP(W(Pi)))作为最终分配的带宽预约路径,FP为可行路径集合。
作为优选的,若判断网络堵塞,则根据预先设定的优先级策略进行流量传输,所述优先级策略为:
若传输截止时间Tdeadline≥当前时刻t,且即将超时的传输时间保障型大象流列为第一优先级,将大象流传输截止时间Tdeadline≥当前时刻t,且预计可要求完成传输的传输时间保障型大象流列为第二优先级,将传输速率保障型大象流列为第二优先级,将传输截止时间Tdeadline<当前时刻t的传输时间保障型大象流列为第三优先级,将非预约型大象流列为第四优先级;
上述“即将超时的传输时间保障型大象流”是指按照当前的实际平均传输速度,未能在Tdeadline指定时间完成业务流量M的传输任务的传输时间保障型大象流。类似地,“预计可要求完成传输的传输时间保障型大象流”是指按照当前的实际平均传输速度,能够在Tdeadline或之前完成业务流量M的传输任务的传输时间保障型大象流。
对于传输时间保障型大象流,如果其超过Tdeadline还在继续传输,SDN控制器在检测到该情形之后,降低其网络带宽降低为原值的一半,同时启动信用监管机制,若经过(Tdeadline-Tstart)/2时间长度后,检测到该大象流仍然在传输数据,则SDN控制器将其降级为非预约型大象流,并进行重路由;
对大象流集合D中的所有大象流按优先级进行升序排列,即按第四优先级、第三优先级、第二优先级、第一优先级的顺序排列;
对于相同级别优先级的大象流,按照如下规则进一步区分优先次序:
对于第一优先级的若干条传输时间保障型大象流,根据截止时间与预约带宽大小,为某条大象流e定义权重系数JW(e):
其中be为当前拥塞链路上为大象流e预约的带宽大小,B为当前所在拥塞链路的带宽容量,t为当前时刻,Tdeadline为大象流e的传输截止时间;按照JW(e)的值为若干条大象流进行升序排序,权重系数越大,保留占用链路资源的优先级越高;
对于第二优先级的若干条大象流,若干条大象流包括传输时间保障型大象流与传输速率保障型大象流,根据预约带宽大小,为某条大象流e定义权重系数JB(e):
其中be为当前拥塞链路上为大象流e预约的带宽大小,B为当前拥塞链路的带宽容量;按照JB(e)的值为多条大象流进行升序排序,权重系数越大,保留占用链路资源的优先级越高;
对于第三优先级的若干条大象流,根据预约带宽大小,为某条大象流e定义权重系数JC(e):
其中be为当前拥塞链路上为大象流e的预约带宽大小,B为当前拥塞链路的带宽容量;按照JC(e)的值为多条大象流进行升序排序,权重系数越大,保留占用链路资源的优先级越高;
对于第四优先级的若干条大象流,根据大象流的已传输流量大小进行升序排序,已传输流量总量越大,其保留占用链路资源的优先级越高;
在已排序的大象流优先级序列中,从前往后依次取出m条大象流,优先级别低的大象流在序列前面,将它们重路由到其他网络链路。
作为优选的,所述从前往后依次取出m条大象流,具体包括:
若首次执行拥塞避免带宽分配,则m=1,否则,m值的确定取决于当前排列次序靠前的大象流带宽值和前一轮执行重路由的大象流带宽总量的相关约束条件,该约束条件要求所选m条在大象流优先级序列中排列次序靠前的大象流带宽总和大于或等于前一轮执行重路由的所有大象流带宽总和的2倍,并选择满足该约束条件的m值的最小值作为确定的m值。
第二方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明第一方面实施例所述基于大象流预约的带宽分配方法的步骤。
第三方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如本发明第一方面实施例所述基于大象流预约的带宽分配方法的步骤。
本发明实施例提供的一种基于大象流预约的带宽分配方法和设备,根据预约约束信息的不同,将带宽预约型大象流分为传输时间保障类大象流,以及传输速率保障类大象流,为不同类型的大象流提供不同策略的宽带分配机制,并制定大象流优先级策略,为重要性不同的大象流划分不同的优先级,然后当发生网络拥塞时,通过优先级策略的相应规则尽量维持重要的带宽预约型大象流在原路径继续进行流量传输,并把业务级别比较低的对应于优先级较低的大象流进行组合并优先进行重路由,将其调度到其它链路,直到网络拥塞条件解除。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据本发明实施例的大象流带宽预约机制与网络拥塞避免方法流程图;
图2为根据本发明实施例的大象流均匀分布算法示例网络拓扑图;
图3为根据本发明实施例的大象流带宽预约路径带宽时间分布图;
图4为根据本发明实施例的服务器示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请实施例中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请实施例中的术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。本申请的描述中,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列部件或单元的系统、产品或设备没有限定于已列出的部件或单元,而是可选地还包括没有列出的部件或单元,或可选地还包括对于这些产品或设备固有的其它部件或单元。本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
图1为本发明实施例提供一种基于大象流预约的带宽分配方法,包括:
监测主机发送端节点传输流量时单位时间内平均字节数,若判断所述平均字节数大于预设大象流阈值,则将对应流量划分为大象流,否则将对应流量划分为老鼠流;
将所述大象流分为带宽预约型大象流以及非预约型大象流,所述带宽预约型大象流包括传输时间保障型大象流和传输速率保障型大象流;
确定不同类型流量的优先级,将大象流传输的截止时间Tdeadline≥当前时刻t,且即将超时的传输时间保障型大象流列为第一优先级,将大象流传输的截止时间Tdeadline≥当前时刻t,且预计可要求完成传输的传输时间保障型大象流列为第二优先级,将传输速率保障型大象流列为第二优先级,将大象流传输的截止时间Tdeadline<当前时刻t的传输时间保障型大象流列为第三优先级,将非预约型大象流列为第四优先级;
上述“即将超时的传输时间保障型大象流”是指按照当前的实际平均传输速度,未能在Tdeadline指定时间完成业务流量M的传输任务的传输时间保障型大象流。类似地,“预计可要求完成传输的传输时间保障型大象流”是指按照当前的实际平均传输速度,能够在Tdeadline或之前完成业务流量M的传输任务的传输时间保障型大象流。
基于预设的优先级策略,对不同优先级的大象流进行带宽分配。
本发明实施例将大象流区分为带宽预约型大象流以及非预约型大象流。对于某些可计划性强或者网络QoS级别高的任务,本发明实施例为其流量传输提供了带宽预约机制,将其产生的大象流称为带宽预约型大象流。而对于突发性或者QoS级别不高的业务,其传输无需提前预约带宽,将其产生的大象流称为非预约型大象流。例如,对于虚拟机迁移,数据备份,文件存储和MapReduce集群计算等任务可以为其预约带宽,其产生的大象流便属于带宽预约型大象流。
本发明实施例根据预约约束信息的不同,将带宽预约型大象流分为传输时间保障类大象流,以及传输速率保障类大象流。例如,对于视频会议业务流量,可以视为传输速率保障类大象流;而对于虚拟机镜像迁移流量,可以视为传输时间保障类大象流。
在为大象流预约带宽时,SDN控制器收到带宽预约请求信息,根据不同的预约类型,请求报文中包含的信息也有所不同:
对于传输时间保障型大象流,其预约请求报文包括:
Qt=(St,Dt,M,Tstart,Tdeadline);
其中St为大象流的源地址,Dt为大象流的目的地址,M为预约发送的业务流量大小,Tstart为大象流预约的传输起始时间,Tdeadline为大象流传输的截止时间。
对于传输速率保障型大象流,其预约请求报文包括:
Qr=(Sr,Dr,BW,Tstart);
其中Sr为大象流的源地址,Dr为大象流的目的地址,BW为预约的网络带宽大小,Tstart为大象流预约的传输起始时间。
因此,本发明实施例将大象流分为三种类型,即传输时间保障型大象流、传输速率保障型大象流以及非预约型大象流。
本发明实施例的大象流带宽预约机制包括如下几个步骤:
(一)源节点向SDN控制器发出带宽预约请求报文,根据不同预约类型源节点需提供不同的预约信息;
(二)根据请求的源地址、目的地址信息,SDN控制器根据Dijkstra最短路径算法计算出若干条候选路径;
(三)根据本发明设计的大象流带宽预约算法,计算各条候选路径可为本次预约提供的带宽大小;
(四)根据各候选路径可预约带宽大小,以及预约请求的约束条件,对各候选路径进行筛选,得出一个可行路径集合;
(五)结合本发明设计的大象流均匀分布算法,在可行路径集合中,选择一条最优路径,确定为最终分配的带宽预约路径;
(六)SDN控制器将带宽预约路径信息增加到大象流预约路径分配信息表中,并下发流表到SDN转发设备进行带宽分配。同时,在每个检测周期内,SDN控制器实时监控域内各物理链路的带宽容量、剩余带宽等状态信息。
步骤(三)中,大象流带宽预约算法确定可提供预约带宽大小的步骤如下:
(1)在当前时刻t,可用如下公式计算链路上的可预约分配带宽的大小:
RBl(t)=Bl-ABl(t)
RBl(t)表示当前时刻t链路l可预约分配带宽大小;Bl表示链路带宽容量;ABl(t)表示当前时刻t链路l已分配带宽大小。具体地,链路已分配带宽大小的计算方法如下,根据当前时刻t候选路径中任一链路l正被占用带宽Ul(t)和已成功预留带宽Pl(t),确定链路l的已分配带宽ABl(t)::
ABl(t)=Ul(t)+Pl(t)
具体地,正被占用的带宽大小的计算方法如下:
Ul(t)=MFl(t)+NEFl(t)+TEFl(t)+REFl(t)
其中,MFl(t)为当前时刻t存在的多个老鼠流实际占用的带宽总和;NEFl(t)为当前时刻t存在的多个非预约型大象流实际占用的带宽总和;TEFl(t)为当前时刻t存在的多个传输时间保障型大象流的带宽估算值总和,若传输时间保障型大象流的截止时间在当前时间t之后,则按预约带宽值估算,否则按其实际占用带宽值估算;REFl(t)为当前时刻t存在的多个传输速率保障型大象流的预约带宽总和。
由于老鼠流、非预约型大象流、传输速率保障型大象流均无法知道其确切的流量传输终止时间,因而在估算带宽占用量时假设其在估算时间范围内将一直存在。即,对于某个估算时间范围内的时刻t+u(u>0)有:MFl(t+u)=MFl(t);NEFl(t+u)=NEFl(t);REFl(t+u)=REFl(t);对于当前时刻t存在的某条传输时间保障型大象流,如果t+u>Tdeadline,则在计算TEFl(t+u)时将其带宽占用值计为0,否则将TEFl(t+u)估算为该大象流预约带宽值。
具体地,当前时刻t链路l已成功预留的带宽大小的计算方法如下:
Pl(t)=TPl(t)+RPl(t)
其中TPl(t)表示当前时刻t链路l上已成功预约的传输时间保障型大象流的预约带宽总和,如果该传输时间保障型大象流的Tstart>t,则将其预约带宽计为0;RPl(t)表示当前时刻t链路l上已成功预约的传输速率保障型大象流的预约带宽总和,如果该传输速率保障型大象流的Tstart>t,则将其预约带宽计为0。
在某个估算时间范围内的时刻t+u(u>0)有:对于当前时刻t链路l上已成功预约的某条传输时间保障型大象流,在t+u时刻,如果Tstart≤t+u≤Tdeadline,则在计算TPl(t+u)时将其带宽值估算为该条传输时间保障型大象流的预约带宽值,否则将其带宽值估算为0;对于当前时刻t链路l上已成功预约的某条传输速率保障型大象流,在t+u时刻,如果Tstart≤t+u,则在计算RPl(t+u)时将其带宽值估算为该传输速率保障型大象流的预约带宽值,否则将其带宽值估算为0。
(2)对于某条候选路径c={l1,l2,…,lm},可用如下公式计算,在当前时刻t该候选路径c上的可预约分配带宽的大小:
RBc(t)=Minl∈c(RBl(t))=Minl∈c(Bl-ABl(t))
对于某个传输速率保障型大象流g,由于其传输终止时间不可知,故可以设置一个比较长的传输时间L(例如一个小时),计算在候选路径上c可为该大象流分配的最大可预留带宽为:
Zmax(c,g)=Minv∈[Tstart,Tstart+L](Minl∈c(RBl(v)))
对于某个传输时间保障型大象流h,计算在候选路径c上可为该大象流分配的最大可预留带宽为:
Zmax(c,h)=r×Minv∈[Tstart,Tstart+r](Minl∈c(RBl(v)))
r=Min{s|s×Minv∈[Tstart,Tstart+s](Minl∈c(RBl(v)))≥M}
进一步改进在于,步骤四中,如果带宽预约型大象流e为传输速率保障型大象流,对于步骤二中计算得到的候选路径集,选择其中的某条候选路径p,应用步骤三中描述的方法,计算在候选路径p上可为该大象流分配的最大可预留带宽Zmax(p,e)。判断条件Zmax(p,e)≥BW,若判断条件为真,则将该路径加入可行路径集合,在该路径上为大象流e预留带宽大小X(e)=BW,否则从候选路径集中删除该路径。重复本步骤直至处理完候选路径集中的所有路径。
如果带宽预约型大象流e为传输时间保障型大象流,对于步骤二中计算得到的候选路径集,选择其中的某个候选路径p,计算在候选路径p上可为该大象流分配的最大可预留带宽Zmax(p,e),判断Zmax(p,e)式中的r是否满足:r≤Tdeadline-Tstart:若判断条件为真,则将该路径加入可行路径集合,在该路径上为e预留带宽大小为:X(e)=Zmax(p,e);若判断条件为假,则从候选路径集合中删除该路径,重复直至处理完候选路径集合中的所有路径。
进一步改进在于,步骤五中本发明实施例设计的大象流均匀分布算法,其目的是让大象流在网络中的各条链路上均匀分布,减少大流碰撞出现的情况,避免网络拥塞。具体的算法步骤描述如下:
(2)从SDN控制器上获取网络各链路的带宽容量,以及大象流预约路径分配信息,得到各链路上已预留成功的大象流以及预留带宽信息;
(3)对于某条可行路径P,P={l1,l2…lM},分别在其各条链路上计算大象流共存代价权值W(lj),j∈[1,M]:
若在链路lj上没有其他大象流(包括正在传输的或者已预约分配的)经过,则其大象流共存代价权值W(lj)=0;
若在链路lj(其带宽容量为B)上存在若干条大象流{e1,e2,...,en}(包括本次预约的大象流),其对应的预约带宽值分别为{b1,b2,...,bn},则其大象流共存代价权值W(lj)为:
计算可行路径P的大象流共存代价权值:
(4)根据步骤(3),为可行路径集FP中的各条路径Pi,i∈[1,K],计算大象流共存代价权值W(Pi),选出最优路径PBest=arg(minPi∈FP(W(Pi)))作为最终分配的带宽预约路径。
优先级策略:
(1)若传输截止时间Tdeadline≥当前时刻t,且即将超时的传输时间保障型大象流,将其列为最高优先级4级(即第一优先级),表示该类大象流需要最高优先保留占用链路带宽资源。
(2)对于Tdeadline≥当前时刻t,且预计可要求完成传输的传输时间保障型大象流,将其列为次高优先级3级(即第二优先级),表示该类大象流保留占用链路带宽资源的优先级低于4级;
(3)将传输速率保障型大象流,列为次高优先级3级(即第二优先级),表示该类大象流保留占用链路带宽资源的优先级低于4级;
(4)对于Tdeadline<当前时刻t的传输时间保障型大象流,该类大象流带宽预约超时,将其列为中等优先级2级(即第三优先级),表示该类大象流保留占用链路带宽资源的优先级低于3级;
(5)将非预约型大象流列为最低优先级1级(即第四优先级),表示保留占用链路资源的优先级为最低;
(6)以上规则对大象流优先级进行了定义,并且都具有如下概念:大象流的重路由优先级和大象流优先级呈反比关系;
上述“即将超时的传输时间保障型大象流”是指按照当前的实际平均传输速度,未能在Tdeadline指定时间完成业务流量M的传输任务的传输时间保障型大象流。类似地,“预计可要求完成传输的传输时间保障型大象流”是指按照当前的实际平均传输速度,能够在Tdeadline或之前完成业务流量M的传输任务的传输时间保障型大象流。
本发明实施例设计的一种基于以上所述优先级策略的新型大象流网络拥塞避免算法,其具体步骤如下:
(1)SDN控制器检测到网络上某一条链路发生网络拥塞,根据维护的大象流预约路径分配信息表,获取经过该链路的所有大象流信息,记该大象流集合为:
D={d1,d2,…,dn}
(2)对于传输时间保障型大象流,如果其超过Tdeadline还在继续传输,SDN控制器在检测到该情形之后,降低其网络带宽降低为原值的一半,同时启动信用监管机制,若经过(Tdeadline-Tstart)/2时间长度后,检测到该大象流仍然在传输数据,则SDN控制器将其降级为非预约型大象流,并进行重路由;
(3)按照上述的优先级策略,对大象流集合D中的所有大象流按优先级进行升序排列(即优先级1级排在最前面)。对于相同级别优先级的大象流,按照如下规则进一步区分优先次序:
1.对于优先级为4级(第一优先级)的若干条传输时间保障型大象流,根据截止时间与预约带宽大小,为某条大象流e定义权重系数JW(e):
其中be为当前拥塞链路上为大象流e预约的带宽大小,B为当前所在拥塞链路的带宽容量,t为当前时刻,Tdeadline为大象流e的传输截止时间;按照JW(e)的值为若干条大象流进行升序排序,权重系数越大,保留占用链路资源的优先级越高(在大象流优先级序列中排列次序越靠后);
2.对于优先级为3级(第二优先级)的若干条大象流(包括传输时间保障型大象流与传输速率保障型大象流),根据预约带宽大小,为某条大象流e定义权重系数JB(e):
其中be为当前拥塞链路上为大象流e预约的带宽大小,B为当前拥塞链路的带宽容量。按照JB(e)的值为多条大象流进行升序排序,权重系数越大,保留占用链路资源的优先级越高;
3.对于优先级为2级(第三优先级)的若干条大象流,确定优先次序的方法与规则2中的方法相同。根据预约带宽大小,为某条大象流e定义权重系数JC(e):
其中be为当前拥塞链路上为大象流e的预约带宽大小,B为当前拥塞链路的带宽容量;按照JC(e)的值为多条大象流进行升序排序,权重系数越大,保留占用链路资源的优先级越高;
4.对于优先级为1级(第四优先级)的若干条大象流,根据大象流的已传输流量大小进行升序排序,已传输流量总量越大,其保留占用链路资源的优先级越高。
(4)在已排序的大象流优先级序列中,从前往后依次取出m条大象流(优先级别低的大象流在序列前面),将它们重路由到其他网络链路。如果是首次执行拥塞避免算法,则m=1。否则,m值的确定取决于当前排列次序靠前的大象流带宽值和前一轮执行重路由的大象流带宽总量的相关约束条件,该约束条件要求所选m条在大象流优先级序列中排列次序靠前的大象流带宽总和大于或等于前一轮执行重路由的所有大象流带宽总和的2倍,并选择满足该约束条件的m值的最小值作为确定的m值。该方法在本发明专利中命名为“基于大象流优先级序列自适应选流重路由策略”;
(5)在观察期窗口WT之内,检测当前拥塞链路的性能状况,直到网络拥塞条件解除,否则重新进入步骤(4)。
本实施例所述的面向SDN数据中心网络的大象流带宽预约机制及网络拥塞避免方法,基本流程如附图1所示。具体步骤包括以下步骤:
(1)在发送端节点对大象流识别和标识。监测主机发送端节点发送数据时若干个单位时间内传输数据量的平均值,即若干单位时间内平均字节数。通过主机发送的平均字节数和自定义设置大象流阈值进行比较,若流量在若干单位时间内平均字节数超过大象流阈值,即判断该流量为大象流;若低于大象流阈值,则将该流量判断为老鼠流。由于网络管理员可以为不同的大象流设置不同的预约请求信息,根据预约与否以及预约请求信息的不同,这里将大象流分类为3种类型,分别为:非预约型大象流、传输时间保障型大象流和传输速率保障型大象流。
(2)大象流带宽预约请求信息通过packet-in消息由数据平面通过南向接口上传到SDN控制器,并记录为大象流列表的一条信息,通过大象流的预约请求信息判断大象流属于传输时间保障型大象流还是传输速率保障型大象流,对于每种不同的大象流采用不同的路由和带宽分配策略;通过识别大象流预约请求信息中的源地址、目标地址和预约带宽信息,并根据带宽约束条件结合大象流带宽预约算法为大象流计算出若干条可行的路由转发路径;
(3)通过以上步骤2可为每条新进入网络的大象流计算出若干条可行路径,根据大象流均匀分布算法计算该大象流在每条可行路径上得到的对应的大象流共存代价权值,选择大象流共存代价权值最小的可行路径作为该大象流路径分配的最优路径,并在该路径上进行带宽预约分配;
(4)SDN控制器周期性检测网络链路的负载情况,当检测到网络拥塞状况时,通过基于优先级策略的大象流网络拥塞避免算法,在大象流优先级序列中选择优先级较低的若干条大象流进行重新调度,每次完成调度即更新网络链路状态信息,并检测网络拥塞状况是否解除。若未解除,则通过“基于大象流优先级序列自适应选流重路由策略”的方法继续选择调度优先级低的若干条大象流进行调度,直到解决网络拥塞;
在以上步骤(1)中,在发送端节点对老鼠流采用等代价多路径路由算法(ECMP)进行路由转发;对于大象流则将其预约请求信息上传到SDN控制器的各个功能模块进行计算,最后计算结果将被传送到由路由决策模块。
在以上步骤(2)中,对于带宽预约型大象流的处理可分为两种情形:
1.对于传输时间保障型大象流,其预约请求信息格式为:Qt=(St,Dt,M,Tstart,Tdeadline):其中St为大象流的源地址,Dt为大象流的目的地址,M为预约发送的业务流量大小,Tstart为大象流预约的传输起始时间,Tdeadline为大象流传输的截止时间。大象流预约请求信息Qt通过packet-in消息上传到SDN控制器,SDN控制器具有全局网络视图的功能,可以通过链路检测模块收集得到的实时网络链路的带宽信息,并结合SDN控制平面维持的带宽预约型大象流量路由信息表,在SDN控制器中的通过可行路径计算模块计算得到能够符合传输时间保障型大象流的传输时间需求的网络路径,并将计算得到的若干条可行路径信息传送到SDN控制器中的大象流均匀分布算法模块,最后由大象流均匀分布算法模块计算得到传输时间保障型大象流的最优路径,并将对应最优路径的路由信息传送到路由决策模块,最后将路由决策结果通过传送packet-out消息和下发流表到SDN数据层面,控制数据平面支持OpenFlow协议的交换机对传输时间保障型大象流进行路由转发。
2.对于传输速率保障型大象流,Qr=(Sr,Dr,BW,Tstart):其中Sr为大象流的源地址,Dr为大象流的目的地址,BW为预约的网络带宽大小,Tstart为大象流预约的传输起始时间。与传输时间保障型大象流的处理类似,同样是将其预约请求信息Qr上传到SDN控制平面的可行路径计算模块,将计算得到的可行路径结果传送到大象流均匀分布算法模块确定最优路径,并将对应最优路径的路由信息传送到路由决策模块,最后将路由决策结果下发给SDN数据平面的交换机,让传输速率保障型大象流在其最优路径上预约分配得到固定的带宽进行流量传输。
下面将结合附图3对于大象流带宽预约算法作进一步的阐释说明。附图3表示一条候选路径的带宽预约时间分布示意图,阶梯线下方表示已占用或已预约的带宽,上方表示可用带宽。在附图3所示的候选路径上,为某传输任务流量为M的传输时间保障型大象流确定最大可预留带宽,可先考虑B1矩阵所表示的可用带宽,但是由于B1的面积小于M,故无法满足传输需求。B2矩阵的面积等于M,如果该预约传输时间保障型大象流的截止时间为Tdealine 1,则该候选路径无法满足其要求;反之,如果其截止时间为Tdealine 2,则该路径为可行路径,B2的宽长表示分配给该大象流的预留带宽大小。如果在附图3所示的候选路径上,为某预约带宽为BW的传输速率保障型大象流确定最大可预留带宽,可知其最大可预留带宽为Z,由于Z大于BW,故可在该候选路径上为该传输速率保障型大象流预留BW大小的带宽,该候选路径为可行路径。
在以上步骤(3)中,SDN控制器中的大象流均匀分布算法模块接收来自可行路径计算模块的对应于某条大象流的若干条可行路径的路由信息。对于传输时间保障型大象流,在可行路径计算模块的大象流带宽预约算法子模块中,计算传输时间保障型大象流在其带宽预约周期内的满足其最低传输时间保障的链路带宽,并将包含满足该最低传输时间保障的带宽信息的若干条可行路径的路由信息传送到大象流均匀分布算法模块,选择大象流共存代价权值最小的路径作为传输时间保障型大象流的最优路由转发路径,将最优转发路径的路由信息传送到SDN控制层面的路由决策模块,并更新带宽预约型大象流量路由信息表;对于传输速率保障型大象流,将包含其预约固定带宽信息的若干条可行路径的路由信息传送到大象流均匀分布算法模块,与传输时间保障型大象流类似,计算并比较得到大象流共存代价权值最低的可行路径作为传输速率保障型的最优路由转发路径,将该路径信息传送到路由决策模块,更新带宽预约型大象流量路由信息表。最后由路由决策模块下发流表到SDN数据层面控制交换机对传输速率保障型大象流进行路由转发。下面将结合附图2对大象流均匀分布算法作进一步的说明。附图2中箭头表示在链路上已经存在或者预约的大象流,箭头上的数字表示分配给大象流的带宽大小。节点之间的连线表示链路,连线上的数字表示链路带宽容量。假定新进入网络的传输速率保障型大象流的预约请求信息为Qr=(1,3,30M,t),即源地址为节点1,目的地址为节点2,预约带宽为30M,预约开始传输时间为t时刻。根据附图2所示,计算该型大象流的候选路径集合Path=(P(1,5,2,3),P(1,5,4,3))。接下来计算每条可行路径的大象流共存代价权值WP。
对于可行路径P(1,5,2,3),其大象流共存代价权值:
WP(1,5,2,3)=(10+20+30)/100+(20+30)/80+0=1.225;
对于可行路径P(1,5,4,3),其大象流共存代价权值:
WP(1,5,4,3)=(10+20+30)/100+(10+30)/50+(10+30)/60=2.066;
容易判断,对于传输速率保障型的所有可行路径,P(1,5,2,3)的大象流共存代价权值最小,则应该选择P(1,5,2,3)作为该型大象流进行带宽预约的最优路径。
在以上步骤(4)中,通过SDN控制器中的链路状态监控表检测到网络中的链路发生网络拥塞状况时,首先通过链路状态监控表判断链路上的大象流的组合情况,并将发生网络拥塞的链路上的大象流的信息传送至SDN控制层面的优先级策略模块查询每条大象流相应的优先级,优先级策略模块经过对大象流进行优先级映射后将映射结果传送到大象流网络拥塞避免算法模块,大象流网络拥塞避免算法模块根据优先级策略模块映射的大象流优先级对大象流重新调度顺序进行排序,更新大象流优先级序列。具体对于不同优先级的大象流,在其内部通过大象流网络拥塞避免算法里提及的“基于大象流优先级序列自适应选流重路由策略”每次选择若干条满足约束条件的大象流进行重路由,直到网络拥塞状况解决;对于预约超时传输时间保障型大象流,降低其网络带宽为原来的1/2,并设置预约超时容忍阈值为其原预约周期的一半,更新链路状态信息,继续维持其在原路径上进行路由转发。若预约超时传输时间保障型大象流的传输时间大于预约超时容忍阈值时,检查到流量仍未完成传输,则将其剩余部分的大象流标记非预约型大象流,对其进行重路由转发。以上在大象流网络拥塞避免算法模块处理得到的调度结果需传送到SDN控制平面的路由决策模块,由其下发流表到数据平面控制支持OpenFlow协议的交换机执行大象流流量调度。
基于相同的构思,本发明实施例还提供了一种服务器示意图,如图4所示,该服务器可以包括:处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行如上述各实施例所述基于大象流预约的带宽分配方法的步骤。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
基于相同的技术构思,本申请实施例还提供一种计算机程序,当该计算机程序被主控设备执行时,用以实现上述方法实施例。
所述程序可以全部或者部分存储在与处理器封装在一起的存储介质上,也可以部分或者全部存储在不与处理器封装在一起的存储器上。
基于相同的技术构思,本申请实施例还提供一种处理器,该处理器用以实现上述方法实施例。上述处理器可以为芯片。
本发明的各实施方式可以任意进行组合,以实现不同的技术效果。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidStateDisk)等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (7)
1.一种基于大象流预约的带宽分配方法,其特征在于,包括:
若判断当前流量类型为带宽预约型大象流,则确定所述带宽预约型大象流的类型,所述带宽预约型大象流的类型包括传输时间保障型大象流和传输速率保障型大象流;
SDN控制器收到带宽预约请求信息,若判断预约请求报文与传输时间保障型大象流的预约请求报文相匹配,则判断为传输时间保障型大象流,若判断预约请求报文与传输速率保障型大象流的预约请求报文相匹配,则判断为传输速率保障型大象流;
其中,对于传输时间保障型大象流,其预约请求报文包括:
Qt=(St,Dt,M,Tstart,Tdeadline);
其中St为大象流的源地址,Dt为大象流的目的地址,M为预约发送的业务流量大小,Tstart为大象流预约的传输起始时间,Tdeadline为大象流传输的截止时间;
对于传输速率保障型大象流,其预约请求报文包括:
Qr=(Sr,Dr,BW,Tstart);
其中Sr为大象流的源地址,Dr为大象流的目的地址,BW为预约的网络带宽大小,Tstart为大象流预约的传输起始时间;
若判断所述带宽预约型大象流的类型为传输时间保障型大象流,则根据最短路径算法计算得到包括若干条候选路径的候选路径集合,并根据候选路径中链路的已分配带宽和链路带宽容量确定当前时刻每条所述候选路径的可预约分配带宽,根据所述可预约分配带宽确定每条候选路径为所述传输时间保障型大象流分配的最大可预留带宽;具体包括:
基于所述可预约分配带宽确定候选路径可为所述传输时间保障型大象流分配的最大可预留带宽:
Zmax(c,h)=r×Minv∈[Tstart,Tstart+r](Minl∈c(RBl(v)))
r=Min{s|s×Minv∈[Tstart,Tstart+s](Minl∈c(RBl(v)))≥M}
上式中,c表示候选路径的链路集合,h为传输时间保障型大象流,Tstart,Tdeadline分别为传输时间保障型大象流的传输起始时间与截止时间,M为传输业务的总量大小;s表示设置的传输时间增量;
若判断所述带宽预约型大象流的类型为传输速率保障型大象流,则根据最短路径算法计算得到包括若干条候选路径的候选路径集合,并根据候选路径中链路的已分配带宽和链路带宽容量确定当前时刻每条所述候选路径的可预约分配带宽,根据所述可预约分配带宽确定每条候选路径可为所述传输速率保障型大象流分配的最大可预留带宽,具体包括:
设置传输时间增量L,根据所述可预约分配带宽确定每条候选路径可为所述传输速率保障型大象流分配的最大可预留带宽:
Zmax(c,g)=Minv∈[Tstart,Tstart+L](Minl∈c(RBl(v)))
上式中,c表示候选路径的链路集合,g为传输时间保障型大象流,Tstart为传输起始时间;
若判断某条候选路径的所述最大可预留带宽不小于所述传输速率保障型大象流的预约网络带宽,则该候选路径为所述传输速率保障型大象流分配与所述预约网络带宽相等的带宽;
所述并根据候选路径中链路的已分配带宽和链路带宽容量确定当前时刻每条所述候选路径的可预约分配带宽,具体包括:
根据当前时刻t候选路径中任一链路l正被占用带宽Ul(t)和已成功预留带宽Pl(t),确定链路l的已分配带宽ABl(t):
ABl(t)=Ul(t)+Pl(t)
Ul(t)=MFl(t)+NEFl(t)+TEFl(t)+REFl(t)
Pl(t)=TPl(t)+RPl(t)
其中,MFl(t)为当前时刻t存在的多个老鼠流实际占用的带宽总和;NEFl(t)为当前时刻t存在的多个非预约型大象流实际占用的带宽总和;TEFl(t)为当前时刻t存在的多个传输时间保障型大象流的带宽估算值总和,若传输时间保障型大象流的截止时间在当前时间t之后,则按预约带宽值估算,否则按其实际占用带宽值估算;REFl(t)为当前时刻t存在的多个传输速率保障型大象流的预约带宽总和;
TPl(t)为当前时刻t链路l上已成功预约的多个传输时间保障型大象流的预约带宽总和,若判断其中某个传输时间保障型大象流的传输起始时间>t,则将其预约带宽计为0;RPl(t)当前时刻t链路l上已成功预约的多个传输速率保障型大象流的预约带宽总和,如果其中某个传输速率保障型大象流的传输起始时间>t,则将其预约带宽计为0;
根据当前时刻t,候选路径中链路l的带宽容量Bl和已分配带宽ABl(t),确定所述候选路径的可预约分配带宽:
RBc(t)=Minl∈c(RBl(t))=Minl∈c(Bl-ABl(t))
其中,c表示候选路径的链路集合。
2.根据权利要求1所述的基于大象流预约的带宽分配方法,其特征在于,根据所述可预约分配带宽确定每条候选路径为所述带宽预约型大象流分配的最大可预留带宽后,还包括:
判断传输速率保障型大象流e在候选路径p上分配的最大可预留带宽是否满足:Zmax(p,e)≥BW,若是,则该候选路径p为可行路径,在该候选路径p上为传输速率保障型大象流e预留带宽大小:X(e)=BW;若否,则从可选链路中删除该候选路径p,重复直至处理完若干条候选路径中的所有候选路径;
判断传输时间保障型大象流e在候选路径p上分配的最大可预留带宽Zmax(p,e)式中的r是否满足:r≤Tdeadline-Tstart,若是,则该候选路径p为可行路径,在该候选路径p上为传输时间保障型大象流e预留带宽大小:X(e)=Zmax(p,e);若否则从候选路径集合中删除对应的候选路径p,重复直至处理完若干条候选路径中的所有候选路径。
3.根据权利要求1所述的基于大象流预约的带宽分配方法,其特征在于,还包括:
确定每条可行路径上各条链路上大象流的共存代价权值,所述大象流包括传输时间保障型大象流、传输速率保障型大象流和非预约型大象流;
若链路lj上无其他大象流经过,则该条链路lj的共存代价权值为0;
若链路lj上多个大象流{e1,e2,...,en}(包括本次预约的大象流)对应的预约带宽值为{b1,b2,...,bn},链路lj的带宽容量为B,则该条链路lj的共存代价权值为:
计算可行路径P的大象流共存代价权值:
上式中,M为可行路径P中链路的个数;
确定所有可行路径的共存代价权值W(Pi),i∈[1,K],K为可行路径个数,并选出最优路径PBest=arg(minPi∈FP(W(Pi)))作为最终分配的带宽预约路径,FP为可行路径集合。
4.根据权利要求1所述的基于大象流预约的带宽分配方法,其特征在于,若判断网络堵塞,则根据预先设定的优先级策略进行流量传输,所述优先级策略为:
若传输截止时间Tdeadline≥当前时刻t,且即将超时的传输时间保障型大象流列为第一优先级,将传输截止时间Tdeadline≥当前时刻t,且预计可要求完成传输的传输时间保障型大象流列为第二优先级,将传输速率保障型大象流列为第二优先级,将传输截止时间Tdeadline<当前时刻t的传输时间保障型大象流列为第三优先级,将非预约型大象流列为第四优先级;
对于传输时间保障型大象流,如果其超过Tdeadline还在继续传输,SDN控制器在检测到对应情形之后,降低其网络带宽降低为原值的一半,同时启动信用监管机制,若经过(Tdeadline-Tstart)/2时间长度后,检测到该大象流仍然在传输数据,则SDN控制器将其降级为非预约型大象流,并进行重路由;
对大象流集合D中的所有大象流按优先级进行升序排列,即按第四优先级、第三优先级、第二优先级、第一优先级的顺序排列;
对于相同级别优先级的大象流,按照如下规则进一步区分优先次序:
对于第一优先级的若干条传输时间保障型大象流,根据截止时间与预约带宽大小,为某条大象流e定义权重系数JW(e):
其中be为当前拥塞链路上为大象流e预约的带宽大小,B为当前所在拥塞链路的带宽容量,t为当前时刻,Tdeadline为大象流e的传输截止时间;按照JW(e)的值为若干条大象流进行升序排序,权重系数越大,保留占用链路资源的优先级越高;
对于第二优先级的若干条大象流,若干条大象流包括传输时间保障型大象流与传输速率保障型大象流,根据预约带宽大小,为某条大象流e定义权重系数JB(e):
其中be为当前拥塞链路上为大象流e预约的带宽大小,B为当前拥塞链路的带宽容量;按照JB(e)的值为多条大象流进行升序排序,权重系数越大,保留占用链路资源的优先级越高;
对于第三优先级的若干条大象流,根据预约带宽大小,为某条大象流e定义权重系数JC(e):
其中be为当前拥塞链路上为大象流e的预约带宽大小,B为当前拥塞链路的带宽容量;按照JC(e)的值为多条大象流进行升序排序,权重系数越大,保留占用链路资源的优先级越高;
对于第四优先级的若干条大象流,根据大象流的已传输流量大小进行升序排序,已传输流量总量越大,其保留占用链路资源的优先级越高;
在已排序的大象流优先级序列中,从前往后依次取出m条大象流,优先级别低的大象流在序列前面,将它们重路由到其他网络链路。
5.根据权利要求4所述的基于大象流预约的带宽分配方法,其特征在于,所述从前往后依次取出m条大象流,具体包括:
若首次执行拥塞避免带宽分配,则m=1,否则,m值的确定取决于当前排列次序靠前的大象流带宽值和前一轮执行重路由的大象流带宽总量的相关约束条件,该约束条件要求所选m条在大象流优先级序列中排列次序靠前的大象流带宽总和大于或等于前一轮执行重路由的所有大象流带宽总和的2倍,并选择满足该约束条件的m值的最小值作为确定的m值。
6.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5任一项所述基于大象流预约的带宽分配方法的步骤。
7.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至5任一项所述基于大象流预约的带宽分配方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011335941.2A CN112615798B (zh) | 2020-11-25 | 2020-11-25 | 一种基于大象流预约的带宽分配方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011335941.2A CN112615798B (zh) | 2020-11-25 | 2020-11-25 | 一种基于大象流预约的带宽分配方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112615798A CN112615798A (zh) | 2021-04-06 |
CN112615798B true CN112615798B (zh) | 2022-05-17 |
Family
ID=75225149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011335941.2A Active CN112615798B (zh) | 2020-11-25 | 2020-11-25 | 一种基于大象流预约的带宽分配方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112615798B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117240788B (zh) * | 2023-11-15 | 2024-03-08 | 南京邮电大学 | 一种基于sdn的数据中心网络拥塞控制方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102984064A (zh) * | 2012-12-28 | 2013-03-20 | 盛科网络(苏州)有限公司 | 区分转发大象流的方法及系统 |
CN104994033A (zh) * | 2015-05-13 | 2015-10-21 | 南京航空航天大学 | 一种资源动态管理的SDN网络QoS保障方法 |
CN106209669A (zh) * | 2016-06-30 | 2016-12-07 | 中国人民解放军国防科学技术大学 | 面向sdn数据中心网络最大概率路径流调度方法及装置 |
CN106453130A (zh) * | 2016-09-30 | 2017-02-22 | 杭州电子科技大学 | 一种基于大象流精确识别的流量调度系统及方法 |
CN107896192A (zh) * | 2017-11-20 | 2018-04-10 | 电子科技大学 | 一种SDN网络中区分业务优先级的QoS控制方法 |
CN109787913A (zh) * | 2019-03-15 | 2019-05-21 | 北京工业大学 | 一种基于sdn的数据中心网络动态负载均衡方法 |
CN110932989A (zh) * | 2019-11-20 | 2020-03-27 | 华南理工大学 | 一种基于sdn数据中心网络的大象流路径监控调度方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9148386B2 (en) * | 2013-04-30 | 2015-09-29 | Cisco Technology, Inc. | Managing bandwidth allocation among flows through assignment of drop priority |
-
2020
- 2020-11-25 CN CN202011335941.2A patent/CN112615798B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102984064A (zh) * | 2012-12-28 | 2013-03-20 | 盛科网络(苏州)有限公司 | 区分转发大象流的方法及系统 |
CN104994033A (zh) * | 2015-05-13 | 2015-10-21 | 南京航空航天大学 | 一种资源动态管理的SDN网络QoS保障方法 |
CN106209669A (zh) * | 2016-06-30 | 2016-12-07 | 中国人民解放军国防科学技术大学 | 面向sdn数据中心网络最大概率路径流调度方法及装置 |
CN106453130A (zh) * | 2016-09-30 | 2017-02-22 | 杭州电子科技大学 | 一种基于大象流精确识别的流量调度系统及方法 |
CN107896192A (zh) * | 2017-11-20 | 2018-04-10 | 电子科技大学 | 一种SDN网络中区分业务优先级的QoS控制方法 |
CN109787913A (zh) * | 2019-03-15 | 2019-05-21 | 北京工业大学 | 一种基于sdn的数据中心网络动态负载均衡方法 |
CN110932989A (zh) * | 2019-11-20 | 2020-03-27 | 华南理工大学 | 一种基于sdn数据中心网络的大象流路径监控调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112615798A (zh) | 2021-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8879561B2 (en) | Dynamic bandwidth queue allocation | |
CN1758693B (zh) | 管理ip话音通信的方法 | |
KR100563656B1 (ko) | 인터넷 차별 서비스 망에서 입력 호 상태를 반영한 적응적연결 수락 제어방법 | |
US8730794B2 (en) | Priority service protection | |
JP2002543669A (ja) | 経路設定装置 | |
JP4838309B2 (ja) | データフローのための統合的リソース予約 | |
CN101160805B (zh) | 保障多业务服务质量的资源管理设备、接入系统及方法 | |
US20020120745A1 (en) | Bandwidth management apparatus and method, program therefor and recording medium with the program recorded thereon | |
JP2001077848A (ja) | 帯域割り当て方法 | |
JP2009543485A (ja) | ネットワーク・トラフィックの配分を制御するための方法、装置及びコンピュータ・プログラム | |
US20090304020A1 (en) | Method and Arrangement in a Data Network for Bandwidth Management | |
CN109274589B (zh) | 业务传输的方法和装置 | |
CN112615798B (zh) | 一种基于大象流预约的带宽分配方法和设备 | |
JP2003078555A (ja) | 適応的ネットワーク負荷分散方式およびパケット交換装置 | |
US20070127419A1 (en) | Enforcing fairness in ad hoc mesh networks | |
CN109088822A (zh) | 数据流量转发方法、装置、系统、计算机设备及存储介质 | |
US20040228276A1 (en) | Preemptive precedence scheduler for communications link bandwidth | |
CN110365588B (zh) | 数据流调度方法、装置及sdn控制器 | |
CN109792411B (zh) | 用于管理端到端连接的设备和方法 | |
US11924110B2 (en) | System and method for prioritizing network traffic in a distributed environment | |
JP2000512453A (ja) | Atmネットワーク管理 | |
KR20120055947A (ko) | 가입자 인지 플로우별 QoS 제공 방법 및 장치 | |
Chooprateep et al. | Video path selection for traffic engineering in SDN | |
JP2008085686A (ja) | 予約受付制御システムと方法およびプログラム | |
Dharam et al. | Advance bandwidth reservation with delay guarantee in high-performance networks |
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 |