WO2022135217A1 - 负载分担的方法、根节点设备、叶子节点设备以及系统 - Google Patents

负载分担的方法、根节点设备、叶子节点设备以及系统 Download PDF

Info

Publication number
WO2022135217A1
WO2022135217A1 PCT/CN2021/137653 CN2021137653W WO2022135217A1 WO 2022135217 A1 WO2022135217 A1 WO 2022135217A1 CN 2021137653 W CN2021137653 W CN 2021137653W WO 2022135217 A1 WO2022135217 A1 WO 2022135217A1
Authority
WO
WIPO (PCT)
Prior art keywords
node device
root
root node
leaf node
leaf
Prior art date
Application number
PCT/CN2021/137653
Other languages
English (en)
French (fr)
Inventor
谢经荣
段方红
刘淑英
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CN202110108665.4A external-priority patent/CN114726795A/zh
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP21909214.5A priority Critical patent/EP4250675A4/en
Priority to JP2023537695A priority patent/JP2024500451A/ja
Publication of WO2022135217A1 publication Critical patent/WO2022135217A1/zh
Priority to US18/337,940 priority patent/US20230336484A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • H04L45/488Routing tree calculation using root node determination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/15Flow control; Congestion control in relation to multipoint traffic

Definitions

  • the present application relates to the field of network communication, and more particularly, to a load sharing method, a root node device, a leaf node device, and a system.
  • Multicast is an efficient way to send data at the same time by using a multicast address to multiple devices on a transmission control protocol (TCP)/Internet protocol (Internet Protocol, IP) network.
  • TCP transmission control protocol
  • IP Internet Protocol
  • the multicast application scenario includes multiple root node devices.
  • one of the multiple root node devices is used as a master device and is responsible for sending multicast traffic to leaf node devices.
  • the other devices except the active device serve as backup devices of the leaf node device. Under the condition that the active device works normally, the other backup devices do not send multicast traffic to the leaf node device.
  • the active device among the multiple root node devices may fail due to excessive load.
  • the present application provides a load sharing method, a first root node device, a leaf node device, and a load sharing system, which can realize load sharing of multicast traffic.
  • a load sharing method is provided, the method is applied to a communication network, the communication network includes a multicast source device, a root node device group and a leaf node device, and the multicast source device is configured to use the multicast source device via the
  • the root node device group sends multicast traffic to the leaf node device
  • 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 includes a first identifier and configuration information, the first identifier indicates the leaf node device, and the configuration information is used to indicate that the leaf node device requests from the root node device group to the leaf
  • the configuration method of load sharing of node devices, the root node device group includes the first root node device; the first root node device determines the first root node device according to the first identifier and the configuration information.
  • the configuration result of load sharing from the device to the leaf node device in response to the configuration result being the first result, the first root node device determines that the first root node device is the main root of the leaf node device, so The primary root indicates that the first root node device is the designated forwarder DF that forwards the multicast traffic to the leaf node device; or in response to the configuration result being the second result, the first root node device determines that the The first root node device is a backup root of the leaf node device, and the backup root indicates that the first root node device is a non-designated forwarder non-DF that forwards the multicast traffic to the leaf node device.
  • the configuration information includes first indication information, and the first indication information is used to indicate that the first root node device is a member of the leaf node device. taproot.
  • the configuration information includes second indication information, and the second indication information is used to indicate that the first root node device is a member of the leaf node device. Prepare root.
  • the configuration information includes third indication information, where the third indication information is used to indicate information about a candidate root node device that is the main root of the leaf node device .
  • the candidate root node devices include the first root node device, and the first root node device hashes the first identification and configuration information. Calculation is performed to obtain the configuration result.
  • the message further includes a multicast source group (S, G), the candidate root node devices include the first root node device, and the The first root node device performs hash calculation on the multicast source group (S, G), the first identifier and the configuration information to obtain the configuration result.
  • S, G multicast source group
  • the first root node device performs hash calculation on the multicast source group (S, G), the first identifier and the configuration information to obtain the configuration result.
  • the method further includes: the first root node device receiving the multicast traffic; in response to the first root node device being the leaf node The primary root of the device, the first root node device sends the multicast traffic to the leaf node device.
  • the communication network is a multicast virtual private network MVPN.
  • a load sharing method is provided, the method is 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 used for
  • the root node device group sends multicast traffic to the leaf node device
  • the root node device group includes at least two root node devices
  • the method includes: the leaf node device generates a message, and the message includes a first an identifier and configuration information, where the first identifier indicates the leaf node device, and the configuration information is used to indicate the load sharing request from the root node device group to the leaf node device requested by the leaf node device
  • the configuration mode the leaf node device sends the message to the first root node device, and the root node device group includes the first root node device.
  • the configuration information includes first indication information, and the first indication information is the primary root of the leaf node device, and the first root node device is the main root of the leaf node device.
  • the primary root indicates that the first root node device is a designated forwarder DF that forwards the multicast traffic to the leaf node device.
  • the configuration information includes second indication information, and the second indication information that the first root node device is the backup root of the leaf node device, so The backup root indicates that the first root node device is a non-designated forwarder non-DF that forwards the multicast traffic to the leaf node device.
  • the configuration information includes third indication information, where the third indication information is used to indicate information about a candidate root node device that is the main root of the leaf node device.
  • the first root node device is the main root of the leaf node device, and the method further includes: the leaf node device receives the first root node device The multicast traffic sent.
  • the communication network is a multicast virtual private network MVPN.
  • a load sharing method is provided, the method is applied to a communication network, the communication network includes a multicast source device, a root node device group, and a first leaf node device and a second leaf node device, the The multicast source device is configured to send multicast traffic to the first leaf node device and the second leaf node device via the root node device group, where the root node device group includes the first root node device and the second leaf node device A root node device, the method includes: the first root node device receives the multicast traffic, and the root node device group includes the first root node device; in response to the first root node device being the The primary root of the first leaf node device, the first root node device sends the multicast traffic to the first leaf node device, and the first root node device is the primary root of the first leaf node device to indicate the first root node device.
  • a node device is the 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 first node device.
  • Two root node devices in response to the second root node device being the main root of the second leaf node device, the second root node device sends the multicast traffic to the second leaf node device, and the first root node device sends the multicast traffic to the second leaf node device.
  • the second root node device is the primary root of the second leaf node device, indicating that the second root node device is the designated forwarder DF that forwards the multicast traffic to the second leaf node device.
  • the method further includes: receiving, by the first root node device, a first message sent by the first leaf node device, where the first message includes The first identifier and the first configuration information, the first identifier indicates the first leaf node device, and the first configuration information is used to indicate that the first leaf node device requests from the root node device
  • the first load sharing configuration result of the node device in response to the first load sharing configuration result being the first result, the first root node device determines that the first root node device is the first leaf node device the taproot.
  • the first configuration information includes first indication information, and the first indication information is used to indicate that the first root node device is the first The main root of the leaf node device.
  • the first configuration information includes second indication information, and the second indication information is used to indicate the first leaf node device that is the main root of the first leaf node device.
  • a candidate root node device information is used.
  • the first candidate root node device includes the first root node device, and the first root node device compares the first identifier with the first root node device. Hash calculation is performed on the configuration information to obtain the configuration result of the first load sharing.
  • the first message further includes a multicast source group (S, G), and the first candidate root node device includes the first root node device, the first root node device performs hash calculation on the multicast source group (S, G), the first identifier and the configuration information, to obtain the configuration result of the first load sharing.
  • S, G multicast source group
  • the first candidate root node device includes the first root node device, the first root node device performs hash calculation on the multicast source group (S, G), the first identifier and the configuration information, to obtain the configuration result of the first load sharing.
  • the method further includes: receiving, by the second root node device, a second message sent by the second leaf node device, where the second message includes The second identifier and the second configuration information, the second identifier indicates the second leaf node device, and the second configuration information is used to indicate the request from the root node device group to the second leaf node device requested by the second leaf node device.
  • a configuration method for load sharing of the second leaf node device the second root node device determines the route from the second root node device to the second leaf node according to the second identifier and the second configuration information The second load sharing configuration result of the device; in response to the second load sharing configuration result being the second result, the second root node device determines that the second root node device is the second leaf node device. taproot.
  • the second configuration information includes third indication information, and the third indication information is used to indicate that the second root node device is the second root node device.
  • the main root of the leaf node device is the second root node device.
  • the second configuration information includes fourth indication information, and the fourth indication information is used to indicate the first root that is the main root of the second leaf node device. Two candidate root node device information.
  • the second candidate root node device includes the second root node device, and the second root node device compares the second identifier with the second root node device. Hash calculation is performed on the configuration information to obtain the configuration result of the second load sharing.
  • the second message further includes a multicast source group (S, G), and the second candidate root node device includes the second root node device, the second root node device performs hash calculation on the multicast source group (S, G), the second identifier and the second configuration information, to obtain the configuration result of the second load sharing.
  • S, G multicast source group
  • the second candidate root node device includes the second root node device, the second root node device performs hash calculation on the multicast source group (S, G), the second identifier and the second configuration information, to obtain the configuration result of the second load sharing.
  • the communication network is a multicast virtual private network MVPN.
  • a first root node device is provided, the first root node device is applied to a communication network, and the communication network includes a multicast source device, a root node device group, and a leaf node device, and the multicast source device
  • the device is configured to send multicast traffic to the leaf node device via the root node device group, where the root node device group includes at least two root node devices including the first root node device, the first root node device
  • the root node device includes: a receiving module configured to receive a message sent by the leaf node device, where the message includes a first identifier and configuration information, the first identifier indicates the leaf node device, and the configuration information is used for Indicate the configuration mode of load sharing from the root node device group to the leaf node device requested by the leaf node device, where the root node device group includes the first root node device; the determining module is configured to according to The first identifier and the configuration information determine a configuration result of load sharing from the first root node device to the leaf no
  • the configuration information includes first indication information, and the first indication information is used to indicate that the first root node device is a member of the leaf node device. taproot.
  • the configuration information includes second indication information, and the second indication information is used to indicate that the first root node device is a member of the leaf node device. Prepare root.
  • the configuration information includes third indication information, where the third indication information is used to indicate a candidate root node device that is the main root of the leaf node device information.
  • the candidate root node devices include the first root node device, and the determining module is specifically configured to: perform the first identification and configuration information on the first root node device. Hash calculation is performed to obtain the configuration result.
  • the message further includes a multicast source group (S, G), the candidate root node devices include the first root node device, and the The determining module is specifically configured to: perform hash calculation on the multicast source group (S, G), the first identifier and the configuration information to obtain the configuration result.
  • S, G multicast source group
  • the determining module is specifically configured to: perform hash calculation on the multicast source group (S, G), the first identifier and the configuration information to obtain the configuration result.
  • the receiving module is configured to receive the multicast traffic;
  • the first root node device further includes: a sending module, configured to respond to the first root node device.
  • a node device is the main root of the leaf node device, and sends the multicast traffic to the leaf node device.
  • the communication network is a multicast virtual private network MVPN.
  • a fifth aspect provides a leaf node device, the leaf node device is applied to a communication network, the communication network includes a multicast source device, a root node device group, and the leaf node device, and the multicast source device uses
  • the root node device group includes at least two root node devices
  • the leaf node device includes: a generating module for generating a message, the The message includes a first identifier and configuration information, where the first identifier indicates the leaf node device, and the configuration information is used to indicate the information requested by the leaf node device from the root node device group to the leaf node
  • a configuration method for load sharing of devices a sending module, configured to send the message to a first root node device, where the root node device group includes the first root node device.
  • the configuration information includes first indication information, and the first indication information, and the first root node device is the main root of the leaf node device, so The primary root indicates that the first root node device is a designated forwarder DF that forwards the multicast traffic to the leaf node device.
  • the configuration information includes second indication information, and the second indication information that the first root node device is the backup root of the leaf node device,
  • the backup root indicates that the first root node device is a non-designated forwarder non-DF that forwards the multicast traffic to the leaf node device.
  • the configuration information includes third indication information, where the third indication information is used to indicate information about a candidate root node device that is the main root of the leaf node device .
  • the first root node device is the main root of the leaf node device, and the leaf node device further includes: a receiving module configured to receive the first root node device. The multicast traffic sent by the root node device.
  • the communication network is a multicast virtual private network MVPN.
  • a load sharing system is provided, the system is 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 The multicast source device is configured to send multicast traffic to the first leaf node device and the second leaf node device via the root node device group, where the root node device group includes the first root node device and the second leaf node device A root node device, the system includes: a receiving module for the first root node device to receive the multicast traffic, and the root node device group includes the first root node device; a sending module for responding Since the first root node device is the main root of the first leaf node device, the first root node device sends the multicast traffic to the first leaf node device, and the first root node device is the first root node device.
  • the primary root of a leaf node device indicates that the first root node device is the designated forwarder DF that forwards the multicast traffic to the first leaf node device; the receiving module is also used for the second root node device receiving the multicast traffic, the root node device group includes the second root node device; a sending module, configured to respond that the second root node device is the main root of the second leaf node device, the The second root node device sends the multicast traffic to the second leaf node device, and the second root node device is the main root of the second leaf node device indicating that the second root node device is to the second leaf node device The node device forwards the specified forwarder DF of the multicast traffic.
  • the determining module is further configured to receive, by the first root node device, a first message sent by the first leaf node device, the first message It includes the first identifier and first configuration information, the first identifier indicates the first leaf node device, and the first configuration information is used to indicate that the first leaf node device requests from the root A configuration method of load sharing between the node device group and the first leaf node device; the system further includes: a determining module for the first root node to determine the slave node according to the first identifier and the first configuration information.
  • the determining module is further configured to respond that the configuration result of the first load sharing is the first result, the The first root node device determines that the first root node device is the primary root of the first leaf node device.
  • the first configuration information includes first indication information, and the first indication information is used to indicate that the first root node device is the first The main root of the leaf node device.
  • the first configuration information includes second indication information, and the second indication information is used to indicate the first leaf node device that is the main root of the first leaf node device.
  • a candidate root node device information is used.
  • the first candidate root node device includes the first root node device, and the determining module is specifically configured to: the first root node device pairs Hash calculation is performed on the first identifier and the first configuration information to obtain the configuration result of the first load sharing.
  • the first message further includes a multicast source group (S, G), and the first candidate root node device includes the first root node device, the determining module is specifically configured to: the first root node device performs hash calculation on the multicast source group (S, G), the first identifier and the first configuration information, to obtain the first The configuration result of load balancing.
  • S, G multicast source group
  • the determining module is specifically configured to: the first root node device performs hash calculation on the multicast source group (S, G), the first identifier and the first configuration information, to obtain the first The configuration result of load balancing.
  • the receiving module is further configured to receive, by the second root node device, a second message sent by the second leaf node device, the second message It includes a second identifier and second configuration information, the second identifier indicates the second leaf node device, and the second configuration information is used to indicate that the second leaf node device requests from the root node device a configuration method of load sharing from the group to the second leaf node device; the determining module is further configured for the second root node device to determine according to the second identifier and the second configuration information the second load sharing configuration result from the root node device to the second leaf node device; the determining module is further configured to respond that the second load sharing configuration result is the second result, the second root node The device determines that the second root node device is the primary root of the second leaf node device.
  • the second configuration information includes third indication information, and the third indication information is used to indicate that the second root node device is the second root node device.
  • the main root of the leaf node device is the second root node device.
  • the second configuration information includes fourth indication information, and the fourth indication information is used to indicate the first root that is the main root of the second leaf node device. Two candidate root node device information.
  • the second candidate root node device includes the second root node device
  • the determining module is further configured to: the second root node device pair Hash calculation is performed on the second identifier and the second configuration information to obtain a configuration result of the second load sharing.
  • the second message further includes a multicast source group (S, G), and the second candidate root node device includes the second root node equipment
  • the determining module is further configured for the second root node equipment to perform hash calculation on the multicast source group (S, G), the second identifier and the second configuration information to obtain the second The configuration result of load balancing.
  • the communication network is a multicast virtual private network (MVPN).
  • MVPN multicast virtual private network
  • a first root node device in a seventh aspect, has a function of implementing the behavior of the first root node device in the above method.
  • the functions can be implemented based on hardware, and can also be implemented based on hardware executing corresponding software.
  • the hardware or software includes one or more modules corresponding to the above functions.
  • the structure of the first root node device includes a processor and an interface, and the processor is configured to support the first root node device to perform corresponding functions in the above method.
  • the interface is used to support the first root node device to receive the message sent by the leaf node device.
  • the first root node device may further include a memory for coupling with the processor, which stores necessary program instructions and data for the first root node device.
  • the first root node device includes: a processor, a transmitter, a receiver, a random access memory, a read only memory, and a bus. Wherein, the processor is respectively coupled to the transmitter, the receiver, the random access memory and the read only memory through the bus.
  • the basic input/output system solidified in the read-only memory or the bootloader in the embedded system is used to boot the system to start, and the first root node device is guided to enter a normal operation state. After the first root node device enters the normal operation state, the application program and the operating system are run in the random access memory, so that the processor executes the first aspect or the method in any possible implementation manner of the first aspect.
  • a first root node device in an eighth aspect, includes: a main control board and an interface board, and further, may also include a switching network board.
  • the first root node device is configured to execute the method in the first aspect or any possible implementation manner of the first aspect.
  • the first root node device includes a module for executing the method in the first aspect or any possible implementation manner of the first aspect.
  • a first root node device in a ninth aspect, includes a control module and a first forwarding sub-device.
  • the first forwarding sub-device includes: an interface board, and further, may also include a switching network board.
  • the first forwarding sub-device is configured to perform the function of the interface board in the eighth aspect, and further, may also perform the function of the switching network 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. Wherein, the processor is respectively coupled to the receiver, the transmitter, the random access memory and the read only memory through the bus.
  • the basic input/output system solidified in the read-only memory or the bootloader in the embedded system is used to boot the system to start, and the control module is guided to enter a normal operation state.
  • the application program and the operating system are run in the random access memory, so that the processor performs the function of the main control board in the eighth aspect.
  • the first root node device may include any number of interfaces, processors or memories.
  • a leaf node device in a tenth aspect, has a function of implementing the behavior of the leaf node device in the above method.
  • the functions can be implemented based on hardware, and can also be implemented based on hardware executing corresponding software.
  • the hardware or software includes one or more modules corresponding to the above functions.
  • the structure of the leaf node device includes a processor and an interface, and the processor is configured to support the leaf node device to perform the corresponding functions in the above method.
  • the interface is used to support sending a message to the first root node device; or receiving the multicast traffic sent by the first root node device.
  • the leaf node device may further include a memory, which is coupled to the processor and stores necessary program instructions and data of the leaf node device.
  • 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 respectively coupled to the transmitter, the receiver, the random access memory and the read only memory through the bus.
  • the basic input/output system solidified in the read-only memory or the bootloader in the embedded system is used to boot the system to start, and the leaf node device is guided to enter a normal operation state. After the leaf node device enters the normal operation state, the application program and the operating system are run in the random access memory, so that the processor executes the method in the second aspect or any possible implementation manner of the second aspect.
  • a leaf node device in an eleventh aspect, includes: a main control board and an interface board, and further, may also include a switching network board.
  • the leaf node device is configured to execute the method in the second aspect or any possible implementation manner of the second aspect.
  • the leaf node device includes a module for executing the method in the second aspect or any possible implementation manner of the second aspect.
  • a twelfth aspect provides a leaf node device, where the leaf node device includes a control module and a first forwarding sub-device.
  • the first forwarding sub-device includes: an interface board, and further, may also include a switching network board.
  • the first forwarding sub-device is configured to perform the function of the interface board in the eleventh aspect, and further, may also perform the function of the switching network 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. Wherein, the processor is respectively coupled to the receiver, the transmitter, the random access memory and the read only memory through the bus.
  • the basic input/output system solidified in the read-only memory or the bootloader in the embedded system is used to boot the system to start, and the control module is guided to enter a normal operation state.
  • the application program and the operating system are run in the random access memory, so that the processor performs the function of the main control board in the eleventh aspect.
  • the leaf node device may contain any number of interfaces, processors or memories.
  • a thirteenth aspect provides a computer program product, the computer program product comprising: computer program code, when the computer program code is run on a computer, the computer program code enables the computer to execute the first aspect or any one of the first aspects. method of execution.
  • a fourteenth aspect provides a computer program product, the computer program product comprising: computer program code, when the computer program code is run on a computer, the computer program code enables the computer to execute the second aspect or any one of the second aspects. method of execution.
  • a computer-readable medium stores program codes that, when the computer program codes are run on a computer, cause the computer to execute the above-mentioned first aspect or any one of the first aspects possible methods.
  • These computer-readable storages include, but are not limited to, one or more of the following: read-only memory (ROM), programmable ROM (PROM), erasable PROM (erasable PROM, EPROM), Flash memory, electrical EPROM (electrically EPROM, EEPROM) and hard drive (hard drive).
  • a computer-readable medium stores program codes, which, when the computer program codes are executed on a computer, cause the computer to execute any one of the above-mentioned second aspect or the second aspect possible methods.
  • These computer-readable storages include, but are not limited to, one or more of the following: read-only memory (ROM), programmable ROM (PROM), erasable PROM (erasable PROM, EPROM), Flash memory, electrical EPROM (electrically EPROM, EEPROM) and hard drive (hard drive).
  • a seventeenth aspect provides a chip, the chip includes a processor and a data interface, wherein the processor reads an instruction stored in a memory through the data interface to execute the first aspect or any possible implementation of the first aspect method in method.
  • the chip can be a central processing unit (CPU), a microcontroller (MCU), a microprocessor (microprocessing unit, MPU), a digital signal processor (digital signal processor) processing, DSP), system on chip (system on chip, SoC), application-specific integrated circuit (application-specific integrated circuit, ASIC), field programmable gate array (field programmable gate array, FPGA) or programmable logic device (programmable logic device) , PLD).
  • CPU central processing unit
  • MCU microcontroller
  • MPU microprocessor
  • DSP digital signal processor
  • system on chip system on chip
  • SoC system on chip
  • application-specific integrated circuit application-specific integrated circuit
  • FPGA field programmable gate array
  • PLD programmable logic device
  • An eighteenth aspect provides a chip, the chip includes a processor and a data interface, wherein the processor reads an instruction stored in a memory through the data interface to execute the second aspect or any possible implementation of the second aspect method in method.
  • the chip can be a central processing unit (CPU), a microcontroller (MCU), a microprocessor (microprocessing unit, MPU), a digital signal processor (digital signal processor) processing, DSP), system on chip (system on chip, SoC), application-specific integrated circuit (application-specific integrated circuit, ASIC), field programmable gate array (field programmable gate array, FPGA) or programmable logic device (programmable logic device) , PLD).
  • CPU central processing unit
  • MCU microcontroller
  • MPU microprocessor
  • DSP digital signal processor
  • system on chip system on chip
  • SoC system on chip
  • application-specific integrated circuit application-specific integrated circuit
  • FPGA field programmable gate array
  • PLD programmable logic device
  • a system in a nineteenth aspect, includes the above-mentioned first root node device and a leaf node device.
  • FIG. 1 is a schematic diagram of a multicast scenario applied to an embodiment of the present application.
  • FIG. 2 is a schematic flowchart of a method for load sharing provided by an embodiment of the present application.
  • FIG. 3 is a schematic flowchart of another load sharing method provided by an embodiment of the present application.
  • FIG. 4 is a schematic structural diagram of a first root node device 400 provided by an embodiment of the present application.
  • FIG. 5 is a schematic structural diagram of a leaf node device 500 according to an embodiment of the present application.
  • FIG. 6 is a schematic diagram of a hardware structure of a first root node device 2000 according to an embodiment of the present application.
  • FIG. 7 is a schematic diagram of a hardware structure of another first root node device 2100 according to an embodiment of the present application.
  • FIG. 8 is a schematic diagram of a hardware structure of a leaf node device 2200 according to an embodiment of the present application.
  • 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 network architecture and service scenarios described in the embodiments of the present application are for the purpose of illustrating the technical solutions of the embodiments of the present application more clearly, and do not constitute limitations on the technical solutions provided by the embodiments of the present application.
  • the evolution of the architecture and the emergence of new business scenarios, the technical solutions provided by the embodiments of the present application are also applicable to similar technical problems.
  • references in this specification to "one embodiment” or “some embodiments” and the like mean that a particular feature, structure, or characteristic described in connection with the embodiment is included in one or more embodiments of the present application.
  • appearances of the phrases “in one embodiment,” “in some embodiments,” “in other embodiments,” “in other embodiments,” etc. in various places in this specification are not necessarily All refer to the same embodiment, but mean “one or more but not all embodiments” unless specifically emphasized otherwise.
  • the terms “including”, “including”, “having” and their variants mean “including but not limited to” unless specifically emphasized otherwise.
  • At least one means one or more, and “plurality” means two or more.
  • And/or which describes the relationship of the associated objects, means that there can be three relationships, for example, A and/or B, which can mean: including the existence of A alone, the existence of A and B at the same time, and the existence of B alone, where A and B can be singular or plural.
  • the character “/” generally indicates that the associated objects are an “or” relationship.
  • At least one item(s) below” or similar expressions thereof refer to any combination of these items, including any combination of single item(s) or plural items(s).
  • At least one (a) of a, b, or c can represent: a, b, c, a-b, a-c, b-c, or a-b-c, where a, b, c may be single or multiple .
  • Multicast is an efficient way to send data at the same time by using a multicast address to multiple devices on a Transmission Control Protocol (TCP)/Internet Protocol (Internet Protocol, IP) network.
  • TCP Transmission Control Protocol
  • IP Internet Protocol
  • the multicast source sends the multicast stream to the members of the multicast group via the links in the network, and all the members of the multicast group in the multicast group can receive the multicast stream.
  • the multicast transmission mode realizes the point-to-multipoint data connection between the multicast source and the members of the multicast group. Since the multicast stream only needs to be transmitted once on each network link, and only when the link has a branch, the multicast will be replicated. Therefore, the multicast transmission method improves the data transmission efficiency and reduces the possibility of congestion in the backbone network.
  • IP multicast technology realizes efficient point-to-multipoint data transmission in an IP network, which can effectively save network bandwidth and reduce network load. Therefore, it has a wide range of applications in real-time data transmission, multimedia conferences, data copying, internet protocol television (IPTV), games and simulations.
  • IPTV internet protocol television
  • the multicast scenario may include: a multicast source 110, a switch (SW) 120, provider edge (PE) 1/PE2/PE3, L1/L2/L3, H1 /H2/H3.
  • SW switch
  • PE provider edge
  • the multicast source 110 is used to send multicast traffic.
  • a multicast traffic can pass through the multicast source group (S, G ) to represent, S represents the address of the multicast source (source), and G represents the address of the multicast group (group, G).
  • S, G represent a multicast traffic.
  • H1/H2/H3 are multicast receivers, and are used to receive the multicast traffic sent by the multicast source 110 .
  • H1/H2/H3 can also be called routers or host devices on the user side.
  • the network composed of PE1/PE2/PE3 and L1/L2/L3 belongs to the bearer network and is used for forwarding the multicast stream sent by the multicast source 110 to H1/H2/H3.
  • the bearer network may be an operator network, or may also be a data center network, or may also be a campus network, etc., which is not specifically limited in this application.
  • PE1/PE2/PE3 are ingress (ingress) devices
  • L1/L2/L3 are egress (egress) PE devices.
  • PE1/PE2/PE3 can also be called ingress PE, or root (root) node, or Root PE.
  • L1/L2/L3 can also be called egress PE, or leaf (leaf) node, or leaf PE.
  • one or more intermediate forwarding devices may also be included between PE1/PE2/PE3 and L1/L2/L3, which is not specifically limited in this application.
  • PE1 as the primary root (primary root) or the primary upstream multicast hop (primary UMH) of the leaf nodes (L1/L2/L3), is responsible for sending multicast traffic to each leaf node. (L1/L2/L3). While PE2 and PE3 serve as backup roots, when PE1 is working normally, PE2 and PE3 are not responsible for sending multicast traffic to each leaf node (L1/L2/L3) and are only in the backup state. Similarly, if there are more leaf nodes (for example, 30 or 300 leaves), PE1 is also responsible for sending multicast traffic to all these leaves, while PE2 and PE3 are in standby state.
  • PE2 or PE3 When PE1 fails or the link between PE1 and SW120 fails, either PE2 or PE3 will take over and be responsible for sending multicast traffic to each leaf node (L1/L2/L3).
  • the load of PE1 when PE1 is working normally, the load of PE1 is large and the loads of PE2 and PE3 are small, which is likely to cause failure of PE1 due to excessive load.
  • PE2 or PE3 is responsible for sending multicast traffic to each leaf node.
  • the load distribution between PE2 and PE3 is also unbalanced, and PE2 or PE3 is responsible for sending multicast traffic because of A fault occurs due to excessive load.
  • the embodiments of the present application provide a method for load sharing, so that multicast traffic is load-balanced among root nodes to achieve load balancing, so as to avoid unbalanced load distribution among root nodes in the above-mentioned related solutions. question.
  • a load sharing method provided by an embodiment of the present application is described in detail below with reference to FIG. 2 .
  • FIG. 2 is a schematic flowchart of a method for load sharing provided by an embodiment of the present application. As shown in FIG. 2, the method may include steps 210-240, and the steps 210-240 will be described in detail below respectively.
  • this method can be applied to a communication network, and can also be referred to as a network to which multicast technology is applied.
  • this method is applied to a virtual private network (VPN), and specifically, it can be applied to a multicast virtual private network.
  • network multicast virtual private network, MVPN.
  • the communication network may include a multicast source device, a root node device group, and a leaf node device, where the multicast source device is configured to send multicast traffic to the leaf node device via the root node device group, and the The root node device group includes at least two root node devices.
  • the network may include one leaf node device, or may also include multiple leaf node devices, which is not specifically limited in this application.
  • the leaf node device is connected to at least two root node devices included in the root node device group; if the network includes multiple leaf node devices, the multiple leaf node devices are connected to the root node. At least two root node devices included in the device group are fully connected.
  • the method can be applied to the multicast scenario shown in FIG. 1 .
  • the multicast source 110 may be the above-mentioned multicast source device.
  • PE1/PE2/PE3 may be the above root node devices, and PE1, PE2, and PE3 constitute a root node device group.
  • L1/L2/L3 may be the leaf node devices above.
  • FIG. 1 takes an example of including three leaf node devices (L1, L2, and L3) for illustration.
  • Step 210 The first root node device receives a message sent by the leaf node device, where the message includes the first identifier and configuration information.
  • 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 the leaf node device, where the message includes the first identifier and configuration information.
  • the first identifier is used to indicate the leaf node device, for example, the first identifier may be the IP address of the leaf node device.
  • the first identifier may also be a bit forwarding router identifier (bit forwarding router identifier, BFR ID) of the leaf node device.
  • the above configuration information may be used to indicate a configuration manner of load sharing from the root node device group to the leaf node device requested by the leaf node device. Specifically, the configuration information indicates that the load sharing from the root node device group to the leaf node device can be implemented in various ways, which are not specifically limited in this application, and several possible implementation ways are described in detail below.
  • the configuration information may include first indication information, where the first indication information indicates that the first root node device is the main root of the leaf node device.
  • the fact that the first root node device is the main root of the leaf node device can be understood as the first root node device is a designated forwarder (designated forwarder, DF) that forwards the multicast traffic to the leaf node device.
  • the configuration information may include second indication information, where the second indication information indicates that the first root node device is the backup root of the leaf node device.
  • the first root node device is a backup root of a leaf node device, it can be understood that the first root node device is a non-designated forwarder (non-designated forwarder, non-DF) that forwards the multicast traffic to the leaf node device .
  • non-DF non-designated forwarder
  • the configuration information may include third indication information, where the third indication information is used to indicate the device information of the candidate root node that is the main root of the leaf node device, and the candidate root node The device determines itself as the primary root of the leaf node device. That is to say, the third indication information indicates a load sharing group serving as the main root of the leaf node device, the load sharing group includes multiple candidate root node devices, and the multiple root node devices in the load sharing group are composed of multiple root node devices. Determine for yourself the device that is the primary root of the leaf node device.
  • the configuration information may also include fourth indication information, the fourth indication information is used to indicate the candidate root node device information as the backup root of the leaf node device, and the candidate root node device is determined by itself as the leaf node device. Backup root of the node device. That is to say, the third indication information indicates a load sharing group serving as the backup root of the leaf node device, the load sharing group includes multiple candidate root node devices, and the multiple root nodes in the load sharing group The device itself decides the device as the backup root of the leaf node device.
  • Step 220 The first root node device determines a configuration result of load sharing from the first root node device to the leaf node device according to the first identifier and the configuration information.
  • the first root node device may determine a configuration result of load sharing from the first root node device to the leaf node device according to the first identification and configuration information.
  • 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 according to the first indication information.
  • 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 according to the second indication information.
  • the first root node device as a candidate root node device of the main root of the leaf node device, can The indicated candidate root node device information as the main root of the leaf node device) performs hash calculation to obtain the first result.
  • the configuration information includes the above-mentioned fourth indication information
  • the first root node device as a candidate root node device of the backup root of the leaf node device, can compare the first identification and configuration information (for example, the information indicated by the fourth indication information) As the candidate root node device information of the backup root of the leaf node device), hash calculation is performed to obtain the second result.
  • the message sent by the leaf node device to the first root node device also includes the broadcast source group (S, G), and the first root node device serves as the main root of the leaf node device.
  • the candidate root node device of the node can perform the broadcast source group (S, G), the first identification and configuration information (for example, the information of the candidate root node device as the main root of the leaf node device indicated by the third indication information) Hash calculation to obtain the first result.
  • the first root node device as the candidate root node device of the backup root of the leaf node device, can compare the broadcast source group (S, G), the first identifier and the configuration information (For example, the information of the candidate root node device as the backup root of the leaf node device indicated by the fourth indication information) is hashed to obtain the second result.
  • the first root node device may determine whether it is the primary root or the backup root of the leaf node device according to whether the load sharing configuration result is the first result or the second result. As an example, if the configuration result of load sharing from the first root node device to the leaf node device is the first result, the first root node device may perform step 230; or, if the load from the first root node device to the leaf node device is loaded The shared configuration result is the first result, and the first root node device may perform step 240 .
  • 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 the primary root of the leaf node device.
  • the first root node device determines itself as the root, and as a designated forwarder for forwarding multicast traffic to the leaf node device, the first root node device can send the multicast traffic to the leaf node device.
  • 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 the backup root of the leaf node device.
  • the first root node device determines itself as the backup root, and as an undesignated forwarder forwarding multicast traffic to the leaf node device, it can prevent the multicast traffic from being sent to the leaf node device.
  • each root node can perform load balancing on the multicast traffic, so as to realize the load balance of the multicast traffic.
  • FIG. 3 A specific implementation manner of the load sharing method provided by the embodiment of the present application is described in detail below by taking the multicast scenario shown in FIG. 1 as an example and in conjunction with FIG. 3 . It should be understood that the example in FIG. 3 is only for helping those skilled in the art to understand the embodiments of the present application, rather than limiting the embodiments of the present application to specific numerical values or specific scenarios exemplified. According to the example of FIG. 3 given below, those skilled in the art can obviously make various equivalent modifications or changes, and such modifications and changes also fall within the scope of the embodiments of the present application.
  • FIG. 3 is a schematic flowchart of another load sharing method provided by an embodiment of the present application. As shown in FIG. 3, the method may include steps 310-337, and the steps 310-337 will be described in detail below respectively.
  • Step 310 The root node PE1 receives a message sent by the leaf node L1, where the message carries the identity of the leaf node L1 and the UMH selection indication information.
  • a border gateway protocol (BGP) session may be established between PE1 and L1 and a BGP-MVPN address family (or BGP-MVPN protocol) may be used, wherein the BGP session may be a pair of devices It can be established directly between the two devices, or can also be established through a routing reflector (RR), which is not specifically limited in this application.
  • BGP border gateway protocol
  • RR routing reflector
  • H1 may send a multicast join message to L1, and the multicast join message is used to acquire multicast traffic (S1, G1).
  • the L1 can send the multicast join message to the root node PE1, the root node PE1 sends the multicast join message to the SW120, and the SW120 sends the multicast join message to the multicast source 110.
  • the above-mentioned multicast join message sent by the multicast receiver H1 is not specifically limited in this embodiment of the present application. It can be an Internet Group Management Protocol (IGMP) message, or a Multicast Listener Discovery (MLD) message, or a Protocol Independent Multicast (PIM) message. information.
  • IGMP Internet Group Management Protocol
  • MLD Multicast Listener Discovery
  • PIM Protocol Independent Multicast
  • the multicast join message sent by H1 to the leaf node L1 may be an IGMP message or an MLD message
  • the multicast join message sent by the root node PE1 to the SW120 may be a PIM message.
  • the above-mentioned leaf node L1 may also send the identity of the leaf node L1 and UMH selection indication information (also referred to as configuration information) to the root node PE1.
  • PE1 may send a selective provider multicast service interface auto-discovery route (S-PMSI A-D) to leaf node L1, and specify multicast traffic (S1, G1).
  • S-PMSI A-D selective provider multicast service interface auto-discovery route
  • the Leaf A-D route may include the identity of the leaf node L1 and the UMH selection indication information.
  • the identifier of the leaf node L1 may be the IP address of the leaf node L1, which is carried in the network layer reachability information (network layer reachability info, NLRI) of the Leaf A-D route.
  • network layer reachability info network layer reachability info
  • NLRI network layer reachability info
  • the identity of its leaf nodes will not be recognized. Change.
  • the above-mentioned UMH selection indication information may be used to indicate the primary root and backup root selected by the leaf node L1, or may also be used to indicate that the root node (PE1/PE2/PE3) decides by itself as the primary root and backup root of the leaf node L1. Different implementations are described in detail.
  • the UMH selection indication information is used to indicate the primary root and backup root selected by the leaf node L1.
  • the leaf node L1 selecting PE1 as the primary root and PE2/PE3 as the backup root Take the leaf node L1 selecting PE1 as the primary root and PE2/PE3 as the backup root as an example. That is, PE1 is responsible for sending multicast traffic to L1. When PE1 is normal, PE2 and PE3 are only in the standby state and are not responsible for sending multicast traffic to L1.
  • the specific form of the UMH selection indication information is not limited in the embodiments of this application, as long as the UMH selection indication information sent to PE1 and the UMH selection indication information sent to PE2/PE3 can be distinguished.
  • the UMH selection indication information in the message sent by L1 to PE1 may be "primary", indicating that L1 selects PE1 as the primary root.
  • the UMH selection indication information sent by L1 to PE2 and PE3 is "secondary", indicating that L1 selects PE2 and PE3 as the backup root.
  • the UMH selection indication information in the message sent by L1 to PE1 may be a "NULL", that is, the default "NULL” is "primary” without additional information, indicating that L1 selects PE1 as the primary root.
  • the UMH selection indication information sent to PE2 and PE3 is "secondary” or “backup” or “standby”, indicating that L1 selects PE2 and PE3 as backup roots.
  • the UMH selection indication information is used to indicate that the candidate root node (PE1/PE2/PE3) serving as the main root of the leaf node L1 determines itself as the main root of the leaf node L1.
  • the UMH selection indication information in the message sent by L1 to the root node PE1 is no longer the primary or secondary indication information, but the set of candidate root nodes (PE1/ PE2/ PE3) notifies the root node PE1. It is up to the root node PE1 to decide whether it is the main root of L1.
  • the above-mentioned information 1 may include information on a candidate root node that is the main root of the leaf node L1, and the information may, for example, be an identifier of the candidate root node.
  • the candidate root node serving as the main root of the leaf L1 includes PE1, PE2, and PE3 as an example for illustration.
  • the identifier may be the ID of PE1, the ID of PE2, and the ID of PE3.
  • the ID of PE1, the ID of PE2, and the ID of PE3 may be the IP addresses of each PE.
  • the IP addresses of PE1/PE2/PE3 are 192.168.10.1, 192.168.20.1, and 192.168.30.1, respectively.
  • the ID of PE1, the ID of PE2, and the ID of PE3 may also be the IPv6 addresses of each PE.
  • the IPv6 addresses of PE1/PE2/PE3 are 2001:db8:1::1234, 2001:db8:2::1234, and 2001:db8:3::1234, respectively.
  • the ID of PE1, the ID of PE2, and the ID of PE3 can also be an identifier configured on each PE. It is assumed that PE1/PE2/PE3, as a group of routers, share an Anycast IP address 192.168.0.1, which is used to identify This group of routers (or group IDs) is configured with an integer 1/2/3 to identify each PE.
  • the IDs of PE1/PE2/PE3 may be 192.168.0.1:1, 192.168.0.1:2, 192.168.0.1:3.
  • the identifier may only include the group ID, which represents the group of routers PE1/PE2/PE3, which may be the Anycast IP address as described above, and then configure the Anycast IP address on the three routers represented by the group ID respectively. Correspondence with the three routers.
  • the above-mentioned information 1 may further include a count, which indicates the number of root nodes included in the set of candidate root nodes serving as the main root of the leaf node L1.
  • the above-mentioned information 1 may further include indication information, where the indication information is used to indicate that the root node included in the set of candidate root nodes serving as the main root of the leaf node L1 determines itself as the main root of L1.
  • this indication can be identified by auto-select-by-root.
  • the above information 1 may be ⁇ PE1, PE2, PE3, auto-select-by-root>, where ⁇ PE1, PE2, PE3> indicates that the set of candidate root nodes serving as the main root of the leaf node L1 includes
  • the root node of L1, ⁇ auto-select-by-root> means that PE1/PE2/PE3 determines by itself as the main root of L1.
  • Step 315 The root node PE1 determines a load sharing configuration result according to the message sent by the leaf node L1, and the configuration result is that the root node PE1 is the main root of the leaf node L1.
  • the UMH selection indication information is used to indicate the primary root and backup root selected by the leaf node.
  • the PE1 may determine that it is the main root of the leaf node L1 according to the above-mentioned UMH selection information, and is responsible for forwarding multicast traffic to the leaf node L1.
  • the UMH selection indication information is used to indicate that the candidate root node (PE1/PE2/PE3) serving as the main root of the leaf node L1 decides by itself as the main root of the leaf node L1.
  • an example can use the highest random weight (highest random weight, HRW) method to perform hash calculation using the identifiers of each candidate root node (PE1/PE2/PE3) and leaf node L1, and calculate according to the hash The result of the calculation is determined as the main root of the leaf node L1.
  • HRW highest random weight
  • HRW calculation is also performed based on the L1 node identifier and the information of candidate root nodes (PE1/PE2/PE3).
  • the calculation result is the same as that calculated on PE1, namely HRW(L1, candidate(PE1) , PE2, PE3))
  • the calculation result is also PE1. Therefore, based on the result, PE2 can determine that it is not the main root of L1 and is not responsible for sending traffic to L1.
  • PE3 also performs HRW calculation according to the L1 node identifier and the information of the candidate root nodes (PE1/PE2/PE3), and the calculation result is the same as that calculated on PE1 and PE2. Therefore, based on the result, PE3 can determine that it is not the main root of L1 and is not responsible for sending traffic to L1.
  • the multicast traffic can also be involved in the Hash calculation.
  • the HRW method is used to calculate the hash of each candidate root node (PE1/PE2/PE3), the identity of the leaf node L1 and (S1, 1), and according to The result of the hash calculation is determined as the main root of the leaf node L1.
  • the specific implementation method is similar to the method in the previous example, and you can refer to the Hash calculation method described in the previous example, which will not be repeated here.
  • PE1 can also select according to BitString.
  • PE1 Assuming that leaf node L1 corresponds to set 0, L2 corresponds to set 1, and L3 corresponds to set 2, then PE1, as the main root of L1, is responsible for sending multicast traffic to L1; PE2, as the main root of L2, is responsible for sending multicast traffic to L2; As the main root of L3, PE3 is responsible for sending multicast traffic to L3;
  • the HRW method can be used to perform hash calculation using each candidate root node (PE1/PE2/PE3) and the set ID, and calculate the hash according to the hash calculation. The result is determined as the main root of the corresponding leaf node of the set.
  • PE1 can compare these hash values to determine the largest value.
  • 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 load sharing configuration result.
  • Step 315 may be executed first and then step 317 may be executed, or step 317 may be executed first and then step 315 may be executed, or step 315 and step 317 may be executed simultaneously .
  • step 315 is performed first and then step 317 is performed, the root node PE1 has determined the above load sharing configuration result before receiving the multicast traffic (S1, G1), and the root node PE1 can receive the multicast traffic after receiving the multicast traffic (S1, G1).
  • S1, G1 the multicast traffic (S1, G1) can be forwarded according to the configuration result of load balancing.
  • step 317 is executed first and then step 315 is executed, the root node PE1 has not obtained the above configuration result after receiving the multicast traffic (S1, G1), and the root node PE1 can wait for the above-mentioned load sharing configuration to be determined, and then according to The load balancing configuration results in forwarding multicast traffic (S1, G1). In this way, the problem of repeated traffic transmission caused by forwarding multicast traffic without determining the configuration result can be avoided.
  • PE1 After receiving the multicast traffic (S1, G1), PE1 can determine that it needs to forward the multicast traffic (S1, G1) to the leaf node L1.
  • a "stateless" tunnel may be used between the root node PE1 and the leaf node L1, and multicast traffic (S1, G1) is sent to the leaf node L1 through the tunnel.
  • a stateless tunnel header is the BIER tunnel header or BIER header.
  • the root node PE1 can encapsulate a BIER header for the multicast traffic (S1, G1), the BIER header can include a bit string field, and the bit value of the bit corresponding to the leaf node L1 in the bit string is 1 .
  • the forwarding entry on the forwarding plane is based on the bit string in the packet to determine which BFERs the packet is to be sent to.
  • the BFR in the BIER field receives the message containing the BIER header, it forwards the BIER message according to the bit string and BIFT ID carried in the BIER header.
  • bit value of 1 indicates that the packet is to be sent to the BFER device represented by the BFR-ID
  • bit value of 0 indicates that the packet does not need to be sent to the BFER device represented by the BFR-ID.
  • Step 320 The root node PE2 receives the message sent by the leaf node L2, where the message carries the identity of the leaf node L2 and the UMH selection indication information.
  • the UMH selection indication information is used to indicate the primary root and backup root selected by the leaf node L2. Take the leaf node L2 to select PE2 as the primary root and PE1/PE3 as the backup root as an example.
  • the UMH selection indication information in the message sent by L2 to PE2 may be "primary", indicating that L2 selects PE2 as the primary root.
  • the UMH selection indication information sent by L2 to PE1 and PE3 is "secondary", indicating that L2 selects PE1 and PE3 as the backup root.
  • the UMH selection indication information in the message sent by L2 to PE2 may be a "NULL", that is, the default "NULL” is "primary” without additional information, indicating that L2 selects PE2 as the primary root.
  • the UMH selection indication information sent to PE1 and PE3 is "secondary” or “backup” or “standby”, indicating that L2 selects PE1 and PE3 as backup roots.
  • the UMH selection indication information is used to indicate that the candidate root node (PE1/PE2/PE3) serving as the primary root of the leaf node L2 determines itself as the primary root and backup root of the leaf node L2.
  • Step 325 The root node PE2 determines the load sharing configuration result according to the message sent by the leaf node L2, and the configuration result is that the root node PE2 is the main root of the leaf node L2.
  • PE2 HRW calculation is also performed according to the L2 node identifier and the information of candidate root nodes (PE1/PE2/PE3). , PE2, PE3))
  • the calculation result is also PE2. Therefore, PE2 can determine itself as the main root of L2 according to the result, and is responsible for sending traffic to L2.
  • PE3 also performs HRW calculation based on the L2 node identifier and the information of the candidate root nodes (PE1/PE2/PE3), and the calculation result is the same as that calculated on PE1 and PE2. Therefore, according to the result, PE3 can determine that it is not the main root of L2 and is not responsible for sending traffic to L2.
  • Step 327 The root node PE2 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 respective determined load sharing configuration results.
  • the root node PE2 after receiving the multicast traffic (S1, G1), the root node PE2 can also forward the multicast traffic (S1, G1) to the leaf node L2.
  • the root node PE2 can encapsulate a BIER header for the multicast traffic (S1, G1).
  • the BIER header can 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 the message sent by the leaf node L3, where the message carries the identity of the leaf node L3 and the UMH selection indication information.
  • the UMH selection indication information is used to indicate the primary root and backup root selected by the leaf node L3. Take the leaf node L3 to select PE3 as the primary root and PE2/PE3 as the backup root as an example.
  • the UMH selection indication information in the message sent by L3 to PE3 may be "primary", indicating that L3 selects PE3 as the primary root.
  • the UMH selection indication information sent by L3 to PE2 and PE3 is "secondary", indicating that L3 selects PE2 and PE3 as backup roots.
  • the UMH selection indication information in the message sent by L3 to PE3 may be a "NULL", that is to say, the default "NULL” is “primary” without additional information, indicating that L3 selects PE3 as the primary root.
  • the UMH selection indication information sent to PE2 and PE3 is "secondary” or “backup” or “standby”, indicating that L3 selects PE2 and PE3 as backup roots.
  • the UMH selection indication information is used to indicate that the candidate root node (PE1/PE2/PE3) serving as the primary root of the leaf node L3 is determined by itself as the primary root and backup root of the leaf node L3.
  • Step 335 The root node PE3 determines the load sharing configuration result according to the message sent by the leaf node L3, and the configuration result is that the root node PE3 is the main root of the leaf node L3.
  • step 315 There are various implementation methods. The following takes the HRW method as an example, and uses each candidate root node (PE1/PE2/PE3) and the identifier of the leaf node L3 to perform hash calculation to determine the main root of the leaf node L3. Other implementation methods are similar to the method in step 315. For details, please refer to the description in step 315, which will not be repeated here.
  • the maximum value in hash13/hash23/hash33 is hash33, that is, the value calculated by PE3 is the maximum hash value or the highest random weight.
  • HRW calculation is also performed based on the L3 node identifier and the information of the candidate root node (PE1/PE2/PE3).
  • the calculation result is the same as the calculation result on PE1, namely HRW(L3,candidate(PE1 , PE2, PE3))
  • the calculation result is also PE3. Therefore, PE2 determines that it is not the main root of L3 according to the result, and is not responsible for sending traffic to L3.
  • PE3 also performs HRW calculation according to the L3 node identifier and the information of the candidate root nodes (PE1/PE2/PE3), and the calculation result is the same as that calculated on PE1 and PE2. Therefore, according to the result, PE3 can determine that it is the main root of L3 and is responsible for sending traffic to L3.
  • 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 respective determined load sharing configuration results.
  • the root node PE3 after receiving the multicast traffic (S1, G1), the root node PE3 can also forward the multicast traffic (S1, G1) to the leaf node L3.
  • the root node PE3 can encapsulate a BIER header for the multicast traffic (S1, G1).
  • the BIER header can include a bit string field, and the value of the bit corresponding to the leaf node L3 in the bit string is 1.
  • each root node can perform load sharing when the service is working normally, which reduces the service volume of a single device, thereby avoiding the failure of a single device due to excessive load.
  • a root node fails to work normally, other available root nodes share the multicast traffic on the root node that fails to work normally.
  • a root node in the embodiment of the present application fails to work normally, which may be understood as the failure of the root node itself to cause it to fail to work normally, for example, power failure.
  • the link between the root node and other devices is faulty, so that it cannot work normally, for example, the link between the root node and the leaf node connected to it is faulty.
  • the following describes in detail the different implementations in which the multicast traffic of PE1 is shared by other available root nodes (for example, PE2 or PE3).
  • L1 after determining that PE1 itself is faulty or the link between PE1 and L1 is faulty, L1 will re-send UMH selection indication information to the root node (PE2/PE3).
  • PE2/PE3 root node
  • L1 re-determines PE2 as the primary root of L1, and PE2 is responsible for sending multicast traffic (S1, G1) to L1.
  • PE2 can determine that it is the main root of the leaf node L1 according to the above UMH selection information, and is responsible for forwarding multicast traffic to the leaf node L1.
  • PE3 determines it as the backup root of the leaf node L1 according to the above-mentioned UMH selection information.
  • PE2 and PE3 can be determined as the primary root and backup root of the leaf node L1 according to any method in step 320 . Assuming that PE2 is determined as the main root of L1, PE2 is responsible for sending multicast traffic (S1, G1) to L1.
  • S1, G1 multicast traffic
  • PE2 and PE3 after each of PE2 and PE3 determines that PE1 is faulty, PE2 and PE3 will determine by themselves the root node responsible for sending multicast traffic (S1, G1) to L1. For example, PE2 and PE3 determine PE2 as the main root of L1 according to the value of hash12 > the value of hash12, and PE2 is responsible for sending multicast traffic (S1, G1) to L1.
  • the switching performed by PE2/PE3 according to the detected fault information of PE1 is the same as the switching result performed by the update information sent by L1 to PE2/PE3 after detecting the fault of PE1, whichever occurs first can trigger the switching . This improves performance and reduces the time that multicast traffic is interrupted by node failures.
  • PE2 can send multicast traffic (S1, G1) to L1 and L1 respectively.
  • L2. Taking a BIER tunnel as an example, the root node PE2 can encapsulate a BIER header for the multicast traffic (S1, G1).
  • the BIER header can include a bit string field.
  • the bit string corresponds to the bits corresponding to the leaf nodes L1 and L2.
  • the value is both 1.
  • PE3 it still acts as the main root of L3 and is responsible for forwarding multicast traffic (S1, G1) to L3. That is, in the case of a root node failure, the traffic is still load-balanced.
  • Each root node of the above technical solutions can not only perform load sharing when the business is working normally, reduce the business volume of a single device, but also perform fast protection when the device fails, and can also perform the link between the leaf node and the root node. effective protection.
  • the size of the sequence numbers of the above-mentioned processes does not mean the sequence of execution, and the execution sequence of each process should be determined by its functions and internal logic, and should not be dealt with in the embodiments of the present application. implementation constitutes any limitation.
  • a load sharing method provided by an embodiment of the present application is described in detail above with reference to FIGS. 1 to 3 , and an embodiment of the apparatus of the present application will be described in detail below with reference to FIGS. 4 to 9 . It should be understood that the descriptions of the method embodiments correspond to the descriptions of the apparatus embodiments. Therefore, for the parts not described in detail, reference may be made to the foregoing method embodiments.
  • FIG. 4 is a schematic structural diagram of a first root node device 400 provided by 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 methods of the foregoing embodiments.
  • the first root node device 400 includes: a receiving module 410, a determining module 420,
  • a receiving module 410 configured to receive a message sent by the leaf node device, where the message includes a first identifier and configuration information, the first identifier indicates the leaf node device, and the configuration information is used to indicate the leaf A configuration method of load sharing from the root node device group to the leaf node device requested by a node device, where the root node device group includes the first root node device;
  • a determining module 420 configured to determine a configuration result of load sharing from the first root node device to the leaf node device according to the first identifier and the configuration information
  • the determining module 420 is further configured to, in response to the configuration result being the first result, determine that the first root node device is the main root of the leaf node device, where the main root indicates that the first root node device is to The designated forwarder for the leaf node device to forward the multicast traffic; or
  • the determining module 420 is further configured to, in response to the configuration result being the second result, determine that the first root node device is the backup root of the leaf node device, and the backup root indicates the first root node device It is an unspecified forwarder that forwards the multicast traffic to the leaf node device.
  • the configuration information includes first indication information, where the first indication information is used to indicate that the first root node device is the primary root of the leaf node device.
  • the configuration information includes second indication information, where the second indication information is used to indicate that the first root node device is a backup root of the leaf node device.
  • the configuration information includes third indication information, where the third indication information is used to indicate information about a candidate root node device that is the main root of the leaf node device.
  • the candidate root node devices include the first root node device, and the determining module 420 is specifically configured to: perform hash calculation on the first identifier and configuration information to obtain the configuration result.
  • the message further includes a multicast source group (S, G), the candidate root node devices include the first root node device, and the determining module 420 is specifically configured to: send the multicast source to the multicast source group (S, G).
  • the source group (S, G), the first identifier and the configuration information are hashed to obtain the configuration result.
  • the receiving module 410 is configured to receive the multicast traffic; the first root node device further includes: a sending module 430, configured to respond that the first root node device is the leaf node device The primary root of the device sends the multicast traffic to the leaf node device.
  • FIG. 5 is a schematic structural diagram 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 methods of the above embodiments.
  • the leaf node device 500 includes: a generating module 510, a sending module 520,
  • the generating module 510 is configured to generate a message, where the message includes a first identifier and configuration information, the first identifier indicates the leaf node device, and the configuration information is used to indicate the information requested by the leaf node device from the a configuration method of load sharing from the root node device group to the leaf node device;
  • 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.
  • the configuration information includes first indication information, the first indication information is that the first root node device is the main root of the leaf node device, and the main root indicates that the first root node device is directed to the leaf node device.
  • the leaf node device forwards the designated forwarder of the multicast traffic.
  • the configuration information includes second indication information, in which the first root node device is a backup root of the leaf node device, and the backup root indicates the first root node device It is an unspecified forwarder that forwards the multicast traffic to the leaf node device.
  • the configuration information includes third indication information, where the third indication information is used to indicate information about a candidate root node device that is the main root of the leaf node device.
  • the first root node device is the main root of the leaf node device
  • the leaf node device 500 further includes: a receiving module 530, configured to receive the multicast traffic sent by the first root node device .
  • FIG. 6 is a schematic diagram of a hardware structure of a first root node device 2000 according to an embodiment of the present application.
  • the first root node device 2000 shown in FIG. 6 may perform the corresponding steps performed by the first root node device in the methods of the above embodiments.
  • 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 specifically be a network card.
  • the above-mentioned processor 2001, memory 2002 and interface 2003 are connected through a bus 2004.
  • the interface 2003 may specifically include a transmitter and a receiver, which are used for the first root node device to implement the above-mentioned sending and receiving.
  • the interface 2003 is used to support the first root node device to receive the message sent by the leaf node device.
  • the processor 2001 is configured to execute the processing performed by the first root node device in the foregoing embodiment. For example, for determining a configuration result of load sharing from the first root node device to the leaf node device according to the first identification and the configuration information; and/or for other processes of the techniques described herein.
  • the memory 2002 includes an operating system 20021 and an application program 20022 for storing programs, codes or instructions. When the processor or hardware device executes these programs, codes or instructions, the processing process involving the first root node device in the method embodiment can be completed.
  • the memory 2002 may include read-only memory (ROM) and random access memory (RAM).
  • the ROM includes a basic input/output system (basic input/output system, BIOS) or an embedded system;
  • the RAM includes an application program and an operating system.
  • BIOS basic input/output system
  • the system is booted through the BIOS solidified in the ROM or the bootloader in the embedded system to boot the first root node device 2000 into a normal running state.
  • the application program and the operating system running in the RAM thus, the processing process involving the first root node device 2000 in the method embodiment is completed.
  • FIG. 6 only shows a simplified design of the first root node device 2000 .
  • the first root node device may contain any number of interfaces, processors or memories.
  • FIG. 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 methods of the foregoing embodiments.
  • the first root node device 2100 includes: a main control board 2110 , an interface board 2130 , a switching fabric board 2120 and an interface board 2140 .
  • the main control board 2110, the interface boards 2130 and 2140, and the switching network board 2120 are connected to the system backplane through the system bus to realize intercommunication.
  • the main control board 2110 is used to complete functions such as system management, equipment maintenance, and protocol processing.
  • the switch fabric board 2120 is used to complete data exchange between interface boards (interface boards are also called line cards or service boards).
  • the interface boards 2130 and 2140 are used to provide various service interfaces (eg, POS interface, GE interface, ATM interface, etc.), and realize data packet forwarding.
  • the interface board 2130 may include a central processing unit 2131 , a forwarding table entry memory 2134 , a physical interface card 2133 and a network processor 2132 .
  • the central processing unit 2131 is used to control and manage the interface board and communicate with the central processing unit on the main control board.
  • the forwarding entry storage 2134 is used to store entries.
  • the physical interface card 2133 is used to receive and transmit traffic.
  • first root node device 2100 in this embodiment may correspond to the functions and/or various steps performed by the foregoing method embodiments, and details are not described herein again.
  • main control boards there may be one or more main control boards, and when there are multiple main control boards, they may include the main main control board and the backup main control board.
  • the first root node device can have at least one switch fabric board, and the switch fabric board realizes data exchange between multiple interface boards, providing large-capacity data exchange and processing capabilities. Therefore, the data access and processing capabilities of the first root node device in the distributed architecture are greater than those in the centralized architecture.
  • the specific architecture used depends on the specific networking deployment scenario, and there is no restriction here.
  • FIG. 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 methods of the above embodiments.
  • 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 specifically be a network card.
  • the above-mentioned processor 2201 , memory 2202 and interface 2203 are connected through a bus 2204 .
  • 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 sent by the first root node device.
  • the processor 2201 is configured to execute the processing performed by the leaf node device in the foregoing embodiment. For example, the processor 2201 is used to generate messages; and/or other processes for the techniques described herein.
  • the memory 2202 includes an operating system 22021 and an application program 22022 for storing programs, codes or instructions. When the processor or hardware device executes these programs, codes or instructions, the processing process involving the leaf node device in the method embodiment can be completed.
  • the memory 2202 may include read-only memory (ROM) and random access memory (RAM).
  • the ROM includes a basic input/output system (basic input/output system, BIOS) or an embedded system;
  • the RAM includes an application program and an operating system.
  • BIOS basic input/output system
  • the leaf node device 2200 needs to be run, the system is booted through the BIOS solidified in the ROM or the bootloader in the embedded system, and the leaf node device 2200 is guided to enter a normal running state. After the leaf node device 2200 enters the normal running state, the application program and the operating system running in the RAM, thus, the processing process involving the leaf node device 2200 in the method embodiment is completed.
  • FIG. 8 only shows a simplified design of the leaf node device 2200 .
  • leaf node devices may contain any number of interfaces, processors or memories.
  • 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. 9 may perform the corresponding steps performed by the leaf node device in the method of the foregoing embodiment.
  • the leaf node device 230 includes: a main control board 2310 , an interface board 2330 , a switching fabric board 2320 and an interface board 2340 .
  • the main control board 2310, the interface boards 2330 and 2340, and the switching network board 2320 are connected to the system backplane through the system bus to realize intercommunication.
  • the main control board 2310 is used to complete functions such as system management, equipment maintenance, and protocol processing.
  • the switch fabric board 2320 is used to complete data exchange between interface boards (interface boards are also called line cards or service boards).
  • the interface boards 2330 and 2340 are used to provide various service interfaces (eg, POS interface, GE interface, ATM interface, etc.), and realize data packet forwarding.
  • the interface board 2330 may include a central processing unit 2331 , a forwarding table entry memory 2334 , a physical interface card 2333 and a network processor 2332 .
  • the central processing unit 2331 is used to control and manage the interface board and communicate with the central processing unit on the main control board.
  • the forwarding entry storage 2334 is used to store entries.
  • the physical interface card 2133 is used to receive and transmit traffic.
  • main control boards there may be one or more main control boards, and when there are multiple main control boards, they may include an active main control board and a backup main control board.
  • a leaf node device can have at least one switching network board, and the switching network board realizes data exchange between multiple interface boards, providing large-capacity data exchange and processing capabilities. Therefore, the data access and processing capabilities of leaf node devices in a distributed architecture are greater than those in a centralized architecture.
  • the specific architecture used depends on the specific networking deployment scenario, and there is no restriction here.
  • Embodiments of the present application further provide a computer-readable medium, where program codes are stored in the computer-readable medium, and when the computer program codes are run on a computer, the computer executes the method performed by the first root node device.
  • These computer-readable storages include, but are not limited to, one or more of the following: read-only memory (ROM), programmable ROM (PROM), erasable PROM (erasable PROM, EPROM), Flash memory, electrical EPROM (electrically EPROM, EEPROM) and hard drive (hard drive).
  • Embodiments of the present application further provide a computer-readable medium, where program codes are stored in the computer-readable medium, and when the computer program codes are run on a computer, the computer can execute the method performed by the leaf node device.
  • These computer-readable storages include, but are not limited to, one or more of the following: read-only memory (ROM), programmable ROM (PROM), erasable PROM (erasable PROM, EPROM), Flash memory, electrical EPROM (electrically EPROM, EEPROM) and hard drive (hard drive).
  • An embodiment of the present application further provides a chip system, which is applied to the first root node device, where the chip system includes: at least one processor, at least one memory, and an interface circuit, where the interface circuit is responsible for the communication between the chip system and the outside world.
  • the chip system includes: at least one processor, at least one memory, and an interface circuit, where the interface circuit is responsible for the communication between the chip system and the outside world.
  • Information exchange, the at least one memory, the interface circuit and the at least one processor are interconnected by lines, and the at least one memory stores instructions; the instructions are executed by the at least one processor to perform the above An operation of the first root node device in the method of the aspect.
  • the chip can be a central processing unit (CPU), a microcontroller (MCU), a microprocessor (microprocessing unit, MPU), a digital signal processor (digital signal processor) processing, DSP), system on chip (SoC), application-specific integrated circuit (ASIC), field programmable gate array (FPGA) or programmable logic device (programmable logic device) , PLD).
  • CPU central processing unit
  • MCU microcontroller
  • MPU microprocessor
  • DSP digital signal processor
  • SoC system on chip
  • ASIC application-specific integrated circuit
  • FPGA field programmable gate array
  • PLD programmable logic device
  • An embodiment of the present application further provides a chip system, which is applied to a leaf node device, and the chip system includes: at least one processor, at least one memory, and an interface circuit, where the interface circuit is responsible for information interaction between the chip system and the outside world , the at least one memory, the interface circuit and the at least one processor are interconnected through a line, and instructions are stored in the at least one memory; the instructions are executed by the at least one processor to perform the above-mentioned various aspects.
  • the operation of the leaf node device in the method includes: at least one processor, at least one memory, and an interface circuit, where the interface circuit is responsible for information interaction between the chip system and the outside world , the at least one memory, the interface circuit and the at least one processor are interconnected through a line, and instructions are stored in the at least one memory; the instructions are executed by the at least one processor to perform the above-mentioned various aspects.
  • the chip can be a central processing unit (CPU), a microcontroller (MCU), a microprocessor (microprocessing unit, MPU), a digital signal processor (digital signal processor) processing, DSP), system on chip (SoC), application-specific integrated circuit (ASIC), field programmable gate array (FPGA) or programmable logic device (programmable logic device) , PLD).
  • CPU central processing unit
  • MCU microcontroller
  • MPU microprocessor
  • DSP digital signal processor
  • SoC system on chip
  • ASIC application-specific integrated circuit
  • FPGA field programmable gate array
  • PLD programmable logic device
  • An embodiment of the present application further provides a computer program product, which is applied to the first root node device, the computer program product includes a series of instructions, when the instructions are executed, to perform the methods described in the above aspects The operation of the first root node device described in .
  • Embodiments of the present application further provide a computer program product, which is applied to a leaf node device, where the computer program product includes a series of instructions, when the instructions are executed, to perform the methods described in the above aspects. The operation of the leaf node device is described.
  • the disclosed system, apparatus and method may be implemented in other manners.
  • the apparatus embodiments described above are only illustrative.
  • the division of the units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not implemented.
  • the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
  • the functions, if implemented in the form of software functional units and sold or used as independent products, may be stored in a computer-readable storage medium.
  • the technical solution of the present application can be embodied in the form of a software product in essence, or the part that contributes to the prior art or the part of the technical solution, and the computer software product is stored in a storage medium, including Several instructions are used to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage medium includes: U disk, removable hard disk, read-only memory (ROM), random access memory (RAM), magnetic disk or optical disk and other media that can store program codes .

Landscapes

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

Abstract

本申请提供了一种负载分担的方法、根节点设备、叶子节点设备以及系统,该方法包括:第一根节点设备接收叶子节点设备发送的消息,该消息中包括第一标识和配置信息,该第一标识指示叶子节点设备,该配置信息指示叶子节点设备请求的、从根节点设备组到叶子节点设备的负载分担的配置方式,根节点设备组包括第一根节点设备;第一根节点设备根据第一标识和配置信息确定从第一根节点设备到叶子节点设备的负载分担的配置结果;响应于配置结果为第一结果,第一根节点设备确定第一根节点设备为叶子节点设备的主根;或者响应于配置结果为第二结果,第一根节点设备确定第一根节点设备为叶子节点设备的备根。该方法可以实现组播流量的负载分担。

Description

负载分担的方法、根节点设备、叶子节点设备以及系统
本申请要求于2020年12月21日提交国家知识产权局、申请号为CN 202011519565.2、申请名称为“一种组播冗余保护方法、设备及系统”和于2021年01月27日提交国家知识产权局、申请号为CN202110108665.4、申请名称为“负载分担的方法、根节点设备、叶子节点设备以及系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及网络通信领域,并且更具体地,涉及一种负载分担的方法、根节点设备、叶子节点设备以及系统。
背景技术
组播(multicast)是一种通过使用一个组播地址将数据在同一时间以高效的方式发往处于传输控制协议(transmission control protocol,TCP)/互联网协议(internet protocol,IP)网络上的多个接收者的数据传输方式。
组播应用场景中包括多个根节点设备,在相关的技术方案中,该多个根节点设备中的一个作为主用设备,负责向叶子节点设备发送组播流量。而除主用设备之外的其他设备作为叶子节点设备的备用设备,在主用设备正常工作的情况下,其他的备用设备则不向叶子节点设备发送组播流量。该相关的技术方案中,多个根节点设备中的主用设备会由于负载过大而产生故障。
发明内容
本申请提供一种负载分担的方法、第一根节点设备、叶子节点设备以及负载分担的系统,可以实现组播流量的负载分担。
第一方面,提供了一种负载分担的方法,该方法应用于通信网络,所述通信网络包括组播源设备、根节点设备组和叶子节点设备,所述组播源设备用于经由所述根节点设备组向所述叶子节点设备发送组播流量,所述根节点设备组中包括至少两个根节点设备,所述方法包括:第一根节点设备接收所述叶子节点设备发送的消息,所述消息中包括第一标识和配置信息,所述第一标识指示所述叶子节点设备,所述配置信息用于指示所述叶子节点设备请求的、从所述根节点设备组到所述叶子节点设备的负载分担的配置方式,所述根节点设备组包括所述第一根节点设备;所述第一根节点设备根据所述第一标识和所述配置信息确定从所述第一根节点设备到所述叶子节点设备的负载分担的配置结果;响应于所述配置结果为第一结果,所述第一根节点设备确定所述第一根节点设备为所述叶子节点设备的主根,所述主根指示所述第一根节点设备是向所述叶子节点设备转发所述组播流量的指定转发者DF;或者响应于所述配置结果为第二结果,所述第一根节点设备确定所述第一根节点设备为所述叶子节点设备的备根,所述备根指示所述第一根节点设备是向所述叶子节点设备转发所述组播流量的非指定转发者non-DF。
结合第一方面,在第一方面的某些实现方式中,所述配置信息中包括第一指示信息,所述第一指示信息用于指示所述第一根节点设备为所述叶子节点设备的主根。
结合第一方面,在第一方面的某些实现方式中,所述配置信息中包括第二指示信息,所述第二指示信息用于指示所述第一根节点设备为所述叶子节点设备的备根。
结合第一方面,在第一方面的某些实现方式中,所述配置信息中包括第三指示信息,所述第三指示信息用于指示作为所述叶子节点设备的主根的候选根节点设备信息。
结合第一方面,在第一方面的某些实现方式中,所述候选根节点设备中包括所述第一根节点设备,所述第一根节点设备对所述第一标识和配置信息进行哈希计算,得到所述配置结果。
结合第一方面,在第一方面的某些实现方式中,所述消息中还包括组播源组(S,G),所述候选根节点设备中包括所述第一根节点设备,所述第一根节点设备对所述组播源组(S,G)、所述第一标识以及配置信息进行哈希计算,得到所述配置结果。
结合第一方面,在第一方面的某些实现方式中,所述方法还包括:所述第一根节点设备接收所述组播流量;响应于所述第一根节点设备为所述叶子节点设备的主根,所述第一根节点设备向所述叶子节点设备发送所述组播流量。
结合第一方面,在第一方面的某些实现方式中,所述通信网络为组播虚拟专用网MVPN。
第二方面,提供了一种负载分担的方法,所述方法应用于通信网络,所述通信网络包括组播源设备、根节点设备组和叶子节点设备,所述组播源设备用于经由所述根节点设备组向所述叶子节点设备发送组播流量,所述根节点设备组中包括至少两个根节点设备,所述方法包括:所述叶子节点设备生成消息,所述消息中包括第一标识和配置信息,所述第一标识指示所述叶子节点设备,所述配置信息用于指示所述叶子节点设备请求的、从所述根节点设备组到所述叶子节点设备的负载分担的配置方式;所述叶子节点设备向第一根节点设备发送所述消息,所述根节点设备组包括所述第一根节点设备。
结合第二方面,在第二方面的某些实现方式中,所述配置信息中包括第一指示信息,所述第一指示信息所述第一根节点设备为所述叶子节点设备的主根,所述主根指示所述第一根节点设备是向所述叶子节点设备转发所述组播流量的指定转发者DF。
结合第二方面,在第二方面的某些实现方式中所述配置信息中包括第二指示信息,所述第二指示信息所述第一根节点设备为所述叶子节点设备的备根,所述备根指示所述第一根节点设备是向所述叶子节点设备转发所述组播流量的非指定转发者non-DF。
结合第二方面,在第二方面的某些实现方式中所述配置信息中包括第三指示信息,所述第三指示信息用于指示作为所述叶子节点设备的主根的候选根节点设备信息。
结合第二方面,在第二方面的某些实现方式中所述第一根节点设备为所述叶子节点设备的主根,所述方法还包括:所述叶子节点设备接收所述第一根节点设备发送的所述组播流量。
结合第二方面,在第二方面的某些实现方式中所述通信网络为组播虚拟专用网MVPN。
第三方面,提供了一种负载分担的方法,所述方法应用于通信网络,所述通信网络包括组播源设备、根节点设备组和第一叶子节点设备、第二叶子节点设备,所述组播源设备用于经由所述根节点设备组向所述第一叶子节点设备、所述第二叶子节点设备发送组播流 量,所述根节点设备组中包括第一根节点设备和第二根节点设备,所述方法包括:所述第一根节点设备接收所述组播流量,所述根节点设备组中包括所述第一根节点设备;响应于所述第一根节点设备为所述第一叶子节点设备的主根,所述第一根节点设备向所述第一叶子节点设备发送所述组播流量,所述第一根节点设备为第一叶子节点设备的主根指示所述第一根节点设备是向所述第一叶子节点设备转发所述组播流量的指定转发者DF;所述第二根节点设备接收所述组播流量,所述根节点设备组中包括所述第二根节点设备;响应于所述第二根节点设备为所述第二叶子节点设备的主根,所述第二根节点设备向所述第二叶子节点设备发送所述组播流量,所述第二根节点设备为第二叶子节点设备的主根指示所述第二根节点设备是向所述第二叶子节点设备转发所述组播流量的指定转发者DF。
结合第三方面,在第三方面的某些实现方式中,所述方法还包括:所述第一根节点设备接收所述第一叶子节点设备发送的第一消息,所述第一消息中包括所述第一标识和第一配置信息,所述第一标识指示所述第一叶子节点设备,所述第一配置信息用于指示所述第一叶子节点设备请求的、从所述根节点设备组到所述第一叶子节点设备的负载分担的配置方式;所述第一根节点根据所述第一标识和所述第一配置信息确定从所述第一根节点设备到所述第一叶子节点设备的第一负载分担的配置结果;响应于所述第一负载分担的配置结果为第一结果,所述第一根节点设备确定所述第一根节点设备为所述第一叶子节点设备的主根。
结合第三方面,在第三方面的某些实现方式中,所述第一配置信息中包括第一指示信息,所述第一指示信息用于指示所述第一根节点设备为所述第一叶子节点设备的主根。
结合第三方面,在第三方面的某些实现方式中,所述第一配置信息中包括第二指示信息,所述第二指示信息用于指示作为所述第一叶子节点设备的主根的第一候选根节点设备信息。
结合第三方面,在第三方面的某些实现方式中,所述第一候选根节点设备中包括所述第一根节点设备,所述第一根节点设备对所述第一标识和第一配置信息进行哈希计算,得到所述第一负载分担的配置结果。
结合第三方面,在第三方面的某些实现方式中,所述第一消息中还包括组播源组(S,G),所述第一候选根节点设备中包括所述第一根节点设备,所述第一根节点设备对所述组播源组(S,G)、所述第一标识以及配置信息进行哈希计算,得到所述第一负载分担的配置结果。
结合第三方面,在第三方面的某些实现方式中,所述方法还包括:所述第二根节点设备接收所述第二叶子节点设备发送的第二消息,所述第二消息中包括第二标识和第二配置信息,所述第二标识指示所述第二叶子节点设备,所述第二配置信息用于指示所述第二叶子节点设备请求的、从所述根节点设备组到所述第二叶子节点设备的负载分担的配置方式;所述第二根节点设备根据所述第二标识和所述第二配置信息确定从所述第二根节点设备到所述第二叶子节点设备的第二负载分担的配置结果;响应于所述第二负载分担的配置结果为第二结果,所述第二根节点设备确定所述第二根节点设备为所述第二叶子节点设备的主根。
结合第三方面,在第三方面的某些实现方式中,所述第二配置信息中包括第三指示信息,所述第三指示信息用于指示所述第二根节点设备为所述第二叶子节点设备的主根。
结合第三方面,在第三方面的某些实现方式中,所述第二配置信息中包括第四指示信息,所述第四指示信息用于指示作为所述第二叶子节点设备的主根的第二候选根节点设备信息。
结合第三方面,在第三方面的某些实现方式中,所述第二候选根节点设备中包括所述第二根节点设备,所述第二根节点设备对所述第二标识和第二配置信息进行哈希计算,得到所述第二负载分担的配置结果。
结合第三方面,在第三方面的某些实现方式中,所述第二消息中还包括组播源组(S,G),所述第二候选根节点设备中包括所述第二根节点设备,所述第二根节点设备对所述组播源组(S,G)、所述第二标识以及第二配置信息进行哈希计算,得到所述第二负载分担的配置结果。
结合第三方面,在第三方面的某些实现方式中,所述通信网络为组播虚拟专用网MVPN。
第四方面,提供了一种第一根节点设备,所述第一根节点设备应用于通信网络,所述通信网络包括组播源设备、根节点设备组和叶子节点设备,所述组播源设备用于经由所述根节点设备组向所述叶子节点设备发送组播流量,所述根节点设备组中包括所述第一根节点设备在内的至少两个根节点设备,所述第一根节点设备包括:接收模块,用于接收所述叶子节点设备发送的消息,所述消息中包括第一标识和配置信息,所述第一标识指示所述叶子节点设备,所述配置信息用于指示所述叶子节点设备请求的、从所述根节点设备组到所述叶子节点设备的负载分担的配置方式,所述根节点设备组包括所述第一根节点设备;确定模块,用于根据所述第一标识和所述配置信息确定从所述第一根节点设备到所述叶子节点设备的负载分担的配置结果;所述确定模块,还用于响应于所述配置结果为第一结果,确定所述第一根节点设备为所述叶子节点设备的主根,所述主根指示所述第一根节点设备是向所述叶子节点设备转发所述组播流量的指定转发者DF;或者所述确定模块,还用于响应于所述配置结果为第二结果,确定所述第一根节点设备为所述叶子节点设备的备根,所述备根指示所述第一根节点设备是向所述叶子节点设备转发所述组播流量的非指定转发者non-DF。
结合第四方面,在第四方面的某些实现方式中,所述配置信息中包括第一指示信息,所述第一指示信息用于指示所述第一根节点设备为所述叶子节点设备的主根。
结合第四方面,在第四方面的某些实现方式中,所述配置信息中包括第二指示信息,所述第二指示信息用于指示所述第一根节点设备为所述叶子节点设备的备根。
结合第四方面,在第四方面的某些实现方式中,,所述配置信息中包括第三指示信息,所述第三指示信息用于指示作为所述叶子节点设备的主根的候选根节点设备信息。
结合第四方面,在第四方面的某些实现方式中,所述候选根节点设备中包括所述第一根节点设备,所述确定模块具体用于:对所述第一标识和配置信息进行哈希计算,得到所述配置结果。
结合第四方面,在第四方面的某些实现方式中,所述消息中还包括组播源组(S,G),所述候选根节点设备中包括所述第一根节点设备,所述确定模块具体用于:对所述组播源组(S,G)、所述第一标识以及配置信息进行哈希计算,得到所述配置结果。
结合第四方面,在第四方面的某些实现方式中,所述接收模块,用于接收所述组播流 量;所述第一根节点设备还包括:发送模块,用于响应于所述第一根节点设备为所述叶子节点设备的主根,向所述叶子节点设备发送所述组播流量。
结合第四方面,在第四方面的某些实现方式中,所述通信网络为组播虚拟专用网MVPN。
第五方面,提供了一种叶子节点设备,所述叶子节点设备应用于通信网络,所述通信网络包括组播源设备、根节点设备组和所述叶子节点设备,所述组播源设备用于经由所述根节点设备组向所述叶子节点设备发送组播流量,所述根节点设备组中包括至少两个根节点设备,所述叶子节点设备包括:生成模块,用于生成消息,所述消息中包括第一标识和配置信息,所述第一标识指示所述叶子节点设备,所述配置信息用于指示所述叶子节点设备请求的、从所述根节点设备组到所述叶子节点设备的负载分担的配置方式;发送模块,用于向第一根节点设备发送所述消息,所述根节点设备组包括所述第一根节点设备。结合第五方面,在第五方面的某些实现方式中,所述配置信息中包括第一指示信息,所述第一指示信息所述第一根节点设备为所述叶子节点设备的主根,所述主根指示所述第一根节点设备是向所述叶子节点设备转发所述组播流量的指定转发者DF。
结合第五方面,在第五方面的某些实现方式中,所述配置信息中包括第二指示信息,所述第二指示信息所述第一根节点设备为所述叶子节点设备的备根,所述备根指示所述第一根节点设备是向所述叶子节点设备转发所述组播流量的非指定转发者non-DF。
结合第五方面,在第五方面的某些实现方式中,所述配置信息中包括第三指示信息,所述第三指示信息用于指示作为所述叶子节点设备的主根的候选根节点设备信息。
结合第五方面,在第五方面的某些实现方式中,所述第一根节点设备为所述叶子节点设备的主根,所述叶子节点设备还包括:接收模块,用于接收所述第一根节点设备发送的所述组播流量。
结合第五方面,在第五方面的某些实现方式中,所述通信网络为组播虚拟专用网MVPN。
第六方面,提供了一种负载分担的系统,所述系统应用于通信网络,所述通信网络包括组播源设备、根节点设备组和第一叶子节点设备、第二叶子节点设备,所述组播源设备用于经由所述根节点设备组向所述第一叶子节点设备、所述第二叶子节点设备发送组播流量,所述根节点设备组中包括第一根节点设备和第二根节点设备,所述系统包括:接收模块,用于所述第一根节点设备接收所述组播流量,所述根节点设备组中包括所述第一根节点设备;发送模块,用于响应于所述第一根节点设备为所述第一叶子节点设备的主根,所述第一根节点设备向所述第一叶子节点设备发送所述组播流量,所述第一根节点设备为第一叶子节点设备的主根指示所述第一根节点设备是向所述第一叶子节点设备转发所述组播流量的指定转发者DF;所述接收模块,还用于所述第二根节点设备接收所述组播流量,所述根节点设备组中包括所述第二根节点设备;发送模块,用于响应于所述第二根节点设备为所述第二叶子节点设备的主根,所述第二根节点设备向所述第二叶子节点设备发送所述组播流量,所述第二根节点设备为第二叶子节点设备的主根指示所述第二根节点设备是向所述第二叶子节点设备转发所述组播流量的指定转发者DF。
结合第六方面,在第六方面的某些实现方式中,所述确定模块,还用于所述第一根节点设备接收所述第一叶子节点设备发送的第一消息,所述第一消息中包括所述第一标识和 第一配置信息,所述第一标识指示所述第一叶子节点设备,所述第一配置信息用于指示所述第一叶子节点设备请求的、从所述根节点设备组到所述第一叶子节点设备的负载分担的配置方式;所述系统还包括:确定模块,用于所述第一根节点根据所述第一标识和所述第一配置信息确定从所述第一根节点设备到所述第一叶子节点设备的第一负载分担的配置结果;所述确定模块,还用于响应于所述第一负载分担的配置结果为第一结果,所述第一根节点设备确定所述第一根节点设备为所述第一叶子节点设备的主根。
结合第六方面,在第六方面的某些实现方式中,所述第一配置信息中包括第一指示信息,所述第一指示信息用于指示所述第一根节点设备为所述第一叶子节点设备的主根。
结合第六方面,在第六方面的某些实现方式中,所述第一配置信息中包括第二指示信息,所述第二指示信息用于指示作为所述第一叶子节点设备的主根的第一候选根节点设备信息。
结合第六方面,在第六方面的某些实现方式中,所述第一候选根节点设备中包括所述第一根节点设备,所述确定模块具体用于:所述第一根节点设备对所述第一标识和第一配置信息进行哈希计算,得到所述第一负载分担的配置结果。
结合第六方面,在第六方面的某些实现方式中,所述第一消息中还包括组播源组(S,G),所述第一候选根节点设备中包括所述第一根节点设备,所述确定模块具体用于:所述第一根节点设备对所述组播源组(S,G)、所述第一标识以及第一配置信息进行哈希计算,得到所述第一负载分担的配置结果。
结合第六方面,在第六方面的某些实现方式中,所述接收模块,还用于所述第二根节点设备接收所述第二叶子节点设备发送的第二消息,所述第二消息中包括第二标识和第二配置信息,所述第二标识指示所述第二叶子节点设备,所述第二配置信息用于指示所述第二叶子节点设备请求的、从所述根节点设备组到所述第二叶子节点设备的负载分担的配置方式;所述确定模块,还用于所述第二根节点设备根据所述第二标识和所述第二配置信息确定从所述第二根节点设备到所述第二叶子节点设备的第二负载分担的配置结果;所述确定模块,还用于响应于所述第二负载分担的配置结果为第二结果,所述第二根节点设备确定所述第二根节点设备为所述第二叶子节点设备的主根。
结合第六方面,在第六方面的某些实现方式中,所述第二配置信息中包括第三指示信息,所述第三指示信息用于指示所述第二根节点设备为所述第二叶子节点设备的主根。
结合第六方面,在第六方面的某些实现方式中,所述第二配置信息中包括第四指示信息,所述第四指示信息用于指示作为所述第二叶子节点设备的主根的第二候选根节点设备信息。
结合第六方面,在第六方面的某些实现方式中,所述第二候选根节点设备中包括所述第二根节点设备,所述确定模块还用于:所述第二根节点设备对所述第二标识和第二配置信息进行哈希计算,得到所述第二负载分担的配置结果。
结合第六方面,在第六方面的某些实现方式中,所述第二消息中还包括组播源组(S,G),所述第二候选根节点设备中包括所述第二根节点设备,所述确定模块,还用于所述第二根节点设备对所述组播源组(S,G)、所述第二标识以及第二配置信息进行哈希计算,得到所述第二负载分担的配置结果。
结合第六方面,在第六方面的某些实现方式中,所述通信网络为组播虚拟专用网 MVPN。
第七方面,提供了一种第一根节点设备,所述第一根节点设备具有实现上述方法中第一根节点设备行为的功能。所述功能可以基于硬件实现,也可以基于硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,第一根节点设备的结构中包括处理器和接口,所述处理器被配置为支持第一根节点设备执行上述方法中相应的功能。所述接口用于支持第一根节点设备接收所述叶子节点设备发送的消息。
所述第一根节点设备还可以包括存储器,所述存储器用于与处理器耦合,其保存第一根节点设备必要的程序指令和数据。
在另一个可能的设计中,所述第一根节点设备包括:处理器、发送器、接收器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接发送器、接收器、随机存取存储器以及只读存储器。其中,当需要运行第一根节点设备时,通过固化在只读存储器中的基本输入/输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导第一根节点设备进入正常运行状态。在第一根节点设备进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处理器执行第一方面或第一方面的任意可能的实现方式中的方法。
第八方面,提供一种第一根节点设备,所述第一根节点设备包括:主控板和接口板,进一步,还可以包括交换网板。所述第一根节点设备用于执行第一方面或第一方面的任意可能的实现方式中的方法。具体地,所述第一根节点设备包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的模块。
第九方面,提供一种第一根节点设备,所述第一根节点设备包括控制模块和第一转发子设备。所述第一转发子设备包括:接口板,进一步,还可以包括交换网板。所述第一转发子设备用于执行第八方面中的接口板的功能,进一步,还可以执行第八方面中交换网板的功能。所述控制模块中包括接收器、处理器、发送器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接接收器、发送器、随机存取存储器以及只读存储器。其中,当需要运行控制模块时,通过固化在只读存储器中的基本输入/输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导控制模块进入正常运行状态。在控制模块进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处理器执行第八方面中主控板的功能。
可以理解的是,在实际应用中,第一根节点设备可以包含任意数量的接口,处理器或者存储器。
第十方面,提供了一种叶子节点设备,所述叶子节点设备具有实现上述方法中叶子节点设备行为的功能。所述功能可以基于硬件实现,也可以基于硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,叶子节点设备的结构中包括处理器和接口,所述处理器被配置为支持叶子节点设备执行上述方法中相应的功能。所述接口用于支持向第一根节点设备发送消息;或接收所述第一根节点设备发送的所述组播流量。
所述叶子节点设备还可以包括存储器,所述存储器用于与处理器耦合,其保存叶子节点设备必要的程序指令和数据。
在另一个可能的设计中,所述叶子节点设备包括:处理器、发送器、接收器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接发送器、接收器、随机存取存储器以及只读存储器。其中,当需要运行叶子节点设备时,通过固化在只读存储器中的基本输入/输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导叶子节点设备进入正常运行状态。在叶子节点设备进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处理器执行第二方面或第二方面的任意可能的实现方式中的方法。
第十一方面,提供一种叶子节点设备,所述叶子节点设备包括:主控板和接口板,进一步,还可以包括交换网板。所述叶子节点设备用于执行第二方面或第二方面的任意可能的实现方式中的方法。具体地,所述叶子节点设备包括用于执行第二方面或第二方面的任意可能的实现方式中的方法的模块。
第十二方面,提供一种叶子节点设备,所述叶子节点设备包括控制模块和第一转发子设备。所述第一转发子设备包括:接口板,进一步,还可以包括交换网板。所述第一转发子设备用于执行第十一方面中的接口板的功能,进一步,还可以执行第十一方面中交换网板的功能。所述控制模块中包括接收器、处理器、发送器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接接收器、发送器、随机存取存储器以及只读存储器。其中,当需要运行控制模块时,通过固化在只读存储器中的基本输入/输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导控制模块进入正常运行状态。在控制模块进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处理器执行第十一方面中主控板的功能。
可以理解的是,在实际应用中,叶子节点设备可以包含任意数量的接口,处理器或者存储器。
第十三方面,提供了一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第一方面或第一方面的任一种可能执行的方法。
第十四方面,提供了一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第二方面或第二方面的任一种可能执行的方法。
第十五方面,提供了一种计算机可读介质,该计算机可读介质存储有程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第一方面或第一方面的任一种可能执行的方法。这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-only memory,ROM)、可编程ROM(programmable ROM,PROM)、可擦除的PROM(erasable PROM,EPROM)、Flash存储器、电EPROM(electrically EPROM,EEPROM)以及硬盘驱动器(hard drive)。
第十六方面,提供了一种计算机可读介质,该计算机可读介质存储有程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第二方面或第二方面的任一种可能执行的方法。这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-only memory,ROM)、可编程ROM(programmable ROM,PROM)、可擦除的PROM(erasable PROM,EPROM)、Flash存储器、电EPROM(electrically EPROM,EEPROM) 以及硬盘驱动器(hard drive)。
第十七方面,提供一种芯片,该芯片包括处理器与数据接口,其中,处理器通过该数据接口读取存储器上存储的指令,以执行第一方面或第一方面任意一种可能的实现方式中的方法。在具体实现过程中,该芯片可以以中央处理器(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)或可编辑逻辑器件(programmable logic device,PLD)的形式实现。
第十八方面,提供一种芯片,该芯片包括处理器与数据接口,其中,处理器通过该数据接口读取存储器上存储的指令,以执行第二方面或第二方面任意一种可能的实现方式中的方法。在具体实现过程中,该芯片可以以中央处理器(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)或可编辑逻辑器件(programmable logic device,PLD)的形式实现。
第十九方面,提供了一种系统,该系统包括上述第一根节点设备和叶子节点设备。
附图说明
图1是应用于本申请实施例的一种组播场景示意图。
图2是本申请实施例提供的一种负载分担的方法的示意性流程图。
图3是本申请实施例提供的另一种负载分担的方法的示意性流程图。
图4是本申请实施例提供的一种第一根节点设备400的示意性结构图。
图5是本申请实施例的一种叶子节点设备500的示意性结构图。
图6是本申请实施例的第一根节点设备2000的硬件结构示意图。
图7为本申请实施例的另一种第一根节点设备2100的硬件结构示意图。
图8是本申请实施例的叶子节点设备2200的硬件结构示意图。
图9为本申请实施例的另一种叶子节点设备2300的硬件结构示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请将围绕包括多个设备、组件、模块等的系统来呈现各个方面、实施例或特征。应当理解和明白的是,各个系统可以包括另外的设备、组件、模块等,并且/或者可以并不包括结合附图讨论的所有设备、组件、模块等。此外,还可以使用这些方案的组合。
另外,在本申请实施例中,“示例的”、“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。
本申请实施例中,“相应的(corresponding,relevant)”和“对应的(corresponding)” 有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。
本申请实施例描述的网络架构以及业务场景是为了更加清楚地说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:包括单独存在A,同时存在A和B,以及单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
组播(multicast)是一种通过使用一个组播地址将数据在同一时间以高效的方式发往处于传输控制协议(transmission control protocol,TCP)/互联网协议(internet protocol,IP)网络上的多个接收者的数据传输方式。组播源经由网络中的链路向组播组中的组播组成员发送组播流,该组播组中的组播组成员均可以接收到该组播流。组播传输方式实现了组播源和组播组成员之间的点对多点的数据连接。由于组播流在每条网络链路上只需传递一次,且只有在链路出现支路时,该组播才会被复制。因此,组播传输方式提高了数据传输效率和减少了骨干网络出现拥塞的可能性。IP组播技术实现了IP网络中点到多点的高效数据传送,能够有效地节约网络带宽、降低网络负载。因此,在实时数据传送、多媒体会议、数据拷贝、交互式网络电视(internet protocol television,IPTV)、游戏和仿真等诸多方面都有广泛的应用。
下面结合图1,对应用于本申请实施例的一种组播场景进行详细描述。如图1所示,该组播场景中可以包括:组播源110、交换机(switch,SW)120、运营商边缘设备(provider edge,PE)1/PE2/PE3,L1/L2/L3,H1/H2/H3。
组播源110用于发送组播流量。一个示例,例如在全局表组播(global table multicast,GTM),或者Non-VPN Multicast,或者互联网多播(internet multicast)的应用场景中,一个组播流量可以通过组播源组(S,G)来表示,S表示组播源(source)的地址,G表示组播组(group,G)的地址。另一个示例,在组播虚拟专用网络(multicast virtual private network,MVPN)的应用场景中,通常还会有VPN实例或虚拟路由转发(virtual route forwarding,VRF)实例,因此,也可以通过(VPN,S,G)表示一个组播流量。为了便于描述,下面以(S,G)表示一个组播流量为例进行举例说明。
H1/H2/H3为组播接收者,用于接收组播源110发送的组播流量。H1/H2/H3也可以 称为用户侧的路由器或主机设备。
PE1/PE2/PE3和L1/L2/L3组成的网络属于承载网络,用于负责将组播源110发送的组播流转发至H1/H2/H3。该承载网络例如可以是运营商网络,或者还可以是数据中心网络,或者还可以是园区网络等,本申请对此不做具体限定。其中,PE1/PE2/PE3为入口(ingress)设备,L1/L2/L3为出口(egress)PE设备。PE1/PE2/PE3也可以称为ingress PE,或根(root)节点,或Root PE。L1/L2/L3也可以称为egress PE,或叶子(leaf)节点,或leaf PE。
可选地,PE1/PE2/PE3和L1/L2/L3之间还可以包括一个或多个中间转发设备(图1中未示出),本申请对此不做具体限定。
相关的技术方案中,PE1作为叶子节点(L1/L2/L3)的主根(primary root)或者主要的上游多播跳(primary upstream multicast hop,primary UMH),负责将组播流量发送给各个叶子节点(L1/L2/L3)。而PE2和PE3作为备根,在PE1正常工作的情况下,PE2和PE3不负责发送组播流量给各个叶子节点(L1/L2/L3),仅处于备用状态。同理,如果有更多数量的叶子节点(例如30个或者300个叶子)的情况下,也是由PE1负责向所有这些叶子发送组播流量,而PE2和PE3处于备用状态。当PE1故障或者PE1和SW120之间链路故障时,PE2或PE3中的任意一个会接管并负责发送组播流量给各个叶子节点(L1/L2/L3)。上述方案中,在PE1正常工作的情况下,PE1的负载大而PE2、PE3的负载小,这样容易造成PE1因为负载过大而产生故障。并且,即使PE1故障,也是由PE2或PE3中的任意一个负责发送组播流量给各个叶子节点,PE2和PE3之间也是负载分配不均衡的,PE2或PE3中负责发送组播流量的也会因为负载过大而产生故障。
有鉴于此,本申请实施例提供了一种负载分担的方法,使得组播流量在各个根节点之间进行负载分担,实现负载均衡,从而避免上述相关方案中各个根节点的负载分配不均衡的问题。下面结合图2,对本申请实施例提供的一种负载分担的方法进行详细描述。
图2是本申请实施例提供的一种负载分担的方法的示意性流程图。如图2所示,该方法可以包括步骤210-240,下面分别对步骤210-240进行详细描述。
应理解,该方法可以应用于通信网络,也可以称为应用了组播技术的网络,例如,该方法应用于虚拟专用网(virtual private network,VPN),具体的,可以应用于组播虚拟专用网(multicast virtual private network,MVPN)。作为示例,该通信网络可以包括组播源设备、根节点设备组和叶子节点设备,所述组播源设备用于经由所述根节点设备组向所述叶子节点设备发送组播流量,所述根节点设备组中包括至少两个根节点设备。其中,该网络中可以包括一个叶子节点设备,或者也可以包括多个叶子节点设备,本申请不做具体限定。如果该网络中包括一个叶子节点设备,该叶子节点设备与根节点设备组中包括的至少两个根节点设备连接;如果该网络中包括多个叶子节点设备,该多个叶子节点设备与根节点设备组中包括的至少两个根节点设备全连接。
例如,该方法可以应用于图1所示的组播场景。该组播场景中组播源110可以是上文中的组播源设备。PE1/PE2/PE3可以是上文中的根节点设备,PE1、PE2、PE3构成一个根节点设备组。L1/L2/L3可以是上文中的叶子节点设备,为了便于描述,图1中以包括三个叶子节点设备(L1、L2、L3)为例进行说明的。
步骤210:第一根节点设备接收叶子节点设备发送的消息,所述消息中包括第一标识 和配置信息。
根节点设备组中包括至少两个根节点设备,该第一根节点设备可以是根节点设备组中的一个设备。第一根节点设备可以接收叶子节点设备发送的消息,该消息中包括第一标识和配置信息。其中,第一标识用于指示所述叶子节点设备,例如,该第一标识可以是叶子节点设备的IP地址。又如,该第一标识还可以是叶子节点设备的位转发路由器标识(bit forwarding router identifier,BFR ID)。上述配置信息可以用于指示所述叶子节点设备请求的、从所述根节点设备组到所述叶子节点设备的负载分担的配置方式。具体的,配置信息指示从根节点设备组到叶子节点设备的负载分担的配置方式的实现方式有多种,本申请对此不做具体限定,下面对几种可能的实现方式进行详细描述。
作为示例,一种实现方式中,该配置信息中可以包括第一指示信息,所述第一指示信息指示第一根节点设备为所述叶子节点设备的主根。第一根节点设备为叶子节点设备的主根可以理解为所述第一根节点设备是向所述叶子节点设备转发所述组播流量的指定转发者(designated forwarder,DF)。或者,该配置信息中可以包括第二指示信息,所述第二指示信息指示第一根节点设备为所述叶子节点设备的备根。第一根节点设备为叶子节点设备的备根可以理解为所述第一根节点设备是向所述叶子节点设备转发所述组播流量的非指定转发者(non-designated forwarder,non-DF)。
作为示例,另一种实现方式中,该配置信息中可以包括第三指示信息,所述第三指示信息用于指示作为所述叶子节点设备的主根的候选根节点设备信息,并由候选根节点设备自行确定作为叶子节点设备的主根。也就是说,该第三指示信息指示了一个作为叶子节点设备的主根的负载分担组,该负载分担组中包括候选的多个根节点设备,并由该负载分担组中的多个根节点设备自己决定作为叶子节点设备的主根的设备。
可选地,该配置信息中还可以包括第四指示信息,该第四指示信息用于指示作为所述叶子节点设备的备根的候选根节点设备信息,并由候选根节点设备自行确定作为叶子节点设备的备根。也就是说,该第三指示信息指示了一个作为叶子节点设备的备根的负载分担组,该负载分担组中包括候选的多个根节点设备,并由该负载分担组中的多个根节点设备自己决定作为叶子节点设备的备根的设备。
步骤220:第一根节点设备根据第一标识和配置信息确定从第一根节点设备到叶子节点设备的负载分担的配置结果。
第一根节点设备在接收到叶子节点设备发送的第一标识和配置信息后,可以根据第一标识和配置信息确定从第一根节点设备到叶子节点设备的负载分担的配置结果。一个示例,如果配置信息中包括上述第一指示信息,第一根节点设备可以直接根据第一指示信息确定配置结果为第一结果。或者,如果配置信息中包括上述第二指示信息,第一根节点设备可以直接根据第二指示信息确定配置结果为第二结果。另一个示例,如果配置信息中包括上述第三指示信息,第一根节点设备作为叶子节点设备的主根的候选根节点设备,可以根据对所述第一标识和配置信息(例如,第三指示信息指示的作为所述叶子节点设备的主根的候选根节点设备信息)进行哈希计算,得到所述第一结果。或者,如果配置信息中包括上述第四指示信息,第一根节点设备作为叶子节点设备的备根的候选根节点设备,可以对所述第一标识和配置信息(例如,第四指示信息指示的作为所述叶子节点设备的备根的候选根节点设备信息)进行哈希计算,得到所述第二结果。另一个示例,如果配置信息中包括 上述第三指示信息,叶子节点设备发送给第一根节点设备的消息中还包括播源组(S,G),第一根节点设备作为叶子节点设备的主根的候选根节点设备,可以对播源组(S,G)、所述第一标识和配置信息(例如,第三指示信息指示的作为所述叶子节点设备的主根的候选根节点设备信息)进行哈希计算,得到所述第一结果。或者,如果配置信息中包括上述第四指示信息,第一根节点设备作为叶子节点设备的备根的候选根节点设备,可以对播源组(S,G)、所述第一标识和配置信息(例如,第四指示信息指示的作为所述叶子节点设备的备根的候选根节点设备信息)进行哈希计算,得到所述第二结果。
第一根节点设备可以根据上述负载分担的配置结果为第一结果还是第二结果,确定自己是作为叶子节点设备的主根还是备根。作为示例,如果从第一根节点设备到叶子节点设备的负载分担的配置结果为第一结果,第一根节点设备可以执行步骤230;或者,如果从第一根节点设备到叶子节点设备的负载分担的配置结果为第一结果,第一根节点设备可以执行步骤240。
步骤230:响应于所述配置结果为第一结果,所述第一根节点设备确定所述第一根节点设备为所述叶子节点设备的主根。
作为示例,第一根节点设备确定自己为主根,其作为向叶子节点设备转发组播流量的指定转发者,可以将该组播流量发送给该叶子节点设备。
步骤240:响应于所述配置结果为第二结果,所述第一根节点设备确定所述第一根节点设备为所述叶子节点设备的备根。
作为示例,第一根节点设备确定自己为备根,其作为向叶子节点设备转发组播流量的非指定转发者,可以阻止向将该组播流量发送给该叶子节点设备。
上述技术方案中,各个根节点可以对组播流量进行负载分担,实现组播流量的负载均衡。
下面以图1所示的组播场景为例,结合图3,对本申请实施例提供的负载分担的方法的一种具体实现方式进行详细描述。应理解,图3的例子仅仅是为了帮助本领域技术人员理解本申请实施例,而非要将申请实施例限制于所示例的具体数值或具体场景。本领域技术人员根据下面所给出的图3的例子,显然可以进行各种等价的修改或变化,这样的修改和变化也落入本申请实施例的范围内。
图3是本申请实施例提供的另一种负载分担的方法的示意性流程图。如图3所示,该方法可以包括步骤310-337,下面分别对步骤310-337进行详细描述。
步骤310:根节点PE1接收叶子节点L1发送的消息,该消息中携带叶子节点L1的标识和UMH选择指示信息。
作为示例,在步骤310之前,PE1、L1之间可以建立网关边界协议(border gateway protocol,BGP)会话并使用BGP-MVPN地址族(或BGP-MVPN协议),其中的BGP会话可以是两两设备之间直接建立,或者也可以是通过一个路由反射器(routing reflector,RR)建立,本申请对此不做具体限定。为了便于描述,下面以两两设备之间直接建立BGP会话为例说明。
例如,H1可以向L1发送组播加入消息,该组播加入消息用于获取组播流量(S1,G1)。L1可以将组播加入消息发送给根节点PE1,由根节点PE1向SW120发送组播加入消息,再由SW120将该组播加入消息发送给组播源110。
应理解,本申请实施例对组播接收者H1发送的上述组播加入消息不做具体限定。可以是因特网组管理协议(internet group management protocol,IGMP)消息,或者也可以是组播发现监听协议(multicast listener discovery,MLD)消息,或者还可以是协议无关组播协议(protocol independent multicast,PIM)消息。举例说明,H1向叶子节点L1发送的组播加入消息可以是IGMP消息或MLD消息,根节点PE1向SW120发送的组播加入消息可以是PIM消息。
上述叶子节点L1还可以向根节点PE1发送叶子节点L1的标识和UMH选择指示信息(也可以称为配置信息)。例如,PE1可以向叶子节点L1发送选择式运营商组播服务接口(selective provider multicast service interface auto-discovery route,S-PMSI A-D),并指定组播流量(S1,G1)。叶子节点L1收到S-PMSI A-D路由后,向根节点PE1发送Leaf A-D路由。该Leaf A-D路由中可以包括叶子节点L1的标识和UMH选择指示信息。
作为一个示例,叶子节点L1的标识可以是叶子节点L1的IP地址,携带在该Leaf A-D路由的网络层可达信息(network layer reachability info,NLRI)中。这样,在Leaf A-D路由传递的过程中,例如经过路由反射器(route reflector,RR)或者自治系统边缘路由器(autonomous system boundary router,ASBR)进行路由重发布的过程中其叶子节点的标识都不会改变。上述UMH选择指示信息可以用于指示叶子节点L1选择的主根和备根,或者还用于指示由根节点(PE1/PE2/PE3)自行决定确定作为叶子节点L1的主根和备根,下面分别对不同的实现方式进行详细描述。
应理解,为了便于描述,下面以组播流量(S1,G1)为例进行说明。
1、一种可能的实现方式中,UMH选择指示信息用于指示叶子节点L1选择的主根和备根。
以叶子节点L1选择PE1作为主根,PE2/PE3作为备根作为示例。也就是说,由PE1负责发送组播流量给L1。在PE1正常的情况下,PE2和PE3仅处于备用状态,不负责发送组播流量给L1。本申请实施例中对UMH选择指示信息的具体形式不做限定,只要发送给PE1的UMH选择指示信息和发送给PE2/PE3的UMH选择指示信息可以区分开即可。一个示例,L1发送给PE1的消息中UMH选择指示信息可以是“primary”,表示L1选择PE1作为主根。L1发送给PE2和PE3的UMH选择指示信息为“secondary”,表示L1选择PE2和PE3作为备根。另一个示例,L1发送给PE1的消息中UMH选择指示信息可以是一个“NULL”,也就是说没有额外信息下默认“NULL”为“primary”,表示L1选择PE1作为主根。发送给PE2和PE3的UMH选择指示信息为“secondary”或“backup”或“standby”,表示L1选择PE2和PE3作为备根。
举例说明,叶子节点L1发送给根节点PE1的信息为:(S1,G1,节点ID=L1,UMH选择信息=primary)。可选地,叶子节点L1发送给根节点PE2的信息为:(S1,G1,节点ID=L1,UMH选择信息=secondary);发送给根节点PE3的信息为:(S1,G1,节点ID=L1,UMH选择信息=secondary)。
2、另一种可能的实现方式中,UMH选择指示信息用于指示由作为叶子节点L1的主根的候选根节点(PE1/PE2/PE3)自行确定作为该叶子节点L1的主根。
以叶子节点L1为例,L1发送给根节点PE1的消息中的UMH选择指示信息不再是primary或secondary的指示信息,而是将作为叶子节点L1的主根的候选根节点集合(PE1/ PE2/PE3)通知给根节点PE1。由根节点PE1自行决定其是否作为L1的主根。
举例说明,叶子节点L1发送给根节点PE1的信息为:(S1,1,节点ID=L1,UMH选择信息=信息1)。可选地,叶子节点L1发送给根节点PE2的信息为:(S1,G1,节点ID=L1,UMH选择信息=信息1);发送给根节点PE3的信息为:(S1,G1,节点ID=L1,UMH选择信息=信息1)。
上述信息1中可以包含作为叶子节点L1的主根的候选根节点信息,该信息例如可以候选根节点的标识。该标识的具体实现方式有多种,下面对几种可能的实现方式进行详细描述。应理解,为了便于描述,图3中是作为叶子L1的主根的候选根节点包括PE1、PE2、PE3为例进行说明的。
具体的,作为示例,该标识可以是PE1的ID、PE2的ID、PE3的ID。例如,PE1的ID、PE2的ID、PE3的ID可以是各个PE的IP地址。举例说明,PE1/PE2/PE3的IP地址分别是192.168.10.1,192.168.20.1,192.168.30.1。又如,PE1的ID、PE2的ID、PE3的ID还可以是各个PE的IPv6地址。举例说明,PE1/PE2/PE3的IPv6地址分别是2001:db8:1::1234,2001:db8:2::1234,2001:db8:3::1234。又如,PE1的ID、PE2的ID、PE3的ID还可以是各PE上配置的一个标识,假设PE1/PE2/PE3作为一组路由器,共享一个Anycast的IP地址192.168.0.1,其用于标识这一组路由器(或者组ID),并分别配置一个整数1/2/3标识各PE。举例说明,PE1/PE2/PE3的ID可以是192.168.0.1:1,192.168.0.1:2,192.168.0.1:3。又如,该标识可以是包含PE1/PE2/PE3这一组路由器的标识(例如,192.168.0.1),再包含一个BitString 0111表示ID=1/2/3的路由器。举例说明,位串(BitString)从右到左的第一个位置1标识ID=1的PE1,BitString从右到左的第二个位置1标识ID=2的PE2,BitString从右到左的第三个位置1标识ID=3的PE3。又如,该标识可以只包括组ID,这个组ID代表PE1/PE2/PE3这一组路由器,可以是如上所述的Anycast IP地址,再由组ID所代表的三个路由器上分别配置Anycast IP和三个路由器的对应关系。
可选地,上述信息1中还可以包含一个计数,表示作为叶子节点L1的主根的候选根节点集合中包括的根节点的数量。
可选地,上述信息1中还可以包含指示信息,该指示信息用于指示由作为叶子节点L1的主根的候选根节点集合中包括的根节点自行确定作为L1的主根。例如,该指示信息可以通过auto-select-by-root来标识。
具体的,举例说明,上述信息1可以为<PE1,PE2,PE3,auto-select-by-root>,其中,<PE1,PE2,PE3>表示作为叶子节点L1的主根的候选根节点集合中包括的根节点,<auto-select-by-root>表示由PE1/PE2/PE3自行确定作为L1的主根。确定的具体实现方式有多种,下面会对几种可能的方法进行详细描述,此处暂不详述。
步骤315:根节点PE1根据叶子节点L1发送的消息确定负载分担的配置结果,该配置结果为所述根节点PE1是叶子节点L1的主根。
1、一种可能的实现方式中,UMH选择指示信息用于指示叶子节点选择的主根和备根。
对于PE1而言,其收到的叶子节点L1发送的消息为:(S1,G1,节点ID=L1,UMH选择信息=primary)。可选地,其收到的叶子节点L2发送的消息为:(S1,G1,节点ID=L2,UMH选择信息=secondary);其收到的叶子节点L3发送的消息为:(S1,G1,节点ID=L3, UMH选择信息=secondary)。PE1可以根据上述UMH选择信息确定其作为叶子节点L1的主根,负责向叶子节点L1转发组播流量。
2、另一种可能的实现方式中,UMH选择指示信息用于指示由作为叶子节点L1的主根的候选根节点(PE1/PE2/PE3)自行决定作为叶子节点L1的主根。
具体的,一个示例,可以使用最高随机权重(highest random weight,HRW)的方法,使用各个候选根节点(PE1/PE2/PE3)和叶子节点L1的标识进行哈希(hash)计算,并根据哈希计算的结果确定作为该叶子节点L1的主根。
对于PE1而言,根据叶子节点L1的标识、候选根节点(PE1/PE2/PE3)的信息进行HRW计算的方法如下所示:对PE1的标识和L1的标识进行hash计算,得到结果11,表示为hash11=HRW(L1 ID,PE1 ID)。同理,对PE2的标识和L1的标识进行hash计算,得到结果21,表示为hash21=HRW(L1 ID,PE2 ID)。同理,对PE3的标识和L1的标识进行hash计算,得到结果31,表示为hash31=HRW(L1 ID,PE3 ID)。PE1可以对这几个hash值进行比较大小确定最大的一个值,例如,hash11/hash21/hash31中的最大值为hash11,即使用PE1进行hash计算的值是最大哈希值或最高随机权重,可以表示为HRW(L1,candidate(PE1,PE2,PE3))=PE1,则PE1作为L1的DF。根据该结果,PE1可以确定其作为L1的主根,负责发送组播流量给L1。
同样的,对于PE2而言,也会根据L1节点标识、候选根节点(PE1/PE2/PE3)的信息进行HRW计算,计算的结果和PE1上计算的结果相同,即HRW(L1,candidate(PE1,PE2,PE3))的计算结果同样也是PE1。因此,PE2根据该结果可以确定自己不是L1的主根,不负责发送流量给L1。对于PE3而言,PE3也会根据L1节点标识、候选根节点(PE1/PE2/PE3)的信息进行HRW计算,计算的结果和PE1、PE2上计算的结果相同。因此,PE3根据该结果可以确定自己不是L1的主根,不负责发送流量给L1。
具体的,另一个示例,也可以将组播流量也参与进Hash计算。以(S1,G1)的流量为例,使用HRW的方法,对各个候选根节点(PE1/PE2/PE3)、叶子节点L1的标识以及(S1,1)进行哈希(hash)计算,并根据哈希计算的结果确定作为该叶子节点L1的主根。具体的实现方法与上一个示例中的方法类似,可以参考上一个示例中描述的Hash计算的方法,此处不再赘述。
具体的,另一个示例,在使用BIER进行组播转发的场景中,PE1还可以根据BitString进行选择。一个示例,PE1作为N*3(N=0/1/…)中包括的叶子节点的主根,优先负责向N*3(N=0/1/…)中包括的叶子节点发送组播流量。PE2作为N*3+1(N=0/1/…)中包括的叶子节点的主根,优先负责向N*3+1(N=0/1/…)中包括的叶子节点发送组播流量。PE3作为N*3+2(N=0/1/…)中包括的叶子节点的主根,优先负责向N*3+2(N=0/1/…)中包括的叶子节点发送组播流量。
举例说明,当N=0时,PE1作为第0个集合或集合ID=0中包括的叶子节点(BFR ID分别为1-256)的主根,负责向BFR ID分别为1-256的叶子节点发送组播流量。同样的,PE2作为第1个集合或集合ID=1中包括的叶子节点(BFR ID分别为257-512)的主根,负责向BFR ID分别为257-512的叶子节点发送组播流量。PE3作为第2个集合或集合ID=2中包括的叶子节点(BFR ID分别为513-768)的主根,负责向BFR ID分别为513-768的叶子节点发送组播流量。假设叶子节点L1对应于集合0,L2对应于集合1,L3对应于集 合2,那么PE1作为L1的主根,负责向L1发送组播流量;PE2作为L2的主根,负责向L2发送组播流量;PE3作为L3的主根,负责向L3发送组播流量;
另一个示例,在使用BIER进行组播转发的场景中,可以使用HRW的方法,使用各个候选根节点(PE1/PE2/PE3)和集合ID进行哈希(hash)计算,并根据哈希计算的结果确定作为该集合对应的叶子节点的主根。
以集合ID=0对应的叶子节点为例。PE1根据集合ID=0、候选根节点(PE1/PE2/PE3)的信息进行HRW计算的方法如下所示:对PE1的标识和集合ID=0进行hash计算,得到结果11,表示为hash11=HRW(Set ID<0>,PE1 ID)。同理,对PE2的标识和集合ID=0进行hash计算,得到结果21,表示为hash21=HRW(Set ID<0>,PE2 ID)。同理,对PE3的标识和集合ID=0进行hash计算,得到结果31,表示为hash31=HRW(Set ID<0>,PE3 ID)。PE1可以对这几个hash值进行比较大小确定最大的一个值,例如,hash11/hash21/hash31中的最大值为hash11,即使用PE1进行hash计算的值是最大哈希值或最高随机权重,可以表示为HRW(集合ID=0,candidate(PE1,PE2,PE3))=PE1,则PE1作为集合ID=0的所有叶子节点(BFR ID分别为1-256的节点)的DF。根据该结果,PE1可以确定其作为集合ID=0的所有叶子节点(BFR ID分别为1-256的节点)的主根,负责发送组播流量给集合ID=0的所有叶子节点(BFR ID分别为1-256的节点)。假设叶子节点L1对应于集合0,那么,PE1可以确定其作为L1的主根,负责发送组播流量给L1。
同样的,PE2和PE3也会根据集合ID=0、候选根节点(PE1/PE2/PE3)的信息进行HRW计算,计算的结果和PE1上计算的结果相同,即HRW(集合ID=0,candidate(PE1,PE2,PE3))的计算结果同样也是PE1。因此,PE2和PE3根据该结果可以确定自己不是集合ID=0的所有叶子节点(BFR ID分别为1-256的节点)的主根,不负责发送组播流量给集合ID=0的所有叶子节点(BFR ID分别为1-256的节点)。假设叶子节点L1对应于集合0,那么,PE2和PE3可以确定自己不是L1的主根,不负责发送组播流量给L1。
步骤317:根节点PE1接收组播源110发送的组播流量(S1,G1),并基于负载分担的配置结果向叶子节点L1发送组播流量(S1,G1)。
本申请实施例对步骤315和步骤317的执行顺序不做具体限定,可以先执行步骤315再执行步骤317,或者也可以先执行步骤317再执行步骤315,或者还可以同时执行步骤315和步骤317。
也就是说,如果先执行步骤315再执行步骤317,那么根节点PE1在接收到组播流量(S1,G1)之前已经确定了上述负载分担的配置结果,根节点PE1可以在收到组播流量(S1,G1)时即可根据负载分担的配置结果转发组播流量(S1,G1)。如果先执行步骤317再执行步骤315,那么根节点PE1在接收到组播流量(S1,G1)后还未得到上述配置结果,根节点PE1可以等待确定了上述负载分担的配置结后,再根据负载分担的配置结果转发组播流量(S1,G1)。这样,可以避免还未确定配置结果就转发组播流量所造成的流量重复发送的问题。
下面对根节点PE1根据负载分担的配置结果对组播流量(S1,G1)进行转发的具体实现过程进行详细描述。
以根节点PE1作为叶子节点L1的主根为例,PE1在接收到组播流量(S1,G1)后,可以确定需要将组播流量(S1,G1)转发给叶子节点L1。具体的,作为示例,根节点PE1 和叶子节点L1之间可以使用“无状态(stateless)”的隧道,并通过该隧道将组播流量(S1,G1)发送给叶子节点L1。例如,一种无状态隧道头的例子为BIER隧道头或BIER头。也就是说,根节点PE1可以对组播流量(S1,G1)封装一个BIER头,该BIER头中可以包括bit string字段,该bit string中与叶子节点L1所对应的bit位的取值为1。
应理解,bit string中的每个bit用来标识边缘BFR(例如,BFIR或BFER),例如bit string的低位(最右)的一个bit用来标识BFR-ID=1的BFER。bit string中从右往左第2个Bit用来标识BFR-ID=2的BFER。转发面转发所依据的转发表项则是根据报文中的bit string决定该报文要往哪几个BFER发送。当BIER域中的BFR在接收到了包含有BIER头的报文时,根据BIER头中携带的bit string以及BIFT ID转发BIER报文。需要说明的是,bit位的值为1表示报文要往该BFR-ID所代表的BFER设备发送,bit位的值为0则表示报文不需要往该BFR-ID所代表的BFER设备发送。
步骤320:根节点PE2接收叶子节点L2发送的消息,该消息中携带叶子节点L2的标识和UMH选择指示信息。
1、一种可能的实现方式中,UMH选择指示信息用于指示叶子节点L2选择的主根和备根。以叶子节点L2选择PE2作为主根,PE1/PE3作为备根作为示例。一个示例,L2发送给PE2的消息中UMH选择指示信息可以是“primary”,表示L2选择PE2作为主根。L2发送给PE1和PE3的UMH选择指示信息为“secondary”,表示L2选择PE1和PE3作为备根。另一个示例,L2发送给PE2的消息中UMH选择指示信息可以是一个“NULL”,也就是说没有额外信息下默认“NULL”为“primary”,表示L2选择PE2作为主根。发送给PE1和PE3的UMH选择指示信息为“secondary”或“backup”或“standby”,表示L2选择PE1和PE3作为备根。
举例说明,叶子节点L2发送给根节点PE2的信息为:(S1,G1,节点ID=L2,UMH选择信息=primary)。可选地,叶子节点L2发送给根节点PE1的信息为:(S1,G1,节点ID=L2,UMH选择信息=secondary);发送给根节点PE3的信息为:(S1,G1,节点ID=L2,UMH选择信息=secondary)。
2、另一种可能的实现方式中,UMH选择指示信息用于指示由作为叶子节点L2的主根的候选根节点(PE1/PE2/PE3)自行确定作为该叶子节点L2的主根和备根。举例说明,叶子节点L2发送给根节点PE2的信息为:(S1,G1,节点ID=L2,UMH选择信息=信息2<PE1,PE2,PE3>)。可选地,叶子节点L2发送给根节点PE1的信息为:(S1,G1,节点ID=L2,UMH选择信息=信息2<PE1,PE2,PE3>);发送给根节点PE3的信息为:(S1,G1,节点ID=L2,UMH选择信息=信息2<PE1,PE2,PE3>)。
步骤325:根节点PE2根据叶子节点L2发送的消息确定负载分担的配置结果,该配置结果为所述根节点PE2是叶子节点L2的主根。
实现的方法有多种,下面以HRW为例,以使用各个候选根节点(PE1/PE2/PE3)和叶子节点L2的标识进行hash计算确定作为叶子节点L2的主根进行说明。其他的实现方法与步骤315中的方法类似,具体的请参考步骤315中的描述,此处不再赘述。
对于PE1而言,根据叶子节点L2的标识、候选根节点(PE1/PE2/PE3)的信息进行HRW计算的方法如下所示:对PE1的标识和L2的标识进行hash计算,得到结果12,表示为hash12=HRW(L2 ID,PE1 ID)。同理,对PE2的标识和L2的标识进行hash计算, 得到结果22,表示为hash22=HRW(L2 ID,PE2 ID)。同理,对PE3的标识和L2的标识进行hash计算,得到结果32,表示为hash32=HRW(L2 ID,PE3 ID)。PE1可以对这几个hash值进行比较大小确定最大的一个值,例如,hash12/hash22/hash32中的最大值为hash22,即使用PE2进行hash计算的值是最大哈希值或最高随机权重,可以表示为HRW(L2,candidate(PE1,E2,PE3))=PE2,则PE2作为L2的DF。根据该结果,PE1可以确定自己不是L2的主根,不负责发送流量给L2。
同样的,对于PE2而言,也会根据L2节点标识、候选根节点(PE1/PE2/PE3)的信息进行HRW计算,计算的结果和PE1上计算的结果相同,即HRW(L2,candidate(PE1,PE2,PE3))的计算结果同样也是PE2。因此,PE2根据该结果可以确定自己作为L2的主根,负责发送流量给L2。对于PE3而言,PE3也会根据L2节点标识、候选根节点(PE1/PE2/PE3)的信息进行HRW计算,计算的结果和PE1、PE2上计算的结果相同。因此,PE3根据该结果可以确定自己不是L2的主根,不负责发送流量给L2。
步骤327:根节点PE2接收组播源发送的组播流量(S1,G1),并基于各自确定的负载分担的配置结果向叶子节点L2发送组播流量(S1,G1)。
以根节点PE2作为叶子节点L2的主根为例,根节点PE2在接收到组播流量(S1,G1)后,也可以将组播流量(S1,G1)转发给叶子节点L2。以BIER隧道为例,根节点PE2可以对组播流量(S1,G1)封装一个BIER头,该BIER头中可以包括bit string字段,该bit string中与叶子节点L2所对应的bit位的取值为1。
步骤330:根节点PE3接收叶子节点L3发送的消息,该消息中携带叶子节点L3的标识和UMH选择指示信息。
1、一种可能的实现方式中,UMH选择指示信息用于指示叶子节点L3选择的主根和备根。以叶子节点L3选择PE3作为主根,PE2/PE3作为备根作为示例。一个示例,L3发送给PE3的消息中UMH选择指示信息可以是“primary”,表示L3选择PE3作为主根。L3发送给PE2和PE3的UMH选择指示信息为“secondary”,表示L3选择PE2和PE3作为备根。另一个示例,L3发送给PE3的消息中UMH选择指示信息可以是一个“NULL”,也就是说没有额外信息下默认“NULL”为“primary”,表示L3选择PE3作为主根。发送给PE2和PE3的UMH选择指示信息为“secondary”或“backup”或“standby”,表示L3选择PE2和PE3作为备根。
举例说明,叶子节点L3发送给根节点PE3的信息为:(S1,G1,节点ID=L3,UMH选择信息=primary)。可选地,叶子节点L3发送给根节点PE1的信息为:(S1,G1,节点ID=L3,UMH选择信息=secondary);发送给根节点PE2的信息为:(S1,G1,节点ID=L3,UMH选择信息=secondary)。
2、另一种可能的实现方式中,UMH选择指示信息用于指示由作为叶子节点L3的主根的候选根节点(PE1/PE2/PE3)自行确定作为该叶子节点L3的主根和备根。举例说明,叶子节点L3发送给根节点PE3的信息为:(S1,G1,节点ID=L3,UMH选择信息=信息3<PE1,PE2,PE3>)。可选地,叶子节点L3发送给根节点PE1的信息为:(S1,1,节点ID=L3,UMH选择信息=信息3<PE1,PE2,PE3>);发送给根节点PE2的信息为:(S1,G1,节点ID=L3,UMH选择信息=信息3<PE1,PE2,PE3>)。
步骤335:根节点PE3根据叶子节点L3发送的消息确定负载分担的配置结果,该配 置结果为所述根节点PE3是叶子节点L3的主根。
实现的方法有多种,下面以HRW方法为例,以使用各个候选根节点(PE1/PE2/PE3)和叶子节点L3的标识进行hash计算确定作为该叶子节点L3的主根进行说明。其他的实现方法与步骤315中的方法类似,具体的请参考步骤315中的描述,此处不再赘述。
对于PE1而言,根据叶子节点L3的标识、候选根节点(PE1/PE2/PE3)的信息进行HRW计算的方法如下所示:对PE1的标识和L3的标识进行hash计算,得到结果13,表示为hash13=HRW(L3 ID,PE1 ID)。同理,对PE2的标识和L3的标识进行hash计算,得到结果23,表示为hash23=HRW(L3 ID,PE2 ID)。同理,对PE3的标识和L3的标识进行hash计算,得到结果33,表示为hash33=HRW(L3 ID,PE3 ID)。PE1可以对这几个hash值进行比较大小确定最大的一个值,例如,hash13/hash23/hash33中的最大值为hash33,即使用PE3进行hash计算的值是最大哈希值或最高随机权重,可以表示为HRW(L3,candidate(PE1,PE2,PE3))=PE3,则PE3作为L3的DF。根据该结果,PE1可以确定自己不是L3的主根,不负责发送流量给L3。
同样的,对于PE2而言,也会根据L3节点标识、候选根节点(PE1/PE2/PE3)的信息进行HRW计算,计算的结果和PE1上计算的结果相同,即HRW(L3,candidate(PE1,PE2,PE3))的计算结果同样也是PE3。因此,PE2根据该结果确定自己不是L3的主根,不负责发送流量给L3。对于PE3而言,PE3也会根据L3节点标识、候选根节点(PE1/PE2/PE3)的信息进行HRW计算,计算的结果和PE1、PE2上计算的结果相同。因此,PE3根据该结果可以确定自己是L3的主根,负责发送流量给L3。
步骤337:根节点PE3接收组播源发送的组播流量(S1,G1),并基于各自确定的负载分担的配置结果向叶子节点L3发送组播流量(S1,G1)。
以根节点PE3作为叶子节点L3的主根为例,根节点PE3在接收到组播流量(S1,G1)后,也可以将组播流量(S1,G1)转发给叶子节点L3。以BIER隧道为例,根节点PE3可以对组播流量(S1,G1)封装一个BIER头,该BIER头中可以包括bit string字段,该bit string中与叶子节点L3所对应的bit位的取值为1。
上述技术方案中各个根节点在业务正常工作时可以进行负载分担,降低了单个设备的业务量,从而避免单个设备由于负载过大而导致的故障。
可选地,当某个根节点无法正常工作时,由其他可用的根节点对无法正常工作的根节点上的组播流量进行分担。本申请实施例中的某个根节点无法正常工作,可以理解为该根节点自身发生故障导致其无法正常工作,例如,掉电。或者还可以理解为该根节点和其他设备之间的链路发生故障从而导致其无法正常工作,例如,该根节点和与其连接的叶子节点之间的链路发生故障。
下面以根节点PE1故障为例,由其他可用的根节点(例如,PE2或PE3)对PE1的组播流量进行分担的不同实现方式进行详细描述。
一种可能的实现方式中,L1在确定PE1自身发生故障或PE1和L1之间的链路故障后,会重新向根节点(PE2/PE3)发送UMH选择指示信息。一个示例,假设L1重新确定PE2作为L1的主根,由PE2负责发送组播流量(S1,G1)给L1。L1发送给PE2的信息为:(S1,G1,节点ID=L1,UMH选择信息=primary);L1发送给PE3的信息为:(S1,G1,节点ID=L1,UMH选择信息=secondary)。PE2可以根据上述UMH选择信息确定其 作为叶子节点L1的主根,负责向叶子节点L1转发组播流量。而PE3根据上述UMH选择信息确定其作为叶子节点L1的备根。另一个示例,L1发送给PE2的信息为:(S1,G2,节点ID=L1,UMH选择信息=信息1<PE2,PE3,auto-select-by-root>);L1发送给PE3的信息为:(S1,G2,节点ID=L1,UMH选择信息=信息1<PE2,PE3,auto-select-by-root>)。PE2和PE3可以根据步骤320中的任意一种方法确定作为叶子节点L1的主根和备根。假设确定PE2作为L1的主根,由PE2负责发送组播流量(S1,G1)给L1。
另一种可能的实现方式中,PE2和PE3各自在确定PE1故障后,PE2和PE3会自行确定负责向L1发送组播流量(S1,G1)的根节点。例如,PE2和PE3根据hash12的取值>hash12的取值确定PE2作为L1的主根,由PE2负责向L1发送组播流量(S1,G1)。
本申请实施例中,PE2/PE3根据检测得到的PE1的故障信息进行的切换,与L1检测到PE1的故障以后发送给PE2/PE3的更新信息进行的切换结果相同,哪个先发生就可以触发切换。这样,可以提高性能,减少因为节点故障而中断组播流量的时间。
在PE1故障或PE1和L1之间的链路故障的情况下,对于PE2而言,既作为L1的主根,又作为L2的主根,PE2可以将组播流量(S1,G1)分别发送给L1和L2。以BIER隧道为例,根节点PE2可以对组播流量(S1,G1)封装一个BIER头,该BIER头中可以包括bit string字段,该bit string中与叶子节点L1和L2所对应的bit位的取值均为1。对于PE3而言,其仍然作为L3的主根,负责向L3转发组播流量(S1,G1)。也就是说,在1个根节点故障的情况下,流量仍然是负载分担的。
上述技术方案各个根节点既可以在业务正常工作时进行负载分担,降低单个设备的业务量,也能在设备故障时进行快速保护,还能在叶子节点与根节点之间的链路故障时进行有效的保护。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上文结合图1至图3,详细描述了本申请实施例提供的一种负载分担的方法,下面将结合图4至图9,详细描述本申请的装置的实施例。应理解,方法实施例的描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。
图4是本申请实施例提供的一种第一根节点设备400的示意性结构图。图4所示的该第一根节点设备400可以执行上述实施例的方法中第一根节点设备执行的相应步骤。如图4所示,所述第一根节点设备400包括:接收模块410、确定模块420,
接收模块410,用于接收所述叶子节点设备发送的消息,所述消息中包括第一标识和配置信息,所述第一标识指示所述叶子节点设备,所述配置信息用于指示所述叶子节点设备请求的、从所述根节点设备组到所述叶子节点设备的负载分担的配置方式,所述根节点设备组包括所述第一根节点设备;
确定模块420,用于根据所述第一标识和所述配置信息确定从所述第一根节点设备到所述叶子节点设备的负载分担的配置结果;
所述确定模块420,还用于响应于所述配置结果为第一结果,确定所述第一根节点设备为所述叶子节点设备的主根,所述主根指示所述第一根节点设备是向所述叶子节点设备转发所述组播流量的指定转发者;或者
所述确定模块420,还用于响应于所述配置结果为第二结果,确定所述第一根节点设备为所述叶子节点设备的备根,所述备根指示所述第一根节点设备是向所述叶子节点设备转发所述组播流量的非指定转发者。
可选地,所述配置信息中包括第一指示信息,所述第一指示信息用于指示所述第一根节点设备为所述叶子节点设备的主根。
可选地,所述配置信息中包括第二指示信息,所述第二指示信息用于指示所述第一根节点设备为所述叶子节点设备的备根。
可选地,所述配置信息中包括第三指示信息,所述第三指示信息用于指示作为所述叶子节点设备的主根的候选根节点设备信息。
可选地中,所述候选根节点设备中包括所述第一根节点设备,所述确定模块420具体用于:对所述第一标识和配置信息进行哈希计算,得到所述配置结果。
可选地,所述消息中还包括组播源组(S,G),所述候选根节点设备中包括所述第一根节点设备,所述确定模块420具体用于:对所述组播源组(S,G)、所述第一标识以及配置信息进行哈希计算,得到所述配置结果。
可选地,所述接收模块410,用于接收所述组播流量;所述第一根节点设备还包括:发送模块430,用于响应于所述第一根节点设备为所述叶子节点设备的主根,向所述叶子节点设备发送所述组播流量。
图5是本申请实施例的一种叶子节点设备500的示意性结构图。图5所示的该叶子节点设备500可以执行上述实施例的方法中叶子节点设备执行的相应步骤。如图5所示,所述叶子节点设备500包括:生成模块510、发送模块520,
生成模块510,用于生成消息,所述消息中包括第一标识和配置信息,所述第一标识指示所述叶子节点设备,所述配置信息用于指示所述叶子节点设备请求的、从所述根节点设备组到所述叶子节点设备的负载分担的配置方式;
发送模块520,用于向第一根节点设备发送所述消息,所述根节点设备组包括所述第一根节点设备。
可选地,所述配置信息中包括第一指示信息,所述第一指示信息所述第一根节点设备为所述叶子节点设备的主根,所述主根指示所述第一根节点设备是向所述叶子节点设备转发所述组播流量的指定转发者。
可选地,所述配置信息中包括第二指示信息,所述第二指示信息所述第一根节点设备为所述叶子节点设备的备根,所述备根指示所述第一根节点设备是向所述叶子节点设备转发所述组播流量的非指定转发者。
可选地,所述配置信息中包括第三指示信息,所述第三指示信息用于指示作为所述叶子节点设备的主根的候选根节点设备信息。
可选地,所述第一根节点设备为所述叶子节点设备的主根,所述叶子节点设备500还包括:接收模块530,用于接收所述第一根节点设备发送的所述组播流量。
图6是本申请实施例的第一根节点设备2000的硬件结构示意图。图6所示第一根节点设备2000可以执行上述实施例的方法中第一根节点设备执行的相应步骤。
如图6所示,所述第一根节点设备2000包括处理器2001、存储器2002、接口2003和总线2004。其中接口2003可以通过无线或有线的方式实现,具体来讲可以是网卡。上 述处理器2001、存储器2002和接口2003通过总线2004连接。
所述接口2003具体可以包括发送器和接收器,用于第一根节点设备实现上述收发。例如,所述接口2003用于支持第一根节点设备接收所述叶子节点设备发送的消息。
所述处理器2001用于执行上述实施例中由第一根节点设备进行的处理。例如,用于根据所述第一标识和所述配置信息确定从所述第一根节点设备到叶子节点设备的负载分担的配置结果;和/或用于本文所描述的技术的其他过程。存储器2002包括操作系统20021和应用程序20022,用于存储程序、代码或指令,当处理器或硬件设备执行这些程序、代码或指令时可以完成方法实施例中涉及第一根节点设备的处理过程。可选的,所述存储器2002可以包括只读存储器(read-only memory,ROM)和随机存取存储器(random access memory,RAM)。其中,所述ROM包括基本输入/输出系统(basic input/output system,BIOS)或嵌入式系统;所述RAM包括应用程序和操作系统。当需要运行第一根节点设备2000时,通过固化在ROM中的BIOS或者嵌入式系统中的bootloader引导系统进行启动,引导第一根节点设备2000进入正常运行状态。在第一根节点设备2000进入正常运行状态后,运行在RAM中的应用程序和操作系统,从而,完成方法实施例中涉及第一根节点设备2000的处理过程。
可以理解的是,图6仅仅示出了第一根节点设备2000的简化设计。在实际应用中,第一根节点设备可以包含任意数量的接口,处理器或者存储器。
图7为本申请实施例的另一种第一根节点设备2100的硬件结构示意图。图7所示的第一根节点设备2100可以执行上述实施例的方法中第一根节点设备执行的相应步骤。
如图7所述,第一根节点设备2100包括:主控板2110、接口板2130、交换网板2120和接口板2140。主控板2110、接口板2130和2140,以及交换网板2120之间通过系统总线与系统背板相连实现互通。其中,主控板2110用于完成系统管理、设备维护、协议处理等功能。交换网板2120用于完成各接口板(接口板也称为线卡或业务板)之间的数据交换。接口板2130和2140用于提供各种业务接口(例如,POS接口、GE接口、ATM接口等),并实现数据包的转发。
接口板2130可以包括中央处理器2131、转发表项存储器2134、物理接口卡2133和网络处理器2132。其中,中央处理器2131用于对接口板进行控制管理并与主控板上的中央处理器进行通信。转发表项存储器2134用于保存表项。物理接口卡2133用于完成流量的接收和发送。
应理解,本申请实施例中接口板2140上的操作与所述接口板2130的操作一致,为了简洁,不再赘述。
应理解,本实施例的第一根节点设备2100可对应于上述方法实施例所具有的功能和/或所实施的各种步骤,在此不再赘述。
此外,需要说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,第一根节点设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,第一根节点设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,第一根节点设备可以有至少一块交换网板,通过交换网板实现多块接口板之 间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的第一根节点设备的数据接入和处理能力要大于集中式架构的设备。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
图8是本申请实施例的叶子节点设备2200的硬件结构示意图。图8所示叶子节点设备2200可以执行上述实施例的方法中叶子节点设备执行的相应步骤。
如图8所示,所述叶子节点设备2200包括处理器2201、存储器2202、接口2203和总线2204。其中接口2203可以通过无线或有线的方式实现,具体来讲可以是网卡。上述处理器2201、存储器2202和接口2203通过总线2204连接。
所述接口2203具体可以包括发送器和接收器,用于向第一根节点设备发送消息;接收所述第一根节点设备发送的所述组播流量。所述处理器2201用于执行上述实施例中由叶子节点设备进行的处理。例如,所述处理器2201用于生成消息;和/或用于本文所描述的技术的其他过程。存储器2202包括操作系统22021和应用程序22022,用于存储程序、代码或指令,当处理器或硬件设备执行这些程序、代码或指令时可以完成方法实施例中涉及叶子节点设备的处理过程。可选的,所述存储器2202可以包括只读存储器(read-only memory,ROM)和随机存取存储器(random access memory,RAM)。其中,所述ROM包括基本输入/输出系统(basic input/output system,BIOS)或嵌入式系统;所述RAM包括应用程序和操作系统。当需要运行叶子节点设备2200时,通过固化在ROM中的BIOS或者嵌入式系统中的bootloader引导系统进行启动,引导叶子节点设备2200进入正常运行状态。在叶子节点设备2200进入正常运行状态后,运行在RAM中的应用程序和操作系统,从而,完成方法实施例中涉及叶子节点设备2200的处理过程。
可以理解的是,图8仅仅示出了叶子节点设备2200的简化设计。在实际应用中,叶子节点设备可以包含任意数量的接口,处理器或者存储器。
图9为本申请实施例的另一种叶子节点设备2300的硬件结构示意图。图9所示的叶子节点设备230可以执行上述实施例的方法中叶子节点设备执行的相应步骤。
如图9所述,叶子节点设备230包括:主控板2310、接口板2330、交换网板2320和接口板2340。主控板2310、接口板2330和2340,以及交换网板2320之间通过系统总线与系统背板相连实现互通。其中,主控板2310用于完成系统管理、设备维护、协议处理等功能。交换网板2320用于完成各接口板(接口板也称为线卡或业务板)之间的数据交换。接口板2330和2340用于提供各种业务接口(例如,POS接口、GE接口、ATM接口等),并实现数据包的转发。
接口板2330可以包括中央处理器2331、转发表项存储器2334、物理接口卡2333和网络处理器2332。其中,中央处理器2331用于对接口板进行控制管理并与主控板上的中央处理器进行通信。转发表项存储器2334用于保存表项。物理接口卡2133用于完成流量的接收和发送。
应理解,本申请实施例中接口板2340上的操作与所述接口板2330的操作一致,为了简洁,不再赘述。应理解,本实施例的叶子节点设备2300可对应于上述方法实施例所具有的功能和/或所实施的各种步骤,在此不再赘述。
此外,需要说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,叶子节点设备的数据处理能力越强,提供的接 口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,叶子节点设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,叶子节点设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的叶子节点设备的数据接入和处理能力要大于集中式架构的设备。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
本申请实施例还提供了一种计算机可读介质,该计算机可读介质存储有程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第一根节点设备执行的方法。这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-only memory,ROM)、可编程ROM(programmable ROM,PROM)、可擦除的PROM(erasable PROM,EPROM)、Flash存储器、电EPROM(electrically EPROM,EEPROM)以及硬盘驱动器(hard drive)。
本申请实施例还提供了一种计算机可读介质,该计算机可读介质存储有程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述叶子节点设备执行的方法。这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-only memory,ROM)、可编程ROM(programmable ROM,PROM)、可擦除的PROM(erasable PROM,EPROM)、Flash存储器、电EPROM(electrically EPROM,EEPROM)以及硬盘驱动器(hard drive)。
本申请实施例还提供了一种芯片系统,应用于第一根节点设备中,该芯片系统包括:至少一个处理器、至少一个存储器和接口电路,所述接口电路负责所述芯片系统与外界的信息交互,所述至少一个存储器、所述接口电路和所述至少一个处理器通过线路互联,所述至少一个存储器中存储有指令;所述指令被所述至少一个处理器执行,以进行上述各个方面的所述的方法中所述第一根节点设备的操作。
在具体实现过程中,该芯片可以以中央处理器(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)或可编辑逻辑器件(programmable logic device,PLD)的形式实现。
本申请实施例还提供了一种芯片系统,应用于叶子节点设备中,该芯片系统包括:至少一个处理器、至少一个存储器和接口电路,所述接口电路负责所述芯片系统与外界的信息交互,所述至少一个存储器、所述接口电路和所述至少一个处理器通过线路互联,所述至少一个存储器中存储有指令;所述指令被所述至少一个处理器执行,以进行上述各个方面的所述的方法中所述叶子节点设备的操作。
在具体实现过程中,该芯片可以以中央处理器(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)或可编辑逻辑器件(programmable logic device,PLD)的形式实现。
本申请实施例还提供了一种计算机程序产品,应用于第一根节点设备中,所述计算机程序产品包括一系列指令,当所述指令被运行时,以进行上述各个方面的所述的方法中所述第一根节点设备的操作。
本申请实施例还提供了一种计算机程序产品,应用于叶子节点设备中,所述计算机程序产品包括一系列指令,当所述指令被运行时,以进行上述各个方面的所述的方法中所述叶子节点设备的操作。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (46)

  1. 一种负载分担的方法,其特征在于,所述方法应用于通信网络,所述通信网络包括组播源设备、根节点设备组和叶子节点设备,所述组播源设备用于经由所述根节点设备组向所述叶子节点设备发送组播流量,所述根节点设备组中包括至少两个根节点设备,所述方法包括:
    第一根节点设备接收所述叶子节点设备发送的消息,所述消息中包括第一标识和配置信息,所述第一标识指示所述叶子节点设备,所述配置信息用于指示所述叶子节点设备请求的、从所述根节点设备组到所述叶子节点设备的负载分担的配置方式,所述根节点设备组包括所述第一根节点设备;
    所述第一根节点设备根据所述第一标识和所述配置信息确定从所述第一根节点设备到所述叶子节点设备的负载分担的配置结果;
    响应于所述配置结果为第一结果,所述第一根节点设备确定所述第一根节点设备为所述叶子节点设备的主根,所述主根指示所述第一根节点设备是向所述叶子节点设备转发所述组播流量的指定转发者DF;或者
    响应于所述配置结果为第二结果,所述第一根节点设备确定所述第一根节点设备为所述叶子节点设备的备根,所述备根指示所述第一根节点设备是向所述叶子节点设备转发所述组播流量的非指定转发者non-DF。
  2. 根据权利要求1所述的方法,其特征在于,所述配置信息中包括第一指示信息,所述第一指示信息用于指示所述第一根节点设备为所述叶子节点设备的主根。
  3. 根据权利要求1所述的方法,其特征在于,所述配置信息中包括第二指示信息,所述第二指示信息用于指示所述第一根节点设备为所述叶子节点设备的备根。
  4. 根据权利要求1所述的方法,其特征在于,所述配置信息中包括第三指示信息,所述第三指示信息用于指示作为所述叶子节点设备的主根的候选根节点设备信息。
  5. 根据权利要求4所述的方法,其特征在于,所述候选根节点设备中包括所述第一根节点设备,
    所述第一根节点设备根据所述第一标识和所述配置信息确定从所述第一根节点设备到所述叶子节点设备的负载分担的配置结果,包括:
    所述第一根节点设备对所述第一标识和所述配置信息进行哈希计算,得到所述配置结果。
  6. 根据权利要求4所述的方法,其特征在于,所述消息中还包括组播源组(S,G),所述候选根节点设备中包括所述第一根节点设备,
    所述第一根节点设备根据所述第一标识和所述配置信息确定从所述第一根节点设备到所述叶子节点设备的负载分担的配置结果,包括:
    所述第一根节点设备对所述组播源组(S,G)、所述第一标识以及所述配置信息进行哈希计算,得到所述配置结果。
  7. 根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
    所述第一根节点设备接收所述组播流量;
    响应于所述第一根节点设备为所述叶子节点设备的主根,所述第一根节点设备向所述叶子节点设备发送所述组播流量。
  8. 一种负载分担的方法,其特征在于,所述方法应用于通信网络,所述通信网络包括组播源设备、根节点设备组和叶子节点设备,所述组播源设备用于经由所述根节点设备组向所述叶子节点设备发送组播流量,所述根节点设备组中包括至少两个根节点设备,所述方法包括:
    所述叶子节点设备生成消息,所述消息中包括第一标识和配置信息,所述第一标识指示所述叶子节点设备,所述配置信息用于指示所述叶子节点设备请求的、从所述根节点设备组到所述叶子节点设备的负载分担的配置方式;
    所述叶子节点设备向第一根节点设备发送所述消息,所述根节点设备组包括所述第一根节点设备。
  9. 根据权利要求8所述的方法,其特征在于,所述配置信息中包括第一指示信息,所述第一指示信息所述第一根节点设备为所述叶子节点设备的主根,所述主根指示所述第一根节点设备是向所述叶子节点设备转发所述组播流量的指定转发者DF。
  10. 根据权利要求8所述的方法,其特征在于,所述配置信息中包括第二指示信息,所述第二指示信息所述第一根节点设备为所述叶子节点设备的备根,所述备根指示所述第一根节点设备是向所述叶子节点设备转发所述组播流量的非指定转发者non-DF。
  11. 根据权利要求10所述的方法,其特征在于,所述配置信息中包括第三指示信息,所述第三指示信息用于指示作为所述叶子节点设备的主根的候选根节点设备信息。
  12. 根据权利要求8至11中任一项所述的方法,其特征在于,所述第一根节点设备为所述叶子节点设备的主根,所述方法还包括:
    所述叶子节点设备接收所述第一根节点设备发送的所述组播流量。
  13. 一种负载分担的方法,其特征在于,所述方法应用于通信网络,所述通信网络包括组播源设备、根节点设备组和第一叶子节点设备、第二叶子节点设备,所述组播源设备用于经由所述根节点设备组向所述第一叶子节点设备、所述第二叶子节点设备发送组播流量,所述根节点设备组中包括第一根节点设备和第二根节点设备,所述方法包括:
    所述第一根节点设备接收所述组播流量,所述根节点设备组中包括所述第一根节点设备;
    响应于所述第一根节点设备为所述第一叶子节点设备的主根,所述第一根节点设备向所述第一叶子节点设备发送所述组播流量,所述第一根节点设备为第一叶子节点设备的主根指示所述第一根节点设备是向所述第一叶子节点设备转发所述组播流量的指定转发者DF;
    所述第二根节点设备接收所述组播流量,所述根节点设备组中包括所述第二根节点设备;
    响应于所述第二根节点设备为所述第二叶子节点设备的主根,所述第二根节点设备向所述第二叶子节点设备发送所述组播流量,所述第二根节点设备为第二叶子节点设备的主根指示所述第二根节点设备是向所述第二叶子节点设备转发所述组播流量的指定转发者DF。
  14. 根据权利要求13所述的方法,其特征在于,所述方法还包括:
    所述第一根节点设备接收所述第一叶子节点设备发送的第一消息,所述第一消息中包括所述第一标识和第一配置信息,所述第一标识指示所述第一叶子节点设备,所述第一配置信息用于指示所述第一叶子节点设备请求的、从所述根节点设备组到所述第一叶子节点设备的负载分担的配置方式;
    所述第一根节点根据所述第一标识和所述第一配置信息确定从所述第一根节点设备到所述第一叶子节点设备的第一负载分担的配置结果;
    响应于所述第一负载分担的配置结果为第一结果,所述第一根节点设备确定所述第一根节点设备为所述第一叶子节点设备的主根。
  15. 根据权利要求14所述的方法,其特征在于,所述第一配置信息中包括第一指示信息,所述第一指示信息用于指示所述第一根节点设备为所述第一叶子节点设备的主根。
  16. 根据权利要求14所述的方法,其特征在于,所述第一配置信息中包括第二指示信息,所述第二指示信息用于指示作为所述第一叶子节点设备的主根的第一候选根节点设备信息。
  17. 根据权利要求16所述的方法,其特征在于,所述第一候选根节点设备中包括所述第一根节点设备,所述第一根节点设备根据所述第一标识和所述第一配置信息确定从所述第一根节点设备到所述第一叶子节点设备的第一负载分担的配置结果,包括:
    所述第一根节点设备对所述第一标识和所述第一配置信息进行哈希计算,得到所述第一负载分担的配置结果。
  18. 根据权利要求16所述的方法,其特征在于,所述第一消息中还包括组播源组(S,G),所述第一候选根节点设备中包括所述第一根节点设备,
    所述第一根节点设备根据所述第一标识和所述第一配置信息确定从所述第一根节点设备到所述第一叶子节点设备的第一负载分担的配置结果,包括:
    所述第一根节点设备对所述组播源组(S,G)、所述第一标识以及所述第一配置信息进行哈希计算,得到所述第一负载分担的配置结果。
  19. 根据权利要求13至18中任一项所述的方法,其特征在于,所述方法还包括:
    所述第二根节点设备接收所述第二叶子节点设备发送的第二消息,所述第二消息中包括第二标识和第二配置信息,所述第二标识指示所述第二叶子节点设备,所述第二配置信息用于指示所述第二叶子节点设备请求的、从所述根节点设备组到所述第二叶子节点设备的负载分担的配置方式;
    所述第二根节点设备根据所述第二标识和所述第二配置信息确定从所述第二根节点设备到所述第二叶子节点设备的第二负载分担的配置结果;
    响应于所述第二负载分担的配置结果为第二结果,所述第二根节点设备确定所述第二根节点设备为所述第二叶子节点设备的主根。
  20. 根据权利要求19所述的方法,其特征在于,所述第二配置信息中包括第三指示信息,所述第三指示信息用于指示所述第二根节点设备为所述第二叶子节点设备的主根。
  21. 根据权利要求19所述的方法,其特征在于,所述第二配置信息中包括第四指示信息,所述第四指示信息用于指示作为所述第二叶子节点设备的主根的第二候选根节点设备信息。
  22. 根据权利要求21所述的方法,其特征在于,所述第二候选根节点设备中包括所 述第二根节点设备,
    所述第二根节点设备根据所述第二标识和所述第二配置信息确定从所述第一根节点设备到所述第一叶子节点设备的所述第二负载分担的配置结果,包括:
    所述第二根节点设备对所述第二标识和所述第二配置信息进行哈希计算,得到所述第二负载分担的配置结果。
  23. 根据权利要求21所述的方法,其特征在于,所述第二消息中还包括组播源组(S,G),所述第二候选根节点设备中包括所述第二根节点设备,
    所述第二根节点设备根据所述第二标识和所述第二配置信息确定从所述第一根节点设备到所述第一叶子节点设备的所述第二负载分担的配置结果,包括:
    所述第二根节点设备对所述组播源组(S,G)、所述第二标识以及所述第二配置信息进行哈希计算,得到所述第二负载分担的配置结果。
  24. 一种第一根节点设备,其特征在于,所述第一根节点设备应用于通信网络,所述通信网络包括组播源设备、根节点设备组和叶子节点设备,所述组播源设备用于经由所述根节点设备组向所述叶子节点设备发送组播流量,所述根节点设备组中包括所述第一根节点设备在内的至少两个根节点设备,所述第一根节点设备包括:
    接收模块,用于接收所述叶子节点设备发送的消息,所述消息中包括第一标识和配置信息,所述第一标识指示所述叶子节点设备,所述配置信息用于指示所述叶子节点设备请求的、从所述根节点设备组到所述叶子节点设备的负载分担的配置方式,所述根节点设备组包括所述第一根节点设备;
    确定模块,用于根据所述第一标识和所述配置信息确定从所述第一根节点设备到所述叶子节点设备的负载分担的配置结果;
    所述确定模块,还用于响应于所述配置结果为第一结果,确定所述第一根节点设备为所述叶子节点设备的主根,所述主根指示所述第一根节点设备是向所述叶子节点设备转发所述组播流量的指定转发者DF;或者
    所述确定模块,还用于响应于所述配置结果为第二结果,确定所述第一根节点设备为所述叶子节点设备的备根,所述备根指示所述第一根节点设备是向所述叶子节点设备转发所述组播流量的非指定转发者non-DF。
  25. 根据权利要求24所述的第一根节点设备,其特征在于,所述配置信息中包括第一指示信息,所述第一指示信息用于指示所述第一根节点设备为所述叶子节点设备的主根。
  26. 根据权利要求24所述的第一根节点设备,其特征在于,所述配置信息中包括第二指示信息,所述第二指示信息用于指示所述第一根节点设备为所述叶子节点设备的备根。
  27. 根据权利要求24所述的第一根节点设备,其特征在于,所述配置信息中包括第三指示信息,所述第三指示信息用于指示作为所述叶子节点设备的主根的候选根节点设备信息。
  28. 根据权利要求27所述的第一根节点设备,其特征在于,所述候选根节点设备中包括所述第一根节点设备,所述确定模块具体用于:
    对所述第一标识和所述配置信息进行哈希计算,得到所述配置结果。
  29. 根据权利要求27所述的第一根节点设备,其特征在于,所述消息中还包括组播源组(S,G),所述候选根节点设备中包括所述第一根节点设备,所述确定模块具体用 于:
    对所述组播源组(S,G)、所述第一标识以及所述配置信息进行哈希计算,得到所述配置结果。
  30. 根据权利要求24至29中任一项所述的第一根节点设备,其特征在于,
    所述接收模块,用于接收所述组播流量;
    所述第一根节点设备还包括:
    发送模块,用于响应于所述第一根节点设备为所述叶子节点设备的主根,向所述叶子节点设备发送所述组播流量。
  31. 一种叶子节点设备,其特征在于,所述叶子节点设备应用于通信网络,所述通信网络包括组播源设备、根节点设备组和所述叶子节点设备,所述组播源设备用于经由所述根节点设备组向所述叶子节点设备发送组播流量,所述根节点设备组中包括至少两个根节点设备,所述叶子节点设备包括:
    生成模块,用于生成消息,所述消息中包括第一标识和配置信息,所述第一标识指示所述叶子节点设备,所述配置信息用于指示所述叶子节点设备请求的、从所述根节点设备组到所述叶子节点设备的负载分担的配置方式;
    发送模块,用于向第一根节点设备发送所述消息,所述根节点设备组包括所述第一根节点设备。
  32. 根据权利要求31所述的叶子节点设备,其特征在于,所述配置信息中包括第一指示信息,所述第一指示信息所述第一根节点设备为所述叶子节点设备的主根,所述主根指示所述第一根节点设备是向所述叶子节点设备转发所述组播流量的指定转发者DF。
  33. 根据权利要求31所述的叶子节点设备,其特征在于,所述配置信息中包括第二指示信息,所述第二指示信息所述第一根节点设备为所述叶子节点设备的备根,所述备根指示所述第一根节点设备是向所述叶子节点设备转发所述组播流量的非指定转发者non-DF。
  34. 根据权利要求31所述的叶子节点设备,其特征在于,所述配置信息中包括第三指示信息,所述第三指示信息用于指示作为所述叶子节点设备的主根的候选根节点设备信息。
  35. 根据权利要求31至34中任一项所述的叶子节点设备,其特征在于,所述第一根节点设备为所述叶子节点设备的主根,所述叶子节点设备还包括:
    接收模块,用于接收所述第一根节点设备发送的所述组播流量。
  36. 一种负载分担的系统,其特征在于,所述系统应用于通信网络,所述通信网络包括组播源设备、根节点设备组和第一叶子节点设备、第二叶子节点设备,所述组播源设备用于经由所述根节点设备组向所述第一叶子节点设备、所述第二叶子节点设备发送组播流量,所述根节点设备组中包括第一根节点设备和第二根节点设备,所述系统包括:
    接收模块,用于所述第一根节点设备接收所述组播流量,所述根节点设备组中包括所述第一根节点设备;
    发送模块,用于响应于所述第一根节点设备为所述第一叶子节点设备的主根,所述第一根节点设备向所述第一叶子节点设备发送所述组播流量,所述第一根节点设备为第一叶子节点设备的主根指示所述第一根节点设备是向所述第一叶子节点设备转发所述组播流 量的指定转发者DF;
    所述接收模块,还用于所述第二根节点设备接收所述组播流量,所述根节点设备组中包括所述第二根节点设备;
    发送模块,用于响应于所述第二根节点设备为所述第二叶子节点设备的主根,所述第二根节点设备向所述第二叶子节点设备发送所述组播流量,所述第二根节点设备为第二叶子节点设备的主根指示所述第二根节点设备是向所述第二叶子节点设备转发所述组播流量的指定转发者DF。
  37. 根据权利要求36所述的系统,其特征在于,
    所述确定模块,还用于所述第一根节点设备接收所述第一叶子节点设备发送的第一消息,所述第一消息中包括所述第一标识和第一配置信息,所述第一标识指示所述第一叶子节点设备,所述第一配置信息用于指示所述第一叶子节点设备请求的、从所述根节点设备组到所述第一叶子节点设备的负载分担的配置方式;
    所述系统还包括:
    确定模块,用于所述第一根节点根据所述第一标识和所述第一配置信息确定从所述第一根节点设备到所述第一叶子节点设备的第一负载分担的配置结果;
    所述确定模块,还用于响应于所述第一负载分担的配置结果为第一结果,所述第一根节点设备确定所述第一根节点设备为所述第一叶子节点设备的主根。
  38. 根据权利要求37所述的系统,其特征在于,所述第一配置信息中包括第一指示信息,所述第一指示信息用于指示所述第一根节点设备为所述第一叶子节点设备的主根。
  39. 根据权利要求37所述的系统,其特征在于,所述第一配置信息中包括第二指示信息,所述第二指示信息用于指示作为所述第一叶子节点设备的主根的第一候选根节点设备信息。
  40. 根据权利要求39所述的系统,其特征在于,所述第一候选根节点设备中包括所述第一根节点设备,所述确定模块具体用于:
    所述第一根节点设备对所述第一标识和所述第一配置信息进行哈希计算,得到所述第一负载分担的配置结果。
  41. 根据权利要求39所述的系统,其特征在于,所述第一消息中还包括组播源组(S,G),所述第一候选根节点设备中包括所述第一根节点设备,所述确定模块具体用于:
    所述第一根节点设备对所述组播源组(S,G)、所述第一标识以及所述第一配置信息进行哈希计算,得到所述第一负载分担的配置结果。
  42. 根据权利要求36至41中任一项所述的系统,其特征在于,
    所述接收模块,还用于所述第二根节点设备接收所述第二叶子节点设备发送的第二消息,所述第二消息中包括第二标识和第二配置信息,所述第二标识指示所述第二叶子节点设备,所述第二配置信息用于指示所述第二叶子节点设备请求的、从所述根节点设备组到所述第二叶子节点设备的负载分担的配置方式;
    所述确定模块,还用于所述第二根节点设备根据所述第二标识和所述第二配置信息确定从所述第二根节点设备到所述第二叶子节点设备的第二负载分担的配置结果;
    所述确定模块,还用于响应于所述第二负载分担的配置结果为第二结果,所述第二根节点设备确定所述第二根节点设备为所述第二叶子节点设备的主根。
  43. 根据权利要求42所述的系统,其特征在于,所述第二配置信息中包括第三指示信息,所述第三指示信息用于指示所述第二根节点设备为所述第二叶子节点设备的主根。
  44. 根据权利要求42所述的系统,其特征在于,所述第二配置信息中包括第四指示信息,所述第四指示信息用于指示作为所述第二叶子节点设备的主根的第二候选根节点设备信息。
  45. 根据权利要求44所述的系统,其特征在于,所述第二候选根节点设备中包括所述第二根节点设备,所述确定模块,还用于:
    所述第二根节点设备对所述第二标识和所述第二配置信息进行哈希计算,得到所述第二负载分担的配置结果。
  46. 根据权利要求44所述的系统,其特征在于,所述第二消息中还包括组播源组(S,G),所述第二候选根节点设备中包括所述第二根节点设备,
    所述确定模块,还用于所述第二根节点设备对所述组播源组(S,G)、所述第二标识以及所述第二配置信息进行哈希计算,得到所述第二负载分担的配置结果。
PCT/CN2021/137653 2020-12-21 2021-12-14 负载分担的方法、根节点设备、叶子节点设备以及系统 WO2022135217A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP21909214.5A EP4250675A4 (en) 2020-12-21 2021-12-14 LOAD SHARING METHOD AND SYSTEM, ROOT NODE DEVICE AND LEAF NODE DEVICE
JP2023537695A JP2024500451A (ja) 2020-12-21 2021-12-14 負荷共有方法、ルート・ノード・デバイス、リーフ・ノード・デバイスおよびシステム
US18/337,940 US20230336484A1 (en) 2020-12-21 2023-06-20 Load sharing method, root node device, leaf node device, and system

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN202011519565 2020-12-21
CN202011519565.2 2020-12-21
CN202110108665.4A CN114726795A (zh) 2020-12-21 2021-01-27 负载分担的方法、根节点设备、叶子节点设备以及系统
CN202110108665.4 2021-01-27

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/337,940 Continuation US20230336484A1 (en) 2020-12-21 2023-06-20 Load sharing method, root node device, leaf node device, and system

Publications (1)

Publication Number Publication Date
WO2022135217A1 true WO2022135217A1 (zh) 2022-06-30

Family

ID=82157358

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/137653 WO2022135217A1 (zh) 2020-12-21 2021-12-14 负载分担的方法、根节点设备、叶子节点设备以及系统

Country Status (4)

Country Link
US (1) US20230336484A1 (zh)
EP (1) EP4250675A4 (zh)
JP (1) JP2024500451A (zh)
WO (1) WO2022135217A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102201999A (zh) * 2011-06-13 2011-09-28 中兴通讯股份有限公司 一种实现组播业务负荷分担的方法和系统
CN108259303A (zh) * 2017-12-25 2018-07-06 新华三技术有限公司 一种报文转发方法及装置
CN108696440A (zh) * 2017-03-31 2018-10-23 瞻博网络公司 多重归宿evpn网络中的多播负载均衡
US10250552B1 (en) * 2016-04-27 2019-04-02 Cisco Technology, Inc. L3VPN service with single IGP/BGP session from a multi-homed CE with fast convergence using EVPN
CN111585899A (zh) * 2019-02-19 2020-08-25 华为技术有限公司 一种evpn组播方法、装置及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8953446B1 (en) * 2011-12-20 2015-02-10 Juniper Networks, Inc. Load balancing multicast join requests over interior and exterior BGP paths in a MVPN
CN104717143B (zh) * 2015-03-12 2018-03-02 华为技术有限公司 用于多归场景组播数据传输的方法及设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102201999A (zh) * 2011-06-13 2011-09-28 中兴通讯股份有限公司 一种实现组播业务负荷分担的方法和系统
US10250552B1 (en) * 2016-04-27 2019-04-02 Cisco Technology, Inc. L3VPN service with single IGP/BGP session from a multi-homed CE with fast convergence using EVPN
CN108696440A (zh) * 2017-03-31 2018-10-23 瞻博网络公司 多重归宿evpn网络中的多播负载均衡
CN108259303A (zh) * 2017-12-25 2018-07-06 新华三技术有限公司 一种报文转发方法及装置
CN111585899A (zh) * 2019-02-19 2020-08-25 华为技术有限公司 一种evpn组播方法、装置及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4250675A4

Also Published As

Publication number Publication date
US20230336484A1 (en) 2023-10-19
EP4250675A1 (en) 2023-09-27
EP4250675A4 (en) 2024-04-17
JP2024500451A (ja) 2024-01-09

Similar Documents

Publication Publication Date Title
US9660939B2 (en) Protection switching over a virtual link aggregation
US9807017B2 (en) Multicast traffic load balancing over virtual link aggregation
EP3041179B1 (en) A method and apparatus for use in network management
US9426546B2 (en) Maintaining a fabric name across a distributed switch
EP2962431B1 (en) Spanning tree in fabric switches
US11381883B2 (en) Dynamic designated forwarder election per multicast stream for EVPN all-active homing
JP2016535904A (ja) ミドルウェアおよびアプリケーションの実行のためにエンジニアド・システムにおいてデータサービスを提供するためのシステムおよび方法
WO2021082812A1 (zh) 报文的发送方法和第一网络设备
US11546267B2 (en) Method for determining designated forwarder (DF) of multicast flow, device, and system
KR20220093155A (ko) 패킷 전달 방법, 제1 네트워크 디바이스 및 제1 디바이스 그룹
WO2022135217A1 (zh) 负载分担的方法、根节点设备、叶子节点设备以及系统
CN113285878B (zh) 负载分担的方法、第一网络设备
CN110324247B (zh) 三层组播网络中的组播转发方法、设备及存储介质
CN114006780A (zh) 报文转发的方法、设备以及系统
CN113765815B (zh) 组播报文负载分担的方法、设备和系统
CN114726795A (zh) 负载分担的方法、根节点设备、叶子节点设备以及系统
US11876680B2 (en) Method and apparatus for determining link for forwarding service flow
WO2014086242A1 (zh) 多链路透明互连网络中组播转发方法及装置、路由桥
US20230171184A1 (en) Packet Forwarding Method, Device, and System
CN117596284B (zh) 数据传输的方法、装置、计算机设备和存储介质
US9537750B2 (en) Multicast router topology discovery
CN115580574A (zh) 报文转发方法、装置以及系统

Legal Events

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

Ref document number: 21909214

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023537695

Country of ref document: JP

ENP Entry into the national phase

Ref document number: 2021909214

Country of ref document: EP

Effective date: 20230620

NENP Non-entry into the national phase

Ref country code: DE