CN107819695A - 一种基于sdn的分布式控制负载均衡系统与方法 - Google Patents

一种基于sdn的分布式控制负载均衡系统与方法 Download PDF

Info

Publication number
CN107819695A
CN107819695A CN201710974820.4A CN201710974820A CN107819695A CN 107819695 A CN107819695 A CN 107819695A CN 201710974820 A CN201710974820 A CN 201710974820A CN 107819695 A CN107819695 A CN 107819695A
Authority
CN
China
Prior art keywords
sdn
convergence
link
layer
switch
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.)
Granted
Application number
CN201710974820.4A
Other languages
English (en)
Other versions
CN107819695B (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.)
Xidian University
CETC 54 Research Institute
Original Assignee
Xidian University
CETC 54 Research Institute
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 Xidian University, CETC 54 Research Institute filed Critical Xidian University
Priority to CN201710974820.4A priority Critical patent/CN107819695B/zh
Publication of CN107819695A publication Critical patent/CN107819695A/zh
Application granted granted Critical
Publication of CN107819695B publication Critical patent/CN107819695B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/121Shortest path evaluation by minimising delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9057Arrangements for supporting packet reassembly or resequencing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于SDN的分布式控制负载均衡系统与方法,主要解决现有小规模单数据中心网络中分布式扩展、网络开销、负载不均、链路拥塞的问题。本发明的系统包括三层Clos底层网络和两个SDN控制器,该SDN控制器中增设链路信息、路由表及路由计算模块,上述模块共同作用为数据流计算路径。负载均衡方法是采用两步路径选择,在末端主机缓冲区将数据流分割为流切片,由两个控制器分别对两个区域网路进行局部链路信息监控和收集,且将交换机的各端口排队时延作为链路信息进行优化选择路由链路。本发明在三层Clos网路中采用分布式多控制器以及两步路径选择,网络均衡效果显著,用于大规模单数据中心网络的负载均衡控制。

Description

一种基于SDN的分布式控制负载均衡系统与方法
技术领域
本发明属于通信网络技术领域,涉及一种分布式控制负载均衡技术,具体是一种基于SDN的分布式控制负载均衡系统与方法,可用于Clos结构的数据中心网络。
背景技术
近些年,随着互联网业务的快速增长,使得数据中心网络操作变得越加复杂。目前在数据中心网络中对流量的管理操作主要分为两种策略。一种是与用户业务相关的策略,例如网页浏览,搜索查询等用户业务;这种策略主要针对的是鼠流,流量通过用户业务产生,针对用户特殊的SLA业务,鼠流在传输的时候往往需要短的持续时间,也即是短的流量完成时间(FCT)。另一种策略操作的流量是通过虚拟机迁移、数据备份以及分布式计算操作产生的,这种流量代表的是象流,这种流量是通过各种带有长持续时间的应用产生。象流往往需要被提供足够的带宽,例如需求的吞吐是高于最低可以接受的吞吐,而对时间没有严格的限制。
混合两种流量的网络即需要实现快速的流量完成时间(FCT)性能,又需要实现高的吞吐性能需求,因此,这是一种挑战。传统的网络策略中,等价多路径ECMP(Equal CostMulti Path)往往被用于数据中心网络中默认的路由算法;对于数据流,由于在源目的服务器对之间存在很多等价多路径,ECMP通过对数据流中数据包头文件中五元数组的哈希匹配,将数据流的数据包依次转发到不同的短路径上,实现网络的负载均衡,提高了网络利用率。但是ECMP策略有很多缺陷,例如,ECMP不能区分象鼠流,在链路传输或者交换机内部缓冲队列时,鼠流进场排队在象流的后面,造成鼠流长的排队时延以及尾部时延。ECMP也不能充分利用链路的带宽资源,对于带宽需求较大的两条流量, ECMP在对流量哈希运算时,很可能将两条象流哈希到相同的路径上,造成哈希碰撞,而网络中其他的链路处于空闲的状态,因此ECMP不能很好的利用链路资源,降低了网络资源利用率。
针对ECMP方案的缺陷问题,目前有许多研究者提出了相应的方案来解决网络的性能问题。这些工作总结起来分为三种,分别是:(1)一种性能权衡折中的方案,即是约束一个性能条件去优化另一个性能条件。(2)有优先级调度的流量工程。(3)修改目前的数据中心网络架构,例如通过OpenFlow交换机去修改TCP协议栈。对于第三种工作,利用软件定义网络(SDN)技术去解决数据中心网络中负载均衡问题。在基于SDN 的数据中心网络中,为了避免大规模多数据中心网络中分布式多控制器之间的负载均衡问题,文章“Balancingtraffic load for devolved controllers in data center networks”中提出了从交换机的迁移角度来解决数据中心网络之间的负载问题,文章中分别提出了集中式和分布式的迁移算法来实现交换机的迁移,从而保持网络的动态均衡。但是这种分布式多控制器的方案没有考虑从细粒度的角度来解决大规模单数据中心网络内部的负载均衡问题。为了避免小规模单数据中心网络中集中式单控制器的负载均衡问题,文章“DiffFlow:Differentiating Short and Long Flows for Load Balancing in Data CenterNetworks”中提出使用大小流区分调度来解决单数据中心网络内部的负载均衡问题。但是这种集中式单控制器的方案没有考虑分布式扩展的问题,网络的开销以及单控制器的负载问题。
针对网络内部不同流量的性能需求,网络研究工作者提出了等价多路径的负载均衡方案来优化网络的性能,但是传统的等价多路径负载均衡方案有一些缺陷问题,比如该方案不能区分象鼠流,造成长的排队时延,以及该方案不能充分利用网络资源利用率,降低了网络的性能。针对传统多路径方案的缺陷,相应提出的负载均衡方案,比如象鼠流区分方案,流量工程方案以及基于SDN思想的负载均衡方案。针对基于SDN 思想的负载均衡方案,目前现有技术中主要有两种方案,分别是面向大规模多数据中心网络的分布式多控制器负载均衡方案和面向小规模单数据中心网络的集中式单控制器负载均衡方案,面向大规模多数据中心网络的分布式多控制器负载均衡方案解决了多数据中心网络之间的负载不均问题,但没有解决细粒度导致的大规模单数据中心网络内部的流量不均问题。面向小规模单数据中心网络的集中式单控制器负载均衡方案解决了单数据中心网络内部的负载不均问题,但没有解决大规模单数据中心网络分布式扩展问题,不能适应大规模数据中心网络的应用需求,以及大规模网络全局控制带来的网络开销问题和集中式单控制器的负载问题。
发明内容
本发明的目的在于针对现有技术的不足和问题,提出一种网络负载均衡效果显著,能适用于大规模单数据中心网络的一种基于SDN的分布式控制负载均衡系统与方法。
本发明是一种基于SDN的分布式控制负载均衡系统,包括有三层Clos拓扑结构、SDN 控制器,Clos结构从下往上依次包括有边缘层、汇聚层、核心层以及末端服务器,每层上分别都部署有交换机,相邻层通过交换机链接形成网络,SDN控制器对网络进行全局集中控制,其特征在于,所述SDN控制器设为两个独立的控制器,分别为SDN控制器1 和SDN控制器2,两个控制器分别增设有各自的路由计算模块、链路信息模块以及路由表模块,路由计算模块根据链路信息模块获取的链路信息对数据流进行路由计算,并以流表的形式将路由信息存储在路由表模块中;所述Clos拓扑结构中,核心层设有n个独立的核心块,每个核心块包含m个核心层SDN交换机,边缘层和汇聚层以上下层架构共同构成p个独立的pod结构,其中每个pod结构包括n个汇聚层SDN交换机和r个边缘层SDN交换机,每一个pod结构内,每个边缘层SDN交换机分别与n个汇聚层SDN交换机互连,边缘层SDN交换机位于边缘层,汇聚层SDN交换机位于汇聚层,每个汇聚层SDN交换机分别单独与每个核心块关联,具体是通过汇聚层SDN交换机与核心块中所有m个核心层SDN 交换机连接形成互连;SDN控制器1和SDN控制器2分别对区域网络1和区域网络2进行分布式局部集中控制,所述区域网络1是边缘层和汇聚层之间通过SDN交换机链接形成的网络,区域网络2是汇聚层和核心层之间通过SDN交换机链接形成的网络,所有交换机均用于数据包的转发,服务器用于产生和接受数据流。
本发明还是一种基于SDN的分布式控制负载均衡方法,在权利要求1-3所述的基于SDN的分布式控制负载均衡系统上实现,其特征在于,分布式控制负载均衡过程包括有如下步骤:
(1)网络初始化:
1a)在拥有p个pod结构的三层Clos网络中,对所有的交换机和服务器进行32位的二进制编制,分别得到所有交换机和服务器的地址;
1b)SDN控制器1获得边缘层和汇聚层之间的链路信息,并将该信息存储在链路信息模块中;SDN控制器2获得汇聚层和核心层之间的链路信息,并将该信息存储在链路信息模块中;
1c)SDN控制器1给每个边缘层交换机下发流表并对边缘层区域网络1进行集中控制, SDN控制器2给每个汇聚层交换机下发流表并对汇聚层区域网络2进行集中控制。
(2)数据流分割:
2a)末端服务器中的源端服务器产生数据流;
2b)在源端服务器缓冲区对数据流设置分割阈值t;
2c)如果数据流在缓冲区中的累积存储量超过设定的分割阈值t,则将该数据流进行分割为多个数据包组成的流切片,使流切片大小小于分割阈值t。
(3)计算数据流的路径:采用两步路径选择计算,具体包括如下步骤:
3a)在SDN控制器1中,路由计算模块根据每条流切片中首个数据包的源服务器地址和目的服务器地址,查询链路信息模块中存储的边缘层和汇聚层之间的链路信息,按照所存储的链路信息的负载程度,选出一对理想的、轻负载的源边缘层链路和目的边缘层链路,也即是这条流切片内的每个数据包转发的源目的边缘层链路,同时由于Clos架构的多路径特殊性,所获取源目的边缘层链路对应的源目的汇聚层交换机的ID是对应相同的;然后SDN控制器1将获取的每条流切片的首个数据包转发的理想源目的汇聚层交换机地址发送给SDN控制器2;
3b)在SDN控制器2中,路由计算模块根据每条流切片首个数据包转发的理想源目的汇聚层交换机地址,查询链路信息模块中存储的汇聚层和核心层之间的链路信息,按照所存储的链路信息的负载程度,选出一对理想的、轻负载的源汇聚层链路和目的汇聚层链路,也即是这条流切片内的每个数据包转发的源目的汇聚层链路;
3c)两个控制器中路由计算模块分别查询路由表模块中存储的信息,判断步骤3a)和 3b)分别得到的源目的边缘层链路和源目的汇聚层链路是否已承载流切片:如果没有,则路由计算结束,执行步骤(4);反之,分别返回步骤3a)和3b)。
(4)更新流的路由信息:
4a)SDN控制器1和SDN控制器2分别将流切片的路由信息更新至各控制器中路由表模块存储的信息中;
4b)SDN控制器1和SDN控制器2分别将该流切片的路由信息以流表的形式下发到所有的边缘层交换机和汇聚层交换机上。
(5)实现流的负载均衡过程:
5a)流切片的所有数据包到达与源端服务器相连的源边缘层交换机,源边缘层交换机即是边缘层上与源端服务器相连的边缘层交换机;
5b)源边缘层交换机根据流切片中每个数据包的到达顺序,并通过源边缘层交换机上下发的流表进行源目的地址和流条目的匹配,依次将流切片的每个数据包转发到理想的、轻负载的源边缘层链路上;
5c)流切片的所有数据包到达与边缘层链路相连的源汇聚层交换机;
5d)源汇聚层交换机使用同样的方式,根据汇聚层交换机上的流表,将流切片上的每个数据包依次转发到理想的核心层交换机上;
5e)最后流切片的数据包被转发到目的边缘层交换机上,目的端边缘层交换机将流切片转发给目的服务器,会话结束,进入会话连接拆除阶段;
5f)目的端服务器向源端服务器发送用于会话连接拆除的数据包,该数据包到达目的端边缘层交换机时,由目的端边缘层交换机将该数据包信息分别发送给两个SDN控制器;
5g)两个SDN控制器根据该数据包信息将路由表模块中存储该流切片对应的路由信息删除,实现流切片的整个负载均衡过程。
(6)循环执行步骤(2)-(5),实现基于SDN的分布式控制负载均衡系统数据流的负载均衡过程。
本发明针对现有技术方案的不足,提出了一种基于SDN的分布式控制负载均衡系统与方法,解决了数据中心网络内部存在的负载不均和链路拥塞问题。
本发明与现行技术相比具有的优点:
1)本发明由于利用了三层Clos数据中心网络的多路径特性,针对大规模单数据中心网络,采用分布式多控制器的方式,分别对区域网络1和区域网络2部署SDN控制器1和SDN控制器2,并通过两个控制器对各自管控区域网络信息进行监控和收集,实现数据流的多路径路由策略,克服了集中式单控制器小规模数据中心网络的分布式扩展问题。
2)本发明针对大规模单数据中心网络,利用分布式多控制器的方式,分别对区域网络1和区域网络2实现分布式局部网络信息监控和收集,克服了大规模数据中心网路的开销问题。
3)本发明针对大规模单数据中心网络,在末端主机缓冲区实现对数据流分割为流切片,由于利用三层Clos数据中心网络的多路径特性,实现了细粒度流切片的多路径路由策略,克服了大规模数据中心网络中的细粒度流量均衡问题。
4)本发明由于利用了三层Clos数据中心网络的多路径特性,采用两步路径选择的方式分别在边缘层区域网络1,通过SDN控制器1选择理想的、轻负载的源目的边缘层链路;在汇聚层区域网络2,通过SDN控制器2选择理想的、轻负载的源目的汇聚层链路,从而实现对数据流的多路径路由策略,克服了大规模数据中心网络中存在的负载均衡问题。
5)本发明由于在末端主机Socket缓冲区内设置了数据流分割的阈值,通过TSO(TCP Segmentation OFFload)技术实现数据流分割为流切片,克服了多路径路由策略可能带来的数据包乱序问题。
6)本发明由于对三层Clos数据中心网络中的交换机设置了多队列机制,通过SDN控制器对交换机各端口缓冲队列的排队时延进行计算、监控和收集,并将其作为链路信息,实现了一种拥塞意识的负载均衡方法,克服了大规模数据中心网络中存在的链路拥塞的问题。
附图说明
图1是本发明的通信系统示意图;
图2是本发明实现分布式控制负载均衡的流程图;
图3是本发明实现两步路径选择的路由计算流程图。
具体实施方式
下面结合附图对本发明的实施方式做进一步详细描述。
实施例1
现有负载均衡方案主要有两种,分别是面向大规模多数据中心网络的分布式多控制器负载均衡方案和面向小规模单数据中心网络的集中式单控制器负载均衡方案,面向大规模多数据中心网络的分布式多控制器负载均衡方案解决了多数据中心网络之间的负载不均问题,但没有解决细粒度导致的大规模单数据中心网络内部的流量不均问题。面向小规模单数据中心网络的集中式单控制器负载均衡方案,解决了单数据中心网络内部的负载不均问题,但没有解决大规模单数据中心网络分布式扩展问题,不能适应大规模数据中心网络的应用需求。为了适应新的大规模单数据中心网络的应用需求,本发明开展了创新与研究,提出一种基于SDN的分布式控制负载均衡系统,包括有三层Clos拓扑结构、 SDN控制器,Clos结构从下往上依次包括有边缘层、汇聚层、核心层以及末端服务器,每层上分别都部署有交换机,相邻层通过交换机链接形成网络,SDN控制器对网络进行全局集中控制,参见图1,本发明的SDN控制器设为两个独立的控制器,分别为SDN控制器1和 SDN控制器2,两个控制器分别增设有各自的路由计算模块、链路信息模块以及路由表模块,路由计算模块根据链路信息模块获取的链路信息对数据流进行路由计算,并以流表的形式将路由信息存储在路由表模块中。本发明的Clos拓扑结构中,核心层设有n个独立的核心块,每个核心块包含m个核心层SDN交换机,边缘层和汇聚层以上下层架构共同构成p个独立的pod结构,其中每个pod结构包括n个汇聚层SDN交换机和r个边缘层SDN交换机,每一个pod结构内,每个边缘层SDN交换机分别与n个汇聚层SDN交换机互连,边缘层 SDN交换机位于边缘层,汇聚层SDN交换机位于汇聚层,每个汇聚层SDN交换机分别单独与每个核心块关联,具体是通过汇聚层SDN交换机与核心块中所有m个核心层SDN交换机连接形成互连;SDN控制器1和SDN控制器2分别对区域网络1和区域网络2进行分布式局部控制,本发明区域网络1是边缘层和汇聚层之间通过SDN交换机链接形成的网络,区域网络2是汇聚层和核心层之间通过SDN交换机链接形成的网络。参见图1,具体实施过程中,SDN控制器1只对区域网络1中所有边缘层SDN交换机的向上链路信息进行监控和收集,SDN控制器2 只对区域网络2中所有汇聚层SDN交换机的向上链路信息进行监控和收集,所有交换机均用于数据包的转发,服务器用于产生和接受数据流。
本例中,基于SDN的分布式多控制器负载均衡系统,相比于现有集中式单控制器技术,多增设了一个SDN控制器,用于大规模单数据中心网络的分布式扩展,两个SDN控制器分别对区域网络1和区域网络2进行分布式控制;该系统采用三层Clos架构,架构中有p个pod结构,本例中p=2,即Clos架构中有2个pod结构,每一个pod结构内,汇聚层SDN交换机的数量n=4,边缘层SDN交换机的数量是r=3,核心层上核心块的数量n=4,每个核心块中核心层SDN交换机的数量是m=2,各交换机数量的设定是相互无约束的,具体的设定依赖于网络规模。比如随着网络规模的扩大,SDN控制器的数量设置为两个,系统中各SDN交换机的数量会多于本例中设定的数值。
实施例2
基于SDN的分布式控制负载均衡系统的总体构成同实施例1,本发明SDN控制器中的链路信息模块,用于存储区域网络的链路信息;路由表模块,用于存储流的路由信息;路由计算模块,用于查询链路信息模块和路由表模块中存储的信息,并根据所查询的信息为流计算路径;对于链路信息模块中链路信息的监控和收集,SDN控制器会首先通过一个Packet_out消息向所有与之相连的SDN交换机发送LLDP(链路发现协议)数据包,这些SDN交换机收到该消息后会向自己的所有端口发出LLDP数据包,如果某个SDN交换机接收到了这些发出来的LLDP数据包,就会通过Packet_in消息将源目的交换机之间的链路信息发送给SDN控制器,SDN控制器将收集的链路信息存储在链路信息模块中,SDN控制器1和SDN控制器2分别对区域网络1和区域网络2进行分布式局部网络信息收集,相比于现有集中式单控制器的全局网络信息收集,用于大规模数据中心网络时,减小了网络的开销;对于路由计算模块中数据流路径的计算,SDN控制器根据链路信息模块中获取的链路信息并利用两部路径选择路由计算出与源目的端服务器相连的源目的交换机之间的路由信息,并以 IP地址和MAC地址为依据将对应的交换机转发端口号写入相应交换机的流表项中;对于路由表模块中存储的路由信息,SDN控制器通过流表来存储数据流的路由信息,流表包括包头域(匹配包头多个域)、活动计数器、0个或多个执行行动,对每一个数据包进行查找,如果匹配则执行相关策略,否则通过安全通道将包转发到SDN控制器,SDN控制器来决策相关行为,流表项可以将包转发到一个或者多个接口。
本发明针对大规模单数据中心网络,利用分布式多控制器的方式,分别对区域网络1 和区域网络2实现分布式局部网络信息监控和收集,克服了大规模数据中心网路的开销问题。
实施例3
基于SDN的分布式控制负载均衡系统的总体构成同实施例1-2,本发明的SDN控制器1,用于获取边缘层到汇聚层之间即区域网络1的所有链路信息、并对所有的边缘层SDN交换机下发流表和对区域网络1进行集中控制。本发明的SDN控制器2,用于获取汇聚层到核心层之间即区域网络2的所有链路信息,并对所有的汇聚层SDN交换机下发流表和对区域网络2进行集中控制;对于SDN控制器的功能,两个SDN控制器分别通过南向接口协议 (OpenFlow协议)对各自管控区域网络进行链路发现、链路信息管理、路由策略制定以及流表项下发等,链路发现和链路信息管理主要是SDN控制器利用交换机上报的信息进行统一管理,而路由策略制定和流表下发则是SDN控制器向交换机发送控制信息从而实现统一控制,SDN控制器主要使用LLDP(链路层发现协议)作为链路协议,该协议可将设备的能力、管理地址以及设备标识等一系列信息组织并将其封装为LLDPDU报文发布给自己的直接邻居,邻居收到这些信息保存,以供网络管理系统查询机判断链路的通信状况。链路信息管理作用是为了随时监控和采集网络中SDN交换机的信息,及时反馈网络的设备工作状态和链路链接状态,SDN控制器一般通过发生Packet_out消息来获取SDN交换机的链路状态信息,路由策略制定需要针对特定的网络传输需求进行制定,SDN控制器制定策略后会将相应的转发策略生成对应的流表项下发给SDN交换机,流表项下发有主动和被动两种模式,主动的流表项下发(静态)是指在传输数据前就下发了流表项,因此当数据包到达时,SDN交换机就知道该如何转发了,被动的流表下发(动态)是指当SDN交换机接收到第一个数据包时,因为不存在相关的流表项,会将数据包发送给SDN控制器处理,当 SDN控制器确定了相应的处理方式后,就会将相关流表项下发到SDN交换机,SDN交换机在下一次就可以直接转发了。相比于现有集中式单控制器方案,本发明用于大规模数据中心网络时,通过设置两个SDN控制器对网络进行分布式控制,实现了单数据中心网络的分布式扩展。
本发明由于利用了三层Clos数据中心网络的多路径特性,针对大规模单数据中心网络,采用分布式多控制器的方式,分别对区域网络1和区域网络2部署SDN控制器1和SDN控制器2,并通过两个控制器对各自管控区域网络信息进行监控和收集,实现数据流的多路径路由策略,克服了集中式单控制器小规模数据中心网络的分布式扩展问题。
实施例4
本发明还是一种基于SDN的分布式控制负载均衡方法,在上述的基于SDN的分布式控制负载均衡系统上实现,基于SDN的分布式控制负载均衡系统的总体构成同实施例1-3,参见图2,分布式控制负载均衡过程包括有如下步骤:
(1)网络初始化:
1a)在拥有p个pod结构的三层Clos网络中,对所有的交换机和服务器进行32位的二进制编制,分别得到所有交换机和服务器的地址;
1b)SDN控制器1获得边缘层和汇聚层之间的链路信息,并将该信息存储在链路信息模块中;SDN控制器2获得汇聚层和核心层之间的链路信息,并将该信息存储在链路信息模块中;
1c)SDN控制器1给每个边缘层交换机下发流表并对边缘层区域网络1进行集中控制,SDN控制器2给每个汇聚层交换机下发流表并对汇聚层区域网络2进行集中控制。
(2)数据流分割:
2a)末端服务器中的源端服务器产生数据流;
2b)在源端服务器缓冲区对数据流设置分割阈值t;
2c)如果数据流在缓冲区中的累积存储量超过设定的分割阈值t,则将该数据流进行分割为多个数据包组成的流切片,使流切片大小小于分割阈值t。
(3)计算数据流的路径:采用两步路径选择计算,参见图3,具体包括如下步骤:
3a)在SDN控制器1中,路由计算模块根据每条流切片中首个数据包的源服务器地址和目的服务器地址,查询链路信息模块中存储的边缘层和汇聚层之间的链路信息,按照所存储的链路信息的负载程度,选出一对理想的、轻负载的源边缘层链路和目的边缘层链路,也即是这条流切片内的每个数据包转发的源目的边缘层链路,同时由于Clos架构的多路径特殊性,所获取源目的边缘层链路对应的源目的汇聚层交换机的ID是对应相同的;然后SDN控制器1将获取的每条流切片的首个数据包转发的理想源目的汇聚层交换机地址发送给SDN控制器2;
3b)在SDN控制器2中,路由计算模块根据每条流切片首个数据包转发的理想源目的汇聚层交换机地址,查询链路信息模块中存储的汇聚层和核心层之间的链路信息,按照所存储的链路信息的负载程度,选出一对理想的、轻负载的源汇聚层链路和目的汇聚层链路,也即是这条流切片内的每个数据包转发的源目的汇聚层链路;
3c)两个控制器中路由计算模块分别查询路由表模块中存储的路由信息,判断步骤 3a)和3b)分别得到的源目的边缘层链路和源目的汇聚层链路是否已承载流切片:如果没有,则路由计算结束,执行步骤(4);反之,分别返回步骤3a)和3b)。
本发明采用两步路径选择计算,通过SDN控制器1根据边缘层和汇聚层之间的链路信息,选择理想的、轻负载的源目的边缘层链路;通过SDN控制器2根据汇聚层和核心层之间的链路信息,选择理想的、轻负载的源目的汇聚层链路,实现数据流转发路径的计算。
(4)更新流的路由信息:
4a)SDN控制器1和SDN控制器2分别将流切片的路由信息更新至各控制器中路由表模块存储的信息中;
4b)SDN控制器1和SDN控制器2分别将该流切片的路由信息以流表的形式下发到所有的边缘层交换机和汇聚层交换机上。
(5)实现流的负载均衡过程:
5a)流切片的所有数据包到达与源端服务器相连的源边缘层交换机,源边缘层交换机即是边缘层上与源端服务器相连的边缘层交换机;
5b)源边缘层交换机根据流切片中每个数据包的到达顺序,并通过源边缘层交换机上下发的流表进行源目的地址和流条目的匹配,依次将流切片的每个数据包转发到理想的、轻负载的源边缘层链路上;
5c)流切片的所有数据包到达与边缘层链路相连的源汇聚层交换机;
5d)源汇聚层交换机使用同样的方式,根据汇聚层交换机上的流表,将流切片上的每个数据包依次转发到理想的核心层交换机上;
5e)最后流切片的数据包被转发到目的边缘层交换机上,目的端边缘层交换机将流切片转发给目的服务器,会话结束,进入会话连接拆除阶段;
5f)目的端服务器向源端服务器发送用于会话连接拆除的数据包,该数据包到达目的端边缘层交换机时,由目的端边缘层交换机将该数据包信息分别发送给两个SDN控制器;
5g)两个SDN控制器根据该数据包信息将路由表模块中存储该流切片对应的路由信息删除,实现流切片的整个负载均衡过程。
(6)循环执行步骤(2)-(5),实现基于SDN的分布式控制负载均衡系统数据流的负载均衡过程。
本发明的技术思路:通过对网络的初始化,完成各交换机和服务器的地址分配,部署两个SDN控制器分别对各区域网络链路信息的获取,所述的区域网络分别是边缘层和汇聚层之间的区域网络,以及汇聚层和核心层之间的区域网络。边缘层交换机和汇聚层交换机用于匹配流切片的默认流表的下发;通过两个控制器分别计算边缘层链路和汇聚层链路,所述的边缘层链路和汇聚层链路分别是边缘层和汇聚层之间的链路以及汇聚层和核心层之间的链路。通过流在源边缘层交换机处实现流的分割;通过两步路径选择的方式分别在边缘层交换机和汇聚层交换机处对流切片进行多路径路由。
本发明针对大规模单数据中心网络,在末端主机缓冲区实现对数据流分割为流切片,由于利用三层Clos数据中心网络的多路径特性,实现了细粒度流切片的多路径路由策略,克服了大规模数据中心网络中的细粒度流量均衡问题。
实施例5
基于SDN的分布式控制负载均衡系统和方法同实施例1-4,在基于SDN的分布式控制负载均衡方法的步骤(2)中分割阈值t的大小设定为64KB,使用的是TSO(TCPSegmentation Offload)技术,网络接口一次能处理的最大缓冲大小是64KB,也就意味着只要TCP的数据包大小不超过64KB,就不用在内核中分片,而只需一次性的推送到网络接口,由网络接口去执行分片功能;其中步骤(2)中对大小超过分割阈值t的数据流进行分割,采用的是TSO(TCP Segmentation Offload)技术,TSO技术是一种利用网卡分割大数据包,减小CPU负荷的一种网络性能优化技术。TSO技术能够使用网络协议栈将服务器缓冲区大小超过64KB的数据流推送至网卡,然后网卡执行分片工作,实现数据流分割为流切片。
本发明由于在末端主机Socket缓冲区内设置了数据流分割的阈值,通过TSO(TCPSegmentation OFFload)技术实现数据流分割为流切片,克服了多路径路由策略可能带来的数据包乱序问题。
实施例6
基于SDN的分布式控制负载均衡系统和方法同实施例1-5,在基于SDN的分布式控制负载均衡方法的步骤(3)中所述的链路信息即链路信息模块存储的链路信息是使用与各链路相连交换机的端口缓冲队列中排队时延作为链路信息。对于端口缓冲排队时延的计算,首先对交换机各出端口缓冲处设置FIFO多队列机制,然后计算流切片的首个数据包从交换机输入到从端口缓冲队列输出的时间D,即是排队时延,将端口排队时延作为链路信息;
式中交换机的传输速率是T,交换机的额服务速率是S,数据包的到达速率是 A,交换机的利用率是U,数据包的平均大小是P。
本发明由于对三层Clos数据中心网络中的交换机设置了多队列机制,通过SDN控制器对交换机各端口缓冲队列的排队时延进行计算、监控和收集,并将其作为链路信息,实现了一种拥塞意识的负载均衡方法,克服了大规模数据中心网络中存在的链路拥塞的问题。
实施例7
基于SDN的分布式控制负载均衡系统和方法同实施例1-6,参见图1和3,在基于SDN的分布式控制负载均衡方法的步骤(3)中两步路径选择路由计算的具体过程包括:
3a1)SDN控制器1选择理想的、轻负载的源目的边缘层链路,即是选择理想的源目的汇聚层交换机。通过SDN控制器1收集与源目的边缘层交换机相连的所有向上链路信息,本发明链路信息使用交换机输出端口缓冲队列的排队时延D来表示;SDN控制器1根据源目的边缘层交换机相对应的每对端口排队时延D的和最小来选择理想的、轻负载的源目的边缘层链路X和Y。本实例具体过程,参见图3中的第一步路径选择过程,一条数据流在源端服务器被分割成为多条流切片,其中一条流切片A到达与源端服务器相连的源边缘层交换机(Pod1-T1),流切片A首个数据包通过Hash运算被转发给与目的端服务器相连的目的端边缘层交换机(PodP-T1),且首个数据包头文件信息被发送给SDN控制器1,首先SDN控制器1接受到数据包信息后,分别对源目的边缘层交换机Pod1-T1和PodP-T1四个对应端口的负载信息(排队时延)进行收集,然后通过对两个源目的边缘层交换机每对对应端口的负载信息进行求和路由计算,得出负载最小的对应输出端口是1,即得出流切片A的理想的、轻负载的源目的边缘层链路X和Y,相对应理想的源目的汇聚层交换机是Pod1-A1和PodP-A1,最后SDN控制器1将流切片A选择的源目的边缘层链路X和Y信息以流切片路由表的形式下发给源目的边缘层交换机;
3b1)SDN控制器2选择理想的、轻负载的源目的汇聚层链路,也即是选择理想的核心层交换机。通过SDN控制器2收集与理想的源目的汇聚层交换机相连的所有向上链路信息, SDN控制器2根据源目的汇聚层交换机相对应的每对端口排队时延D的和最小来选择理想的、轻负载的源目的汇聚层链路L和M。本实例具体过程,参见图3中的第二步路径选择过程,流切片A的首个数据包从目的端边缘层交换机沿着第一步路径选择的目的边缘层链路Y到达目的汇聚层交换机PodP-A1,SDN控制器2分别对源目的汇聚层交换机Pod1-A1和PodP-A1两个对应端口的负载信息(排队时延)进行收集,然后通过对两个源目的汇聚层交换机每对对应端口的负载信息进行求和路由计算,得出负载最小的对应输出端口是1,即得出流切片A的理想的、轻负载的源目的汇聚层链路L和M,相对应理想的源目的核心层交换机核心块1中的C1,最后SDN控制器2将流切片A选择的源目的汇聚层链路L和M信息以流切片路由表的形式下发给源目的汇聚层交换机;
3c1)SDN控制器1将选择的链路X和Y信息存储在路由表模块中,并以流表的形式下发给源目的边缘层交换机Pod1-T1和PodP-T1;SDN控制器2将选择的链路L和M信息同样存储在路由表模块中,并以流表的形式下发给源目的汇聚层交换机Pod1-A1和PodP-A1;最后实现流切片的转发路径(X,L,M,Y)。
现有负载均衡方案主要包括面向大规模多数据中心网络的分布式多控制器方案和面向小规模单数据中心网络的集中式单控制器方案,目前分布式多控制器方案主要是解决多数据中心网络之间的负载不均问题,网络内部的负载均衡效果并不显著,相比于现有分布式多控制器方案,本发明用于大规模单数据中心网络,采用分布式多控制器的部署方式,实现单数据中心网络内部细粒度流切片的负载均衡问题,提高了网络内部的性能,实现网络内部显著的负载均衡效果。目前集中式单控制器方案主要是用于小规模单数据中心网络,采用单控制器对网络内部进行全局集中控制,通过象鼠流区分调度方式,解决网络内部的负载不均问题,面对大规模网络,存在分布式扩展问题,网络内部的负载均衡效果并不显著,相比于现有集中式单控制器方案,本发明用于大规模数据中心网路,采用两个SDN控制器对网络进行分布式控制,提出一种两步路径选择路由计算,解决网络的分布式扩展问题,实现了网络内部显著的负载均衡效果。
本发明由于利用了三层Clos数据中心网络的多路径特性,采用两步路径选择的方式分别在边缘层区域网络1,通过SDN控制器1选择理想的、轻负载的源目的边缘层链路;在汇聚层区域网络2,通过SDN控制器2选择理想的、轻负载的源目的汇聚层链路,从而实现对数据流的多路径路由策略,克服了大规模数据中心网络中存在的负载均衡问题。
下面给出一个更加完整和详尽的例子,对本发明进一步说明。
实施例8
基于SDN的分布式控制负载均衡系统和方法同实施例1-7,参见图1,本发明基于SDN 的分布式控制负载均衡系统为例,包括拥有p个pod结构的三层Clos底层网络和两个SDN 控制器。其中,pod结构包括汇聚层交换机和边缘层交换机,每个pod内有r个交换机,每一个交换机都分别与n个汇聚层交换机互连,在本实例中,n=4,但不局限于这个数据;每一个汇聚层交换机都单独连接着一个核心块,并与核心块中所有的m个核心层交换机互连,且不同Pod内相同ID的汇聚层交换机连接于同一核心快中的所有核心层交换机,意味着数据流多路径路由选择时,选择的源目的汇聚层交换机的ID号是相同的,且连接于同一个核心层交换机。本实例中每个pod是一个两层的叶脊网络,不同pod内相同属性交换机的ID是对应相同的。网络中每台交换机均为支持OpenFlow协议的SDN交换机,网络中链路带宽均为1Gbps。SDN控制器1用于获取Clos底层网络中边缘层和汇聚层之间区域网络1 的链路信息,也即是获取各边缘层交换机的端口排队时延。SDN控制器2用于获取Clos底层网络中汇聚层和核心层之间区域网络2的链路信息,即是获取各汇聚层交换机的端口排队时延。
所述两个控制器中,都分别增设有路由计算模块,链路信息模块,路由表模块。其中链路信息模块用于存储SDN控制器获取的底层区域网络的链路信息,路由表模块用于存储路由计算模块计算得到的流路由信息,路由计算模块用于查询链路信息模块和路由表模块中存储的信息,并根据查询得到的信息为流计算路径。
SDN是指软件定义网络。
参照图2,利用本发明上述系统进行分布式控制负载均衡的实现步骤如下:
步骤一:网络初始化。
1a)对网络中所有交换机和服务器进行32位二进制编址,得到如下各地址:
pod结构内SDN交换机地址:p.j.1.0,其中p表示三层Clos网络中的pod结构从左到右依次所编的序号;j表示pod结构内的SDN交换机从左到右、从上到下依次所编的序号,占8位;
核心块结构内核心层SDN交换机地址:b.f.1.0,其中b表示三层Clos网络中核心层上核心块结构从左到右依次所编的序号,f表示核心块结构内的核心层SDN交换机从左到右依次所编的序号,占8位;
服务器地址:p.m.h.g.0,其中:m表示与末端服务器相连的边缘层SDN交换机的序号,占8位;h表示子网内的末端服务器从左到右依次所编的序号,g表示流切片数据包的序号服务字段,g值取0,占1位;
1b)SDN控制器1获得边缘层和汇聚层之间的链路信息,并将该信息存储在链路信息模块中;SDN控制器2获得汇聚层和核心层之间的链路信息,并将该信息存储在链路信息模块中;
1c)SDN控制器1给每个边缘层交换机下发流表并对边缘层区域网络1进行集中控制, SDN控制器2给每个汇聚层交换机下发流表并对汇聚层区域网络2进行集中控制;
步骤二:数据流的分割。
源端服务器产生数据流,在末端服务器缓冲区设置流分割的大小阈值t,在本实例中, t值大小设定为64KB,方法中使用的是TSO(TCP Segmentation Offload)技术,网络接口一次能处理的最大缓冲大小是64KB。
如果数据流在服务器缓存中的累积存储量超过阈值t,则将该数据流进行分割为流切片,使其大小小于分割阈值t;采用的是TSO(TCP Segmentation Offload)技术,TSO 技术是一种利用网卡分割大数据包,减小CPU负荷的一种网络性能优化技术。TSO技术能够使用网络协议栈将服务器缓冲区大小超过64KB的数据流推送至网卡,然后网卡执行分片工作,实现数据流分割为流切片。
步骤三:计算数据流的路径。
参见图1和图3,当流切片中的第一个数据包到达边缘层交换机时,该数据包的包头信息被发送至SDN控制器1和控制器2;
流切片到达源边缘层交换机T1,SDN控制器1中的链路信息模块开始去监控源目的边缘层交换机,pod1中的T1和podp中的T1,并分别获取源目的边缘层交换机4个端口的排队时延信息,且将其作为链路信息存储在SDN控制器1中的链路信息模块中。然后SDN控制器 1中的路由计算模块根据链路信息模块存储的链路信息,对源目的边缘层交换机各对应端口的排队时延之和进行计算,比如pod1中T1交换机1端口和podp中T1交换机1端口,通过计算各对应端口的时延之和,可选择排队时延之和最小的对应端口作为理想的端口,比如端口1,该对端口分别对应着向上链路X和Y,进而为流切片计算出一对理想的、轻负载的源目的边缘层链路X和Y,且链路X和Y分别连接着源目的汇聚层交换机A1。
流切片到达源汇聚层交换机A1时,SDN控制器2中的链路信息模块开始去监控源目的汇聚层交换机,pod1中的A1和podp中的A1,并分别获取源目的汇聚层交换机各对应端口的排队时延信息,且将其作为链路信息存储在SDN控制器2中的链路信息模块中。然后SDN控制器2中的路由计算模块根据链路信息模块存储的链路信息,对源目的汇聚层交换机A1各对应端口的排队时延之和计算,获取到理想的端口,比如端口1,进而为流切片计算出一对理想的、轻负载的源目的汇聚层链路L和M,且链路L和M对应同一核心层交换机C1。
步骤四:将路由信息添加至路由表模块,并下发流表至交换机。
SDN控制器1将流的理想源目的边缘层链路X和Y信息更新至路由表模块存储的信息中,并将流链路信息以流表的形式下发给所有边缘层交换机。SDN控制器2将流的理想源目的汇聚层链路L和M信息更新至路由表模块存储的信息中,并将流链路信息以流表的形式下发给所有的汇聚层交换机。
步骤五:流切片在网络拓扑中采用的多路径路由策略。
流切片中的所有数据包在源边缘层交换机处依次通过理想的源边缘层链路到达源汇聚层交换机;
源汇聚层交换机根据流切片数据包的到达顺序将其依次通过理想的源汇聚层链路到达核心层交换机;
核心层交换机在根据每条流切片的到达顺序依次将其通过目的汇聚层链路和目的边缘层链路到达目的边缘层交换机。
步骤六:流切片到达目的端服务器,会话结束。
目的端边缘层交换机将大流数据包转发给目的端服务器,会话结束,进入会话连接拆除阶段;
步骤七:删除路由表模块中存储该流切片的路由信息。
目的端服务器向源端服务器发送用于会话连接拆除的数据包,该数据包到达目的端边缘层交换机时,由目的端边缘层交换机将该数据包信息发送给两个SDN控制器,两个SDN 控制器根据该数据包信息分别将路由表模块中存储该流切片对应的路由信息删除,完成对流切片负载的均衡。
简而言之,本发明公开的基于SDN的分布式控制负载均衡系统与方法,主要解决现有小规模单数据中心网络中分布式扩展、网络开销、负载不均、链路拥塞的问题。本发明的系统包括三层Clos底层网络和两个SDN控制器,该SDN控制器中增设有链路信息模块、路由表模块以及路由计算模块,其中路由计算模块依据链路信息模块和路由表模块维护的信息为流计算路径。在末端主机缓冲区对数据流分割为流切片,并通过两个控制器分别对边缘层区域网路和汇聚层区域网络进行局部链路信息监控和收集,采用两步路径选择的路由计算,且将交换机的各端口排队时延作为链路信息进行优化选择路由链路。本发明在三层Clos网路中采用分布式多控制器的部署方式以及两步路径选择的路由策略, 实现了显著的网络均衡效果,用于大规模单数据中心网络的分布式扩展。
以上描述仅是本发明的一些具体实例,不构成对本发明的修改限制。显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修改和改变,但是这些基于本发明思想的修改和改变仍在本发明的权利要求保护范围之内。

Claims (7)

1.一种基于SDN的分布式控制负载均衡系统,包括有三层Clos拓扑结构、SDN控制器,Clos结构包括有边缘层、汇聚层、核心层以及末端服务器,每层上分别都部署有交换机,相邻层通过交换机链接形成网络,SDN控制器对网络进行全局集中控制,其特征在于,所述SDN控制器设为两个独立的控制器,分别为SDN控制器1和SDN控制器2,两个控制器分别增设有各自的路由计算模块、链路信息模块以及路由表模块;所述Clos拓扑结构中,核心层设有n个独立的核心块,每个核心块包含m个核心层SDN交换机,边缘层和汇聚层以上下层架构共同构成p个独立的pod结构,其中每个pod结构包括n个汇聚层SDN交换机和r个边缘层SDN交换机,每一个pod结构内,每个边缘层SDN交换机分别与n个汇聚层SDN交换机互连,每个汇聚层SDN交换机分别单独与每个核心块关联,具体是通过汇聚层SDN交换机与核心块中所有m个核心层SDN交换机连接形成互连;SDN控制器1和SDN控制器2分别对区域网络1和区域网络2进行分布式局部控制,所述区域网络1是边缘层和汇聚层之间通过SDN交换机链接形成的网络,区域网络2是汇聚层和核心层之间通过SDN交换机链接形成的网络;所有交换机均用于数据包的转发,服务器用于产生和接受数据流。
2.根据权利要求1所述的一种基于SDN的分布式控制负载均衡系统,其特征在于,所述链路信息模块,用于存储底层各区域网络的链路信息;所述路由表模块,用于存储流的路由信息;所述路由计算模块,用于查询链路信息模块和路由表模块中存储的信息,并根据所查询的信息为流计算路径。
3.根据权利要求1所述的一种基于SDN的分布式控制负载均衡系统,其特征在于,所述SDN控制器1,用于获取边缘层到汇聚层之间区域网络1的所有链路信息、并对所有的边缘层SDN交换机下发流表和对区域网络1进行集中控制;所述SDN控制器2,用于获取汇聚层到核心层之间区域网络2的所有链路信息,并对所有的汇聚层SDN交换机下发流表和对区域网络2进行集中控制。
4.一种基于SDN的分布式控制负载均衡方法,在权利要求1-3所述的基于SDN的分布式控制负载均衡系统上实现,其特征在于,分布式控制负载均衡过程包括有如下步骤:
(1)网络初始化:
1a)在拥有p个pod结构的三层Clos网络中,对所有的交换机和服务器进行32位的二进制编制,分别得到所有交换机和服务器的地址;
1b)SDN控制器1获得边缘层和汇聚层之间的链路信息,并将该信息存储在链路信息模块中;SDN控制器2获得汇聚层和核心层之间的链路信息,并将该信息存储在链路信息模块中;
1c)SDN控制器1给每个边缘层交换机下发流表并对边缘层区域网络1进行集中控制,SDN控制器2给每个汇聚层交换机下发流表并对汇聚层区域网络2进行集中控制。
(2)数据流分割:
2a)末端服务器中的源端服务器产生数据流;
2b)在源端服务器缓冲区对数据流设置分割阈值t;
2c)如果数据流在缓冲区中的累积存储量超过设定的分割阈值t,则将该数据流进行分割为多个数据包组成的流切片,使流切片大小小于分割阈值t。
(3)计算数据流的路径:采用两步路径选择计算,具体包括如下步骤:
3a)在SDN控制器1中,路由计算模块根据每条流切片中首个数据包的源服务器地址和目的服务器地址,查询链路信息模块中存储的边缘层和汇聚层之间的链路信息,按照所存储的链路信息的负载程度,选出一对理想的、轻负载的源边缘层链路和目的边缘层链路,也即是这条流切片内的每个数据包转发的源目的边缘层链路,同时由于Clos架构的多路径特殊性,所获取源目的边缘层链路对应的源目的汇聚层交换机的ID是对应相同的;
3b)在SDN控制器2中,路由计算模块根据每条流切片首个数据包转发的理想源目的汇聚层交换机地址,查询链路信息模块中存储的汇聚层和核心层之间的链路信息,按照所存储的链路信息的负载程度,选出一对理想的、轻负载的源汇聚层链路和目的汇聚层链路,也即是这条流切片内的每个数据包转发的源目的汇聚层链路;
3c)两个控制器中路由计算模块分别查询路由表模块中存储的信息,判断步骤3a)和3b)分别得到的源目的边缘层链路和源目的汇聚层链路是否已承载流切片:如果没有,则路由计算结束,执行步骤(4);反之,分别返回步骤3a)和3b)。
(4)更新流的路由信息:
4a)SDN控制器1和SDN控制器2分别将流切片的路由信息更新至各控制器中路由表模块存储的信息中;
4b)SDN控制器1和SDN控制器2分别将该流切片的路由信息以流表的形式下发到所有的边缘层交换机和汇聚层交换机上。
(5)实现流的负载均衡过程:
5a)流切片的所有数据包到达与源端服务器相连的源边缘层交换机;
5b)源边缘层交换机根据流切片中每个数据包的到达顺序,并通过源边缘层交换机上下发的流表进行源目的地址和流条目的匹配,依次将流切片的每个数据包转发到理想的、轻负载的源边缘层链路上;
5c)流切片的所有数据包到达与边缘层链路相连的源汇聚层交换机;
5d)源汇聚层交换机使用同样的方式,根据汇聚层交换机上的流表,将流切片上的每个数据包依次转发到理想的核心层交换机上;
5e)最后流切片的数据包被转发到目的边缘层交换机上,目的端边缘层交换机将流切片转发给目的服务器,会话结束,进入会话连接拆除阶段;
5f)目的端服务器向源端服务器发送用于会话连接拆除的数据包,该数据包到达目的端边缘层交换机时,由目的端边缘层交换机将该数据包信息分别发送给两个SDN控制器;
5g)两个SDN控制器根据该数据包信息将路由表模块中存储该流切片对应的路由信息删除,实现流切片的整个负载均衡过程。
(6)循环执行步骤(2)-(5),实现基于SDN的分布式控制负载均衡系统数据流的负载均衡过程。
5.根据权利要求4所述的基于SDN的分布式控制负载均衡方法,其特征在于,步骤(2)中分割阈值t的大小设定为64KB;其数据流大小超过分割阈值t时进行分割,然后网卡执行分片工作,实现数据流分割为流切片。
6.根据权利要求4所述的基于SDN的分布式控制负载均衡方法,其特征在于,其中步骤(3)中链路信息模块存储的链路信息,方法中使用与各链路相连交换机的端口缓冲队列中排队时延作为各链路信息。对于端口缓冲排队时延的计算,首先对交换机各出端口缓冲处设置FIFO多队列机制,然后计算流切片的首个数据包从交换机输入到从端口缓冲队列输出的时间D,将其作为链路信息;
<mrow> <mi>D</mi> <mo>=</mo> <mfrac> <mn>1</mn> <mrow> <mi>S</mi> <mo>-</mo> <mi>A</mi> </mrow> </mfrac> <mo>=</mo> <mfrac> <mn>1</mn> <mi>S</mi> </mfrac> <mo>.</mo> <mfrac> <mn>1</mn> <mrow> <mn>1</mn> <mo>-</mo> <mi>U</mi> </mrow> </mfrac> <mo>=</mo> <mfrac> <mi>P</mi> <mi>T</mi> </mfrac> <mo>.</mo> <mfrac> <mn>1</mn> <mrow> <mn>1</mn> <mo>-</mo> <mi>U</mi> </mrow> </mfrac> </mrow>
<mfenced open = "" close = ""> <mtable> <mtr> <mtd> <mrow> <mi>S</mi> <mo>=</mo> <mfrac> <mi>T</mi> <mi>P</mi> </mfrac> </mrow> </mtd> <mtd> <mrow> <mi>U</mi> <mo>=</mo> <mfrac> <mi>A</mi> <mi>S</mi> </mfrac> </mrow> </mtd> </mtr> </mtable> </mfenced>
式中交换机的传输速率是T,交换机的额服务速率是S,数据包的到达速率是A,交换机的利用率是U,数据包的平均大小是P。
7.根据权利要求4所述的基于SDN的分布式控制负载均衡方法,其特征在于,其中步骤(3)中两步路径选择计算的具体过程包括:
3a1)SDN控制器1选择理想的、轻负载的源目的边缘层链路,也即是选择理想的源目的汇聚层交换机。通过SDN控制器1收集与源目的边缘层交换机相连的所有向上链路信息,所述的链路信息使用交换机输出端口缓冲队列的排队时延D来表示;SDN控制器1根据源目的边缘层交换机相对应的每对端口排队时延D的和最小来选择理想的、轻负载的源目的边缘层链路X和Y;
3b1)第二步,SDN控制器2选择理想的、轻负载的源目的汇聚层链路,也即是选择理想的核心层交换机。通过SDN控制器2收集与理想的源目的汇聚层交换机相连的所有向上链路信息,SDN控制器2根据源目的汇聚层交换机相对应的每对端口排队时延D的和最小来选择理想的、轻负载的源目的汇聚层链路L和M;
3c1)SDN控制器1将选择的链路X和Y信息存储在路由表模块中,并以流表的形式下发到所有的边缘层交换机;SDN控制器2将选择的链路L和M信息同样存储在流路由表模块中,并以流表的形式下发到所有的汇聚层交换机;实现流切片的转发路径(X,L,M,Y)。
CN201710974820.4A 2017-10-19 2017-10-19 一种基于sdn的分布式控制负载均衡系统与方法 Active CN107819695B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710974820.4A CN107819695B (zh) 2017-10-19 2017-10-19 一种基于sdn的分布式控制负载均衡系统与方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710974820.4A CN107819695B (zh) 2017-10-19 2017-10-19 一种基于sdn的分布式控制负载均衡系统与方法

Publications (2)

Publication Number Publication Date
CN107819695A true CN107819695A (zh) 2018-03-20
CN107819695B CN107819695B (zh) 2020-11-10

Family

ID=61608105

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710974820.4A Active CN107819695B (zh) 2017-10-19 2017-10-19 一种基于sdn的分布式控制负载均衡系统与方法

Country Status (1)

Country Link
CN (1) CN107819695B (zh)

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108289064A (zh) * 2018-04-23 2018-07-17 清华大学深圳研究生院 一种数据中心网中混合式负载均衡方法
CN109495907A (zh) * 2018-11-29 2019-03-19 北京邮电大学 一种意图驱动的无线接入组网方法和系统
CN109766462A (zh) * 2018-12-27 2019-05-17 山东信通电子股份有限公司 输电线路监控系统中的图像文件读取方法、装置及系统
CN110191065A (zh) * 2019-06-08 2019-08-30 西安电子科技大学 基于软件定义网络的高性能负载均衡系统与方法
CN110401596A (zh) * 2019-09-10 2019-11-01 迈普通信技术股份有限公司 报文传输方法、装置、电子设备及可读存储介质
CN110505086A (zh) * 2019-08-16 2019-11-26 苏州浪潮智能科技有限公司 一种分布式控制器容错的方法及装置
CN111585911A (zh) * 2020-05-22 2020-08-25 西安电子科技大学 数据中心网络流量负载的均衡方法
CN111698168A (zh) * 2020-05-20 2020-09-22 北京吉安金芯信息技术有限公司 消息处理方法、装置、存储介质及处理器
CN111711576A (zh) * 2020-06-30 2020-09-25 西安电子科技大学 基于高效交换机迁移的控制器负载均衡系统与方法
CN111817973A (zh) * 2020-06-28 2020-10-23 电子科技大学 一种数据中心网络负载的均衡方法
CN111935238A (zh) * 2020-07-16 2020-11-13 浪潮思科网络科技有限公司 一种云平台负载均衡管理系统、方法、设备及介质
CN112019436A (zh) * 2019-05-30 2020-12-01 中国移动通信集团北京有限公司 传输路径选择方法、装置、设备及介质
CN112187657A (zh) * 2020-09-16 2021-01-05 北京理工大学 一种软件定义广域网中实现负载均衡的可扩展路由方法
CN112805983A (zh) * 2019-02-15 2021-05-14 三星电子株式会社 用于延迟感知边缘计算的系统和方法
CN113301143A (zh) * 2021-05-21 2021-08-24 河南工学院 一种基于稳定匹配的sdn分布式控制平面负载均衡方法
CN113542121A (zh) * 2021-07-05 2021-10-22 浙江大学 基于退火方法的树形数据中心链路层负载均衡路由方法
CN113645146A (zh) * 2021-08-09 2021-11-12 北京邮电大学 基于新流密度的软件定义网络控制器负载均衡方法及系统
WO2022012145A1 (zh) * 2020-07-17 2022-01-20 华为技术有限公司 一种负载均衡方法、装置和系统
CN114024969A (zh) * 2020-07-17 2022-02-08 华为技术有限公司 一种负载均衡方法、装置和系统
CN114448899A (zh) * 2022-01-20 2022-05-06 天津大学 一种均衡数据中心网络负载的方法
CN114448984A (zh) * 2021-12-27 2022-05-06 国家电网有限公司信息通信分公司 跨平台通用sdn控制器的适配方法
CN114793215A (zh) * 2021-12-14 2022-07-26 合肥哈工轩辕智能科技有限公司 一种基于负载均衡模式异步代理的分布式系统
EP4068725A4 (en) * 2019-12-19 2023-02-22 Huawei Technologies Co., Ltd. LOAD BALANCING METHOD AND RELATED DEVICE
CN117240788A (zh) * 2023-11-15 2023-12-15 南京邮电大学 一种基于sdn的数据中心网络拥塞控制方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150181317A1 (en) * 2013-12-24 2015-06-25 Nec Laboratories America, Inc. Scalable hybrid packet/circuit switching network architecture
CN104767694A (zh) * 2015-04-08 2015-07-08 大连理工大学 一种面向Fat-Tree数据中心网络架构的数据流转发方法
CN105847151A (zh) * 2016-05-25 2016-08-10 安徽大学 一种面向软件定义网络的多约束QoS路由策略设计方法
CN106664248A (zh) * 2014-08-28 2017-05-10 华为技术有限公司 在软件定义网络中路由数据包的方法和控制器
CN106899503A (zh) * 2015-12-18 2017-06-27 华为技术有限公司 一种数据中心网络的路由选择方法及网络管理器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150181317A1 (en) * 2013-12-24 2015-06-25 Nec Laboratories America, Inc. Scalable hybrid packet/circuit switching network architecture
CN106664248A (zh) * 2014-08-28 2017-05-10 华为技术有限公司 在软件定义网络中路由数据包的方法和控制器
CN104767694A (zh) * 2015-04-08 2015-07-08 大连理工大学 一种面向Fat-Tree数据中心网络架构的数据流转发方法
CN106899503A (zh) * 2015-12-18 2017-06-27 华为技术有限公司 一种数据中心网络的路由选择方法及网络管理器
CN105847151A (zh) * 2016-05-25 2016-08-10 安徽大学 一种面向软件定义网络的多约束QoS路由策略设计方法

Cited By (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108289064B (zh) * 2018-04-23 2021-07-27 清华大学深圳研究生院 一种数据中心网中混合式负载均衡方法
CN108289064A (zh) * 2018-04-23 2018-07-17 清华大学深圳研究生院 一种数据中心网中混合式负载均衡方法
CN109495907A (zh) * 2018-11-29 2019-03-19 北京邮电大学 一种意图驱动的无线接入组网方法和系统
US10939309B2 (en) 2018-11-29 2021-03-02 Belting University Of Posts And Telecommunications Intent-driven radio access networking method and system
CN109495907B (zh) * 2018-11-29 2020-05-12 北京邮电大学 一种意图驱动的无线接入组网方法和系统
CN109766462A (zh) * 2018-12-27 2019-05-17 山东信通电子股份有限公司 输电线路监控系统中的图像文件读取方法、装置及系统
US11902092B2 (en) 2019-02-15 2024-02-13 Samsung Electronics Co., Ltd. Systems and methods for latency-aware edge computing
CN112805983A (zh) * 2019-02-15 2021-05-14 三星电子株式会社 用于延迟感知边缘计算的系统和方法
CN112019436A (zh) * 2019-05-30 2020-12-01 中国移动通信集团北京有限公司 传输路径选择方法、装置、设备及介质
CN112019436B (zh) * 2019-05-30 2022-09-16 中国移动通信集团北京有限公司 传输路径选择方法、装置、设备及介质
CN110191065A (zh) * 2019-06-08 2019-08-30 西安电子科技大学 基于软件定义网络的高性能负载均衡系统与方法
CN110191065B (zh) * 2019-06-08 2022-04-08 西安电子科技大学 基于软件定义网络的高性能负载均衡系统与方法
CN110505086B (zh) * 2019-08-16 2023-01-06 苏州浪潮智能科技有限公司 一种分布式控制器容错的方法及装置
CN110505086A (zh) * 2019-08-16 2019-11-26 苏州浪潮智能科技有限公司 一种分布式控制器容错的方法及装置
CN110401596A (zh) * 2019-09-10 2019-11-01 迈普通信技术股份有限公司 报文传输方法、装置、电子设备及可读存储介质
CN110401596B (zh) * 2019-09-10 2023-05-26 迈普通信技术股份有限公司 报文传输方法、装置、电子设备及可读存储介质
EP4068725A4 (en) * 2019-12-19 2023-02-22 Huawei Technologies Co., Ltd. LOAD BALANCING METHOD AND RELATED DEVICE
CN111698168A (zh) * 2020-05-20 2020-09-22 北京吉安金芯信息技术有限公司 消息处理方法、装置、存储介质及处理器
CN111585911A (zh) * 2020-05-22 2020-08-25 西安电子科技大学 数据中心网络流量负载的均衡方法
CN111817973B (zh) * 2020-06-28 2022-03-25 电子科技大学 一种数据中心网络负载的均衡方法
CN111817973A (zh) * 2020-06-28 2020-10-23 电子科技大学 一种数据中心网络负载的均衡方法
CN111711576A (zh) * 2020-06-30 2020-09-25 西安电子科技大学 基于高效交换机迁移的控制器负载均衡系统与方法
CN111935238A (zh) * 2020-07-16 2020-11-13 浪潮思科网络科技有限公司 一种云平台负载均衡管理系统、方法、设备及介质
WO2022012145A1 (zh) * 2020-07-17 2022-01-20 华为技术有限公司 一种负载均衡方法、装置和系统
CN114024969A (zh) * 2020-07-17 2022-02-08 华为技术有限公司 一种负载均衡方法、装置和系统
CN114024969B (zh) * 2020-07-17 2023-08-22 华为技术有限公司 一种负载均衡方法、装置和系统
CN112187657A (zh) * 2020-09-16 2021-01-05 北京理工大学 一种软件定义广域网中实现负载均衡的可扩展路由方法
CN112187657B (zh) * 2020-09-16 2022-04-15 北京理工大学 一种软件定义广域网中实现负载均衡的可扩展路由方法
CN113301143A (zh) * 2021-05-21 2021-08-24 河南工学院 一种基于稳定匹配的sdn分布式控制平面负载均衡方法
CN113542121A (zh) * 2021-07-05 2021-10-22 浙江大学 基于退火方法的树形数据中心链路层负载均衡路由方法
CN113542121B (zh) * 2021-07-05 2022-07-15 浙江大学 基于退火方法的树形数据中心链路层负载均衡路由方法
CN113645146B (zh) * 2021-08-09 2023-09-26 北京邮电大学 基于新流密度的软件定义网络控制器负载均衡方法及系统
CN113645146A (zh) * 2021-08-09 2021-11-12 北京邮电大学 基于新流密度的软件定义网络控制器负载均衡方法及系统
CN114793215A (zh) * 2021-12-14 2022-07-26 合肥哈工轩辕智能科技有限公司 一种基于负载均衡模式异步代理的分布式系统
CN114448984A (zh) * 2021-12-27 2022-05-06 国家电网有限公司信息通信分公司 跨平台通用sdn控制器的适配方法
CN114448984B (zh) * 2021-12-27 2024-01-09 国家电网有限公司信息通信分公司 跨平台通用sdn控制器的适配方法
CN114448899A (zh) * 2022-01-20 2022-05-06 天津大学 一种均衡数据中心网络负载的方法
CN117240788A (zh) * 2023-11-15 2023-12-15 南京邮电大学 一种基于sdn的数据中心网络拥塞控制方法
CN117240788B (zh) * 2023-11-15 2024-03-08 南京邮电大学 一种基于sdn的数据中心网络拥塞控制方法

Also Published As

Publication number Publication date
CN107819695B (zh) 2020-11-10

Similar Documents

Publication Publication Date Title
CN107819695A (zh) 一种基于sdn的分布式控制负载均衡系统与方法
CN106411733B (zh) 一种基于链路实时负载的sdn动态负载均衡调度方法
CN106533960B (zh) 一种基于Fat-Tree结构的数据中心网络路由方法
CN105610709B (zh) 基于sdn的大流负载均衡系统与方法
CN105227481B (zh) 基于路径开销和流调度代价最小化的sdn拥塞控制路由方法
CN105471764B (zh) 一种SDN网络中端到端QoS保障的方法
CN106789648B (zh) 基于内容存储与网络状况的软件定义网络路由决策方法
CN102710489B (zh) 动态分流调度系统和方法
CN103916326B (zh) 用于数据中心的系统、方法以及设备
CN107094115A (zh) 一种基于sdn的蚁群优化负载均衡路由算法
CN104871490B (zh) 能够改进能量使用效率的多径通信装置及其用于改进能量使用效率的业务分配方法
CN103825838B (zh) 一种数据中心去带宽碎片化流调度方法
CN108833279A (zh) 软件定义网络中基于业务分类的多约束QoS路由的方法
CN105553845A (zh) 一种软件定义网络路由选择方法
CN112350949B (zh) 软件定义网络中基于流调度的重路由拥塞控制方法及系统
CN106559330A (zh) 一种基于sdn的动态路径规划方法
CN105357124B (zh) 一种MapReduce带宽优化方法
Feng et al. Dynamic network service optimization in distributed cloud networks
CN106936705A (zh) 一种软件定义网络路由选择方法
CN107948103A (zh) 一种基于预测的交换机pfc控制方法及控制系统
CN102055675A (zh) 一种基于负载均衡的多径路由分配方法
CN106899503A (zh) 一种数据中心网络的路由选择方法及网络管理器
Cui et al. DiFS: Distributed Flow Scheduling for adaptive switching in FatTree data center networks
Han et al. Future data center networking: From low latency to deterministic latency
Schlansker et al. Killer fabrics for scalable datacenters

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