CN104821922B - 一种流量分担方法和设备 - Google Patents
一种流量分担方法和设备 Download PDFInfo
- Publication number
- CN104821922B CN104821922B CN201510077303.8A CN201510077303A CN104821922B CN 104821922 B CN104821922 B CN 104821922B CN 201510077303 A CN201510077303 A CN 201510077303A CN 104821922 B CN104821922 B CN 104821922B
- Authority
- CN
- China
- Prior art keywords
- flow
- port
- migrated
- controller
- discharge pattern
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种流量分担方法和设备,该方法包括:控制器监测所述多个网关的端口的流量情况,并获取各端口的端口类型;当监测到有端口的流量达到设定阈值时,所述控制器根据所述端口的流表获得所述端口的流量的流量信息;所述控制器根据所述流量信息及所述端口的端口类型确定待迁移的流量和目标端口,将所述待迁移的流量迁移至目标端口。采用本方法解决了网关的端口流量拥塞问题,实现动态的调整端口流量,使整个网络更加安全可靠。
Description
技术领域
本发明涉及通信领域,尤其涉及一种流量分担方法和设备。
背景技术
SDN(Software Defined Network,软件定义网络)是一种新型网络架构,VCF(Virtual Converged Framework,虚拟应用融合架构)控制器是H3C推出的一款SDN控制器,支持标准的OpenFlow协议,OpenFlow协议作为控制器与转发层之间的通信接口标准,允许控制器直接访问和操作网络设备的转发平面,这些网络设备可以是支持OpenFlow的物理交换机,也可以是虚拟交换机vSwitch。
目前在大型的数据中心内部布局都是采用大二层网网络的布局,为了实现大二层网络与现有的传统三层网络进行通信,需要在SDN网络边缘设备架设一台支持二三层转发的GW(Gateway,网关)与外部进行通信。
如图1所示,VXLAN(Virtual eXtensible LANs,VLAN扩展)GW是堆叠设备,VXLANIP GW一端连接VXLAN网络的Underlay网络,另一端连接非虚拟化的三层网络。当一台虚拟机VM的流量到达非虚拟化网络或其他VM时,需要经过VSWITCH、Underlay网络和GW发送出去,而流量经过VSWITCH后选择哪个GW进行转发是通过哈希算法来进行的。
在实现本申请的过程中,申请人发现现有技术至少存在如下问题:
现有技术中,根据哈希算法选择GW进行转发后,会造成流量分担不均匀,如某些网关的端口转发的流量超过转发极限造成流量拥塞,而其他GW端口空闲的情况,这样一方面会造成报文丢包,而且系统整体运行速率低下,对整个网络影响很大。
发明内容
本发明实施例提供了一种流量迁移方法,用于对达到网关最大转发能力的端口的流量进行迁移,从而动态调整端口的流量,避免端口流量阻塞对网络造成影响。
本发明实施例提供一种流量迁移方法,应用于包括控制器、多个网关和多个转发设备的系统,所述方法包括:
控制器监测所述多个网关的端口的流量情况,并获取各端口的端口类型;
当监测到有端口的流量达到设定阈值时,所述控制器根据所述端口的流表获得所述端口的流量的流量信息;
所述控制器根据所述流量信息及所述端口的端口类型确定待迁移的流量和目标端口,将所述待迁移的流量迁移至目标端口。
其中,所述控制器根据所述端口的流表获得所述端口的流量的流量信息,包括:
所述控制器查询所述多个转发设备的流表,根据所述端口所在网关的地址筛选出所述端口对应的流表,并根据所述流表得到所述端口的流量的流量信息。
其中,所述流量信息包括:流量的大小、类型、起点以及终点信息;
所述流量类型包括东西向流量和南北向流量;
所述端口类型包括公网出口和内部接口;
其中,所述控制器根据所述流量信息及所述端口的端口类型确定待迁移的流量和目标端口,包括:
当所述端口的端口类型为内部接口时,如果所述流量的流量类型包括东西向流量,则所述控制器确定将最大的东西向流量类型的流量迁移至其他空闲的内部接口;如果所述流量的流量类型不包括东西向流量时,则所述控制器确定将最大的南北向流量类型的流量迁移至其他公网出口和内部接口均空闲的网关的端口;
当所述端口的端口类型为公网出口时,所述控制器确定将最大的南北向流量类型的流量迁移至其他公网出口和内部接口都空闲的网关的端口;
当所述端口的端口类型为公网出口和内部接口,且所述公网出口和内部接口对应于同一网关,如果所述流量的流量类型包括东西向流量时,则所述控制器确定将最大的东西向流量类型的流量迁移至其他空闲的内部接口,并且确定将最大的南北向流量类型的流量迁移至其他公网出口和内部接口都空闲的网关的端口;如果所述流量的流量类型不包括东西向流量时,则所述控制器确定将最大的南北向流量类型的流量迁移至其他公网出口和内部接口都空闲的网关的端口。
其中,所述将所述待迁移的流量迁移至目标端口,包括:
所述控制器向所述待迁移的流量对应的转发设备下发指令,以使所述转发设备删除所述待迁移的流量对应的流表;
所述控制器根据所述目标端口和所述待迁移的流量的流量信息生成新的流表,其中,所述新的流表中的目的地址为目标端口所在网关的地址;
所述控制器将所述新的流表下发到所述转发设备,以使所述转发设备将所述待迁移的流量转发到目标端口。
优选地,当有新的流量需要转发时,所述控制器接收所述流量对应的转发设备上送的pack-in报文;
所述控制器根据所述pack-in报文获得所述流量的流量信息;
所述控制器根据所述流量的流量信息以及所述多个网关的端口的流量情况,确定目标端口;
所述控制器根据所述所述流量的流量信息以及所述目标端口生成流表,下发到所述转发设备,以使所述转发设备根据所述流表将所述流量转发到目标端口。
本发明实施例还提供一种控制器,包括:
监测模块,用于监测所述多个网关的端口的流量情况,并获取各端口的端口类型;
获取模块,用于当监测模块监测到有端口的流量达到设定阈值时,根据所述端口的流表获得所述端口的流量的流量信息;
迁移模块,用于根据所述流量信息及所述端口的端口类型确定待迁移的流量和目标端口,将所述待迁移的流量迁移至目标端口。
其中,所述获取模块,用于根据所述端口的流表获得所述端口的流量的流量信息,具体包括:所述获取模块查询所述多个转发设备的流表,根据所述端口所在网关的地址筛选出所述端口对应的流表,并根据所述流表得到所述端口的流量的流量信息。
其中,所述流量信息包括:流量的大小、类型、起点以及终点信息;
所述流量类型包括东西向流量和南北向流量;
所述端口类型包括公网出口和内部接口。
其中,所述迁移模块,用于根据所述流量信息及所述端口的端口类型确定待迁移的流量和目标端口,包括:
当所述端口的端口类型为内部接口时,如果所述流量的流量类型包括东西向流量时,则所述迁移模块确定将最大的东西向流量类型的流量迁移至其他空闲的内部接口;如果所述流量的流量类型不包括东西向流量时,则所述迁移模块确定将最大的南北向流量类型的流量迁移至其他公网出口和内部接口均空闲的网关的端口;
当所述端口的端口类型为公网出口时,所述迁移模块确定将最大的南北向流量类型的流量迁移至其他公网出口和内部接口都空闲的网关的端口;
当所述端口的端口类型为公网出口和内部接口,且所述公网出口和内部接口对应于同一网关,如果所述流量的流量类型包括东西向流量时,则所述迁移模块确定将最大的东西向流量类型的流量迁移至其他空闲的内部接口,并且确定将最大的南北向流量类型的流量迁移至其他公网出口和内部接口都空闲的网关的端口;如果所述流量的流量类型不包括东西向流量时,则所述迁移模块确定将最大的南北向流量类型的流量迁移至其他公网出口和内部接口都空闲的网关的端口。
其中,所述迁移模块,将所述待迁移的流量迁移至目标端口,包括:
所述迁移模块向所述待迁移的流量对应的转发设备下发指令,以使所述转发设备删除所述待迁移的流量对应的流表;
所述迁移模块根据所述目标端口和所述待迁移的流量的流量信息生成新的流表,其中,所述新的流表中的目的地址为目标端口所在网关的地址;
所述迁移模块将所述新的流表下发到所述转发设备,以使所述转发设备将所述待迁移的流量转发到目标端口。
优选地,所述获取模块,还用于,当有新的流量需要转发时,接收所述流量对应的转发设备上送的pack-in报文,根据所述pack-in报文获得所述流量的流量信息;
所述迁移模块,还用于,根据所述流量的流量信息以及所述多个网关的端口的流量情况,确定目标端口;根据所述所述流量的流量信息以及所述目标端口生成流表,下发到所述转发设备,以使所述转发设备根据所述流表将所述流量转发到目标端口。
本发明公开了一种流量迁移的方法及其设备,该方法包括:控制器监测所述多个网关的端口的流量情况,并获取各端口的端口类型;当监测到有端口的流量达到设定阈值时,所述控制器根据所述端口的流表获得所述端口的流量的流量信息;所述控制器根据所述流量信息及所述端口的端口类型确定待迁移的流量和目标端口,将所述待迁移的流量迁移至目标端口。采用本方法解决了网关的端口流量拥塞问题,实现动态的调整端口流量,使整个网络更加安全可靠。
附图说明
图1为现有技术中大二层网路与现有的传统三层网络进行通信的结构图;
图2为本发明实施例提供的流量迁移方法的流程示意图;
图3为本发明实施例提供的流量迁移系统的结构图;
图4为本发明实施例提供的控制器的结构示意图。
具体实施方式
针对现有技术中,根据哈希算法选择GW进行转发后,网关的端口转发流量超过转发极限造成报文阻塞,而其他GW端口空闲的情况,本发明实施例通过监测网关端口的流量情况,并获得端口类型,当有端口的流量达到端口的最大转发能力时,控制器获取所述端口的流量的流量信息,并根据所述流量信息以及所述端口类型将所述端口的流量迁移至其他空闲的端口,解决了网关的端口流量拥塞问题,动态的调整端口流量,使整个网络更加安全可靠。
下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图2所示,为本申请实施例中提供的一种流量迁移方法,具体包括以下步骤:
步骤S201、如图3所示,控制器监测所述多个网关的端口的流量情况,并获取各端口的端口类型。
其中,流量情况包括该端口最大转发能力(端口带宽)、该端口实时流量,端口类型为公网出口或内部接口。需要提醒注意的是,公网出口的最大转发能力(端口带宽)所对应的内部接口的最大转发能力(端口带宽)可以相同,也可以不同。
具体地,控制器监测多个网关的公网出口和内部接口的流量情况,并通过openflow协议获得流量情况及端口类型。
步骤S202、当监测到有端口的流量达到设定阈值时,控制器根据所述端口的流表获得所述端口的流量的流量信息。
其中,根据每个端口的最大转发能力不同,可以为每个端口设置不同的阈值。当监测到有端口的流量达到设定阈值时,触发该端口告警,控制器查询多个转发设备的流表,筛选出该端口对应的流表,并根据该流表得到该端口的流量的流量信息,具体地,控制器通过openflow协议获取每个转发设备上的流表,并查询所有流表中地址,筛选出地址为该端口所在网关的地址的流表,根据该端口的流表获得该端口对应的流量的流量信息。
流量信息包括流量的大小、类型、起点以及终点信息;
流量类型包括东西向流量和南北向流量,东西向流量。
需要注意的是,筛选出地址为该端口所在网关的地址的流表可能不止一个,所以根据该端口的流表获得的该端口对应的流量的流量信息也可能不止一个。例如,控制器根据端口所在网关地址筛选出的一条流量的流表,假设端口所在网关的tunnel地址为125.125.125.1,则通过对所有流表进行筛选,得到tunnel地址为125.125.125.1流表,其中,根据该流表的信息获得流量信息,例如,根据流表中“229982”得到该流量的大小,根据流表中的“ipv4_src”可以得到该流量的起点,根据流表中的“ipv4_dst”可以得到该流量的终点,根据流量的起点、终点,可以得到该流量的类型,例如,流量的起点为内部的虚拟机,终点为外部网络,则流量类型为南北向流量,南北向流量为内部虚拟机的流量与外部网络之间的流量交互,此流量经过网关的公网出口和内部接口;如果流量的起点为内部的虚拟机,终点也为内部的虚拟机,则流量类型为东西向流量,为系统内部虚拟机与虚拟机之间的流量的交互,其只对应于网关的内部接口。
根据流表的起点、终点,类型等信息,可以知道所述流量流经的转发设备,进而在后续的步骤中可以修改这些转发设备上的所述流表的目的tunnel进行流量迁移,在此不再说明。
步骤S203、控制器根据所述流量信息及所述端口的端口类型确定待迁移的流量和目标端口,将所述待迁移的流量迁移至目标端口。
其中,空闲的端口是一个相对值,相对于达到设定阈值的端口,其他未达到最大转发能力的端口均称为空闲的端口,由于步骤S201中已经监测到所有端口的流量情况,所以在进行流量迁移时,可以优先地将流量迁移到实时流量较小、剩余转发能力较大的端口。
控制器根据所述流量信息及所述端口的端口类型确定待迁移的流量和目标端口,包括三种情况:
情况一、当所述端口的端口类型为内部接口时,如果所述流量的流量类型包括东西向流量,则所述控制器确定将最大的东西向流量类型的流量迁移至其他空闲的内部接口;如果所述流量的流量类型不包括东西向流量时,则所述控制器确定将最大的南北向流量类型的流量迁移至其他公网出口和内部接口均空闲的网关的端口。
具体地,当只有内部接口达到设定阈值时,确定将最大的流量类型为东西向流量的流量迁移至其他空闲的内部接口,如果该端口的流量不包含东西向流量类型的流量,则确定将最大的南北向流量类型的流量迁移至其他公网出口和内部接口都空闲的网关的端口(公网出口或内部接口),这是由于,相对于东西向流量,南北向流量用于与外部网络进行交互,对于系统而言更为重要,因此,本发明中当内部接口达到设定阈值,且存在东西向流量时,优先对大的东西向流量类型的流量进行迁移;而流量经过公网出口,则必然经过该端口所在网关的内部接口,所以在进行南北向流量迁移时,要考虑将对最大的南北向流量类型的流量迁移到公网出口和内部接口都空闲的网关的端口,可以为公网出口,也可以为内部接口。
情况二、当所述端口的端口类型为公网出口时,所述控制器确定将最大的南北向流量类型的流量迁移至其他公网出口和内部接口都空闲的网关的端口。
具体地,如果公网出口和内部接口的设定阈值不一样,只有公网出口达到设定阈值时,其流量类型只能为南北向流量,优选地可以将大的南北向流量迁移至其他公网出口和内部接口都空闲的网关的端口(可以为公网出口也可以为内部接口),这是因为流量经过公网出口,则必然经过该端口所在网关的内部接口,所以在进行南北向流量迁移时,要考虑将流量迁移到公网出口和内部接口都空闲的网关的端口,可以为公网出口,也可以为内部接口。
情况三、当所述端口的端口类型为公网出口和内部接口,且所述公网出口和内部接口对应于同一网关,如果所述流量的流量类型包括东西向流量时,则所述控制器确定将最大的东西向流量类型的流量迁移至其他空闲的内部接口,并且确定将最大的南北向流量类型的流量迁移至其他公网出口和内部接口都空闲的网关的端口;如果所述流量的流量类型不包括东西向流量时,则所述控制器确定将最大的南北向流量类型的流量迁移至其他公网出口和内部接口都空闲的网关的端口。
具体地,如果一个网关的公网出口和内部接口均达到设定阈值,且所述公网出口和内部接口所对应的流量类型包括东西向流量时,控制器优先将最大的东西向流量类型的流量迁移至其他空闲的内部接口,同时将最大的流量类型为南北向流量的流量迁移至其他公网出口和内部接口都空闲的网关的端口,如果所述流量的流量类型不包括东西向流量时,则所述控制器将最大的流量类型为南北向流量的流量迁移至其他公网出口和内部接口都空闲的网关的端口(可以为公网出口也可以为内部接口);这是因为,相对于东西向流量,南北向流量用于与外部网络进行交互,对于系统而言更为重要,因此本发明中同一个网关的上内部接口均达到设定阈值,且包含有东西向流量类型的流量时,优先对东西向流量类型的流量进行迁移,解决内部接口的流量拥塞问题,然后,对最大的南北向流量类型的流量迁移,解决公网出口的流量拥塞问题;当不包含东西向流量时,将最大的类型为南北向流量的流量迁移至其他公网出口和内部接口都空闲的网关的端口,可以为公网出口,也可以为内部接口,以解决公网出口和内部接口的流量拥塞问题。
在确定待迁移的流量和目标端口后,将所述待迁移的流量迁移至目标端口。
具体地,控制器向所述待迁移的流量对应的转发设备下发指令,以使所述转发设备删除所述待迁移的流量对应的流表;所述控制器根据所述目标端口和所述待迁移的流量生成新的流表,其中,所述新的流表中的目的地址为目标端口所在网关的地址;所述控制器将所述新的流表下发到所述转发设备,以使所述转发设备将所述待迁移的流量转发到目标端口。
其中,在步骤S202中已经筛选出端口所对应的流表,根据流表得到各流量的流量信息,当确定待迁移的流量后,可以根据待迁移的流量的流量信息中的起点、终点等信息获得待迁移的流量对应的转发设备,控制器向待迁移流量对应的转发设备下发指令,以使所述转发设备删除所述待迁移的流量对应的流表。
需要注意的是,控制器向所述待迁移的流量对应的转发设备下发指令,以使所述转发设备删除所述待迁移的流量对应的流表和控制器根据所述目标端口和所述待迁移的流量生成新的流表,这两个过程并不存在先后关系,可以是先执行控制器向所述待迁移的流量对应的转发设备下发指令,以使所述转发设备删除所述待迁移的流量对应的流表的过程,也可以是先执行控制器根据所述目标端口和所述待迁移的流量生成新的流表,但是一定是先执行控制器向所述待迁移的流量对应的转发设备下发指令,以使所述转发设备删除所述待迁移的流量对应的流表,然后控制器将所述新的流表下发到所述转发设备。
在对流量进行迁移时,具体包括以下两种情况:
1)当待迁移的流量为东西向流量时,根据待迁移的流量的流量信息中的该流量对应的起点和终点,可以得到该流量转发时经过的转发设备,起点和终点各对应一个转发设备,控制器向所述转发设备下发指令,由转发设备删除该流量对应的原来的流表,并根据目标端口所在网关的地址和待迁移的流量生成新的流表,即将原来的流表中的目的tunnel修改为目标端口所在网关的地址,将所述新的流表下发到起点和终点分别对应的转发设备,使转发设备根据所述新的流表将待迁移的流量迁移至目标端口。
2)当待迁移的流量为南北向流量时,根据待迁移的流量的流量信息中的该流量对应的起点和终点,可以得到该流量转发时经过的转发设备,只有起点对应一个转发设备,控制器向所述转发设备下发指令,由转发设备删除该流量对应的原来的流表,并根据目标端口所在网关的地址和待迁移的流量生成新的流表,即将原来的流表中的目的tunnel修改为目标端口所在网关的地址,将所述新的流表下发到起点对应的转发设备,使转发设备根据所述新的流表将待迁移的流量迁移至目标端口。
优选地,当有新的流量需要转发时,控制器接收所述流量对应的转发设备上送的pack-in报文;所述控制器根据所述pack-in报文获得所述流量的流量信息;所述控制器根据所述流量的流量信息以及所述多个网关的端口的流量情况,确定目标端口;所述控制器根据所述流量的流量信息以及所述目标端口生成流表,下发到所述转发设备,以使所述转发设备根据所述流表将所述流量转发到目标端口。
其中,当后续再有新的南北向流量和东西向流量需要转发的时候,对应的转发设备会向控制器上送pack-in报文,根据pack-in报文获得所述流量的流量信息,其中,根据流量的终点,可以获知该流量的流量类型,由于步骤S201中监测了多个网关的端口的流量情况,当该流量的流量类型为南北向流量,则查询公网出口和内部接口,确定网关的公网出口和内部接口剩余转发能力都比较大的端口进行转发;当该流量的流量类型为东西向流量,则只查询内部接口,确定剩余转发能力较大的内部接口进行转发。当确定目标端口后,控制器根据所述流量的流量信息以及所述目标端口生成流表,其中,所述流表的目的地址为所述目标端口所在网关的地址,控制器将所述流表下发到所述转发设备,以使所述转发设备根据所述流表将所述流量转发到目标端口,这样动态的调整了流量的分配,可以达到网络最大的转发性能。
本发明的上述实施例中具有以下优点,控制器监测所述多个网关的端口的流量情况,并获取各端口的端口类型;当监测到有端口的流量达到设定阈值时,所述控制器根据所述端口的流表获得所述端口的流量的流量信息;所述控制器根据所述流量信息及所述端口的端口类型确定待迁移的流量和目标端口,将所述待迁移的流量迁移至目标端口。采用本方法解决了网关的端口流量拥塞问题,实现动态的调整端口流量,使整个网络更加安全可靠。
下面结合具体的实施例对本发明进行详细描述,其中,转发设备以VSWITCH为例进行说明。
如图3所示,控制器监测多个网关的端口的流量情况,得到如表1所示的各个网关端口的流量情况表:
IP GW设备 | 端口类型 | 端口带宽 | 实时流量 |
IP GW1的堆叠设备1 | 端口1(公网出口) | 10G | 10G |
IP GW1的堆叠设备1 | 端口2(内部接口) | 10G | 10G |
IP GW1的堆叠设备2 | 端口3(公网出口) | 10G | 0G |
IP GW1的堆叠设备2 | 端口4(内部接口) | 10G | 0G |
IP GW2的堆叠设备1 | 端口5(公网出口) | 10G | 0G |
IP GW2的堆叠设备1 | 端口7(内部接口) | 10G | 0G |
IP GW2的堆叠设备2 | 端口6(公网出口) | 10G | 0G |
IP GW2的堆叠设备1 | 端口8(下行口) | 10G | 3G |
由上表可知,其中端口类型为公网出口的端口1和端口类型为内部接口的端口2均已达到其端口带宽且端口1和端口2对应于同一网关,其他端口均为空闲状态。
当监测到有端口的流量达到设定阈值时,控制器根据该端口的流表获得所述端口的流量的流量信息。
当端口1和端口2设定的阈值均为10G,即端口1和端口2均达到了设定阈值,端口1和端口2告警后,控制器通过openflow协议,获得每个VSWITCH的流表,查询所有流表,筛选出目的tunnel为端口1和端口2所在网关,即IP GW1的地址的流表,并对筛选出的流表进行分析,得到经过端口1和端口2端口的流量信息,如流量的起点、终点、大小、类型等。如表2所示,为获得的端口1和端口2的流量的流量信息;
端口统计 | 流量起点 | 流量终点 | 流量类型 | 流量大小 |
端口1和端口2 | VM1 | 外部网络 | 南北向流量 | 7G |
端口1和端口2 | VM4 | 外部网络 | 南北向流量 | 5G |
端口2 | VM2 | VM6 | 东西向流量 | 5G |
由表2可知,端口1的流量起点分别为VM1,VM4,流量终点位均为外部网络,流量分类只包含南北向流量,流量大小分别为7G和5G,端口2的流量起点分别为VM1,VM4、VM2,流量终点为外部网络和VM6,流量分类包含南北向流量和东西向流量,流量大小分别为7G、5G和5G,流量类型包括南北向流量和东西向流量。
由于端口1和端口2为同一网关的公网出口和内部接口,且流量类型包含东西向流量,对应于步骤S203中的情况三,需要对东西向流量类型的流量进行迁移,和对南北向流量类型的流量进行迁移,先将内部接口2的东西向流量迁移到最空闲的内部接口,如端口4和端口6,本申请中以端口4为例,由于东西向流量的起点为VM2,终点为VM6,所以将筛选出的该东西向流量类型的流量所对应的流表中的目的tunnel地址由端口1所在网关IP GW1的地址修改为端口4所在网关IP GW2的地址,即对VSWITCH1和VSWITCH3上该流量对应的流表的目的tunnel地址修改为IP GW2的地址。
需要提醒注意的是,此步骤也可以应用于只有内部接口的流量达到设定阈值且存在东西向流量时,对流量进行迁移,在对类型为东西向流量的流量进行迁移时,可能会解决内部接口的流量拥塞问题。
而本实施例中,将流量类型为东西向流量的流量迁移至端口4后,公网出口的流量并没有改变,所以本实施例同时还要解决公网出口的流量拥塞问题,即将最大的流量类型为南北向流量的流量迁移至其他公网出口和内部接口都空闲的网关的端口,即将流量为7G的南北向流量迁移到其他公网出口和内部接口都空闲的网关的端口,如内部接口7或公网出口5(由于端口4已经进行流量迁移),由于大小为7G的南北向流量起点为VM1,终点为外部网络,所以将对应VM1的VSWITCH1上对应于该大小为7G的南北向流量的流表中的目的tunnel修改为端口7所在网关IP GW3。
需要提醒注意的是,如果端口2不存在流量类型为东西向流量的流量,则只执行将最大的流量类型为南北向流量的流量迁移至其他公网出口和内部接口都空闲的网关的端口,用于解决公网出口和内部接口流量均达到最大转发能力,造成的流量拥塞问题。同样地,该步骤也可以用于解决只存在公网出口流量达到设定阈值的情况。
本发明的上述实施例中具有以下优点,控制器监测所述多个网关的端口的流量情况,并获取各端口的端口类型;当监测到有端口的流量达到设定阈值时,所述控制器根据所述端口的流表获得所述端口的流量的流量信息;所述控制器根据所述流量信息及所述端口的端口类型确定待迁移的流量和目标端口,将所述待迁移的流量迁移至目标端口。采用本方法解决了网关的端口流量拥塞问题,实现动态的调整端口流量,使整个网络更加安全可靠。
基于上述方法实施例相同的技术构思,本发明实施例还提供了一种控制器,可以应用于上述方法流程。
如图4所示,为本发明实施例提供的一种控制器的结构示意图,应用于包括控制器、多个网关和多个转发设备的系统,其中每个网关均包含一个公网出口和一个内部接口,该控制器可以包括:
监测模块41,用于监测所述多个网关的端口的流量情况,并获取各端口的端口类型。
获取模块42,用于当监测模块监测到有端口的流量达到设定阈值时,根据所述端口的流表获得所述端口的流量的流量信息。
具体地,所述获取模块42查询所述多个转发设备的流表,筛选出所述端口对应的流表,并根据所述流表得到所述端口的流量的流量信息。
其中,所述流量信息包括:流量的大小、类型、起点以及终点信息;
所述流量类型包括东西向流量和南北向流量。
迁移模块43,用于根据所述流量信息及所述端口的端口类型将所述端口的流量迁移至其他空闲的端口。
其中,迁移模块43根据所述流量信息及所述端口类型将所述端口的流量迁移至其他空闲的端口包括以下三种情况:
情况一、当所述端口的端口类型为内部接口时,如果所述流量的流量类型包括东西向流量时,则所述迁移模块将最大的东西向流量类型的流量迁移至其他空闲的内部接口;如果所述流量的流量类型不包括东西向流量时,则所述迁移模块将最大的南北向流量类型的流量迁移至其他公网出口和内部接口均空闲的网关的端口。
情况二、当所述端口的端口类型为公网出口时,所述迁移模块将最大的南北向流量类型的流量迁移至其他公网出口和内部接口都空闲的网关的端口。
情况三、当所述端口的端口类型为公网出口和内部接口,且所述公网出口和内部接口对应于同一网关,如果所述流量的流量类型包括东西向流量时,则所述迁移模块将最大的东西向流量类型的流量迁移至其他空闲的内部接口,并且将最大的南北向流量类型的流量迁移至其他公网出口和内部接口都空闲的网关的端口;如果所述流量的流量类型不包括东西向流量时,则所述迁移模块将最大的南北向流量类型的流量迁移至其他公网出口和内部接口都空闲的网关的端口。
迁移模块43将所述待迁移的流量迁移至目标端口,包括:
迁移模块43向待迁移的流量对应的转发设备下发指令,以使转发设备删除所述待迁移的流量对应的流表;
所述迁移模块43根据所述目标端口和所述待迁移的流量的流量信息生成新的流表,其中,所述新的流表中的目的地址为目标端口所在网关的地址;
所述迁移模块43将所述新的流表下发到所述转发设备,以使所述转发设备将所述待迁移的流量转发到目标端口。
优选地,当有新的流量需要转发时,获取模块42,还用于,接收所述流量对应的转发设备上送的pack-in报文,根据所述pack-in报文获得所述流量的流量信息;
所述迁移模块43,还用于,根据所述获取模块42获取的流量的流量信息以及所述监测模块41监测的多个网关的端口的流量情况,确定目标端口;根据所述所述流量的流量信息以及所述目标端口生成流表,下发到所述转发设备,以使所述转发设备根据所述流表将所述流量转发到目标端口。
本发明的上述实施例中具有以下优点,控制器监测多个网关的端口的流量情况,并获得端口类型;当有端口的流量达到端口的最大转发能力时,控制器获取所述端口的流量的流量信息;所述控制器根据所述流量信息及所述端口的端口类型确定待迁移的流量和目标端口,将所述待迁移的流量迁移至目标端口,解决了网关的端口流量拥塞问题,实现动态的调整端口流量,使整个网络更加安全可靠。
本领域技术人员可以理解实施例中的控制器中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
Claims (10)
1.一种流量迁移方法,应用于包括控制器、多个网关和多个转发设备的系统,其特征在于,所述方法包括:
所述控制器监测所述多个网关的端口的流量情况,并获取各端口的端口类型;
当监测到有端口的流量达到设定阈值时,所述控制器根据所述端口的流表获得所述端口的流量的流量信息;
所述控制器根据所述流量信息及所述端口的端口类型确定待迁移的流量和目标端口,将所述待迁移的流量迁移至目标端口;其中,所述端口类型包括公网出口和内部接口;所述流量信息包括流量类型、流量的大小、起点以及终点信息,所述流量类型包括东西向流量和南北向流量。
2.如权利要求1所述的方法,其特征在于,所述控制器根据所述端口的流表获得所述端口的流量的流量信息,包括:
所述控制器查询所述多个转发设备的流表,根据所述端口所在网关的地址筛选出所述端口对应的流表,并根据所述流表得到所述端口的流量的流量信息。
3.如权利要求1所述的方法,其特征在于,所述控制器根据所述流量信息及所述端口的端口类型确定待迁移的流量和目标端口,包括:
当所述端口的端口类型为内部接口时,如果所述流量的流量类型包括东西向流量,则所述控制器确定将最大的东西向流量类型的流量迁移至其他空闲的内部接口;如果所述流量的流量类型不包括东西向流量时,则所述控制器确定将最大的南北向流量类型的流量迁移至其他公网出口和内部接口均空闲的网关的端口;
当所述端口的端口类型为公网出口时,所述控制器确定将最大的南北向流量类型的流量迁移至其他公网出口和内部接口都空闲的网关的端口;
当所述端口的端口类型为公网出口和内部接口,且所述公网出口和内部接口对应于同一网关,如果所述流量的流量类型包括东西向流量时,则所述控制器确定将最大的东西向流量类型的流量迁移至其他空闲的内部接口,并且确定将最大的南北向流量类型的流量迁移至其他公网出口和内部接口都空闲的网关的端口;如果所述流量的流量类型不包括东西向流量时,则所述控制器确定将最大的南北向流量类型的流量迁移至其他公网出口和内部接口都空闲的网关的端口;
其中,空闲的端口是一个相对值,相对于达到设定阈值的端口,其他未达到最大转发能力的端口均称为空闲的端口。
4.如权利要求1所述的方法,其特征在于,所述将所述待迁移的流量迁移至目标端口,包括:
所述控制器向所述待迁移的流量对应的转发设备下发指令,以使所述转发设备删除所述待迁移的流量对应的流表;
所述控制器根据所述目标端口和所述待迁移的流量的流量信息生成新的流表,其中,所述新的流表中的目的地址为目标端口所在网关的地址;
所述控制器将所述新的流表下发到所述转发设备,以使所述转发设备将所述待迁移的流量转发到目标端口。
5.权利要求1所述的方法,其特征在于,所述方法还包括:
当有新的流量需要转发时,所述控制器接收所述流量对应的转发设备上送的pack-in报文;
所述控制器根据所述pack-in报文获得所述流量的流量信息;
所述控制器根据所述流量的流量信息以及所述多个网关的端口的流量情况,确定目标端口;
所述控制器根据所述流量的流量信息以及所述目标端口生成流表,下发到所述转发设备,以使所述转发设备根据所述流表将所述流量转发到目标端口。
6.一种控制器,应用于包括控制器、多个网关和多个转发设备的系统,其特征在于,所述控制器包括:
监测模块,用于监测所述多个网关的端口的流量情况,并获取各端口的端口类型;
获取模块,用于当监测模块监测到有端口的流量达到设定阈值时,根据所述端口的流表获得所述端口的流量的流量信息;
迁移模块,用于根据所述流量信息及所述端口的端口类型确定待迁移的流量和目标端口,将所述待迁移的流量迁移至目标端口;其中,所述端口类型包括公网出口和内部接口;所述流量信息包括流量类型、流量的大小、起点以及终点信息,所述流量类型包括东西向流量和南北向流量。
7.如权利要求6所述的控制器,其特征在于,所述获取模块,用于根据所述端口的流表获得所述端口的流量的流量信息,具体包括:
所述获取模块查询所述多个转发设备的流表,根据所述端口所在网关的地址筛选出所述端口对应的流表,并根据所述流表得到所述端口的流量的流量信息。
8.如权利要求6所述的控制器,
所述迁移模块,用于根据所述流量信息及所述端口的端口类型确定待迁移的流量和目标端口,包括:
当所述端口的端口类型为内部接口时,如果所述流量的流量类型包括东西向流量时,则所述迁移模块确定将最大的东西向流量类型的流量迁移至其他空闲的内部接口;如果所述流量的流量类型不包括东西向流量时,则所述迁移模块确定将最大的南北向流量类型的流量迁移至其他公网出口和内部接口均空闲的网关的端口;
当所述端口的端口类型为公网出口时,所述迁移模块确定将最大的南北向流量类型的流量迁移至其他公网出口和内部接口都空闲的网关的端口;
当所述端口的端口类型为公网出口和内部接口,且所述公网出口和内部接口对应于同一网关,如果所述流量的流量类型包括东西向流量时,则所述迁移模块确定将最大的东西向流量类型的流量迁移至其他空闲的内部接口,并且确定将最大的南北向流量类型的流量迁移至其他公网出口和内部接口都空闲的网关的端口;如果所述流量的流量类型不包括东西向流量时,则所述迁移模块确定将最大的南北向流量类型的流量迁移至其他公网出口和内部接口都空闲的网关的端口;
其中,空闲的端口是一个相对值,相对于达到设定阈值的端口,其他未达到最大转发能力的端口均称为空闲的端口。
9.如权利要求6所述的控制器,其特征在于,所述迁移模块,将所述待迁移的流量迁移至目标端口,包括:
所述迁移模块向所述待迁移的流量对应的转发设备下发指令,以使所述转发设备删除所述待迁移的流量对应的流表;
所述迁移模块根据所述目标端口和所述待迁移的流量的流量信息生成新的流表,其中,所述新的流表中的目的地址为目标端口所在网关的地址;
所述迁移模块将所述新的流表下发到所述转发设备,以使所述转发设备将所述待迁移的流量转发到目标端口。
10.权利要求6所述的控制器,其特征在于,
所述获取模块,还用于,当有新的流量需要转发时,接收所述流量对应的转发设备上送的pack-in报文,根据所述pack-in报文获得所述流量的流量信息;
所述迁移模块,还用于,根据所述流量的流量信息以及所述多个网关的端口的流量情况,确定目标端口;根据所述流量的流量信息以及所述目标端口生成流表,下发到所述转发设备,以使所述转发设备根据所述流表将所述流量转发到目标端口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510077303.8A CN104821922B (zh) | 2015-02-12 | 2015-02-12 | 一种流量分担方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510077303.8A CN104821922B (zh) | 2015-02-12 | 2015-02-12 | 一种流量分担方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104821922A CN104821922A (zh) | 2015-08-05 |
CN104821922B true CN104821922B (zh) | 2019-03-15 |
Family
ID=53732090
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510077303.8A Active CN104821922B (zh) | 2015-02-12 | 2015-02-12 | 一种流量分担方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104821922B (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105245826B (zh) * | 2015-08-27 | 2019-04-30 | 浙江宇视科技有限公司 | 一种控制监控视频流传输的方法及装置 |
CN106559349B (zh) * | 2015-09-24 | 2019-03-19 | 阿里巴巴集团控股有限公司 | 业务传输速率的控制方法及装置、系统 |
CN105162698B (zh) * | 2015-10-10 | 2019-03-12 | 浪潮(北京)电子信息产业有限公司 | 云服务器基于记忆模型调整sdn网络路径的方法和装置 |
CN106982173A (zh) * | 2016-01-18 | 2017-07-25 | 中兴通讯股份有限公司 | 一种隧道流量控制方法、装置和网络管理系统 |
CN105763606B (zh) * | 2016-02-04 | 2019-04-09 | 新华三技术有限公司 | 一种服务链代理聚合的方法及系统 |
CN107087288B (zh) * | 2016-02-15 | 2021-01-01 | 中兴通讯股份有限公司 | 一种diameter信令网关的实现方法、装置和系统 |
CN106059945B (zh) * | 2016-05-13 | 2019-08-27 | 浙江宇视科技有限公司 | 一种流量控制方法及视频监控系统 |
CN107592208B (zh) * | 2016-07-08 | 2022-07-29 | 中兴通讯股份有限公司 | 流量管理方法及装置 |
CN106101010B (zh) * | 2016-08-15 | 2019-06-28 | 中国联合网络通信集团有限公司 | 基于端局云化的vBRAS流量负载均衡方法及装置 |
CN106302221B (zh) * | 2016-09-12 | 2019-09-10 | 中国联合网络通信集团有限公司 | 基于端局云化的流量调度方法和系统 |
CN108011800B (zh) * | 2016-10-31 | 2020-12-08 | 中国电信股份有限公司 | 虚拟可扩展局域网vxlan部署方法及vxlan网关 |
CN108075955B (zh) * | 2016-11-10 | 2020-04-14 | 中国移动通信有限公司研究院 | 骨干网的数据处理方法及装置 |
TWI713332B (zh) * | 2017-01-19 | 2020-12-11 | 香港商阿里巴巴集團服務有限公司 | 業務傳輸速率的控制方法及裝置、系統 |
CN109525497B (zh) * | 2017-09-18 | 2021-08-03 | 华为技术有限公司 | 一种流量分组方法、数据中心网络系统以及控制器 |
CN108040067B (zh) * | 2017-12-26 | 2021-07-06 | 北京星河星云信息技术有限公司 | 一种云平台入侵检测方法、装置及系统 |
CN109194640A (zh) * | 2018-08-27 | 2019-01-11 | 北京安数云信息技术有限公司 | 一种虚拟化平台东西向流量隔离防护方法 |
CN110753002B (zh) * | 2019-09-29 | 2023-04-07 | 北京浪潮数据技术有限公司 | 流量调度方法及装置 |
CN111371740B (zh) * | 2020-02-17 | 2022-06-07 | 华云数据有限公司 | 一种报文流量监控方法、系统及电子设备 |
CN111404774B (zh) * | 2020-03-11 | 2021-12-10 | 腾讯云计算(北京)有限责任公司 | 数据监控方法、装置、设备及存储介质 |
CN111756651A (zh) * | 2020-06-19 | 2020-10-09 | 浪潮电子信息产业股份有限公司 | 一种流量传输方法、装置、设备、介质 |
CN114363261A (zh) * | 2021-12-09 | 2022-04-15 | 杭州云豆豆智能科技有限公司 | 一种网络流量调整方法、装置、电子装置和存储介质 |
CN114466404A (zh) * | 2022-03-22 | 2022-05-10 | 中国电信股份有限公司 | 业务流数据传输方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102149138A (zh) * | 2011-05-26 | 2011-08-10 | 东南大学 | 无线Mesh网络网关负载均衡的方法 |
CN103200117A (zh) * | 2013-03-04 | 2013-07-10 | 杭州华三通信技术有限公司 | 一种负载均衡方法和装置 |
CN103297347A (zh) * | 2013-05-15 | 2013-09-11 | 杭州华三通信技术有限公司 | 一种负载均衡处理方法及装置 |
CN104243240A (zh) * | 2014-09-23 | 2014-12-24 | 电子科技大学 | 一种基于OpenFlow的SDN流量测量方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012130264A1 (en) * | 2011-03-29 | 2012-10-04 | Nec Europe Ltd. | User traffic accountability under congestion in flow-based multi-layer switches |
-
2015
- 2015-02-12 CN CN201510077303.8A patent/CN104821922B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102149138A (zh) * | 2011-05-26 | 2011-08-10 | 东南大学 | 无线Mesh网络网关负载均衡的方法 |
CN103200117A (zh) * | 2013-03-04 | 2013-07-10 | 杭州华三通信技术有限公司 | 一种负载均衡方法和装置 |
CN103297347A (zh) * | 2013-05-15 | 2013-09-11 | 杭州华三通信技术有限公司 | 一种负载均衡处理方法及装置 |
CN104243240A (zh) * | 2014-09-23 | 2014-12-24 | 电子科技大学 | 一种基于OpenFlow的SDN流量测量方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104821922A (zh) | 2015-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104821922B (zh) | 一种流量分担方法和设备 | |
US11997539B2 (en) | User-plane apparatus for edge computing | |
EP3008858B1 (en) | System and method for coordinated remote control of network radio nodes and core network elements | |
CN104205055B (zh) | 云计算系统和在云计算系统中实现演进分组核心(epc)的控制平面的方法 | |
CN109362085B (zh) | 通过openflow数据平面在云计算机中实现epc | |
EP2862313B9 (en) | System for providing policy and charging rules function (pcrf) with integrated openflow controller | |
AU2012303738B2 (en) | Implementing a 3G packet core in a cloud computer with openflow data and control planes | |
CN111510316A (zh) | Sd-wan中通信的方法、sd-wan及服务提供商 | |
EP3097672B1 (en) | Method of operating a network entity | |
EP2843885A1 (en) | Apparatus and method for implementing a packet gateway user plane | |
CN107864061A (zh) | 一种在私有云中虚拟机端口限速和镜像的方法 | |
CN104753828A (zh) | 一种sdn控制器、数据中心系统和路由连接方法 | |
WO2015170204A1 (en) | Implementing a 3g packet core in a cloud computer with openflow data and control planes | |
Heinonen et al. | Dynamic tunnel switching for SDN-based cellular core networks | |
CN106789541B (zh) | 一种基于sdn的跨数据中心通信方法和网络系统 | |
CN104852855B (zh) | 拥塞控制方法、装置及设备 | |
EP3200398B1 (en) | Automated mirroring and remote switch port analyzer (rspan)/encapsulated remote switch port analyzer (erspan) functions using fabric attach (fa) signaling | |
US20160344611A1 (en) | Method and control node for handling data packets | |
CN103281406B (zh) | Vm云间迁移的报文转发方法及nat服务器和网络 | |
US10033589B1 (en) | Management of services to subscriber groups in a distributed service plane environment | |
EP3041311B1 (en) | Communication apparatus and method in communication system, and communication path control apparatus and method | |
CN105721346A (zh) | 一种基于软件定义网络的应用带宽配置方法及控制器 | |
JP6050720B2 (ja) | コアネットワークにおけるゲートウェイのセッション情報を移行させるシステム及び方法 | |
US8675669B2 (en) | Policy homomorphic network extension | |
KR101679224B1 (ko) | Sdn 기반의 트래픽 분배 가능한 네트워크 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant after: Xinhua three Technology Co., Ltd. Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant before: Huasan Communication Technology Co., Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |