Method and device for detecting state of multicast channel

By using multicast BFD messages to carry multicast group bit strings and BFD information in the multicast channel, the problem that traditional BFD technology cannot detect the status of the multicast channel is solved, and the performance of the root node is optimized and the multicast data is transmitted reliably.

CN121077941APending Publication Date: 2025-12-05HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410725864.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-06-05
Publication Date
2025-12-05

AI Technical Summary

Technical Problem

Traditional BFD technology cannot effectively detect the status of multicast channels, resulting in high processing pressure on the root node, affecting performance, and poor detection accuracy.

Method used

Multicast BFD messages are used to carry multicast group bit strings and BFD information. The root node actively sends downlink multicast BFD messages to reduce the processing pressure on the root node. The multicast group bit strings guide intermediate nodes to replicate and forward the messages, ensuring that all leaf nodes receive the messages.

Benefits of technology

It reduces the processing pressure on the root node, improves the detection accuracy and reliability of multicast channels, reduces the risk of multicast data packet loss, and saves bandwidth resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121077941A_ABST
    Figure CN121077941A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a multicast channel state detection method and device, and belongs to the technical field of communication. In the embodiment of the invention, the root node actively sends the downlink multicast BFD message, the downlink multicast BFD message comprises the first BFD information and the multicast group bit string, and the multicast group bit string can guide the intermediate node to copy and forward the downlink multicast BFD message, so that the BFD message can be copied and forwarded. On the basis that a plurality of destination leaf nodes of the multicast channel can receive the downlink multicast BFD message, the root node does not need to send a plurality of downlink multicast BFD messages, so that the processing pressure of the root node for generating the plurality of downlink multicast BFD messages is reduced, and the influence of the BFD message generation process on the performance of the root node is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of communication, in particular to a multicast channel state detection method and device. BACKGROUND

[0002] Bidirectional forwarding detection (BFD) is a fault detection mechanism used to detect a bidirectional transmission channel between two network devices. In the process of detecting the bidirectional transmission channel using BFD, after the two network devices establish a BFD session, the network devices periodically send BFD packets on the channel between them. If one party does not receive the BFD packet within the negotiated detection time, it is determined that a fault has occurred in the bidirectional transmission channel.

[0003] The traditional BFD technology only supports detecting unicast service channels and is not applicable to multicast scenarios. On the one hand, the forwarding path of the BFD packet may not be consistent with the multicast data channel through which the multicast data packet passes, affecting the accuracy of BFD detection. On the other hand, the multicast data channel passes through multiple leaf nodes, and it is necessary to deploy a BFD session for each of the multiple leaf nodes on the root node. The number of BFD sessions deployed on the root node is the same as the number of leaf nodes passed through in the multicast data channel, and the root node needs to copy multiple copies of the BFD packet and then forward the copied multiple copies of the packet to the multiple leaf nodes, resulting in a relatively large processing pressure on the root node and affecting the performance of the root node. SUMMARY

[0004] The present application provides a multicast channel state detection method and device, which helps to reduce the processing pressure of the root node and improve the performance of the root node. The technical solution is as follows.

[0005] In a first aspect, a multicast channel state detection method is provided, applied to a root node of a downlink multicast channel, the downlink multicast channel being used to transmit multicast data packets from the root node to multiple leaf nodes, and the method comprising: the root node obtaining a first downlink multicast bidirectional forwarding detection (BFD) packet, the first downlink multicast BFD packet comprising first BFD information and a multicast group bit string, the first BFD information being used to detect the state of the downlink multicast channel, and the multicast group bit string being used to identify the multiple leaf nodes; and the root node sending the first downlink multicast BFD packet.

[0006] Based on the method provided in the first aspect, the root node actively sends a downlink multicast BFD message, and the downlink multicast BFD message includes first BFD information and a multicast group bit string. Since the multicast group bit string can guide the intermediate nodes to copy and forward the downlink multicast BFD message, on the basis that the multiple destination leaf nodes of the multicast channel can all receive the downlink multicast BFD message, it is not necessary to require the root node to send multiple copies of the downlink multicast BFD message, thereby reducing the processing pressure of the root node for generating multiple copies of the downlink multicast BFD message, and reducing the influence of the process of generating the BFD message on the performance of the root node.

[0007] In some embodiments, the first downlink multicast BFD message includes a destination options header (DOH) and an Internet Protocol version 6 (IPv6) payload, the DOH includes the multicast group bit string, the IPv6 payload includes the first BFD information, and the DOH is encapsulated in an outer layer of the IPv6 payload.

[0008] Since the multicast group bit string is carried by using the destination options header, the multicast BFD message provided in the embodiments of the present application matches the standard BIERv6 message format, so that the nodes supporting BIER in the multicast network can identify and forward the multicast BFD message provided in the embodiments of the present application, and the compatibility is good.

[0009] In some embodiments, the first downlink multicast BFD message further includes a status of a first uplink unicast channel, and the multiple leaf nodes include a first leaf node, and the first uplink unicast channel is used to transmit a multicast control plane message from the first leaf node to the root node.

[0010] Since the first downlink multicast BFD message further includes the status of the first uplink unicast channel, the first leaf node can know the status of the first uplink unicast channel, which facilitates the first leaf node to judge whether to switch the transmission tunnel of the multicast data message based on the status of the first uplink unicast channel, so that the factors based on which the first leaf node switches the tunnel are more comprehensive and accurate.

[0011] In some embodiments, the first downlink multicast BFD message includes a BFD status bit string, each bit in the BFD status bit string corresponds to one leaf node in the multiple leaf nodes, and a first bit corresponding to the first leaf node in the BFD status bit string is used to carry the status of the first uplink unicast channel.

[0012] Since the BFD state bit string is carried in the downlink multicast BFD message, the leaf node determines the state of the uplink unicast channel from the leaf node to the root node based on the bit value of the bit corresponding to the node in the BFD state bit string, so that the leaf node can use the state of the uplink unicast channel as a judgment condition for selecting from the primary multicast data stream and the standby multicast data stream, so that the transmission channel based on which the multicast data stream is transmitted is more accurate, thereby improving the reliability of transmitting the multicast data stream.

[0013] In some embodiments, the root node obtains the first downlink multicast BFD message, including: the root node sets the first bit in the BFD state bit string to a first bit value in response to losing m uplink unicast BFD messages from the first leaf node in consecutive k detection periods, the first bit value representing that a first uplink unicast channel is in a fault state, the uplink unicast BFD message including third BFD information for detecting the state of the first uplink unicast channel, the first uplink unicast channel being used for transmitting multicast control plane messages from the first leaf node to the root node, k being a positive integer, m being a positive integer, or,

[0014] The root node sets the first bit in the BFD state bit string to a second bit value in response to not losing m uplink unicast BFD messages in consecutive k detection periods, the second bit value representing that the first uplink unicast channel is in a connected state.

[0015] In some embodiments, the uplink unicast BFD message further includes the state of the downlink multicast channel, the downlink multicast channel including a primary channel and a standby channel, and the method further includes:

[0016] The root node switches the transmission channel of the multicast data message from the primary channel to the standby channel in response to the primary channel of the downlink multicast channel being in a fault state and the standby channel of the downlink multicast channel being in a connected state.

[0017] In some embodiments, the method further includes:

[0018] If the first uplink unicast channel is in a fault state, the root node updates a multicast group bit string carried in the multicast data message from a first multicast group bit string to a second multicast group bit string based on the identifier of the first leaf node, the first multicast group bit string including a bit value corresponding to the identifier of the first leaf node, and the second multicast group bit string not including the bit value corresponding to the identifier of the first leaf node.

[0019] In this way, the intermediate node will not send the multicast data packet to the first leaf node based on the updated bit value carried in the bit corresponding to the first leaf node, thereby reducing the risk of packet loss of the multicast data packet during transmission from the head node to the first leaf node under the condition that the uplink unicast channel is in a fault state, causing service damage. And save the performance overhead caused by the intermediate node to the multicast data packet, save the bandwidth waste caused by the transmission of multicast data packets in the channel failure case.

[0020] In some embodiments, the first BFD information includes a version number, and the version number is used to identify that the first downlink multicast BFD packet is used for detecting a multicast channel.

[0021] In some embodiments, the DOH includes an Operation Administration and Maintenance (OAM) identifier, and the OAM identifier is used to identify that the type of the first downlink multicast BFD packet is a BFD detection type.

[0022] In some embodiments, the root node sends the first downlink multicast BFD packet, comprising:

[0023] The root node periodically sends the first downlink multicast BFD packet according to a first target time interval.

[0024] Since the root node periodically sends the first downlink multicast BFD packet, the state of the downlink multicast channel can be actively detected without relying on receiving the multicast stream from the multicast source, so the sending time interval of the multicast BFD packet is almost not affected by the sending time interval of the multicast data packet in the multicast stream, so the scheme is still available in the scenarios of no multicast stream, intermittent multicast stream and low-speed multicast stream, etc. The application scenario is more abundant.

[0025] In some embodiments, the first downlink multicast BFD packet further includes a timestamp, and the timestamp is used to identify the time when the root node sends the first downlink multicast BFD packet.

[0026] In a second aspect, a method for detecting a state of a multicast channel is provided. The method is applied to a first leaf node of a first downlink multicast channel. The first downlink multicast channel is used to transmit multicast data packets from a first root node to a plurality of leaf nodes, and the plurality of leaf nodes includes the first leaf node. The method includes: receiving, by the first leaf node, a first downlink multicast Bidirectional Forwarding Detection (BFD) packet from the first root node. The first downlink multicast BFD packet includes first BFD information and a multicast group bit string. The first BFD information is used to detect a state of the first downlink multicast channel, and the multicast group bit string is used to identify the plurality of leaf nodes. The first leaf node determines the state of the first downlink multicast channel based on the first downlink multicast BFD packet.

[0027] Based on the method of the first aspect, the leaf node determines the state of the first downlink multicast channel based on the downlink multicast BFD packet actively sent by the root node. The downlink multicast BFD packet includes the first BFD information and the multicast group bit string. Since the multicast group bit string can guide the intermediate node to copy and forward the downlink multicast BFD packet, on the basis that the plurality of destination leaf nodes of the multicast channel can all receive the downlink multicast BFD packet, the root node does not need to send multiple copies of the downlink multicast BFD packet, thereby reducing the processing pressure of the root node for generating multiple copies of the downlink multicast BFD packet, and reducing the influence of the process of generating the BFD packet on the performance of the root node.

[0028] In some embodiments, the first leaf node determines the state of the first downlink multicast channel based on the first downlink multicast BFD packet, including:

[0029] In response to losing m first downlink multicast BFD packets in k consecutive detection periods, the first leaf node determines that the first downlink multicast channel is in a failure state. The k is a positive integer, and the m is a positive integer. Alternatively,

[0030] In response to not losing m first downlink multicast BFD packets in k consecutive detection periods, the first leaf node determines that the first downlink multicast channel is in a connected state.

[0031] In some embodiments, the method further includes:

[0032] The first leaf node obtains an uplink unicast BFD packet. The uplink unicast BFD packet includes third BFD information. The third BFD information is used to detect a state of a first uplink unicast channel. The first uplink unicast channel is used to transmit multicast control plane packets from the first leaf node to the root node.

[0033] The first leaf node sends the uplink unicast BFD packet to the first root node.

[0034] In some embodiments, the uplink unicast BFD message further comprises a status of the first downlink multicast channel.

[0035] In some embodiments, the first downlink multicast BFD message further comprises a status of a first uplink unicast channel, the first uplink unicast channel being used for transmitting a multicast control plane message from the first leaf node to the first root node.

[0036] In some embodiments, the method further comprises:

[0037] determining, by the first leaf node, a transmission channel based on which the multicast data message is received from the first downlink multicast channel and a second downlink multicast channel based on a status of the first downlink multicast channel and a status of the second downlink multicast channel, the second downlink multicast channel being used for transmitting a multicast data message from the second root node to the plurality of leaf nodes.

[0038] In some embodiments, determining, by the first leaf node, a transmission channel based on which the multicast data message is received from the first downlink multicast channel and a second downlink multicast channel based on a status of the first downlink multicast channel and a status of the second downlink multicast channel comprises:

[0039] if the status of the first downlink multicast channel is a failure status and the status of the second downlink multicast channel is a connected status, determining, by the first leaf node, to receive the multicast data message using the second downlink multicast channel; or

[0040] if the status of the first downlink multicast channel is a connected status and the status of the second downlink multicast channel is a failure status, determining, by the first leaf node, to receive the multicast data message using the first downlink multicast channel.

[0041] In some embodiments, determining, by the first leaf node, a transmission channel based on which the multicast data message is received from the first downlink multicast channel and a second downlink multicast channel based on a status of the first downlink multicast channel and a status of the second downlink multicast channel comprises:

[0042] The first leaf node determines a transmission channel for receiving the multicast data packet from the first downlink multicast channel and the second downlink multicast channel based on a state of the first downlink multicast channel, a state of the second downlink multicast channel, a state of a first uplink unicast channel, a state of a second uplink unicast channel, a state of a multicast data packet received from the first root node, and a state of a multicast data packet received from the second root node, and the second uplink unicast channel is used for transmitting a multicast control plane packet from the first leaf node to the second root node.

[0043] In some embodiments, the first downlink multicast BFD packet further includes a timestamp, the timestamp is used to identify a time point at which the root node sends the first downlink multicast BFD packet, and the first leaf node determines the state of the first downlink multicast channel based on the first downlink multicast BFD packet, including:

[0044] The first leaf node determines a transmission delay of the first downlink multicast channel based on the timestamp and a time point at which the first downlink multicast BFD packet is received.

[0045] In a third aspect, a multicast channel state detection apparatus is provided, which is arranged at a root node of a downlink multicast channel, and the downlink multicast channel is used for transmitting a multicast data packet from the root node to a plurality of leaf nodes, and the apparatus includes:

[0046] A processing unit is configured to obtain a first downlink multicast Bidirectional Forwarding Detection (BFD) packet, the first downlink multicast BFD packet includes first BFD information and a multicast group bit string, the first BFD information is used for detecting a state of the downlink multicast channel, and the multicast group bit string is used for identifying the plurality of leaf nodes.

[0047] A sending unit is configured to send the first downlink multicast BFD packet.

[0048] In some embodiments, the first downlink multicast BFD packet includes a Destination Options Header (DOH) and an Internet Protocol version 6 (IPv6) payload, the DOH includes the multicast group bit string, the IPv6 payload includes the first BFD information, and the DOH is encapsulated in an outer layer of the IPv6 payload.

[0049] In some embodiments, the first downlink multicast BFD packet further includes a state of a first uplink unicast channel, and the plurality of leaf nodes includes a first leaf node, and the first uplink unicast channel is used for transmitting a multicast control plane packet from the first leaf node to the root node.

[0050] In some embodiments, the first downlink multicast BFD message includes a BFD status bit string, each bit in the BFD status bit string corresponds to one of the plurality of leaf nodes, and a first bit in the BFD status bit string corresponding to the first leaf node is used to carry a status of the first uplink unicast channel.

[0051] In some embodiments, the processing unit is configured to set the first bit in the BFD status bit string to a first bit value in response to losing m uplink unicast BFD messages from the first leaf node in k consecutive detection periods, the first bit value representing that the first uplink unicast channel is in a failure state, the uplink unicast BFD message including third BFD information used to detect a status of the first uplink unicast channel, the first uplink unicast channel being used to transmit a multicast control plane message from the first leaf node to the root node, k being a positive integer, and m being a positive integer, or set the first bit in the BFD status bit string to a second bit value in response to not losing m uplink unicast BFD messages in k consecutive detection periods, the second bit value representing that the first uplink unicast channel is in a connected state.

[0052] In some embodiments, the uplink unicast BFD message further includes a status of the downlink multicast channel, the downlink multicast channel including a primary channel and a backup channel, and the processing unit is further configured to switch a transmission channel of the multicast data message from the primary channel to the backup channel in response to the primary channel of the downlink multicast channel being in a failure state and the backup channel of the downlink multicast channel being in a connected state.

[0053] In some embodiments, the processing unit is further configured to update a multicast group bit string carried in the multicast data message from a first multicast group bit string to a second multicast group bit string based on an identifier of the first leaf node if the first uplink unicast channel is in a failure state, the first multicast group bit string including a bit value corresponding to the identifier of the first leaf node, and the second multicast group bit string not including the bit value corresponding to the identifier of the first leaf node.

[0054] In some embodiments, the first BFD information includes a version number, and the version number is used to identify that the first downlink multicast BFD message is used to detect a multicast channel.

[0055] In some embodiments, the DOH includes an operation, administration and maintenance (OAM) identifier, and the OAM identifier is used to identify that a type of the first downlink multicast BFD message is a BFD detection type.

[0056] In some embodiments, the sending unit is configured to periodically send the first downlink multicast BFD message according to a first target time interval.

[0057] In some embodiments, the first downlink multicast BFD message further comprises a time stamp, and the time stamp is used to identify a time when the root node sends the first downlink multicast BFD message.

[0058] In a fourth aspect, a device for detecting a state of a multicast channel is provided. The device is located at a first leaf node of a first downlink multicast channel. The first downlink multicast channel is used to transmit multicast data messages from a first root node to a plurality of leaf nodes, and the plurality of leaf nodes comprises the first leaf node. The device comprises:

[0059] a receiving unit configured to receive a first downlink multicast Bidirectional Forwarding Detection (BFD) message from the first root node. The first downlink multicast BFD message comprises first BFD information and a multicast group bit string. The first BFD information is used to detect a state of the first downlink multicast channel, and the multicast group bit string is used to identify the plurality of leaf nodes.

[0060] a processing unit configured to determine the state of the first downlink multicast channel based on the first downlink multicast BFD message.

[0061] In some embodiments, the processing unit is configured to determine that the first downlink multicast channel is in a failure state in response to that m first downlink multicast BFD messages are lost in k consecutive detection periods, where k is a positive integer and m is a positive integer. Alternatively, the processing unit is configured to determine that the first downlink multicast channel is in a connected state in response to that m first downlink multicast BFD messages are not lost in k consecutive detection periods.

[0062] In some embodiments, the processing unit is further configured to obtain an uplink unicast BFD message. The uplink unicast BFD message comprises third BFD information, and the third BFD information is used to detect a state of a first uplink unicast channel. The first uplink unicast channel is used to transmit multicast control plane messages from the first leaf node to the root node.

[0063] The device further comprises a sending unit configured to send the uplink unicast BFD message to the first root node.

[0064] In some embodiments, the uplink unicast BFD message further comprises the state of the first downlink multicast channel.

[0065] In some embodiments, the first downlink multicast BFD message further comprises a state of a first uplink unicast channel. The first uplink unicast channel is used to transmit multicast control plane messages from the first leaf node to the first root node.

[0066] In some embodiments, the processing unit is further configured to determine, based on the state of the first downlink multicast channel and the state of the second downlink multicast channel, a transmission channel for receiving the multicast data packet from the first downlink multicast channel and the second downlink multicast channel, the second downlink multicast channel being configured to transmit the multicast data packet from the second root node to the plurality of leaf nodes.

[0067] In some embodiments, the processing unit is configured to determine, if the state of the first downlink multicast channel is the fault state and the state of the second downlink multicast channel is the connected state, to receive the multicast data packet using the second downlink multicast channel; or, if the state of the first downlink multicast channel is the connected state and the state of the second downlink multicast channel is the fault state, to receive the multicast data packet using the first downlink multicast channel.

[0068] In some embodiments, the processing unit is configured to determine, based on the state of the first downlink multicast channel, the state of the second downlink multicast channel, the state of the first uplink unicast channel, the state of the second uplink unicast channel, the state of the multicast data packet received from the first root node, and the state of the multicast data packet received from the second root node, a transmission channel for receiving the multicast data packet from the first downlink multicast channel and the second downlink multicast channel, the second uplink unicast channel being configured to transmit the multicast control plane packet from the first leaf node to the second root node.

[0069] In some embodiments, the first downlink multicast BFD packet further comprises a timestamp, the timestamp being configured to identify a time point at which the root node transmits the first downlink multicast BFD packet, and the processing unit is configured to determine a transmission delay of the first downlink multicast channel based on the timestamp and a time point at which the first downlink multicast BFD packet is received.

[0070] In a fifth aspect, a forwarding device is provided, which comprises a processor and a memory coupled to the processor, and the memory stores at least one computer program instruction, which is loaded and executed by the processor to enable the forwarding device to implement the method provided in the first aspect or any of the optional manners of the first aspect. The forwarding device provided in the fifth aspect has the specific details of the forwarding device provided in the first aspect or any of the optional manners of the first aspect, which will not be repeated here.

[0071] In a sixth aspect, a forwarding device is provided, comprising a processor coupled to a memory, and at least one computer program instruction is stored in the memory, and the at least one computer program instruction is loaded and executed by the processor, so that the forwarding device implements the method provided in the second aspect or any possible implementation manner of the second aspect. The forwarding device provided in the sixth aspect can refer to the specific details of the second aspect or any possible implementation manner of the second aspect, which will not be repeated here.

[0072] In a seventh aspect, a computer readable storage medium is provided, and the storage medium stores at least one instruction, and the instruction runs on a computer, so that the computer executes the method provided in the first aspect or any possible implementation manner of the first aspect.

[0073] In an eighth aspect, a computer readable storage medium is provided, and the storage medium stores at least one instruction, and the instruction runs on a computer, so that the computer executes the method provided in the second aspect or any possible implementation manner of the second aspect.

[0074] In a ninth aspect, a computer program product is provided, and the computer program product comprises one or more computer program instructions, and when the computer program instructions are loaded and run on a computer, the computer executes the method provided in the first aspect or any possible implementation manner of the first aspect.

[0075] In a tenth aspect, a computer program product is provided, and the computer program product comprises one or more computer program instructions, and when the computer program instructions are loaded and run on a computer, the computer executes the method provided in the second aspect or any possible implementation manner of the second aspect.

[0076] In an eleventh aspect, a chip is provided, comprising a memory and a processor, the memory is used to store computer instructions, and the processor is used to call and run the computer instructions from the memory, so as to execute the method in the first aspect and any possible implementation manner of the first aspect.

[0077] In a twelfth aspect, a chip is provided, comprising a memory and a processor, the memory is used to store computer instructions, and the processor is used to call and run the computer instructions from the memory, so as to execute the method provided in the second aspect or any possible implementation manner of the second aspect.

[0078] In a thirteenth aspect, a network system is provided. In some embodiments, the network system comprises the apparatus of the third aspect or any of the optional modes of the third aspect, and the apparatus of the fourth aspect or any of the optional modes of the fourth aspect. In other embodiments, the network system comprises the forwarding device of the fifth aspect or any of the optional modes of the fifth aspect, and the forwarding device of the sixth aspect or any of the optional modes of the sixth aspect.

[0079] On the basis of the implementation manners of the above aspects, the application can be further combined to provide more implementation manners. BRIEF DESCRIPTION OF DRAWINGS

[0080] Figure 1 is a schematic diagram of a network system architecture provided by an embodiment of the application;

[0081] Figure 2 is a flowchart of a multicast channel state detection method provided by an embodiment of the application;

[0082] Figure 3 is a format schematic diagram of a downlink multicast BFD message provided by an embodiment of the application;

[0083] Figure 4 is a format schematic diagram of an uplink unicast BFD message provided by an embodiment of the application;

[0084] Figure 5 is a structure schematic diagram of a multicast channel state detection apparatus provided by an embodiment of the application;

[0085] Figure 6 is a structure schematic diagram of a multicast channel state detection apparatus provided by an embodiment of the application;

[0086] Figure 7 is a structure schematic diagram of a forwarding device provided by an embodiment of the application. DETAILED DESCRIPTION

[0087] To make the purpose, technical scheme and advantages of the application more clear, the embodiments of the application will be further described in detail below with reference to the drawings.

[0088] Some terms and concepts related to the embodiments of the application will be explained below.

[0089] (1) Multicast channel

[0090] The multicast channel is also called multicast forwarding path, multicast tunnel or multicast transmission path. A multicast channel passes through a root node and one or more leaf nodes. Optionally, a multicast channel also passes through one or more intermediate nodes.

[0091] In some embodiments of the present application, the multicast channel has two functions. On the one hand, the multicast channel is the forwarding path of the multicast data packet. On the other hand, the multicast channel is the forwarding path of the downstream multicast BFD packet, in other words, the downstream multicast BFD packet and the multicast data packet have the same forwarding path.

[0092] Some embodiments of the present application relate to switching between multiple multicast channels. In order to distinguish different multicast channels, the "first multicast channel" and the "second multicast channel" are used to distinguish multiple different multicast channels. For example, the first multicast channel and the second multicast channel pass through the same leaf node. The root node through which the first multicast channel passes is different from the root node through which the second multicast channel passes. In order to distinguish the root nodes of different multicast channels, the "first root node" is used to describe the root node of the first multicast channel, and the "second root node" is used to describe the root node of the second multicast channel.

[0093] The first multicast channel and the second multicast channel have a mutual protection or backup relationship. For example, the first multicast channel is the primary channel, and the second multicast channel is the backup channel. In the case that the first multicast channel is in a connected state, the leaf node receives the multicast data packet from the first root node and discards the multicast data packet from the second root node, which is equivalent to using the first multicast channel as the transmission channel of the multicast data packet. In the case that the first multicast channel fails, the leaf node receives the multicast data packet from the second root node and discards the multicast data packet from the first root node, which is equivalent to using the second multicast channel as the transmission channel of the multicast data packet. By switching the transmission channel of the multicast data packet to the second multicast channel, or in other words, switching from receiving the packet from the first multicast channel to receiving the packet from the second multicast channel, the risk of failure of the multicast data packet transmission can be reduced.

[0094] (2) Multicast group bit string

[0095] The multicast group bit string is used to represent a set of destination leaf nodes that need to receive multicast packets. For example, each bit in the multicast group bit string represents a leaf node in the multicast network. For example, the bit value of each bit in the multicast group bit string is used to represent whether the corresponding leaf node is a destination leaf node that needs to receive multicast packets. For example, if the i-th bit in the multicast group bit string carries a first bit value, it represents that the i-th leaf node is a destination leaf node that needs to receive multicast packets. If the i-th bit in the multicast group bit string carries a second bit value, it represents that the i-th leaf node does not need to receive multicast packets. As a specific example, if the first bit in the multicast group bit string carries 1, it represents that the first leaf node is a destination leaf node that needs to receive multicast packets, and if the first bit in the multicast group bit string carries 0, it represents that the first leaf node does not need to receive multicast packets. Optionally, the multicast group bit string occupies 256 bits.

[0096] (3) BFD state bit string

[0097] The BFD state bit string is a kind of data structure. The BFD state bit string can also be referred to as an upstream BFD state string or a BFD extension field. The BFD state bit string is used to verify the state of an upstream channel. One BFD state bit string can represent the states of multiple upstream unicast channels corresponding to multiple leaf nodes. For example, the BFD state bit string includes multiple bits, each bit in the BFD state bit string corresponds to one of the multiple leaf nodes, and a first bit in the BFD state bit string corresponding to a first leaf node is used to carry the state of a first upstream unicast channel, and a second bit in the BFD state bit string corresponding to a second leaf node is used to carry the state of a second upstream unicast channel.

[0098] For example, if the first bit in the BFD state bit string corresponding to the first leaf node carries a first bit value, the first bit value represents that the first upstream unicast channel is in a failure state. If the first bit in the BFD state bit string corresponding to the first leaf node carries a second bit value, the second bit in the BFD state bit string corresponding to the second leaf node carries the first bit value, and the second bit in the BFD state bit string corresponding to the second leaf node carries the second bit value, the second bit value represents that the second upstream unicast channel is in a connected state.

[0099] The failure state can also be referred to as a failure state, a disconnected state, an abnormal state, or a non-connected state. The connected state can also be referred to as an effective state or a normal state.

[0100] The first bit value represents that the second upstream unicast channel is in a failure state. The second bit value represents that the first upstream unicast channel is in a connected state. Optionally, the first bit value is 1, and the second bit value is 0. Alternatively, the first bit value is 0, and the second bit value is 1.

[0101] For the correspondence between the leaf node and the bit, in some embodiments, similar to the correspondence between the bit in the multicast group bit string and the BFR ID, each bit in the BFD status bit string corresponds to one of the n leaf nodes of the multicast channel, and the bit value of each bit in the BFD status bit string represents the status of the uplink unicast BFD message sent by the corresponding leaf node. As a specific example, the BFD status bit string includes 256 bits, and each bit in the BFD status bit string represents the status of the uplink unicast BFD message sent by the 1st to 256th leaf node received by the root node in turn. For example, the 1st bit in the BFD status bit string represents the status of the uplink unicast BFD message sent by the 1st leaf node received by the root node, the 2nd bit in the BFD status bit string represents the status of the uplink unicast BFD message sent by the 2nd leaf node received by the root node, and so on. The i-th bit in the BFD status bit string represents the status of the uplink unicast BFD message sent by the i-th leaf node received by the root node.

[0102] For example, if the bit value carried by the i-th bit in the BFD status bit string is 0, it represents that the root node does not receive the uplink unicast BFD message sent by the i-th leaf node in the current detection period. If the bit value carried by the i-th bit in the BFD status bit string is 1, it represents that the root node receives the uplink unicast BFD message sent by the i-th leaf node in the current detection period.

[0103] In some embodiments, the BFD status bit string is used to verify whether the uplink channel of the multicast control plane is normal. For example, the BFD status bit string is used to detect whether the uplink channel of the BGP customers' multicast routing information (C-multicast routing information) message of the multicast control plane is normal. For another example, the BFD status bit string is used to detect whether the uplink channel of the BGA leaf A-D route message of the multicast control plane is normal.

[0104] The BFD status bit string is an optional field in the downlink multicast BFD message, and in other embodiments, the downlink multicast BFD message can also not include the BFD status bit string. For example, the value of the field corresponding to the BFD status bit string in the downlink multicast BFD message is 0x00, indicating that the BFD status bit string is the default value.

[0105] (4) Multicast dual-root 1+1 protection

[0106] Multicast dual-root 1+1 protection is a method for improving service reliability by deploying two root nodes in the network and sending two copies of multicast data streams. In a specific example of multicast dual-root 1+1 protection, root node Sender PE1 and root node Sender PE2 simultaneously send two identical multicast data streams; and root node Sender PE1 creates a PMSI tunnel 1 with Sender PE1 itself as the BFIR, and root node Sender PE2 creates a PMSI tunnel 2 with Sender PE2 itself as the BFIR. The leaf node, as a leaf node (receiving side), deploys VPN FRR. The leaf node receives two unicast routes to the multicast source, which are the primary route sent by root node Sender PE1 and the backup route sent by root node Sender PE2. After receiving two copies of multicast data streams (multicast data stream from root node Sender PE1 and multicast data stream from root node Sender PE2), the leaf node selects the multicast data stream sent by the Sender PE corresponding to the primary route from the two copies of multicast data streams based on the primary and backup of the unicast route.

[0107] (5) Bit indexed explicit replication (BIER) and Bit Index Explicit Replication IPv6 encapsulation (BIERv6)

[0108] BIER is a new multicast forwarding technology. By encapsulating the set of destination nodes to which a multicast message is to be sent in the form of a bit string in the message header, the intermediate nodes in the network do not need to be aware of multicast services and maintain multicast flow states.

[0109] BIERv6 is an IPv6-based BIER multicast technology. In a network supporting the BIERv6 technology, a root node encapsulates a set of multicast message destination leaf nodes in a message header in the form of a bit string (bit string), sends a multicast message with the message header carrying the bit string, so that intermediate nodes in the network do not need to establish a multicast distribution tree for each multicast flow and save the state of the multicast flow, but perform copy forwarding according to the bit string carried in the message header. BIERv6 helps to solve the disadvantages of traditional multicast network expansion difficulty, large-scale network deployment difficulty, slow fault convergence, and difficult improvement of service experience. BIERv6 uses Internet Protocol version 6 (IPv6) programmable capability forwarding, and no longer relies on Multiprotocol Label Switching (MPLS) labels. In an SRv6-based network, it is helpful to realize the unification of unicast protocol and multicast protocol. BIERv6 does not need to establish a multicast distribution tree for each multicast flow and save the state of the multicast flow, which helps to reduce the occupation of resources and can support large-scale multicast services. When the multicast service deployment changes, the intermediate node does not need to sense the change of the multicast service, the intermediate node stores fewer table entries, and the network fault converges quickly. When a multicast user joins the BIERv6 domain, only the information of the multicast user needs to be sent from the leaf node to the root node, so as to realize one-hop access, and the service response speed is relatively fast.

[0110] (6) BFD information

[0111] The BFD information is information that needs to be carried in the BFD control packet defined in the BFD protocol packet. The root node and the leaf node can negotiate to establish a BFD session based on the BFD information, so as to transmit the BFD packet through the BFD session. For example, the BFD information includes a BFD protocol version number (BFD protocol version number), a diagnosis code (indicating the reason for the last session Down of the sender, Diag), a current state of the BFD session of the sender (Sta, taking values of 0 representing AdminDown, 1 representing Down, 2 representing Init, and 3 representing Up), a P field (being set when the session parameter changes), an F field (if the received BFD control packet P field is set, the F field of the next sent BFD control packet is set as a response), a My Discriminator (a BFD session connection local identifier, a less non-0 value generated by the sender, used to identify different BFD sessions), a Your Discriminator (a BFD session connection remote identifier, if the session neighbor has sent a BFD control packet, the value is the My Discriminator in the received packet, otherwise it is 0), a Desired Min TX Interval (a locally supported minimum BFD packet transmission interval), a Required Min RX Interval (a locally supported minimum BFD packet receiving interval), a Required Min Echo RX Interval (a locally supported minimum Echo packet receiving interval), and an authentication type (Auth Type).

[0112] Some embodiments of the present application relate to BFD information carried in different BFD packets. In order to distinguish different BFD information, "first BFD information" and "second BFD information" are used to distinguish multiple different BFD information.

[0113] (7) Detection period

[0114] The detection period is a transmission time interval period of the BFD packet.

[0115] The application scenarios of the embodiments of the present application are described below.

[0116] The embodiments of the present application are applied to the scenario of detecting the reliability of a multicast channel. The application scenarios are described below. There are multiple detection techniques for detecting the reliability of the multicast channel. Two detection methods are taken as examples for description.

[0117] Detection method one: detecting the multicast channel by using BFD.

[0118] For example, the leaf node sends a unicast BFD packet to the root node, and the unicast BFD packet is used to detect the state of the root node. When the leaf node finds that the primary root node fails, the leaf node selects the backup root node to send the multicast data stream for receiving.

[0119] However, the traditional BFD technology is a detection mechanism for unicast service. The BFD packet exchanged between network nodes in the traditional BFD technology is a unicast packet, and the traditional BFD technology only supports detecting a unicast service channel and does not have a BFD detection mechanism for a multicast data channel. The traditional BFD technology is not suitable for a multicast scenario. The traditional BFD technology is not suitable for a multicast scenario in the following two aspects.

[0120] First, the number of BFD sessions that the root node needs to deploy and process is too large, and the number of BFD packets that the root node needs to copy and send is too large.

[0121] If the traditional BFD technology is directly used to detect the multicast data channel, a BFD session needs to be deployed on the root node for the path between the root node and each leaf node. The root node needs to copy the BFD packet into multiple BFD packets, and send one copy of the BFD packet to each leaf node through the BFD session with each leaf node. Therefore, the number of BFD sessions deployed on the root node is the same as the number of leaf nodes of the multicast data channel, the CPU of the forwarding device where the root node is located needs to process hundreds or even tens of thousands of BFD sessions, and the root node needs to generate and send a large number of BFD packets, causing a large performance pressure of the root node, and a large network bandwidth occupied by the large number of BFD packets sent by the root node.

[0122] For example, if the multicast data channel passes through n leaf nodes, it is necessary to deploy BFD session 1 on the root node for the path between the root node and leaf node 1, deploy BFD session 2 on the root node for the path between the root node and leaf node 2, and so on, and deploy BFD session n on the root node for the path between the root node and leaf node 100, so n BFD sessions need to be deployed on the root node. The root node sends BFD packet 1 through BFD session 1 for leaf node 1, so as to detect the path between the root node and leaf node 1. The root node sends BFD packet 2 through BFD session 2 for leaf node 2, so as to detect the path between the root node and leaf node 2. And so on. The root node sends BFD packet n through BFD session n for leaf node n, so as to detect the path between the root node and leaf node n. As can be seen, in order to detect the state of the multicast data channel of the P2MP, the root node needs to send n BFD detection packets for n leaf nodes, which requires high performance of the root node, and after the root node sends the n BFD detection packets, n BFD detection packets need to be transmitted in the multicast channel, which also causes a large network bandwidth to be occupied.

[0123] Second, the unicast BFD packet and the forwarding path of the multicast stream may not be consistent.

[0124] The unicast BFD packet is forwarded in the multicast network (for example, in the BIERv6 network) based on the unicast routing table or the unicast forwarding table. The multicast data packet is forwarded in the multicast network based on the multicast routing table or the multicast forwarding table. For example, when the BIERv6 multicast data packet is forwarded in the BIERv6 network, the BIER header of the BIERv6 multicast data packet carries a bit string representing the information of the destination leaf node, and the BIERv6 multicast data packet is forwarded based on the bit string and the bit index routing table BIRT or the bit index forwarding table BIFT. Since the routing table based on which the unicast BFD packet is forwarded and the routing table based on which the multicast data packet is forwarded are not completely consistent, the forwarding path passed through by the unicast BFD packet and the forwarding path passed through by the multicast data packet are not completely consistent, and in addition, the unicast BFD packet cannot verify the correctness of the multicast entry, therefore, if the multicast data channel is detected by sending the unicast BFD packet, the unicast BFD packet is not forwarded through the multicast data channel, resulting in that the channel detection result obtained by sending the unicast BFD packet cannot accurately reflect the state of the multicast data channel, affecting the accuracy of the detection result of the multicast data channel.

[0125] The second detection method is to detect the multicast channel by using the flow detection technology.

[0126] For example, using the in-situ flow information telemetry (IFIT) or in-situ packet delay measurement (IPFPM) technology, the root node adds information for detecting the multicast channel to the multicast data packet received from the multicast source to obtain a detection packet carrying the service data and the information for detecting the multicast channel. The root node sends the detection packet to the leaf node. The VPN FRR configured in the unicast route in the VPN instance on the leaf node detects the multicast data stream. When the network is normal, the leaf node receives two multicast data streams from the root node Sender PE1 and the root node Sender PE2. The leaf node selects the downstream multicast data stream from the primary unicast route out interface according to the primary and backup states of the unicast route to the multicast source. The leaf node detects the primary and backup multicast data streams in real time. When the primary multicast data stream is lost and the backup data stream is intact, the leaf node switches to receive the backup multicast data stream.

[0127] However, the in-situ flow detection is a passive detection technology. The root node sending the detection packet needs to rely on the multicast data packet from the multicast source. Therefore, the multicast channel detection method using the in-situ flow detection technology is only applicable to detecting the continuous multicast stream. When the multicast source does not send the multicast data stream (no multicast data stream) or the multicast data stream sent by the multicast source is discontinuous, the root node cannot continuously receive the multicast data packet from the multicast source. The root node cannot add information to the multicast data packet to obtain the detection packet and send the detection packet. Therefore, the root node cannot determine the state of the multicast channel and trigger the switching of the backup channel based on the state of the multicast channel. For example, for the broadcasting service in the airport or the station, the multicast data stream is intermittently sent for an indefinite period of time. The root node cannot detect the state of the multicast channel during the period when the multicast data stream is not sent.

[0128] In addition, the in-situ flow detection technology is not suitable for the channel detection and fast switching of the low-rate service of dozens of PPS (Packet per second). Specifically, the transmission rate of the multicast data packet in the multicast data stream is usually uncertain. The sending rate of the multicast data packet can be low, and the sending time interval between adjacent two multicast data packets is large. For example, the sending time interval between adjacent two multicast data packets in the non-continuous multicast stream and the low-rate multicast stream is usually 50 ms or 100 ms. Even, the sending time interval between adjacent two multicast data packets is usually longer than 50 ms or 100 ms, such as 1 second.

[0129] Since the detection packet is generated by modifying the multicast data packet, the sending rate of the detection packet is the same as that of the multicast data packet. Since the sending rate of the multicast data packet is low, the detection period of the detection packet is also too long. Since the sending time interval of the packet is large, and the time delay difference between the primary and standby multicast channels is easy to cause mis-switching. The industry production business has high requirements for business reliability, and the dual-root 1+1 protection commonly used in MVPN only detects data flow, and cannot realize 50ms end-to-end protection switching for non-continuous multicast flow and low-speed multicast flow. Based on the data flow detection result of 2-3 statistical periods, the judgment of the primary channel and the standby channel is also caused. The channel switching period is long when the network fails.

[0130] In summary, whether the traditional unicast BFD method or the flow detection method is used, there is no effective detection scheme for the channel state of non-continuous multicast service flow (such as airport station broadcast service) or low-speed multicast service flow, and it is also impossible to support fast protection switching of multicast dual-root 1+1.

[0131] Therefore, some embodiments of the present application provide a multicast channel state detection method. The root node constructs a multicast BFD packet, and the multicast BFD packet carries a multicast group bit string. The multicast BFD packet carries the same multicast group bit string as the multicast data packet. On the one hand, since the multicast group bit string is an important parameter for guiding the replication and forwarding of the intermediate node, the multicast group bit string determines the forwarding path of the multicast data packet to some extent, and the bit string carried in the multicast BFD packet is the same as the bit string carried in the BIER data packet, so that the multicast BFD packet and the BIER data packet have the same forwarding path.

[0132] Specifically, after the root node sends the multicast BFD packet, the intermediate node searches the multicast routing table based on the bit string carried in the multicast BFD packet to replicate the multicast BFD packet, so as to obtain multiple copies of the multicast BFD packet; the intermediate node sends the multiple copies of the multicast BFD packet obtained by replication to multiple leaf nodes based on the bit string, so that each leaf node can receive a copy of the multicast BFD packet without the root node replicating and sending multiple copies of the multicast BFD packet. Since the multicast BFD packet and the BIER data packet carry the same bit string, they can use the same forwarding mechanism. The intermediate node performs the same replication action on the multicast BFD packet and the BIER data packet, and forwards the multicast BFD packet and the BIER data packet to the same path, so that the multicast BFD packet and the BIER data packet have the same forwarding path. In other words, the transmission channel passed by the multicast BFD packet is exactly the multicast channel passed by the BIER data packet, so the state of the multicast channel can be detected by sending the multicast BFD packet,

[0133] On the other hand, in the case that the multicast data channel passes through n leaf nodes, it is not necessary to deploy a BFD session for each of the n leaf nodes on the root node. The root node deploys one multicast BFD session and sends one multicast BFD packet. The intermediate node replicates the multicast BFD packet and sends each replicated multicast BFD packet to one leaf node in the case that there are multiple next hops on the node, thereby greatly reducing the number of BFD sessions that need to be deployed on the root node. In addition, the root node sends one multicast BFD packet to achieve the detection of the multicast channel. In the multicast network, only one multicast BFD packet needs to be transmitted in a point-to-point link to detect the multicast data channel reaching n leaf nodes, without the need to transmit n multicast BFD packets, thereby saving the overhead of generating multiple multicast BFD packets by the root node and saving the large network bandwidth occupied by transmitting multiple detection packets in the network.

[0134] In some embodiments, the multicast BFD packet has the same identification of the next hop node as the multicast data packet. For example, the multicast BFD packet sent by the root node carries the identification of the second-hop forwarding node in the downlink multicast channel. For example, in the BIERv6 scenario, the multicast BFD packet sent by the root node includes an IPv6 header, and the destination address field of the IPv6 header carries the End.BIER SID of the second-hop forwarding node in the downlink multicast channel. For another example, in the BIER-MPLS scenario, the multicast BFD packet sent by the root node includes an MPLS header, and the MPLS header carries the BIER-MPLS label of the second-hop forwarding node in the downlink multicast channel. Since the identification of the next hop node carried in the multicast BFD packet is the same as the identification of the next hop node carried in the multicast data packet, the second-hop node to which the multicast BFD packet is replicated and forwarded based on the identification of the next hop node is the same as the second-hop node of the multicast data packet, thereby further improving the path consistency between the multicast BFD packet and the multicast data packet, and thereby improving the accuracy of detecting the multicast data channel using the multicast BFD packet.

[0135] In addition, since the root node generates and sends the multicast BFD packet with the same bit string and the same identification of the next hop node as the multicast service packet in an active construction manner, the root node can also generate and send the multicast BFD packet in the absence of the multicast data stream from the multicast source, so that the leaf node can detect the multicast data channel and can protect the multicast data channel accordingly. Therefore, the embodiments of the present application can help the leaf node to judge the state of the multicast channel in the presence of the multicast data stream and in the absence of the multicast data stream, so that the scheme is applicable in various scenarios such as continuous multicast stream, intermittent multicast stream, and low-speed multicast stream, thereby improving the reliability of the forwarding path of the continuous multicast stream, the intermittent multicast stream, and the low-speed multicast stream.

[0136] The system operating environment of the embodiments of the present application is illustrated below.

[0137] Figure 1 is a schematic diagram of a network system provided by an embodiment of the present application. Figure 1 Figure 1 is a schematic diagram of a network system provided by an embodiment of the present application. Figure 1 The network system shown in Figure 1 includes a plurality of forwarding devices. The forwarding devices are, for example, Provider Edge (PE) devices or Provider (P) devices. The forwarding devices include, but are not limited to, switches, routers, firewalls, etc. For example, the forwarding devices include sender PE3, sender PE4, receiver PE1, and receiver PE2.

[0138] The sender PE3 is a sending end of a first downlink multicast BFD message (MBFD1). The sender PE3 is also a root node of a first multicast channel (or a head node of the first multicast channel). The receiver PE1 and the receiver PE2 are both receiving ends of the first downlink multicast BFD message (MBFD1). The receiver PE1 and the receiver PE2 are both leaf nodes of the first multicast channel.

[0139] The sender PE4 is a sending end of a second downlink multicast BFD message (MBFD2). The sender PE4 is a root node of a second multicast channel (or a head node of the first multicast channel). The receiver PE1 and the receiver PE2 are both receiving ends of the second downlink multicast BFD message (MBFD1). The receiver PE1 and the receiver PE2 are also both leaf nodes of the second multicast channel.

[0140] Optionally, Figure 1 shows a scenario in which the network system further includes intermediate node 1 and intermediate node 2. Figure 1 The intermediate node 1 and the intermediate node 2 are both located on the first multicast channel, and the intermediate node 1 and the intermediate node 2 are both located between the sender PE3 and the receiver PE1 and the receiver PE2. In addition, the intermediate node 1 and the intermediate node 2 are both located on the second multicast channel. The intermediate node 1 and the intermediate node 2 are both located between the sender PE4 and the receiver PE1 and the receiver PE2.

[0141] In some embodiments, the sender PE3, the sender PE4, the intermediate node 1, the intermediate node 2, the receiver PE1 and the receiver PE2 are deployed in a same multicast network. For example, the sender PE3, the sender PE4, the intermediate node 1, the intermediate node 2, the receiver PE1 and the receiver PE2 are deployed in a BIER network, and the sender PE3, the sender PE4, the intermediate node 1, the intermediate node 2, the receiver PE1 and the receiver PE2 are bit-forwarding routers (BFRs) in the BIER network. The BIER network is, for example, a logical area supporting BIER forwarding. The BIER network is, for example, a BIER domain or a BIER sub-domain. For example, the sender PE3, the sender PE4, the intermediate node 1, the intermediate node 2, the receiver PE1 and the receiver PE2 are deployed in an IPv6-based wide-area network and a BIERv6 network implemented by BIER.

[0142] The sender PE3 and the sender PE4 are bit forwarding ingress routers (BFIRs) in the BIER network, the intermediate node 1 and the intermediate node 2 are transit BFRs in the BIER network, and the receiver PE1 and the receiver PE2 are bit forwarding egress routers (BFERs) in the BIER network.

[0143] In some embodiments, in a scenario of deploying dual-root protection, the sender PE3 and the sender PE4 are a pair of root nodes having a mutual protection relationship. For example, the sender PE3 is a primary root node, and the multicast channel from the sender PE3 to the receiver PE1 and the receiver PE2 is a primary multicast channel. The sender PE4 is a backup root node, and the multicast channel from the sender PE4 to the receiver PE1 and the receiver PE2 is a backup multicast channel.

[0144] In some embodiments, the sender PE3 and the sender PE4 are configured to perform the following operations. Figure 1The illustrated scenario also includes a multicast source and multicast stream receivers. The multicast source is configured to generate and send multicast data packets. The multicast source communicates with sender PE3 and sender PE4. Sender PE3 and sender PE4 are both configured to forward the multicast data packets from the multicast source. The multicast stream receivers are configured to receive and process the multicast data packets from the multicast source. The multicast stream receivers communicate with receiver PE1 and receiver PE2.

[0145] In some embodiments, the attachment Figure 1 The illustrated scenario also includes CE1 and CE2. CE1 is deployed between the multicast source and sender PE3 and sender PE4. For example, CE1 is deployed at the boundary of the customer network where the multicast source is located. CE1 is configured to send the multicast data packets from the multicast source to sender PE3 and sender PE4. CE2 is deployed between the multicast stream receivers receiver PE1 and receiver PE2. For example, CE2 is deployed at the boundary of the customer network where the multicast stream receivers are located. CE1 is configured to send the multicast data packets from the multicast stream receivers receiver PE1 and receiver PE2 to the multicast stream receivers.

[0146] The following describes the attachment Figure 1 The transmission of the multicast BFD packet in the illustrated scenario is exemplified. For example, sender PE3 generates and sends MBFD1. MBFD1 carries a multicast group bit string, which is used to identify receiver PE1 and receiver PE2. Intermediate node 1 receives MBFD1. Intermediate node 1 performs an AND operation on the multicast group bit string carried in MBFD1 and a multicast routing forwarding table (e.g., a bit index forwarding table (BIFT)), thereby determining that the next hop of MBFD1 includes receiver PE1 and intermediate node 2. Intermediate node 1 duplicates MBFD1 to obtain two copies of MBFD1. Intermediate node 1 sends one copy of MBFD1 to receiver PE1 and sends the other copy of MBFD1 to intermediate node 2. Intermediate node 2 receives MBFD1 and sends MBFD1 to receiver PE2.

[0147] In the transmission process of the MBFD1, the intermediate node 1 is triggered to replicate and forward the MBFD1 due to the multicast group bit string carried in the MBFD1, so that the receiver PE1 and the receiver PE2 can both receive the MBFD1 without the Sender PE3 generating and sending multiple unicast BFD packets, thereby saving the performance overhead generated by the Sender PE3 generating and sending multiple unicast BFD packets. In addition, multiple copies of the MBFD1 do not need to be transmitted on the link between the Sender PE3 and the intermediate node 1, thereby saving the network bandwidth generated by transmitting the MBFD1. Further, the MBFD1 and the multicast data packet take the same multicast group bit string and the same multicast routing forwarding table (such as BIFT) for forwarding, so that the MBFD1 and the multicast data packet take the same path (the first multicast channel), and thus the MBFD1 can effectively detect the state of the first multicast channel.

[0148] Similarly to the transmission process of the MBFD1, the Sender PE4 generates and sends the MBFD2. The MBFD2 carries the multicast group bit string, which is used to identify the receiver PE1 and the receiver PE2. The intermediate node 2 receives the MBFD2. The intermediate node 2 performs an AND operation on the multicast group bit string carried in the MBFD2 and the multicast routing forwarding table (such as BIFT), so as to determine that the next hop of the MBFD2 includes the receiver PE2 and the intermediate node 1. The intermediate node 2 replicates the MBFD2 to obtain two copies of the MBFD2. The intermediate node 2 sends one copy of the MBFD2 to the receiver PE2 and sends one copy of the MBFD2 to the intermediate node 1. The intermediate node 1 receives the MBFD2 and sends the MBFD2 to the receiver PE1.

[0149] In the transmission process of the MBFD2, the intermediate node 2 is triggered to replicate and forward the MBFD2 due to the multicast group bit string carried in the MBFD2, so that the receiver PE1 and the receiver PE2 can both receive the MBFD2 without the Sender PE4 generating and sending multiple unicast BFD packets, thereby saving the performance overhead generated by the Sender PE4 generating and sending multiple unicast BFD packets. In addition, multiple copies of the MBFD2 do not need to be transmitted on the link between the Sender PE4 and the intermediate node 2, thereby saving the network bandwidth generated by transmitting the MBFD2. Further, the MBFD2 and the multicast data packet take the same multicast group bit string and the same multicast routing forwarding table (such as BIFT) for forwarding, so that the MBFD2 and the multicast data packet take the same path (the first multicast channel), and thus the MBFD2 can effectively detect the state of the first multicast channel.

[0150] The method flow of the embodiments of this application is illustrated below.

[0151] Some implementations of this application involve bidirectional channel detection. To distinguish between transmission channels in different directions, a "downlink multicast channel" is used to describe a transmission channel from the root node to multiple leaf nodes. A downlink multicast channel, also called a forward channel, is a point-to-multipoint channel. An "uplink unicast channel" is used to describe a transmission channel from a leaf node to the root node. An uplink unicast channel, also called a return channel, is a point-to-point channel.

[0152] Some implementations of this application involve BFD messages sent from the head node to the leaf node and BFD messages sent from the leaf node to the head node. The BFD messages sent from the head node to the leaf node are multicast messages, and the BFD messages sent from the leaf node to the head node are unicast messages. To distinguish between the different messages, the term "downlink multicast BFD message" is used to describe the BFD messages sent from the head node to the leaf node, and the term "uplink unicast BFD message" is used to describe the BFD messages sent from the leaf node to the head node. Downlink multicast BFD messages can also be called outbound BFD messages. Uplink unicast BFD messages can also be called return BFD messages.

[0153] Appendix Figure 2 This is a flowchart of a multicast channel status detection method provided in an embodiment of this application. (Attached) Figure 2 The interactive elements of the method shown include the first root node, the second root node, the middle node, the first leaf node, and the second leaf node.

[0154] Appendix Figure 2 The network deployment scenarios on which the method shown is based can optionally be as described in the appendix above. Figure 1 As shown. For example, in conjunction with the appendix Figure 1 Let's take a look, attached Figure 2 The first root node in the method shown is the appended node. Figure 1 sender PE3 in the middle, attached Figure 2 The second root node in the method shown is attached. Figure 1 The sender PE4 in the file. (Attached) Figure 2 The first leaf node in the method shown is the appended leaf node. Figure 1 receiverPE1 in the middle, attached Figure 2 The second leaf node in the method shown is the appended one. Figure 1 The receiver PE2 in the middle. (Attached) Figure 2 The intermediate nodes in the method shown include attached Figure 1 Middle node 1 and middle node 2, attached Figure 2 The first downlink multicast BFD message in the method shown is attached. Figure 1 MBFD1 in [the document / reference].Figure 2 The second downlink multicast BFD packet in the method is attached Figure 3 MBFD2 in the method.

[0155] Some embodiments of the present application relate to multiple leaf nodes through which a multicast channel passes. In order to distinguish different leaf nodes, the first leaf node and the second leaf node are used to distinguish multiple different leaf nodes. The first leaf node and the second leaf node are located on the same multicast channel. In the process of transmitting the multicast BFD packet, the first leaf node and the second leaf node are both receivers of the multicast BFD packet. In some embodiments, the application is in a BIER network, and the first leaf node and the second leaf node can also be called bit forwarding egress routers (BFERs).

[0156] Some embodiments of the present application relate to a dual-root protection scenario. In order to distinguish different root nodes, the first root node and the second root node are used to distinguish multiple different root nodes. The first root node, the first leaf node, and the second leaf node are located on the first multicast channel, and the second root node, the first leaf node, and the second leaf node are located on the second multicast channel. In the process of transmitting the multicast BFD packet, the first root node or the second root node is the sender of the multicast BFD packet. In some embodiments, the application is in a BIER network, and the first root node and the second root node can also be called bit forwarding ingress routers (BFIRs).

[0157] The method comprises the following steps. Figure 3 The method comprises the following steps.

[0158] In step S210, the first root node obtains the first downlink multicast BFD packet in a first detection period.

[0159] The first downlink multicast BFD packet comprises first BFD information and a multicast group bit string.

[0160] The multicast group bit string is used to identify multiple leaf nodes. In this embodiment, two leaf nodes, the first leaf node and the second leaf node, are taken as an example for illustration. For example, the first bit position corresponding to the first leaf node in the multicast group bit string carries a first bit value, and the second bit position corresponding to the second leaf node in the multicast group bit string carries the first bit value. For example, the first bit position corresponding to the first leaf node is the lowest bit in the multicast group bit string, and the second bit position corresponding to the second leaf node is the second-lowest bit in the multicast group bit string, so the lowest bit and the second-lowest bit in the multicast group bit string are both 1.

[0161] The first BFD information is used for detecting a state of the downlink multicast channel.

[0162] In some embodiments, the first downlink multicast BFD message A includes an identifier of the first root node, an identifier of the first leaf node, and an identifier of the second leaf node. For example, a source IP address of the first downlink multicast BFD message A includes an address of the first root node. A destination IP address of the first downlink multicast BFD message A includes an address of a next-hop intermediate node of the first root node in the multicast channel (an address of a second-hop node). In some embodiments, a type of the IP address of the first root node in the source address of the first downlink multicast BFD message A includes, but is not limited to, a global unicast address (GUA) of the first root node, a local unique address (ULA), and a local link address (LLA).

[0163] Since the first downlink multicast BFD message A has the same source address and destination address as the multicast data message, the first downlink multicast BFD message A and the multicast data message further have consistent forwarding paths.

[0164] In some embodiments, the first downlink multicast BFD message further includes a state of a first uplink unicast channel, and the plurality of leaf nodes include the first leaf node. The first uplink unicast channel is used for transmitting a multicast control plane message from the first leaf node to the first root node. Since the first downlink multicast BFD message further includes the state of the first uplink unicast channel, the first leaf node can learn the state of the first uplink unicast channel, which facilitates the first leaf node to determine whether to switch a transmission tunnel of the multicast data message based on the state of the first uplink unicast channel, so that the factors based on which the first leaf node switches the tunnel are more comprehensive and accurate.

[0165] In some embodiments, the first downlink multicast BFD message further includes a first BFD state bit string. A first bit in the first BFD state bit string corresponding to the first leaf node includes a first bit value, and the first bit value is used to identify whether the first root node receives an uplink unicast BFD message from the first leaf node. A second bit in the first BFD state bit string corresponding to the second leaf node includes a second bit value, and the second bit value is used to identify whether the second root node receives an uplink unicast BFD message from the second leaf node. Since the BFD state bit string is carried in the downlink multicast BFD message, the leaf node determines the state of the uplink unicast channel from the leaf node to the root node based on the bit value of the bit corresponding to the leaf node in the BFD state bit string, and the state of the uplink unicast channel can be used as a judgment condition for the leaf node to select a primary multicast data stream from the downlink and a standby multicast data stream from the downlink.

[0166] For the determination manner of the BFD status bit string, in some embodiments, the first root node determines the bit value of the bit corresponding to the first leaf node in the BFD status bit string based on whether the uplink unicast BFD packet of the first leaf node is received. For example, if the first root node receives the uplink unicast BFD packet of the first leaf node, the first root node determines that the uplink control channel of the multicast service or the multicast downstream service channel fails, and the first root node sets the bit corresponding to the first leaf node in the BFD status bit string to the first bit value. If the first root node does not receive the uplink unicast BFD packet of the first leaf node, the first root node sets the bit corresponding to the first leaf node in the BFD status bit string to the second bit value.

[0167] As a specific example, the first root node sets the first bit in the BFD status bit string to the first bit value in response to losing m uplink unicast BFD packets from the first leaf node in the continuous k detection periods, and the first root node sets the first bit in the BFD status bit string to the second bit value in response to not losing m uplink unicast BFD packets in the continuous k detection periods, the second bit value representing that the first uplink unicast channel is in a connected state.

[0168] Similarly, the first root node determines the bit value of the bit corresponding to the second leaf node in the BFD status bit string based on whether the uplink unicast BFD packet of the second leaf node is received. For example, if the first root node receives the uplink unicast BFD packet of the second leaf node, the first root node sets the second bit corresponding to the second leaf node in the BFD status bit string to the first bit value. If the first root node does not receive the uplink unicast BFD packet of the second leaf node, the first root node sets the second bit corresponding to the second leaf node in the BFD status bit string to the second bit value. As a specific example, the first root node sets the second bit in the BFD status bit string to the first bit value in response to losing m uplink unicast BFD packets from the second leaf node in the continuous k detection periods, and the first root node sets the second bit in the BFD status bit string to the second bit value in response to not losing m uplink unicast BFD packets in the continuous k detection periods, the second bit value representing that the first uplink unicast channel is in a connected state.

[0169] Step S210', the second root node obtains the second downstream multicast BFD packet in the first detection period.

[0170] Step S210' is similar to step S210, and the second downstream multicast BFD packet includes third BFD information and a multicast group bit string. The third BFD information is used to detect the state of the downstream multicast channel. Optionally, the third BFD information is the same as the first BFD information.

[0171] Optionally, the second downlink multicast BFD message further comprises a second BFD status bit string. A first bit in the second BFD status bit string corresponding to the first leaf node comprises a third bit value, and the third bit value is used to identify whether the second root node receives the uplink unicast BFD message from the first leaf node. A second bit in the second BFD status bit string corresponding to the second leaf node comprises a fourth bit value, and the fourth bit value is used to identify whether the second root node receives the uplink unicast BFD message from the second leaf node.

[0172] In step S212, the first root node sends a first downlink multicast BFD message.

[0173] For the trigger condition of sending the multicast BFD message by the root node, in some embodiments, the first root node periodically sends the first downlink multicast BFD message according to a first target time interval. The first target time interval is a time interval between adjacent two time instants of sending the first downlink multicast BFD message. The leaf node periodically receives the first downlink multicast BFD message according to the first target time interval, and periodically detects the state of the multicast channel. The first target time interval is pre-configured on the root node, for example. Illustratively, the first target time interval is 10 ms. Based on the 10 ms MBFD detection period, the root node can judge the state of the multicast channel by continuously sending the multicast BFD message for 3 times, and then effectively switch the primary and backup multicast channels within 50 ms.

[0174] In step S212', the second root node sends a second downlink multicast BFD message.

[0175] In step S214, the intermediate node receives the first downlink multicast BFD message.

[0176] In step S216, the intermediate node replicates the first downlink multicast BFD message based on the multicast group bit string to obtain a first downlink multicast BFD message A and a first downlink multicast BFD message B.

[0177] For example, the intermediate node obtains the multicast group bit string carried in the first downlink multicast BFD message. In response to that the first bit in the multicast group bit string corresponding to the first leaf node carries the first bit value, and the second bit in the multicast group bit string corresponding to the second leaf node carries the first bit value, the intermediate node takes the first leaf node and the second leaf node as the destination leaf nodes of the first downlink multicast BFD message, and therefore the intermediate node replicates the first downlink multicast BFD message twice to obtain two first downlink multicast BFD messages, which are respectively referred to as the first downlink multicast BFD message A and the first downlink multicast BFD message B.

[0178] In step S217, the intermediate node sends the first downlink multicast BFD message A to the first leaf node.

[0179] Step S218, the intermediate node sends the first downlink multicast BFD packet B to the second leaf node.

[0180] In some embodiments, the intermediate node looks up a multicast routing table based on the destination address in the first downlink multicast BFD packet, the multicast routing table comprising a bit index forwarding table (BIFT). The BIFT is used to represent each destination leaf node reachable through a BFR neighbor. The BIFT comprises a Nbr (BFR Neighbor) and a forwarding bit mask (F-BM). The intermediate node performs an AND operation between the multicast group bit string and the F-BM. The intermediate node determines a first next-hop node required to reach the first leaf node and a second next-hop node required to reach the second leaf node based on a result of the AND operation.

[0181] The action of sending the first downlink multicast BFD packet A to the first leaf node and the action of sending the first downlink multicast BFD packet B to the second leaf node can optionally adopt a processing order of one after the other, or concurrent processing.

[0182] Step S214', the intermediate node receives a second downlink multicast BFD packet.

[0183] Step S216', the intermediate node replicates the second downlink multicast BFD packet based on the multicast group bit string to obtain a second downlink multicast BFD packet A and a second downlink multicast BFD packet B.

[0184] Step S217', the intermediate node sends the second downlink multicast BFD packet A to the first leaf node.

[0185] Step S218', the intermediate node sends the second downlink multicast BFD packet B to the second leaf node.

[0186] Steps S214' to S218' are the same as steps S214 to S218, and can refer to the explanation of steps S214 to S218.

[0187] Step S220, the first leaf node receives the second downlink multicast BFD packet A.

[0188] The first downlink multicast BFD packet comprises first BFD information and a multicast group bit string, the first BFD information being used to detect a state of the first downlink multicast channel, and the multicast group bit string being used to identify a plurality of leaf nodes.

[0189] Step S222, the first leaf node determines the state of the first downlink multicast channel based on the first downlink multicast BFD message A.

[0190] The first leaf node obtains the first BFD information carried by the first downlink multicast BFD message. The first leaf node detects the state of the first downlink multicast channel based on the first BFD information. The first leaf node can perform switching of the path based on the state of the first downlink multicast channel. For example, the first leaf node performs selective reception of the multicast data message based on the state of the first downlink multicast channel.

[0191] Step S224, the first leaf node determines the transmission channel based on which the multicast data message is received from the first downlink multicast channel and the second downlink multicast channel based on the state of the first downlink multicast channel and the state of the second downlink multicast channel, the second downlink multicast channel being used to transmit the multicast data message from the second root node to the plurality of leaf nodes.

[0192] For the manner in which the first leaf node determines the state of the first downlink multicast channel, in some embodiments, in response to m first downlink multicast BFD messages being lost in k consecutive detection periods, the first leaf node determines that the first downlink multicast channel is in a failure state, k being a positive integer and m being a positive integer. k may, for example, be 2, 3, 4 or 5, and may of course also be other values. m may, for example, be 1, 2 or 3, and may of course also be other values. For example, if the number of first downlink multicast BFD messages lost in each of the k consecutive detection periods is greater than or equal to m, the first leaf node determines that the first downlink multicast channel is in a failure state. In response to m first downlink multicast BFD messages not being lost in the k consecutive detection periods, the first leaf node determines that the first downlink multicast channel is in a connected state.

[0193] Since the two root nodes actively and periodically transmit downlink multicast BFD messages, the leaf node triggers switching of the multicast channel based on no downlink multicast BFD message from one of the root nodes being received in a plurality of consecutive periods, and the process of transmitting the multicast BFD message does not have to wait for transmission of the multicast data message, thereby implementing a fast active detection scheme for the multicast channel. For example, if the length of the detection period is n, the leaf node can trigger switching of the multicast channel based on k*n detection periods of the downlink multicast BFD message being received, thereby improving the speed of detecting the state of the multicast channel and improving the transmission reliability of the multicast data message.

[0194] As a specific example, k is 3, and the detection period of the downlink multicast BFD message is 10 ms. Based on this mode, the leaf node continuously detects for 3 detection periods based on the detection period of 10 ms, and the status of the multicast channel can be determined. If the leaf node does not receive the downlink multicast BFD message based on three detection periods (30 ms), it is determined that the primary multicast channel is in a fault state and is switched to the standby multicast channel, so that effective switching of the primary and standby multicast channels can be realized within 50 ms.

[0195] As another specific example, k is 3, and the detection period of the downlink multicast BFD message is 50 ms. Based on this mode, the leaf node continuously detects for 3 detection periods based on the detection period of 50 ms, and the status of the multicast channel can be determined. If the leaf node does not receive the downlink multicast BFD message based on three detection periods (150 ms), it is determined that the primary multicast channel is in a fault state and is switched to the standby multicast channel, so that effective switching of the primary and standby multicast channels can be realized within 200 ms.

[0196] In one example, the root node Sender PE3 of the multicast channel actively and periodically sends multicast BFD message 1, which carries a BIERv6 Header; the root node Sender PE4 of the multicast channel actively and periodically sends multicast BFD message 2, which carries a BIERv6 Header. The leaf node continuously detects the received multicast BFD message 1 and multicast BFD message 2. If the leaf node does not receive the multicast BFD message 1 for a plurality of periods and can receive the multicast BFD message 2, the leaf node switches the multicast channel for receiving the multicast data message from the channel from the root node Sender PE3 to the leaf node to the channel from the root node Sender PE4 to the leaf node. Alternatively, if the leaf node can receive the multicast BFD message 1 but the uplink control channel from the leaf node to the root node is faulty, and the leaf node can receive the multicast BFD message 2, the leaf node switches the multicast channel for receiving the multicast data message from the channel from the root node Sender PE3 to the leaf node to the channel from the root node Sender PE4 to the leaf node.

[0197] For the manner of switching the tunnel of the leaf node, in some embodiments, the leaf node selects the primary downlink multicast channel from the two downlink multicast channels by selectively receiving the multicast data message. The leaf node selects to receive the multicast data message from one root node, forwards the multicast data message to the multicast stream receiver, and discards the multicast data message from the other root node, so as to realize selection of the primary multicast channel.

[0198] For example, if the status of the first downlink multicast channel is the failure status and the status of the second downlink multicast channel is the connectivity status, the first leaf node determines to receive the multicast data packet using the second downlink multicast channel. For example, the first leaf node receives the multicast data packet from the second root node (the root node of the second downlink multicast channel), forwards the multicast data packet from the second root node to the multicast stream receiver, and the first leaf node discards the multicast data packet from the first root node (the root node of the first downlink multicast channel).

[0199] Similarly, if the status of the first downlink multicast channel is the connectivity status and the status of the second downlink multicast channel is the failure status, the first leaf node determines to receive the multicast data packet using the first downlink multicast channel. For example, the first leaf node receives the multicast data packet from the first root node (the root node of the second downlink multicast channel), forwards the multicast data packet from the first root node to the multicast stream receiver, and discards the multicast data packet from the second root node (the root node of the second downlink multicast channel).

[0200] The leaf node switches to use the standby channel to receive the multicast data packet in the case that the primary channel is in the failure status and the standby channel is in the connectivity status, thereby improving the reliability of the transmission channel of the multicast data packet.

[0201] In some embodiments, the leaf node takes the status of the downlink multicast channel indicated by the downlink multicast BFD packet, the status of the uplink unicast channel indicated by the uplink unicast BFD packet, and the status of the multicast data stream as the trigger condition for switching from the multicast channels corresponding to the two root nodes.

[0202] For example, the first leaf node determines the target multicast channel from the first downlink multicast channel and the second downlink multicast channel based on the status of the first downlink multicast channel, the status of the second downlink multicast channel, the status of the first uplink unicast channel, the status of the second uplink unicast channel, the status of the multicast data packet received from the first root node, and the status of the multicast data packet received from the second root node, and the second uplink unicast channel is used to transmit the multicast control plane packet from the first leaf node to the second root node.

[0203] In some embodiments, the leaf node looks up a protection switching truth table based on the status of the first downlink multicast channel, the status of the second downlink multicast channel, the status of the first uplink unicast channel, the status of the second uplink unicast channel, the status of the multicast data packet received from the first root node, and the status of the multicast data packet received from the second root node, thereby determining the target multicast channel.

[0204] The protection switching truth table is used to indicate the correspondence between the state of the first downlink multicast channel, the state of the second downlink multicast channel, the state of the first uplink unicast channel, the state of the second uplink unicast channel, the state of the multicast data message received from the first root node, the state of the multicast data message received from the second root node and the target multicast channel. For example, the protection switching truth table is shown in Table 1 as follows.

[0205] Table 1 Protection switching truth table

[0206]

[0207] In Table 1 above, the PMSI current state selection field corresponds to the initial state and is used to indicate the currently selected downlink multicast channel. In other words, the PMSI current state selection field represents which root node the leaf node currently receives the multicast data message from. The PMSI next state selection field corresponds to the target state and indicates the downlink multicast channel selected in the next detection period. In other words, the PMSI next state selection field represents which root node the leaf node will receive the multicast data message from in the next detection period. If the values of the PMSI current state selection field and the PMSI next state selection field are the same, the main root node selected by the leaf node in the next detection period is the same as the main root node selected in the current detection period, in other words, the leaf node keeps selecting the previously selected main root node in the next detection period. If the values of the PMSI current state selection field and the PMSI next state selection field are different, the main root node selected by the leaf node in the next detection period is updated.

[0208] 1 represents a connected state, and 0 represents a fault state. The PE3 uplink BFD represents the state of the first uplink unicast channel, the PE3 downlink BFD represents the state of the first downlink multicast channel, the PE4 uplink BFD represents the state of the second uplink unicast channel, and the PE4 downlink BFD represents the state of the second downlink multicast channel. For example, the entry corresponding to the PE3 downlink BFD is 1, indicating that the leaf node receives the downlink multicast BFD message from the root node PE3. The entry corresponding to the PE3 downlink BFD is 0, indicating that the leaf node does not receive the downlink multicast BFD message from the root node PE3. The entry corresponding to the PE3 uplink BFD is 1, indicating that the leaf node determines, based on the BFD state bit string carried in the downlink multicast BFD message, that the root node PE3 receives the downlink multicast BFD message from the leaf node. The entry corresponding to the PE3 uplink BFD is 0, indicating that the leaf node determines, based on the BFD state bit string carried in the downlink multicast BFD message, that the root node PE3 does not receive the downlink multicast BFD message from the leaf node. The entry corresponding to the PE3 downlink multicast data stream is 1, indicating that the leaf node receives the downlink multicast data stream from the root node PE3. The entry corresponding to the PE3 downlink multicast data stream is 0, indicating that the leaf node does not receive the downlink multicast data stream from the root node PE3.

[0209] As a specific example, the leaf node switches the currently selected PMSI tunnel (target multicast channel) from the downlink multicast channel from the root node PE3 to the leaf node to the downlink multicast channel from the root node PE4 to the leaf node, based on the downlink multicast channel state from the root node PE3 to the leaf node being faulty and the downlink multicast channel state from the root node PE4 to the leaf node being connected.

[0210] Some embodiments of the present application also support detecting the transmission delay of the multicast channel by sending a multicast BFD message. For example, when sending the downlink multicast BFD message, the root node adds a timestamp of sending the downlink multicast BFD message to the downlink multicast BFD message to obtain the first downlink multicast BFD message in the above embodiment. The first downlink multicast BFD message further includes a timestamp, which is used to identify the time when the first root node sends the first downlink multicast BFD message.

[0211] After receiving the first downlink multicast BFD message, the first leaf node obtains the timestamp carried in the first downlink multicast BFD message. The first leaf node determines the transmission delay of the first downlink multicast channel based on the timestamp and the time when the first downlink multicast BFD message is received. For example, the first leaf node determines the time difference between the time when the first downlink multicast BFD message is received and the timestamp, which is the time difference that the multicast BFD message takes from the root node to the first leaf node, and the first leaf node takes the time difference as the transmission delay of the first downlink multicast channel.

[0212] Step S230, the second leaf node receives the first downlink multicast BFD packet B.

[0213] Step S232, the second leaf node determines the state of the first downlink multicast channel based on the first downlink multicast BFD packet B.

[0214] Step S234, the second leaf node determines the transmission channel based on which the multicast data packet is received from the first downlink multicast channel and the second downlink multicast channel based on the state of the first downlink multicast channel and the state of the second downlink multicast channel.

[0215] Steps S230 to S234 are similar to steps S220 to S224, and the explanation of steps S220 to S224 can be referred to.

[0216] Step S240, the first leaf node obtains the first uplink unicast BFD packet and the second uplink unicast BFD packet.

[0217] The first uplink unicast BFD packet includes third BFD information. The third BFD information is used to detect the state of the first uplink unicast channel. The first uplink unicast channel is used to transmit the multicast control plane packet from the first leaf node to the first root node. The content of the third BFD information is similar to that of the first BFD information, and the description of the first BFD information is referred to.

[0218] The source address of the first uplink unicast BFD packet includes the address of the first leaf node, and the destination address of the first uplink unicast BFD packet includes the address of the first root node. For unicast packets, the same destination IP address means that the forwarding path is also highly likely to be the same. Since the first uplink unicast BFD packet and the multicast control plane packet have the same source address and destination address, the forwarding paths of the first uplink unicast BFD packet and the multicast control plane packet are consistent to some extent, and thus the state of the forwarding path (uplink unicast channel) of the multicast control plane packet can be obtained by sending the first uplink unicast BFD packet. Illustratively, the source IP address of the first uplink unicast BFD packet includes the loopback address of the first leaf node, and the destination IP address of the first uplink unicast BFD packet includes the loopback address of the root node.

[0219] The second uplink unicast BFD packet includes fourth BFD information. The fourth BFD information is used to detect the state of the second uplink unicast channel. The second uplink unicast channel is used to transmit the multicast control plane packet from the first leaf node to the second root node. The source address of the second uplink unicast BFD packet includes the address of the first leaf node, and the destination address of the second uplink unicast BFD packet includes the address of the second root node.

[0220] Since the source IP address of the multicast control plane BGP C-Multicast Route message and the multicast control plane BGP A-D Route message is the loopback address of the first leaf node, and the destination IP address of the multicast control plane BGP C-Multicast Route message and the multicast control plane BGP A-D Route message is the loopback address of the root node, the transmission process of the first uplink unicast BFD message can simulate the transmission process of the multicast control plane BGP C-Multicast Route message or the multicast control plane BGP A-D Route message. Therefore, by sending the first uplink unicast BFD message, the state of the transmission channel of the multicast control plane BGP C-Multicast Route message and the transmission channel of the multicast control plane BGP A-D Route message can be obtained more accurately.

[0221] In step S242, the first leaf node sends a first uplink unicast BFD message to the first root node.

[0222] For the trigger condition for the first leaf node to send the first uplink unicast BFD message, in some embodiments, the first leaf node periodically sends the first uplink unicast BFD message according to a second target time interval. The second target time interval can also be referred to as the sending period of the first uplink unicast BFD message. Optionally, the length of the second target time interval is minute-level.

[0223] The process of obtaining and sending the first uplink unicast BFD message by the first leaf node or / and the second leaf node is optional. In other embodiments, the process of obtaining and sending the first uplink unicast BFD message by the first leaf node or / and the second leaf node is omitted.

[0224] Considering that in the scenario of a large number of leaf nodes, the first root node will receive multiple first uplink unicast BFD messages, causing pressure on the control plane processing, by configuring the length of the second target time interval to be minute-level or not configuring the function of sending the first uplink unicast BFD message, the pressure on the control plane processing of the root node can be reduced.

[0225] In some embodiments, the first uplink unicast BFD message further includes the state of the first downlink multicast channel. For example, if the state of the first downlink multicast channel is the connected state, the first state identifier (such as 0) is included in the first uplink unicast BFD message, and if the state of the first downlink multicast channel is the fault state, the second state identifier (such as 1) is included in the first uplink unicast BFD message.

[0226] The first leaf node notifies the first down multicast channel state to the root node by adding the state of the first down multicast channel in the first up unicast BFD packet, and the root node can determine the state of the first down multicast channel based on whether the first up unicast BFD packet is received. For example, if the first root node does not receive the first up unicast BFD packet of the first leaf node, the first root node determines that the first down multicast channel is in a fault state, and if the first root node receives the first up unicast BFD packet of the first leaf node, the first root node determines that the first down multicast channel is in a connected state.

[0227] In step S244, the first leaf node sends a second up unicast BFD packet to the second root node.

[0228] In step S250, the second leaf node obtains a third up unicast BFD packet and a fourth up unicast BFD packet.

[0229] The third up unicast BFD packet includes fifth BFD information. The fifth BFD information is used to detect the state of the first up unicast channel. The content of the fifth BFD information is similar to that of the first BFD information, please refer to the description of the first BFD information above. The source address of the third up unicast BFD packet includes the address of the second leaf node, and the destination address of the third up unicast BFD packet includes the address of the first root node.

[0230] The fourth up unicast BFD packet includes sixth BFD information. The sixth BFD information is used to detect the state of the second up unicast channel. The content of the sixth BFD information is similar to that of the first BFD information, please refer to the description of the first BFD information above. The source address of the fourth up unicast BFD packet includes the address of the second leaf node, and the destination address of the fourth up unicast BFD packet includes the address of the second root node.

[0231] In step S252, the second leaf node sends the third up unicast BFD packet to the first root node.

[0232] In step S254, the second leaf node sends the fourth up unicast BFD packet to the second root node.

[0233] In step S260, the first root node receives the first up unicast BFD packet from the first leaf node and the second up unicast BFD packet from the second leaf node.

[0234] In step S262, the first root node processes the first up unicast BFD packet and the second up unicast BFD packet.

[0235] For the use of the first uplink unicast BFD message and the second uplink unicast BFD message, in some embodiments of the application, a plurality of multicast channels are deployed on the root node, the plurality of multicast channels have a mutual protection relationship, and the root node switches the master and standby channels based on the uplink unicast BFD message. For example, the root node originally sends the multicast data message through the out interface corresponding to the master channel of the downlink multicast channel, the first root node responds to the fact that the master channel of the downlink multicast channel is in a fault state and the standby channel of the downlink multicast channel is in a connected state, and the root node switches the transmission channel of the multicast data message from the master channel to the standby channel. For example, the root node sends the multicast data message through the out interface corresponding to the standby channel of the downlink multicast channel, and the root node switches to using the standby channel to send the multicast data message in the case that the master channel is in a fault state and the standby channel is in a connected state, thereby improving the reliability of the transmission channel of the multicast data message.

[0236] In some embodiments, if the first uplink unicast channel is in a fault state, the first root node updates the multicast group bit string carried in the multicast data message from a first multicast group bit string to a second multicast group bit string based on the identity of the first leaf node, the first multicast group bit string includes a bit value corresponding to the identity of the first leaf node, and the second multicast group bit string does not include the bit value corresponding to the identity of the first leaf node.

[0237] For example, in the case that the first uplink unicast channel is in a connected state, the multicast group bit string carried in the multicast data message is the first multicast group bit string, and the bit position corresponding to the first leaf node in the first multicast group bit string includes a first bit value. In the case that the first uplink unicast channel is in a fault state, the multicast group bit string carried in the multicast data message is the second multicast group bit string, and the bit position corresponding to the first leaf node in the second multicast group bit string includes a second bit value. In the case that the first leaf node is the i th leaf node in the multicast group, the bit position corresponding to the first leaf node is, for example, the i th bit position in the multicast group bit string. For example, the first bit value is 1 and the second bit value is 0. Since the first uplink unicast channel between the first leaf node and the head node is in a fault state, the head node updates the bit value carried in the bit position corresponding to the first leaf node in the multicast group bit string, so that the intermediate node will not send the multicast data message to the first leaf node based on the updated bit value carried in the bit position corresponding to the first leaf node, thereby reducing the risk of packet loss of the multicast data message from the head node to the first leaf node and causing business damage in the case that the uplink unicast channel is in a fault state. In addition, the performance overhead caused by the intermediate node to the multicast data message is saved, and the bandwidth waste caused by transmitting the multicast data message in the case of channel failure is saved.

[0238] Step S270, the second root node receives the third uplink unicast BFD packet from the first leaf node and the fourth uplink unicast BFD packet from the second leaf node.

[0239] Step S272, the second root node processes the third uplink unicast BFD packet and the fourth uplink unicast BFD packet.

[0240] The method provided by the embodiment initiatively sends the downlink multicast BFD packet by the root node, and the downlink multicast BFD packet includes the first BFD information and the multicast group bit string. Since the multicast group bit string can guide the intermediate node to copy and forward the downlink multicast BFD packet, on the basis that the multicast channel is realized and the plurality of destination leaf nodes can all receive the downlink multicast BFD packet, it is not necessary to require the root node to send multiple downlink multicast BFD packets, thereby reducing the processing pressure of the root node for generating multiple downlink multicast BFD packets, and reducing the influence of the process of generating the BFD packet on the performance of the root node.

[0241] In addition, since the multicast BFD packet is copied and forwarded at the intermediate node, it is not necessary to copy at the root node, thereby reducing the number of BFD packets required to be transmitted in the multicast network. For example, one multicast BFD packet is transmitted between the root node and the first intermediate node, thereby saving the network bandwidth required to be occupied for transmitting the BFD packet in the multicast network.

[0242] In addition, since the multicast group bit string is an important parameter for guiding the copy and forwarding of the intermediate node, the multicast group bit string determines the forwarding path of the multicast data packet to some extent, and the downlink multicast BFD packet includes the multicast group bit string, so that the forwarding path of the multicast BFD packet and the forwarding path of the multicast data packet are consistent to some extent, thereby reducing the error of the result of detecting the forwarding path of the multicast data packet caused by the deviation of the forwarding path of the BFD packet and the forwarding path of the multicast data packet, and improving the accuracy of detecting the forwarding path of the multicast data packet.

[0243] In addition, since the process of generating and sending the multicast BFD packet does not need to depend on the multicast stream from the multicast source, the sending time interval of the multicast BFD packet is almost not affected by the sending time interval of the multicast data packet in the multicast stream, so that the scheme is still available in the scenarios of no multicast stream, intermittent multicast stream and low-speed multicast stream, and the application scenarios are more abundant.

[0244] The encapsulation format of the packet provided by the embodiment of the application is exemplified as follows.

[0245] The multicast BFD message provided by the embodiments of the present application has the same encapsulation format as the multicast data message. For example, the multicast BFD message has the same tunnel layer message header as the multicast data message. For example, the tunnel layer message header in the multicast BFD message has the same source address (address of the root node) and the same destination address (identifier of the plurality of leaf nodes or address of the next hop node of the root node) as the tunnel layer message header in the multicast data message. Since the multicast BFD message has the same encapsulation format (the same tunnel layer message header) as the multicast data message, the multicast BFD message and the multicast data message can pass through the same tunnel to reach the leaf node, the forwarding paths of the multicast BFD message and the multicast data message are consistent, the channel state detected through the multicast BFD message is indeed the state of the multicast channel, thereby improving the accuracy of detecting the state of the multicast channel.

[0246] In some embodiments, the multicast BFD message is implemented in an IPv6 network using the encapsulation format of BIERv6. In other words, the multicast BFD message is a BIERv6 message. In another way, it can be understood that the multicast BFD message is carried through a BIERv6 tunnel.

[0247] In some embodiments of the encapsulation format of the multicast BFD message, the first downstream multicast BFD message is an IPv6-based multicast BFD message. For example, the multicast BFD message has a BIERv6 header, which is the same as the BIERv6 header of the multicast data message in the BIERv6 encapsulation format. For example, the BIERv6 header in the multicast BFD message includes an IPv6 header and a destination option header (DOH).

[0248] The following will be described in detail with reference to the accompanying drawings Figure 3 The encapsulation format of the multicast BFD message provided by the embodiments of the present application will be further illustrated.

[0249] Please refer to the accompanying drawings Figure 4 , the accompanying drawings Figure 4 is a schematic diagram of an encapsulation format of a downstream multicast BFD message provided by the embodiments of the present application. The downstream multicast BFD message includes an IPv6 header, a destination option header (DOH), a UDP header, and an IPv6 payload.

[0250] For example, the source IP address in the IPv6 header includes the SID of the first root node. The destination IP address in the IPv6 header includes the SID of the next-hop intermediate node of the first root node in the multicast channel (the SID of the second-hop node). By using the SID of the first root node as the source IP address and the SID of the second-hop node as the destination IP address, the SRv6-enabled node can identify and forward the first downlink multicast BFD packet A based on the SIDs carried in the packet. In addition, since the format of the SID is an IPv6 address, the native IPv6 node can also identify and forward the first downlink multicast BFD packet A based on the IPv6 address carried in the packet, thereby improving the transmission success rate of the first downlink multicast BFD packet A.

[0251] In some embodiments, the source IP address in the IPv6 header includes the Src.DT4 SID of the first root node or the Src.DT6 SID of the first root node.

[0252] The Src.DT4 SID is a source address for decapsulation and IPv4 MFIB (Multicast Forwarding Information Base) table lookup, and is suitable for the case of an IPv4 multicast group.

[0253] The Src.DT6 SID is a source address for decapsulation and IPv6 MFIB table lookup, and is suitable for the case of an IPv6 multicast group.

[0254] In some embodiments, the destination IP address in the IPv6 header includes the End.BIER SID of the next-hop node (such as a P node or a PE node) of the root node, and the End.BIER SID is from static configuration.

[0255] The DOH is used to carry the BIER information. The DOH includes the multicast group bit string. The DOH is encapsulated in an outer layer of the IPv6 payload. Since the multicast group bit string is carried in the destination option header, the multicast BFD packet provided by the embodiment is matched with a standard BIERv6 packet format, so that the multicast BFD packet provided by the embodiment can be identified and forwarded by a node supporting BIER in a multicast network, and the compatibility is good. Since the BFD information is encapsulated in the IPv6 payload in the inner layer of the DOH, the intermediate node does not need to perceive whether the packet encapsulated in the inner layer of the DOH is a BFD packet, and can forward the multicast BFD packet as a general BIERv6 packet, thereby reducing the implementation complexity of the intermediate node forwarding the multicast BFD packet.

[0256] In some embodiments, the DOH is also used to carry a BIFT-ID. The BIFT-ID includes a bit string length (BS length, BSL) of 4 bits, a sub-domain ID of a BIER sub-domain of 8 bits, and a Set Identifier (SI) of 8 bits.

[0257] In some embodiments, the DOH includes an operation maintenance management (OAM) identifier, and the OAM identifier is used to identify that the type of the first downlink multicast BFD packet is a BFD detection type. For example, when the OAM identifier is 01, the OAM packet is identified as the BFD detection type. When the OAM identifier is 00, the OAM packet is identified as a default value.

[0258] In some embodiments, the destination port number in the UDP header is a BFD port number listened by a BFD process. For example, the BFD port number is set to 4784, and the port number 4784 identifies a multi-hop BFD. For another example, the BFD port number is set to 3784, and the port number 3784 identifies a single-hop BFD.

[0259] The IPv6 payload includes the first BFD information, so that bidirectional detection of the multicast channel is implemented. The IPv6 header is encapsulated in an outer layer of the DOH.

[0260] In some embodiments, the first BFD information includes a version number. The version number is used to identify a BFD protocol version number. The version number is used to identify that the first downlink multicast BFD packet is used to detect a multicast channel. Since the version number identifying multicast BFD is extended, the leaf node can distinguish, based on the version number, whether the received BFD packet is a unicast BFD packet or a multicast BFD packet. For example, the version number (Version, Vers) field in the multicast BFD packet occupies 3 bits. As a specific example, the BFD protocol version number carried in the version number field in the unicast BFD packet is 1, which indicates the version of the BFD packet used to detect a unicast channel. The BFD protocol version number carried in the version number field in the multicast BFD packet is 2, which indicates the version of the BFD packet used to detect a multicast channel.

[0261] Identifying the BFD packet used to detect a multicast channel through a version number is exemplary only. In other embodiments, the BFD packet used to detect a multicast channel is identified through a next header (NH), or other fields.

[0262] The encapsulation format of BIERv6 is exemplary only. In other embodiments, the principle of multicast BFD is also applicable to PIM, ROZEN-MVPN, NG-MVPN P2MP MPLS, and other multicast technologies, as long as the MPLS header of the multicast BFD packet is the same as the MPLS header of the multicast service packet, the IP header of the multicast BFD packet is the same as the IP header of the multicast service packet, or the GRE header of the multicast BFD packet is the same as the GRE header of the multicast service packet.

[0263] The above description is further illustrated below with reference to the accompanying drawings. Figure 4 The encapsulation format of the uplink unicast BFD packet provided by the embodiments of the present application is further illustrated.

[0264] Please refer to the accompanying drawings Figure 5 , the accompanying drawings Figure 5 is a schematic diagram of an encapsulation format of an uplink unicast BFD packet provided by the embodiments of the present application. The uplink unicast BFD packet includes an IPv6 header, a UDP header, and an IPv6 payload.

[0265] The source IP address field in the IPv6 header includes the Loopback address of the leaf node, and the destination IP address field in the IPv6 header includes the Loopback address of the root node. The IPv6 payload includes BFD information.

[0266] The accompanying drawings Figure 7Figure 1 is a structural schematic diagram of a multicast channel state detection device 500 provided by an embodiment of the present application. The multicast channel state detection device 500 is arranged at a root node of a downstream multicast channel, and the downstream multicast channel is used to transmit multicast data packets from the root node to a plurality of leaf nodes. The multicast channel state detection device 500 comprises a processing unit 510 and a sending unit 520.

[0267] The processing unit 510 is configured to obtain a first downstream multicast BFD packet, wherein the first downstream multicast BFD packet comprises first BFD information and a multicast group bit string. The first BFD information is used to detect a state of the downstream multicast channel, and the multicast group bit string is used to identify the plurality of leaf nodes.

[0268] The sending unit 520 is configured to send the first downstream multicast BFD packet.

[0269] In some embodiments, the first downstream multicast BFD packet comprises a destination option header (DOH) and an Internet Protocol version 6 (IPv6) payload. The DOH comprises the multicast group bit string, and the IPv6 payload comprises the first BFD information. The DOH is encapsulated in an outer layer of the IPv6 payload.

[0270] In some embodiments, the first downstream multicast BFD packet further comprises a state of a first upstream unicast channel. The plurality of leaf nodes comprises a first leaf node, and the first upstream unicast channel is used to transmit a multicast control plane packet from the first leaf node to the root node.

[0271] In some embodiments, the first downstream multicast BFD packet comprises a BFD state bit string. Each bit in the BFD state bit string corresponds to one leaf node in the plurality of leaf nodes. A first bit in the BFD state bit string corresponding to the first leaf node is used to carry the state of the first upstream unicast channel.

[0272] In some embodiments, the processing unit 510 is configured to set the first bit in the BFD status bit string to a first bit value in response to m uplink unicast BFD packets from the first leaf node being lost in k consecutive detection periods, the first bit value indicating that a first uplink unicast channel is in a failure state, the uplink unicast BFD packet including third BFD information used to detect a state of the first uplink unicast channel, the first uplink unicast channel being used to transmit a multicast control plane packet from the first leaf node to the root node, k being a positive integer, and m being a positive integer, or set the first bit in the BFD status bit string to a second bit value in response to m uplink unicast BFD packets not being lost in k consecutive detection periods, the second bit value indicating that the first uplink unicast channel is in a connected state.

[0273] In some embodiments, the uplink unicast BFD packet further includes a state of a downlink multicast channel, the downlink multicast channel including a primary channel and a backup channel, and the processing unit 510 is further configured to switch a transmission channel of the multicast data packet from the primary channel to the backup channel in response to the primary channel of the downlink multicast channel being in a failure state and the backup channel of the downlink multicast channel being in a connected state.

[0274] In some embodiments, the processing unit 510 is further configured to update a multicast group bit string carried in the multicast data packet from a first multicast group bit string to a second multicast group bit string based on an identifier of the first leaf node if the first uplink unicast channel is in a failure state, the first multicast group bit string including a bit value corresponding to the identifier of the first leaf node, and the second multicast group bit string not including the bit value corresponding to the identifier of the first leaf node.

[0275] In some embodiments, the first BFD information includes a version number, the version number being used to identify that the first downlink multicast BFD packet is used to detect a multicast channel.

[0276] In some embodiments, the DOH includes an operation, administration and maintenance (OAM) identifier, the OAM identifier being used to identify that a type of the first downlink multicast BFD packet is a BFD detection type.

[0277] In some embodiments, the sending unit 520 is configured to periodically send the first downlink multicast BFD packet according to a first target time interval.

[0278] In some embodiments, the first downlink multicast BFD packet further includes a timestamp, the timestamp being used to identify a time at which the root node sends the first downlink multicast BFD packet.

[0279] Appendix Figure 5 The described device embodiments are merely illustrative. For example, the division of the units described above is only a logical functional division. In actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. The functional units in the various embodiments of this application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0280] Each unit in the multicast channel status detection device 500 is implemented, in whole or in part, through software, hardware, firmware, or any combination thereof.

[0281] The following section, in conjunction with the forwarding device 700 described later, describes some possible implementation methods of the various functional units in the multicast channel status detection device 500 using hardware or software.

[0282] In the case of software implementation, for example, the aforementioned processing unit 510 is an attached... Figure 7 The software functional unit is generated by at least one processor 701 after reading the program code stored in the memory 702.

[0283] In the case of hardware implementation, for example, attached Figure 7 The aforementioned units are implemented by different hardware components in the forwarding device. For example, the processing unit 510 is implemented by an attached... Figure 6 The transmitting unit 520 is implemented using a portion of the processing resources of at least one processor 701 (e.g., one or two cores of a multi-core processor), or by using a programmable device such as a field-programmable gate array (FPGA) or a coprocessor. Figure 6 The network interface 703 is implemented in it.

[0284] Appendix Figure 7 This is a schematic diagram of the structure of a multicast channel state detection device 600 provided in an embodiment of this application. The multicast channel state detection device 600 is disposed at the first leaf node of a first downlink multicast channel. The first downlink multicast channel is used to transmit multicast data packets from a first root node to multiple leaf nodes, including the first leaf node. The multicast channel state detection device 600 includes a receiving unit 610 and a processing unit 620.

[0285] The receiving unit 610 is configured to receive a first downlink multicast Bidirectional Forwarding Detection (BFD) packet from the first root node, the first downlink multicast BFD packet comprising first BFD information and a multicast group bit string, the first BFD information being used for detecting a state of the first downlink multicast channel, and the multicast group bit string being used for identifying the plurality of leaf nodes.

[0286] The processing unit 620 is configured to determine the state of the first downlink multicast channel based on the first downlink multicast BFD packet.

[0287] In some embodiments, the processing unit 620 is configured to determine that the first downlink multicast channel is in a failure state in response to that m first downlink multicast BFD packets are lost in k consecutive detection periods, where k is a positive integer and m is a positive integer; or determine that the first downlink multicast channel is in a connected state in response to that m first downlink multicast BFD packets are not lost in k consecutive detection periods.

[0288] In some embodiments, the processing unit 620 is further configured to obtain an uplink unicast BFD packet, the uplink unicast BFD packet comprising third BFD information, the third BFD information being used for detecting a state of a first uplink unicast channel, and the first uplink unicast channel being used for transmitting a multicast control plane packet from the first leaf node to the root node.

[0289] The apparatus further comprises a sending unit configured to send the uplink unicast BFD packet to the first root node.

[0290] In some embodiments, the uplink unicast BFD packet further comprises the state of the first downlink multicast channel.

[0291] In some embodiments, the first downlink multicast BFD packet further comprises a state of a first uplink unicast channel, and the first uplink unicast channel being used for transmitting a multicast control plane packet from the first leaf node to the first root node.

[0292] In some embodiments, the processing unit 620 is further configured to determine a transmission channel based on which the multicast data packet is received from the first downlink multicast channel and a second downlink multicast channel based on the state of the first downlink multicast channel and a state of the second downlink multicast channel, and the second downlink multicast channel being used for transmitting a multicast data packet from the second root node to the plurality of leaf nodes.

[0293] In some embodiments, the processing unit 620 is configured to determine to use the second downlink multicast channel to receive the multicast data packet if the state of the first downlink multicast channel is faulty and the state of the second downlink multicast channel is connected; or, if the state of the first downlink multicast channel is connected and the state of the second downlink multicast channel is faulty, determine to use the first downlink multicast channel to receive the multicast data packet.

[0294] In some embodiments, the processing unit 620 is configured to determine, based on the state of the first downlink multicast channel, the state of the second downlink multicast channel, the state of the first uplink unicast channel, the state of the second uplink unicast channel, the state of the multicast data packet received from the first root node, and the state of the multicast data packet received from the second root node, the transmission channel on which the multicast data packet is received from the first downlink multicast channel and the second downlink multicast channel, wherein the second uplink unicast channel is used to transmit the multicast control plane message from the first leaf node to the second root node.

[0295] In some implementations, the first downlink multicast BFD message further includes a timestamp, which is used to identify the time when the root node sends the first downlink multicast BFD message. The processing unit 620 is used to determine the transmission delay of the first downlink multicast channel based on the timestamp and the time when the first downlink multicast BFD message is received.

[0296] Appendix Figure 6 The described device embodiments are merely illustrative. For example, the division of the above units is only a logical functional division. In actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. The functional units in the various embodiments of this application may be integrated into one processing unit 620, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0297] Each unit in the multicast channel status detection device 600 is implemented entirely or partially through software, hardware, firmware, or any combination thereof.

[0298] The following section, in conjunction with the forwarding device 700 described later, describes some possible implementation methods of the various functional units in the multicast channel status detection device 600 using hardware or software.

[0299] In the case of software implementation, for example, the aforementioned processing unit 620 is provided by an attached... Figure 7 The software functional unit is generated by at least one processor 701 after reading the program code stored in the memory 702.

[0300] In the case of implementation in hardware, for example, the above-mentioned various units are respectively implemented by different hardware in the forwarding device, for example, the processing unit 620 is implemented by a part of processing resources (for example, one core or two cores in a multi-core processor) in the at least one processor 701, or is completed by using a programmable device such as a field-programmable gate array (FPGA) or a coprocessor. The receiving unit 610 is implemented by the network interface 703 in the forwarding device 700. Figure 7 Figure 7 In the case of implementation in hardware, for example, the above-mentioned various units are respectively implemented by different hardware in the forwarding device, for example, the processing unit 620 is implemented by a part of processing resources (for example, one core or two cores in a multi-core processor) in the at least one processor 701, or is completed by using a programmable device such as a field-programmable gate array (FPGA) or a coprocessor. The receiving unit 610 is implemented by the network interface 703 in the forwarding device 700. Figure 7

[0301] The forwarding device 700 is a structure schematic diagram of the forwarding device 700 provided by the embodiment of the present application. Figure 7 The forwarding device 700 includes at least one processor 701, a memory 702, and at least one network interface 703.

[0302] The processor 701 is, for example, a general central processing unit (CPU), a network processor (NP), a graphics processing unit (GPU), a neural-network processing unit (NPU), a data processing unit (DPU), a microprocessor, or one or more integrated circuits for implementing the scheme of the present application. For example, the processor 701 includes an application-specific integrated circuit (ASIC), a programmable logic device (PLD) or a combination thereof. The PLD is, for example, a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL) or any combination thereof.

[0303]

[0304] ​​​The memory 702 is, for example, a read-only memory (ROM) or other type of static storage device that can store static information and instructions; a random access memory (RAM), or other type of dynamic storage device that can store information and instructions; a flash memory or other type of electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM), or other optical disc storage, a magnetic disk storage or other magnetic storage devices, or any other medium capable of storing instructions or data that can be accessed by a computer, but is not limited thereto. The memory 702 can optionally exist independently of the processor 701 and be connected to the processor 701 via the internal connection 704. Alternatively, the memory 702 and the processor 701 can be integrated together.

[0305] The network interface 703 uses any transceiver-type device to communicate with other devices or communication networks. The network interface 703 includes, for example, at least one of a wired network interface or a wireless network interface. The wired network interface is, for example, an Ethernet interface. The Ethernet interface is, for example, an optical interface, an electrical interface, or a combination thereof. The wireless network interface is, for example, a wireless local area networks (WLAN) interface, a cellular network interface, or a combination thereof.

[0306] In some embodiments, the processor 701 includes one or more CPUs, such as the CPU0 and the CPU1 shown in FIG. 8A. ​

[0307] In some embodiments, the forwarding device 700 optionally includes multiple processors, such as the processor 701 and the processor 705 shown in FIG. 8B. Each of these processors is, for example, a single-CPU, or a multi-CPU. The processor here optionally refers to one or more devices, circuits, and / or processing cores for processing data (such as computer program instructions). ​

[0308] ​​In some embodiments, the forwarding device 700 further includes an internal connection 704. The processor 701, the memory 702, and the at least one network interface 703 are connected through the internal connection 704. The internal connection 704 includes pathways to transfer information between the above-mentioned components. Optionally, the internal connection 704 is a single board or a bus. Optionally, the internal connection 704 is divided into an address bus, a data bus, a control bus, etc.

[0309] In some embodiments, the forwarding device 700 further includes an input / output interface 706. The input / output interface 706 is connected to the internal connection 704.

[0310] Optionally, the processor 701 implements the method in the above embodiments by reading the program code stored in the memory 702, or the processor 701 implements the method in the above embodiments by the program code stored internally. In the case where the processor 701 implements the method provided by the embodiments of the present application by reading the program code stored in the memory 702, the memory 702 stores program code 710 for implementing the method provided by the embodiments of the present application.

[0311] For more details of the processor 701 implementing the above functions, please refer to the description in the above method embodiments, which will not be repeated here.

[0312] Each of the embodiments in the specification is described in a progressive manner, and the same or similar parts between each of the embodiments can be referred to each other, and each of the embodiments focuses on the difference from other embodiments.

[0313] A refers to B, which means that A is the same as B or a simple transformation of B.

[0314] The terms "first" and "second" and the like in the specification of the embodiments of the present application are used to distinguish different objects, and are not used to describe a specific order of the objects, nor can be understood as indicating or implying relative importance. For example, the first root node and the second root node are used to distinguish different root nodes, and are not used to describe a specific order of the root nodes, nor can be understood as the first root node being more important than the second root node.

[0315] In the embodiments of the present application, unless otherwise specified, "at least one" means one or more, and "multiple" means two or more. For example, multiple root nodes refer to two or more root nodes.

[0316] The above-described embodiments can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented by software, the embodiments can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions described in the embodiments of the present application are wholly or partially generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions can be transferred from one website, computer, server or data center to another website, computer, server or data center through wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) manner. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. integrated with one or more available media. The available media can be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk (SSD)), etc.

[0317] The above embodiments are only used to illustrate the technical solutions of the present application, but not to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that they can still modify the technical solutions recorded in the foregoing embodiments, or make equivalent replacements for part of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the scope of the technical solutions of the embodiments of the present application.

Claims

1. A method for detecting the status of a multicast channel, characterized in that, The method, applied to the root node of a downlink multicast channel used to transmit multicast data packets from the root node to multiple leaf nodes, includes: The root node obtains a first downlink multicast bidirectional forwarding detection (BFD) message. The first downlink multicast BFD message includes first BFD information and a multicast group bit string. The first BFD information is used to detect the status of the downlink multicast channel, and the multicast group bit string is used to identify the multiple leaf nodes. The root node sends the first downlink multicast BFD message.

2. The method according to claim 1, characterized in that, The first downlink multicast BFD message includes a Destination Options Header (DOH) and an Internet Protocol version 6 (IPv6) payload. The DOH includes the multicast group bit string, and the IPv6 payload includes the first BFD information. The DOH is encapsulated in the outer layer of the IPv6 payload.

3. The method according to claim 1, characterized in that, The first downlink multicast BFD message also includes the status of the first uplink unicast channel. The plurality of leaf nodes include the first leaf node. The first uplink unicast channel is used to transmit multicast control plane messages from the first leaf node to the root node.

4. The method according to claim 3, characterized in that, The first downlink multicast BFD message includes a BFD state bit string, each bit in the BFD state bit string corresponds to one of the plurality of leaf nodes, and the first bit in the BFD state bit string corresponding to the first leaf node is used to carry the state of the first uplink unicast channel.

5. The method according to claim 4, characterized in that, The root node receives the first downlink multicast BFD message, including: In response to the loss of m uplink unicast BFD messages from the first leaf node within k consecutive detection periods, the root node sets the first bit in the BFD status bit string to a first bit value. This first bit value indicates that the first uplink unicast channel is in a fault state. The uplink unicast BFD message includes third BFD information used to detect the status of the first uplink unicast channel. The first uplink unicast channel is used to transmit multicast control plane messages from the first leaf node to the root node. Here, k is a positive integer, m is a positive integer, or... In response to the fact that no m uplink unicast BFD messages are lost within k consecutive detection periods, the root node sets the first bit in the BFD status bit string to the second bit value, whereby the second bit value indicates that the first uplink unicast channel is in a connected state.

6. The method according to any one of claims 3 to 5, characterized in that, The method further includes: If the first uplink unicast channel is in a fault state, the root node updates the multicast group bit string carried in the multicast data packet from the first multicast group bit string to the second multicast group bit string based on the identifier of the first leaf node. The first multicast group bit string includes the bit value corresponding to the identifier of the first leaf node, and the second multicast group bit string does not include the bit value corresponding to the identifier of the first leaf node.

7. A method for detecting the status of a multicast channel, characterized in that, The method is applied to a first leaf node of a first downlink multicast channel, the first downlink multicast channel being used to transmit multicast data packets from a first root node to multiple leaf nodes, the multiple leaf nodes including the first leaf node, the method comprising: The first leaf node receives a first downlink multicast bidirectional forwarding detection (BFD) message from the first root node. The first downlink multicast BFD message includes first BFD information and a multicast group bit string. The first BFD information is used to detect the status of the first downlink multicast channel, and the multicast group bit string is used to identify the plurality of leaf nodes. The first leaf node determines the status of the first downlink multicast channel based on the first downlink multicast BFD message.

8. The method according to claim 7, characterized in that, The first leaf node determines the status of the first downlink multicast channel based on the first downlink multicast BFD message, including: In response to the loss of m first downlink multicast BFD messages within k consecutive detection periods, the first leaf node determines that the first downlink multicast channel is in a fault state, where k is a positive integer and m is a positive integer; or... If no m first downlink multicast BFD packets are lost within k consecutive detection periods, the first leaf node determines that the first downlink multicast channel is in a connected state.

9. The method according to claim 7, characterized in that, The method further includes: The first leaf node obtains an uplink unicast BFD message, the uplink unicast BFD message includes third BFD information, the third BFD information is used to detect the status of the first uplink unicast channel, the first uplink unicast channel is used to transmit multicast control plane messages from the first leaf node to the root node. The first leaf node sends the uplink unicast BFD message to the first root node.

10. The method according to claim 7, characterized in that, The method further includes: Based on the state of the first downlink multicast channel and the state of the second downlink multicast channel, the first leaf node determines the transmission channel on which to receive the multicast data packet is based from the first downlink multicast channel and the second downlink multicast channel. The second downlink multicast channel is used to transmit the multicast data packet from the second root node to the plurality of leaf nodes.

11. The method according to claim 10, characterized in that, The first leaf node determines the transmission channel on which the multicast data packet is received, based on the state of the first downlink multicast channel and the state of the second downlink multicast channel, including: The first leaf node determines the transmission channel on which the multicast data packet is received from the first downlink multicast channel and the second downlink multicast channel based on the state of the first downlink multicast channel, the state of the second uplink unicast channel, the state of the multicast data packet received from the first root node, and the state of the multicast data packet received from the second root node. The second uplink unicast channel is used to transmit the multicast control plane message from the first leaf node to the second root node.

12. A status detection device for a multicast channel, characterized in that, Located at the root node of a downlink multicast channel, the downlink multicast channel is used to transmit multicast data packets from the root node to multiple leaf nodes. The apparatus includes: The processing unit is configured to obtain a first downlink multicast bidirectional forwarding detection (BFD) message, wherein the first downlink multicast BFD message includes first BFD information and a multicast group bit string, the first BFD information is used to detect the status of the downlink multicast channel, and the multicast group bit string is used to identify the plurality of leaf nodes. The sending unit is used to send the first downlink multicast BFD message.

13. The apparatus according to claim 12, characterized in that, The first downlink multicast BFD message also includes the status of the first uplink unicast channel. The plurality of leaf nodes include the first leaf node. The first uplink unicast channel is used to transmit multicast control plane messages from the first leaf node to the root node.

14. The apparatus according to claim 12, characterized in that, The first downlink multicast BFD message also includes a BFD status bit string, where each bit in the BFD status bit string corresponds to one of the plurality of leaf nodes, and the first bit in the BFD status bit string corresponding to the first leaf node is used to carry the status of the first uplink unicast channel.

15. The apparatus according to claim 14, characterized in that, The processing unit is configured to, in response to the loss of m uplink unicast BFD messages from the first leaf node within k consecutive detection periods, set the first bit in the BFD status bit string to a first bit value, the first bit value indicating that the first uplink unicast channel is in a fault state, the uplink unicast BFD message including third BFD information, the third BFD information being used to detect the state of the first uplink unicast channel, the first uplink unicast channel being used to transmit multicast control plane messages from the first leaf node to the root node, where k is a positive integer and m is a positive integer; or, in response to the absence of m uplink unicast BFD messages within k consecutive detection periods, set the first bit in the BFD status bit string to a second bit value, the second bit value indicating that the first uplink unicast channel is in a connected state.

16. A status detection device for a multicast channel, characterized in that, A first leaf node is located in a first downlink multicast channel, the first downlink multicast channel being used to transmit multicast data packets from a first root node to multiple leaf nodes, the multiple leaf nodes including the first leaf node, the apparatus comprising: The receiving unit is configured to receive a first downlink multicast bidirectional forwarding detection (BFD) message from the first root node. The first downlink multicast BFD message includes first BFD information and a multicast group bit string. The first BFD information is used to detect the status of the first downlink multicast channel, and the multicast group bit string is used to identify the plurality of leaf nodes. The processing unit is configured to determine the status of the first downlink multicast channel based on the first downlink multicast BFD message.

17. The apparatus according to claim 16, characterized in that, The processing unit is configured to determine that the first downlink multicast channel is in a fault state in response to the loss of m first downlink multicast BFD messages within k consecutive detection periods, where k is a positive integer and m is a positive integer; Alternatively, in response to the absence of m first downlink multicast BFD messages within k consecutive detection periods, it is determined that the first downlink multicast channel is in a connected state.

18. The apparatus according to claim 16, characterized in that, The processing unit is further configured to obtain an uplink unicast BFD message, the uplink unicast BFD message including third BFD information, the third BFD information being used to detect the status of the first uplink unicast channel, the first uplink unicast channel being used to transmit multicast control plane messages from the first leaf node to the root node; The apparatus further includes a sending unit, configured to send the uplink unicast BFD message to the first root node.

19. The apparatus according to claim 16, characterized in that, The processing unit is further configured to determine, based on the state of the first downlink multicast channel, the state of the second downlink multicast channel, the state of the first uplink unicast channel, the state of the second uplink unicast channel, the state of the multicast data packet received from the first root node, and the state of the multicast data packet received from the second root node, the transmission channel on which the multicast data packet is received from the first downlink multicast channel and the second downlink multicast channel, wherein the second uplink unicast channel is used to transmit the multicast control plane message from the first leaf node to the second root node.