Multicast load splitting method for label network, network device, and readable storage medium

By finding the route of the root node in the tag network and determining the target upstream node based on opaque data, the load sharing problem under multiple equivalent paths between the root node and the leaf node is solved, and the full utilization of network resources and the reduction of network congestion is achieved.

WO2025081724A1PCT designated stage expired Publication Date: 2025-04-24ZTE CORP
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/085002
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-10-16
Filing Date
2024-03-29
Publication Date
2025-04-24

AI Technical Summary

Technical Problem

The prior art is difficult to realize load sharing in the case where multiple equivalent paths exist between the root node and the leaf node, resulting in insufficient utilization of network resources and network congestion.

Method used

By responsive to the multi-point forwarding equivalent class corresponding to the target multicast service, the route of the root node is found, the upstream node corresponding to the target multi-cast service is obtained, and the target upstream node is determined in multiple equivalent upstream nodes based on opaque data, thereby establishing different point-to-multipoint label exchange forwarding paths for different multi-cast services.

Benefits of technology

Payload sharing is realized in the case where multiple equivalent paths exist between the root node and the leaf node, making full use of network resources and reducing network congestion.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024085002_24042025_PF_FP_ABST
    Figure CN2024085002_24042025_PF_FP_ABST
Patent Text Reader

Abstract

The present application discloses a multicast load splitting method for a label network, a network device, and a readable storage medium. The method comprises: in response to a multipoint forwarding equivalence class corresponding to a target multicast service, performing routing lookup for a root node to obtain an upstream node of a current node corresponding to the target multicast service, wherein the multipoint forwarding equivalence class comprises opaque data corresponding to the target multicast service; and when a plurality of equivalent upstream nodes are found, on the basis of the opaque data, determining a target upstream node from among the plurality of equivalent upstream nodes.
Need to check novelty before this filing date? Find Prior Art

Description

Multicast load sharing method for label network, network device and readable storage medium

[0001] Related applications

[0002] This application claims priority to Chinese patent application No. 202311337678.4 filed on October 16, 2023, the entire contents of which are incorporated by reference into this application. Technical Field

[0003] The present application relates to the field of communication technology, and in particular to a multicast load sharing method for a label network, a network device, and a readable storage medium. Background Art

[0004] mLDP (Multipoint Label Distribution Protocol) is an extension of LDP (Label Distribution Protocol) to accommodate multicast services. However, related technologies do not address the load balancing problem when there are multiple equal-cost paths between the root node and leaf nodes.

[0005] Summary of the Invention

[0006] The main purpose of this application is to provide a multicast load sharing method, network device and readable storage medium for a label network, aiming to solve the current technical problem that it is difficult to achieve load sharing when there are multiple equal-cost paths between the root node and the leaf nodes.

[0007] To achieve the above-mentioned objectives, the present application provides a multicast load sharing method for a labeled network, comprising: in response to a multipoint forwarding equivalence class corresponding to a target multicast service, obtaining an upstream node of a current node corresponding to the target multicast service by searching a route on a root node; the multipoint forwarding equivalence class includes opaque data corresponding to the target multicast service; and when multiple equivalent upstream nodes are found, determining a target upstream node from the multiple equivalent upstream nodes based on the opaque data. BRIEF DESCRIPTION OF THE DRAWINGS

[0008] FIG1 is a schematic diagram of a point-to-multipoint label switching path in the related art;

[0009] FIG2 is a flow chart of a first embodiment of a method for multicast load sharing in a label network according to an embodiment of the present application;

[0010] FIG3 is a schematic structural diagram of a data structure of a multipoint forwarding equivalence class in an embodiment of the present application;

[0011] FIG4 is a schematic structural diagram of the data structure of opaque data in a multipoint forwarding equivalence class according to an embodiment of the present application;

[0012] FIG5 is another schematic structural diagram of the data structure of opaque data in a multipoint forwarding equivalence class according to an embodiment of the present application;

[0013] FIG6 is a schematic diagram of a point-to-multipoint label switching path in an embodiment of the present application;

[0014] FIG7 is a flow chart of a second embodiment of a method for multicast load sharing in a label network according to an embodiment of the present application;

[0015] FIG8 is a flow chart of a third embodiment of a method for multicast load sharing in a label network according to an embodiment of the present application;

[0016] FIG9 is a flow chart of a fourth embodiment of a method for multicast load sharing in a label network according to an embodiment of the present application;

[0017] FIG10 is a flow chart of a fifth embodiment of a method for multicast load sharing in a label network according to an embodiment of the present application;

[0018] FIG11 is a schematic diagram of the structure of the network device in the hardware operating environment involved in the embodiment of the present application.

[0019] The realization of the objectives, functional features and advantages of this application will be further explained in conjunction with embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION

[0020] It should be understood that the specific embodiments described herein are only used to explain the present application and are not intended to limit the present application.

[0021] In order to facilitate understanding of the problem to be solved by this application, a brief introduction to the related technology of multicast forwarding in label networks is first given.

[0022] Unlike current label distribution protocols, which establish P2P LSPs (Point-to-Point Label Switched Paths) for unicast forwarding by the source node, the P2MP LSPs (Point-to-multipoint Label Switched Paths) are triggered by a group of leaf nodes. The sender of multicast traffic serves as the root node, and the receivers of multicast traffic serve as leaf nodes. A point-to-multipoint label switching path consists of a root node, zero or one intermediate nodes, and one or more leaf nodes. Leaf nodes generate mLDP forwarding equivalent classes (FECs) based on the multicast traffic and then use mLDP Label Mapping messages to notify the intermediate nodes upstream of the root node of the labels assigned to the FECs. Upon receiving the mLDP Label Mapping messages, the intermediate nodes continue to notify the nodes upstream of the root node until the message reaches the root node.

[0023] During multicast service transmission using mLDP, leaf nodes and intermediate nodes select the optimal upstream node in the unicast route to the root node when selecting the upstream node for the multicast service. Therefore, for the same root node, the same point-to-multipoint label-switched path is established. The upstream node selection is independent of the multicast service. Even if there are multiple equal-cost paths between the leaf node and the root node (there are multiple equal-cost upstream nodes), different multicast services will only use the same path.

[0024] For example, refer to Figure 1, which is a schematic diagram of a point-to-multipoint label switching path in the related art. As shown in Figure 1, network node R1 is connected to the multicast source, and R7 and R8 are connected to the multicast receivers. A point-to-multipoint label switching path is established with R1 as the root node and R7 and R8 as leaf nodes. The cost of each link in the network topology diagram of Figure 1 is equal. There are two equal-cost paths between R7 and R1, namely R7-R3-R2-R1 and R7-R4-R2-R1. There are also two equal-cost paths between R8 and R1, namely R8-R5-R2-R1 and R8-R6-R2-R1. For example, 200 multicast services are deployed in the network, including Generic LSP IDs (the structure of opaque data is shown in Figure 4) ranging from 1 to 100 and VPN-IDs of MVPN MDTs (the structure of opaque data is shown in Figure 5): IDs ranging from 1 to 100. Based on the 200 multicast services, 200 different opaque data messages are generated. The root node address in each of the corresponding 200 multipoint forwarding equivalence classes is R1. Leaf node R7 searches for a unicast route to root node R1 and obtains two equally costly upstream nodes, R3 and R4. The unicast priority rule defaults to selecting the node with the smaller address as the actual upstream node. R7 then notifies R3 of all multicast service multipoint label mapping messages. Similarly, R8 notifies R5 of all multicast services. Intermediate nodes R3, R5, and R2 continue to notify R1 of all multipoint label mapping messages, ultimately generating 200 point-to-multipoint label switching paths. Multicast service traffic is forwarded entirely along {sub-label switching path 1: R1-R2-R3-R7, sub-label switching path 2: R1-R2-R5-R8}. Paths R2-R4-R7 and R2-R6-R8 do not forward any multicast service traffic.

[0025] Although it is possible to load-balance multicast traffic among the member interfaces of a link aggregation group by encapsulating an entropy label within the inner layer of a multipoint label distribution protocol label when R1 and R2 are connected in a link aggregation group, this does not solve the load-balancing problem when there are multiple equal-cost paths between the root node and the leaf nodes.

[0026] Based on the problems existing in the above-mentioned related technologies, the present application provides a multicast load sharing method for a label network, which can search for a route to the root node. When multiple equivalent upstream nodes are found, the target upstream node can be determined from multiple equivalent upstream nodes based on the opaque data corresponding to the target multicast service included in the multi-point forwarding equivalence class. Since the opaque data of different multicast services are different, different point-to-multipoint label switching forwarding paths can be established for different multicast services, thereby fully utilizing network resources, reducing network congestion, and achieving effective load sharing when there are multiple equivalent paths between the root node and the leaf nodes.

[0027] With reference to the accompanying drawings and application scenarios, the multicast load sharing method for a label network provided by an embodiment of the present application is described in detail.

[0028] 2 , which is a flow chart illustrating a first embodiment of a method for multicast load sharing in a label network according to an embodiment of the present application.

[0029] As shown in FIG2 , the multicast load sharing method for the label network may include:

[0030] Step S101 : In response to a multipoint forwarding equivalence class corresponding to a target multicast service, an upstream node of a current node corresponding to the target multicast service is obtained by searching a route on a root node; the multipoint forwarding equivalence class includes opaque data corresponding to the target multicast service.

[0031] Step S102 : When multiple equivalent upstream nodes are found, a target upstream node is determined from the multiple equivalent upstream nodes according to the opaque data.

[0032] In this embodiment, the current node can be a leaf node or an intermediate node. If the current node is a leaf node, it generates a multipoint forwarding equivalence class based on the target multicast service. If the current node is an intermediate node, the downstream node corresponding to the target multicast service sends a multipoint label mapping message to the current node, and the current node obtains a multipoint forwarding equivalence class based on the multipoint label mapping message. The multipoint forwarding equivalence class includes the root node information corresponding to the target multicast service.

[0033] In response to the multipoint forwarding equivalence class corresponding to the target multicast service, the current node obtains the upstream node corresponding to the target multicast service by searching the root node for a route. The current node searches the root node for a unicast route based on the root node information to obtain the upstream node corresponding to the target multicast service. If multiple equivalent upstream nodes are found, the current node determines the target upstream node from the multiple equivalent upstream nodes based on the opaque data. The current node obtains the opaque data of the target multicast service included in the multipoint forwarding equivalence class (data in the Opaque Value field in the multipoint forwarding equivalence class) and determines the target upstream node from the multiple equivalent upstream nodes based on the opaque data. For example, the current node calculates a hash value corresponding to the target multicast service based on the opaque data, and determines the target upstream node from the multiple equivalent upstream nodes based on the hash value corresponding to the target multicast service. Alternatively, the current node calculates a corresponding hash value based on the opaque data and feature information of the multiple equivalent upstream nodes, and determines the target upstream node from the multiple equivalent upstream nodes based on the corresponding hash value.

[0034] Referring to Figures 3, 4, and 5, Figure 3 is a schematic diagram of the data structure of a multipoint forwarding equivalence class in an embodiment of the present application, Figure 4 is a schematic diagram of the data structure of opaque data in a multipoint forwarding equivalence class when the multicast service type is Generic LSP ID in an embodiment of the present application, and Figure 5 is another schematic diagram of the data structure of opaque data in a multipoint forwarding equivalence class when the multicast service type is MVPN MDT in an embodiment of the present application. As shown in Figure 3, the multipoint forwarding equivalence class includes root node information (root node address information) and opaque data (Opaque Value). Leaf nodes and intermediate nodes notify the upstream node in the direction of the root node of a multipoint label mapping message.<Root,Opaque Value> Uniquely identifies a point-to-multipoint label-switched path in a label network. Figures 4 and 5 show the data structure of the opaque data entered into the Opaque Value field in Figure 3. Of course, the opaque data can also have other data structures depending on the type of multicast service.

[0035] In this embodiment, opaque data is used to determine the target upstream node among multiple equivalent upstream nodes. Since the opaque data of different multicast services are different, different point-to-multipoint label switching forwarding paths can be established for different multicast services, thereby fully utilizing network resources in multicast services to reduce network congestion and achieve effective load sharing when there are multiple equivalent paths between the root node and the leaf nodes.

[0036] Refer to FIG. 6 , which is a schematic diagram of a point-to-multipoint label switching path in an embodiment of the present application.

[0037] For example, 200 multicast services are deployed in a label network, with Generic LSP IDs ranging from 1 to 100 and VPN-IDs for MVPN MDTs ranging from 1 to 100. Based on the 200 multicast services, 200 different opaque data messages are generated, and the root node address information in the corresponding 200 multipoint forwarding equivalence classes is R1. Leaf node R7 searches for unicast routes for root node R1 and obtains two equivalent upstream nodes, R3 and R4. Leaf node R7 selects the target upstream node for each multicast service from upstream nodes R3 and R4 based on the opaque data information of each multicast service and notifies the upstream node of a multipoint label mapping message. Similarly, leaf node R8 searches for unicast routes for root node R1 and obtains two equivalent upstream nodes, R5 and R6. Leaf node R8 selects the target upstream node for each multicast service from upstream nodes R5 and R6 based on the opaque data information of each multicast service and notifies the upstream node of a multipoint label mapping message. Intermediate node R23 receives the multipoint label mapping message from R3, R4, R5, and R6. It searches for a unicast route to root node R1 and obtains two equally costly upstream nodes, R21 and R22. Based on the opaque data information for each multicast service, R23 selects the target upstream node for that multicast service from among these nodes. This allows for the establishment of distinct point-to-multipoint label switching forwarding paths for different multicast services, effectively utilizing network resources and reducing congestion. Effective load balancing is achieved when multiple equally cost paths exist between the root node and leaf nodes.

[0038] In one possible implementation, the current node is a leaf node. Before step S101, the multicast load sharing method for the label network further includes:

[0039] Step S103: Generate the multipoint forwarding equivalence class according to the target multicast service, where the multipoint forwarding equivalence class includes root node information corresponding to the target multicast service.

[0040] In this embodiment, when the current node is a leaf node, the current node generates a multipoint forwarding equivalence class based on the target multicast service. The multipoint forwarding equivalence class includes the root node information corresponding to the target multicast service and the opaque data corresponding to the target multicast service. The route is searched based on the root node information, and when multiple equivalent upstream nodes are found, the target upstream node is determined from the multiple equivalent upstream nodes based on the opaque data.

[0041] In another possible implementation, the current node is an intermediate node. Before step S101, the multicast load sharing method for the label network further includes:

[0042] Step S104: Receive a multipoint label mapping message, where the multipoint label mapping message is sent by a downstream node of the current node corresponding to the target multicast service, and the multipoint label mapping message includes a multipoint forwarding equivalence class corresponding to the target multicast service.

[0043] Step S105: Parse the multipoint label mapping message to obtain the multipoint forwarding equivalence class, where the multipoint forwarding equivalence class includes the root node information corresponding to the target multicast service.

[0044] In this embodiment, when the current node corresponds to the downstream node of the target multicast service and determines that the current node is the target upstream node, the downstream node sends a multipoint label mapping message, which includes the multipoint forwarding equivalence class corresponding to the target multicast service, and the current node receives the multipoint label mapping message.

[0045] Next, the current node parses the multi-point label mapping message to obtain a multi-point forwarding equivalence class, which includes the root node information corresponding to the target multicast service. The current node searches for the unicast route based on the root node information, and when multiple equivalent upstream nodes are found, the current node determines the target upstream node among the multiple equivalent upstream nodes based on the opaque data.

[0046] The multicast load sharing method for a label network proposed in this embodiment obtains the upstream node of the current node corresponding to the target multicast service by searching for a route on a root node in response to a multipoint forwarding equivalence class corresponding to the target multicast service; the multipoint forwarding equivalence class includes opaque data corresponding to the target multicast service; then, when multiple equivalent upstream nodes are found, the target upstream node is determined from the multiple equivalent upstream nodes based on the opaque data, and different point-to-multipoint label switching forwarding paths can be established for different multicast services, thereby fully utilizing network resources in the multicast service and reducing network congestion. In the case where multiple equivalent paths exist between the root node and leaf nodes, effective load sharing is achieved.

[0047] Based on the first embodiment, a second embodiment of the multicast load sharing method for a label network of the present application is proposed. Referring to FIG. 7 , in this embodiment, step S102 includes:

[0048] Step S201: Calculate a hash value corresponding to the target multicast service according to the opaque data.

[0049] Step S202: Determine the target upstream node from the multiple equivalent upstream nodes according to the hash value corresponding to the target multicast service.

[0050] In this embodiment, when multiple equivalent upstream nodes are found, the current node obtains the opaque data of the target multicast service included in the multipoint forwarding equivalence class (the data of the Opaque Value field in the multipoint forwarding equivalence class), and calculates the hash value corresponding to the target multicast service based on the opaque data. For example, the current node uses a relevant hash algorithm to calculate the hash value corresponding to the target multicast service based on the opaque data.

[0051] Then, based on the hash value corresponding to the target multicast service, the target upstream node is determined among multiple equivalent upstream nodes. For example, a preset hash value range corresponding to each upstream node can be set in advance, and the preset hash value range corresponding to each upstream node is different. After obtaining the hash value corresponding to the target multicast service, among multiple equivalent upstream nodes, the upstream node corresponding to the preset hash value range to which the hash value corresponding to the target multicast service belongs is used as the target upstream node.

[0052] The multicast load sharing method for a label network proposed in this embodiment calculates a hash value corresponding to the target multicast service based on the opaque data; then, based on the hash value corresponding to the target multicast service, determines a target upstream node from multiple equivalent upstream nodes. The target upstream node can be accurately determined based on the hash value corresponding to the target multicast service, and different point-to-multipoint label switching forwarding paths can be established for different multicast services, thereby fully utilizing network resources in the multicast service to reduce network congestion and achieve effective load sharing when there are multiple equivalent paths between the root node and the leaf nodes.

[0053] Based on the first embodiment, a third embodiment of the multicast load sharing method for a label network of the present application is proposed. Referring to FIG. 8 , in this embodiment, step S102 includes:

[0054] Step S301: Calculate a hash value corresponding to the target multicast service according to the opaque data and a preset mask.

[0055] Step S302: Determine the target upstream node from the multiple equivalent upstream nodes according to the hash value corresponding to the target multicast service.

[0056] In this embodiment, when multiple equivalent upstream nodes are found, the current node obtains the opaque data of the target multicast service included in the multipoint forwarding equivalence class (the data of the Opaque Value field in the multipoint forwarding equivalence class), obtains a preset mask, and calculates the hash value corresponding to the target multicast service based on the opaque data and the preset mask. For example, the current node uses a related hash algorithm to calculate the hash value corresponding to the target multicast service based on the opaque data and the preset mask. The preset mask can be a hash mask, which can be used to control the granularity of load sharing. For example, the mask length can be set to 1 byte, in which case the type field of the target multicast service in the opaque data participates in the hash calculation, that is, load sharing is performed according to the type of the target multicast service; the mask length can also be set to the full length, in which case all fields of the opaque data will participate in the hash calculation, that is, load sharing is performed according to each multicast service.

[0057] Then, based on the hash value corresponding to the target multicast service, the target upstream node is determined among multiple equivalent upstream nodes. For example, a preset hash value range corresponding to each upstream node can be set in advance, and the preset hash value range corresponding to each upstream node is different. After obtaining the hash value corresponding to the target multicast service, the upstream node corresponding to the preset hash value range to which the hash value corresponding to the target multicast service belongs among multiple equivalent upstream nodes is used as the target upstream node.

[0058] The multicast load sharing method for a label network proposed in this embodiment calculates a hash value corresponding to a target multicast service based on opaque data and a preset mask; then, based on the hash value corresponding to the target multicast service, determines a target upstream node from multiple equivalent upstream nodes. The target upstream node can be accurately determined based on the hash value corresponding to the target multicast service, and different point-to-multipoint label switching forwarding paths can be established for different multicast services, thereby fully utilizing network resources in the multicast service to reduce network congestion and achieve effective load sharing when there are multiple equivalent paths between the root node and the leaf nodes.

[0059] Based on the first embodiment, a fourth embodiment of the multicast load sharing method for a label network of the present application is proposed. In this embodiment, step S102 includes:

[0060] Step S401 : determining the target upstream node from the multiple equivalent upstream nodes according to the opaque data and feature information of each equivalent upstream node.

[0061] In this embodiment, when multiple equivalent upstream nodes are found, the current node obtains the opaque data of the target multicast service included in the multi-point forwarding equivalence class, as well as the characteristic information of multiple equivalent upstream nodes, where the characteristic information of the upstream node is the identification information of the upstream node or the interface address information of the upstream node.

[0062] Next, based on the opaque data and the characteristic information of multiple equivalent upstream nodes, the target upstream node is determined among the multiple equivalent upstream nodes. For example, the hash value of each equivalent upstream node on the target multicast service is calculated based on the opaque data and the characteristic information of the upstream nodes, and the target upstream node is determined among the multiple equivalent upstream nodes based on the hash values ​​corresponding to the multiple equivalent upstream nodes.

[0063] In one possible implementation, referring to FIG. 9 , step S401 includes:

[0064] Step S4011 : Calculate a hash value corresponding to each equivalent upstream node based on the opaque data and feature information of each equivalent upstream node.

[0065] Step S4012: Determine the target upstream node from the multiple equivalent upstream nodes according to the hash value corresponding to each equivalent upstream node.

[0066] In this embodiment, when characteristic information of multiple equivalent upstream nodes is obtained, the hash value corresponding to each equivalent upstream node is calculated based on the opaque data and the characteristic information of each equivalent upstream node. An exemplary hash value calculation formula can be: Value(OV,M,R(i))=(1103515245*((1103515245*(OV&M)+12345)XOR R(i))+12345)mod 2^31, where Value(OV,M,R(i)) is the hash value corresponding to the upstream node, OV is the opaque data of the target multicast service, M is a preset mask, M is the full length in this formula, and R(i) is the characteristic information corresponding to the upstream node.

[0067] Next, according to the hash value corresponding to each equivalent upstream node, a target upstream node of the multicast service is determined from multiple equivalent upstream nodes. In one possible implementation, step S4012 includes:

[0068] Step S4121: According to the hash values ​​corresponding to each of the equivalent upstream nodes, determine the upstream node corresponding to the maximum hash value as the target upstream node.

[0069] Alternatively, in step S4122, based on the hash values ​​corresponding to each of the equivalent upstream nodes, the upstream node corresponding to the minimum hash value is determined as the target upstream node.

[0070] In this embodiment, in response to the hash values ​​corresponding to multiple equivalent upstream nodes obtained, the maximum hash value among the hash values ​​corresponding to the upstream nodes is determined, and the upstream node corresponding to the maximum hash value is determined as the target upstream node, or, in response to the hash values ​​corresponding to multiple equivalent upstream nodes obtained, the minimum hash value among the hash values ​​corresponding to the upstream nodes is determined, and the upstream node corresponding to the minimum hash value is determined as the target upstream node, so as to accurately determine the target upstream node according to the maximum hash value or the minimum hash value, and then establish different point-to-multipoint label switching forwarding paths for different multicast services, thereby achieving effective load sharing.

[0071] The multicast load sharing method for a label network proposed in this embodiment determines the target upstream node from multiple equivalent upstream nodes based on the opaque data and the characteristic information of each equivalent upstream node. It can accurately determine the target upstream node based on the opaque data and the characteristic information, and then establish different point-to-multipoint label switching forwarding paths for different multicast services, thereby fully utilizing network resources in multicast services to reduce network congestion, and achieving effective load sharing when there are multiple equivalent paths between the root node and the leaf nodes.

[0072] Based on the first embodiment, a fifth embodiment of the multicast load sharing method for a label network of the present application is proposed. Referring to FIG. 10 , in this embodiment, step S102 includes:

[0073] Step S501 : Calculate a hash value corresponding to each equivalent upstream node according to the opaque data, a preset mask, and feature information of each equivalent upstream node.

[0074] Step S502 : determining the target upstream node from the multiple equivalent upstream nodes according to the hash value corresponding to each equivalent upstream node.

[0075] In this embodiment, when multiple equivalent upstream nodes are found, the current node obtains the opaque data of the target multicast service included in the multi-point forwarding equivalence class, a preset mask and the characteristic information of each equivalent upstream node, wherein the characteristic information of the upstream node is the identification information of the upstream node or the interface address information of the upstream node.

[0076] Next, the hash values ​​corresponding to multiple equivalent upstream nodes are calculated based on the opaque data, the preset mask and the characteristic information of each equivalent upstream node. An exemplary hash value calculation formula can be: Value(OV,M,R(i))=(1103515245*((1103515245*(OV&M)+12345)XOR R(i))+12345)mod 2^31, where Value(OV,M,R(i)) is the hash value corresponding to the upstream node, OV is the opaque data of the target multicast service, M is the preset mask, and R(i) is the characteristic information corresponding to the upstream node. The preset mask can be a hash mask, which can be used to control the granularity of load sharing. For example, the mask length can be set to 1 byte. At this time, the type field of the target multicast service in the opaque data participates in the hash calculation, that is, load sharing is performed according to the type of the target multicast service; the mask length can also be set to the full length. Referring to the fourth embodiment, all fields of the opaque data will participate in the hash calculation, that is, load sharing is performed according to each multicast service.

[0077] Next, according to the hash value corresponding to each equivalent upstream node, a target upstream node of the multicast service is determined from multiple equivalent upstream nodes. In one possible implementation, step S502 includes:

[0078] Step S5021: According to the hash values ​​corresponding to each of the equivalent upstream nodes, determine the upstream node corresponding to the maximum hash value as the target upstream node.

[0079] Alternatively, in step S5022, based on the hash values ​​corresponding to each of the equivalent upstream nodes, the upstream node corresponding to the minimum hash value is determined as the target upstream node.

[0080] In this embodiment, in response to the hash values ​​corresponding to multiple equivalent upstream nodes obtained, the maximum hash value among the hash values ​​corresponding to the upstream nodes is determined, and the upstream node corresponding to the maximum hash value is determined as the target upstream node, or, in response to the hash values ​​corresponding to multiple equivalent upstream nodes obtained, the minimum hash value among the hash values ​​corresponding to the upstream nodes is determined, and the upstream node corresponding to the minimum hash value is determined as the target upstream node, so as to accurately determine the target upstream node according to the maximum hash value or the minimum hash value, and then establish different point-to-multipoint label switching forwarding paths for different multicast services, thereby achieving effective load sharing.

[0081] The multicast load sharing method for a label network proposed in this embodiment calculates the hash value corresponding to each equivalent upstream node based on opaque data, a preset mask, and characteristic information of each equivalent upstream node; then, based on the hash value corresponding to each equivalent upstream node, the target upstream node is determined from multiple equivalent upstream nodes; the hash value corresponding to the upstream node is calculated based on the opaque data, the preset mask, and characteristic information; the target upstream node is accurately determined based on the hash value corresponding to the upstream node; and different point-to-multipoint label switching forwarding paths are established for different multicast services, thereby fully utilizing network resources in multicast services to reduce network congestion, and achieving effective load sharing when there are multiple equivalent paths between the root node and the leaf nodes.

[0082] As shown in FIG11 , FIG11 is a schematic diagram of the structure of the network device in the hardware operating environment involved in the embodiment of the present application.

[0083] The terminal of the embodiment of the present application may be a network device. As shown in Figure 11, the network device may include: a processor 1001, such as a CPU, a network interface 1004, a user interface 1003, a memory 1005, and a communication bus 1002. Among them, the communication bus 1002 is used to realize the connection and communication between these components. The user interface 1003 may include a display screen (Display), an input unit such as a keyboard (Keyboard), and the user interface 1003 may also include a standard wired interface and a wireless interface. The network interface 1004 may include a standard wired interface and a wireless interface (such as a WI-FI interface). The memory 1005 may be a high-speed RAM memory, or a stable memory (non-volatile memory), such as a disk memory. The memory 1005 may also be a storage device independent of the aforementioned processor 1001.

[0084] In one embodiment, the network device may further include a camera, an RF (Radio Frequency) circuit, a sensor, an audio circuit, a WiFi module, and the like.

[0085] Those skilled in the art will understand that the terminal structure shown in FIG11 does not constitute a limitation on the network device, and may include more or fewer components than shown in the figure, or a combination of certain components, or a different arrangement of components.

[0086] As shown in FIG. 11 , the memory 1005 as a computer storage medium may include an operating system, a network communication module, a user interface module, and a multicast load sharing program for a label network.

[0087] In the network device shown in Figure 11, the network interface 1004 is mainly used to connect to the background server and communicate data with the background server; the user interface 1003 is mainly used to connect to the client (user end) and communicate data with the client; and the processor 1001 can be used to call the multicast load sharing program of the label network stored in the memory 1005.

[0088] In this embodiment, the network device includes: a memory 1005, a processor 1001, and a multicast load sharing program for a label network stored on the memory 1005 and executable on the processor 1001, wherein the processor 1001 calls the multicast load sharing program for the label network stored in the memory 1005 and executes the steps of the multicast load sharing method for the label network in each of the above embodiments.

[0089] In addition, an embodiment of the present application also proposes a computer-readable storage medium, on which a multicast load sharing program for a label network is stored. When the multicast load sharing program for a label network is executed by a processor, the steps of the multicast load sharing method for a label network as described above are implemented.

[0090] In addition, the present application also proposes a multicast load sharing device for a label network, the multicast load sharing device for the label network comprising:

[0091] a search module configured to obtain an upstream node of a current node corresponding to a multipoint forwarding equivalence class corresponding to a target multicast service by searching a route on a root node in response to a multipoint forwarding equivalence class corresponding to the target multicast service; the multipoint forwarding equivalence class including opaque data corresponding to the target multicast service;

[0092] A determination module is configured to determine a target upstream node from among the multiple equivalent upstream nodes based on the opaque data when multiple equivalent upstream nodes are found.

[0093] The methods executed by the above-mentioned program units can refer to the various embodiments of the multicast load sharing method for the label network of the present application, and will not be repeated here.

[0094] As used herein, the terms "comprises," "comprising," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, article, or system that includes a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or system. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not preclude the presence of additional identical elements in the process, method, article, or system that includes the element.

[0095] The serial numbers of the above embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.

[0096] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus the necessary general hardware platform, and of course can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) as described above, and includes a number of instructions for enabling a terminal device (which can be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in each embodiment of the present application.

[0097] The above are merely optional embodiments of the present application and do not limit the patent scope of the present application. Any equivalent structure or equivalent process transformation made using the contents of the present application specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present application.

Claims

1. A multicast load sharing method for a label network, wherein: The method comprises: In response to a multipoint forwarding equivalence class corresponding to a target multicast service, an upstream node of a current node corresponding to the target multicast service is obtained by searching a route for a root node; the multipoint forwarding equivalence class includes opaque data corresponding to the target multicast service; In the case where a plurality of equivalent upstream nodes are found, a target upstream node is determined from the plurality of equivalent upstream nodes according to the opaque data.

2. The multicast load sharing method for a label network as claimed in claim 1, wherein: Determining a target upstream node from among the plurality of equivalent upstream nodes according to the opaque data includes: Calculate a hash value corresponding to the target multicast service according to the opaque data; The target upstream node is determined from the multiple equivalent upstream nodes according to the hash value corresponding to the target multicast service.

3. The multicast load sharing method for a label network as claimed in claim 1, wherein: Determining a target upstream node from among the plurality of equivalent upstream nodes according to the opaque data includes: Calculating a hash value corresponding to the target multicast service according to the opaque data and a preset mask; The target upstream node is determined from the multiple equivalent upstream nodes according to the hash value corresponding to the target multicast service.

4. The multicast load sharing method for a label network as claimed in claim 1, wherein: Determining a target upstream node from among the plurality of equivalent upstream nodes according to the opaque data includes: The target upstream node is determined from among the multiple equivalent upstream nodes according to the opaque data and the characteristic information of each equivalent upstream node.

5. The multicast load sharing method for a label network as claimed in claim 4, wherein: The step of determining the target upstream node from the plurality of equivalent upstream nodes according to the opaque data and the characteristic information of each equivalent upstream node includes: Calculate a hash value corresponding to each equivalent upstream node according to the opaque data and feature information of each equivalent upstream node; The target upstream node is determined from the multiple equivalent upstream nodes according to the hash value corresponding to each equivalent upstream node.

6. The multicast load sharing method for a label network as claimed in claim 1, wherein: Determining a target upstream node from among the plurality of equivalent upstream nodes according to the opaque data includes: Calculate a hash value corresponding to each equivalent upstream node according to the opaque data, the preset mask and the feature information of each equivalent upstream node; The target upstream node is determined from the multiple equivalent upstream nodes according to the hash value corresponding to each equivalent upstream node.

7. The multicast load sharing method for a label network according to any one of claims 5 to 6, wherein: The step of determining a target upstream node from the plurality of equivalent upstream nodes according to a hash value corresponding to each of the equivalent upstream nodes includes: According to the hash values ​​corresponding to each of the equivalent upstream nodes, determining the upstream node corresponding to the maximum hash value as the target upstream node; or, According to the hash values ​​corresponding to each of the equivalent upstream nodes, the upstream node corresponding to the minimum hash value is determined as the target upstream node.

8. The multicast load sharing method for a label network according to any one of claims 4 to 7, wherein: The characteristic information of the upstream node is identification information of the upstream node or interface address information of the upstream node.

9. The multicast load sharing method for a label network as claimed in claim 1, wherein: The current node is a leaf node, and before the upstream node of the current node corresponding to the target multicast service is obtained by searching the route of the root node, the method further includes: The multipoint forwarding equivalence class is generated according to the target multicast service, and the multipoint forwarding equivalence class includes root node information corresponding to the target multicast service.

10. The multicast load sharing method for a label network according to claim 1, wherein: The current node is an intermediate node, and before the upstream node of the current node corresponding to the target multicast service is obtained by searching the route of the root node, the method further includes: Receiving a multipoint label mapping message, the multipoint label mapping message is sent by a downstream node of the current node corresponding to the target multicast service, the multipoint label mapping message includes a multipoint forwarding equivalence class corresponding to the target multicast service; The multipoint label mapping message is parsed to obtain the multipoint forwarding equivalence class, where the multipoint forwarding equivalence class includes the root node information corresponding to the target multicast service.

11. A network device, wherein: The network device includes: a memory, a processor, and a multicast load sharing program for a label network stored in the memory and executable on the processor. When the multicast load sharing program for the label network is executed by the processor, the steps of the multicast load sharing method for a label network as described in any one of claims 1 to 10 are implemented.

12. A computer-readable storage medium, wherein: The computer-readable storage medium stores a multicast load sharing program for a label network, and when the multicast load sharing program for a label network is executed by a processor, the steps of the multicast load sharing method for a label network as described in any one of claims 1 to 10 are implemented.

Citation Information

Patent Citations

  • Method for transmitting multi cast data in shared network

    CN101075842A

  • Message sending method and device, electronic equipment and storage medium

    CN110995609A

  • Leaf node discovery for multicast trees

    US20190386881A1

  • Point to multi-point label switched paths with label distribution protocol

    US7564803B1

  • Method and apparatus for enabling a scalable multicast virtual private network service across a multicast label distribution protocol network using in-band signaling

    WO2018193285A1