一种负载分担方法、装置和系统、计算机可读存储介质与流程

文档序号:17985361发布日期:2019-06-22 00:22阅读:152来源:国知局
一种负载分担方法、装置和系统、计算机可读存储介质与流程

本发明涉及通信领域,更具体地涉及一种负载分担方法、装置和系统、计算机可读存储介质。



背景技术:

bras(broadbandremoteaccessserver,宽带接入服务器)是一种面向宽带网络应用的接入网关。它是宽带接入网和骨干网之间的桥梁,提供基本的接入手段和宽带接入网的管理功能。它位于网络的边缘,提供宽带接入服务、实现多种业务的汇聚与转发,能满足不同用户对传输容量和带宽利用率的要求,因此是宽带用户接入的核心设备。bras对于接入的用户首先进行认证,认证通过允许用户访问宽带网络,认证失败拒绝用户接入。

传统的bras有以下的缺点:

1.传统bras需要一个一个设备配置,配置分散、繁琐,业务开通和修改复杂,在配置过程中容易错误。因此,业务开通周期长,需要较多人员的支持。

2.由于传统bras是封闭系统,新需求和新业务研发周期长,不能迅速推出市场。

3.传统bras设备之间互相独立,独立负责业务负载,各个设备之间负载情况有别,但负载不能相互均衡,资源不能充分利用,浪费资源。

sdn(softwaredefinednetwork,软件定义网络)技术试图解决上述问题。sdn有三个基本技术特征:转控分离、集中控制和开发接口。转控分离和集中控制可以解决配置复杂和业务均衡问题,开发接口可以解决研发周期长快速推出市场问题。

将sdn引入bras,称为软件定义bras(softwaredefinedbroadbandremoteaccessserver,简称sd-bras)。图1为sd-bras的部署简化图。如图1所示,sd-bras的集中控制面一般部署在通用服务器上,转发部署在转发器10上,转发器10组成转发池20,业务处理可以在转发池20上进行负载负担。集中控制面需要控制数量较多的转发器,所以采用集群化的软件系统,内部包括多个控制处理实例30,入口是负载负担器(loadbalancer,lb)40。lb有较强的性能要求,逻辑要尽量简单;增加新业务、新功能时,不要影响lb,保持lb的稳定性。

sd-bras用户接入阶段,接入协议报文转发到集中控制面进行认证、授权和保活。集中控制面和转发器之间存在网络,协议报文在转发器隧道封装后穿越该网络,隧道包括但不限于gre(genericroutingencapsulation,通用路由封装)、vxlan(virtualextensiblelocalareanetwork,可扩展虚拟局域网)、mpls(multi-protocollabelswitching,多协议标签交换)等隧道技术。bras接入包含众多的接入技术,包括但不限于:pppoe(pointtopointoverethernet,基于以太网的点对点协议)、arp(addressresolutionprotocol,地址解析协议)、dhcp(dynamichostconfigurationprotocol,动态主机配置协议)、三层、l2tp(layertwotunnelprotocol,二层隧道协议)等。在集中控制面的lb上有不同的负载分担策略,如基于报文特征,基于用户特征、基于转发器特征等。每一种负载分担策略又可能有多种子策略,如基于报文特征,可能是基于用户mac(mediaaccesscontrol,媒体接入控制)、用户id(identifier,标识)或者用户ip(internetprotocol,因特网协议)等。如果在lb上实施这些策略,必然造成lb的逻辑复杂,影响lb的性能,同时,开发新业务时,lb有可能需要进行修改,影响lb的稳定性。



技术实现要素:

本发明至少一实施例提供了一种负载负担方法、装置和系统、计算机可读存储介质,简化lb处的处理逻辑,提高lb的性能和稳定性。

本发明至少一实施例提供了一种负载分担方法,包括:

接入协议隧道封装点接收接入协议报文,根据负载分担策略确定负载分担统一标识;

所述接入协议隧道封装点将所述负载分担统一标识和所述接入协议报文进行封装生成隧道封装接入协议报文,发送所述隧道封装接入协议报文。

本发明一实施例提供一种负载分担装置,包括:封装模块和策略模块,其中:

所述封装模块设置为,接收接入协议报文,从所述策略模块获取负载分担策略,根据负载分担策略确定负载分担统一标识,将所述负载分担统一标识和接入协议报文进行封装,生成隧道封装接入协议报文,发送所述隧道封装接入协议报文;

所述策略模块设置为,存储所述负载分担策略,以及,将负载分担策略发送给所述封装模块。

本发明一实施例提供一种负载分担装置,包括存储器和处理器,所述存储器存储有程序,所述程序在被所述处理器读取执行时,实现上述任一实施例所述的负载分担方法。

本发明一实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述任一实施例所述的负载分担方法。

本发明一实施例提供一种负载分担方法,包括:

控制面负载分担器从接入协议隧道封装点接收隧道封装接入协议报文,对所述隧道封装接入协议报文进行解封装得到负载分担统一标识和接入协议报文,根据所述负载分担统一标识选择控制处理实例,将所述接入协议报文发送给选定的控制处理实例。

本发明一实施例提供一种负载分担装置,包括选择模块和转发模块,其中:

所述选择模块设置为,从接入协议隧道封装点接收隧道封装接入协议报文,对所述隧道封装接入协议报文进行解封装得到负载分担统一标识和接入协议报文,根据所述负载分担统一标识选择控制处理实例,将所选的控制处理实例和所述接入协议报文发送给转发模块;

所述转发模块设置为,将所述接入协议报文发送给所述选择模块选择的控制处理实例。

本发明一实施例提供一种负载分担装置,包括存储器和处理器,所述存储器存储有程序,所述程序在被所述处理器读取执行时,实现上述任一实施例所述的负载分担方法。

本发明一实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述任一实施例所述的负载分担方法。

本发明一实施例提供一种负载分担方法,包括:

接入协议隧道封装点接收接入协议报文,根据负载分担策略确定负载分担统一标识;

所述接入协议隧道封装点将所述负载分担统一标识和所述接入协议报文进行封装生成隧道封装接入协议报文,发送所述隧道封装接入协议报文至控制面负载分担器;

所述控制面负载分担器接收所述隧道封装接入协议报文,对所述隧道封装接入协议报文进行解封装得到负载分担统一标识和接入协议报文,根据所述负载分担统一标识选择控制处理实例,将所述接入协议报文发送给选定的控制处理实例。

本发明一实施例提供一种负载分担系统,包括:接入协议隧道封装点和控制面负载分担器,其中:

所述接入协议隧道封装点设置为,接收接入协议报文,根据负载分担策略确定负载分担统一标识,将所述负载分担统一标识封装到所述接入协议报文,对所述封装有负载分担统一标识的接入协议报文进行隧道封装生成隧道封装接入协议报文,发送所述隧道封装接入协议报文至控制面负载分担器;

所述控制面负载分担器设置为,接收所述隧道封装接入协议报文,对所述隧道封装接入协议报文进行解封装得到负载分担统一标识和接入协议报文,根据所述负载分担统一标识选择控制处理实例,将所述接入协议报文发送给选定的控制处理实例。

与相关技术相比,本发明一实施例中,接入协议隧道封装点接收接入协议报文,确定负载分担统一标识,将所述负载分担统一标识封装到所述接入协议报文,将报文进行隧道封装生成后发送,本申请提供的方案,在接入协议报文中携带负载分担统一标识,控制面lb可以直接根据负载分担统一标识选择控制处理实例,相比相关技术中,控制面lb根据接入协议报文和负载分担策略来选择控制处理实例,大大简化了控制面lb处的处理逻辑,提高了控制面lb的性能。另外,如果新增了负载分担策略,则相关技术中控制面lb需要相应的进行控制逻辑的修改,而本申请中,控制面lb无需修改,仍然是根据负载分担统一标识选择控制处理实例,因此,提高了控制面lb的稳定性。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。

图1为相关技术中转发器和控制面的部署简化示意图;

图2为本发明一实施例提供的负载分担方法的流程图;

图3为本发明另一实施例提供的负载分担方法的流程图;

图4为本发明一实施例提供的负载分担装置框图;

图5为本发明一实施例提供的负载分担装置框图;

图6为本发明一实施例提供的负载分担方法流程图;

图7为本发明一实施例提供的pppoe用户接入部署组网示意图;

图8为本发明一实施例提供的pppoe用户接入流程示意图;

图9为本发明一实施例提供的pppoe用户保活流程示意图;

图10为本发明一实施例提供的dhcp用户接入部署组网示意图;

图11为本发明一实施例提供的dhcp用户接入流程示意图;

图12为本发明一实施例提供的dhcp用户保活流程示意图;

图13为本发明一实施例提供的l2tp用户接入部署组网示意图;

图14为本发明一实施例提供的l2tp用户接入流程示意图;

图15为本发明一实施例提供的施三层用户接入部署组网示意图;

图16本发明一实施例提供的三层用户接入流程示意图;

图17为本发明一实施例提供的负载分担装置框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本申请中,进行转控分离,协议报文上送控制面之前,在接入协议隧道封装点根据负载分担策略确定负载分担统一标识,将负载分担统一标识封装到接入协议报文,然后把接入协议报文进行隧道封装生成隧道封装接入协议报文,转发该隧道封装接入协议报文到控制面lb,控制面lb从隧道封装协议报文中解析负载分担统一标识,控制面lb根据负载分担统一标识将接入协议报文负载分担到控制处理实例。

图2为本发明一实施例提供的负载分担方法流程图。如图2所示,包括:

步骤201,接入协议隧道封装点接收到接入协议报文,根据负载分担策略确定负载分担统一标识;

步骤202,所述接入协议隧道封装点将所述负载分担统一标识和所述协议接入报文进行封装生成隧道封装接入协议报文,发送所述隧道封装接入协议报文。

其中,一种封装方式为:所述接入协议隧道封装点将所述负载分担统一标识封装到接入协议报文,将封装有负载分担统一标识的协议接入报文进行隧道封装生成隧道封装接入协议报文。当然,此处仅为示例,可以采取其他封装方式。

在一实施例中,所述步骤201中,所述根据负载分担策略确定负载分担统一标识包括:

根据所述负载分担策略的匹配策略获取匹配特征值,根据所述匹配特征值确定所述负载分担统一标识。

在一实施例中,所述接入协议隧道封装点可以从控制面的负载分担器获取所述负载分担策略,当然,也可以从其他网元获取所述负载分担策略,比如,网管系统,等等,或者,在所述接入协议隧道封装点预先配置所述负载分担策略,等等。

在一实施例中,所述负载分担策略包括匹配策略和动作策略,其中:

所述匹配策略包括提取匹配特征值的策略,比如,匹配策略为提取源mac作为匹配特征值,则,接收到接入协议报文后,提取接入协议报文的源mac作为匹配特征值。

所述动作策略包括根据匹配特征值生成负载分担统一标识的生成方式,比如生成负载分担统一标识的算法等等。在一可选实施例中,基于所述算法生成的负载分担统一标识具有随机性,保证负载分担时尽量均匀。

所述匹配特征值包括如下之一或其组合:报文特征、用户特征、转发器特征。当然,此处仅为示例,匹配特征值也可是其他特征信息。其中,报文特征包括如下之一或其组合:报文的mac地址、vlan(virtuallocalareanetwork,虚拟局域网)封装信息、ip地址、tcp(transmissioncontrolprotocol,传输控制协议)信息、udp(userdatagramprotocol,用户数据报协议)端口号;这里的报文特征是接入协议报文的特征。用户特征包括如下之一或其组合:协议负载中的标识如用户id、标识用户的选项等,可以从接入协议报文中获得;转发器特征包括如下之一或其组合:转发器id、转发器接口等。转发器特征即该接入协议隧道封装点的特征,比如接入协议隧道封装点的id,接入协议隧道封装点的接口等等。

所述负载分担策略可以有一条或多条。每条负载分担策略可以具有优先级属性,在一实施例中,优先级高的负载分担策略优先实施。

在一实施例中,根据所述负载分担策略的匹配策略获取匹配特征值包括:

根据优先级从高到低遍历所有负载分担策略的匹配策略,生成匹配特征值,如果根据匹配策略不能生成匹配特征值则忽略,当所有的匹配策略不能生成匹配特征值时,丢弃该接入协议报文。

所述匹配特征值可生成多个,匹配特征值具备优先级,所述匹配特征值的优先级继承于该匹配特征值所基于的匹配策略所属的负载分担策略的优先级。

需要说明的是,生成匹配特征值时,也可以不按照优先级顺序,按照任意顺序根据匹配策略生成匹配特征值。

在一实施例中,所述根据所述匹配特征值确定所述负载分担统一标识包括:

根据所述匹配特征值获取其对应的负载分担统一标识,如果所述接入协议报文的所有匹配特征值均不存在对应的负载分担统一标识,则根据所述匹配特征值所基于的匹配策略所属的负载分担策略的动作策略生成所述负载分担统一标识,并保存所述匹配特征值与所生成的负载分担统一标识的对应关系。负载分担策略包括匹配策略和动作策略,匹配策略所属的负载分担策略即包括该匹配策略的负载分担策略。

在一实施例中,所述根据所述匹配特征值查询其对应的负载分担统一标识包括:

按照匹配特征值的优先级从高到低的顺序查询所述匹配特征值对应的负载分担统一标识,且首次查询到对应的负载分担统一标识后结束查询操作。即,只要查询到一个对应的负载分担统一标识后就结束查询操作。比如,存在三个匹配特征值,优先级分别为高、中、低,按照高中低的顺序查询对应的负载分担统一标识,如果高优先级的匹配特征值查询到对应的负载分担统一标识,则不再查询中、低优先级的匹配特征值对应的负载分担统一标识,当然,在其他实施例中,也可以查询每个匹配特征值的负载分担统一标识,取查询到的负载分担统一标识中最高优先级的匹配特征值对应的负载分担统一标识作为待封装到接入协议报文的负载分担统一标识。

在一实施例中,所述根据所述匹配特征值所基于的匹配策略所属的负载分担策略的动作策略生成所述负载分担统一标识包括:

根据优先级最高的匹配特征值所基于的匹配策略所属的负载分担策略的动作策略生成所述负载分担统一标识。

即如果没有查询到对应的负载分担统一标识,则直接根据匹配特征值生成一个负载分担统一标识,此时,可以选取优先级最高的匹配特征值生成负载分担统一标识。当然,在其他实施例中,也可以根据需要选取其他匹配特征值生成负载分担统一标识,本申请对此不作限定。

需要说明的是,上述说明的是存在优先级的情形,如果匹配特征值没有优先级属性,或者,各匹配特征值的优先级一样,则任意选取一个匹配特征值查询其对应的负载分担统一标识或者根据选取的匹配特征值生成负载分担统一标识。

在一实施例中,将负载分担统一标识封装到接入协议报文中时,使用包括但不限于nsh(networkserviceheader,网络服务头)扩展、隧道协议扩展等封装协议进行封装。其中,nsh是一种新型的业务平面协议,该协议具有良好的扩展性,可以通过协议中的选项字段携带自定义信息。所述的隧道封装包括但不限于gre、vxlan、mpls等。

图3为本发明一实施例提供的负载分担方法流程图,如图3所示,包括:

步骤301,控制面lb从接入协议隧道封装点接收隧道封装接入协议报文;

步骤302,所述控制面lb对所述隧道封装接入协议报文进行解封装得到负载分担统一标识和接入协议报文,根据所述负载分担统一标识选择控制处理实例,将所述接入协议报文发送给选定的控制处理实例。

在一实施例中,所述步骤302中,根据所述负载分担统一标识选择控制处理实例包括:

对所述负载分担统一标识使用预设负载分担算法处理后,根据处理结果选择控制处理实例。比如,对所述负载分担统一标识进行哈希计算。当然,此处仅为示例,预设负载分担算法也可是其他算法,本申请对此不作限定。

在一实施例中,所述方法还包括:所述控制面负载分担器配置负载分担策略,将所述负载分担策略发送给所述接入协议隧道封装点。所述负载分担策略包括匹配策略和动作策略,所述匹配策略包括提取匹配特征值的策略;所述动作策略包括根据提取到的匹配特征值生成负载分担统一标识的生成方式。所述负载分担策略包括一条或多条,且每条负载分担策略具有优先级属性。配置的负载分担策略可以指定具体的接入协议隧道封装点。

在一可选实施例中,可以使用如下协议之一将所述负载分担策略下发到接入协议隧道封装点:openflow协议、netconf协议、snmp(simplenetworkmanagementprotocol,简单网络管理协议)等。可以向一个接入协议隧道封装点下发一个或多个负载分担策略。

本实施例中,控制面lb根据负载分担统一标识进行负载分担,无需处理具体的负载分担策略,简化了lb的处理逻辑,保证了控制面lb的稳定性和性能,而且性能和稳定性后续不受功能添加的影响。

图4为本发明一实施例提供的一种负载分担装置框图。如图4所示,所述负载分担装置包括:选择模块41、转发模块42,其中:

所述选择模块41设置为,从接入协议隧道封装点接收隧道封装接入协议报文,对所述隧道封装接入协议报文进行解封装得到负载分担统一标识和接入协议报文,根据所述负载分担统一标识选择控制处理实例,将所选的控制处理实例和所述接入协议报文发送给转发模块42;

所述转发模块42设置为,将所述接入协议报文发送给所述选择模块41选择的控制处理实例。

在一实施例中,还包括控制模块43,所述控制模块43设置为,配置负载分担策略,将所述负载分担策略发送给所述接入协议隧道封装点。

在一实施例中,所述选择模块41根据负载分担统一标识选择控制处理实例包括:所述选择模块41对所述负载分担统一标识使用预设负载分担算法处理后,根据处理结果选择控制处理实例。所述预设负载分担算法包括但不限于对负载分担统一标识进行哈希计算。对负载分担统一标识进行哈希计算后,即可映射到一个控制处理实例,即为选定的控制处理实例。

在一实施例中,控制模块43可以配置一条或多条负载分担策略,每条负载分担策略可以具有优先级属性,优先级高的负载分担策略优先实施。配置的负载分担策略可以指定具体接入协议隧道封装点。

需要说明的是,在其他实施例中,也可以不包括控制模块43。

上述实施例提供的负载分担装置可位于控制面lb。

图5为本发明一实施例提供的一种负载分担装置框图。如图5所示,所述负载分担装置包括:封装模块51和策略模块52,其中:

所述封装模块51设置为,接收接入协议报文,从所述策略模块获取负载分担策略,根据负载分担策略确定负载分担统一标识,将所述负载分担统一标识和所述协议接入报文进行封装生成隧道封装接入协议报文,发送所述隧道封装接入协议报文;

所述策略模块52设置为,存储所述负载分担策略,以及,将负载分担策略发送给所述封装模块51。

在一实施例中,所述封装模块51根据负载分担策略确定负载分担统一标识包括:

所述封装模块51根据所述负载分担策略的匹配策略获取匹配特征值,根据所述匹配特征值确定所述负载分担统一标识。

在一实施例中,所述封装模块51根据负载分担策略的匹配策略获取匹配特征值包括:

所述封装模块51根据所述负载分担策略的匹配策略生成匹配特征值;具体地,根据优先级从高到低遍历所有负载分担策略的匹配策略,生成匹配特征值,如果根据匹配策略不能生成匹配特征值则忽略,当所有的匹配策略不能生成匹配特征值时,丢弃该接入协议报文;所述的匹配特征值可生成多个,且具有优先级,匹配特征值的优先级继承于生成该匹配特征值的匹配策略所属的负载分担策略优先级。

在一实施例中,所述封装模块51根据所述匹配特征值获取负载分担统一标识包括:

所述封装模块51根据所述匹配特征值向所述策略模块查询其对应的负载分担统一标识,接收所述策略模块返回的与所述匹配特征值对应的负载分担统一标识;如果所述接入协议报文的所有匹配特征值均未获取到对应的负载分担统一标识,则根据所述匹配特征值所基于的匹配策略所属的负载分担策略的动作策略生成所述负载分担统一标识,将所述匹配特征值与所生成的负载分担统一标识的对应关系发送给所述策略模块52;

所述策略模块52还设置为,接收到所述封装模块51的查询请求后,返回与所述匹配特征值对应的负载分担统一标识给所述封装模块,或者返回不存在对应的负载分担统一信息的指示信息给所述封装模块51,比如返回空信息;以及,接收到所述匹配特征值与所生成的负载分担统一标识的对应关系后保存所述对应关系。即所述策略模块52提供根据匹配特征值查询负载分担统一标识的接口和查询负载分担策略的接口。

在一实施例中,所述封装模块51根据所述匹配特征值向所述策略模块查询其对应的负载分担统一标识包括:

根据优先级最高的匹配特征值所基于的匹配策略所属的负载分担策略的动作策略生成所述负载分担统一标识。

在一实施例中,所述封装模块51根据所述匹配特征值所基于的匹配策略所属的负载分担策略的动作策略生成所述负载分担统一标识包括:

所述封装模块51按照匹配特征值的优先级从高到低的顺序向所述策略模块查询所述匹配特征值对应的负载分担统一标识,且首次查询到对应的负载分担统一标识后结束查询操作。

在一实施例中,所述封装模块51向策略模块52查询负载分担策略后,接收策略模块52返回的负载分担策略查询结果,所述负载分担策略查询结果可能包含多条记录。

在一实施例中,所述策略模块52可以接收并保存多条负载分担策略。

其他技术细节请参考方法实施例,此处不再赘述。

图5所示实施例提供的负载分担装置可设置在接入协议隧道封装点上。接入协议隧道封装点具体设备形态包括但不限于:olt(opticallineterminal,光线路终端)、bras、交换机等。

本发明一实施例提供一种负载分担方法,包括:

接入协议隧道封装点接收接入协议报文,根据负载分担策略确定负载分担统一标识;

所述接入协议隧道封装点将所述负载分担统一标识和所述协议接入报文进行封装生成隧道封装接入协议报文,发送所述隧道封装接入协议报文至控制面负载分担器;

所述控制面负载分担器接收所述隧道封装接入协议报文,对所述隧道封装接入协议报文进行解封装得到负载分担统一标识和接入协议报文,根据所述负载分担统一标识选择控制处理实例,将所述接入协议报文发送给选定的控制处理实例。

其中,上述方案中接入协议隧道封装点和控制面负载分担器的技术细节请参考前述方法实施例中接入协议隧道封装点的和控制面负载分担器的相关描述,此处不再赘述。

本发明一实施例提供一种负载分担系统,包括:接入协议隧道封装点和控制面负载分担器,其中:

所述接入协议隧道封装点设置为,接收接入协议报文,根据负载分担策略确定负载分担统一标识,将所述负载分担统一标识封装到所述接入协议报文,对所述封装有负载分担统一标识的接入协议报文进行隧道封装生成隧道封装接入协议报文,发送所述隧道封装接入协议报文至控制面负载分担器;

所述控制面负载分担器设置为,接收所述隧道封装接入协议报文,对所述隧道封装接入协议报文进行解封装得到负载分担统一标识和接入协议报文,根据所述负载分担统一标识选择控制处理实例,将所述接入协议报文发送给选定的控制处理实例。

所述接入协议隧道封装点的其他功能请参考图5所示负载分担装置,此处不再赘述。所述控制面负载分担器的其他功能请参考图4所示负载分担装置,此处不再赘述。

图6为本发明一实施例提供的负载分担方法流程图,如图6所示,包括:

步骤601,控制面lb的控制模块配置负载分担策略;

所述负载分担策略包括匹配策略和动作策略。其中,可以配置多条负载分担策略,每条负载分担策略具有优先级属性,优先级高的负载策略优先实施。

当然,负载分担策略也可以没有优先级属性,相当于各负载分担策略的优先级相同。

步骤602,控制面lb的控制模块通知接入协议隧道封装点的策略模块配置的负载分担策略;

步骤603,接入协议隧道封装点的策略模块接收到负载分担策略后,将所述负载分担策略保存到本地;

其中,策略模块可以接收并保存多条负载分担策略。

步骤604,接入协议隧道封装点的封装模块监听到接入协议报文;

步骤605,接入协议隧道封装点的封装模块向接入协议隧道封装点的策略模块查询负载分担策略,并接收策略模块返回的负载分担策略;

其中,策略模块可以返回多条负载分担策略。

步骤606,接入协议隧道封装点的封装模块从查询到的所有负载分担策略中获取匹配策略,根据接入协议报文、报文的线路等信息生成匹配特征值;

具体地,根据优先级从高到低遍历所有匹配策略生成匹配特征值,如果根据匹配策略不能生成匹配特征值则忽略,当所有的匹配策略不能生成匹配特征值时,丢弃该接入协议报文。

步骤607,接入协议隧道封装点的封装模块按照优先级从高到低遍历所有匹配特征值,向接入协议隧道封装点的策略模块查询负载分担统一标识;首次匹配特征值查询到负载分担统一标识后停止遍历查询,获取查询到的负载分担统一标识;其中,如果接入协议隧道封装点的封装模块查询负载分担统一标识返回为空,即所有的匹配特征值均没有差选到对应的负载分担统一标识,执行步骤608.1;如果接入协议隧道封装点的封装模块查询到负载分担统一标识,执行步骤609;

步骤608.1,接入协议隧道封装点的封装模块根据负载分担策略的动作策略生成负载分担统一标识,保存匹配特征值和负载分担统一标识的对应关系;

步骤608.2,接入协议隧道封装点的封装模块把匹配特征值和负载分担统一标识的对应关系通知接入协议隧道封装点的策略模块;

步骤608.3,接入协议隧道封装点的策略模块接收到匹配特征值和负载分担统一标识的对应关系,生成对应关系记录保存到本地,转到步骤610;

步骤609,接入协议隧道封装点的封装模块从查询结果中获取负载分担统一标识;

步骤610,接入协议隧道封装点的封装模块把负载分担统一标识封装到接入协议报文中;

在一实施方式中,使用nsh等封装协议进行封装;

步骤611,接入协议隧道封装点的封装模块对接入协议报文进行隧道封装,生成隧道封装接入协议报文;

其中,所述的隧道封装包括但不限于gre、vxlan、mpls等;

步骤612,接入协议隧道封装点的封装模块把隧道封装接入协议报文发送给控制面lb的选择模块;

步骤613,控制面lb的选择模块对隧道封装接入协议报文进行隧道解封装获取接入协议报文,并获取负载分担统一标识;

步骤614,控制面lb的选择模块根据所述负载分担统一标识进行负载分担算法计算选取控制处理实例;

其中,所述的负载分担算法包括但不限于对负载分担统一标识进行哈希计算;

步骤615,控制面lb的转发模块将接入协议报文发送给选定的控制处理实例。

图7为pppoe用户接入部署组网图。如图7所示,pppoe客户端71通过接入网72连接到接入协议隧道封装点73,控制面在城域网74上数据中心,控制面和接入协议隧道封装点之间建vxlan隧道,控制面上有多个控制处理实例(比如图7中所示的第一控制处理实例75和第二控制处理实例76),通过控制面lb77把pppoe协议报文负载分担到控制处理实例处理。

图8为本发明一实施例提供的pppoe客户端接入过程流程图,本实施例基于图7所示组网结构,如图8所示,本实施例提供的pppoe客户端接入的负载分担方法包括:

步骤801:控制面lb77配置负载分担策略,该负载分担策略的匹配策略为报文源mac、动作策略为生成uuid(universallyuniqueidentifier,通用唯一识别码)作为负载分担统一标识;

具体根据源mac生成uuid的算法可根据需要选择,保证生成结果为一个唯一标识即可。

步骤802:控制面lb77将负载分担策略通知到接入协议隧道封装点73;

步骤803:接入协议隧道封装点73接收所述负载分担策略并存储;

步骤804:pppoe客户端71上线发送pppoe上线报文;

步骤805:接入协议隧道封装点73接收到pppoe上线报文后,根据负载分担策略,提取所述pppoe上线报文的源mac作为匹配特征值,根据提取的所述源mac查询负载分担统一标识,本实施例中,查询结果为空,则根据提取的所述源mac生成uuid作为负载分担统一标识,并保存所述源mac与所述uuid的对应关系;

步骤806:接入协议隧道封装点73使用nsh封装方式封装所述pppoe上线报文,把作为负载分担统一标识的uuid封装到nsh的选项中,然后把nsh封装的pppoe上线报文进行vxlan封装,生成vxlan+nsh封装的pppoe上线报文;

步骤807:接入协议隧道封装点73发送vxlan+nsh封装的pppoe上线报文到控制面lb77;

步骤808:控制面lb77对所述pppoe上线报文进行vxlan解封装和nsh解封装,获得pppoe上线报文,并从nsh的选项中获取uuid,根据uuid进行哈希运算从而选择选择第一控制处理实例75;

步骤809:控制面lb77发送所述pppoe上线报文到第一控制处理实例75;

步骤810:所述第一控制处理实例75根据所述pppoe上线报文进行pppoe协议上线协议处理。

图9为本发明一实施例提供的pppoe客户端保活过程示意图,本实施例基于图7所示组网结构,如图9所示,包括:

步骤901:pppoe客户端71发送pppoe保活报文;

步骤902:接入协议隧道封装点73根据负载分担策略,提取所述pppoe保活报文的源mac作为匹配特征值,通过源mac查询到在上线阶段生成的uuid作为负载分担统一标识;

步骤903:接入协议隧道封装点73使用nsh封装方式封装所述pppoe保活报文,把作为负载分担统一标识的uuid封装到nsh的选项中,然后把nsh封装的pppoe保活报文进行vxlan封装;

步骤904:接入协议隧道封装点73发送vxlan+nsh封装的pppoe保活报文到控制面lb77;

步骤905:控制面lb77对接收到的pppoe保活报文进行vxlan解封装和nsh解封装,从nsh的选项中获取uuid,由于保活阶段的uuid和上线阶段的相同,所以根据uuid进行哈希运算后同样选择第一控制处理实例75;

步骤906:控制面lb77发送所述pppoe保活报文到第一控制处理实例75;

步骤907:第一控制处理实例75根据所述pppoe保活报文进行pppoe协议保活协议处理。

不同的pppoe客户端,客户端的mac不同,封装的pppoe协议报文的源mac不同,所以对应的负载分担统一标识uuid不同,通过不同的uuid可以把协议报文负载分担到不同的控制处理实例处理。交互处理流程与上述的流程相同,不再赘述。

图10为dhcp用户接入部署组网图。如图10所示,dhcp客户端101通过接入网102连接到接入协议隧道封装点103,控制面在城域网104上数据中心,控制面和接入协议隧道封装点103间建vxlan隧道,控制面上有多个控制处理实例(比如图10中所示的第一控制处理实例106和第二控制处理实例107),通过控制面lb105把dhcp协议报文负载分担到控制处理实例处理。

图11为本发明一实施例提供的dhcp客户端接入过程示意图。本实施例基于图10所示组网架构,如图11所示,包括:

步骤1101:控制面lb105配置负载分担策略,匹配策略为dhcpoption61选项内容值,动作策略为生成uuid作为负载分担统一标识;所述的dhcpoption61选项内容值为dhcp的客户端唯一标识符(clientuniqueidentifier),能够唯一标识一个dhcp客户端。

步骤1102:控制面lb105将负载分担策略通知到接入协议隧道封装点103;

步骤1103:接入协议隧道封装点103接收所述负载分担策略保存到本地;

步骤1104:dhcp客户端101上线发送dhcp上线报文;

步骤1105:接入协议隧道封装点103根据负载分担策略,提取所述dhcp上线报文的option61选项内容作为匹配特征值,根据option61选项内容查询负载分担统一标识,本实施例中,查询结果为空,则根据option61选项内容生成uuid作为负载分担统一标识,并保存option61选项内容与uuid的对应关系;

步骤1106:接入协议隧道封装点103对所述dhcp上线报文进行nsh封装,把作为负载分担统一标识的uuid封装到nsh的选项中,然后把nsh封装的dhcp上线报文进行vxlan封装,生成vxlan+nsh封装的dhcp上线报文;

步骤1107:接入协议隧道封装点103发送vxlan+nsh封装的dhcp上线报文到控制面lb105;

步骤1108:控制面lb105进行vxlan解封装和nsh解封装,获得dhcp上线报文,并从nsh的选项中获取uuid,根据uuid进行哈希运算从而选择第二控制处理实例107;

步骤1109:控制面lb105发送dhcp上线报文到第二控制处理实例107;

步骤1110:所述第二控制处理实例107根据所述dhcp上线报文进行pppoe协议上线协议处理。

图12为本发明一实施例提供的dhcp客户端续租过程示意图。本实施例基于图10所述组网架构,如图12所示,包括:

步骤1201:dhcp客户端101发送dhcp续租报文至接入协议隧道封装点103;

步骤1202:所述接入协议隧道封装点103根据负载分担策略,提取所述dhcp续租报文的option61内容值作为匹配特征值,通过匹配特征值查询到在上线阶段生成的uuid作为负载分担统一标识;

在图11所示的实施例中,dhcp客户端在上线阶段时,已根据option61内容值生成了uuid,且保存了option61内容值和uuid的对应关系,因此,此处只需根据option61内容值进行查询即可得到uuid,将其作为负载分担统一标识。

步骤1203:接入协议隧道封装点103对所述dhcp续租报文进行nsh封装,把作为负载分担统一标识的uuid封装到nsh的选项中,然后将nsh封装的dhcp续租报文进行vxlan封装,生成vxlan+nsh封装的dhcp续租报文;

步骤1204:接入协议隧道封装点103发送vxlan+nsh封装的dhcp续租报文到控制面lb105;

步骤1205:控制面lb105进行vxlan解封装和nsh解封装,获得dhcp续租报文,并从nsh的选项中获取uuid,由于续租阶段的uuid和上线阶段的相同,所以根据uuid哈希运算后选择了相同的控制处理实例,即第二控制处理实例107;

步骤1206:控制面lb105发送dhcp续租报文至第二控制处理实例107;

步骤1207:第二控制处理实例107根据所述dhcp续租报文进行dhcp续租协议处理。

不同的dhcp客户端,客户端的标识不同,封装的dhcp协议报文的option61选项不同,所以对应的负载分担统一标识uuid不同,通过不同的uuid可以把dhcp协议报文负载分担到不同的控制处理实例处理。交互处理流程与上述的流程相同,不再赘述。

图13为l2tp用户接入部署组网图。如图13所示,包括客户端131、接入网132和l2tp的lac(l2tpaccessconcentrator,l2tp接入汇聚点)133,以及,lns(l2tpnetworkserver,l2tp网络服务器))135,ln5135在城域网134作为接入协议隧道封装点,lns135的控制面在城域网的数据中心中。用户拨号接入,lac133和lns135之间进行隧道/会话协商,协商协议报文在lns135进行vxlan隧道封装,vxlan隧道在数据中心的控制面lb136上终结,控制面lb136从vxlan报文中解封装l2tp的隧道/会话协商协议报文,通过控制面lb136把协议报文负载分担到控制处理实例,在控制处理实例中进行隧道/会话协商处理,建立lac和lns之间的隧道/会话。本实施例中,包括第一控制处理实例137和第二控制处理实例138。

图14为本发明一实施例提供的l2tp客户端接入过程流程图。本实施例基于图13所示组网架构,如图14所示,包括:

步骤1401:控制面lb136配置负载分担策略,该负载分担策略的匹配策略为lac和lns隧道/会话协商报文中的隧道id和会话id、动作策略为生成uuid作为负载分担统一标识;

步骤1402:控制面lb136将负载分担策略通知至接入协议隧道封装点135;

步骤1403:接入协议隧道封装点135接收所述负载分担策略保存到本地;

步骤1404:客户端131发起用户上线;

步骤1405:lac133发起和lns135进行隧道/会话协商,lac133向lns135发送协商协议报文;

步骤1406:lns135根据负载分担策略,提取所述协商协议报文中隧道id和会话id作为匹配特征值,根据提取的隧道id和会话id查询负载分担统一标识,如果查询结果为空,则根据提取的所述隧道id和会话id生成uuid作为负载分担统一标识,并保存所述隧道id和会话id与所述uuid的对应关系;

步骤1407:lns135对所述协商协议报文进行nsh封装,把作为负载分担统一标识的uuid封装到nsh的选项中,然后把nsh封装的协商协议报文进行vxlan封装;

步骤1408:lns135发送vxlan+nsh封装的协商协议报文到控制面lb136;

步骤1409:控制面lb136进行vxlan解封装和nsh解封装,获得协商协议报文,并从nsh的选项中获取uuid,根据uuid进行哈希运算选择第二控制处理实例138;

步骤1410:控制面lb136发送所述协商协议报文到第二控制处理实例138;

步骤1411:所述第二控制处理实例138根据所述协商协议报文进行l2tp隧道/会话协议处理。

lac和lns之间不同的隧道或者会话,由于隧道id和会话id不同,所以对应的负载分担统一标识uuid不同,通过不同的uuid可以把隧道/会话协商协议报文负载分担到不同的控制处理实例处理。交互处理流程与上述的流程相同,不再赘述。

图15为三层用户接入部署组网图。如图15所示,包括客户端151、接入网152、位于接入层的三层接入用户的接入路由器153、城域网154、位于城域网的接入协议隧道封装点155、控制面lb156,以及第一控制处理实例157和第二控制处理实例158。在城域网中的某个路由器作为接入协议隧道封装点155把用户的第一个三层ip报文进行隧道封装发送到城域网的数据中心的控制器进行三层接入处理。

图16为本发明一实施例提供的三层客户端接入过程示意图,本实施例基于图15所示组网结构,如图16所示,包括:

步骤1601:控制面lb156配置负载分担策略,该负载分担策略的匹配策略为报文的三层ip头部的源ip地址,动作策略为生成uuid作为负载分担统一标识;

步骤1602:控制面lb156将负载分担策略发送给接入协议隧道封装点155;

步骤1603:接入协议隧道封装点155接收所述负载分担策略,保存到本地;

步骤1604:客户端151发送第一个三层ip报文;

步骤1605:接入侧的路由器153转发所述三层ip报文;

步骤1606:接入协议隧道封装点155根据负载分担策略,提取该三层ip报文中的三层ip头的源ip地址作为匹配特征值,根据匹配特征值(本实施例中为源ip地址)查询负载分担统一标识,查询结果为空,则通过该匹配特征值生成uuid作为负载分担统一标识,并保存该源ip地址与该uuid的对应关系;

步骤1607:接入协议隧道封装点155对所述三层ip报文进行nsh封装,把作为负载分担统一标识的uuid封装到nsh的选项中,然后把已进行nsh封装的三层ip报文进行vxlan封装,生成vxlan+nsh封装的三层ip报文;

步骤1608:接入协议隧道封装点155发送vxlan+nsh封装的三层ip报文到控制面lb156;

步骤1609:控制面lb156对该vxlan+nsh封装的三层ip报文进行vxlan解封装和nsh解封装,获得三层ip报文,从nsh的选项中获取uuid,根据uuid进行哈希运算从而选择第一控制处理实例157;

步骤1610:控制面lb156发送该三层ip报文到选定的第一控制处理实例157;

步骤1611:第一控制处理实例157根据该三层ip报文进行用户三层接入处理。

不同的三层接入用户,由于用户的ip地址不同,所以对应的负载分担统一标识uuid不同,通过不同的uuid可以把三层ip报文负载分担到不同的控制处理实例处理。交互处理流程与上述的流程相同,不再赘述。

综上所述,采用本申请所述方案,控制面lb上只通过uuid进行负载分担,简化了lb的处理逻辑,保证了lb模块的稳定性和性能,后续功能添加也不影响lb的性能和稳定性。

如图17所示,本发明一实施例提供一种负载分担装置1700,包括存储器1710和处理器1720,所述存储器1710存储有程序,所述程序在被所述处理器1720读取执行时,实现上述负载分担方法,所述负载分担方法可以为上述任一实施例中的负载分担方法。

本发明一实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述负载分担方法,所述负载分担方法可以为上述任一实施例中的负载分担方法。

所述计算机可读存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1