基于openflow的数据中心流量控制方法及系统
技术领域
本发明涉及网络通信技术领域,具体涉及到一种基于openflow的数据中心流量控制方法及系统。
背景技术
随着互联网应用和云计算的发展,支撑互联网和云计算服务的数据中心已经成为企业业务的核心竞争力,目前,数据中心的网络技术发展越来越向虚拟化,可扩展,集中控制方向发展,数据中心的虚拟化架构设计,可扩展设计以及集中管理给现行的数据中心技术带来的很大的挑战。为此,软件定义网络(SDN)成为下一代数据中心首选的网络技术。美国斯坦福大学提出全新openflow(网络改革派提出的一种新型网络交换模型)网络通信架构是当前最典型的软件定义网络技术,它将网络转发平面和管理平面分离开来,openflow网络转发平面由简单高效的硬件专用芯片承担,并对外提供标准的管理控制接口,例如流匹配转发和包过滤接口,控制平面抽象出来运行在外部网络控制器上,统一通过管理控制接口管理openflow交换机,同一台网络控制器可以依据策略控制多台openflow交换机,这样就实现了数据中心网络的非常灵活的集中控制和管理,可以有效的应对大型数据中心中大量虚拟机的迁移和扩展。
目前,大部分的大型数据中心都基于IP网络并采用传统的二三层最短路径优先的寻径算法,所有的IP数据流都会根据路由协议采用最短路径来传输,这样造成了部分路径占用率高,拥堵,而部分的路径闲置不用,网络带宽资源被浪费,为了解决这种因为流量分配不均导致网络拥塞的问题,提出了流量工程(TrafficEngineering)的技术,把流量根据一定的策略分流到不同的路径,以平衡流量负载,解决拥塞的问题,但是,此类流量工程技术一般和多标签协议交换网络(MPLS)结合使用,其原理是不同的流量打上不同的标签经过不同的预先建立好的或者标签协议生成的标签交换路径(LSP)来传输数据,另外,从原理上看,基于MPLS的流量工程属于分布式计算,所有网络交换机都要泛洪链路状态同步整个网络的拓扑来计算优化路径,因此不便于在数据中心进行集中和精确的管理,而openflow网络通信架构具有集中控制的特点,结合优化的流量工程技术,非常适合在大型数据中心中应用,因此如何将openflow网络通信架构和流量工程技术有机的结合起来,是当前迫切需要解决的问题。
发明内容
本发明所解决的技术问题是对于在大型数据中心,流量分配不均导致网络拥塞,以及不便于对数据中心进行集中和精确管理的问题。本发明提供的基于openflow的数据中心流量控制方法及系统,提高了网络带宽资源的利用率和网络集中管理的精确性和可靠性,灵活的调配网络中的流量负载来适应网络流量的变化,有效的提高了网络的利用率和可靠性,具有良好的应用前景。
为了解决上述技术问题,本发明所采用的技术方案是:
一种基于openflow的数据中心流量控制方法,包括以下步骤,
(a)构造网络拓扑
通过网络控制器控制openflow交换机运行拓扑发现协议,收集所有网络节点和链路信息,并构造出网络拓扑;
(b)计算流量的优化路径
根据上述构造的网络拓扑,网络控制器周期性的网络中所有对流的端到端的流量分析,计算流优化路径;
(c)根据上述的实时计算出的流优化路径,下发实时更新的约束流优化路径至对应的openflow交换机;
(d)对数据中心的网路链路进行检测,实时更新各条流优化路径至对应的openflow交换机。
前述的基于openflow的数据中心流量控制方法,步骤(a)构造网络拓扑的方法为:
(a1)各openflow交换机周期性向网络中所有端口发送probe数据包,所述probe数据包内至少包含序列号、交换机ID、端口ID、端口可用带宽和交换机可用硬件流表数目一个或一个以上参数信息;
(a2)各openflow交换机根据接收的对应端口发送的probe数据包,将其封装后发送给网络控制器处理;
(a3)网络控制器依据各交换机发送的probe数据包,生成邻居信息表,构造完整构造网络拓扑,所述网络拓扑包含各openflow交换机可用硬件流数目和各链路可用带宽信息。
前述的基于openflow的数据中心流量控制方法,步骤(b)网络控制器周期性的网络中所有对流的端到端的流量分析,根据网络拓扑图和优化约束条件进行优化,计算流量的优化路径,其中优化参数包括以下一个或者多个:
(1)网络中各台openflow交换机的流数目密度,均衡的分配各个节点交换机的流数目;
(2)网络中各台openflow交换机的链路负载,避免部分节点交换机负载过重而其它节点交换机资源闲置;
(3)网络中各台openflow交换机的链路故障概率,各条流尽量避免经过高故障率的链路。
前述的基于openflow的数据中心流量控制方法,步骤(d)对数据中心的网路链路进行检测,实时更新各条流优化路径至对应的openflow交换机的包括以下步骤:
(d1)当openflow交换机发送probe数据包后,在规定的周期内未收到回复的probe数据包,则openflow交换机判断当前的网路链路异常,并发送标识当前链路失效的数据包至网络控制器;
(d2)网络控制器依据上述(d2)所述的数据包,重新构造拓扑图,并对流进行优化计算,然后维持或者改变各openflow交换机的流;
(d3)当openflow交换机发送链路的probe数据包重新得到回复后,则openflow交换机发送当前链路恢复的状态数据包至网络控制器;
(d4)网络控制器依据上述(d3)数据包,重新网络拓扑,并对流进行优化计算,然后维持或者改变各openflow交换机的流。
对于上述的基于openflow的数据中心流量控制方法的系统,其特征在于:包括一台或一台以上的网络控制器和与网络控制器相通信的若干台openflow交换机,所述网络控制器包括以下一个或者一个以上模块,
拓扑及链路信息计算模块,用于控制openflow交换机运行拓扑发现协议,收集所有网络节点和链路信息;
流优化路径计算模块,用于构造的网络拓扑和链路资源信息,周期性计算流的端对端的优化路径;
流优化路径下发部署模块,用于下发流优化路径至各openflow交换机;
所述拓扑及链路信息计算模块、流优化路径计算模块和流优化路径下发部署模块集成在一台网络控制器中或者分布在不同网络控制器中。
本发明的有益效果是:本发明的基于openflow的数据中心流量控制方法及系统,将openflow交换机和流优化技术有机的结合起来,提高了网络带宽资源的利用率和网络集中管理的精确性和可靠性,灵活的调配网络中的流量负载来适应网络流量的变化,有效的提高了网络的利用率和可靠性,具有良好的应用前景。
附图说明
图1是本发明的基于openflow的数据中心流量控制系统的系统框图。
图2是本发明的基于openflow的数据中心流量控制方法的一实施例网络架构图。
具体实施方式
下面将结合说明书附图,对本发明作进一步的说明。
本发明的基于openflow的数据中心流量控制方法,将openflow交换机和流优化技术有机的结合起来,提高了网络带宽资源的利用率和网络集中管理的精确性和可靠性,灵活的调配网络中的流量负载来适应网络流量的变化,有效的提高了网络的利用率和可靠性,具体包括以下步骤,
步骤(a)构造网络拓扑
通过网络控制器控制openflow交换机运行拓扑发现协议,收集所有网络节点和链路信息,并构造出网络拓扑,构造网络拓扑的方法为:
(a1)各openflow交换机周期性向网络中所有端口发送probe数据包,probe数据包内至少包含序列号、交换机ID、端口ID、端口可用带宽和交换机可用硬件流表数目一个或一个以上参数信息;
(a2)各openflow交换机根据接收的对应端口发送的probe数据包,将其封装后发送给网络控制器处理;
(a3)网络控制器依据各交换机发送的probe数据包,生成邻居信息表,构造完整构造网络拓扑,所述网络拓扑包含各openflow交换机可用硬件流数目和各链路可用带宽信息;
步骤(b)计算流量的优化路径
根据上述构造的网络拓扑,网络控制器周期性的网络中所有对流的端到端的流量分析,计算流优化路径,流量分析的优化参数包括以下一个或者多个:
(1)网络中各台openflow交换机的流数目密度,均衡的分配各个节点交换机的流数目;
(2)网络中各台openflow交换机的链路负载,避免部分节点交换机负载过重而其它节点交换机资源闲置;
(3)网络中各台openflow交换机的链路故障概率,各条流尽量避免经过高故障率的链路;
步骤(c)根据上述的实时计算出的流优化路径,下发实时更新的约束流优化路径至对应的openflow交换机;
步骤(d)对数据中心的网路链路进行检测,实时更新各条流优化路径至对应的openflow交换机,具体实现包括以下步骤:
(d1)当openflow交换机发送probe数据包后,在规定的周期内(范围1秒-5秒,默认为2秒)未收到回复的probe数据包,则openflow交换机判断当前的网路链路异常,并发送标识当前链路失效的数据包至网络控制器;
(d2)网络控制器依据上述(d2)所述的数据包,重新构造拓扑图,并对流进行优化计算,然后维持或者改变各openflow交换机的流;
(d3)当openflow交换机发送链路的probe数据包重新得到回复后,则openflow交换机发送当前链路恢复的状态数据包至网络控制器;
(d4)网络控制器依据上述(d3)数据包,重新网络拓扑,并对流进行优化计算,然后维持或者改变各openflow交换机的流。
如图1所示,基于openflow的数据中心流量控制方法的系统,包括一台或一台以上的网络控制器和与网络控制器相通信的若干台openflow交换机,网络控制器包括以下一个或者一个以上模块,
拓扑及链路信息计算模块,用于控制openflow交换机运行拓扑发现协议,收集所有网络节点和链路信息;
流优化路径计算模块,用于构造的网络拓扑和链路资源信息,周期性计算流的端对端的优化路径;
流优化路径下发部署模块,兼容openflowv1.0/v1.1/v1.2协议标准用于下发流优化路径至各openflow交换机;
所述拓扑及链路信息计算模块、流优化路径计算模块和流优化路径下发部署模块集成在一台网络控制器中或者分布在不同网络控制器中。
如图2所示,数据中心网络分为数据业务承载部分和管理网络部分,数据业务承载部分承载着数据中心网络的数据转发业务,网络控制器则通过管理网络部分下发流。根据本发明的基于openflow的数据中心流量控制方法,一具体实施例,典型的CLOS无阻塞数据中心组网方式,各openflow交换机分为核心层,叶子层和接入层。核心层主要实现核心网络的优化传输,是数据中心网络的汇聚者。叶子层主要是实现多台接入层交换机的流量的汇聚功能。接入层主要实现数据存储和服务器的接入功能。各openflow交换机通过控制网络连接到网络控制器,数据中心流量都通过网络控制器进行控制和寻径,实现步骤为:
S1,网络控制器通过各openflow交换机的packet_out标准接口,让C-1~C-4,L-1~L-4,T-1~T-4,周期性地向网络中所有端口发送probe数据包,比如openflow交换机C-1往端口P1发送的probe数据包包含序列号为1,交换机ID为C-1,端口ID为P1,端口可用带宽为5Gbps,交换机可用硬件流表数目为2000;
S2,当openflow交换机L-1收到对应端口发送的probe数据包后,将其封装后通过控制网络送往网络控制器;
S3,当网络控制器收到所有的probe数据包信息后,首先生成各openflow交换机的邻居信息表,例如图2的C-1在网络控制器的邻居信息表的主要内容和格式如下:
交换机ID:C-1
可用硬件流数目:2000
端口P1:
可用带宽:5Gbps
邻居ID:L-1
端口P2:
可用带宽:2Gbps
邻居ID:L-3
S4,网络控制器根据所有的openflow交换机节点的邻居信息表构造整个网络拓扑;
S5,网络控制器根据网络拓扑图和优化约束条件,计算各条流的路径,假如主机H-1有100条相同的带宽需求的数据流需要去服务器H-8,服务器可以根据均衡数据流的优化约束条件,计算出flow1-50通过{T-1---L-1---C-1---L-3---T4}这条路径,flow51-100通过{T-1---L-2---C-4---L4---T4}这条路径;
S6,网络控制器将S5的计算结果下发配置到T-1,L-1,L-2,C-1,C-4,L-3,L-4,T-4openflow交换机中;
S7,此时,因为各交换机已经消耗部分资源,openflow交换机C-1发送的probe信息并在网络控制器形成的邻居信息表为:
交换机ID:C-1
可用硬件流数目:1950
端口P1:
可用带宽:4Gbps
邻居ID:L-1
端口P2:
可用带宽:2Gbps
邻居ID:L-3
S8,假设此时openflow交换机C-1因为flow1流量突然增大至3Gbps,此时网络控制器通过收到的封装probe数据包知晓其资源状况后,通过优化计算可以将flow2-50移至{T-1--->L-2--->C-4--->L-4--->T-4}这条路径,来满足网络的优化条件。
以上显示和描述了本发明的基本原理、主要特征及优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。