Load sharing method, root node device, leaf node device and system

By introducing a load sharing method into the communication network of multiple root node devices, the fault problem caused by excessive load of root node devices in the prior art is solved, load sharing and load balancing of multicast traffic is realized, and the reliability and stability of the system are improved.

JP7654794B2Active Publication Date: 2025-04-01HUAWEI TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2023537695
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-01-27
Filing Date
2021-12-14
Publication Date
2025-04-01
Estimated Expiration
2041-12-14

AI Technical Summary

Technical Problem

In the prior art, when multiple root node devices process multicast traffic, the active device is overloaded and prone to failure, resulting in the backup device failing to effectively share the load, resulting in load imbalance and equipment failure.

Method used

By introducing a load sharing method in the communication network, the root node device group includes at least two root node devices. The leaf node device sends a message to the root node device, including identifiers and configuration information, to determine the load sharing configuration result and determine its primary and secondary routing role in the leaf node device.

Benefits of technology

It realizes load sharing of multicast traffic, avoids failures caused by excessive load of a single device, ensures balanced distribution of loads, and improves system reliability and stability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007654794000001
    Figure 0007654794000001
  • Figure 0007654794000002
    Figure 0007654794000002
  • Figure 0007654794000003
    Figure 0007654794000003
Patent Text Reader

Abstract

The present application provides a load sharing method, a root node device, a leaf node device, and a system. The method includes: a first root node device receives a message sent by a leaf node device, the message including a first identifier and configuration information. The first identifier indicates the leaf node device. The configuration information indicates a configuration mode requested by the leaf node device of load sharing from the root node device group to the leaf node device. The root node device group includes a first root node device. The first root node device determines a configuration result of load sharing from the first root node device to the leaf node device based on the first identifier and the configuration information. In response to the configuration result being the first result, the first root node device determines that the first root node device is a primary root of the leaf node device. Alternatively, in response to the configuration result being the second result, the first root node device determines that the first root node device is a secondary root of the leaf node device. The method may implement load sharing of multicast traffic.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] This application claims priority to Chinese Patent Application No. CN 202011519565.2, entitled "METHOD, DEVICE, AND SYSTEM FOR MULTICAST REDUNDANCY PROTECTION," filed with the State Intellectual Property Office of China on December 21, 2020, and Chinese Patent Application No. CN 202110108665.4, entitled "LOAD SHARING METHOD, ROOT NODE DEVICE, LEAF NODE DEVICE, AND SYSTEM," filed with the State Intellectual Property Office of China on January 27, 2021, both of which are incorporated by reference in their entireties herein.

[0002] The present application relates to the field of network communications, and more particularly to a load sharing method, a root node device, a leaf node device, and a system. [Background technology]

[0003] Multicast is a data transmission mode in which data is efficiently sent simultaneously to multiple receivers in a transmission control protocol (TCP) / internet protocol (IP) network by using a single multicast address.

[0004] The multicast application scenario includes multiple root node devices. In the related technical solution, one of the multiple root node devices acts as an active device and is responsible for sending multicast traffic to the leaf node devices. Another device other than the active device acts as a standby device for the leaf node devices. When the active device works properly, the other standby device does not send multicast traffic to the leaf node devices. In the related technical solution, the active device in the multiple root node devices may fail due to a large load. Summary of the Invention [Means for solving the problem]

[0005] The present application provides a load sharing method, a first root node device, a leaf node device, and a load sharing system for implementing load sharing of multicast traffic.

[0006] According to a first aspect, a load sharing method is provided, the method being applied to a communication network. The communication network includes a multicast source device, a root node device group, and a leaf node device. The multicast source device is configured to transmit multicast traffic to the leaf node device via the root node device group. The root node device group includes at least two root node devices. The method includes: a first root node device receives a message sent by the leaf node device, the message including a first identifier and configuration information. The first identifier indicates the leaf node device. The configuration information indicates a configuration mode, requested by the leaf node device, of load sharing from the root node device group to the leaf node device. The root node device group includes a first root node device. The first root node device determines a configuration result of load sharing from the first root node device to the leaf node device based on the first identifier and the configuration information. In response to the configuration result being a first result, the first root node device determines that the first root node device is a primary root for the leaf node device, the primary root indicating that the first root node device is a designated forwarder DF that forwards the multicast traffic to the leaf node device, or in response to the configuration result being a second result, the first root node device determines that the first root node device is a secondary root for the leaf node device, the secondary root indicating that the first root node device is a non-designated forwarder non-DF that forwards the multicast traffic to the leaf node device.

[0007] With regard to the first aspect, in some implementation forms of the first aspect, the configuration information includes first indication information, and the first indication information indicates that the first root node device is a primary root for the leaf node devices.

[0008] With regard to the first aspect, in some implementation forms of the first aspect, the configuration information includes second indication information, and the second indication information indicates that the first root node device is a secondary root of the leaf node device.

[0009] With regard to the first aspect, in some implementation forms of the first aspect, the configuration information includes third instruction information, and the third instruction information indicates information regarding a candidate root node device that serves as a primary root for the leaf node device.

[0010] With regard to the first aspect, in some implementations of the first aspect, the candidate root node devices include a first root node device, and the first root node device performs a hash calculation on the first identifier and the configuration information to obtain a configuration result.

[0011] With regard to the first aspect, in some implementation forms of the first aspect, the message further includes a multicast source group (S, G), the candidate root node devices include a first root node device, and the first root node device performs a hash calculation on the multicast source group (S, G), the first identifier, and the configuration information to obtain a configuration result.

[0012] With respect to the first aspect, in some implementations of the first aspect, the method further includes receiving, by the first root node device, the multicast traffic. In response to the first root node device being a primary root for the leaf node device, the first root node device transmits the multicast traffic to the leaf node device.

[0013] Regarding the first aspect, in some implementations of the first aspect, the communication network is a multicast virtual private network MVPN.

[0014] According to a second aspect, a load sharing method is provided, the method being applied to a communication network, the communication network including a multicast source device, a root node device group, and a leaf node device. The multicast source device is configured to transmit multicast traffic to the leaf node device via the root node device group. The root node device group includes at least two root node devices. The method includes the leaf node device generating a message, the message including a first identifier and configuration information. The first identifier indicates the leaf node device. The configuration information indicates a configuration mode, requested by the leaf node device, of load sharing from the root node device group to the leaf node device. The leaf node device transmits the message to a first root node device. The root node device group includes the first root node device.

[0015] With regard to the second aspect, in some implementation forms of the second aspect, the configuration information includes first instruction information, the first instruction information indicating that the first root node device is a primary root for the leaf node devices, and the primary root indicating that the first root node device is a designated forwarder DF that forwards multicast traffic to the leaf node devices.

[0016] With regard to the second aspect, in some implementation forms of the second aspect, the configuration information includes second instruction information, the second instruction information indicating that the first root node device is a secondary root of the leaf node device, and the secondary root indicating that the first root node device is an undesignated forwarder non-DF that forwards multicast traffic to the leaf node device.

[0017] With regard to the second aspect, in some implementation forms of the second aspect, the configuration information includes third instruction information, and the third instruction information indicates information regarding a candidate root node device that serves as a primary root for the leaf node device.

[0018] Regarding the second aspect, in some implementations of the second aspect, the first root node device is a primary root of the leaf node devices. The method further includes the leaf node device receiving the multicast traffic transmitted by the first root node device.

[0019] Regarding the second aspect, in some implementations of the second aspect, the communication network is a multicast virtual private network MVPN.

[0020] According to a third aspect, a load sharing method is provided, the method being applied to a communication network. The communication network includes a multicast source device, a root node device group, a first leaf node device, and a second leaf node device. The multicast source device is configured to transmit multicast traffic to the first leaf node device and the second leaf node device via the root node device group. The root node device group includes a first root node device and a second root node device. The method includes the first root node device receiving the multicast traffic, the root node device group including the first root node device. In response to the first root node device being the primary root of the first leaf node device, the first root node device transmits the multicast traffic to the first leaf node device. The first root node device being the primary root for the first leaf node device indicates that the first root node device is a designated forwarder DF that forwards the multicast traffic to the first leaf node device. The second root node device receives the multicast traffic, and the root node device group includes the second root node device. In response to the second root node device being the primary root for the second leaf node device, the second root node device transmits the multicast traffic to the second leaf node device. The second root node device being the primary root for the second leaf node device indicates that the second root node device is a designated forwarder DF that forwards the multicast traffic to the second leaf node device.

[0021] Regarding the third aspect, in some implementations of the third aspect, the method further includes: a first root node device receiving a first message sent by a first leaf node device, the first message including a first identifier and first configuration information. The first identifier indicates the first leaf node device. The first configuration information indicates a configuration mode requested by the first leaf node device of load sharing from the root node device group to the first leaf node device. The first root node determines a configuration result of the first load sharing from the first root node device to the first leaf node device based on the first identifier and the first configuration information. In response to the configuration result of the first load sharing being the first result, the first root node device determines that the first root node device is a primary root of the first leaf node device.

[0022] With regard to the third aspect, in some implementation forms of the third aspect, the configuration information includes first indication information, and the first indication information indicates that the first root node device is a primary root for the first leaf node device.

[0023] With regard to the third aspect, in some implementation forms of the third aspect, the first configuration information includes second instruction information, and the second instruction information indicates information regarding a first candidate root node device that serves as a primary root for the first leaf node device.

[0024] With regard to the third aspect, in some implementation forms of the third aspect, the first candidate root node device includes a first root node device, and the first root node device performs a hash calculation on the first identifier and the first configuration information to obtain a first load sharing configuration result.

[0025] With regard to the third aspect, in some implementation forms of the third aspect, the first message further includes a multicast source group (S, G), the first candidate root node device includes a first root node device, and the first root node device performs a hash calculation on the multicast source group (S, G), the first identifier, and the configuration information to obtain a first load sharing configuration result.

[0026] With regard to the third aspect, in some implementations of the third aspect, the method includes: a second root node device receiving a second message transmitted by a second leaf node device, the second message including a second identifier and second configuration information. The second identifier indicates the second leaf node device. The second configuration information indicates a configuration mode requested by the second leaf node device of load sharing from the root node device group to the second leaf node device. The second root node device determines a configuration result of second load sharing from the second root node device to the second leaf node device based on the second identifier and the second configuration information. In response to the configuration result of the second load sharing being the second result, the second root node device determines that the second root node device is a primary root of the second leaf node device.

[0027] With regard to the third aspect, in some implementation forms of the third aspect, the second configuration information includes third indication information, and the third indication information indicates that the second root node device is a primary root for the second leaf node device.

[0028] With regard to the third aspect, in some implementation forms of the third aspect, the second configuration information includes fourth instruction information, and the fourth instruction information indicates information regarding a second candidate root node device that serves as a primary root for the second leaf node device.

[0029] With regard to the third aspect, in some implementation forms of the third aspect, the second candidate root node device includes a second root node device, and the second root node device performs a hash calculation on the second identifier and the second configuration information to obtain a second load sharing configuration result.

[0030] With regard to the third aspect, in some implementation forms of the third aspect, the second message further includes a multicast source group (S, G), the second candidate root node device includes a second root node device, and the second root node device performs a hash calculation on the multicast source group (S, G), the second identifier, and the second configuration information to obtain a second load sharing configuration result.

[0031] Regarding the third aspect, in some implementations of the third aspect, the communication network is a multicast virtual private network MVPN.

[0032] According to a fourth aspect, a first root node device is provided, the first root node device being applied to a communication network. The communication network includes a multicast source device, a root node device group, and leaf node devices. The multicast source device is configured to transmit multicast traffic to the leaf node devices via the root node device group. The root node device group includes at least two root node devices including the first root node device. The first root node device includes a receiving module configured to receive a message sent by a leaf node device, the message including a first identifier and configuration information, the first identifier indicating a leaf node device, the configuration information indicating a configuration mode requested by the leaf node device of load sharing from the root node device group to the leaf node devices, the root node device group including the first root node device; and a determining module configured to determine a configuration result of load sharing from the first root node device to the leaf node devices based on the first identifier and the configuration information, the determining module determining that the configuration result is a first and a determination module further configured to determine, in response to the configuration result being a first result, that the first root node device is a primary root for the leaf node devices, the primary root indicating that the first root node device is a designated forwarder DF that forwards multicast traffic to the leaf node devices, or, in response to the configuration result being a second result, that the first root node device is a secondary root for the leaf node devices, the secondary root indicating that the first root node device is an undesignated forwarder non-DF that forwards multicast traffic to the leaf node devices.

[0033] With regard to the fourth aspect, in some implementation forms of the fourth aspect, the configuration information includes first indication information, the first indication information indicating that the first root node device is a primary root for the leaf node devices.

[0034] With regard to the fourth aspect, in some implementation forms of the fourth aspect, the configuration information includes second indication information, and the second indication information indicates that the first root node device is a secondary root of the leaf node device.

[0035] With regard to the fourth aspect, in some implementation forms of the fourth aspect, the configuration information includes third instruction information, and the third instruction information indicates information regarding a candidate root node device that serves as a primary root for the leaf node device.

[0036] With regard to the fourth aspect, in some implementations of the fourth aspect, the candidate root node device includes a first root node device, and the determination module is further configured to perform a hash calculation on the first identifier and the configuration information to obtain a configuration result.

[0037] With regard to the fourth aspect, in some implementation forms of the fourth aspect, the message further includes a multicast source group (S, G), the candidate root node device includes a first root node device, and the determination module is further configured to perform a hash calculation on the multicast source group (S, G), the first identifier, and the configuration information to obtain a configuration result.

[0038] With regard to the fourth aspect, in some implementations of the fourth aspect, the receiving module is configured to receive the multicast traffic, and the first root node device further includes a transmitting module configured to transmit the multicast traffic to the leaf node device in response to the first root node device being a primary root for the leaf node device.

[0039] Regarding the fourth aspect, in some implementations of the fourth aspect, the communication network is a multicast virtual private network MVPN.

[0040] According to a fifth aspect, a leaf node device is provided, the leaf node device being applied to a communication network. The communication network includes a multicast source device, a root node device group, and a leaf node device. The multicast source device is configured to transmit multicast traffic to the leaf node device via the root node device group. The root node device group includes at least two root node devices. The leaf node device includes a generating module configured to generate a message, the message including a first identifier and configuration information, the first identifier indicating a leaf node device, and the configuration information indicating a configuration mode requested by the leaf node device of load sharing from the root node device group to the leaf node device, and a transmitting module configured to transmit the message to a first root node device, the root node device group including the first root node device. With regard to the fifth aspect, in some implementation forms of the fifth aspect, the configuration information includes first instruction information, the first instruction information indicating that the first root node device is a primary root for the leaf node devices, and the primary root indicating that the first root node device is a designated forwarder DF that forwards multicast traffic to the leaf node devices.

[0041] With regard to the fifth aspect, in some implementation forms of the fifth aspect, the configuration information includes second instruction information, the second instruction information indicating that the first root node device is a secondary root of the leaf node device, and the secondary root indicating that the first root node device is an undesignated forwarder non-DF that forwards multicast traffic to the leaf node device.

[0042] With regard to the fifth aspect, in some implementation forms of the fifth aspect, the configuration information includes third instruction information, and the third instruction information indicates information regarding a candidate root node device that serves as a primary root for the leaf node device.

[0043] With regard to the fifth aspect, in some implementations of the fifth aspect, the first root node device is a primary root for the leaf node devices, and the leaf node devices further include a receiving module configured to receive multicast traffic transmitted by the first root node device.

[0044] Regarding the fifth aspect, in some implementations of the fourth aspect, the communication network is a multicast virtual private network MVPN.

[0045] According to a sixth aspect, a load sharing system is provided, the system being applied to a communication network. The communication network includes a multicast source device, a root node device group, a first leaf node device, and a second leaf node device. The multicast source device is configured to transmit multicast traffic to the first leaf node device and the second leaf node device via the root node device group. The root node device group includes a first root node device and a second root node device. The system includes a receiving module configured to receive multicast traffic by a first root node device, where a root node device group includes the first root node device; and a transmitting module configured to, in response to the first root node device being a primary root for a first leaf node device, transmit the multicast traffic to the first leaf node device, where the first root node device being the primary root for the first leaf node device indicates that the first root node device is a designated forwarder DF that forwards the multicast traffic to the first leaf node device. and a transmitting module that indicates, by the second root node device, that the second root node device group is a primary root for the second leaf node device, wherein the receiving module is further configured to receive the multicast traffic by the second root node device, the root node device group including the second root node device, and the transmitting module is configured to, in response to the second root node device being a primary root for the second leaf node device, transmit the multicast traffic to the second leaf node device, wherein the second root node device being a primary root for the second leaf node device indicates that the second root node device is a designated forwarder DF that forwards the multicast traffic to the second leaf node device.

[0046] With regard to the sixth aspect, in some implementations of the sixth aspect, the determination module is further configured to receive, by the first root node device, a first message transmitted by the first leaf node device, the first message including a first identifier and first configuration information, the first identifier indicating the first leaf node device, and the first configuration information indicating a configuration mode requested by the first leaf node of load sharing from the root node device group to the first leaf node device. The system further includes a determination module configured to determine, by the first root node, a configuration result of the first load sharing from the first root node device to the first leaf node device based on the first identifier and the first configuration information, and the determination module is further configured to determine, in response to the first load sharing configuration result being the first result, that the first root node device is the primary root of the first leaf node device.

[0047] With regard to the sixth aspect, in some implementation forms of the sixth aspect, the configuration information includes first indication information, the first indication information indicating that the first root node device is a primary root for the first leaf node device.

[0048] With regard to the sixth aspect, in some implementation forms of the sixth aspect, the first configuration information includes second instruction information, and the second instruction information indicates information regarding a first candidate root node device that serves as a primary root for the first leaf node device.

[0049] With regard to the sixth aspect, in some implementation forms of the sixth aspect, the first candidate root node device includes a first root node device, and the determination module is further configured to perform a hash calculation on the first identifier and the first configuration information to obtain a first load sharing configuration result.

[0050] With regard to the sixth aspect, in some implementation forms of the sixth aspect, the first message further includes a multicast source group (S, G), the first candidate root node device includes a first root node device, and the determination module is further configured to perform a hash calculation on the multicast source group (S, G), the first identifier, and the first configuration information to obtain a first load sharing configuration result.

[0051] With regard to the sixth aspect, in some implementations of the sixth aspect, the receiving module is further configured to receive, by the second root node device, a second message transmitted by the second leaf node device, the second message including a second identifier and second configuration information. The second identifier indicates the second leaf node device. The second configuration information indicates a configuration mode requested by the second leaf node device of load sharing from the root node device group to the second leaf node device. The determining module is further configured to determine, by the second root node device, a configuration result of the second load sharing from the second root node device to the second leaf node device based on the second identifier and the second configuration information. In response to the configuration result of the second load sharing being the second result, the determining module is further configured to determine, by the second root node device, that the second root node device is the primary root of the second leaf node device.

[0052] With regard to the sixth aspect, in some implementation forms of the sixth aspect, the second configuration information includes third indication information, and the third indication information indicates that the second root node device is a primary root for the second leaf node device.

[0053] With regard to the sixth aspect, in some implementation forms of the sixth aspect, the second configuration information includes fourth instruction information, and the fourth instruction information indicates information regarding a second candidate root node device that serves as a primary root for the second leaf node device.

[0054] With regard to the sixth aspect, in some implementation forms of the sixth aspect, the second candidate root node device includes a second root node device, and the determination module is further configured for the second root node device to perform a hash calculation on the second identifier and the second configuration information to obtain a second load sharing configuration result.

[0055] With regard to the sixth aspect, in some implementation forms of the sixth aspect, the second message further includes a multicast source group (S, G), the second candidate root node device includes a second root node device, and the determination module is further configured to perform a hash calculation on the multicast source group (S, G), the second identifier, and the second configuration information to obtain a second load sharing configuration result.

[0056] Regarding the sixth aspect, in some implementations of the sixth aspect, the communication network is a multicast virtual private network MVPN.

[0057] According to a seventh aspect, a first root node device is provided. The first root node device has a function of performing the operation of the first root node device in the aforementioned method. The function may be implemented based on hardware, or based on hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the aforementioned functions.

[0058] In one possible design, the first root node device structure includes a processor and an interface, the processor configured to support the first root node device in performing corresponding functions in the aforementioned method, and the interface configured to support the first root node device in receiving messages sent by the leaf node devices.

[0059] The first root node device may further include a memory configured to be coupled to the processor, the memory storing program instructions and data required for the first root node device.

[0060] In another possible design, the first root node device includes a processor, a transmitter, a receiver, a random access memory, a read-only memory, and a bus. The processor is coupled to the transmitter, the receiver, the random access memory, and the read-only memory through the bus. When the first root node device needs to run, a basic input / output system embedded in the read-only memory, or a bootloader of the embedded system, is used to boot and start the system, booting the first root node device and entering a normal operating state. After entering the normal operating state, the first root node device executes the application program and the operating system in the random access memory, which causes the processor to implement the method according to the first aspect or according to any one of the possible implementation forms of the first aspect.

[0061] According to an eighth aspect, a first root node device is provided. The first root node device includes a main control board, an interface board, and may further include a switching board. The first root node device is configured to implement a method according to the first aspect or according to any one of the possible implementations of the first aspect. Specifically, the first root node device includes a module configured to implement a method according to the first aspect or according to any one of the possible implementations of the first aspect.

[0062] According to a ninth aspect, a first root node device is provided. The first root node device includes a control module and a first forwarding subdevice. The first forwarding subdevice includes an interface board and may further include a switching board. The first forwarding subdevice is configured to perform the function of the interface board in the eighth aspect and may further perform the function of the switching board in the eighth aspect. The control module includes a receiver, a processor, a transmitter, a random access memory, a read-only memory, and a bus. The processor is coupled to the receiver, the transmitter, the random access memory, and the read-only memory through the bus. When the control module needs to be executed, the control module is started by using a basic input / output system embedded in the read-only memory or a bootloader boot system in the embedded system to boot the control module to enter a normal execution state. After entering a normal operation state, the control module executes the application program and the operating system in the random access memory, whereby the processor performs the function of the main control board in the eighth aspect.

[0063] It will be understood that in practical applications, the first root node device may include any number of interfaces, processors, or memories.

[0064] According to a tenth aspect, a leaf node device is provided. The leaf node device has a function for performing the leaf node device operation in the aforementioned method. The function may be implemented based on hardware, or based on hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the aforementioned functions.

[0065] In one possible design, a leaf node device structure includes a processor and an interface, the processor configured to support the leaf node device in performing corresponding functions in the aforementioned method, and the interface configured to support sending messages to a first root node device or to receive multicast traffic sent by the first root node device.

[0066] The leaf node device may further include a memory configured to be coupled to the processor, the memory storing program instructions and data required for the leaf node device.

[0067] In another possible design, the leaf node device includes a processor, a transmitter, a receiver, a random access memory, a read-only memory, and a bus. The processor is coupled to the transmitter, the receiver, the random access memory, and the read-only memory through the bus. When the leaf node device needs to run, a basic input / output system embedded in the read-only memory, or a bootloader of the embedded system, is used to boot and start the system, booting the leaf node device into a normal operating state. After entering the normal operating state, the leaf node device executes the application program and the operating system in the random access memory, which causes the processor to implement the method according to the second aspect or according to any one of the possible implementation forms of the second aspect.

[0068] According to an eleventh aspect, a leaf node device is provided. The leaf node device includes a main control board, an interface board, and may further include a switching board. The leaf node device is configured to implement a method according to the second aspect or according to any one of the possible implementations of the second aspect. Specifically, the leaf node device includes a module configured to implement a method according to the second aspect or according to any one of the possible implementations of the second aspect.

[0069] According to a twelfth aspect, a leaf node device is provided. The leaf node device includes a control module and a first forwarding subdevice. The first forwarding subdevice includes an interface board and may further include a switching board. The first forwarding subdevice is configured to perform the function of the interface board in the eleventh aspect and may further perform the function of the switching board in the eleventh aspect. The control module includes a receiver, a processor, a transmitter, a random access memory, a read-only memory, and a bus. The processor is coupled to the receiver, the transmitter, the random access memory, and the read-only memory through the bus. When the control module needs to be executed, the control module is started by using a basic input / output system embedded in the read-only memory or a bootloader boot system in the embedded system to boot the control module to enter a normal execution state. After entering a normal operation state, the control module executes the application program and the operating system in the random access memory, whereby the processor performs the function of the main control board in the eleventh aspect.

[0070] It will be appreciated that in practical applications, a leaf node device may include any number of interfaces, processors, or memories.

[0071] According to a thirteenth aspect, there is provided a computer program product, the computer program product comprising computer program code, which when executable on a computer enables the computer to perform a method according to the first aspect or according to any one of the possible implementations of the first aspect.

[0072] According to a fourteenth aspect, there is provided a computer program product, the computer program product comprising computer program code, which, when executed on a computer, enables the computer to perform a method according to the second aspect or according to any one of the possible implementations of the second aspect.

[0073] According to a fifteenth aspect, a computer-readable medium is provided. The computer-readable medium stores a program code. When the computer program code is executable on a computer, the computer is enabled to perform the method according to the first aspect or according to any one of the possible implementation forms of the first aspect. The computer-readable storage medium includes, but is not limited to, one or more of a read-only memory (ROM), a programmable ROM (PROM), an erasable PROM (EPROM), a Flash memory, an electrically EPROM (EEPROM), and a hard drive.

[0074] According to a sixteenth aspect, a computer-readable medium is provided. The computer-readable medium stores a program code. When the computer program code is executed on a computer, the computer is enabled to perform a method according to the second aspect or according to any one of the possible implementation forms of the second aspect. The computer-readable storage medium includes, but is not limited to, one or more of a read-only memory (ROM), a programmable ROM (PROM), an erasable PROM (EPROM), a Flash memory, an electrically EPROM (EEPROM), and a hard drive.

[0075] According to a seventeenth aspect, a chip is provided. The chip includes a processor and a data interface, and the processor reads instructions stored in a memory via the data interface to perform a method according to the first aspect or according to any one of the possible implementations of the first aspect. In a particular implementation process, the chip may be implemented in the form of a central processing unit (CPU), a micro controller unit (MCU), a micro processing unit (MPU), a digital signal processing (DSP), a system on chip (SoC), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or a programmable logic device (PLD).

[0076] According to an eighteenth aspect, a chip is provided. The chip includes a processor and a data interface, and the processor reads instructions stored in a memory via the data interface to perform a method according to the second aspect or according to any one of the possible implementations of the second aspect. In a particular implementation process, the chip may be implemented in the form of a central processing unit (CPU), a micro controller unit (MCU), a micro processing unit (MPU), a digital signal processing (DSP), a system on chip (SoC), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or a programmable logic device (PLD).

[0077] According to a nineteenth aspect, there is provided a system, the system including the first root node device as described above and a leaf node device. [Brief description of the drawings]

[0078] [Figure 1] FIG. 2 is a schematic diagram of a multicast scenario applied to an embodiment of the present application; [Diagram 2] 1 is a schematic flowchart of a load sharing method according to an embodiment of the present application; [Figure 3A] 4 is a schematic flowchart of another load sharing method according to an embodiment of the present application; [Figure 3B] 4 is a schematic flowchart of another load sharing method according to an embodiment of the present application; [Figure 4]4 is a schematic diagram of the structure of a first root node device 400 according to an embodiment of the present application. [Diagram 5] 5 is a schematic diagram of the structure of a leaf node device 500 according to an embodiment of the present application. [Figure 6] 2 is a schematic diagram of a hardware structure of a first root node device 2000 according to an embodiment of the present application. [Figure 7] FIG. 21 is a schematic diagram of a hardware structure of another first root node device 2100 according to an embodiment of the present application. [Figure 8] 22 is a schematic diagram of a hardware structure of a leaf node device 2200 according to an embodiment of the present application. [Figure 9] 23 is a schematic diagram of a hardware structure of another leaf node device 2300 according to an embodiment of the present application. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0079] The following describes the technical solutions of the present application with reference to the accompanying drawings.

[0080] All aspects, embodiments, or features are presented in this application in terms of a system that includes multiple devices, components, modules, etc. It is to be appreciated and understood that each system may include other devices, components, modules, etc. and / or may not include all devices, components, modules, etc. discussed with reference to the accompanying drawings. Additionally, combinations of these solutions may also be used.

[0081] In addition, in the embodiments of the present application, terms such as "for example," "e.g.," and the like are used to denote providing an example, illustration, or explanation. Any embodiment or design scheme described in this application as an "example" should not be described as being preferred or having more advantages than another embodiment or design scheme. Rather, the term "for example" is used to present a concept concretely.

[0082] In the embodiments of the present application, "corresponding" and "corresponding" may be used interchangeably. It should be noted that the meanings expressed by the terms are consistent when differences are not highlighted.

[0083] The network architecture and service scenarios described in the embodiments of the present application are intended to more clearly describe the technical solutions of the embodiments of the present application, but are not intended to limit the technical solutions provided in the embodiments of the present application. Those skilled in the art can know that as the network architecture evolves and new service scenarios emerge, the technical solutions provided in the embodiments of the present application can also be applied to similar technical problems.

[0084] References to "one embodiment," "some embodiments," and the like described herein indicate that one or more embodiments of the application include the particular feature, structure, or characteristic described with reference to the embodiment. Thus, statements such as "in one embodiment," "in some embodiments," "in some other embodiments," and "in other embodiments" appearing in various places in this specification do not necessarily mean to refer to the same embodiment. Instead, these statements mean "one or more, but not all, embodiments," unless specifically emphasized otherwise. The terms "including," "having," and variations thereof all mean "including, but not limited to," unless specifically emphasized otherwise.

[0085] In this application, at least one means one or more, and more means two or more. The term "and / or" describes a relationship between related objects and indicates that three relationships may exist. For example, A and / or B may represent the following three cases: only A is present, both A and B are present, and only B is present. A and B may be singular or plural. The symbol " / " generally indicates an "or" relationship between related objects. At least one of the following items (elements) or similar expressions refers to any combination of these items, including any combination of singular items (elements) or multiple items (elements). For example, at least one of a, b, and c may mean a, b, c, ab, ac, bc, or abc. a, b, and c may be singular or plural.

[0086] Multicast is a data transmission mode in which data is efficiently transmitted to multiple receivers in a transmission control protocol (TCP) / internet protocol (IP) network simultaneously by using one multicast address. A multicast source transmits multicast traffic to multicast group members in a multicast group through links in a network, and each multicast group member in the multicast group can receive the multicast traffic. In the multicast transmission mode, a point-to-multipoint data connection is implemented between the multicast source and the multicast group members. The multicast traffic needs to be transmitted only once on each network link, and multicast replication is implemented only when there is a branch on the link. Thus, the multicast transmission mode improves data transmission efficiency and reduces the possibility of congestion on the backbone network. IP multicast implements efficient point-to-multipoint data transmission in IP networks, effectively saving network bandwidth and reducing network load. Therefore, the Internet Protocol multicast technology is widely used in multiple aspects such as real-time data transmission, multimedia conference, data copy, internet protocol television (IPTV), games, and simulations.

[0087] With reference to Figure 1, the following is a detailed description of a multicast scenario applied to one embodiment of the present application. As shown in Figure 1, the multicast scenario may include a multicast source 110, a switch (SW) 120, provider edge devices (PE) 1 / PE2 / PE3, L1 / L2 / L3, and H1 / H2 / H3.

[0088] The multicast source 110 is configured to send multicast traffic. In one example, such as in the application scenario of global table multicast (GTM), Non-VPN Multicast, or Internet multicast, one multicast traffic may be represented by a multicast source group (S, G), where S represents the address of a multicast source, and G represents the address of a multicast group (G). In another example, in the application scenario of a multicast virtual private network (MVPN), a VPN instance or a virtual route forwarding (VRF) instance usually exists. Therefore, one multicast traffic may also be represented by (VPN, S, G). For ease of explanation, the following uses an example in which (S, G) represents one multicast traffic for explanation.

[0089] H1 / H2 / H3 are multicast receivers and are configured to receive multicast traffic transmitted by the multicast source 110. H1 / H2 / H3 may also be referred to as user-side routers or host devices.

[0090] The network formed by PE1 / PE2 / PE3 and L1 / L2 / L3 belongs to a bearer network and plays a role of forwarding the multicast stream transmitted by the multicast source 110 to H1 / H2 / H3. The bearer network may be, for example, a carrier network, a data center network, or a campus network. This is not particularly limited in this application. PE1 / PE2 / PE3 are ingress devices, and L1 / L2 / L3 are egress PE devices. PE1 / PE2 / PE3 may also be called ingress PE, root node, or Root PE. L1 / L2 / L3 may also be called egress PE, leaf node, or leaf PE.

[0091] Optionally, one or more intermediate forwarding devices (not shown in FIG. 1) may also be included between PE1 / PE2 / PE3 and L1 / L2 / L3, which is not particularly limited in this application.

[0092] In the related technical solution, PE1 acts as a primary root or primary upstream multicast hop (primary UMH) for the leaf nodes (L1 / L2 / L3) and is responsible for sending multicast traffic to each of the leaf nodes (L1 / L2 / L3). However, PE2 and PE3 act as secondary roots. When PE1 is working properly, PE2 and PE3 are not responsible for sending multicast traffic to each of the leaf nodes (L1 / L2 / L3). They are only in standby state. Similarly, if there are many leaf nodes (e.g., 30 or 300 leaves), PE1 is also responsible for sending multicast traffic to all these leaves, and PE2 and PE3 are in standby state. If PE1 fails or if the link between PE1 and SW120 fails, either PE2 or PE3 will take over and be responsible for sending multicast traffic to each of the leaf nodes (L1 / L2 / L3). In the above solution, when PE1 works properly, the load of PE1 is large, but the loads of PE2 and PE3 are small. In this case, PE1 is likely to fail due to the large load. Furthermore, even if PE1 fails, either PE2 or PE3 is responsible for sending multicast traffic to each of the leaf nodes. However, the load distribution between PE2 and PE3 is unbalanced, and PE2 or PE3 responsible for sending multicast traffic may also fail due to the large load.

[0093] In view of this, an embodiment of the present application provides a load sharing method, whereby multicast traffic is shared among root nodes to implement load balancing, thereby avoiding the problem of unbalanced load balancing among root nodes in the aforementioned related solutions. With reference to Figure 2, the following is a detailed description of the load sharing method according to an embodiment of the present application.

[0094] 2 is a schematic flowchart of a load sharing method according to an embodiment of the present application. As shown in FIG. 2, the method may include steps 210 to 240. In the following, steps 210 to 240 will be described in detail separately.

[0095] It should be understood that the present method may be applied to a communication network, which may be referred to as a network to which a multicast technology is applied. For example, the present method is applied to a virtual private network (VPN). Specifically, the present method may be applied to a multicast virtual private network (MVPN). As an example, the communication network may include a multicast source device, a root node device group, and a leaf node device. The multicast source device is configured to transmit multicast traffic to the leaf node device via the root node device group. The root node device group includes at least two root node devices. The network may include one leaf node device or may include multiple leaf node devices. This is not particularly limited in the present application. When the network includes one leaf node device, the leaf node device is connected to at least two root node devices included in the root node device group. If a network includes multiple leaf node devices, the multiple leaf node devices are fully connected to at least two root node devices included in the root node device group.

[0096] For example, the method may be applied to the multicast scenario shown in FIG. 1. In the multicast scenario, the multicast source 110 may be the above-mentioned multicast source device. PE1 / PE2 / PE3 may be the above-mentioned root node device, and PE1, PE2, and PE3 form a root node device group. L1 / L2 / L3 may be the above-mentioned leaf node device. For ease of explanation, in FIG. 1, an example including three leaf node devices (L1, L2, L3) is used for explanation.

[0097] Step 210: A first root node device receives a message sent by a leaf node device, where the message includes a first identifier and configuration information.

[0098] The root node device group includes at least two root node devices, and the first root node device may be one device in the root node device group. The first root node device may receive a message sent by a leaf node device, the message including a first identifier and configuration information. The first identifier indicates the leaf node device. For example, the first identifier may be an IP address of the leaf node device. In another example, the first identifier may be a bit forwarding router identifier (BFR ID) of the leaf node device. The above-mentioned configuration information may be used to indicate a configuration mode of load sharing from the root node device group to the leaf node device, requested by the leaf node device. Specifically, there are multiple implementations in which the configuration information indicates a configuration mode of load sharing from the root node device group to the leaf node device. This is not particularly limited in the present application. The following is a detailed description of several possible implementations.

[0099] As an example, in one implementation, the configuration information may include first indication information, where the first indication information indicates that the first root node device is a primary root for the leaf node device. The first root node device being a primary root for the leaf node device may be understood as the first root node device being a designated forwarder (DF) that forwards multicast traffic to the leaf node device. Alternatively, the configuration information may include second indication information, where the second indication information indicates that the first root node device is a secondary root for the leaf node device. The first root node device being a secondary root for the leaf node device may be understood as the first root node device being a non-designated forwarder (non-DF) that forwards multicast traffic to the leaf node device.

[0100] As an example, in another implementation, the configuration information may include third indication information, where the third indication information indicates information regarding a candidate root node device serving as a primary root for the leaf node device, and the candidate root node device determines that the candidate root node device serves as a primary root for the leaf node device. In other words, the third indication information indicates a load sharing group serving as a primary root for the leaf node device, where the load sharing group includes a plurality of candidate root node devices, and where the plurality of root node devices in the load sharing group determine that each of the root node devices serves as a primary root device for the leaf node device.

[0101] Optionally, the configuration information may further include fourth indication information, where the fourth indication information indicates information about a candidate root node device serving as a secondary root of the leaf node device, and the candidate root node device determines that the candidate root node device serves as a secondary root of the leaf node device. In other words, the third indication information indicates a load sharing group serving as a secondary root of the leaf node device, where the load sharing group includes a plurality of candidate root node devices, and the plurality of root node devices in the load sharing group determine that each of the root node devices serves as a secondary root device of the leaf node device.

[0102] Step 220: The first root node device determines a configuration result of load sharing from the first root node device to the leaf node devices based on the first identifier and the configuration information.

[0103] After receiving the first identifier and the configuration information sent by the leaf node device, the first root node device may determine a configuration result of load sharing from the first root node device to the leaf node device based on the first identifier and the configuration information. In one example, if the configuration information includes the above-mentioned first indication information, the first root node device may directly determine that the configuration result is the first result based on the first indication information. Alternatively, if the configuration information includes the above-mentioned second indication information, the first root node device may directly determine that the configuration result is the second result based on the second indication information. In another example, if the configuration information includes third indication information and the first root node device serves as a candidate root node device of the primary root of the leaf node device, a hash calculation may be performed on the first identifier and the configuration information (e.g., information on the candidate root node device indicated by the third indication information and serving as the primary root of the leaf node device) to obtain the first result. Alternatively, when the configuration information includes the above-mentioned fourth indication information, and the first root node device serves as a candidate root node device of the secondary root of the leaf node device, a hash calculation may be performed on the first identifier and the configuration information (e.g., information on the candidate root node device indicated by the fourth indication information and serving as the secondary root of the leaf node device) to obtain a second result. In yet another example, when the configuration information includes the above-mentioned third indication information, the message sent by the leaf node device to the first root node device further includes a multicast source group (S, G), and the first root node device serves as a candidate root node device of the primary root of the leaf node device, and a hash calculation may be performed on the multicast source group (S, G), the first identifier, and the configuration information (e.g., information on the candidate root node device indicated by the third indication information and serving as the primary root of the leaf node device) to obtain a first result.Alternatively, when the configuration information includes fourth indication information and the first root node device serves as a candidate root node device for a secondary root of the leaf node device, a hash calculation may be performed on the multicast source group (S, G), the first identifier, and the configuration information (e.g., information regarding the candidate root node device indicated by the fourth indication information and serving as a secondary root of the leaf node device) to obtain a second result.

[0104] The first root node device may determine whether the first root node device functions as a primary root or a secondary root of the leaf node devices based on whether the configuration result of the load sharing from the first root node device to the leaf node devices is the first result or the second result. As an example, if the configuration result of the load sharing from the first root node device to the leaf node devices is the first result, the first root node device may perform step 230, or if the configuration result of the load sharing from the first root node device to the leaf node devices is the first result, the first root node device may perform step 240.

[0105] Step 230: In response to the configuration result being the first result, the first root node device determines that the first root node device is a primary root of the leaf node devices.

[0106] As an example, a first root node device may determine that the first root node device is the primary root, act as a designated forwarder that forwards multicast traffic to a leaf node device, and send the multicast traffic to the leaf node device.

[0107] Step 240: In response to the configuration result being the second result, the first root node device determines that the first root node device is a secondary root of the leaf node device.

[0108] As an example, the first root node device may determine that the first root node device is a secondary root and act as an undesignated forwarder forwarding multicast traffic to leaf node devices, preventing multicast traffic from being sent to the leaf node devices.

[0109] In the above technical solutions, each of the root nodes may implement load sharing for multicast traffic, so as to implement load balancing of the multicast traffic.

[0110] The following uses the multicast scenario shown in Figure 1 as an example, and refers to Figures 3A and 3B to describe in detail a specific implementation of a load sharing method according to an embodiment of the present application. It should be understood that the examples in Figures 3A and 3B are merely intended to help those skilled in the art understand the embodiments of the present application, and do not limit the embodiments of the present application to specific numerical values ​​or specific scenarios in the examples. Those skilled in the art may obviously make various equivalent modifications or changes according to the examples shown in Figures 3A and 3B, and such modifications or changes also fall within the scope of the embodiments of the present application.

[0111] 3A and 3B are schematic flowcharts of another load sharing method according to an embodiment of the present application. As shown in FIG. 3A and 3B, the method may include steps 310 to 337. The following will describe steps 310 to 337 in detail separately.

[0112] Step 310: The root node PE1 receives the message sent by the leaf node L1, where the message carries the identifier of the leaf node L1 and the UMH selection indication information.

[0113] As an example, before step 310, a border gateway protocol (BGP) session may be established between PE1 and L1, and the BGP-MVPN address family (or BGP-MVPN protocol) may be used. The BGP session may be established directly between the two devices, or may be established through a routing reflector (RR). This is not particularly limited in the present application. For ease of explanation, the following is an example of directly establishing a BGP session between two devices. For example, H1 may send a multicast join message to L1, and the multicast join message is used to obtain multicast traffic (S1, G1). L1 may send a multicast join message to the root node PE1, and the root node PE1 sends the multicast join message to SW120, and then SW120 sends the multicast join message to the multicast source 110. It should be understood that the multicast join message sent by the multicast receiver H1 is not particularly limited in the embodiment of the present application. The message may be an internet group management protocol (IGMP) message, a multicast listener discovery (MLD) message, or a protocol independent multicast (PIM) message. For example, the multicast join message sent by H1 to the leaf node L1 may be an IGMP message or an MLD message, and the multicast join message sent by the root node PE1 to SW120 may be a PIM message. The above leaf node L1 may also send the identifier of the leaf node L1 and UMH selection indication information (which may also be referred to as configuration information) to the root node PE1.

[0114] For example, PE1 may send a selective provider multicast service interface auto-discovery route (S-PMSI AD) to leaf node L1 to designate multicast traffic (S1, G1). After receiving the S-PMSI AD route, leaf node L1 sends a Leaf AD route to root node PE1. The Leaf AD route may include an identifier of leaf node L1 and UMH selection indication information.

[0115] As an example, the identifier of the leaf node L1 may be the IP address of the leaf node L1, and is carried in the network layer reachability information (NLRI) of the Leaf AD route. In this way, in the process of propagating the Leaf AD route, for example, in the process of re-advertising the route by a route reflector (RR) or an autonomous system boundary router (ASBR), the identifier of the leaf node of the Leaf AD route does not change. The above-mentioned UMH selection indication information may be used to indicate the primary and secondary routes selected by the leaf node L1, or may further be used by the root node (PE1 / PE2 / PE3) to indicate that the root node is determined to serve as the primary and secondary root of the leaf node L1. The following describes various implementations in detail and individually.

[0116] For ease of explanation, it should be understood that the following uses multicast traffic (S1, G1) as an example for illustration purposes.

[0117] 1. In one possible implementation, the UMH selection indication information indicates the primary and secondary roots selected by leaf node L1.

[0118] In this example, the leaf node L1 selects PE1 as the primary route and PE2 / PE3 as the secondary route. That is, PE1 plays a role in transmitting multicast traffic to L1. When PE1 is operating properly, PE2 and PE3 are in a standby state and do not play a role in transmitting multicast traffic to L1. In the embodiment of the present application, the specific form of the UMH selection indication information is not limited as long as the UMH selection indication information transmitted to PE1 and the UMH selection indication information transmitted to PE2 / PE3 can be distinguished. In one example, the UMH selection indication information in the message transmitted by L1 to PE1 may be "primary", indicating that L1 selects PE1 as the primary route. The UMH selection indication information transmitted by L1 to PE2 and PE3 is "secondary", indicating that L1 selects PE2 and PE3 as the secondary route. In another example, the UMH selection indication information in the message sent by L1 to PE1 may be "NULL", i.e., in the absence of additional information, "NULL" is "primary" by default, indicating that L1 selects PE1 as the primary route. The UMH selection indication information sent to PE2 and PE3 may be "secondary", "backup", or "standby", indicating that L1 selects PE2 and PE3 as the secondary routes.

[0119] For example, the information sent by leaf node L1 to root node PE1 is (S1, G1, node ID=L1, UMH selection information=primary). Optionally, the information sent by leaf node L1 to root node PE2 is (S1, G1, node ID=L1, UMH selection information=secondary) and the information sent to root node PE3 is (S1, G1, node ID=L1, UMH selection information=secondary).

[0120] 2. In another possible implementation form, the UMH selection indication information indicates that a candidate root node (PE1 / PE2 / PE3) serving as a primary root for leaf node L1 determines itself as the primary root for leaf node L1.

[0121] Taking leaf node L1 as an example, the UMH selection indication in the message sent by L1 to root node PE1 is no longer a primary or secondary indication, but rather informs root node PE1 of a set of candidate root nodes (PE1 / PE2 / PE3) that will act as the primary root of leaf child node L1. Root node PE1 decides whether to act as the primary root of L1.

[0122] For example, the information sent by leaf node L1 to root node PE1 is (S1, 1, node ID=L1, UMH selection information=information 1). Optionally, the information sent by leaf node L1 to root node PE2 is (S1, G1, node ID=L1, UMH selection information=information 1), and the information sent by root node PE3 is (S1, G1, node ID=L1, UMH selection information=information 1).

[0123] The aforementioned information 1 may include information about a candidate root node serving as a primary root of the leaf node L1, and the information may be, for example, an identifier of the candidate root node. There are multiple specific implementation forms of the identifier. The following is a detailed description of some possible implementation forms. For ease of explanation, it should be understood that in FIG. 3A and FIG. 3B, an example is used for explanation in which the candidate root nodes serving as the primary root of the leaf node L1 include PE1, PE2, and PE3.

[0124] Specifically, as an example, the identifier may be the ID of PE1, the ID of PE2, or the ID of PE3. For example, the ID of PE1, the ID of PE2, or the ID of PE3 may be the IP address of each of the PEs. For example, the IP addresses of PE1 / PE2 / PE3 are 192.168.10.1, 192.168.20.1, or 192.168.30.1, respectively. In another example, the ID of PE1, the ID of PE2, or the ID of PE3 may be the IPv6 address of each of the PEs. For example, the IPv6 addresses of PE1 / PE2 / PE3 are 2001:db8:1::1234, 2001:db8:2::1234, or 2001:db8:3::1234, respectively. In yet another example, the ID of PE1, the ID of PE2, or the ID of PE3 may be an identifier configured on each of the PEs. Assume that PE1 / PE2 / PE3 function as a group of routers and share an Anycast IP address 192.168.0.1 that is used to identify the group of routers (or group ID), and integers 1 / 2 / 3 are configured separately to identify each of the PEs. For example, the IDs of PE1 / PE2 / PE3 may be 192.168.0.1:1, 192.168.0.1:2, or 192.168.0.1:3. In another example, the identifier may include the identifier of the group of routers PE1 / PE2 / PE3 (e.g., 192.168.0.1) and may further include the BitString 0111 to indicate the routers whose IDs are 1, 2, or 3. For example, the first position 1 from right to left of the BitString identifies PE1 with ID 1, the second position 1 from right to left of the BitString identifies PE2 with ID 2, and the third position 1 from right to left of the BitString identifies PE3 with ID 3. In another example, the identifier may include only a group ID, which represents a group of routers PE1 / PE2 / PE3 and may be the Anycast IP address mentioned above. Then, the correspondence between the Anycast IP and the three routers is configured separately on the three routers represented by the group IDs.

[0125] Optionally, the aforementioned information 1 may further include a count indicating the number of root nodes included in the candidate root node set that can serve as the primary root of the leaf node L1.

[0126] Optionally, the aforementioned information 1 may further include indication information, which indicates that a root node included in the candidate root node set serving as a primary root of the leaf node L1 determines itself as the primary root of L1. For example, the indication information may be identified via auto-select-by-root.

[0127] Specifically, for example, the above-mentioned information 1 is<PE1、PE2、PE3、auto-select-by-root> may be<PE1、PE2、PE3> represents the root node in the candidate root node set that serves as the primary root of leaf node L1, <auto-select-by-root>represents that PE1 / PE2 / PE3 is determined by itself as the primary route of L1. There are multiple specific implementations of the determination. The following describes some possible methods in detail, and the details are not described here.

[0128] Step 315: The root node PE1 determines a configuration result of load sharing based on the message sent by the leaf node L1, and the configuration result is that the root node PE1 is the primary root of the leaf node L1.

[0129] 1. In one possible implementation, the UMH selection indication information indicates the primary route and secondary route selected by the leaf node. For PE1, the message sent by the leaf node L1 and received by PE1 is (S1, G1, node ID=L1, UMH selection information=primary). Optionally, the message sent by the leaf node L2 and received by PE1 is (S1, G1, node ID=L2, UMH selection information=secondary), and the message sent by the leaf node L3 and received by PE1 is (S1, G1, node ID=L3, UMH selection information=secondary). Based on the UMH selection information, PE1 may determine that PE1 serves as the primary route for the leaf node L1 and is responsible for forwarding multicast traffic to the leaf node L1.

[0130] 2. In another possible implementation form, the UMH selection indication information indicates that a candidate root node (PE1 / PE2 / PE3) serving as a primary root for leaf node L1 determines itself as the primary root for leaf node L1.

[0131] Specifically, in one example, a highest random weight (HRW) method may be used, in which a hash calculation is performed by the identifiers of each of the candidate root nodes (PE1 / PE2 / PE3) and the leaf node L1, and the primary root of the leaf node L1 is determined based on the hash calculation result.

[0132] For PE1, based on the identifier of leaf node L1 and information about candidate root nodes (PE1 / PE2 / PE3), the way to perform HRW calculation is to perform a hash calculation on the identifier of PE1 and the identifier of L1 to obtain a result 11 represented as hash11=HRW(L1 ID, PE1 ID), as follows: Similarly, a hash calculation is performed on the identifier of PE2 and the identifier of L1 to obtain a result 21 represented as hash21=HRW(L1 ID, PE2 ID). Similarly, a hash calculation is performed on the identifier of PE3 and the identifier of L1 to obtain a result 31 represented as hash31=HRW(L1 ID, PE3 ID). PE1 may compare several hash values ​​to determine the maximum value. For example, the maximum value in hash11 / hash21 / hash31 is hash11, i.e., the value obtained by performing hash calculation through PE1 is the maximum hash value or maximum random weight, which can be expressed as HRW(L1, candidate(PE1, PE2, PE3))=PE1. In this case, PE1 acts as a DF for L1. Based on the result, PE1 determines that PE1 acts as a primary route for L1 and is responsible for sending multicast traffic to L1.

[0133] Similarly, for PE2, an HRW calculation is also performed based on the identifier of the L1 node and information about the candidate root nodes (PE1 / PE2 / PE3). The calculation result is the same as that calculated for PE1. That is, the calculation result of HRW(L1, candidate(PE1, PE2, PE3)) is also PE1. Therefore, PE2 determines based on the result that PE2 is not the primary route of L1 and is not responsible for sending traffic to L1. For PE3, PE3 also performs an HRW calculation based on the identifier of the L1 node and information about the candidate root nodes (PE1 / PE2 / PE3). The calculation result is the same as that calculated for PE1 and PE2. Therefore, PE3 determines based on the result that PE3 is not the primary route of L1 and is not responsible for sending traffic to L1.

[0134] Specifically, in another example, multicast traffic may also be included in the hash calculation. Taking the traffic of (S1, G1) as an example, by using the HRW method, hash calculation is performed on each of the candidate root nodes (PE1 / PE2 / PE3), the identifier of the leaf node L1, and (S1, 1), and the primary route of the leaf node L1 is determined based on the hash calculation result. The specific implementation is similar to the method of the previous example. For details, please refer to the hash calculation method described in the previous example. The details will not be described again here.

[0135] Specifically, in another example, in a scenario where BIER is used to implement multicast forwarding, PE1 may further implement selection based on the BitString. In one example, PE1 serves as a primary route for leaf nodes included in N*3 (N=0 / 1 / ...), and is preferentially responsible for sending multicast traffic to leaf nodes included in N*3 (N=0 / 1 / ...). As a primary route for leaf nodes included in N*3+1 (N=0 / 1 / ...), PE2 is preferentially responsible for sending multicast traffic to leaf nodes included in N*3+1 (N=0 / 1 / ...). PE3 serves as a primary route for leaf nodes included in N*3+2 (N=0 / 1 / ...), and is preferentially responsible for sending multicast traffic to leaf nodes included in N*3+2 (N=0 / 1 / ...).

[0136] For example, when N=0, PE1 serves as a primary root for leaf nodes (BFR IDs are 1-256, respectively) included in set 0 or set ID=0, and is responsible for sending multicast traffic to leaf nodes with BFR IDs of 1-256, respectively. Similarly, PE2 serves as a primary root for leaf nodes (BFR IDs are 257-512, respectively) included in the first set or set ID=1, and is responsible for sending multicast traffic to leaf nodes with BFR IDs of 257-512, respectively. PE3 serves as a primary root for leaf nodes (BFR IDs are 513-768, respectively) included in the second set or set ID=2, and is responsible for sending multicast traffic to leaf nodes with BFR IDs of 513-768, respectively. Assume that leaf node L1 corresponds to set 0, L2 corresponds to set 1, and L3 corresponds to set 2. PE1 acts as the primary route for L1 and is responsible for sending multicast traffic to L1, PE2 acts as the primary route for L2 and is responsible for sending multicast traffic to L2, and PE3 acts as the primary route for L3 and is responsible for sending multicast traffic to L3.

[0137] In another example, in a scenario where BIER is used to perform multicast forwarding, the HRW method is used to perform a hash calculation by each of the candidate root nodes (PE1 / PE2 / PE3) and the set ID, and based on the hash calculation result, determine the primary root of the leaf node corresponding to the set.

[0138] As an example, the leaf node corresponding to set ID=0 is used. The method of performing HRW calculation by PE1 based on information about set ID=0 and candidate root nodes (PE1 / PE2 / PE3) is as follows: hash11=HRW(Set ID <0> , PE1 ID)。 Similarly, hash21 = HRW (Set ID <0> A hash calculation is performed on the identifier of PE2 and the set ID=0 to obtain a result 21, which is represented as HRW(Set ID , PE2 ID). Similarly, hash31=HRW(Set ID <0> A hash calculation is performed on the identifier of PE3 and set ID=0 to obtain a result 31, which is represented as hash11 / hash21 / hash31 (PE1, PE2, PE3)). PE1 may compare several hash values ​​to determine the maximum value. For example, the maximum value in hash11 / hash21 / hash31 is hash11, i.e., the value obtained by performing the hash calculation through PE1 is the maximum hash value or maximum random weight, which may be represented as HRW(set ID=0, candidate(PE1, PE2, PE3))=PE1. In this case, PE1 acts as a DF for all leaf nodes (nodes whose BFR IDs are 1-256, respectively) with set ID=0. Based on the result, PE1 may determine that PE1 acts as a primary root for all leaf nodes (nodes whose BFR IDs are 1-256, respectively) with set ID=0 and is responsible for sending multicast traffic to all leaf nodes (nodes whose BFR IDs are 1-256, respectively) with set ID=0. Assuming that leaf node L1 corresponds to set 0, PE1 may determine that PE1 acts as the primary root for L1 and is responsible for transmitting multicast traffic to L1.

[0139] Similarly, PE2 and PE3 also perform HRW calculation based on the set ID=0 and information about the candidate root nodes (PE1 / PE2 / PE3). The calculation result is the same as that calculated for PE1. That is, the calculation result of HRW(set ID=0, candidate(PE1, PE2, PE3)) is also PE1. Therefore, PE2 and PE3 may determine based on the result that they are not the primary root of all leaf nodes (BFR IDs are 1-256 nodes, respectively) with set ID=0, and are not responsible for sending multicast traffic to all leaf nodes (BFR IDs are 1-256 nodes, respectively) with set ID=0. Assuming that leaf node L1 corresponds to set 0, PE2 and PE3 may determine that they are not the primary root of L1, and are not responsible for sending multicast traffic to L1.

[0140] Step 317: The root node PE1 receives the multicast traffic (S1, G1) sent by the multicast source 110, and sends the multicast traffic (S1, G1) to the leaf node L1 based on the configuration result of load sharing.

[0141] The order of performing step 315 and step 317 is not particularly limited in the embodiment of the present application. Step 315 may be performed before step 317, or step 317 may be performed before step 315, or step 315 and step 317 may be performed simultaneously.

[0142] That is, if step 315 is performed before step 317, the root node PE1 has determined the configuration result of load sharing before receiving the multicast traffic (S1, G1), and the root node PE1 may forward the multicast traffic (S1, G1) when receiving the multicast traffic (S1, G1) based on the configuration result of load sharing. If step 317 is performed before step 315, the root node PE1 does not obtain the configuration result after receiving the multicast traffic (S1, G1), and the root node PE1 may forward the multicast traffic (S1, G1) based on the configuration result of load sharing after the configuration result of load sharing is determined. In this way, the problem of duplicate traffic transmission caused by forwarding the multicast traffic before the configuration result is determined can be avoided. The following describes in detail the specific implementation procedure of the root node PE1 forwarding the multicast traffic (S1, G1) based on the configuration result of load sharing. For example, the root node PE1 serves as the primary root of the leaf node L1. After receiving the multicast traffic (S1, G1), PE1 may determine that the multicast traffic (S1, G1) needs to be forwarded to the leaf node L1. Specifically, as an example, a "stateless" tunnel may be used between the root node PE1 and the leaf node L1, and the multicast traffic (S1, G1) is transmitted to the leaf node L1 through the tunnel. For example, an example of a stateless tunnel header is a BIER tunnel header or a BIER header. That is, the root node PE1 may encapsulate a BIER header for the multicast traffic (S1, G1), and the BIER header may include a bit string field, and the value of the bit corresponding to the leaf node L1 in the bit string is 1.

[0143] It should be understood that each bit in the bit string is used to identify an edge BFR (e.g., BFIR or BFER). For example, one bit in the least significant bit (rightmost) of the bit string is used to identify a BFER whose BFR-ID is 1. From right to left in the bit string, the second bit identifies a BFER whose BFR-ID is equal to 2. In the case of a forwarding entry based on which the forwarding plane performs forwarding, some specific BFER to which the packet should be sent is determined based on the bit string in the packet. Upon receiving a packet header including a BIER header, the BFR in the BIER domain forwards the BIER packet based on the bit string and the BIFT ID carried in the BIER header. It should be noted that a value of 1 in the bit indicates that the packet needs to be sent to the BFER device represented by the BFR-ID, and a value of 0 in the bit indicates that the packet does not need to be sent to the BFER device represented by the BFR-ID.

[0144] Step 320: The root node PE2 receives the message sent by the leaf node L2, where the message carries the identifier of the leaf node L2 and the UMH selection indication information.

[0145] 1. In one possible implementation, the UMH selection indication information indicates the primary and secondary routes selected by the leaf node L2. In this example, the leaf node L2 selects PE2 as the primary route and PE1 / PE3 as the secondary route. In one example, the UMH selection indication information in the message sent by L2 to PE2 can be "primary", indicating that L2 selects PE2 as the primary route. The UMH selection indication information sent by L2 to PE1 and PE3 can be "secondary", indicating that L2 selects PE1 and PE3 as the secondary routes. In another example, the UMH selection indication information in the message sent by L2 to PE2 can be "NULL", i.e., in the absence of additional information, "NULL" is "primary" by default, indicating that L2 selects PE2 as the primary route. The UMH selection indication information sent to PE1 and PE3 can be "secondary", "backup", or "standby", indicating that L2 selects PE1 and PE3 as the secondary routes.

[0146] For example, the information sent by the leaf node L2 to the root node PE2 is (S1, G1, node ID=L2, UMH selection information=primary). Optionally, the information sent by the leaf node L2 to the root node PE1 is (S1, G1, node ID=L2, UMH selection information=secondary), and the information sent to the root node PE3 is (S1, G1, node ID=L2, UMH selection information=secondary). 2. In another possible implementation form, the UMH selection indication information indicates that the candidate root node (PE1 / PE2 / PE3) serving as the primary root of the leaf node L2 determines itself as the primary and secondary root of the leaf node L2. For example, the information sent by the leaf node L2 to the root node PE2 is (S1, G1, node ID=L2, UMH selection information=secondary).<PE1、PE2、PE3> Optionally, the information sent by the leaf node L2 to the root node PE1 is (S1, G1, node ID=L2, UMH selection information=information 2<PE1、PE2、PE3> ), and the information sent to the root node PE3 is (S1, G1, node ID=L2, UMH selection information=information 2<PE1、PE2、PE3> ). Step 325: The root node PE2 determines a configuration result of load sharing based on the message sent by the leaf node L2, and the configuration result is that the root node PE2 is the primary root of the leaf node L2.

[0147] There are various ways of implementation. The following uses HRW as an example to describe how to perform hash calculation by each of the candidate root nodes (PE1 / PE2 / PE3) and the identifier of the leaf node L2 to determine it as the primary root of the leaf node L2. Another implementation is similar to the method of step 315. For details, please refer to the description of step 315. The details will not be described again here. For PE1, the method of performing HRW calculation based on the identifier of the leaf node L2 and the information about the candidate root nodes (PE1 / PE2 / PE3) is to perform hash calculation on the identifier of PE1 and the identifier of L2 to obtain a result 12 represented as hash12=HRW(L2 ID, PE1 ID) as follows. Similarly, hash calculation is performed on the identifier of PE2 and the identifier of L2 to obtain a result 22 represented as hash22=HRW(L2 ID, PE2 ID). Similarly, a hash calculation is performed on the identifier of PE3 and the identifier of L2 to obtain a result 32, which is represented as hash32=HRW(L2 ID, PE3 ID). PE1 may compare several hash values ​​to determine the maximum value. For example, the maximum value in hash12 / hash22 / hash32 is hash22, i.e., the value obtained by performing the hash calculation through PE2 is the maximum hash value or the maximum random weight, which may be represented as HRW(L2, candidate(PE1, E2, PE3))=PE2. In this case, PE2 acts as a DF for L2. Based on the result, PE1 determines that PE1 is not the primary route for L2 and is not responsible for sending traffic to L2. Similarly, for PE2, an HRW calculation is also performed based on the identifiers of the L2 nodes and information about the candidate root nodes (PE1 / PE2 / PE3). The calculation result is the same as that calculated for PE1. That is, the calculation result of HRW(L2, candidate(PE1, PE2, PE3)) is also PE2.

[0148] Therefore, PE2 determines based on the result that PE2 serves as a primary route for L2 and is responsible for sending traffic to L2. For PE3, PE3 also performs HRW calculation based on the identifier of L3 node and information about candidate root nodes (PE1 / PE2 / PE3). The calculation result is the same as that calculated for PE1 and PE2. Therefore, PE3 determines based on the result that PE3 is not a primary route for L2 and is not responsible for sending traffic to L2.

[0149] Step 327: The root node L2 receives the multicast traffic (S1, G1) sent by the multicast source, and sends the multicast traffic (S1, G1) to the leaf node L2 based on the separately determined load sharing configuration result. For example, the root node PE2 serves as a primary route for the leaf node L2. After receiving the multicast traffic (S1, G1), the root node PE2 may also forward the multicast traffic (S1, G1) to the leaf node L2. Taking a BIER tunnel as an example, the root node PE2 may encapsulate a BIER header for the multicast traffic (S1, G1), the BIER header may include a bit string field, and the value of the bit corresponding to the leaf node L2 in the bit string is 1. Step 330: The root node PE3 receives a message sent by the leaf node L3, and the message carries an identifier of the leaf node L3 and UMH selection indication information. 1. In one possible implementation form, the UMH selection indication information indicates the primary route and the secondary route selected by the leaf node L3. In this example, leaf node L3 selects PE3 as the primary route and PE2 / PE3 as the secondary route. In one example, the UMH selection indication information in the message sent by L3 to PE3 can be "primary", indicating that L3 selects PE3 as the primary route. The UMH selection indication information sent by L3 to PE2 and PE3 is "secondary", indicating that L3 selects PE2 and PE3 as the secondary route.

[0150] In another example, the UMH selection indication information in the message sent by L3 to PE3 may be "NULL", i.e., in the absence of additional information, "NULL" is "primary" by default, indicating that L3 selects PE3 as the primary route. The UMH selection indication information sent to PE2 and PE3 may be "secondary", "backup", or "standby", indicating that L3 selects PE2 and PE3 as the secondary routes.

[0151] For example, the information sent by leaf node L3 to root node PE3 is (S1, G1, node ID=L3, UMH selection information=primary). Optionally, the information sent by leaf node L3 to root node PE1 is (S1, G1, node ID=L3, UMH selection information=secondary) and the information sent to root node PE2 is (S1, G1, node ID=L3, UMH selection information=secondary).

[0152] 2. In another possible implementation, the UMH selection indication information indicates that the candidate root node (PE1 / PE2 / PE3) that serves as the primary root of the leaf node L3 determines itself as the primary and secondary root of the leaf node L3. For example, the information sent by the leaf node L3 to the root node PE3 is (S1, G1, node ID=L3, UMH selection information=information 3<PE1、PE2、PE3> Optionally, the information sent by the leaf node L3 to the root node PE1 is (S1, 1, node ID=L3, UMH selection information=information 3<PE1、PE2、PE3> ), and the information sent to the root node PE2 is (S1, G1, node ID=L3, UMH selection information=information 3<PE1、PE2、PE3> ). Step 335: The root node PE3 determines the configuration result of load sharing according to the message sent by the leaf node L3, and the configuration result is that the root node PE3 is the primary root of the leaf node L3. There are various methods of implementation. The following uses the HRW method as an example to describe the method of performing hash calculation by the identifiers of each of the candidate root nodes (PE1 / PE2 / PE3) and the leaf node L3 to determine it as the primary root of the leaf node L3. Another implementation is similar to the method of step 315. For details, please refer to the description of step 315. The details will not be described again here.

[0153] For PE1, based on the identifier of the leaf node L3 and information about the candidate root nodes (PE1 / PE2 / PE3), the way to perform the HRW calculation is to perform a hash calculation on the identifier of PE1 and the identifier of L3 to obtain a result 13, represented as hash13=HRW(L3 ID, PE1 ID), as follows: Similarly, a hash calculation is performed on the identifier of PE2 and the identifier of L3 to obtain a result 23, represented as hash23=HRW(L3 ID, PE2 ID). Similarly, a hash calculation is performed on the identifier of PE3 and the identifier of L3 to obtain a result 33, represented as hash33=HRW(L3 ID, PE3 ID). PE1 may compare several hash values ​​to determine the maximum value. For example, the maximum value in hash13 / hash23 / hash33 is hash33, i.e., the value obtained by performing hash calculation through PE3 is the maximum hash value or maximum random weight, which can be expressed as HRW(L3, candidate(PE1, PE2, PE3))=PE3. In this case, PE3 acts as a DF for L3. Based on the result, PE1 determines that PE1 is not the primary route for L3 and is not responsible for sending traffic to L3. Similarly, for PE2, the HRW calculation is also performed based on the identifiers of L3 nodes and information about the candidate root nodes (PE1 / PE2 / PE3). The calculation result is the same as that calculated for PE1. That is, the calculation result of HRW(L3, candidate(PE1, PE2, PE3)) is also PE3. Therefore, PE2 determines that PE2 is not the primary route for L3 and is not responsible for sending traffic to L3. For PE3, PE3 also performs HRW calculation based on the identifier of L2 node and information about candidate root nodes (PE1 / PE2 / PE3). The calculation result is the same as that calculated for PE1 and PE2. Therefore, PE3 determines based on the result that PE3 is the primary root of L3 and is responsible for sending traffic to L3.

[0154] Step 337: The root node PE3 receives the multicast traffic (S1, G1) sent by the multicast source, and sends the multicast traffic (S1, G1) to the leaf node L3 based on the separately determined load sharing configuration result.

[0155] For example, the root node PE3 serves as a primary root of the leaf node L3. After receiving the multicast traffic (S1, G1), the root node PE3 may also forward the multicast traffic (S1, G1) to the leaf node L3. Taking a BIER tunnel as an example, the root node PE3 may encapsulate a BIER header for the multicast traffic (S1, G1), the BIER header may include a bit string field, and the value of the bit corresponding to the leaf node L3 in the bit string is 1.

[0156] In the above technical solution, each of the root nodes may implement load sharing when the service works properly, thereby reducing the service amount of a single device, thereby avoiding the failure caused by the excessively large load of a single device. Optionally, when the root node cannot work properly, another available root node shares the multicast traffic on the root node that cannot work properly. In the embodiment of the present application, the root node cannot work properly can be understood as the root node fails, for example, the power is turned off, so that the root node cannot work properly. Alternatively, it can be understood that the link between the root node and another device fails, so that the root node cannot work properly. For example, the link between the root node and the leaf node connected to the root node fails. The following will describe in detail various implementations of sharing the multicast traffic of PE1 by another available root node (for example, PE2 or PE3) by taking an example where the root node PE1 fails. In one possible implementation, after determining that PE1 itself has failed or the link between PE1 and L1 has failed, L1 again transmits the UMH selection indication information to the root node (PE2 / PE3). In one example, assume that L1 re-determines PE2 as the primary root for L1, and PE2 is responsible for transmitting multicast traffic (S1, G1) to L1.

[0157] The information sent by L1 to PE2 is (S1, G1, node ID=L1, UMH selection information=primary), and the information sent by L1 to PE3 is (S1, G1, node ID=L1, UMH selection information=secondary). PE2 may determine based on the UMH selection information that PE2 will act as a primary root for leaf node L1 and will be responsible for forwarding multicast traffic to leaf node L1. PE3 determines according to the UMH selection information that PE3 will act as a secondary root for leaf node L1. In another example, the information sent by L1 to PE2 is (S1, G2, node ID=L1, UMH selection information=secondary).<PE2、PE3、auto-select-by-root> ), and the information sent by L1 to PE3 is (S1, G2, node ID=L1, UMH selection information=information 1<PE2、PE3、auto-select-by-root> ) PE2 and PE3 may determine that PE2 and PE3 serve as a primary root and a secondary root for leaf node L1 based on any one of the methods in step 320. Assume that PE2 serves as a primary root for L1, and PE2 is responsible for sending multicast traffic (S1, G1) to L1. In another possible implementation, after PE2 and PE3 respectively determine that PE1 has failed, PE2 and PE3 determine by themselves a root node that is responsible for sending multicast traffic (S1, G1) to L1. For example, PE2 and PE3 may determine that PE2 and PE3 serve as a primary root and a secondary root for leaf node L1 based on any one of the methods in step 320. 21 The value of hash 31 Based on the value of , PE2 determines that PE2 serves as the primary route of L1, and PE2 is responsible for sending multicast traffic (S1, G1) to L1. In the embodiment of the present application, based on the detected failure information of PE1, the switching result obtained by PE2 / PE3 is the same as that obtained by the update information sent by L1 to PE2 / PE3 after L1 detects the failure of PE1, whichever occurs first may trigger the switching. In this way, the performance may be improved and the time of multicast traffic interruption due to node failure may be shortened. When PE1 fails or the link between PE1 and L1 fails, PE2 serves as both the primary route of L1 and the primary route of L2. PE2 sends multicast traffic (S1, G1) to L1 and L2 separately. Taking a BIER tunnel as an example, root node PE2 may encapsulate a BIER header for multicast traffic (S1, G1), and the BIER header may include a bit string field, where the values ​​of the bits corresponding to leaf nodes L1, L2 in the bit string are both 1.

[0158] PE3 continues to act as the primary root for L3 and is responsible for forwarding multicast traffic (S1, G1) to L3, i.e., if one root node fails, traffic continues to be load-shared.

[0159] In the above technical solution, each of the root nodes can implement load sharing when the service works properly to reduce the service amount of a single device, can implement fast protection when a device fails, and can also implement effective protection when the link between the leaf node and the root node fails.

[0160] It should be understood that the sequence numbers of the above processes do not mean the execution order in the embodiment of the present application. The execution order of the processes should be determined based on the functions and internal logic of the processes, and should not constitute any restriction on the implementation process of the embodiment of this application.

[0161] The above describes in detail the load sharing method provided in the embodiment of the present application with reference to Figures 1 to 3A and 3B. The following describes in detail the device embodiment of the present application with reference to Figures 4 to 9. It should be understood that the description of the method embodiment corresponds to the description of the apparatus embodiment. Therefore, for the parts not described in detail, please refer to the description in the above method embodiment.

[0162] 4 is a schematic diagram of the structure of a first root node device 400 according to an embodiment of the present application. The first root node device 400 shown in FIG. 4 may perform the corresponding steps performed by the first root node device in the method of the previous embodiment. As shown in FIG. 4, the first root node device 400 includes a receiving module 410 and a determining module 420.

[0163] The receiving module 410 is configured to receive a message sent by a leaf child node device, the message including a first identifier and configuration information, the first identifier indicating the leaf child node device, the configuration information indicating how to configure load sharing from a root node device group to the leaf child node device requested by the leaf child node device, the root node device group including a first root node device.

[0164] The determination module 420 is configured to determine a configuration result of load sharing from the first root node device to the leaf node device based on the first identifier and the configuration information.

[0165] The determination module 420 is further configured to determine, in response to the configuration result being a first result, that the first root node device is a primary root for the leaf node device, the primary root indicating that the first root node device is a designated forwarder for forwarding multicast traffic to the leaf node device; or

[0166] The determination module 420 is further configured to determine, in response to the configuration result being a second result, that the first root node device is a secondary root of the leaf node device, the secondary root indicating that the first root node device is an undesignated forwarder that forwards multicast traffic to the leaf node device.

[0167] Optionally, the configuration information includes first indication information, the first indication information indicating that the first root node device is a primary root for the leaf node devices.

[0168] Optionally, the configuration information includes second indication information, the second indication information indicating that the first root node device is a secondary root of the leaf node device.

[0169] Optionally, the configuration information includes third indication information, where the third indication information indicates information about a candidate root node device that serves as a primary root for the leaf node device.

[0170] Optionally, the candidate root node devices include a first root node device, and the determination module 420 is further configured to perform a hash calculation on the first identifier and the configuration information to obtain a configuration result.

[0171] Optionally, the message further includes a multicast source group (S, G), and the candidate root node devices include a first root node device, and the determination module 420 is further configured to perform a hash calculation on the multicast source group (S, G), the first identifier, and the configuration information to obtain a configuration result.

[0172] Optionally, the receiving module 410 is configured to receive the multicast traffic, and the first root node device further includes a transmitting module 430 configured to transmit the multicast traffic to the leaf node device in response to the first root node device being a primary root for the leaf node device.

[0173] 5 is a schematic diagram of a structure of a leaf node device 500 according to an embodiment of the present application. The leaf node device 500 shown in FIG. 5 may perform the corresponding steps performed by the leaf node device in the method of the above embodiment. As shown in FIG. 5, the leaf node device 500 includes a generating module 510 and a sending module 520.

[0174] The generating module 510 is configured to generate a message, the message including a first identifier and configuration information, where the first identifier indicates a leaf node device and the configuration information indicates a configuration mode requested by the leaf node device of load sharing from a root node device group to the leaf node device.

[0175] The sending module 520 is configured to send the message to a first root node device, where the root node device group includes the first root node device.

[0176] Optionally, the configuration information includes first indication information, the first indication information indicating that the first root node device is a primary root for the leaf node devices, the primary root indicating that the first root node device is a designated forwarder for forwarding multicast traffic to the leaf node devices.

[0177] Optionally, the configuration information includes second indication information, the second indication information indicating that the first root node device is a secondary root for the leaf node device, the secondary root indicating that the first root node device is an undesignated forwarder that forwards multicast traffic to the leaf node device.

[0178] Optionally, the configuration information includes third indication information, where the third indication information indicates information about a candidate root node device that serves as a primary root for the leaf node device.

[0179] Optionally, the first root node device is a primary root of the leaf node devices, and the leaf node device 500 further includes a receiving module 530 configured to receive multicast traffic transmitted by the first root node device.

[0180] 6 is a schematic diagram of a hardware structure of a first root node device 2000 according to an embodiment of the present application. As shown in FIG. 6, the first root node device 2000 may perform the corresponding steps performed by the first root node device in the method of the previous embodiment.

[0181] 6, the first root node device 2000 includes a processor 2001, a memory 2002, an interface 2003, and a bus 2004. The interface 2003 may be implemented in a wireless or wired manner, and may be specifically a network adapter. The processor 2001, the memory 2002, and the interface 2003 are connected through the bus 2004.

[0182] The interface 2003 may specifically include a transmitter and a receiver, and may be configured to enable the first network device to perform the above-mentioned receiving and transmitting. For example, the interface 2003 may be configured to support the first root node device in receiving a message transmitted by a leaf node device.

[0183] The processor 2001 is configured to perform the processing performed by the first root node device in the aforementioned embodiment. For example, it is configured to determine a configuration result of load sharing from the first root node device to the leaf node devices based on the first identifier and the configuration information, and / or is used in another process of the technique described herein. The memory 2002 includes an operating system 20021 and an application program 20022, and is configured to store programs, codes, or instructions. When executing the programs, codes, or instructions, the processor or hardware device may complete the processing process of the first root node device in the embodiment of the method. Optionally, the memory 2002 may include a read-only memory (ROM) and a random access memory (RAM). The ROM includes a basic input / output system (BIOS) or an embedded system, and the RAM includes an application program and an operating system. When the first root node device 2000 needs to be executed, the BIOS embedded in the ROM or the bootloader of the embedded system is used to boot and start the system, and boots the first root node device 2000 to enter a normal operating state. After entering the normal operating state, the first root node device 2000 executes the application program and the operating system in the RAM to complete the processing process of the first root node device 2000 in the method embodiment.

[0184] It will be understood that Fig. 6 shows only a simplified design of the first root node device 2000. In actual applications, the first root node device may include any number of interfaces, processors, or memories.

[0185] 7 is a schematic diagram of a hardware structure of another first root node device 2100 according to an embodiment of the present application. The first root node device 2100 shown in FIG. 7 may perform the corresponding steps performed by the first root node device in the method of the previous embodiment.

[0186] As shown in FIG. 7, the first root node device 2100 includes a main control board 2110, an interface board 2130, a switching board 2120, and an interface board 2140. The main control board 2110, the interface board 2130, the interface board 2140, and the switching board 2120 are connected to a platform backboard through a system bus for interworking. The main control board 2110 is configured to complete functions such as system management, device maintenance, and protocol processing. The switching board 2120 is configured to exchange data between the interface boards (the interface boards are also referred to as line cards or service boards). The interface boards 2130 and 2140 are configured to provide various service interfaces (e.g., a POS interface, a GE interface, and an ATM interface) and forward data packets.

[0187] The interface board 2130 may include a central processing unit 2131, a forwarding entry memory 2134, a physical interface card 2133, and a network processor 2132. The central processing unit 2131 is configured to control and manage the interface board and communicate with a central processing unit on a main control board. The forwarding entry memory 2134 is configured to store entries. The physical interface card 2133 is configured to receive and transmit traffic.

[0188] It should be understood that the operations on interface board 2140 correspond to the operations on interface board 2130 in this embodiment of the present application. For the sake of brevity, the details will not be described again.

[0189] It should be understood that the first root node device 2100 in this embodiment may correspond to functions and / or various implementation steps in the method embodiments, and the details will not be described again here.

[0190] In addition, it should be noted that there may be one or more main control boards. When there are multiple main control boards, the main control board may include an active main control board and a standby main control board. There may be one or more interface boards, and the first root node device with powerful data processing capabilities provides many interface boards. There may be one or more physical interface cards on the interface board. There may be no switching board, or there may be one or more switching boards. When there are multiple switching boards, load balancing and redundant backup may be implemented together. In the centralized forwarding architecture, the first root node device may not require a switching board, and the interface board serves as the service data processing function for the entire system. In the distributed forwarding architecture, the first root node device may have at least one switching board, and data exchange between the multiple interface boards is implemented via the switching board to provide large-capacity data exchange and processing capabilities. Thus, the data access and processing capabilities of the first root node device in the distributed architecture are superior to those of the device in the centralized architecture. The specific architecture used depends on the specific networking deployment scenario, which is not limited here.

[0191] 8 is a schematic diagram of a hardware structure of a leaf node device 2200 according to an embodiment of the present application. The leaf node device 2200 shown in FIG. 8 may perform the corresponding steps performed by the leaf node device in the method of the above embodiment.

[0192] 8, the leaf node device 2200 includes a processor 2201, a memory 2202, an interface 2203, and a bus 2204. The interface 2203 may be implemented in a wireless or wired manner, and may be specifically a network adapter. The processor 2201, the memory 2202, and the interface 2203 are connected through the bus 2204.

[0193] The interface 2203 may specifically include a transmitter and a receiver configured to send a message to the first root node device and receive the multicast traffic transmitted by the first root node device. The processor 2201 is configured to perform the processing performed by the leaf node device in the above-mentioned embodiment. For example, the processor 2201 is configured to generate a message and / or perform another process of the technique described herein. The memory 2202 includes an operating system 22021 and an application 22022, and is configured to store programs, codes, or instructions. When executing the programs, codes, or instructions, the processor or hardware device may complete the processing process of the leaf node device in the embodiment of the method. Optionally, the memory 2202 may include a read-only memory (ROM) and a random access memory (RAM). The ROM includes a basic input / output system (BIOS) or an embedded system, and the RAM includes an application program and an operating system. When the leaf node device 2200 needs to run, the BIOS embedded in the ROM or the bootloader of the embedded system is used to boot and start the system, and boots the leaf node device 2200 into a normal operating state. After entering the normal operating state, the leaf node device 2200 executes the application programs and the operating system in the RAM to complete the processing process of the leaf node device 2200 in the embodiment of the method.

[0194] It will be appreciated that Figure 8 shows only a simplified design of the leaf node device 2200. In practical applications, the leaf node device may include any number of interfaces, processors, or memories.

[0195] FIG. 9 is a schematic diagram of a hardware structure of another leaf node device 2300 according to an embodiment of the present application. The leaf node device 230 shown in FIG. 0 may perform corresponding steps performed by the leaf node device in the method of the aforementioned embodiment.

[0196] As shown in FIG. 0 includes a main control board 2310, an interface board 2330, a switching board 2320, and an interface board 2340. The main control board 2310, the interface boards 2330 and 2340, and the switching board 2320 are connected to a system backboard through a system bus for interworking. The main control board 2310 is configured to complete functions such as system management, device maintenance, protocol processing, etc. The switching board 2320 is configured to exchange data between interface boards (the interface boards are also called line cards or service boards). The interface boards 2330 and 2340 are configured to provide various service interfaces (e.g., a POS interface, a GE interface, and an ATM interface) and forward data packets.

[0197] The interface board 2330 may include a central processing unit 2331, a forwarding entry memory 2334, a physical interface card 2333, and a network processor 2332. The central processing unit 2331 is configured to control and manage the interface board and communicate with a central processing unit on a main control board. The forwarding entry memory 2334 is configured to store forwarding entries. The physical interface card 2133 is configured to receive and transmit traffic.

[0198] It should be understood that the operations on the interface board 2340 correspond to the operations on the interface board 2330 in this embodiment of the present application. For the sake of brevity, details will not be described. It should be understood that the leaf node device 2300 in this embodiment may correspond to the functions and / or various implementation steps in the embodiment of the method. Details will not be described again here.

[0199] In addition, it should be noted that there may be one or more main control boards. When there are multiple main control boards, the main control board may include an active main control board and a standby main control board. There may be one or more interface boards, and a leaf node device with powerful data processing capabilities provides many interface boards. There may be one or more physical interface cards on the interface board. There may be no switching board, or there may be one or more switching boards. When there are multiple switching boards, load balancing and redundant backup may be implemented together. In a centralized forwarding architecture, a leaf node device may not require a switching board, and the interface board serves as a service data processing function for the entire system. In a distributed forwarding architecture, a leaf node device may have at least one switching board, and data exchange between multiple interface boards is implemented via the switching board to provide large-capacity data exchange and processing capabilities. Thus, the data access and processing capabilities of a leaf node device in a distributed architecture are superior to those of a device in a centralized architecture. The specific architecture used depends on the specific networking deployment scenario, which is not limited here.

[0200] An embodiment of the present application further provides a computer-readable medium. The computer-readable medium stores a program code. When the computer program code is executable on a computer, the computer is enabled to perform the method performed by the first root node device. The computer-readable storage medium includes, but is not limited to, one or more of a read-only memory (ROM), a programmable ROM (PROM), an erasable PROM (EPROM), a Flash memory, an electrically EPROM (EEPROM), and a hard drive.

[0201] An embodiment of the present application further provides a computer-readable medium. The computer-readable medium stores a program code. When the computer program code is executable on a computer, the computer is enabled to perform the method performed by the leaf node device. The computer-readable storage medium includes, but is not limited to, one or more of a read-only memory (ROM), a programmable ROM (PROM), an erasable PROM (EPROM), a Flash memory, an electrically EPROM (EEPROM), and a hard drive.

[0202] An embodiment of the present application further provides a chip system applied to a first root node device. The chip system includes at least one processor, at least one memory, and an interface circuit. The interface circuit is responsible for information exchange between the chip system and the outside. The at least one memory, the interface circuit, and the at least one processor are interconnected through a line. The at least one memory stores instructions, and the instructions are executed by the at least one processor to perform the operation of the first root node device in the method of the aforementioned aspect.

[0203] In certain process implementations, the chip may be implemented in the form of a central processing unit (CPU), micro controller unit (MCU), micro processing unit (MPU), digital signal processing (DSP), system on chip (SoC), application specific integrated circuit (ASIC), field programmable gate array (FPGA), or programmable logic device (PLD).

[0204] An embodiment of the present application further provides a chip system applied to a leaf node device. The chip system includes at least one processor, at least one memory, and an interface circuit. The interface circuit is responsible for information exchange between the chip system and the outside. The at least one memory, the interface circuit, and the at least one processor are interconnected through a line. The at least one memory stores instructions, and the instructions are executed by the at least one processor to perform the operation of the leaf node device in the method of the aforementioned aspect.

[0205] In certain process implementations, the chip may be implemented in the form of a central processing unit (CPU), micro controller unit (MCU), micro processing unit (MPU), digital signal processing (DSP), system on chip (SoC), application specific integrated circuit (ASIC), field programmable gate array (FPGA), or programmable logic device (PLD).

[0206] An embodiment of the present application further provides a computer program product applied to a first root node device, the computer program product including a set of instructions, which, when executed, cause the first root node device to perform operations in the method of the aforementioned aspect.

[0207] An embodiment of the present application further provides a computer program product applied to a leaf node device, the computer program product comprising a set of instructions, which, when executed, cause the leaf node device to perform operations in the method of the aforementioned aspect.

[0208] Those skilled in the art should know with reference to the examples described in the embodiments disclosed herein that the units and algorithm steps can be implemented by electronic hardware or a combination of computer software and electronic hardware. Whether a function is implemented by hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art may use various methods to implement the described functions for each specific application, but the implementation form should not be considered as going beyond the scope of this application.

[0209] It will be clearly understood by those skilled in the art that for the purpose of convenient and concise description, for the detailed operation processes of the aforementioned systems, devices and units, please refer to the corresponding processes in the aforementioned method embodiments, and the details will not be described again in this specification.

[0210] In some embodiments provided in this application, it should be understood that the disclosed system, device, and method may be implemented in other ways. For example, the described device embodiment is merely an example. For example, the division into units is merely a logical division of functions, and may be other divisions in actual implementation. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not implemented. In addition, the shown or discussed mutual couplings or direct couplings or communication connections may be implemented through some interfaces. Indirect couplings or communication connections between devices or units may be implemented in electronic, mechanical, or other forms.

[0211] The units described as separate parts may or may not be physically separate, and the parts shown as units may or may not be physical units, i.e., they may be located in one place or distributed among multiple network units. Some or all of the units may be selected based on actual requirements to achieve the objectives of the solutions of the embodiments.

[0212] In addition, the functional units in the embodiments of the present application may be integrated into one processing unit, or each of the units may exist physically alone, or two or more units may be integrated into one unit.

[0213] When the function is implemented in the form of a software functional unit and sold or used as an independent product, the function may be stored in a computer-readable storage medium. Based on such understanding, the technical solution of the present application may be essentially implemented in the form of a software product, or the part that contributes to the prior art, or all or part of the technical solution may be implemented in the form of a software product. The computer software product is stored in a storage medium and includes some instructions for instructing a computer device (which may be a personal computer, a server, a network device, etc.) to perform all or part of the steps of the method described in the embodiments of the present application. The aforementioned storage medium includes any medium that can store program code, such as a USB flash drive, a removable hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

[0214] The above description is merely a specific implementation form of the present application, and the protection scope of the present application is not limited thereto. Any variations or replacements that are easily conceived by those skilled in the art within the technical scope disclosed in this application shall fall within the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims. [Explanation of symbols]

[0215] 110 Multicast Source 120 Switch 400 First Root Node Device 410 Receiver Module 420 Decision Module 430 Transmitting Module 500 Leaf Node Devices 510 Generation Module 520 Transmitter Module 530 Receiver Module 2000 First Root Node Device 2001 Processor 2002 Memory 2003 Interface 2004 Bus 2100 First Root Node Device 2110 Main Control Board 2120 Switching Board 2130 Interface Board 2131 Central Processing Unit 2132 Network Processor 2133 Physical Interface Card 2134 Forwarding Entry Memory 2140 Interface Board 2200 Leaf Node Devices 2201 Processor 2202 Memory 2203 Interface 2204 Bus 2300 Leaf Node Devices 2310 Main Control Board 2320 Switching Board 2330 Interface Board 2331 Central Processing Unit 2332 Network Processor 2333 Physical Interface Card 2334 forwarding entry memory 2340 Interface Board 20021 Operating System 20022 Application Program 22021 Operating Systems 22022 Application Program

Claims

1. 1. A load sharing method, comprising: receiving, by a first root node device, a message transmitted by a leaf node device, the message including a first identifier and configuration information, the first identifier indicating the leaf node device, the configuration information indicating a configuration mode requested by the leaf node device of load sharing from a root node device group to the leaf node device, the root node device group comprising the first root node device; and determining, by the first root node device, a configuration result of the load sharing from the first root node device to the leaf node devices based on the first identifier and the configuration information.

2. 2. The method of claim 1, wherein the configuration information includes first indication information, the first indication information indicating that the first root node device is a primary root for the leaf node device, and the primary root indicating that the first root node device is a designated forwarder (DF) that forwards multicast traffic to the leaf node device.

3. 2. The method of claim 1, wherein the configuration information includes second indication information, the second indication information indicating that the first root node device is a secondary root of the leaf node device, and the secondary root indicating that the first root node device is a non-designated forwarder (non-DF) that forwards multicast traffic to the leaf node device.

4. 2. The method of claim 1, wherein the configuration information includes third instruction information, the third instruction information indicating information regarding a candidate root node device that will serve as a primary root for the leaf node device.

5. The candidate root node devices include the first root node device, and the step of determining, by the first root node device, a configuration result of the load sharing from the first root node device to the leaf node devices based on the first identifier and the configuration information includes:

5. The method of claim 4, comprising: performing, by the first root node device, a hash calculation on the first identifier and the configuration information to obtain the configuration result.

6. The message further includes a multicast source group (S, G), and the candidate root node devices include the first root node device; determining, by the first root node device, a configuration result of the load sharing from the first root node device to the leaf node devices based on the first identifier and the configuration information, 5. The method of claim 4, comprising: performing, by the first root node device, a hash calculation on the multicast source group (S, G), the first identifier, and the configuration information to obtain the configuration result.

7. The method further comprising: receiving, by the first root node device, multicast traffic; and transmitting, by the first root node device, the multicast traffic to the leaf node device in response to the first root node device being a primary root for the leaf node device.

8. a first root node device, a receiving module configured to receive a message transmitted by a leaf node device, the message including a first identifier and configuration information, the first identifier indicating the leaf node device, the configuration information indicating a configuration mode requested by the leaf node device of load sharing from a root node device group to the leaf node device, the root node device group comprising the first root node device; a determination module configured to determine a configuration result of the load sharing from the first root node device to the leaf node devices based on the first identifier and the configuration information.

9. 9. The first root node device of claim 8, wherein the configuration information includes first indication information, the first indication information indicating that the first root node device is a primary root for the leaf node device, and the primary root indicating that the first root node device is a designated forwarder (DF) that forwards multicast traffic to the leaf node device.

10. The first root node device of claim 8, wherein the configuration information includes second indication information, the second indication information indicating that the first root node device is a secondary root of the leaf node device, and the secondary root indicating that the first root node device is a non-designated forwarder (non-DF) that forwards multicast traffic to the leaf node device.

11. The first root node device of claim 8, wherein the configuration information includes third instruction information, the third instruction information indicating information regarding a candidate root node device that will function as a primary root for the leaf node device.

12. the candidate root node devices comprise the first root node device, and the determination module: The first root node device of claim 11 , further configured to perform a hash calculation on the first identifier and the configuration information to obtain the configuration result.

13. The message further includes a multicast source group (S, G), the candidate root node device comprises the first root node device, and the decision module: The first root node device of claim 11, further configured to perform a hash calculation on the multicast source group (S, G), the first identifier, and the configuration information to obtain the configuration result.

14. the receiving module is configured to receive multicast traffic; the first root node device: The first root node device of any one of claims 8 to 13, further comprising a transmission module configured to transmit the multicast traffic to the leaf node device in response to the first root node device being a primary root for the leaf node device.

15. A leaf node device, comprising: a generating module configured to generate a message, the message including a first identifier and configuration information, the first identifier indicating the leaf node device, and the configuration information indicating a configuration mode requested by the leaf node device of load sharing from a root node device group to the leaf node device; a transmission module configured to transmit the message to a first root node device, the root node device group comprising the first root node device; The first root node device receives the message from the leaf node device and determines a configuration result of the load sharing from the first root node device to the leaf node device based on the first identifier and the configuration information, a leaf node device.

Citation Information

Patent Citations

  • Apparatus connecting first and second networks, and method for transmitting packet stream transferred in multipoint mode by apparatus

    JP2006191635A

  • Network relay apparatus

    JP2011023876A

  • Multicast load balancing in multihoming EVPN networks

    US20180287946A1