一种基于SDN数据中心网络的大象流路径监控调度方法技术

技术编号:23609024 阅读:75 留言:0更新日期:2020-03-28 09:01
本发明专利技术公开了一种基于SDN数据中心网络的大象流路径监控调度方法,具体过程为:交换机接收到数据流时,若为大象流则封装成Packet_in消息上报给控制器;控制器采用路径评估方法为大象流选取一条路径进行传输,并且将大象流所经路径上的链路添加到链路监控表中;控制器定期检查链路监控表中每条链路的负载情况,当某条链路的负载超过一定阈值时,选取一条大象流调度到其它路径上,并且更新链路监控表;同时,控制器根据链路监控表中各路径的负载情况,对链路检测周期进行动态调整。本发明专利技术能够在信令开销和控制器收集的链路状态信息的有效性之间做一个权衡,减小因链路状态信息更新不及时造成的链路拥塞问题,同时节约控制器的计算资源,减小信令开销。

An elephant flow path monitoring and scheduling method based on SDN data center network

【技术实现步骤摘要】
一种基于SDN数据中心网络的大象流路径监控调度方法
本专利技术涉及数据中心网络的
,尤其是指一种基于SDN数据中心网络的大象流路径监控调度方法。
技术介绍
随着云计算等技术的兴起,数据中心在近几年得到了工业界和学术界的广泛关注。通过对真实数据中心网络中的流量进行统计和分析表明,数据中心网络中存在两种不同类型的流量,分别称为老鼠流和大象流。其中,老鼠流在数据中心网络中的数量巨大,占比达到80%,但却携带不超过10%的数据量,持续时间较短,老鼠流通常由网页搜索引擎等应用产生,对传输时延有一定的要求;大象流在数据中心网络中的数量占比较小,不超过20%,但却携带超过90%的数据量,持续时间较长,大象流通常由文件传输和备份等应用产生,对传输的带宽有一定的要求;大象流通常是造成网络拥塞的主要原因,因此,如何对大象流进行有效调度是避免网络拥塞,保障服务质量的关键。随着软件定义网络(SoftwareDefinedNetworking,SDN)新型网络技术的发展,不少研究人员将SDN的网络架构运用在数据中心网络中,提出分布式和集中式结合的调度方法,在一定程度上减小了老鼠流的传输时延和丢包率,并且获得大象流在吞吐量上更好的表现。然而,目前的大多数方法仍然存在着以下几个问题:大多数方法在为大象流选取路径时,通常只采用了链路剩余带宽作为路径的评估指标,而SDN控制器收集的链路剩余带宽具有瞬时性,当大象流到达率比较频繁时,会因下一个检测周期还未达到,链路状态信息得不到及时更新而将大象流分配到链路负载较高的路径,造成链路拥塞问题;此外,SDN控制器大多数都按照固定的周期对网络进行状态收集和监控,过小的检测周期会加大信令的开销,过大的检测周期会造成收集到的网络状态信息不能得到及时的更新,如何根据网络状态对检测周期进行动态调整,在信令开销和网络状态信息的有效性之间做一个权衡也是一个需要继续改进的问题。为提高数据中心网络的性能和保障各项服务的质量,如何实现拥塞避免和网络整体的负载均衡极为重要,因此,如何对数据中心网络中的流量进行合理的调度,提高资源利用率,减小拥塞,是当前数据中心网络建设中需要重点解决的问题。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提出了一种基于SDN数据中心网络的大象流路径监控调度方法,在减小信令开销的同时,能够解决现有方法中因链路状态信息更新不及时造成的链路拥塞问题。为实现上述目的,本专利技术所提供的技术方案为:一种基于SDN数据中心网络的大象流路径监控调度方法,包括以下步骤:1)发送端在发送数据流时对老鼠流和大象流进行标识,交换机接收到数据包时,若为老鼠流,则采用等价多路径ECMP算法进行转发,若为大象流,则将数据包封装成Packet_in消息上报给SDN控制器;2)SDN控制器根据已有的网络拓扑信息,计算出大象流源地址和目的地址之间的k条最短路径,采用最大路径平均可分配剩余带宽方法对各路径进行评估,为大象流选取一条最佳的路径进行传输,同时,将大象流所经路径的链路添加到链路监控表中;其中,k条最短路径能够在网络初始化时提前计算好,并且k设置为源地址和目的地址之间所有等价路径数量的一半,以减小搜索和计算时间;3)SDN控制器周期性地检查链路监控表中各链路的负载情况,当某条链路的负载超过设定阈值时,选取该链路上的一条大象流并重新调度到其它路径上,同时更新链路监控表;当大象流传输结束时,将大象流所经链路从链路监控表中删除;其中,在每一次检测周期结束时,根据当前链路监控表中各链路的负载情况对检测周期进行动态调整。在步骤1)中,采用发送端对数据流进行标识的方法对老鼠流和大象流进行区分,当发送端在发送数据流时缓存中的累积存储量超过设置的阈值时,则将该数据流数据包头的TOS字段设置为1,表示该数据流为大象流,否则将TOS字段设置为0,表示该数据流为老鼠流;交换机上提前下发默认的流表,当匹配到TOS字段为0的数据流时,采用等价多路径ECMP算法进行转发,当匹配到TOS字段为1的数据流时,将数据流封装成Packet_in消息上报给SDN控制器。在步骤2)中,所述最大路径平均可分配剩余带宽方法的具体步骤如下:2.1)SDN控制器通过链路计数表为各链路设置一个计数器,用于保存各链路在两个检测周期之间新增的大象流数目;2.2)SDN控制器计算出大象流源地址和目的地址之间的k条最短路径,记为P={P1,P2,...,Pk};对于每一条最短路径Pi,由n条链路组成,根据SDN控制器收集到的交换机各端口的状态信息,计算Pi上各链路的剩余带宽,记为free_bandwidthi={free_bandwidthi1,free_bandwidthi2,...,free_bandwidthin},其中,free_bandwidthij为路径Pi上第j条链路上的剩余带宽大小,i=1,2,…,k,j=1,2,…,n;2.3)对于每一条最短路径Pi,将每条链路上的大象流数目记为elephant_numberi={elephant_numberi1,elephant_numberi2,...,elephant_numberin},其中,elephant_numberij为路径Pi上第j条链路在两个检测周期之间新增的大象流数目,i=1,2,…,k,j=1,2,…,n;2.4)对于每一条最短路径Pi,计算各链路上新增的每条大象流可分配到的平均剩余带宽大小,作为该链路的平均可分配剩余带宽,记为equal_bandwidthij,其中,equal_bandwidthij为路径Pi上第j条链路的平均可分配剩余带宽,i=1,2,…,k,j=1,2,…,n;2.5)对于每一条最短路径Pi,选取该路径上具有最小平均可分配剩余带宽的链路,作为该路径的平均可分配剩余带宽,记为equal_bandwidthi,其中,equal_bandwidthi=min(equal_bandwidthi1,equal_bandwidthi2,...,equal_bandwidthin},equal_bandwidthi为路径Pi的平均可分配带宽,i=1,2,…,k;2.6)选择k条最短路径中具有最大路径平均可分配剩余带宽的路径作为大象流的传输路径:choose_path=max(equal_bandwidth1,equal_bandwidth2,...,equal_bandwidthk}同时将该大象流所经路径的链路添加到链路监控表中,更新链路监控表中的信息,并且将链路计数表中对应链路上的大象流数目加1;2.7)当下一个检测周期到来时,各链路的剩余带宽信息能够得到更新,此时将链路计数表中各链路上的大象流数目重新设置为0;在下一个检测周期中,若接收到大象流,重复步骤2.1)-2.6)为大象流选择路径。在步骤3)中,链路监控表主要记录被监控的链路以及该链路上所经过大象流的源IP地址和目的IP地址;SDN控制器周期性地对链路监控表中的链路进行检查;首先,判断该链路上是否只存在一本文档来自技高网
...

【技术保护点】
1.一种基于SDN数据中心网络的大象流路径监控调度方法,其特征在于,包括以下步骤:/n1)发送端在发送数据流时对老鼠流和大象流进行标识,交换机接收到数据包时,若为老鼠流,则采用等价多路径ECMP算法进行转发,若为大象流,则将数据包封装成Packet_in消息上报给SDN控制器;/n2)SDN控制器根据已有的网络拓扑信息,计算出大象流源地址和目的地址之间的k条最短路径,采用最大路径平均可分配剩余带宽方法对各路径进行评估,为大象流选取一条最佳的路径进行传输,同时,将大象流所经路径的链路添加到链路监控表中;其中,k条最短路径能够在网络初始化时提前计算好,并且k设置为源地址和目的地址之间所有等价路径数量的一半,以减小搜索和计算时间;/n3)SDN控制器周期性地检查链路监控表中各链路的负载情况,当某条链路的负载超过设定阈值时,选取该链路上的一条大象流并重新调度到其它路径上,同时更新链路监控表;当大象流传输结束时,将大象流所经链路从链路监控表中删除;其中,在每一次检测周期结束时,根据当前链路监控表中各链路的负载情况对检测周期进行动态调整。/n

【技术特征摘要】
1.一种基于SDN数据中心网络的大象流路径监控调度方法,其特征在于,包括以下步骤:
1)发送端在发送数据流时对老鼠流和大象流进行标识,交换机接收到数据包时,若为老鼠流,则采用等价多路径ECMP算法进行转发,若为大象流,则将数据包封装成Packet_in消息上报给SDN控制器;
2)SDN控制器根据已有的网络拓扑信息,计算出大象流源地址和目的地址之间的k条最短路径,采用最大路径平均可分配剩余带宽方法对各路径进行评估,为大象流选取一条最佳的路径进行传输,同时,将大象流所经路径的链路添加到链路监控表中;其中,k条最短路径能够在网络初始化时提前计算好,并且k设置为源地址和目的地址之间所有等价路径数量的一半,以减小搜索和计算时间;
3)SDN控制器周期性地检查链路监控表中各链路的负载情况,当某条链路的负载超过设定阈值时,选取该链路上的一条大象流并重新调度到其它路径上,同时更新链路监控表;当大象流传输结束时,将大象流所经链路从链路监控表中删除;其中,在每一次检测周期结束时,根据当前链路监控表中各链路的负载情况对检测周期进行动态调整。


2.根据权利要求1所述的一种基于SDN数据中心网络的大象流路径监控调度方法,其特征在于:在步骤1)中,采用发送端对数据流进行标识的方法对老鼠流和大象流进行区分,当发送端在发送数据流时缓存中的累积存储量超过设置的阈值时,则将该数据流数据包头的TOS字段设置为1,表示该数据流为大象流,否则将TOS字段设置为0,表示该数据流为老鼠流;交换机上提前下发默认的流表,当匹配到TOS字段为0的数据流时,采用等价多路径ECMP算法进行转发,当匹配到TOS字段为1的数据流时,将数据流封装成Packet_in消息上报给SDN控制器。


3.根据权利要求1所述的一种基于SDN数据中心网络的大象流路径监控调度方法,其特征在于:在步骤2)中,所述最大路径平均可分配剩余带宽方法的具体步骤如下:
2.1)SDN控制器通过链路计数表为各链路设置一个计数器,用于保存各链路在两个检测周期之间新增的大象流数目;
2.2)SDN控制器计算出大象流源地址和目的地址之间的k条最短路径,记为P={P1,P2,...,Pk};对于每一条最短路径Pi,由n条链路组成,根据SDN控制器收集到的交换机各端口的状态信息,计算Pi上各链路的剩余带宽,记为free_bandwidthi={free_bandwidthi1,free_bandwidthi2,...,free_bandwidthin},其中,free_bandwidthij为路径Pi上第j条链路上的剩余带宽大小,i=1,2,…,k,j=1,2,…,n;
2.3)对于每一条最短路径Pi,将每条链路上的大象流数目记为elephant_numberi={elephant_numberi1,elephant_numberi2,...,elephant_numberin},其中,elephant_numberij为路径Pi上第j条链路在两个检测周期之间新增的大象流数目,i=1,2,…,k,j=1,2,…,n;
2.4)对于每一条最短路径Pi,计算各链路上新增的每条大象流可分配到的平均剩余带宽大小,作为该链路的平均可分配剩余带宽,记为equal_bandwidthij,其中,equal_bandwidthij为路径Pi上第j条链路的平均可分配剩余带宽,i=1...

【专利技术属性】
技术研发人员:董守玲黄冰
申请(专利权)人:华南理工大学
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1