WO2016177196A1 - 一种负荷分担方法及装置 - Google Patents

一种负荷分担方法及装置 Download PDF

Info

Publication number
WO2016177196A1
WO2016177196A1 PCT/CN2016/077707 CN2016077707W WO2016177196A1 WO 2016177196 A1 WO2016177196 A1 WO 2016177196A1 CN 2016077707 W CN2016077707 W CN 2016077707W WO 2016177196 A1 WO2016177196 A1 WO 2016177196A1
Authority
WO
WIPO (PCT)
Prior art keywords
load sharing
route
information
forwarding
routing
Prior art date
Application number
PCT/CN2016/077707
Other languages
English (en)
French (fr)
Inventor
李石法
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2016177196A1 publication Critical patent/WO2016177196A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering

Definitions

  • This document relates to the field of load sharing technology, and in particular, to a load sharing method and apparatus.
  • FIG 1 is a schematic diagram of a typical L3VPN load balancing network.
  • the local edge device PE4 learns a large number of Layer 3 virtual private networks from the remote PEs (PE1, PE2, and PE3). Referred to as L3VPN) routing.
  • Load sharing technology is to bundle multiple physical links into a load sharing group. After the traffic enters the device, the load balancing Hash algorithm is used to allocate traffic to different links in the load sharing group to achieve bandwidth increase. To ensure that traffic can be distributed proportionally to the load-sharing link, the load-sharing link needs to be hashed.
  • the traffic passes the load-sharing hash algorithm (using the triplet, quintuple, or tag information as the hash factor), and finally distributes the traffic to each link in a balanced manner.
  • Each load sharing corresponds to a load sharing hash table.
  • the load sharing hash table is usually hashed into 255 entries.
  • the load sharing table and the load sharing hash table consume a lot of memory. Therefore, the size of the physical memory of the device becomes a key factor that restricts the load sharing capacity.
  • FIG. 2 is a schematic diagram of load sharing according to the related art.
  • the L3VPN load sharing table contains label information and IP of each link. Forward the message.
  • Each of the routes corresponds to a load sharing table and a load sharing hash table.
  • the load sharing table and the load sharing hash table need to consume more memory.
  • the L3VPN load sharing capacity supported by the device is limited, and the CR device cannot support the large-capacity load sharing. Requirements.
  • the present invention provides a load sharing method and apparatus to solve at least the problem that the load sharing needs to consume more memory in the related art.
  • a load sharing method includes:
  • Load sharing processing is performed based on the load sharing table.
  • the step of allocating the corresponding load sharing table for the obtained routing forwarding information includes:
  • the method further includes:
  • a label group is assigned to the label information of each route according to the routing forwarding table.
  • the method further includes:
  • the route forwarding information used for forwarding is determined from the routing forwarding table
  • the method further includes:
  • the traffic is forwarded according to the load sharing hash table.
  • the method further includes:
  • the corresponding load sharing table is allocated for the routing information of the new route.
  • a load sharing device includes an acquisition module, a first distribution module, and a load sharing module, wherein
  • the obtaining module is configured to: obtain routing and forwarding information
  • the first allocation module is configured to: allocate a corresponding load sharing table for the obtained routing forwarding information
  • the load sharing module is configured to perform load sharing processing according to the load sharing table.
  • the first distribution module comprises a first distribution unit and a second distribution unit, wherein
  • the first allocating unit is configured to: assign a label group to the label information of each route according to the routing forwarding information;
  • the second allocating unit is configured to allocate a corresponding load sharing table for the routing forwarding information according to the label group, wherein the label information of each route is recorded in the label group in the load sharing table. Subscript.
  • the device further includes a generating module and a second assigning module, wherein
  • the generating module is configured to: learn a route, and generate a routing forwarding table according to the learned route, where the routing forwarding table includes routing forwarding information;
  • the second allocation module is configured to: assign a label group to the label information of each route according to the routing forwarding table.
  • the device further includes a first determining module and a second determining module, where
  • the first determining module is configured to: when the traffic is forwarded, determine from the routing forwarding table Forwarded route forwarding information;
  • the second determining module is configured to: determine, according to the route forwarding information, a label group and a load sharing table for forwarding a route of the traffic.
  • the routing and forwarding information is obtained; the corresponding load sharing table is allocated for the obtained routing forwarding information; and the load sharing processing is performed according to the load sharing table, which solves the problem that the load sharing needs to consume more memory in the related art.
  • the problem is that the amount of memory consumed by the load sharing is greatly reduced, thereby increasing the capacity of the load sharing route.
  • FIG. 1 is a schematic diagram of networking of a typical L3VPN load sharing
  • FIG. 2 is a schematic diagram of load sharing according to the related art
  • FIG. 3 is a flowchart of a load sharing method according to an embodiment of the present invention.
  • FIG. 4 is a block diagram of a load sharing device according to an embodiment of the present invention.
  • FIG. 5 is a block diagram of a load sharing device in accordance with a preferred embodiment of the present invention.
  • FIG. 6 is a block diagram of an L3VPN load sharing device according to an embodiment of the present invention.
  • FIG. 7 is a schematic diagram of L3VPN load sharing according to an embodiment of the present invention.
  • Embodiments of the present invention provide a load sharing method, and FIG. 3 is a negative according to an embodiment of the present invention.
  • a flowchart of the load sharing method, as shown in FIG. 3, includes:
  • Step S302 acquiring route forwarding information.
  • Step S304 assigning a corresponding load sharing table to the obtained routing forwarding information
  • step S306 load sharing processing is performed based on the load sharing table.
  • the routing forwarding information is obtained; the corresponding load sharing table is allocated for the obtained routing forwarding information; and the load sharing processing is performed according to the load sharing table, which solves the problem that the load sharing needs to consume more memory in the related technology, and the problem is greatly reduced.
  • the load shares the amount of memory consumed, thereby increasing the capacity of the load sharing route.
  • the assigning the corresponding load sharing table to the obtained routing forwarding information may include: assigning a label group to the label information of each route according to the routing forwarding information; and forwarding the information according to the label group A corresponding load sharing table is allocated, wherein the load sharing table records the subscript of the label information of each route in the label group.
  • the route is learned, and the route forwarding table is generated according to the learned route, where the route forwarding table includes route forwarding information; and the label forwarding group allocates a label group for each route label information.
  • the routing forwarding information for forwarding is determined from the routing forwarding table, and the label group and the load sharing table of the route for forwarding the traffic are determined according to the routing forwarding information.
  • a load sharing hash table is generated according to the load sharing table, and the traffic is forwarded according to the load sharing hash table.
  • a new tag group is generated; determining whether the route forwarding information of the new route is the same as the route forwarding information corresponding to the load sharing table; if the determination result is yes, The load sharing table and the load sharing hash table are multiplexed; if the determination result is negative, the corresponding load sharing table is allocated for the routing forwarding information of the new route.
  • FIG. 4 is a block diagram of a load sharing device according to an embodiment of the present invention. As shown in FIG. 4, the method includes:
  • the obtaining module 42 is configured to: obtain routing and forwarding information
  • the first allocation module 44 is configured to: allocate a corresponding load sharing table for the obtained routing forwarding information
  • the load sharing module 46 is configured to perform load sharing processing based on the load sharing table.
  • the first distribution module 44 includes:
  • the first allocating unit 52 is configured to: assign a label group to the label information of each route according to the routing forwarding information;
  • the second allocating unit 54 is configured to allocate a corresponding load sharing table for the routing forwarding information according to the label group, wherein the load sharing table records a subscript of the label information of each route in the label group.
  • the device further includes: a generating module, configured to: learn a route, and generate a routing forwarding table according to the learned route, where the routing forwarding table includes routing forwarding information; and the second allocation module is configured to: The routing forwarding table assigns a label group to the label information of each route.
  • a generating module configured to: learn a route, and generate a routing forwarding table according to the learned route, where the routing forwarding table includes routing forwarding information
  • the second allocation module is configured to: The routing forwarding table assigns a label group to the label information of each route.
  • the device further includes: a first determining module, configured to: when the traffic is forwarded, determine routing forwarding information for forwarding from the routing forwarding table; and the second determining module is configured to: determine, according to the routing information The label group and load sharing table of the route used to forward the traffic.
  • a first determining module configured to: when the traffic is forwarded, determine routing forwarding information for forwarding from the routing forwarding table
  • the second determining module is configured to: determine, according to the routing information The label group and load sharing table of the route used to forward the traffic.
  • the embodiment of the invention also discloses a computer program, comprising program instructions, which when executed by a computer, enable the computer to perform any of the above-mentioned load sharing methods.
  • the embodiment of the invention also discloses a carrier carrying the computer program.
  • the embodiment of the present invention provides a method for improving the load sharing capacity, which uses the method of separating the label information and the IP forwarding information in the L3VPN load sharing to improve the reusability of the L3VPN load sharing table, and the physical memory of the device is unchanged. , greatly reducing the amount of memory consumed by the L3VPN load sharing, thereby increasing the capacity of the L3VPN load-sharing route, meeting the large-capacity requirements of the device, and effectively improving the competitiveness of the core router, and solving the load sharing capacity of the L3VPN load sharing application scenario. Limit problem.
  • FIG. 6 is a block diagram of an L3VPN load sharing device according to an embodiment of the present invention.
  • the device mainly includes: a Border Gateway Protocol (BGP) protocol module 62, a route management module 64, and a label management module. 66.
  • Load sharing management module 68 As shown in FIG. 1 , the BGP protocol module 62 on the device PE4 learns the VPN route from the remote PE device (PE1, PE2, and PE3), and delivers the VPN route to the route management module 64.
  • the routing management module 64 is responsible for storing the routing lookup information and forwarding information, and passing the forwarding information to the label management module 66 and the load sharing management module 68.
  • FIG. 7 is a schematic diagram of L3VPN load sharing according to an embodiment of the present invention.
  • the route 1 learned by the edge device PE4 from the remote PE has three next hops (PE4-P1-).
  • the load sharing management module 68 generates a load sharing table 1 (PE4-P1-PE1, PE4-P2-PE, PE4-P3-PE3); the tag management module 66 generates a tag group 1 (L11, L12, L13).
  • the index of the corresponding load label in the label group 1 is recorded in the entry of the load sharing table 1, that is, the load sharing table 1 includes PE4-P1-PE1(0), PE4-P2-PE(1), and PE4-P3- PE3 (2).
  • the load sharing management module 68 generates only one load sharing table (load sharing table 1) for all routes, and the tag management module 66 generates one tag group (L21, L22, L23) for each route... (Ln1, Ln2, Ln3) ).
  • the embodiment of the present invention further provides a method for improving the load sharing capacity of the L3VPN, including: the BGP protocol module 62 learns the route from the remote network side edge device PEs (PE1, PE2, and PE3), and delivers the new routing information. Go to route management module 64.
  • the routing management module 64 passes the forwarding new information to the tag group management module and the load sharing management module 68.
  • the tag group management module assigns a tag group to the tag information of each route, for example, (L11, L12, L13) ... (Ln1, Ln2, Ln3).
  • the load sharing management module 68 allocates a load sharing index according to the IP forwarding information (PE4-P1-PE1(0), PE4-P2-PE(1), PE4-P3-PE3(2)) of each route. Since the IP forwarding information of all routes is the same, these routes share one load sharing table. After that, use the hash algorithm to load The entries in the sharing group are hashed to obtain a load sharing hash table. When traffic is forwarded, the routing table is searched for the route to be forwarded. The label group and the load sharing table related to the route are obtained from the route. Hash calculation is performed on the traffic, and the encapsulation information of the forwarding traffic is obtained from the load sharing hash table.
  • IP forwarding information PE4-P1-PE1(0), PE4-P2-PE(1), PE4-P3-PE3(2)
  • the BGP VPNv4 neighbor relationship is established between PE4 and PE1, PE2, and PE3.
  • the IGP neighbor relationship is established between CE1 and PE1, PE2, and PE3.
  • CE1 is the access device. Configure the VPN load balancing capability on the PE4.
  • CE1 advertises routes to PE1, PE2, and PE3 devices.
  • the BGP protocol module 62 on the PE4 learns the route from the remote device (PE1, PE2, and PE3) and forms L3VPN load balancing.
  • the BGP protocol module 62 delivers the prefix information and the forwarding information of the L3VPN route to the route management module 64.
  • the routing management module 64 stores the routing information and the forwarding information, forms a routing forwarding table, and delivers the forwarding information to the label group management module and the load sharing management module 68.
  • the tag management module 66 assigns a tag group to the tag information. Before the load sharing management module 68 allocates the load sharing table for the IP forwarding information, it is necessary to first retrieve the load sharing table in the system. If there is a load sharing table with the same forwarding information, the existing load sharing table will be shared, and a new load sharing table will not be generated. If no matching load sharing table is found, a new load sharing table needs to be generated.
  • the subscript of the tag corresponding to the tag in the tag group is recorded in the load sharing table entry.
  • the load sharing hash table 1 is generated based on the load sharing table 1.
  • the BGP protocol learns a new route (Route 2), it generates a new label group (label group 2 (L21, L22, L23)). Since the load sharing and forwarding information of the route 2 is completely the same as that of the load sharing table 1, it is only necessary to multiplex the load sharing table 1 and the load sharing hash table 1, and it is not necessary to generate a new load sharing table. Repeat the above process to complete the process of route 3...route n.
  • n routes there are n routes, n load sharing tables, one load sharing table, and one load sharing hash table.
  • the traffic sent from CE2 to CE1 is calculated on the PE4 device based on the main features of the traffic (source IP, destination IP, and outbound interface).
  • the load sharing hash table 1 the forwarding path corresponding to the HASH value (PE1-P2-PE2) is found to encapsulate the packet.
  • the PE device learns 10,000 load sharing routes from the remote PEs (PE1, PE2, and PE3).
  • the embodiment of the present invention performs load sharing in the L3VPN. The separation of the label information and the IP forwarding information improves the reusability of the load sharing table and reduces the number of load sharing and load sharing hash tables, thereby achieving the effect of increasing the L3VPN load sharing capacity.
  • all or part of the steps of the above embodiments may also be implemented by using an integrated circuit. These steps may be separately fabricated into individual integrated circuit modules, or multiple modules or steps may be fabricated into a single integrated circuit module. achieve. Thus, the invention is not limited to any specific combination of hardware and software.
  • the devices/function modules/functional units in the above embodiments may be implemented by a general-purpose computing device, which may be centralized on a single computing device or distributed over a network of multiple computing devices.
  • each device/function module/functional unit in the above embodiment When each device/function module/functional unit in the above embodiment is implemented in the form of a software function module and sold or used as a stand-alone product, it can be stored in a computer readable storage medium.
  • the above mentioned computer readable storage medium may be a read only memory, a magnetic disk or an optical disk or the like.
  • the routing and forwarding information is obtained, and the corresponding load sharing table is allocated for the obtained routing and forwarding information; the load sharing processing is performed according to the load sharing table, and the load sharing needs to consume more memory in the related technology.
  • the problem is that the amount of memory consumed by the load sharing is greatly reduced, thereby increasing the capacity of the load sharing route. Therefore, the present invention has strong industrial applicability.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种负荷分担方法及装置,该方法包括:获取路由转发信息;为获取的该路由转发信息分配对应的负荷分担表;根据该负荷分担表进行负荷分担处理,解决了相关技术中负荷分担需要消耗较多内存的问题,大大减少了负荷分担消耗的内存数量,从而提高了负荷分担路由的容量。

Description

一种负荷分担方法及装置 技术领域
本文涉及负荷分担技术领域,具体而言,涉及一种负荷分担方法及装置。
背景技术
在网络高速发展的时代,用户对带宽和服务质量的要求也越来越高。一般情况下,增加网络带宽的方式有两种:一、升级网络设备,提高物理带宽;二、采用负荷分担方式,在不升级网络设备的前提下,提高网络带宽。方式一要升级设备,成本高;方式二不需要升级设备,在现有的设备上就可以部署,成本低。负荷分担技术成为了增加带宽的最佳解决方案。
图1是典型的L3VPN负荷分担的组网示意图,如图1所示,本地边缘设备PE4从远端PE设备(PE1、PE2、PE3)学习到大量的三层虚拟专用网络(Layer3 Virtual 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负荷分担容量的效果。
在阅读并理解了附图和详细描述后,可以明白其他方面。
本领域普通技术人员可以理解上述实施例的全部或部分步骤可以使用计算机程序流程来实现,所述计算机程序可以存储于一计算机可读存储介质中,所述计算机程序在相应的硬件平台上(如系统、设备、装置、器件等)执行,在执行时,包括方法实施例的步骤之一或其组合。
可选地,上述实施例的全部或部分步骤也可以使用集成电路来实现,这些步骤可以被分别制作成一个个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
上述实施例中的各装置/功能模块/功能单元可以采用通用的计算装置来实现,它们可以集中在单个的计算装置上,也可以分布在多个计算装置所组成的网络上。
上述实施例中的各装置/功能模块/功能单元以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。上述提到的计算机可读取存储介质可以是只读存储器,磁盘或光盘等。
任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求所述的保护范围为准。
工业实用性
通过本发明技术方案,采用获取路由转发信息;为获取的所述路由转发信息分配对应的负荷分担表;根据所述负荷分担表进行负荷分担处理,解决了相关技术中负荷分担需要消耗较多内存的问题,大大减少了负荷分担消耗的内存数量,从而提高了负荷分担路由的容量。因此本发明具有很强的工业实用性。

Claims (10)

  1. 一种负荷分担方法,包括:
    获取路由转发信息;
    为获取的所述路由转发信息分配对应的负荷分担表;
    根据所述负荷分担表进行负荷分担处理。
  2. 根据权利要求1所述的负荷分担方法,其中,所述为获取的所述路由转发信息分配对应的负荷分担表的步骤包括:
    根据所述路由转发信息为每条路由的标签信息分配标签组;
    根据所述标签组为所述路由转发信息分配对应的负荷分担表,其中,所述负荷分担表中记录了每条路由的标签信息在所述标签组中的下标。
  3. 根据权利要求2所述的负荷分担方法,所述方法还包括:
    学习路由,并根据学习到的路由生成路由转发表,其中,所述路由转发表里包括所述路由转发信息;
    根据所述路由转发表为每条路由的标签信息分配标签组。
  4. 根据权利要求3所述的负荷分担方法,所述方法还包括:
    流量转发时,从所述路由转发表中确定用于转发的路由转发信息;
    根据所述路由转发信息确定用于转发所述流量的路由的标签组和负荷分担表。
  5. 根据权利要求4所述的负荷分担方法,所述方法还包括:
    根据所述负荷分担表生成负荷分担散列表;
    根据所述负荷分担散列表进行流量的转发。
  6. 根据权利要求5所述的负荷分担方法,所述方法还包括:
    在学习到新路由的情况下,生成一个新的标签组;
    判断所述新路由的路由转发信息是否与所述负荷分担表对应的路由转发信息相同;
    在判断结果为是的情况下,复用所述负荷分担表和所述负荷分担散列表;
    在判断结果为否的情况下,为所述新路由的路由转发信息分配对应的负荷分担表。
  7. 一种负荷分担装置,包括获取模块、第一分配模块和负荷分担模块,其中
    所述获取模块设置成:获取路由转发信息;
    所述第一分配模块,设置成:为获取的所述路由转发信息分配对应的负荷分担表;
    所述负荷分担模块设置成:根据所述负荷分担表进行负荷分担处理。
  8. 根据权利要求7所述的负荷分担装置,其中,所述第一分配模块包括第一分配单元和第二分配单元,其中
    所述第一分配单元设置成:根据所述路由转发信息为每条路由的标签信息分配标签组;
    所述第二分配单元设置成:根据所述标签组为所述路由转发信息分配对应的负荷分担表,其中,所述负荷分担表中记录了每条路由的标签信息在所述标签组中的下标。
  9. 根据权利要求8所述的负荷分担装置,所述装置还包括生成模块和第二分配模块,其中
    所述生成模块设置成:学习路由,并根据学习到的路由生成路由转发表,其中,所述路由转发表里包括路由转发信息;
    所述第二分配模块设置成:根据所述路由转发表为每条路由的标签信息分配标签组。
  10. 根据权利要求9所述的负荷分担装置,所述装置还包括第一确定模块和第二确定模块,其中
    所述第一确定模块设置成:流量转发时,从所述路由转发表中确定用于转发的路由转发信息;
    所述第二确定模块设置成:根据所述路由转发信息确定用于转发所述流量的路由的标签组和负荷分担表。
PCT/CN2016/077707 2015-08-27 2016-03-29 一种负荷分担方法及装置 WO2016177196A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510536534.0A CN106487703A (zh) 2015-08-27 2015-08-27 一种负荷分担方法及装置
CN201510536534.0 2015-08-27

Publications (1)

Publication Number Publication Date
WO2016177196A1 true WO2016177196A1 (zh) 2016-11-10

Family

ID=57217376

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/077707 WO2016177196A1 (zh) 2015-08-27 2016-03-29 一种负荷分担方法及装置

Country Status (2)

Country Link
CN (1) CN106487703A (zh)
WO (1) WO2016177196A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1389879A1 (de) * 2002-08-16 2004-02-18 Siemens Aktiengesellschaft Load Sharing in SS7-Netzen
CN1859286A (zh) * 2005-11-19 2006-11-08 华为技术有限公司 一种负载分担的方法
CN101030915A (zh) * 2007-03-26 2007-09-05 中兴通讯股份有限公司 一种V_Switch透传数据实现负荷分担的方法
CN101873251A (zh) * 2009-04-27 2010-10-27 中兴通讯股份有限公司 报文转发方法及装置
CN105187320A (zh) * 2014-06-19 2015-12-23 中兴通讯股份有限公司 一种mpls负荷分担的处理方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8121032B2 (en) * 2008-05-30 2012-02-21 Cisco Technology, Inc. Efficient convergence of grouped VPN prefixes

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1389879A1 (de) * 2002-08-16 2004-02-18 Siemens Aktiengesellschaft Load Sharing in SS7-Netzen
CN1859286A (zh) * 2005-11-19 2006-11-08 华为技术有限公司 一种负载分担的方法
CN101030915A (zh) * 2007-03-26 2007-09-05 中兴通讯股份有限公司 一种V_Switch透传数据实现负荷分担的方法
CN101873251A (zh) * 2009-04-27 2010-10-27 中兴通讯股份有限公司 报文转发方法及装置
CN105187320A (zh) * 2014-06-19 2015-12-23 中兴通讯股份有限公司 一种mpls负荷分担的处理方法及装置

Also Published As

Publication number Publication date
CN106487703A (zh) 2017-03-08

Similar Documents

Publication Publication Date Title
US11671450B2 (en) Dynamic honeypots
CN107733793B (zh) 一种转发表项维护方法及装置
US9686194B2 (en) Adaptive multi-interface use for content networking
US9876715B2 (en) Network fabric overlay
CN103546374B (zh) 一种边缘二层网络中转发报文的方法和装置
US8873567B1 (en) Providing routing information to support routing by port groups via corresponding network paths
EP4239973A1 (en) Packet sending method, device, and system
US9929954B2 (en) Hash-based overlay routing architecture for information centric networks
CN104780088A (zh) 一种业务报文的传输方法和设备
WO2016177145A1 (zh) 报文发送方法及装置
US7936668B2 (en) Methods and apparatus for distributing label information
CN113132235B (zh) 基于虚电路的数据报文处理方法、转发表项的构建方法
US10904130B2 (en) Method for scalable computer network partitioning
WO2019029698A1 (zh) 一种组播业务控制方法和装置、计算机可读存储介质
US20150381773A1 (en) Dual-Homed External Network Access in a Distributed Internet Protocol (IP) Router
CN105591911B (zh) 一种lsp的生成方法和装置
US20150012664A1 (en) Routing data based on a naming service
CN104253751B (zh) 一种基于多角色主机的报文传输方法和设备
CN106034075B (zh) 一种为vpn路由分配标签的方法及装置
US20230081052A1 (en) Method and apparatus for sending multicast packet
WO2016177196A1 (zh) 一种负荷分担方法及装置
KR100785812B1 (ko) 단대단 QoS 데이터 전송 경로를 제공하는 방법 및 그장치
US9544225B2 (en) Method for end point identification in computer networks
WO2016127565A1 (zh) 分段路由标识sid的处理方法及装置
US8248956B2 (en) Method or apparatus for distributing routing information in networks

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16789190

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16789190

Country of ref document: EP

Kind code of ref document: A1