一种负荷分担方法及装置与流程

文档序号:12182645阅读:351来源:国知局
一种负荷分担方法及装置与流程

本发明涉及通信领域,具体而言,涉及一种负荷分担方法及装置。



背景技术:

在网络高速发展的时代,用户对带宽和服务质量的要求也越来越高。一般情况下,增加网络带宽的方式有两种:一、升级网络设备,提高物理带宽;二、采用负荷分担方式,在不升级网络设备的前提下,提高网络带宽。方式一要升级设备,成本高;方式二不需要升级设备,在现有的设备上就可以部署,成本低。负荷分担技术成为了增加带宽的最佳解决方案。

图1是典型的L3VPN负荷分担的组网示意图,如图1所示,本地边缘设备PE4从远端PE设备(PE1、PE2、PE3)学习到大量的三层虚拟专用网络(Layer3Virtual Private Network,简称为L3VPN)路由。负荷分担技术就是把多条物理链路捆绑到一个负荷分担组中。当流量进入设备后,根据负荷分担Hash算法,将流量按比例分配到负荷分担组中的不同链路上,从而达到增加带宽的目的。为了保证流量能够按比例分配到负荷分担的链路上,需要将负荷分担链路散列开。流量通过负荷分担Hash算法(以三元组、五元组或标签信息作为Hash因子),最终能够均衡的将流量分配到各链路上。每个负荷分担对应一个负荷分担散列表,为了达到理想的分担效果,负荷分担散列表通常被散列成255个条目。负荷分担表和负荷分担散列表要消耗不少内存。因此,设备物理内存的大小成为制约负荷分担容量的关键因素。

在L3VPN组网场景下,每条路由的出标签都不一样,图2是根据相关技术中负荷分担的示意图,如图2所示,L3VPN负荷分担表包含了每条链路的标签信息和IP转发信息。每条路由就对应一个负荷分担表和负荷分担散列表,负荷分担表和负荷分担散列表需要消耗较多内存,导致设备支持的L3VPN负荷分担的容量受限,无法满足CR设备支持大容量负荷分担的要求。

针对相关技术中负荷分担需要消耗较多内存的问题,还未提出有效的解决方案。



技术实现要素:

本发明提供了一种负荷分担方法及装置,以至少解决相关技术中负荷分担需要消耗较多内存的问题。

根据本发明的一个方面,提供了一种负荷分担方法,包括:获取路由转发信息;为获取的所述路由转发信息分配对应的负荷分担表;根据所述负荷分担表进行负荷分担处 理。

进一步地,为获取的所述路由转发信息分配对应的负荷分担表包括:根据所述路由转发信息为每条路由的标签信息分配标签组;根据所述标签组为所述路由转发信息分配对应的负荷分担表,其中,所述负荷分担表中记录了每条路由的标签信息在所述标签组中的下标。

进一步地,所述方法还包括:学习路由,并根据学习到的路由生成路由转发表,其中,所述路由转发表里包括路由转发信息;根据所述路由转发表为每条路由的标签信息分配标签组。

进一步地,所述方法还包括:流量转发时,从所述路由转发表中确定用于转发的路由转发信息;根据所述路由转发信息确定用于转发所述流量的路由的标签组和负荷分担表。

进一步地,所述方法还包括:根据所述负荷分担表生成负荷分担散列表;根据所述负荷分担散列表进行流量的转发。

进一步地,在之前,所述方法还包括:在学习到新路由的情况下,生成一个新的标签组;判断所述新路由的路由转发信息是否与所述负荷分担表对应的路由转发信息相同;在判断结果为是的情况下,复用所述负荷分担表和所述负荷分担散列表;在判断结果为否的情况下,为所述新路由的路由转发信息分配对应的负荷分担表。

根据本发明的另一方面,还提供了一种负荷分担装置,包括:获取模块,用于获取路由转发信息;第一分配模块,用于为获取的所述路由转发信息分配对应的负荷分担表;负荷分担模块,用于根据所述负荷分担表进行负荷分担处理。

进一步地,所述第一分配模块包括:第一分配单元,用于根据所述路由转发信息为每条路由的标签信息分配标签组;第二分配单元,用于根据所述标签组为所述路由转发信息分配对应的负荷分担表,其中,所述负荷分担表中记录了每条路由的标签信息在所述标签组中的下标。

进一步地,所述装置还包括:生成模块,用于学习路由,并根据学习到的路由生成路由转发表,其中,所述路由转发表里包括路由转发信息;第二分配模块,用于根据所述路由转发表为每条路由的标签信息分配标签组。

进一步地,所述装置还包括:第一确定模块,用于流量转发时,从所述路由转发表中确定用于转发的路由转发信息;第二确定模块,用于根据所述路由转发信息确定用于转发所述流量的路由的标签组和负荷分担表。

通过本发明,采用获取路由转发信息;为获取的所述路由转发信息分配对应的负荷分担表;根据所述负荷分担表进行负荷分担处理,解决了相关技术中负荷分担需要消耗较多内存的问题,大大减少了负荷分担消耗的内存数量,从而提高了负荷分担路由的容 量。

附图说明

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

图1是典型的L3VPN负荷分担的组网示意图;

图2是根据相关技术中负荷分担的示意图;

图3是根据本发明实施例的负荷分担方法的流程图;

图4是根据本发明实施例的负荷分担装置的框图;

图5是根据本发明优选实施例的负荷分担装置的框图;

图6是根据本发明实施例的L3VPN负荷分担装置的框图;

图7是根据本发明实施例的L3VPN负荷分担的示意图。

具体实施方式

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

本发明实施例提供了一种负荷分担方法,图3是根据本发明实施例的负荷分担方法的流程图,如图3所示,包括:

步骤S302,获取路由转发信息;

步骤S304,为获取的该路由转发信息分配对应的负荷分担表;

步骤S306,根据该负荷分担表进行负荷分担处理。

通过上述步骤,获取路由转发信息;为获取的该路由转发信息分配对应的负荷分担表;根据该负荷分担表进行负荷分担处理,解决了相关技术中负荷分担需要消耗较多内存的问题,大大减少了负荷分担消耗的内存数量,从而提高了负荷分担路由的容量。

在一个可选的实施例中,为获取的该路由转发信息分配对应的负荷分担表可以包括:根据该路由转发信息为每条路由的标签信息分配标签组;根据该标签组为该路由转发信息分配对应的负荷分担表,其中,该负荷分担表中记录了每条路由的标签信息在该标签组中的下标。

进一步地,学习路由,并根据学习到的路由生成路由转发表,其中,该路由转发表里包括路由转发信息;根据该路由转发表为每条路由的标签信息分配标签组。

进一步地,流量转发时,从该路由转发表中确定用于转发的路由转发信息;根据该路由转发信息确定用于转发该流量的路由的标签组和负荷分担表。

进一步地,根据该负荷分担表生成负荷分担散列表;根据该负荷分担散列表进行流量的转发。

进一步地,在学习到新路由的情况下,生成一个新的标签组;判断该新路由的路由转发信息是否与该负荷分担表对应的路由转发信息相同;在判断结果为是的情况下,复用该负荷分担表和该负荷分担散列表;在判断结果为否的情况下,为该新路由的路由转发信息分配对应的负荷分担表。

本发明实施例还提供了一种负荷分担装置,图4是根据本发明实施例的负荷分担装置的框图,如图4所示,包括:

获取模块42,用于获取路由转发信息;

第一分配模块44,用于为获取的该路由转发信息分配对应的负荷分担表;

负荷分担模块46,用于根据该负荷分担表进行负荷分担处理。

图5是根据本发明优选实施例的负荷分担装置的框图,如图5所示,第一分配模块44包括:

第一分配单元52,用于根据该路由转发信息为每条路由的标签信息分配标签组;

第二分配单元54,用于根据该标签组为该路由转发信息分配对应的负荷分担表,其中,该负荷分担表中记录了每条路由的标签信息在该标签组中的下标。

进一步地,该装置还包括:生成模块,用于学习路由,并根据学习到的路由生成路由转发表,其中,该路由转发表里包括路由转发信息;第二分配模块,用于根据该路由转发表为每条路由的标签信息分配标签组。

进一步地,该装置还包括:第一确定模块,用于流量转发时,从该路由转发表中确定用于转发的路由转发信息;第二确定模块,用于根据该路由转发信息确定用于转发该流量的路由的标签组和负荷分担表。

针对相关技术中存在的上述问题,下面以L3VPN负荷分担应用场景下结合具体的可选实施例进行进一步说明,下述可选实施例结合了上述可选实施例及其可选实施方式。

本发明实施例提出一种提高负荷分担容量的方法,采用将L3VPN负荷分担中的标签信息和IP转发信息分离的方式,提高L3VPN负荷分担表的复用性,在设备物理内存不变的前提下,大大减少了L3VPN负荷分担消耗的内存数量,从而提高L3VPN负荷分担路由的容量,满足设备的大容量需求,能够有效提高核心路由器的竞争力,解决了L3VPN负荷分担应用场景下,负荷分担容量受限的问题。

图6是根据本发明实施例的L3VPN负荷分担装置的框图,如图6所示,该装置主要包括:边界网关协议(Border Gateway Protocol简称为BGP)协议模块62、路由管理模块64、标签管理模块66、负荷分担管理模块68。如图1所示,设备PE4上的BGP协议模块62从远端PE设备(PE1、PE2和PE3)学习VPN路由,并将VPN路由下发到路由管理模块64。路由管理模块64负责路由查找信息和转发信息的存储,并将转发信息传递给标签管理模块66和负荷分担管理模块68。

图7是根据本发明实施例的L3VPN负荷分担的示意图,如图7所示,边缘设备PE4从远端PE(PE1、PE2、PE3)学到的路由1有三个下一跳(PE4-P1-PE1、PE4-P2-PE、PE4-P3-PE3),每个下一跳有对应的标签(L11、L12、L13)。负荷分担管理模块68生成负荷分担表1(PE4-P1-PE1、PE4-P2-PE、PE4-P3-PE3);标签管理模块66生成标签组1(L11、L12、L13)。其中,负荷分担表1的条目中记录与其对应的标签在标签组1中的索引,负荷分担表1(PE4-P1-PE1(0)、PE4-P2-PE(1)、PE4-P3-PE3(2)))。当PE4从远端PE学到大量的VPN路由(路由1…路由n)时,由于这些路由的IP转发信息都相同,仅仅是标签不同。负荷分担管理模块68只会为所有路由生成1个负荷分担表(负荷分担表1),标签管理模块66为每条路由生成1个标签组(L21、L22、L23)…(Ln1、Ln2、Ln3)。由于大量的VPN路由共用1个负荷分担表和1个负荷分担散列表,极大的节约了设备的内存。由于标签组只包含标签信息,占用的内存很少,与负荷分担表和负荷分担散列表相比可以忽略不计,极大的节约了设备的内存。

本发明实施例还提供了一种提高L3VPN负荷分担容量的方法,包括:BGP协议模块62从远端网络侧边缘设备PE(PE1、PE2、PE3)中学习到路由,并将路由新信息下发到路由管理模块64。路由管理模块64将转发新信息传递给标签组管理模块和负荷分担管理模块68。标签组管理模块为每条路由的标签信息分配一个标签组,例如,(L11、L12、L13)…(Ln1、Ln2、Ln3)。负荷分担管理模块68根据每条路由的IP转发信息(PE4-P1-PE1(0)、PE4-P2-PE(1)、PE4-P3-PE3(2)),分配负荷分担索引。由于所有路由的IP转发信息都是相同的,这些路由共用1个负荷分担表。之后,用散列算法对负荷分担组中的条目进行散列,得到负荷分担散列表。流量转发时,先查找路由表,找到用于转发的路由;从路由上得到跟该路由相关的标签组和负荷分担表。对流量进行Hash计算,从负荷分担散列表中得到转发流量的封装信息。包括:PE4与PE1、PE2、PE3之间建立BGP VPNv4邻居;CE1与PE1、PE2、PE3之间建立IGP邻居,其中,CE1是接入设备。在PE4设备上配置VPN负荷分担能力。CE1向PE1、PE2、PE3设备通告路由。PE4上BGP协议模块62从远端设备(PE1、PE2、PE3)学习到路由并形成L3VPN负荷分担。

如图6所示,BGP协议模块62将L3VPN路由的前缀信息和转发信息下发到路由管理模块64。路由管理模块64保存路由的查找信息和转发信息,形成路由转发表,并将转发信息传递给标签组管理模块和负荷分担管理模块68。标签管理模块66为标签信息分配标签组。负荷分担管理模块68在为IP转发信息分配负荷分担表之前,需要先检 索系统中的负荷分担表。如果存在转发信息完全一致的负荷分担表,则共用已有的负荷分担表,不会生成新的负荷分担表;如果没有找到匹配的负荷分担表,则需要生成一个新的负荷分担表。

如图7所示,负荷分担表条目中记录了和它对应的标签在标签组中的下标。根据负荷分担表1生成负荷分担散列表1。BGP协议学习到新的路由(路由2)时,会生成一个新的标签组(标签组2(L21、L22、L23))。由于路由2的负荷分担转发信息和负荷分担表1完全一样,所以只需要复用负荷分担表1和负荷分担散列表1,不需要生成新的负荷分担表。重复上述过程,完成路由3…路由n的处理过程。系统稳定后,有n条路由、n个负荷分担表、1个负荷分担表和1个负荷分担散列表。从CE2发往CE1的流量,在PE4设备上,根据流量的主要特征(源IP、目的IP、出接口)计算HASH值。然后在负荷分担散列表1中找到HASH值对应的转发路径(PE1-P2-PE2)进行封装报文。

假设PE设备(PE4)从远端PE(PE1、PE2、PE3)学习了10000条负荷分担路由。在现有技术中,会有10000条路由、10000个负荷分担表和10000个负荷分担散列表;采用本发明实施例,会有10000条路由、10000个标签组、1个负荷分担表和1个负荷分担散列表,节约了9999个负荷分担和9999个负荷分担散列表的内存。综上所述,本发明实施例通过将L3VPN负荷分担中的标签信息和IP转发信息分离,提高负荷分担表的复用性,减少负荷分担和负荷分担散列表的数量,从而达到提高L3VPN负荷分担容量的效果。

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

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

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