一种负载均衡方法、装置和系统.pdf

上传人:a1 文档编号:1685951 上传时间:2018-07-04 格式:PDF 页数:20 大小:1MB
返回 下载 相关 举报
摘要
申请专利号:

CN201410026424.5

申请日:

2014.01.20

公开号:

CN104796347A

公开日:

2015.07.22

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):H04L 12/803申请日:20140120|||公开

IPC分类号:

H04L12/803(2013.01)I

主分类号:

H04L12/803

申请人:

中兴通讯股份有限公司

发明人:

焦欣文; 梁乾灯; 陈然

地址:

518057广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦法务部

优先权:

专利代理机构:

北京派特恩知识产权代理有限公司11270

代理人:

任媛; 蒋雅洁

PDF下载: PDF下载
内容摘要

本发明公开了一种负载均衡方法、装置和系统,其中,一种负载均衡方法包括:交换机向控制器发送组表支持的选路策略;控制器根据接收到的选路策略,以及应用APP或者控制器自身的业务需求确定指定选路策略;控制器向交换机发送Select类型组表条目和所述指定选路策略;交换机当对流量执行Select类型组表时,根据收到的所述指定选路策略执行相应的选路算法。

权利要求书

权利要求书1.  一种负载均衡方法,其特征在于,所述方法包括:交换机发送组表支持的选路策略;接收Select类型组表条目和指定选路策略;当对流量执行Select类型组表时,根据收到的指定选路策略执行相应的选路算法。2.  根据权利要求1所述的方法,其特征在于,当组表支持的选路策略为逐流时,所述方法还包括:交换机发送选路键值;接收指定选路键值;相应的,所述执行相应的选路算法为:根据收到的指定选路策略和指定选路键值执行相应的选路算法。3.  根据权利要求2所述的方法,其特征在于,所述根据指定选路策略和指定选路键值执行相应的选路算法为:根据选路键值从报文中提取元素,执行逐流算法。4.  一种负载均衡方法,其特征在于,所述方法包括:控制器接收组表支持的选路策略;根据接收到的选路策略,以及应用APP或者控制器自身的业务需求确定指定选路策略;发送Select类型组表条目和所述指定选路策略。5.  根据权利要求4所述的方法,其特征在于,所述方法还包括:控制器接收选路键值;根据接收到的选路键值,以及应用APP或者控制器自身的业务需求确定指定选路键值并发送。6.  一种负载均衡方法,其特征在于,所述方法包括:交换机向控制器发送组表支持的选路策略;控制器根据接收到的选路策略,以及应用APP或者控制器自身的业务需求确定指定选路策略;控制器向交换机发送Select类型组表条目和所述指定选路策略;交换机当对流量执行Select类型组表时,根据收到的所述指定选路策略执行相应的选路算法。7.  根据权利要求6所述的方法,其特征在于,当组表支持的选路策略为逐流时,所述方法还包括:交换机向控制器发送选路键值;控制器根据接收到的选路键值,以及应用APP或者控制器自身的业务需求确定指定选路键值并发送给交换机;相应的,所述执行相应的选路算法为:交换机根据收到的指定选路策略和指定选路键值执行相应的选路算法。8.  一种交换机,其特征在于,所述交换机包括:第一发送单元,用于发送组表支持的选路策略;第一接收单元,用于接收Select类型组表条目和指定选路策略;执行单元,用于当对流量执行Select类型组表时,根据收到的指定选路策略执行相应的选路算法。9.  根据权利要求8所述的交换机,其特征在于,所述第一发送单元,还用于发送选路键值;第一接收单元,还用于接收指定选路键值;执行单元,具体用于当对流量执行Select类型组表时,根据收到的指定选路策略和指定选路键值执行相应的选路算法。10.  根据权利要求9所述的交换机,其特征在于,执行单元,具体用于根据选路键值从报文中提取元素,执行逐流算法。11.  一种控制器,其特征在于,所述控制器包括:第二接收单元,用于接收组表支持的选路策略;确定单元,用于根据接收到的选路策略,以及应用APP或者控制器自身的 业务需求确定指定选路策略;第二发送单元,用于发送Select类型组表条目和所述指定选路策略。12.  根据权利要求11所述的控制器,其特征在于,所述第二接收单元,还用于接收选路键值;确定单元,还用于根据接收到的选路键值,以及应用APP或者控制器自身的业务需求确定指定选路键值;第二发送单元,还用于发送所述指定选路键值。13.  一种负载均衡系统,其特征在于,所述系统包括控制器和至少一个交换机,其中,所述交换机,用于向控制器发送组表支持的选路策略;当对流量执行Select类型组表时,根据控制器发来的指定选路策略执行相应的选路算法;所述控制器,用于根据交换机发来的选路策略,以及应用APP或者控制器自身的业务需求确定指定选路策略;向交换机发送Select类型组表条目和所述指定选路策略。14.  根据权利要求13所述的系统,其特征在于,当组表支持的选路策略为逐流时,所述交换机,用于向控制器发送选路键值;根据控制器发来的指定选路策略和指定选路键值执行相应的选路算法;所述控制器,还用于根据接收到的选路键值,以及应用APP或者控制器自身的业务需求确定指定选路键值并发送给交换机。

说明书

说明书一种负载均衡方法、装置和系统
技术领域
本发明涉及通信技术,尤其涉及一种负载均衡方法、装置和系统。
背景技术
软件定义网络(Software Defined Network,SDN)是一种新型网络创新架构。SDN网络采用的OpenFlow协议通过将网络设备控制面(包含OpenFlow控制器Controller)与数据面(包含OpenFlow交换机Capable Switch)分离开来,从而实现了网络流量的灵活控制,为核心网络及应用的创新提供了良好的平台。
OpenFlow协议用来描述控制器和交换机之间交互所用信息的标准,以及控制器和交换机的接口标准。协议的核心部分是用于OpenFlow协议信息结构的集合。
控制器通过OpenFlow协议来管理交换机。通过此协议,控制器既可以主动也可被动的增加、更新或删除流表项(flow entry)。
等价多路径(Equal Cost Multi-Path,ECMP)是一种能够有效利用网络传输带宽的技术。在传统路由技术中,发往某一目的地址的流量只能利用其中的一条链路,其他链路处于备份或者无效状态,并且在动态路由环境下链路之间的切换需要一定的时间。而在引入ECMP技术下,发往某一目的地址的流量能够被分配到多个等价的路径上。
在实际转发中,设备往往通过不同的策略实现流量在不同路径上负载均衡(Load Balancing),进一步的提升流量转发中的链路利用效率。常见的分流策略有:逐包(per packet)和逐流(per flow)。在逐包策略负载均衡下,到同一个目的的数据报文,被均衡的分配到不同的路径上;而在逐流策略负载均衡下,到同一个目的地址的报文,依据报文中一些元素(IP报文往往是五元组:源IP 地址、目的IP地址、IP协议号、源端口号、目的端口号)划分为不同流(Flow),然后将不同流均衡的分配到不同的路径上。
根据现有Openflow协议,ECMP是通过Select类型的组表(Group Table)来实现的:不同的ECMP转发路径通过组表下不同的容器(bucket)来表达,当报文进入Openflow转发管道后执行到包含不同的bucket的Select类型的组表时,将根据一定负载均衡算法把报文分配到某一个bucket中处理。
但是,现有Openflow协议中,在执行Select类型的组表的时候,Openflow控制器并没有指定交换机采用什么负载均衡算法,也没有指明参与负荷分担计算的报文元素。因此就存在下面两点问题:
在逐包策略下,控制器认定的一条流量被交换机自己的选路算法分配到了不同路径上,导致失序;
在逐流策略下,Openflow协议定义了多个报文字段作为一条流量的标识(Openflow1.3版本有40个字段),而传统转发设备往往只会选取有限的字段来标识一条流,通常IP转发往往以IP五元组,多协议标签交换(Multi-Protocol Label Switching,MPLS)转发以源、目的MAC和标签值,交换机标识流量的力度往往过粗。当交换机标识流量的力度过粗时,控制器定义流量得不到精细化的控制;而当控制器标识的流量的力度过粗时,控制器认定的流量就有可能失序。
发明内容
为解决现有存在的技术问题,本发明实施例提供一种负载均衡方法、装置和系统。
本发明提供一种负载均衡方法,所述方法包括:
交换机发送组表支持的选路策略;
接收Select类型组表条目和指定选路策略;
当对流量执行Select类型组表时,根据收到的指定选路策略执行相应的选路算法。
本发明提供另一种负载均衡方法,所述方法包括:
控制器接收组表支持的选路策略;
根据接收到的选路策略,以及应用APP或者控制器自身的业务需求确定指定选路策略;
发送Select类型组表条目和所述指定选路策略。
本发明提供再一种负载均衡方法,所述方法包括:
交换机向控制器发送组表支持的选路策略;
控制器根据接收到的选路策略,以及应用APP或者控制器自身的业务需求确定指定选路策略;
控制器向交换机发送Select类型组表条目和所述指定选路策略;
交换机当对流量执行Select类型组表时,根据收到的所述指定选路策略执行相应的选路算法。
本发明提供一种交换机,所述交换机包括:
第一发送单元,用于发送组表支持的选路策略;
第一接收单元,用于接收Select类型组表条目和指定选路策略;
执行单元,用于当对流量执行Select类型组表时,根据收到的指定选路策略执行相应的选路算法。
本发明提供一种控制器,所述控制器包括:
第二接收单元,用于接收组表支持的选路策略;
确定单元,用于根据接收到的选路策略,以及应用APP或者控制器自身的业务需求确定指定选路策略;
第二发送单元,用于发送Select类型组表条目和所述指定选路策略。
本发明提供一种负载均衡系统,所述系统包括控制器和至少一个交换机,其中,所述交换机,用于向控制器发送组表支持的选路策略;当对流量执行Select类型组表时,根据控制器发来的指定选路策略执行相应的选路算法;
所述控制器,用于根据交换机发来的选路策略,以及应用APP或者控制器自身的业务需求确定指定选路策略;向交换机发送Select类型组表条目和所述 指定选路策略。
由上可知,本发明的技术方案包括:交换机发送组表支持的选路策略;接收Select类型组表条目和指定选路策略;当对流量执行Select类型组表时,根据收到的指定选路策略执行相应的选路算法。由此,本发明实施例提供的SDN网络中流量ECMP负载均衡的解决方案,解决一条流的报文失序的问题。
附图说明
图1为SDN网络的结构示意图;
图2为本发明提供的一种负载均衡方法的实施例的实现流程图;
图3为本发明提供的另一种负载均衡方法的实施例的实现流程图;
图4为本发明提供的再一种负载均衡方法的实施例的实现流程图;
图5为本发明提供的交换机的实施例的结构示意图;
图6为本发明提供的控制器的实施例的结构示意图;
图7为本发明提供的负载均衡系统的实施例的结构示意图;
图8为本发明提供的再一种负载均衡方法的第一实施例的实现流程图;
图9为本发明提供的再一种负载均衡方法的第二实施例的实现流程图;
图10为本发明提供的再一种负载均衡方法的第三实施例的实现流程图。
具体实施方式
本发明提供的一种负载均衡方法的实施例,如图2所示,所述方法包括:
步骤201、交换机发送组表支持的选路策略;
这里,所述交换机为Openflow交换机,Openflow交换机向控制器上报组表能力时,告知控制器该组表所支持的选路策略。所述选路策略至少包括逐流和逐包中的一种,默认支持逐包模式的选路策略。
步骤202、接收Select类型组表条目和指定选路策略;
步骤203、当对流量执行Select类型组表时,根据收到的指定选路策略执行相应的选路算法。
这里,所述根据指定选路策略和指定选路键值执行相应的选路算法为:
根据选路键值从报文中提取元素,执行逐流算法。
在一实施例中,当组表支持的选路策略为逐流时,所述方法还包括:
交换机发送选路键值;
接收指定选路键值;
相应的,所述执行相应的选路算法为:
根据收到的指定选路策略和指定选路键值执行相应的选路算法。
这里,默认情况下控制器认为Openflow交换机支持任意的匹配域(Match field)字段组合作为键值。
本发明提供的另一种负载均衡方法的实施例,如图3所示,所述方法包括:
步骤301、控制器接收组表支持的选路策略;
步骤302、根据接收到的选路策略,以及应用APP或者控制器自身的业务需求确定指定选路策略;
步骤303、发送Select类型组表条目和所述指定选路策略。
在一实施例中,所述方法还包括:
控制器接收选路键值;
根据接收到的选路键值,以及应用APP或者控制器自身的业务需求确定指定选路键值并发送。
本发明提供的再一种负载均衡方法,如图4所示,所述方法包括:
步骤401、交换机向控制器发送组表支持的选路策略;
步骤402、控制器根据接收到的选路策略,以及应用APP或者控制器自身的业务需求确定指定选路策略;
步骤403、控制器向交换机发送Select类型组表条目和所述指定选路策略;
步骤404、交换机当对流量执行Select类型组表时,根据收到的所述指定选路策略执行相应的选路算法。
在一实施例中,当组表支持的选路策略为逐流时,所述方法还包括:
交换机向控制器发送选路键值;
控制器根据接收到的选路键值,以及应用APP或者控制器自身的业务需求确定指定选路键值并发送给交换机;
相应的,所述执行相应的选路算法为:
交换机根据收到的指定选路策略和指定选路键值执行相应的选路算法。
本发明提供的一种交换机的实施例,如图5所示,所述交换机包括:
第一发送单元501,用于发送组表支持的选路策略;
第一接收单元502,用于接收Select类型组表条目和指定选路策略;
执行单元503,用于当对流量执行Select类型组表时,根据收到的指定选路策略执行相应的选路算法。
在一实施例中,所述第一发送单元501,还用于发送选路键值;
第一接收单元502,还用于接收指定选路键值;
执行单元503,具体用于当对流量执行Select类型组表时,根据收到的指定选路策略和指定选路键值执行相应的选路算法。
这里,执行单元503可以具体用于根据选路键值从报文中提取元素,执行逐流算法。
本发明提供的一种控制器的实施例,如图6所示,所述控制器包括:
第二接收单元601,用于接收组表支持的选路策略;
确定单元602,用于根据接收到的选路策略,以及应用APP或者控制器自身的业务需求确定指定选路策略;
第二发送单元603,用于发送Select类型组表条目和所述指定选路策略。
在一实施例中,所述第二接收单元601,还用于接收选路键值;
确定单元602,还用于根据接收到的选路键值,以及应用APP或者控制器自身的业务需求确定指定选路键值;
第二发送单元603,还用于发送所述指定选路键值。
本发明提供的一种负载均衡系统的实施例,如图7所示,所述系统包括控制器和至少一个交换机,其中,所述交换机701,用于向控制器发送组表支持的选路策略;当对流量执行Select类型组表时,根据控制器发来的指定选路策 略执行相应的选路算法;
所述控制器702,用于根据交换机发来的选路策略,以及应用APP或者控制器自身的业务需求确定指定选路策略;向交换机发送Select类型组表条目和所述指定选路策略。
在一实施例中,当组表支持的选路策略为逐流时,所述交换机701,用于向控制器发送选路键值;根据控制器发来的指定选路策略和指定选路键值执行相应的选路算法;
所述控制器702,还用于根据接收到的选路键值,以及应用APP或者控制器自身的业务需求确定指定选路键值并发送给交换机。
本发明提供的再一种负载均衡方法的第一实施例,如图8所示,本实施例包括以下步骤:
步骤801,Openflow交换机向控制器上报组表的能力时,告知控制器所述组表所支持的选路策略。
此步骤中,选路策略有两种,即逐包(per packet)和逐流(per flow)。
在逐包策略负载均衡下,到同一个目的的数据报文,被均衡的分配到不同的路径上;而在逐流策略负载均衡下,到同一个目的地址的报文,依据选路键值划分为不同流(Flow),然后将不同流均衡的分配到不同的路径上。
默认情况下控制器认为Openflow交换机支持所有的Match域作为键值。
步骤802,控制器根据应用(APP)或者控制器自身的业务需求向交换机下发Select类型组表条目时,还下发所选择的一种选路策略,选择的一种选路策略称为指定选路策略。
在此步骤中,所选的一种选路策略是在Openflow交换机所上报的能力范围内。
控制器根据APP或者自身的业务需求向交换机下发Select类型组表条目时,还下发所选择的一种选路策略是逐流的选路策略时,进一步的还需要下发选路键值。
步骤803,当流量在Openflow交换机中进行Select类型的组表执行时,根 据组表中的选路策略,执行不同的选路算法。
当步骤802所选的一种选路策略是逐流的选路策略时,本步骤中,当流量在Openflow交换机中进行Select类型的组表执行时,除了根据组表中的选路策略来选择选路算法外,进一步的还需要根据选路键值来进行选路算法。
本发明提供的再一种负载均衡方法的第二实施例,本实施例中SDN网络ECMP负载均衡的选路策略是逐包,如图9所示,本实施例包括以下步骤:
步骤901,Openflow交换机向控制器上报组表能力时,告知控制器该组表所支持的选路策略(至少包含逐包)。
此步骤中,Openflow交换机通过Openflow协议定义的OFPMP_GROUP_FEATURES reply消息向控制器上报组表能力时,可以只上报是否支持逐流的选路策略,默认支持逐包选路策略。
步骤902,控制器根据APP或者自身的业务需求向交换机通过OFPT_GROUP_MOD消息下发Select类型组表条目时,还下发所选择的一种选路策略。
在此步骤中,控制器根据APP或者自身的业务需求所选的选路策略是逐包的选路策略。
步骤903,当流量在Openflow交换机中进行Select类型的组表执行时,根据组表中的选路策略,执行选路算法。
数据结构描述如下:
(1)扩展OFPMP_GROUP_FEATURES reply消息中的capabilities中标记位,用于表示组表支持的选路策略:


(2)扩展OFPT_GROUP_MOD消息,增加选路策略(逐包或逐流)和选路键值。后者是变长数组,仅在Select类型且选路策略为逐流的组表条目上生效。Openflow交换机收到这种Select类型的组表条目时,如果不支持逐流,或者参数不对应,或者有不支持的选路键值,回复Error消息,携带对应的错误类型和错误码信息给控制器。
上述扩展中的选路键值的数据结构可以借用struct ofp_table_feature_prop_oxm的定义,该数据结构为变长数据定义类型。




OFP_ASSERT(sizeof(struct ofp_table_feature_prop_oxm)==4);
本发明提供的再一种负载均衡方法的第三实施例,本实施例中SDN网络ECMP负载均衡的选路策略是逐流。如图10所示,本实施例包括以下步骤:
步骤1001,Openflow交换机向控制器上报组表能力时,告知控制器该组表所支持的选路策略(至少包含逐流)。
此步骤中,Openflow交换机向控制器上报组表能力时,可以只上报支持逐流的选路策略和所支持选路键值,该选路键值可以复用Match域已有定义,支持根据五元组(源IP、目的IP、协议类型、源端口、目的端口)作为键值选路,也支持任意Match预置定义字段集合作为键值的选路。
步骤1002,控制器根据APP或者自身的业务需求向交换机下发Select类型组表条目时,还下发所选择的一种选路策略及选路键值(例如五元组)。
在此步骤中,控制器根据APP或者自身的业务需求所选的选路策略是逐流的选路策略。
步骤1003,当流量在Openflow交换机中进行Select类型的组表执行时,根据组表中的选路策略及选路键值,执行选路算法。
此步骤中,Openflow交换机则根据控制器下发的选路键值从报文中提取元素,然后执行逐流算法,选路算法可以由Openflow交换机自主选择,只要根据选路键值有效散列即可。
综上所述,本发明实施例提供的SDN网络中流量ECMP负载均衡的解决方案,能够对流量进行精细化控制,并且解决一条流的报文失序的问题。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储 器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

一种负载均衡方法、装置和系统.pdf_第1页
第1页 / 共20页
一种负载均衡方法、装置和系统.pdf_第2页
第2页 / 共20页
一种负载均衡方法、装置和系统.pdf_第3页
第3页 / 共20页
点击查看更多>>
资源描述

《一种负载均衡方法、装置和系统.pdf》由会员分享,可在线阅读,更多相关《一种负载均衡方法、装置和系统.pdf(20页珍藏版)》请在专利查询网上搜索。

本发明公开了一种负载均衡方法、装置和系统,其中,一种负载均衡方法包括:交换机向控制器发送组表支持的选路策略;控制器根据接收到的选路策略,以及应用APP或者控制器自身的业务需求确定指定选路策略;控制器向交换机发送Select类型组表条目和所述指定选路策略;交换机当对流量执行Select类型组表时,根据收到的所述指定选路策略执行相应的选路算法。。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 >


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1