负载均衡处理方法及装置与流程

文档序号:20022338发布日期:2020-02-28 07:14阅读:273来源:国知局
负载均衡处理方法及装置与流程

本发明涉及通信领域,具体而言,涉及负载均衡处理方法及装置。



背景技术:

目前提出了一种业务功能链的方式sfc(servicefunctionchain),即把所有的业务整合,虚拟出serviceoverlay层,形成自己的服务拓扑,和底层网络解耦合,不再受到底层网络结构的限制,图1是根据相关技术中的业务功能链的架构图,如图1所示。然后,流量所要经过的业务路径由sfc决定。业务功能链通过增加对每条sfc的标识,并对流量进行分类,给不同类别的流量分配不同的sfc,即针对不同的流量,可以实施不同的业务功能链处理,实现差异化需求。

对于业务功能一样的业务功能组,需要有支持负载均衡功能的设备在前端,对流量进行一些算法,使得流量合理地分散到业务功能组上。对于某些低需求业务,推荐使用简单的负载均衡算法实现业务功能组之间的负载均衡;对于某些tcp/udp业务,需要使用适用于tcp/udp的负载均衡算法实现业务功能组之间的负载均衡;对于高需求的业务,当处理流量过大时,需要动态增加相应的业务功能来对这些流量进行分流,实现对这些业务功能组的流量分担,当处理流量减少时,需要动态减少相应的业务功能组来节省资源;同时,对于某些流量,要求在动态增加/删除业务功能的同时,能保持流量的原有连接不变。

同时,我们发现现有多种负载均衡的算法,每种都有其优势和劣势,算法可以包括:

静态算法(static算法):为一个服务器指定多个ip:port,总是返回服务器组的第一个服务器,当第一个服务器不可用的时候,才返回后续可用的服务器;

随机算法(random算法):根据随机算法rand,随便选取一台服务器,每台服务器的命中率一样;

轮询算法(round-robin算法):典型的平均主义,idx=(idx+1)%m,和随机算法的原理一致,每台服务器的命中率一样;但是,相同的请求会被落到不同的服务器上;

哈希算法(hash算法):又叫取余算法,将query_key作为键值进行hash,然后取余,选取一个服务器进行连接;具体算法为idx=hash(query_key)%m;这种算法简单,数据的分散性好,但是,当添加或者移除服务器时,余数会发生变化,这样就无法获取与之前相同的服务器;

carp算法(cachearrayroutingprotocol算法):缓存群组路由协议。计算全部服务器的idx_key=hash(query_key+server_idx),其中,计算得到idx_key最大的server_idx就是需要的idx服务器;算法相对复杂一些,但是新增或者删除一台服务器时,不会引起已存服务器的重新选择;

一致性哈希算法(consistenthash算法):首先算出服务器的哈希值,并将其配置到0~2^23的圆上,然后用同样的方法求出存储数据的健的哈希值,并映射到圆上。然后从数据映射到的位置开始顺时针查找,将数据保存到找到的第一个服务器上,如果超过2^23仍然找不到服务器,就会保存到第一台服务器上。具体算法idx=firstmaxserveridx(hash(query_key))。一致性哈希算法适用于每个节点只保存部分数据,而不像前面的几种算法,每个服务器保存全部数据。这样做的好处是能够把服务器映射到一段interval上,而这段interval就会包括一定数目的对象的hash值。如果某台服务器被移除,那么它映射到的interval被和移除服务器相邻的服务器托管,其他所有服务器不变;也就是说一致性哈希算法最大程度的避免了key在服务节点列表上的重新分布;

最少连接法:负载均衡器记录当前所有活跃链接,把下一个新的请求发给当前含有最少连接数的服务器;这种算法针对tcp连接进行;但由于不同应用对系统资源的消耗可能差异很大,而连接数无法反映出真实的应用负载,因此在使用重型web服务器作为集群服务器时,该算法在负载均衡的效果上要打折扣;

最快响应法:负载均衡器记录自身到每一个服务器的网络响应时间,并将到达的连接请求分配给响应时间最短的服务器,这种方法要求使用icmp包或基于udp包的专用技术来主动探测各服务器。

当前网络中,根据业务特性不一样,业务功能链上发生负载均衡时,会选择不同的负载均衡算法;但是,负载均衡器上并不知道选择何种算法作为对应业务的负载均衡算法。

针对相关技术中如何对业务进行负载均衡处理的问题,还未提出有效的解决方案。



技术实现要素:

本发明提供了负载均衡处理方法及装置,以至少解决相关技术中如何对业务进行负载均衡处理的问题。

根据本发明的一个方面,提供了一种负载均衡处理方法,包括:节点接收控制器发送的负载均衡参数;所述节点根据所述负载均衡参数对业务流量进行负载均衡处理。

进一步地,所述节点根据所述负载均衡参数对所述业务流量进行负载均衡处理包括:在所述节点为支持负载均衡功能的节点的情况下,在接收到待处理的业务流量时,所述节点根据所述负载均衡参数对所述业务流量进行负载均衡处理;或者,在所述节点为不支持负载均衡功能的节点的情况下,所述节点通过元数据的方式,将所述负载均衡参数传递给支持负载均衡功能的节点,供所述支持负载均衡功能的节点在接收到待处理的业务流量时,根据所述负载均衡参数对所述业务流量进行负载均衡处理。

进一步地,在所述节点为支持负载均衡功能的节点的情况下,在所述节点接收控制器发送的负载均衡参数之后,所述方法还包括:所述节点对所述负载均衡参数进行配置。

进一步地,所述方法还包括:在所述节点配置成功的情况下,所述节点向所述控制器发送配置成功消息;在所述节点配置失败的情况下,所述节点向所述控制器发送配置失败消息。

进一步地,在所述节点接收所述控制器发送的负载均衡参数之前,所述方法还包括:所述节点接收所述控制器对所述负载均衡参数进行查询的请求消息;所述节点根据所述请求消息向所述控制器发送响应消息,其中,所述响应消息中携带有所述节点已支持的负载均衡参数,所述响应消息用于所述控制器根据业务功能链的业务所需要的负载均衡参数,结合接收到的所述节点已支持的负载均衡参数,确定最优的负载均衡参数,并发送给所述节点,其中,所述最优的负载均衡参数为根据业务特性选择与所述业务匹配的负载均衡参数。

进一步地,所述负载均衡参数中携带有用于进行负载均衡处理的负载均衡算法和负载均衡算法标识。

进一步地,所述节点通过以下方法之一接收所述控制器发送的负载均衡参数:开放流openflow协议,网络配置协议(networkconfigurationprotocol,简称为netconf协议),简单网络管理协议(simplenetworkmanagementprotocol,简称为snmp协议),边界网关协议链路状态(bordergatewayprotocol-linkstate,简称为bgp-ls),位置和身份标识分离协议(location-idseparationprotocol,简称为lisp协议)。

根据本发明的另一方面,提供了一种负载均衡处理方法,包括:控制器确定负载均衡参数;所述控制器向所述节点发送所述负载均衡参数,所述负载均衡参数用于所述节点根据所述负载均衡参数对所述业务流量进行负载均衡处理。

进一步地,在所述控制器向所述节点发送所述负载均衡参数之后,所述方法还包括:在所述节点为支持负载均衡功能的节点的情况下,所述控制器接收所述节点发送的配置成功消息或配置失败消息。

进一步地,在所述控制器向节点发送所述负载均衡参数之前,所述方法还包括:所述控制器向所述节点发送对所述负载均衡参数进行查询的请求消息;所述控制器接收所述节点发送的响应消息,其中,所述响应消息中携带有所述节点已支持的负载均衡参数。

进一步地,控制器确定所述负载均衡参数包括:所述控制器根据业务功能链的业务所需要的负载均衡参数,结合接收到的所述节点已支持的负载均衡参数,确定最优的负载均衡参数,并发送给所述节点的负载均衡参数,其中,所述最优的负载均衡参数为根据业务特性选择与所述业务匹配的负载均衡参数。

进一步地,所述控制器通过以下方法之一向所述节点发送所述负载均衡参数:openflow协议,netconf协议,snmp协议,bgp-ls,lisp协议。

进一步地,所述负载均衡参数中携带有用于进行负载均衡处理的负载均衡算法和负载均衡算法标识。

根据本发明的另一方面,还提供了一种负载均衡处理装置,应用于节点,包括:第一接收模块,用于接收控制器发送的负载均衡参数;负载均衡模块,用于根据所述负载均衡参数对业务流量进行负载均衡处理。

进一步地,所述负载均衡模块包括:负载均衡单元,用于在所述节点为支持负载均衡功能的节点的情况下,在接收到待处理的业务流量时,根据所述负载均衡参数对所述业务流量进行负载均衡处理;或者,传递单元,用于在所述节点为不支持负载均衡功能的节点的情况下,通过元数据的方式,将所述负载均衡参数传递给支持负载均衡功能的节点,供所述支持负载均衡功能的节点在接收到待处理的业务流量时,根据所述负载均衡参数对所述业务流量进行负载均衡处理。

进一步地,所述装置还包括:配置模块,用于在所述节点为支持负载均衡功能的节点的情况下,在所述节点接收控制器发送的负载均衡参数之后,对所述负载均衡参数进行配置。

进一步地,所述装置还包括:第一发送模块,用于在所述节点配置成功的情况下,向所述控制器发送配置成功消息;第二发送模块,用于在所述节点配置失败的情况下,向所述控制器发送配置失败消息。

进一步地,所述装置还包括:第二接收模块,用于接收所述控制器对所述负载均衡参数进行查询的请求消息;第三发送模块,用于根据所述请求消息向所述控制器发送响应消息,其中,所述响应消息中携带有所述节点已支持的负载均衡参数,所述响应消息用于所述控制器根据业务功能链的业务所需要的负载均衡参数,结合接收到的所述节点已支持的负载均衡参数,确定最优的负载均衡参数,并发送给所述节点,其中,所述最优的负载均衡参数为根据业务特性选择与所述业务匹配的负载均衡参数。

进一步地,所述第一接收模块还用于通过以下方法之一接收所述控制器发送的负载均衡参数:openflow协议,netconf协议,snmp协议,bgp-ls,lisp协议。

根据本发明的再一方面,还提供了一种负载均衡处理装置,应用于控制器,包括:确定模块,用于确定负载均衡参数;发送参数模块,用于向所述节点发送所述负载均衡参数,所述负载均衡参数用于所述节点在接收到待处理的业务流量时,根据所述负载均衡参数对所述业务流量进行负载均衡处理。

进一步地,所述装置还包括:第三接收模块,用于接收所述节点发送的配置成功消息或配置失败消息。

进一步地,所述装置还包括:第四发送模块,用于向所述节点发送对所述负载均衡参数进行查询的请求消息;第四接收模块,用于接收所述节点发送的响应消息,其中,所述响应消息中携带有所述节点已支持的负载均衡参数。

进一步地,所述确定模块包括:选择确定单元,用于根据业务功能链的业务所需要的负载均衡参数,结合接收到的所述节点已支持的负载均衡参数,确定最优的负载均衡参数,并发送给所述节点,其中,所述最优的负载均衡参数为根据业务特性选择与所述业务匹配的负载均衡参数。

进一步地,所述发送参数模块还用于通过以下方法之一向所述节点发送所述负载均衡参数:openflow协议,netconf协议,snmp协议,bgp-ls,lisp协议。

通过本发明,采用节点接收控制器发送的负载均衡参数;所述节点根据所述负载均衡参数对业务流量进行负载均衡处理,解决了相关技术中如何对业务进行负载均衡处理的问题,实现了能够通过负载均衡参数进行负载均衡处理。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据相关技术中的业务功能链的架构图;

图2是根据本发明实施例的负载均衡处理方法的流程图一;

图3是根据本发明实施例的负载均衡处理方法的流程图二;

图4是根据本发明实施例的负载均衡处理方法的框图一;

图5是根据本发明实施例的负载均衡处理方法的框图二;

图6是根据本发明实施例的基于tlv格式实现负载均衡相关参数的示意图;

图7是根据本发明实施例的基于openflow协议扩展实施例一的示意图;

图8是根据本发明实施例的基于openflow协议扩展实施例二的示意图;

图9是根据本发明实施例的基于netconf协议扩展实施例三的示意图;

图10是根据本发明实施例的基于netconf协议扩展实施例四的示意图;

图11是根据本发明实施例的业务功能链报文头携带负载均衡相关参数的示意图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

本发明实施例提供了一种负载均衡处理方法,图2是根据本发明实施例的负载均衡处理方法的流程图一,如图2所示,包括:

步骤s202,节点接收控制器发送的负载均衡参数;

步骤s204,节点根据该负载均衡参数对业务流量进行负载均衡处理。

通过上述步骤,节点接收控制器发送的负载均衡参数;该节点根据该负载均衡参数对业务流量进行负载均衡处理,解决了相关技术中如何对业务进行负载均衡处理的问题,能够通过负载均衡参数进行负载均衡处理。

节点根据该负载均衡参数对该业务流量进行负载均衡处理可以包括:在该节点为支持负载均衡功能的节点的情况下,在接收到待处理的业务流量时,该节点根据该负载均衡参数对该业务流量进行负载均衡处理;或者,在该节点为不支持负载均衡功能的节点的情况下,该节点通过元数据的方式,将该负载均衡参数传递给支持负载均衡功能的节点,供该支持负载均衡功能的节点在接收到待处理的业务流量时,根据该负载均衡参数对该业务流量进行负载均衡处理。

在一个可选的实施例中,在节点为支持负载均衡功能的节点的情况下,在该节点接收控制器发送的负载均衡参数之后,该节点对负载均衡参数进行配置。

进一步地,在该节点配置成功的情况下,该节点向该控制器发送配置成功消息;在该节点配置失败的情况下,该节点向该控制器发送配置失败消息。

节点接收该控制器对该负载均衡参数进行查询的请求消息;该节点根据该请求消息向该控制器发送响应消息,其中,该响应消息中携带有该节点已支持的负载均衡参数,该响应消息用于该控制器根据业务功能链的业务所需要的负载均衡参数,结合接收到的该节点已支持的负载均衡参数,确定最优的负载均衡参数,并发送给该节点,其中,所述最优的负载均衡参数为根据业务特性选择与所述业务匹配的负载均衡参数。

进一步地,上述的负载均衡参数中携带有用于进行负载均衡处理的负载均衡算法和负载均衡算法标识。

进一步地,上述的节点通过以下方法之一接收控制器发送的负载均衡参数:openflow协议,netconf协议,snmp协议,bgp-ls,lisp协议。

本发明实施例还提供了一种负载均衡处理方法,图3是根据本发明实施例的负载均衡处理方法的流程图二,如图3所示,包括:

步骤s302,控制器确定负载均衡参数;

步骤s304,控制器向该节点发送该负载均衡参数,该负载均衡参数用于该节点根据该负载均衡参数对业务流量进行负载均衡处理。

在一个可选的实施例中,在该控制器向该节点发送负载均衡参数之后,在该节点为支持负载均衡功能的节点的情况下,该控制器接收该节点发送的配置成功消息或配置失败消息。

在控制器向节点发送负载均衡参数之前,该控制器向该节点发送对该负载均衡参数进行查询的请求消息;该控制器接收该节点发送的响应消息,其中,该响应消息中携带有该节点已支持的负载均衡参数。

控制器确定该负载均衡参数可以包括:该控制器根据业务功能链的业务所需要的负载均衡参数,结合接收到的该节点已支持的负载均衡参数,确定最优的负载均衡参数,并发送给该节点,其中,所述最优的负载均衡参数为根据业务特性选择与所述业务匹配的负载均衡参数。

控制器通过以下方法之一向该节点发送该负载均衡参数:openflow协议,netconf协议,snmp协议,bgp-ls,lisp协议。

进一步地,上述的负载均衡参数中携带有用于进行负载均衡处理的负载均衡算法和负载均衡算法标识。

本发明实施例提供了一种负载均衡处理装置,应用于节点,图4是根据本发明实施例的负载均衡处理方法的框图一,如图4所示,包括:

第一接收模块42,用于接收控制器发送的负载均衡参数;

负载均衡模块44,用于根据该负载均衡参数对业务流量进行负载均衡处理。

进一步地,该负载均衡模块包括:负载均衡单元,用于在该节点为支持负载均衡功能的节点的情况下,在接收到待处理的业务流量时,根据该负载均衡参数对该业务流量进行负载均衡处理;或者,传递单元,用于在该节点为不支持负载均衡功能的节点的情况下,通过元数据的方式,将该负载均衡参数传递给支持负载均衡功能的节点,供该支持负载均衡功能的节点在接收到待处理的业务流量时,根据该负载均衡参数对该业务流量进行负载均衡处理。

进一步地,该装置还包括:配置模块,用于在该节点为支持负载均衡功能的节点的情况下,在该节点接收控制器发送的负载均衡参数之后,对该负载均衡参数进行配置。

进一步地,该装置还包括:第一发送模块,用于在该节点配置成功的情况下,向该控制器发送配置成功消息;第二发送模块,用于在该节点配置失败的情况下,向该控制器发送配置失败消息。

进一步地,该装置还包括:第二接收模块,用于接收该控制器对该负载均衡参数进行查询的请求消息;第三发送模块,用于根据该请求消息向该控制器发送响应消息,其中,该响应消息中携带有该节点已支持的负载均衡参数,该响应消息用于该控制器根据业务功能链的业务所需要的负载均衡参数,结合接收到的该节点已支持的负载均衡参数,确定最优的负载均衡参数,并发送给该节点,其中,所述最优的负载均衡参数为根据业务特性选择与所述业务匹配的负载均衡参数。

进一步地,上述的第一接收模块还用于通过以下方法之一接收控制器发送的负载均衡参数:openflow协议,netconf协议,snmp协议,bgp-ls,lisp协议。

本发明实施例还提供了一种负载均衡处理装置,应用于控制器,图5是根据本发明实施例的负载均衡处理方法的框图二,如图5所示,包括:

确定模块52,用于确定负载均衡参数,其中,该负载均衡参数中携带有负载均衡算法;

发送参数模块54,用于向该节点发送该负载均衡参数,该负载均衡参数用于该节点在接收到待处理的业务流量时,根据该负载均衡算法对该业务流量进行负载均衡处理。

进一步地,该装置还包括:第三接收模块,用于接收该节点发送的配置成功消息或配置失败消息。

进一步地,该装置还包括:第四发送模块,用于向该节点发送对该负载均衡参数进行查询的请求消息;第四接收模块,用于接收该节点发送的响应消息,其中,该响应消息中携带有该节点已支持的负载均衡参数;

进一步地,该确定模块包括:选择确定单元,用于根据业务功能链的业务所需要的负载均衡参数,结合接收到的该节点已支持的负载均衡参数,确定最优的负载均衡参数,并发送给该节点,其中,所述最优的负载均衡参数为根据业务特性选择与所述业务匹配的负载均衡参数。

进一步地,该发送参数模块还用于通过以下方法之一向该节点发送该负载均衡参数:openflow协议,netconf协议,snmp协议,bgp-ls,lisp协议。

针对相关技术中存在的上述问题,下面以负载均衡相关参数代替上述的负载均衡参数,节点为接收设备为例,结合具体的可选实施例进行进一步说明,下述可选实施例结合了上述可选实施例及其可选实施方式。

本发明实施例提供了一种业务功能链实现负载均衡的方法,所述方法包括:控制器支持负载均衡相关参数的下发;接收设备支持上述负载均衡相关参数的接收,并根据接收到的相关参数设置负载均衡相关参数,和/或通知需要支持负载均衡功能的设备设置其负载均衡相关参数;当支持负载均衡功能的设备接收到待处理的业务流量时,根据配置的算法对业务流量进行负载均衡分流。

进一步地,控制器根据业务功能链中业务的特性,下发业务功能链所需负载均衡相关参数。

进一步地,控制器支持对接收设备的负载均衡相关参数的查询。

进一步地,接收到来自于接收设备的已支持的负载均衡相关参数的查询响应后,控制器根据业务功能链自身的业务需求所需要的负载均衡相关参数,结合接收到的所述接收设备已支持的负载均衡相关参数,选择最优的负载均衡相关参数下发给所述接收设备,例如,对于实现多个nat的负载均衡,需要负载均衡器选择的算法支持相同的流量到同一个nat上,而不是一会到这个nat,过一会到另外一个nat。

进一步地,接收设备支持来自于控制器的负载均衡相关参数的查询,并根据自身已支持的负载均衡相关参数,发送响应消息给控制器;进一步地,接收设备可以是分类器classifier,业务功能转发器servicefunctionforwarder,业务功能servicefunction任意之一。

进一步地,当接收设备是分类器classifier或者是不需要支持负载均衡功能的设备时,分类器或者不需要支持负载均衡功能的设备可以通过元数据metadata的方式将负载均衡相关参数通知给需要支持负载均衡功能的设备,该设备进一步根据接收到的参数进行负载均衡参数的配置。

进一步地,当接收设备是需要支持负载均衡功能的设备本身时,则根据接收到的负载均衡相关参数进行配置。

进一步地,控制器可以通过openflow协议,netconf协议,snmp协议,bgp-ls,lisp协议等的扩展,实现负载均衡相关参数的下发。

进一步地,负载均衡相关参数包括负载均衡算法、负载均衡算法标识等信息。

对于负载均衡相关参数的下发,主要涉及负载均衡算法的下发,本发明实施例使用tlv格式扩展报文结构,图6是根据本发明实施例的基于tlv格式实现负载均衡相关参数的示意图,如图6所示,其中,使用一个字节(8-bit)来标识不同的负载均衡算法,包括但不限于如下算法及标识:

00000001:标识静态算法;

00000010:标识随机算法;

00000011:标识轮询算法;

00000100:标识哈希算法;

00000101:标识carp算法;

00000110:标识一致性哈希算法;

00000111:标识最少链接算法;

00001000:标识最快响应算法;

等等。

下面结合具体实施例对本发明实施例进行进一步说明。

实施例一

本发明实施例基于openflow开流协议扩展,定义了一个新的openflow消息用于负载均衡,当控制器需要针对某类业务实现负载均衡时,可以直接下发负载均衡相关参数,或者会主动下发请求查询消息到接收设备,获取接收设备能力后,再根据协商出的负载均衡参数,进行下发;openflow负载均衡消息包括如下:

图7是根据本发明实施例的基于openflow协议扩展实施例一的示意图,如图7所示,业务功能1和业务功能2均是nat业务,数据报文到达业务功能转发器(servicefunctionforwarder1,简称为sff1)时,需要根据负载均衡算法确定数据报文到底由哪个业务功能nat处理,包括:

步骤1,openflow控制器向需要支持负载均衡的sff1发送负载均衡参数的配置消息,该消息用来对所述业务功能转发器sff1进行配置,如配置业务功能链负载均衡相关参数。

步骤2,配置成功后,所述业务功能转发器sff1向openflow控制器回复携带参数配置成功的回复消息。

步骤3,配置失败后,所述业务功能转发器sff1向openflow控制器回复携带参数配置失败的回复消息。

步骤4,数据报文转发到所述业务功能转发器sff1时,根据负载均衡算法对数据报文进行计算,发现计算结果是业务功能sf2,于是将报文转发到业务功能sf2上进行处理;

实施例二

基于上述实施例一中openflow扩展,图8是根据本发明实施例的基于openflow协议扩展实施例二的示意图,如图8所示,业务功能1和业务功能2均是nat业务,数据报文到达业务功能转发器sff1时,需要根据负载均衡算法确定数据报文到底由哪个业务功能nat处理,包括:

步骤1,openflow控制器查询需要支持负载均衡的sff1的负载均衡相关参数。

步骤2,所述业务功能转发器sff1向openflow控制器发送回复消息,其中携带自身支持的负载均衡相关参数。

步骤3,openflow控制器收到所述业务功能转发器sff1发送的回复消息后,结合业务功能链自身的业务需求所需要的负载均衡相关参数,向所述业务功能转发器sff1发送合适的配置消息来配置负载均衡相关参数。

步骤4,配置成功后,所述业务功能转发器sff1向openflow控制器回复携带参数配置成功的回复消息。

步骤5,配置失败后,所述sff1向openflow控制器回复携带参数配置失败的回复消息;

步骤6,数据报文转发到所述业务功能转发器sff1时,根据负载均衡算法对数据报文进行计算,发现计算结果是业务功能sf2,于是将报文转发到业务功能sf2上进行处理。

实施例三

图9是根据本发明实施例的基于netconf协议扩展实施例三的示意图,如图9所示,业务功能1和业务功能2均是nat业务,数据报文到达业务功能转发器sff1时,需要根据负载均衡算法确定数据报文到底由哪个业务功能nat处理,包括:

步骤1,openflow配置点查询需要支持负载均衡的sff1上的负载均衡相关参数。

步骤2,所述业务功能转发器sff1向openflow配置点回复远程程序调用协议回复消息,其中携带自身支持的负载均衡相关参数。

步骤3,openflow配置点收到远程程序调用协议回复消息后,结合业务功能链自身的业务需求所需要的负载均衡相关参数,向所述业务功能转发器sff1发送编辑配置消息来配置负载均衡相关参数。

步骤4,配置成功后,所述业务功能转发器sff1向openflow配置点回复携带参数配置成功的远程程序调用协议回复消息。

步骤5,配置失败后,所述业务功能转发器sff1向openflow配置点回复携带错误信息的远程程序调用协议回复消息。

步骤6,数据报文转发到所述业务功能转发器sff1时,根据负载均衡算法对数据报文进行计算,发现计算结果是业务功能sf2,于是将报文转发到业务功能sf2上进行处理。

实施例四

图10是根据本发明实施例的基于netconf协议扩展实施例四的示意图,如图10所示,业务功能1和业务功能2均是nat业务,数据报文到达业务功能转发器sff1时,需要根据负载均衡算法确定数据报文到底由哪个业务功能nat处理。但是,业务功能转发器sff1并不支持来自于控制器netconf的负载均衡相关参数的下发;分类器classifier支持来自于控制器netconf的负载均衡相关参数的下发,包括:

步骤1,openflow配置点向分类器classifier发送编辑配置消息,该消息用来对所述分类器classifier进行配置,如配置业务功能链负载均衡相关参数。

步骤2,配置成功后,所述分类器classifier向openflow配置点回复携带参数配置成功的远程程序调用协议回复消息。

步骤3,配置失败后,所述分类器classifier向openflow配置点回复携带错误信息的远程程序调用协议回复消息。

步骤4,数据报文到达所述分类器classifier,分类器对报文进行分类,发现该数据报文经历的业务功能路径中存在一个sff1需要支持负载均衡功能,于是,所述classifier将负载均衡相关参数封装在业务功能报文头的元数据metadata中,图11是根据本发明实施例的业务功能链报文头携带负载均衡相关参数的示意图,报文封装格式如图11所示,随着报文转发到所述业务功能转发器sff1,该sff1提取出元数据metadata的负载均衡相关参数信息,进行负载均衡,将数据报文分发到相应的业务功能sf2上去处理。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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