WO2023206165A1 - Multicast data message sending method and apparatus, and device and storage medium - Google Patents

Multicast data message sending method and apparatus, and device and storage medium Download PDF

Info

Publication number
WO2023206165A1
WO2023206165A1 PCT/CN2022/089652 CN2022089652W WO2023206165A1 WO 2023206165 A1 WO2023206165 A1 WO 2023206165A1 CN 2022089652 W CN2022089652 W CN 2022089652W WO 2023206165 A1 WO2023206165 A1 WO 2023206165A1
Authority
WO
WIPO (PCT)
Prior art keywords
multicast data
parameter
header
path
data message
Prior art date
Application number
PCT/CN2022/089652
Other languages
French (fr)
Chinese (zh)
Inventor
刘淑英
段方红
谢经荣
卢延辉
耿雪松
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to PCT/CN2022/089652 priority Critical patent/WO2023206165A1/en
Publication of WO2023206165A1 publication Critical patent/WO2023206165A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing

Definitions

  • the present application relates to the field of multicast technology, and in particular to a method, device, equipment and storage medium for sending multicast data messages.
  • Bit-indexed explicit replication (BIER) technology is currently a widely used multicast technology.
  • BFR BIER forwarding router
  • Embodiments of the present application provide a method, device, equipment and storage medium for sending multicast data packets, which can meet the SLA of the multicast service without adjusting the router interface status.
  • the technical solutions are as follows:
  • the first aspect provides a method for sending multicast data packets, which is applied to leaf nodes in the BIER domain.
  • the method includes:
  • the leaf node receives the first multicast data packet through the first path.
  • the first multicast data message includes a first parameter, and the first parameter is used to detect performance indicators.
  • the leaf node obtains the first performance index according to the first parameter.
  • the leaf node determines that the first path does not meet the performance requirements based on the first performance index, and receives the second multicast data message through the second path.
  • the leaf node can receive the multicast data packet through the first path and the second path.
  • the multicast service data carried in the multicast data packet transmitted by the first path and the multicast service data carried in the multicast data packet transmitted by the second path are the same.
  • the leaf The node can only receive and send multicast data packets sent by the first path. In this way, when the leaf node detects that the first path does not meet the performance indicators, it can no longer receive and send multicast data packets sent by this path, but switch to receive and send multicast data packets sent by another path. It can be seen that this method is a method for multicast services.
  • This method can enable multicast services to avoid paths whose performance does not meet the requirements, so that the multicast service data received and sent by leaf nodes is transmitted by paths with better performance. In this way, the SLA of multicast services can be guaranteed without affecting the unicast services carried on the network.
  • This solution can meet the SLA requirements of the multicast service without changing the interface status. Therefore, the problem of excessive link load caused by setting the interface status down will not occur.
  • the first multicast data packet includes a BIER header and an In-situ Flow Information Telemetry (IFIT) header, and the IFIT header is used to carry the first parameter.
  • IFIT In-situ Flow Information Telemetry
  • the multicast data packet transmitted by the first path is a BIER packet.
  • the IFIT technology may be used to determine the performance index of the first path based on the first parameter carried in the IFIT header of the first multicast data message. In this way, the performance indicators are detected based on actual multicast data packets, with higher accuracy.
  • IFIT technology only requires the root node and leaf nodes to configure the IFIT function. There are few devices that need to be configured, and the configuration is relatively simple.
  • the first multicast data packet is a BIER packet encapsulated based on Internet Protocol Version 6 (IPv6), and the BIER header in the first multicast data packet is used to Carry the first parameter.
  • IPv6 Internet Protocol Version 6
  • the multicast data message is a BIER message encapsulated based on IPv6
  • the original field in the BIER header can be used to carry the first parameter, and there is no need to extend the BIER header.
  • the multicast data packet is a BIER packet encapsulated based on IPv6
  • the following field in the BIER header can be used to carry the first parameter:
  • the entropy field in the BIER header, or the BIER forwarding ingress router ID (BFIR ID) field in the BIER header, or the traffic level field in the BIER header, the field used to identify the bottom of the label stack, and survival The time field, or the field and lifetime field in the BIER header used to identify the bottom of the label stack.
  • the multicast data message is a BIER message based on MPLS encapsulation
  • the BIER header is extended and the extension field is used to carry the first parameter.
  • Performance metrics can be calculated by the controller and sent to leaf nodes.
  • the processing can be as follows:
  • the leaf node After receiving the first multicast data packet, the leaf node determines the reception timestamp of the first multicast data packet and obtains the sending timestamp carried in the IFIT header of the first multicast data packet. The leaf node then sends the send timestamp and receive timestamp to the controller. The controller can calculate at least one of the transmission delay and delay jitter based on the sending timestamp and receiving timestamp sent by the leaf node, and sends it to the leaf node.
  • the first parameter includes the first sequence number.
  • the process of determining the performance index can be as follows:
  • Performance metrics can be calculated by the controller and sent to leaf nodes.
  • the processing can be as follows:
  • the leaf node After receiving the first multicast data packet, the leaf node obtains the first sequence number carried in the RTP header or TS header of the first multicast data packet and sends the first sequence number to the controller. It can indicate the sending order of the first multicast data packet.
  • the controller calculates performance indicators such as packet loss rate and out-of-order based on the multiple sequence numbers received, and sends them to the leaf nodes.
  • the leaf node After receiving the first multicast data packet, the leaf node determines the reception timestamp of the first multicast data packet and obtains the sending timestamp carried in the IFIT header of the first multicast data packet. Then, the leaf node sending timestamp and receiving timestamp can calculate at least one of the transmission delay and delay jitter.
  • the performance index can be calculated by the leaf nodes themselves.
  • the process of determining the performance index may be as follows:
  • the leaf node After receiving the first multicast data packet, the leaf node obtains the first sequence number carried in the RTP header or TS header of the first multicast data packet. Then, the leaf node calculates performance indicators such as packet loss rate and reordering based on the multiple sequence numbers received.
  • the performance index of the second path in order to avoid switching to a path with worse performance, while detecting the performance index of the first path, the performance index of the second path can also be detected, and after determining the performance index indicated by the second path When the performance is better than the performance indicated by the performance index of the first path, if the first path does not meet the performance requirements, it can be switched to receive multicast data packets of the second path.
  • the first path and the second path may be non-overlapping paths obtained by planning of the controller.
  • the first path and the second path belong to different flexible algorithm (Flex Algo) slices and are non-overlapping paths. Non-overlapping means that they do not contain the same links.
  • a method for sending multicast data messages is provided.
  • the method is applied to the root node in the BIER domain.
  • the method includes:
  • the multicast data message includes a first parameter, and the first parameter is used to detect performance indicators;
  • the multicast data message includes a BIER header and an IFIT header, and the IFIT header is used to carry the first parameter.
  • the multicast data message includes a BIER header and an RTP header, and the RTP header is used to carry the first parameter;
  • the first multicast data message includes a BIER header and a TS header, and the TS header is used to carry the first parameter.
  • the multicast data packet is a BIER packet based on IPv6 encapsulation, and the BIER header in the multicast data packet is used to carry the first parameter.
  • the entropy field in the BIER header is used to carry the first parameter
  • the BFIR ID field in the BIER header is used to carry the first parameter
  • the TC field, S field and TTL field in the BIER header carry the first parameter
  • the S field and TTL field in the BIER header are used to carry the first parameter.
  • the multicast data packet is a BIER packet based on MPLS encapsulation, and the BIER header in the first multicast data packet is used to carry the first parameter.
  • the first parameter includes at least one of a sending timestamp and a first sequence number.
  • a third aspect provides a device for sending multicast data messages, which device is provided on a leaf node in the first aspect or any optional method of the first aspect.
  • the message forwarding device includes at least one module, and the at least one module is used to implement the method provided by the above-mentioned first aspect or any optional manner of the first aspect.
  • the multicast data message sending provided by the third aspect is implemented by a module in the device through software, and the unit in the message forwarding device is a program module.
  • the modules in the packet forwarding device provided in the third aspect are implemented by hardware or firmware.
  • a fourth aspect provides a device for sending multicast data messages, which device is provided on a leaf node in the second aspect or any optional mode of the second aspect.
  • the message forwarding device includes at least one module, and the at least one module is used to implement the method provided in the above second aspect or any optional manner of the second aspect.
  • the multicast data message sending provided in the fourth aspect is implemented by a module in the device through software, and the unit in the message forwarding device is a program module.
  • the modules in the message forwarding apparatus provided in the fourth aspect are implemented by hardware or firmware.
  • a network device in a fifth aspect, includes a processor and a memory. At least one instruction is stored in the memory. The at least one instruction is loaded and executed by the processor to implement the first step described above. method provided by the aspect or any optional method of the first aspect. The specific details of obtaining the network device provided in the fifth aspect can be found in the above-mentioned first aspect or any optional method of the first aspect, and will not be described again here.
  • a network device in a sixth aspect, includes a processor and a memory. At least one instruction is stored in the memory. The at least one instruction is loaded and executed by the processor to implement the second step described above.
  • the method provided by any optional method of the aspect or the second aspect. The specific details of obtaining the network equipment provided in the sixth aspect can be found in the above-mentioned second aspect or any optional method of the second aspect, and will not be described again here.
  • a computer program product includes one or more computer program instructions.
  • the network device causes the network device to execute the first aspect. Or the method provided by any optional method in the first aspect.
  • a computer program product includes one or more computer program instructions.
  • the network device causes the network device to execute the above second aspect. Or the method provided by any optional method in the second aspect.
  • a chip including a memory and a processor.
  • the memory is used to store computer instructions.
  • the processor is used to call and run the computer instructions from the memory to execute the above first aspect and any possibility of the first aspect. method in the implementation.
  • a chip including a memory and a processor.
  • the memory is used to store computer instructions.
  • the processor is used to call and run the computer instructions from the memory to execute the above second aspect or any one of the second aspects.
  • Optional methods provided.
  • a thirteenth aspect provides a communication system, which includes the network device described in the fifth aspect and the network device described in the sixth aspect.
  • Figure 1 is a schematic diagram of an implementation scenario provided by the embodiment of the present application.
  • Figure 2 is a schematic diagram of multicast data flow switching provided by an embodiment of the present application.
  • Figure 3 is a schematic flowchart of a method for sending multicast data messages provided by an embodiment of the present application
  • Figure 4 is a schematic diagram of the format of a multicast data message provided by an embodiment of the present application.
  • Figure 5 is a schematic diagram of the format of a multicast data message provided by an embodiment of the present application.
  • Figure 6 is a schematic flowchart of a method for sending multicast data messages provided by an embodiment of the present application.
  • Figure 7 is a schematic diagram of the format of a multicast data message provided by an embodiment of the present application.
  • Figure 8 is a schematic diagram of the format of a multicast data message provided by an embodiment of the present application.
  • Figure 9 is a schematic diagram of the format of a multicast data message provided by an embodiment of the present application.
  • Figure 10 is a schematic diagram of the format of a multicast data message provided by an embodiment of the present application.
  • Figure 11 is a schematic diagram of the format of a multicast data message provided by an embodiment of the present application.
  • Figure 12 is a schematic diagram of the format of a multicast data message provided by an embodiment of the present application.
  • Figure 13 is a schematic flowchart of a method for sending multicast data messages provided by an embodiment of the present application.
  • Figure 14 is a schematic diagram of the format of a multicast data message provided by an embodiment of the present application.
  • Figure 15 is a schematic diagram of the format of a BIERv6 message provided by an embodiment of the present application.
  • Figure 16 is a schematic diagram of a network topology provided by an embodiment of the present application.
  • Figure 17 is a schematic flowchart of a method for sending multicast data messages provided by an embodiment of the present application.
  • Figure 19 is a schematic structural diagram of a device for sending multicast data messages provided by an embodiment of the present application.
  • Figure 20 is a schematic structural diagram of a device for sending multicast data messages provided by an embodiment of the present application.
  • Figure 21 is a schematic structural diagram of a network device provided by an embodiment of the present application.
  • BIER/BIERv6 is a multicast forwarding technology that performs explicit replication based on bit indexing.
  • the edge router is assigned a unique identifier, that is, the BIER forwarding router identifier (BFR ID).
  • BFR ID is an integer ranging from 1 to 65535.
  • Edge routers include BIER forwarding ingress router (bit forwarding ingress router, BFIR) and BIER forwarding egress router (bit forwarding egress router, BFER). During the forwarding process, BFIR needs to know which BIER nodes to send multicast data packets to.
  • the BFER set to which multicast data packets are sent is represented by a set bit in a bit string.
  • the offset position of a certain bit in the bit string corresponds to the offset position in the bit string.
  • the BFR ID of an edge router. BFIR encapsulates the bit string corresponding to at least one BFER in the BIER header of the multicast data message.
  • the intermediate BFR between BFIR and BFER can copy and forward based on the bit string in the received multicast data message, so that Multicast data packets can be forwarded to the corresponding BFER.
  • BFIR sends the multicast data message encapsulated with bit string to the downstream BFR according to the bit index forwarding table (BIFT).
  • BIFT bit index forwarding table
  • the downstream BFR parses the bit string and copies the multicast data message according to the entries in BIFT. Send, so that the multicast data packet encapsulated with bit string is forwarded to the corresponding BFER.
  • BFER parses the bit string, checks the destination node that matches the multicast data message, then deletes the outer encapsulation including the BIER header, continues to search the user multicast forwarding table, and forwards the multicast data message to the requesting user based on the search results.
  • BIERv6 Traditional BIER is implemented based on multi-protocol label switching (MPLS).
  • MPLS multi-protocol label switching
  • BIERv6 no longer uses MPLS labels and is a multicast solution based on native IPv6 (native IPv6).
  • BIERv6 inherits the core design concept of BIER. It uses bit strings to copy multicast data messages to designated recipients.
  • the intermediate BFR does not need to establish a multicast forwarding tree to achieve stateless forwarding.
  • BIERv6 technology uses the IPv6 extension header to carry the information required for BIER forwarding, eliminating the need to use MPLS labels.
  • IPv6 extension headers also facilitates subsequent network evolution and overlay, such as fragmentation and reassembly of IPv6 packets, multicast network slicing, and flow detection, etc. Since the service is only deployed on the head node and the tail node, the intermediate nodes do not sense when the multicast service changes. Therefore, when the network topology changes, there is no need to perform undo and rebuild operations on a large number of multicast trees, which greatly simplifies operation and maintenance work.
  • BIERv6 uses IPv6 extension headers to implement its functions. BIERv6 uses the IPv6 extension header to carry BIER options (also called BIER headers), which together with the IPv6 header form the BIERv6 message header. The intermediate BFR reads the bit string in the BIER option, copies, forwards and updates the bit string according to BIFT.
  • any multicast service data of the multicast source can be copied and then entered into the BIER domain through two root nodes for forwarding.
  • the two root nodes here include a primary root node and a backup root node.
  • Leaf nodes can determine the primary root node and backup root node based on the routing priorities of the two root nodes. Specifically, a BGP neighbor is established between the root node and the leaf node, and the leaf node can select the root node with the highest routing priority as the primary root node, and the root node with the second highest routing priority as the backup root node.
  • Ethernet link aggregation (ethernet-trunk, ETH-trunk) bundled interface
  • Trunk is a bundling technology. Multiple physical interfaces are bundled into a logical interface. This logical interface is called a trunk bundled interface, and each physical interface bundled together is called a member interface. Using trunk bundling technology to bundle multiple physical interfaces together can meet the need to increase interface bandwidth at a lower cost. For example, bundling three 100Mbit/s full-duplex interfaces together can achieve a maximum bandwidth of 300Mbit/s.
  • ETH-trunk bundles multiple Ethernet interfaces into a logical interface. This logical interface is called an Eth-trunk bundled interface, and each Ethernet interface bundled together is called a member interface. Eth-trunk bundled interfaces can increase bandwidth, improve reliability and load sharing.
  • Figure 1 is a schematic diagram of an implementation scenario of BIER provided by an embodiment of the present application.
  • the implementation scenario shown in Figure 1 includes multicast source A, root node A, root node B, intermediate node A, intermediate node B, intermediate node C, Intermediate node D, leaf node A, leaf node B, leaf node C, leaf node D, multicast receiving device A, multicast receiving device B, multicast receiving device C and multicast receiving device D.
  • Multicast sources include but are not limited to servers, terminals, etc.
  • Multicast source A is used to generate and send multicast service data.
  • the multicast service data generated by multicast source A includes but is not limited to audio data, video data, etc.
  • Root node A, root node B, intermediate node A, intermediate node B, intermediate node C, intermediate node D, leaf node A, leaf node B, leaf node C, and leaf node D are deployed in the same BIER domain. These nodes can be network devices such as routers, switches, etc. Root node A and root node B are the BFIR of the BIER domain. Leaf node A, leaf node B, leaf node C, and leaf node D are BFERs of the BIER domain. For any leaf node among leaf node A, leaf node B, leaf node C, and leaf node D, one of root node A and root node B is the main root node, and the other is the backup root node.
  • Root node A and root node B receive the same multicast service data from multicast source A, and perform BIER MPLS encapsulation or BIERv6 encapsulation on the received multicast service data to obtain a multicast data packet, in which the multicast data packet Included is the BIER header. Then, root node A and root node B send the multicast data message encapsulated in the bit string to the next hop according to the bit index forwarding table (BIFT). The next hop can be an intermediate node or a leaf node.
  • BIFT bit index forwarding table
  • the intermediate node is used to forward multicast data packets to leaf nodes based on the saved BIFT.
  • leaf nodes can receive multicast data packets from the primary root node and multicast data packets from the backup root node.
  • the leaf node After the leaf node receives the multicast data message sent by the intermediate node or the root node, it determines that the bit corresponding to its own BFR ID in the bit string of the BIER header is 1. The leaf node determines whether the multicast data packet comes from the main root node or the backup root node.
  • the multicast data packet is stripped of the BIER MPLS encapsulation or BIERv6 encapsulation, and the multicast forwarding table is queried, and the multicast service data after the BIER MPLS encapsulation or BIERv6 encapsulation is stripped is forwarded to The corresponding multicast receiving device; if it is determined that the multicast data packet comes from the backup root node, the received multicast data packet can be discarded.
  • the following explains how leaf nodes determine which root node a multicast data packet comes from:
  • the BFIR-ID in the BIER header of the multicast data message is the BFR ID of the root node that sends the multicast data message;
  • the source address in the outer IPv6 header of the multicast data packet is the address of the root node that sends the multicast data packet.
  • the leaf node determines the performance index of the first path by obtaining the parameters carried in the multicast data packet transmitted by the first path. , where the first path is the path between the leaf node and the main root node.
  • the leaf node switches to receive and forward the multicast data packets from the second path, where the second path is the path between the leaf node and the backup root node.
  • leaf node B receives and forwards multicast data packets on the first path, while multicast data packets on the second path can be discarded.
  • Leaf node B can determine the performance index of the first path based on the parameters carried in the multicast data packet transmitted by the first path. When the performance index of the first path does not meet the performance requirements, leaf node B switches to receive and Forward multicast data packets on the second path.
  • the parameters based on which the performance index is determined may also be different.
  • the method for sending multicast data packets provided by the embodiments of this application will be described below in combination with different methods for determining performance indicators.
  • Method 1 for determining performance indicators Determine the performance indicators of the path based on in-situ flow information telemetry (IFIT) technology:
  • the processing flow of multicast data message sending in the embodiment of the present application may include the following steps. The following is combined with the implementation scenario shown in Figure 2, with root node A as leaf node B.
  • the main root node of , root node B is the backup root node of leaf node B as an example.
  • the steps shown in Figure 3 are explained:
  • Step 301 Enable the IFIT detection function on the main root node and leaf nodes.
  • the IFIT detection function can be configured on root node A and leaf node B in advance.
  • root node A receives an IFIT detection instruction to determine to perform IFIT detection.
  • the IFIT detection command may include multicast source information, and the multicast source information is used to instruct IFIT detection on the multicast service data of multicast source A.
  • root node A After receiving the multicast service data sent by multicast source A, root node A can encapsulate the IFIT header for the multicast service data, so that the generated multicast data packet includes an IFIT header.
  • Leaf node B receives the IFIT detection instruction and enables the IFIT detection function. After receiving the multicast data message including the IFIT header, leaf node B can perform IFIT detection based on the parameters carried in the IFIT header.
  • the above IFIT detection instructions can be implemented by the configuration issued by the controller or statically configured.
  • the controller can issue IFIT detection instructions based on network configuration protocol (NETCONF), simple network management protocol (simple network management protocol), etc.
  • NETCONF network configuration protocol
  • simple network management protocol simple network management protocol
  • YANG model a data modeling language
  • Step 302 The main root node forwards the multicast data packet through the first path.
  • root node A After receiving the multicast service data sent by multicast source A, root node A encapsulates the multicast service data to obtain a multicast data message. Specifically, root node A can perform BIER MPLS encapsulation or BIERv6 encapsulation on the received multicast service data. In addition, because the IFIT detection function is enabled on root node A, the multicast service data must be IFIT encapsulated. In this way, the encapsulated multicast data packet includes a BIER header and an IFIT header. After completing the encapsulation, root node A forwards the encapsulated multicast data message to intermediate node A through the first path according to the saved entry in BIFT.
  • the multicast data packet combined with BIER MPLS encapsulation and IFIT encapsulation includes an Ethernet header, a BIER header, an IFIT header and an Internet Protocol multicast payload (IP multicast payload).
  • IP multicast payload is from the multicast source.
  • Multicast service data is from the multicast source.
  • the IFIT header has multiple possible formats. In Figure 4, two of the possible formats are exemplarily shown. Referring to Table 1, the following fields can be included in Format 1 of the IFIT header:
  • FlowMonID(20bits) The identifier of the monitored business flow, unique within the device L(1bit) Packet loss detection dyeing mark D(1bit) Time delay detection dyeing mark HTI(8bits) Identifies the type of extension header NodeMonID(20bits) Device node ID for flow monitoring F(1bit) Business flow direction identifier P(3bits) Measurement period T(2bits) Identification detection type Ext FM Type(16bits) Extended flow detection type identification R(1bit)/Rsv(6bits)/Reversed(16bits) reserved text
  • format two of the IFIT header has an additional field timestamp: indicating the sending timestamp of the multicast data packet.
  • the multicast data message combining BIERv6 encapsulation and IFIT encapsulation can include an IPv6 header, an IPv6 extension header including a BIER header, an IPv6 extension header including an IFIT header, and an IP multicast payload.
  • the IPv6 extension header containing the IFIT header also has multiple possible formats. In Figure 5, two possible formats are exemplarily shown.
  • root node A When root node A performs IFIT encapsulation of multicast service data from multicast source A, it adds corresponding values to the L field and D field in the IFIT header to detect performance indicators such as transmission delay and packet loss rate.
  • root node A After receiving the multicast service data sent by multicast source A, root node A determines that the current packet loss detection period is the Eth packet loss detection period. If E is an odd number, the multicast service data is processed again. When performing IFIT encapsulation, add the value "1" to the L field; if E is an even number, add the value "0" to the L field when performing IFIT encapsulation of the multicast service data. In this way, the values of the L field in the multicast data packets sent in adjacent packet loss detection periods can be different, while the values of the L field in the multicast data packets sent in the same packet loss detection period can be the same.
  • root node A may also send the cycle identifier of the E-th packet loss detection cycle and the first number of messages corresponding to the E-th packet loss detection cycle to the controller.
  • the number of first packets represents the number of multicast data packets with payloads from multicast source A sent in the E-th packet loss detection cycle.
  • Solution 1 Set the delay detection period:
  • root node A forwards the encapsulated multicast data message, if the D field value of the IFIT header in the multicast data message is 1, it will add the cycle identifier of the current delay detection cycle and the The sending timestamp of the multicast data packet is sent to the controller.
  • the period identifier of the delay detection period is used to indicate which delay detection period the corresponding delay detection period is.
  • the added sending timestamp can be the current timestamp obtained when executing IFIT encapsulation, or it can be the sending timestamp obtained by adding the current timestamp obtained when executing IFIT encapsulation plus the preset delay time, and the preset delay time is preset Set the time elapsed from IFIT encapsulation to sending the corresponding multicast data message.
  • root node A since the IFIT header carries the sending timestamp of the multicast data message, root node A no longer needs to send the sending timestamp of the multicast data message to the controller.
  • Step 303 The leaf node receives the multicast data message through the first path between the leaf node and the main root node.
  • intermediate node B parses the bit string in the multicast data message and updates the bit string according to the entry in BIFT. The updated Only the bit corresponding to leaf node B in the bit string is 1. Then, the intermediate node B sends the updated multicast data message to the leaf node B through the first path. Furthermore, the leaf node B can receive the multicast data message sent by the intermediate node B through the first path.
  • Step 304 The leaf node determines the performance index of the first path based on the IFIT header in the multicast data packet received through the first path.
  • leaf node B determines that the multicast data packet comes from the root node based on the BFIR-ID in the BIER header or the source address in the IPv6 header in the multicast data packet. A. Then, packet loss detection and/or delay detection is performed based on the IFIT header in the multicast data message. The following describes packet loss detection and delay detection respectively:
  • leaf node B After confirming that the multicast data packet comes from root node A, leaf node B determines that the current packet loss detection period is the Qth packet loss detection period. If Q is an odd number, determine whether the value of the L field in the IFIT header of the multicast data packet is 1. If it is determined that the value of the L field is 1, then determine the number of packets corresponding to the Qth packet loss detection cycle recorded plus one. When Q is an odd number, the number of packets corresponding to the Q-th packet loss detection cycle indicates: the IP multicast payload carried from root node A and carried by the Q-th packet loss detection cycle is from multicast source A, The number of multicast data packets whose L field value is 1.
  • Q determines whether the value of the L field in the IFIT of the multicast data packet is 0. If it is determined that the value of the L field is 0, then add the number of packets corresponding to the recorded Qth packet loss detection period. one.
  • the number of packets corresponding to the Q-th packet loss detection cycle indicates: the IP multicast payload carried by root node A and carried from multicast source A has been received in the Q-th packet loss detection cycle. The number of multicast data packets whose L field value is 0.
  • leaf node B can send the currently counted cycle identifier of the Qth packet loss detection cycle and the second number of messages corresponding to the Qth packet loss detection cycle to the controller.
  • the controller After receiving the cycle identifier and the second message number of the Qth packet loss detection cycle sent by leaf node B, the controller queries the third message number corresponding to the Qth packet loss detection cycle sent by root node A. Then, the controller calculates the number of packet losses on the first path based on the number of second packets and the number of third packets. In addition, the controller can also calculate the packet loss rate based on the calculated number of lost packets and the number of third packets. Then, the controller can send the number of packets lost and/or the packet loss rate corresponding to the Qth packet loss detection cycle to leaf node B.
  • the delay detection method can also be different.
  • leaf node B After leaf node B determines that the multicast data packet comes from root node A, if it determines that the value of the D field in the IFIT header of the multicast data packet is 1, it obtains the reception timestamp of the multicast data packet. And determine that the current delay detection period is the W-th delay detection period. Then, leaf node B sends the obtained reception timestamp and the cycle identifier of the W-th delay detection cycle to the controller.
  • the controller After receiving the cycle identifier and reception timestamp of the W-th delay detection cycle sent by leaf node B, the controller queries the sending timestamp corresponding to the W-th delay detection cycle sent by root node A. Then, the controller calculates the time difference between the sending timestamp and the receiving timestamp as the first transmission delay of the first path in the W-th delay detection period. In addition, the controller can also obtain the second transmission delay of the first path in the W-1th delay detection period, and calculate the time difference between the first transmission delay and the second transmission delay as the first path's second transmission delay. Delay jitter. Then, the controller may send the calculated first transmission delay and/or delay jitter to the leaf node B.
  • leaf node B After leaf node B determines that the multicast data message comes from root node A, if it determines that the value of the D field in the IFIT header of the multicast data message is 1, it obtains the sending timestamp carried in the IFIT header and obtains The reception timestamp of this multicast data packet. Then, leaf node B calculates the time difference between the sending timestamp and the receiving timestamp as the third transmission delay of the first path. In addition, leaf node B can also obtain the last calculated fourth transmission delay of the first path, and calculate the time difference between the third transmission delay and the fourth transmission delay as the delay jitter of the first path.
  • the controller can also calculate the transmission delay and/or delay jitter of the first path.
  • the processing of leaf node B and the controller can be as follows:
  • leaf node B After leaf node B determines that the multicast data packet comes from the corresponding main root node (root node A), if it determines that the value of the D field in the IFIT header of the multicast data packet is 1, it obtains the value carried in the IFIT header. Send the timestamp and obtain the reception timestamp of the multicast data packet. Then, leaf node B sends the sending timestamp and receiving timestamp to the controller. After receiving the sending timestamp and receiving timestamp sent by leaf node B, the controller calculates the time difference between the sending timestamp and the receiving timestamp as the third transmission delay of the first path.
  • the controller can also obtain the last calculated fourth transmission delay of the first path, and calculate the time difference between the third transmission delay and the fourth transmission delay as the delay jitter of the first path. Then, the controller sends the calculated third transmission delay and/or delay jitter to leaf node B.
  • Step 305 If it is determined that the first path does not meet the performance requirements according to the performance index of the first path, the leaf node receives the multicast data message sent by the backup root node through the second path.
  • leaf node B determines that the first path does not meet the performance requirements based on the performance index of the first path, it can start receiving multicast data packets sent by the root node B through the second path. And strip the BIER MPLS encapsulation or BIERv6 encapsulation of the multicast data packets received through the second path to obtain the corresponding multicast service data. Then, the obtained multicast service data is forwarded to multicast receiving device B. In addition, leaf node B may discard multicast data packets received through the first path. There are many ways for leaf node B to determine whether the first path meets the performance requirements. Several of them are listed below for explanation:
  • Method 1 Determine whether the first path meets the performance requirements based on the currently obtained performance index of the first path.
  • the performance indicator includes the number of packet losses
  • the performance index includes the packet loss rate
  • the performance index includes transmission delay
  • leaf node B obtains the transmission delay of the first path, if it determines that the transmission delay is greater than the delay threshold, it determines that the first path does not meet the performance requirements.
  • the performance index includes delay jitter
  • leaf node B obtains the delay jitter of the first path, if it determines that the delay jitter is greater than the jitter threshold, it determines that the first path does not meet the performance requirements.
  • Method 2 Based on the performance indicators of the first path obtained multiple times in a row, comprehensively determine whether the first path meets the performance requirements.
  • Method 2 can be implemented in a variety of ways. Two of them are listed below for explanation:
  • the performance index includes the number of packet losses
  • leaf node B when the performance index includes the number of packet losses, after leaf node B obtains the number of packet losses of the first path, it can obtain the number of packet losses of the first path obtained K times consecutively before this time, and Based on the number of packet losses of the first path obtained this time and the number of packet losses of the first path obtained K times before this time, calculate the average number of packet losses. If the average number of packet losses is greater than the packet loss threshold, then determine The first path does not meet performance requirements. For another example, when the performance index includes the packet loss rate, after leaf node B obtains the packet loss rate of the first path, it can obtain the packet loss rate of the first path obtained K times consecutively before this time.
  • the average packet loss rate is calculated. If the average packet loss rate is greater than the packet loss rate threshold, the first path is determined Does not meet performance requirements. For another example, when the performance index includes transmission delay, after leaf node B obtains the transmission delay of the first path, it can obtain the transmission delay of the first path obtained K times consecutively before this time. And based on the transmission delay of the first path obtained this time and the transmission delay of the first path obtained K times before this time, the average transmission delay is calculated. If the average transmission delay is greater than the delay threshold, then determine The first path does not meet performance requirements.
  • the performance index includes delay jitter
  • leaf node B when leaf node B obtains the delay jitter of the first path, it can obtain the delay jitter of the first path obtained K times consecutively before this time. And based on the delay jitter of the first path and the delay jitter of the first path obtained K times before this time, the average delay jitter is calculated. If the average delay jitter is greater than the jitter threshold, it is determined that the first path does not meet the Performance requirements.
  • K is a positive integer greater than or equal to 1, which can be configured by technicians according to actual needs.
  • the performance index includes the number of packet losses
  • leaf node B obtains the number of packet losses of the first path
  • it can obtain the number of packet losses of the first path obtained K times consecutively before this time. If The packet loss number of the first path obtained K+1 consecutive times is greater than the packet loss threshold, and it is determined that the first path does not meet the performance requirements.
  • the performance index includes the packet loss rate
  • leaf node B obtains the packet loss rate of the first path, it can obtain the packet loss rate of the first path obtained K times consecutively before this time. If the packet loss rate of the first path obtained for K+1 consecutive times is greater than the packet loss rate threshold, it is determined that the first path does not meet the performance requirements.
  • the performance index when the performance index includes transmission delay, after leaf node B obtains the transmission delay of the first path, it can obtain the transmission delay of the first path obtained K times consecutively before this time. If the transmission delays of the first path obtained for K+1 consecutive times are greater than the delay threshold, it is determined that the first path does not meet the performance requirements.
  • the performance index when the performance index includes delay jitter, after leaf node B obtains the delay jitter of the first path, it can obtain the delay jitter of the first path obtained K times consecutively before this time. If the delay jitter of the first path obtained for K+1 consecutive times is greater than the jitter threshold, it is determined that the first path does not meet the performance requirements.
  • Method 3 Determine whether the first path meets the performance requirements based on the performance index of the first path obtained within a single flow switching detection cycle.
  • Leaf node B can be configured with a flow switching detection period, and the length of this single flow switching detection period can be longer than a single delay detection period and a single packet loss detection period.
  • Leaf node B can collect statistics on the performance indicators obtained during a single flow switching detection cycle. The statistical methods for different performance indicators can be different. For example, if the performance index includes the number of packet losses, then each time a flow switching detection is completed, leaf node B can accumulate the number of packet losses on the first path obtained during the flow switching detection period. For another example, if the performance index includes packet loss rate, then each time a flow switching detection is completed, leaf node B can average the packet loss rate of the first path obtained during the flow switching detection period.
  • leaf node B can average the transmission delay of the first path obtained during the flow switching detection period. For another example, if the performance index includes delay jitter, then, whenever a flow switching detection is completed, leaf node B can average the delay jitter obtained during the flow switching detection period.
  • leaf node B determines that at least one of the performance indicators of the first path obtained from the statistics of the flow switching detection cycle is greater than the corresponding threshold value of the item, it determines that the first path does not meet the performance requirements.
  • performance indicators include packet loss number, packet loss rate, transmission delay, delay jitter, etc.
  • Each of the packet loss number, packet loss rate, transmission delay, delay jitter, etc. has a corresponding threshold. Whenever a flow switching detection is completed, if leaf node B determines that at least one of the packet loss number, packet loss rate, transmission delay, and delay jitter of the first path counted during the flow switching detection period is greater than the corresponding threshold, Then it is determined that the first path does not meet the performance requirements.
  • leaf node B Whenever a flow switching detection is completed, leaf node B performs statistics on the performance indicators of the first path obtained during the flow switching detection period, and obtains the statistics of Y consecutive flow switching detection periods before the flow switching detection period. Performance indicators of the first path. If leaf node B determines that each of the Y+1 flow switching detection periods has at least one performance index greater than the corresponding threshold, it determines that the first path does not meet the performance requirements.
  • Y is a positive integer greater than or equal to 1, which can be configured by technical personnel according to actual needs.
  • leaf node B can make statistics on the performance indicators of the first path obtained during the flow switching detection period, and obtain the Y consecutive flow switching detection periods before the flow switching detection period, respectively. The performance indicators of the first path obtained by statistics. Then, leaf node B performs comprehensive statistics on the performance indicators obtained from the Y+1 flow switching detection cycles. If at least one of the performance indicators obtained by comprehensive statistics of Y+1 flow switching detection cycles is greater than the corresponding threshold of the item, it is determined that the first path does not meet the performance requirements.
  • the following is an example of the above “comprehensive statistics”.
  • leaf node B can accumulate the number of lost packets obtained from Y+1 flow switching detection cycles. For another example, if the performance index includes the packet loss rate, then leaf node B can average the packet loss rates obtained from Y+1 flow switching detection cycles. For another example, if the performance index includes transmission delay, then leaf node B can average the transmission delays obtained from Y+1 flow switching detection cycles. For another example, if the performance index includes delay jitter, then leaf node B can average the delay jitter obtained by counting Y+1 consecutive flow switching detection cycles.
  • the leaf node can also determine the performance index of the second path.
  • the specific determination method is the same as the method of determining the performance index of the first path in steps 301-304 above. are the same and will not be repeated here.
  • determining the performance index of the second path and determining the performance index of the first path may be performed simultaneously.
  • step 305 determines whether the performance indicated by the performance index of the second path is better than the performance indicated by the performance index of the first path. If the performance of the second path is better If the performance of the first path is insufficient, step 305 is continued.
  • leaf node B determines the performance index of the first path and determines the performance index of the second path. If it is determined that each item in the performance index of the second path is smaller than the performance index of the first path, it is determined that the performance of the second path is better than the performance of the first path.
  • the following steps can also be performed after performing step 305: Determine the second path Whether the performance indicators meet the performance requirements. If the performance indicators of the second path do not meet the performance requirements, after the first period of time, the multicast data packets received through the first path will be re-received, and the multicast data received through the first path will be processed.
  • the message strips off the BIER MPLS encapsulation or BIERv6 encapsulation, obtains the corresponding multicast service data, and forwards the obtained multicast service data to the corresponding multicast receiving device.
  • the first duration can be pre-configured in the leaf node by technicians according to actual needs.
  • the leaf node reports to the network management device.
  • Alarm information for example, the second duration is 1 hour and the alarm threshold is 5.
  • the alarm information is used to indicate that both the first path and the second path are faulty, so as to prompt relevant personnel to locate and repair the fault as soon as possible.
  • Both the second duration and the alarm threshold can be pre-configured in the leaf nodes by technicians based on actual needs.
  • the controller may also present a first path between the main root node and the leaf nodes, and a second path between the backup root node and the leaf nodes. After receiving the alarm signal reported by the leaf node, relevant personnel can quickly locate the fault and perform repairs through the overlap between the first path and the second path presented by the controller.
  • IFIT detection is based on the actual multicast data flow, and the performance indicators obtained by the detection are more accurate.
  • Method 2 for determining performance indicators Obtain the performance indicators of the path based on the enhanced media delivery quality index (EMDI) technology:
  • the processing flow of multicast data message sending in the embodiment of the present application may include the following steps. The following is combined with the implementation scenario shown in Figure 2, with root node A as leaf node B.
  • the main root node of , root node B is the backup root node of leaf node B as an example.
  • the steps shown in Figure 3 are explained:
  • Step 401 Enable the EMDI detection function on the main root node and leaf nodes.
  • the EMDI detection function can be configured on root node A and leaf node B in advance.
  • root node A receives an EMDI detection command.
  • the EMDI detection command may include multicast source information.
  • the multicast source information is used to instruct the primary root node to perform EMDI detection on the multicast service data of multicast source A.
  • root node A after root node A receives the multicast service data sent by multicast source A, when performing BIER MPLS encapsulation or BIERv6 encapsulation of the multicast service data, it can add the value "1" to the specified bit in the BIER header. To indicate that the corresponding multicast data packet can be used for EMDI detection.
  • the specified bit may be any unused bit in the Operation and Maintenance (OAM) field or the Reserved (RSV) field in the BIER header.
  • Leaf node B receives the EMDI detection command and enables the EMDI detection function. In this way, after leaf node B receives a multicast data packet with the specified bit in the BIER header being 1, it can perform EMDI detection based on the multicast data packet.
  • the above-mentioned EMDI detection instructions can be implemented by a configuration issued by a controller (controller) or configured statically. When the controller issues the configuration, the EMDI detection instructions can be issued based on the network configuration protocol (network configuration protocol, NETCONF), simple network management protocol (simple network management protocol), etc. In addition, when implemented based on NETCONF, NETCONF combined with the YANG model can be used to implement the issuance of EMDI detection instructions.
  • Step 402 The primary root node forwards the multicast data packet through the first path, where the multicast data packet includes a Real-time Transport Protocol (RTP) header and/or a transport stream (TS) head.
  • RTP Real-time Transport Protocol
  • TS transport stream
  • the multicast service data sent by multicast source A to root node A may be encapsulated based on the RTP protocol and/or TS protocol. Then, the data received by root node A and root node B includes the RTP header and/or TS. multicast service data in the header. Root node A receives multicast service data from multicast source A. Then, BIER MPLS encapsulation or BIERv6 encapsulation is performed on the received multicast service data to obtain the multicast data message. In this way, the obtained multicast data message includes a BIER header, an RTP header (and/or a TS header). After completing the encapsulation, root node A forwards the obtained multicast data message to intermediate node A through the first path according to the saved entry in BIFT.
  • a format of a multicast data message based on BIER MPLS encapsulation and including an RTP header but not a TS header is shown, including an Ethernet header, a BIER header and an IP multicast payload, where the IP multicast payload includes the Internet Protocol (internet protocol) header, user datagram protocol (UDP) header/transmission control protocol (TCP) header, payload and cyclic redundancy check (CRC) data.
  • the RTP header can include the following fields:
  • FIG 8 a format of a multicast data message based on BIERv6 encapsulation and including an RTP header but not a TS header is shown.
  • the format of the RTP header is the same as the format of the RTP header in Figure 7. Here No longer.
  • a format of a multicast data message based on BIER MPLS encapsulation that includes a TS header but does not include an RTP header is shown.
  • a multicast data message can include multiple TS packets (packets). Each TS packet includes a TS header and payload.
  • the TS header can include the following fields:
  • a format of a multicast data message based on BIERv6 encapsulation and including a TS header but not an RTP header is shown.
  • the format of the TS header is the same as the format of the TS header in Figure 9. Here No longer.
  • a format of a multicast data message based on BIER MPLS encapsulation and including an RTP header and a TS header is shown.
  • the format of the TS header is the same as the format of the TS header in Figure 9.
  • the RTP header The format is the same as the format of the RTP header shown in Figure 7, and will not be described again here.
  • a format of a multicast data message based on BIERv6 encapsulation and including an RTP header and a TS header is shown.
  • the format of the TS header is the same as the format of the TS header in Figure 9.
  • the RTP header The format is the same as the format of the RTP header shown in Figure 7, and will not be described again here.
  • Step 403 The leaf node receives the multicast data message through the first path between the leaf node and the main root node.
  • Step 404 The leaf node determines the performance index of the first path based on the RTP header or TS header in the multicast data packet received through the first path.
  • leaf node B After leaf node B receives the multicast data packet through the first path, it determines that the value of the specified bit in the BIER header is 1, indicating that EMDI detection is to be performed on the multicast data packet. Leaf node B obtains the first sequence number in the RTP header of the multicast data message, and obtains the second sequence number in the RTP header of the previous multicast data message received through the first path. Leaf node B calculates the absolute value of the difference between the first sequence number and the second sequence number, and then subtracts one from the calculated absolute value of the difference to obtain the number of lost packets between the two multicast data packets. Among them, the multicast data packet received through the first path refers to the multicast data packet sent by the main root node (root node A) and the IP multicast payload comes from multicast source A.
  • leaf node B can also be configured with a flow switching detection period. Whenever a flow switching detection period ends, leaf node B counts the total number of lost packets of multicast data packets received through the first path during the flow switching detection period, and obtains the actual number of packets lost through the first path during the flow switching detection period. The actual number of multicast data packets received. Then, the sum of the above total number of lost packets and the above actual number of packets is calculated as the expected number of multicast data packets expected to be received through the first path during the flow switching detection period. Then, by calculating the ratio of the total number of packets lost to the expected number of packets, the packet loss rate of the first path within the flow switching detection period can be obtained.
  • leaf node B After leaf node B obtains the first sequence number in the RTP header of the multicast data message, it obtains the multicast data received through the first path during the current flow switching detection period.
  • the maximum sequence number carried in the packet is compared with the size of the first sequence number and the maximum sequence number. If the first sequence number is smaller than the maximum sequence number, it is determined that there is disorder, and the flow is switched to detect the disorder of the first path in the cycle. Count plus one.
  • leaf node B After leaf node B receives the multicast data packet through the first path, it determines that the value of the specified bit in the BIER header is 1, indicating that EMDI detection is to be performed on the multicast data packet.
  • Leaf node B sequentially obtains and records the first count value of the continuity_counter field in the TS header of the multicast data packet (the count value may also be called the sequence number).
  • the order of acquisition can be: the order of TS headers in the multicast data packet from front to back. In the multicast data packet, the TS headers in the front are leafed out before the TS headers in the back. Node B receives it.
  • the previous TS packet received through the first path may belong to the same multicast data packet as the TS packet where the first count value is located, or may belong to different multicast data packets.
  • the TS packet received through the first path refers to the TS packet sent by multicast source A and entering the BIER domain with the main root node (root node A) as the BIER entry router.
  • leaf node B Whenever a flow switching detection period ends, leaf node B counts the total number of packet losses of TS packets received through the first path during the flow switching detection period, and obtains the actual number of TS packets received through the first path during the flow switching detection period. The actual number of packages. Then, the sum of the total number of lost packets and the actual number of packets is calculated as the expected number of TS packets expected to be received through the first path during the flow switching detection period. Then, by calculating the ratio of the total number of packets lost and the number of expected packets, the packet loss rate of the first path within the flow switching detection period can be obtained.
  • Leaf node B sequentially obtains and records the first count value of the continuity_counter field in the TS header of the multicast data packet. Whenever the first count value in a TS header is obtained and recorded, the maximum count value in the TS header received through the first path within the current stream switching detection period is obtained. Compare the first count value and the maximum count value. If the first count value is less than the maximum count value, it is determined that there is an out-of-order sequence, and the out-of-order number of the first path in the flow switching detection period is increased by one. When a flow switching detection period ends, the ratio of the number of out-of-order packets on the first path in the flow switching detection period and the number of expected packets is calculated to obtain the out-of-order rate of the first path in the flow switching detection period.
  • Step 405 If it is determined that the first path does not meet the performance requirements according to the performance index of the first path, the leaf node receives the multicast data message sent by the backup root node through the second path.
  • leaf node B determines that the first path does not meet the performance requirements based on the performance index of the first path, it can start receiving multicast data packets sent by the root node B through the second path. And strip the BIER MPLS encapsulation or BIERv6 encapsulation of the multicast data packets received through the second path to obtain the corresponding multicast service data. Then, the obtained multicast service data is forwarded to multicast receiving device B. In addition, leaf node B may discard multicast data packets received through the first path. There are many ways for leaf node B to determine whether the first path meets the performance requirements. Several of them are listed below for explanation:
  • Method 1 Whenever a flow switching detection period ends, if leaf node B determines that at least one of the performance indicators of the first path during the flow switching detection period is greater than the corresponding threshold, it determines that the first path does not meet the performance requirements. need.
  • performance indicators include packet loss number, packet loss rate, out-of-order number, out-of-order rate, etc.
  • Each of the number of packet loss, packet loss rate, out-of-order number, out-of-order rate, etc. has a corresponding threshold.
  • leaf node B calculates the performance index of the first path obtained during the flow switching detection period, and obtains the Y consecutive flow switching detection periods before the flow switching detection period, respectively. The calculated performance index of the first path. If leaf node B determines that each of the Y+1 flow switching detection periods has at least one performance index greater than the corresponding threshold, it determines that the first path does not meet the performance requirements.
  • leaf node B can calculate the performance index of the first path obtained during the flow switching detection period, and obtain the Y consecutive flow switching detection periods before the flow switching detection period, respectively. The calculated performance index of the first path. Then, leaf node B performs comprehensive statistics on the performance indicators obtained from the Y+1 flow switching detection cycles. If at least one of the performance indicators obtained by comprehensive statistics of Y+1 flow switching detection cycles is greater than the corresponding threshold of the item, it is determined that the first path does not meet the performance requirements. The following is an example of the above “comprehensive statistics”.
  • leaf node B can calculate the average of the number of packet losses obtained from Y+1 flow switching detection cycles. For another example, if the performance index includes the packet loss rate, then leaf node B can average the packet loss rates calculated separately in Y+1 flow switching detection cycles. For another example, if the performance index includes the out-of-order number, then leaf node B can accumulate the out-of-order numbers calculated separately in Y+1 flow switching detection cycles. For another example, if the performance index includes the out-of-order rate, then leaf node B can average the out-of-order rates calculated for Y+1 consecutive flow switching detection cycles.
  • the leaf node can also determine the performance index of the second path.
  • the specific determination method is the same as the method of determining the performance index of the first path in steps 401-404 above. are the same and will not be repeated here.
  • determining the performance index of the second path and determining the performance index of the first path may be performed simultaneously.
  • step 405 before performing the above-mentioned step 405, the following steps may be performed: determine whether the performance indicated by the performance index of the second path is better than the performance indicated by the performance index of the first path. If the performance of the second path is better, If the performance of the first path is insufficient, step 405 is continued.
  • leaf node B determines the performance index of the first path and determines the performance index of the second path. If it is determined that each item in the performance index of the second path is smaller than the performance index of the first path, it is determined that the performance of the second path is better than the performance of the first path.
  • the following steps can also be performed after performing step 405: Determine the second path Whether the performance indicators meet the performance requirements. If the performance indicators of the second path do not meet the performance requirements, after the first period of time, the multicast data packets received through the first path will be re-received, and the multicast data received through the first path will be processed.
  • the message strips off the BIER MPLS encapsulation or BIERv6 encapsulation, obtains the corresponding multicast service data, and forwards the obtained multicast service data to the corresponding multicast receiving device.
  • the first duration can be pre-configured in the leaf node by technicians according to actual needs.
  • the leaf node reports to the network management device.
  • Alarm information for example, the second duration is 1 hour and the alarm threshold is 5.
  • the alarm information is used to indicate that both the first path and the second path are faulty, so as to prompt relevant personnel to locate and repair the fault as soon as possible.
  • Both the second duration and the alarm threshold can be pre-configured in the leaf nodes by technicians based on actual needs.
  • the controller may also present a first path between the main root node and the leaf nodes, and a second path between the backup root node and the leaf nodes. After receiving the alarm signal reported by the leaf node, relevant personnel can quickly locate the fault and perform repairs through the overlap between the first path and the second path presented by the controller.
  • Method 3 for determining performance indicators Intermediate node statistics and the number of lost packets on the link between upstream nodes are carried by the multicast data packet to the leaf node.
  • the leaf node obtains the root node and the number of lost packets carried in the multicast data packet. The number of lost packets on the first path between leaf nodes.
  • the processing flow of multicast data message sending in the embodiment of the present application may include the following steps. The following is combined with the implementation scenario shown in Figure 2, with root node A as leaf node B.
  • the main root node of , root node B is the backup root node of leaf node B as an example.
  • the steps shown in Figure 13 are explained:
  • Step 501 The main root node sends the multicast data message through the first path.
  • root node A After receiving the multicast service data sent by multicast source A, root node A encapsulates the multicast service data to obtain the first multicast data message. Then, the root node A forwards the first multicast data message to the intermediate node A through the first path according to the saved entry in the BIFT.
  • root node A can perform BIER MPLS encapsulation or BIERv6 encapsulation on the received multicast service data to obtain the first multicast data message, which includes a BIER header.
  • root node A performs BIER MPLS encapsulation or BIERv6 encapsulation, it adds an initial value to the field used to carry the number of lost packets in the BIER header.
  • the initial value can also be different depending on the field used to carry the number of lost packets.
  • the initial values added to the different fields carrying the number of lost packets will be explained. The following describes the fields used to carry the number of lost packets in the BIER header under the two types of encapsulation.
  • the BIER header can include the following fields:
  • the BIER header needs to be extended to carry the number of lost packets in the extension field.
  • 4 bytes can be extended in front of the bit string field, and multiple bits can be selected from the extended 4 bytes to carry the number of packet loss.
  • the last one or two bytes among these four bytes can be selected to carry the packet loss number.
  • the actual number of lost packets can be divided by the specified coefficient and rounded, and then carried in this byte.
  • the specified coefficient can be configured by technicians according to actual needs. For example, the specified coefficient is 20.
  • the BIERv6 encapsulated multicast data message mainly consists of an IPv6 header, an IPv6 extension header including a BIER header, and an IP multicast payload.
  • IPv6 header mainly consists of an IPv6 header, an IPv6 extension header including a BIER header, and an IP multicast payload.
  • Table 5 the following fields can be included in the IPv6 header:
  • the IPv6 extension header can include the BIER header and the fields shown in Table 6 below:
  • a total of 12 bits of TS+S+TTL can be used to carry the actual number of lost packets.
  • S+TTL can be used to identify the number of lost packets.
  • the TTL value represents the actual number of packets lost; when S is 1, the TTL value multiplied by the specified coefficient represents the actual number of packets lost.
  • the specified coefficient may be 20.
  • 20 bits of Entropy can be used to carry the actual number of lost packets.
  • 16 bits of BFIR-ID are used to carry the actual number of lost packets.
  • the initial values of the other fields used to carry the number of lost packets can be 0.
  • the initial value of the S field if configured to carry the actual number of lost packets, , then set the initial value of the S field to 0. If configured not to carry the actual number of lost packets, set the initial value of the S field to 1.
  • Step 502 The intermediate node records the number of lost packets on the link between the intermediate node and the upstream node.
  • the upstream node may be an intermediate node or a root node.
  • the incoming interface of intermediate node A performs Cyclic Redundancy Check (CRC) on received packets (including multicast data packets, unicast packets, etc.), and counts the incoming interface based on the check results.
  • CRC Cyclic Redundancy Check
  • the number of packet losses counted for each incoming interface is always accumulated.
  • the multicast service module of intermediate node A obtains the current statistical first packet loss number from the incoming interface, and calculates the first packet loss number and the number obtained in the previous statistical period. The difference between the second number of lost packets counted by the incoming interface is obtained to obtain the new number of lost packets on the incoming interface.
  • the multicast service module sends the new packet loss number of the incoming interface to the forwarding chip of the intermediate node.
  • the forwarding chip records the number of new lost packets on the incoming interface.
  • the multicast service module is a software module that performs multicast services.
  • the incoming interface of intermediate node B also performs Cyclic Redundancy Check (CRC) on the received packets (including multicast data packets, unicast packets, etc.), and counts the incoming packets based on the check results.
  • CRC Cyclic Redundancy Check
  • the number of packet losses counted for each incoming interface is always accumulated.
  • the multicast service module of intermediate node B obtains the current third packet loss number from the incoming interface, and calculates the third packet loss number and the number obtained in the previous statistical period.
  • the difference between the fourth number of lost packets counted by the incoming interface is obtained, and the new number of lost packets on the incoming interface is obtained.
  • the multicast service module sends the new packet loss number of the incoming interface to the forwarding chip of the intermediate node.
  • the forwarding chip records the number of new lost packets on the incoming interface.
  • leaf node B also records the number of packet losses in the link with the upstream node (intermediate node B) according to the processing of step 502.
  • Step 503 The intermediate node receives the multicast data packet, and updates the value in the field used to carry the number of lost packets in the BIER header of the multicast data packet.
  • intermediate node A receives the first multicast data packet through the first incoming interface. Then, the forwarding chip of intermediate node A queries whether the number of new packet losses on the first incoming interface is recorded. If the number of new packet losses on the first incoming interface is recorded, the number of new lost packets on the first incoming interface is recorded. The number is accumulated into the field used to carry the packet loss number in the BIER header of the first multicast data packet to obtain the second multicast data packet. In addition, the forwarding chip pair deletes the recorded number of new packet losses on the first incoming interface. Then, the intermediate node A sends the second multicast data message to the intermediate node B according to the entry in the BIFT.
  • the intermediate node B receives the second multicast data message through the second incoming interface. Then, the forwarding chip of intermediate node B queries whether the number of new packet losses on the second incoming interface is recorded. If the number of new packet losses on the second incoming interface is recorded, the recorded number of new packet losses on the second incoming interface is recorded. The number is accumulated into the field used to carry the number of lost packets in the BIER header of the second multicast data packet to obtain the third multicast data packet. In addition, the forwarding chip pair deletes the recorded number of new packet losses on the first incoming interface. Then, the intermediate node A sends the third multicast data message to the leaf node B according to the entry in the BIFT.
  • the newly queried number of lost packets can be directly accumulated into the field used to carry the number of lost packets in the BIER header; if the BIER header carries the number of packets lost, divide by the specified For the number of lost packets after the coefficient, the newly queried number of lost packets must be divided by the specified coefficient and rounded up, and then accumulated into the field used to carry the number of lost packets in the BIER header.
  • Step 504 The leaf node receives the multicast data message through the first path, and determines the number of lost packets on the first path based on the number of lost packets carried in the BIER header of the multicast data message.
  • leaf node B receives the third multicast data packet through the third incoming interface. Obtain the number of lost packets carried in the BIER header of the third multicast data packet, and query the number of new lost packets on the third incoming interface. Based on the number of lost packets carried and the number of new lost packets queried, determine the first The number of packet losses on the path. In addition, after calculating the number of packet losses on the first path, the recorded number of new packet losses on the third incoming interface can be deleted.
  • the BIER header carries the actual number of lost packets
  • the carried number of lost packets and the newly queried number of lost packets can be directly added together as the number of lost packets on the first path;
  • the BIER header carries the number of lost packets divided by the specified For the number of lost packets after the coefficient, you can add the number of lost packets carried and the new number of lost packets queried, and then multiply them by the specified coefficient to obtain the number of lost packets on the first path.
  • leaf node B can be configured with a flow switching detection period, and accordingly, leaf node B can count the number of packet losses on the first path according to the flow switching detection period.
  • each time leaf node B receives a multicast data packet through the third incoming interface it obtains and records the first packet loss number carried in the BIER header of the multicast data packet.
  • the first number of packet losses recorded in the flow switching detection period and the new second number of packet losses recorded in the third reception period recorded in the flow switching detection period are added to obtain the Number of packets lost on the first path during the flow switching detection period.
  • the recorded number of newly added packet losses on the third incoming interface can be deleted.
  • Step 505 If the performance of the first path does not meet the performance requirements, the leaf node receives the multicast data packet sent by the backup root node through the second path.
  • the method for determining whether the performance of the first path meets the performance requirements can be as follows:
  • leaf node B After obtaining the packet loss number of the first path, leaf node B determines that the packet loss number is greater than the packet loss threshold, and then determines that the first path does not meet the performance requirements.
  • leaf node B after leaf node B obtains the number of packet losses of the first path, it can obtain the number of packet losses of the first path calculated K times consecutively before this time. And based on the number of packet losses of the first path calculated this time and the number of packet losses of the first path calculated K times before this time, the average number of packet losses is calculated. If the average number of packet losses is greater than the packet loss threshold, it is determined that the first path does not meet the performance requirements.
  • leaf node B When leaf node B is configured with a flow switching detection period, the method to determine whether the performance of a path meets the performance requirements can be as follows:
  • leaf node B calculates the number of packets lost on the first path during the flow switching detection period. If it is determined that the number of packets lost is greater than the packet loss threshold, it is determined that the first path does not meet the performance requirements.
  • leaf node B calculates the number of packet losses on the first path during the flow switching detection period, and obtains the calculated number of consecutive Y flow switching detection periods before the flow switching detection period. Number of lost packets on the first path. Then, leaf node B calculates the average number of packet losses based on the number of packet losses calculated during Y+1 flow switching detection cycles. If the average number of packet losses is greater than the packet loss threshold, it is determined that the first path does not meet the performance requirements.
  • leaf node B calculates the number of packet losses on the first path during the flow switching detection period, and obtains the Y consecutive flow switching detection periods before the flow switching detection period and calculates them respectively. The number of packet losses on the first path. If the number of packet losses calculated during these Y+1 flow switching detection cycles is greater than the packet loss threshold, it is determined that the first path does not meet the performance requirements.
  • the leaf node can also determine the performance index of the second path.
  • the specific determination method is the same as the method of determining the performance index of the first path in steps 401-404 above. are the same and will not be repeated here.
  • determining the performance index of the second path and determining the performance index of the first path may be performed simultaneously.
  • step 505 determine whether the performance of the second path is better than the performance of the first path, and if the performance of the second path is better than the performance of the first path, continue execution. Step 505.
  • leaf node B determines the number of packet losses on the first path and determines the number of packet losses on the second path. If it is determined that the number of packet losses of the second path is less than the number of packet losses of the first path, it is determined that the performance of the second path is better than the performance of the first path.
  • the following steps can also be performed after performing step 505: Determine the second path Whether the performance indicators meet the performance requirements. If the performance indicators of the second path do not meet the performance requirements, after the first period of time, the multicast data packets received through the first path will be re-received, and the multicast data received through the first path will be processed.
  • the message strips off the BIER MPLS encapsulation or BIERv6 encapsulation, obtains the corresponding multicast service data, and forwards the obtained multicast service data to the corresponding multicast receiving device.
  • the first duration can be pre-configured in the leaf node by technicians according to actual needs.
  • the controller may also present a first path between the main root node and the leaf nodes, and a second path between the backup root node and the leaf nodes. After receiving the alarm signal reported by the leaf node, relevant personnel can quickly locate the fault and perform repairs through the overlap between the first path and the second path presented by the controller.
  • multicast data packets are used as the carrier of performance indicators.
  • the performance indicators of the path between the root node and the leaf node are calculated from all the messages transmitted on the path.
  • These packets include not only multicast data packets but also unicast packets, which can detect path failures in a more timely manner and switch multicast data flows in a timely manner.
  • Method 1 When planning the first path between a leaf node and the main root node and the second path to the backup root node, you can configure it on each node in the BIER domain one by one. During the configuration, specify the destination node as the leaf node. The outbound interface and next hop destination address for forwarding multicast data packets. Through such hop-by-hop configuration, the first path and the second path can be strictly planned so that the two paths do not have the same link.
  • Method 2 You can specify a path between the main root node and leaf nodes and a second path between the backup root node and leaf nodes on the controller interface, and uniformly issue configurations to each node on the path through the controller.
  • the controller uniformly specifies paths and automatically delivers configurations, making it more operable and deployable for users.
  • Method 3 The network topology of the BIER domain can be collected by the controller.
  • the controller automatically calculates the path based on the network topology, the location of the main root node, the location of the backup root node, and the location of the leaf nodes.
  • the first path and the second path are constrained. The same link does not exist. Then, configure the calculated first path and the second path to each node that the path passes through through automatic configuration.
  • Method 4 Implemented through flexible algorithm (FlexAlgo).
  • One FlexAlgo slice carries multicast data packets from the main root node to the leaf nodes. That is, the first path between the main root node and the leaf nodes belongs to this FlexAlgo slice.
  • Another FlexAlgo slice carries multicast data packets from the backup root node to the leaf nodes. That is, the second path between the backup root node and the leaf nodes belongs to this FlexAlgo slice.
  • Metric-Type represents the metric value when calculating paths in FlexAlgo slices, such as delay, cost, etc.
  • Calc-Type represents the algorithm used when calculating paths in FlexAlgo slices, such as the Shortest Path First (SPF) algorithm.
  • Constraint can be a link constraint, which restricts the links included in FlexAlgo slices.
  • Constraint includes link 1, link 2, link 3, link 4, link 5, link 6, and link 7 in Figure 16;
  • constraint includes link 11, link 12, link 13, link 14, link 15, link 16, and link 17 in Figure 16;
  • the execution steps of this method may also be different.
  • Method 1 Use the upstream node as the execution subject to determine whether the performance indicators meet the performance requirements.
  • the upstream nodes can be other nodes in the BIER domain except leaf node A, leaf node B, leaf node C and leaf node D
  • the downstream nodes can be other nodes in the BIER domain except root node A and root node Nodes other than B.
  • the upstream node is root node A
  • the corresponding downstream node is intermediate node A
  • the upstream node is intermediate node A
  • the upstream node is intermediate node B
  • the upstream node is intermediate node B
  • the corresponding downstream node is leaf node B.
  • the method may include the following processing steps:
  • the downstream node can be an intermediate node or a leaf node
  • the upstream node can be a root node or an intermediate node.
  • the performance indicators may include at least one of packet loss rate, transmission delay, delay jitter, out-of-order, etc.
  • the downstream node when there are multiple equal-cost paths between the upstream node and the downstream node, the downstream node can use the Bidirectional Forwarding Detection (BFD) to periodically detect and detect the equal-cost paths between the upstream nodes. Performance. Then, the performance indicators of each detected equal-cost path are reported to the upstream node through the corresponding interface.
  • BFD Bidirectional Forwarding Detection
  • the downstream node can periodically detect the performance indicators of the links where each member interface of the ETH-Trunk bundled interface is located through BFD. Then, the detected performance indicators are reported to the upstream node through the corresponding member interface.
  • the performance indicators can be carried in BFD messages and reported to the upstream node.
  • Step 902 The upstream node determines whether the received performance indicators meet the performance requirements.
  • performance indicators include packet loss rate, transmission delay, delay jitter, out-of-order, etc. Each performance indicator corresponds to a threshold. If the performance indicator is greater than the corresponding threshold, it is determined that the performance indicator does not meet the performance requirements.
  • Step 903 When forwarding multicast data packets, the upstream node avoids links that do not meet performance requirements.
  • the upstream node when there are multiple equal-cost paths between the upstream node and the downstream node, can query multiple outbound interfaces when forwarding multicast data packets, and each outbound interface corresponds to an equal-cost path.
  • the upstream node determines whether among the multiple interfaces queried, there is an outbound interface whose link does not meet the performance requirements. If it is determined that there is an outbound interface whose link does not meet the performance requirements, then among the outbound interfaces other than the outbound interface, Select an outbound interface as the outbound interface for sending multicast data packets.
  • the upstream node forwards multicast data packets, if the outbound interface is queried to be an ETH-Trunk bundled interface, it will determine the ETH-Trunk bundled interface.
  • the member interfaces is there a member interface whose link does not meet the performance requirements? If it is determined that the link of a certain member interface does not meet the performance requirements, select a member interface among the member interfaces other than the member interface as The outbound interface for multicast data packets.
  • Method 2 Use the downstream node as the execution subject to determine whether the performance indicators meet the performance requirements.
  • the method may include the following processing steps:
  • Step 1001. Detect downstream nodes and perform performance indicators of links between upstream nodes.
  • Step 1002 The downstream node determines that the link does not meet the performance requirements, and sends link failure indication information to the upstream node through the link.
  • the link fault indication information is used to indicate that the link does not meet the performance requirements.
  • the downstream node determines whether the link meets the performance requirements based on the detected performance indicators.
  • link failure indication information is sent to the upstream node through the link.
  • the link failure indication information can be carried in the BFD message and reported to the upstream node.
  • Step 1003 When forwarding multicast data packets, the upstream node avoids links that do not meet performance requirements.
  • step 1001 is the same as the method of detecting performance indicators in step 901.
  • the method of judging whether the performance requirements are met in step 1002 is the same as the method of judging whether the performance requirements are met in step 902.
  • the processing of step 1003 is the same as that of step 903. The processing is the same and will not be described again here.
  • the receiving module 1910 is configured to receive the first multicast data message through the first path.
  • the first multicast data message includes a first parameter, and the first parameter is used to detect performance indicators; specifically, the above step 303 can be implemented. , the receiving function in 403, 504, and other implicit steps.
  • the acquisition module 1920 is used to obtain the first performance index according to the first parameter; specifically, the acquisition function in the above steps 304, 404, and 504 can be implemented, as well as other implicit steps.
  • the receiving module 1910 is also configured to determine that the first path does not meet the performance requirements based on the first performance index, and receive the second multicast data message through the second path.
  • the acquisition functions in the above steps 305, 405, and 505 can be implemented, as well as other implicit steps.
  • the first multicast data message includes a BIER header and an IFIT header, and the IFIT header is used to carry the first parameter.
  • the first multicast data message includes a BIER header and an RTP header, and the RTP header is used to carry the first parameter;
  • the first multicast data message includes a BIER header and a TS header, and the TS header is used to carry the first parameter.
  • the first multicast data packet is a BIER packet based on IPv6 encapsulation, and the BIER header in the first multicast data packet is used to carry the first parameter.
  • the entropy field in the BIER header is used to carry the first parameter
  • the BFIR ID field in the BIER header is used to carry the first parameter
  • the TC field, S field and TTL field in the BIER header carry the first parameter
  • the S field and TTL field in the BIER header are used to carry the first parameter.
  • the first multicast data packet is a BIER packet based on MPLS encapsulation, and the BIER header in the first multicast data packet is used to carry the first parameter.
  • the first parameter includes a first serial number
  • the obtaining module 1920 is used to:
  • the first parameter includes a sending timestamp
  • the obtaining module 1920 is used to:
  • the first performance index is generated based on the sending timestamp and the receiving timestamp, and the first performance index is used to represent at least one of transmission delay and delay jitter of the first path.
  • the first parameter includes a first serial number
  • the obtaining module 1920 is used to:
  • a first performance index is generated based on the first sequence number, and the first performance index is used to represent at least one of packet loss rate and disorder of the first path.
  • the second multicast data message further includes a second parameter
  • the obtaining module 1920 is also used to:
  • a second performance index is obtained based on the second parameter, and the performance indicated by the second performance index is better than the performance indicated by the first performance index.
  • the first path and the second path are non-overlapping paths obtained by planning of the controller.
  • the first path and the second path belong to different FlexAlgo slices and are not overlapping paths.
  • the device for sending multicast data packets provided in the above embodiments performs multicast data packet sending, only the division of the above functional modules is used as an example. In practical applications, the above mentioned functions can be used as needed. Function allocation is completed by different functional modules, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above.
  • the device for sending multicast data packets provided in the above embodiments and the method embodiment for sending multicast data packets belong to the same concept. Please refer to the method embodiments for the specific implementation process, which will not be described again here.
  • the embodiment of the present application also provides a device for sending multicast data messages.
  • the device 2000 can be applied to the above-mentioned root node A and root node B as shown in Figure 2, as shown in Figure 20 As shown, the device 2000 includes:
  • the acquisition module 2010 is used to obtain a multicast data message.
  • the multicast data message includes a first parameter, and the first parameter is used to detect performance indicators; specifically, the acquisition functions in the above steps 302, 402, and 501 can be implemented. , and other implicit steps.
  • the sending module 2020 is configured to send the multicast data message to the leaf node through the first path.
  • the method functions in the above steps 302, 402, and 501 can be implemented, as well as other implicit steps.
  • the multicast data message includes a BIER header and a flow detection IFIT header, and the IFIT header is used to carry the first parameter.
  • the multicast data message includes a BIER header and an RTP header, and the RTP header is used to carry the first parameter;
  • the first multicast data message includes a BIER header and a transport stream TS header, and the TS header is used to carry the first parameter.
  • the multicast data message is a BIER message encapsulated based on Internet Protocol version 6, IPv6, and the BIER header in the multicast data message is used to carry the first parameter.
  • the entropy field in the BIER header is used to carry the first parameter
  • the BIER forwarding entry router identification BFIR ID field in the BIER header is used to carry the first parameter
  • the TC field, S field and TTL field in the BIER header carry the first parameter
  • the S field and TTL field in the BIER header are used to carry the first parameter.
  • the multicast data message is a BIER message encapsulated based on multi-protocol label switching, and the BIER header in the first multicast data message is used to carry the first parameter.
  • the first parameter includes at least one of a sending timestamp and a first sequence number.
  • the device for sending multicast data packets provided in the above embodiments performs multicast data packet sending, only the division of the above functional modules is used as an example. In practical applications, the above mentioned functions can be used as needed. Function allocation is completed by different functional modules, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above.
  • the device for sending multicast data packets provided in the above embodiments and the method embodiment for sending multicast data packets belong to the same concept. Please refer to the method embodiments for the specific implementation process, which will not be described again here.
  • Figure 21 is a schematic structural diagram of a network device provided by an embodiment of the present application.
  • Network device 700 includes at least one processor 701, memory 702, and at least one network interface 703.
  • the processor 701 is, for example, a general central processing unit (CPU), a network processor (NP), a graphics processing unit (GPU), or a neural network processor (NPU). ), a data processing unit (DPU), a microprocessor or one or more integrated circuits used to implement the solution of the present application.
  • the processor 701 includes an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof.
  • ASIC application-specific integrated circuit
  • PLD programmable logic device
  • PLD is, for example, a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a general array logic (GAL), or any combination thereof.
  • 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, or a random access memory (random access memory, RAM) or a device that can store information and instructions.
  • ROM read-only memory
  • RAM random access memory
  • Other types of dynamic storage devices such as electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disk storage, optical discs Storage (including compressed optical discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or can be used to carry or store desired program code in the form of instructions or data structures and can Any other media accessed by a computer, without limitation.
  • the memory 702 exists independently and is connected to the processor 701 through an internal connection 704 .
  • memory 702 and processor 701 may optionally be integrated together.
  • Network interface 703 uses any transceiver-like device for communicating with other devices or communications 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 network (WLAN) interface, a cellular network network interface or a combination thereof.
  • WLAN wireless local area network
  • processor 701 includes one or more CPUs, such as CPU0 and CPU1 shown in Figure 21.
  • network device 700 optionally includes multiple processors, such as processor 701 and processor 705 shown in Figure 21.
  • processors are, for example, a single-core processor (single-CPU) or a multi-core processor (multi-CPU).
  • Processor here optionally refers to one or more devices, circuits, and/or processing cores for processing data (eg, computer program instructions).
  • network device 700 also includes internal connections 704.
  • the processor 701, the memory 702, and the at least one network interface 703 are connected via an internal connection 704.
  • Internal connections 704 include pathways that carry information between the components described above.
  • internal connection 704 is a single board or bus.
  • the internal connections 704 are divided into address bus, data bus, control bus, etc.
  • network device 700 also includes input and output interfaces 706. Input/output interface 706 is connected to internal connection 704 .
  • the processor 701 implements the method in the above embodiment by reading the program code 710 stored in the memory 702, or the processor 701 implements the method in the above embodiment by using the internally stored program code.
  • the processor 701 implements the method in the above embodiment by reading the program code 710 stored in the memory 702
  • the memory 702 stores the program code that implements the method provided by the embodiment of the present application.
  • processor 701 implements the above functions, please refer to the descriptions in the previous method embodiments, which will not be repeated here.
  • the above embodiments may be implemented in whole or in part by software, hardware, firmware, or any combination thereof.
  • software When implemented using software, it may be implemented in whole or in part in the form of a computer program product.
  • a computer program product includes one or more computer instructions.
  • Computer program instructions When computer program instructions are loaded and executed on a computer, the processes or functions described in accordance with the embodiments of the present application are generated in whole or in part.
  • the computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable device.
  • Computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, e.g., computer instructions may be transmitted from a website, computer, server or data center via a wired link (e.g.
  • Coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless means to transmit to another website site, computer, server or data center.
  • Computer-readable storage media can be any available media that can be accessed by a computer or a data storage device such as a server, data center, or other integrated media that contains one or more available media. Available media may be magnetic media (for example, floppy disks, hard disks, magnetic tapes), optical media (for example, DVD), or semiconductor media (for example, Solid State Disk SolID State Disk (SSD)), etc.

Abstract

The embodiments of the present application belong to the technical field of multicasting. Disclosed are a multicast data message sending method and apparatus, and a device and a storage medium. The method is applied to a leaf node in a BIER domain. The method comprises: receiving a first multicast data message by means of a first path, wherein the first multicast data message comprises a first parameter, and the first parameter is used for measuring a performance index; obtaining a first performance index according to the first parameter; and determining, on the basis of the first performance index, that the first path does not meet a performance requirement, and then receiving a second multicast data message by means of a second path. By using the present application, a SLA quality requirement of a multicast service can be met without affecting the forwarding of a unicast service message.

Description

组播数据报文发送的方法、装置、设备和存储介质Methods, devices, equipment and storage media for sending multicast data messages 技术领域Technical field
本申请涉及组播技术领域,特别涉及一种组播数据报文发送的方法、装置、设备和存储介质。The present application relates to the field of multicast technology, and in particular to a method, device, equipment and storage medium for sending multicast data messages.
背景技术Background technique
基于比特位的显式复制(bit indexed explicit replication,BIER)技术是目前被广泛应用的组播技术。Bit-indexed explicit replication (BIER) technology is currently a widely used multicast technology.
为了满足组播数据流的服务等级协议(Service Level Agreement,SLA)质量需求,在BIER域中的BIER转发路由器(Bit-Forwarding Router,BFR)如果检测到某接口接收到的组播数据流的误码率过高,则说明该接口所在链路存在问题。在此情况下,将该接口调整为关闭(down)状态。这样,该接口不再执行任何数据流的接收,以使得组播数据流可以不经过这条有问题的链路。In order to meet the Service Level Agreement (SLA) quality requirements of multicast data flow, if the BIER forwarding router (Bit-Forwarding Router, BFR) in the BIER domain detects an error in the multicast data flow received by an interface, If the code rate is too high, it indicates that there is a problem with the link where the interface is located. In this case, adjust the interface to the down state. In this way, the interface no longer performs the reception of any data flow, so that the multicast data flow does not pass through this problematic link.
然而,直接调整接口状态为down会使该接口所在链路不再执行任何数据流的接收,使原本由该链路传输的全部数据流切换到其他链路传输,这样,极有可能导致其他链路的负载过大。However, directly adjusting the interface status to down will cause the link where the interface is located to no longer receive any data streams, causing all data streams originally transmitted by this link to be switched to other links for transmission. This is very likely to cause other links to The road load is too high.
发明内容Contents of the invention
本申请实施例提供了一种组播数据报文发送的方法、装置、设备和存储介质,能够在不调整路由器接口状态的情况下,满足组播业务的SLA。所述技术方案如下:Embodiments of the present application provide a method, device, equipment and storage medium for sending multicast data packets, which can meet the SLA of the multicast service without adjusting the router interface status. The technical solutions are as follows:
第一方面,提供了一种组播数据报文发送的方法,该方法应用于BIER域中的叶子节点,方法包括:The first aspect provides a method for sending multicast data packets, which is applied to leaf nodes in the BIER domain. The method includes:
叶子节点通过第一路径接收第一组播数据报文。其中,第一组播数据报文包括第一参数,第一参数用于检测性能指标。叶子节点根据第一参数获得第一性能指标。叶子节点基于第一性能指标确定第一路径不满足性能需求,通过第二路径接收第二组播数据报文。The leaf node receives the first multicast data packet through the first path. The first multicast data message includes a first parameter, and the first parameter is used to detect performance indicators. The leaf node obtains the first performance index according to the first parameter. The leaf node determines that the first path does not meet the performance requirements based on the first performance index, and receives the second multicast data message through the second path.
在本申请实施例所示的方案中,叶子节点可以通过第一路径和第二路径接收组播数据报文。在理想状态下,第一路径传输的组播数据报文中携带的组播业务数据和第二路径传输的组播数据报文中携带的组播业务数据是相同的,在正常情况下,叶子节点可以仅对第一路径发送的组播数据报文接收并发送。这样,叶子节点在检测到第一路径不满足性能指标时,可以不再接收并发送该路径发送的组播数据报文,而是切换为接收并发送另一条路径发送的组播数据报文。可见,本方法是针对组播业务的方法,采用本方法可以使组播业务避开性能不满足需求的路径,使得叶子节点接收并发送的组播业务数据是由性能较好的路径传输的,这样,可以保证组播业务的SLA,同时又不会影响网络中承载的单播业务。采用本方案既可以满足组播业务的SLA需求,又不用改变接口状态,进而也就不会出现由于将接口状态置down后,导致链路负载过大的问题。In the solution shown in the embodiment of this application, the leaf node can receive the multicast data packet through the first path and the second path. In an ideal state, the multicast service data carried in the multicast data packet transmitted by the first path and the multicast service data carried in the multicast data packet transmitted by the second path are the same. Under normal circumstances, the leaf The node can only receive and send multicast data packets sent by the first path. In this way, when the leaf node detects that the first path does not meet the performance indicators, it can no longer receive and send multicast data packets sent by this path, but switch to receive and send multicast data packets sent by another path. It can be seen that this method is a method for multicast services. This method can enable multicast services to avoid paths whose performance does not meet the requirements, so that the multicast service data received and sent by leaf nodes is transmitted by paths with better performance. In this way, the SLA of multicast services can be guaranteed without affecting the unicast services carried on the network. This solution can meet the SLA requirements of the multicast service without changing the interface status. Therefore, the problem of excessive link load caused by setting the interface status down will not occur.
在一种可能的实现方式中,第一组播数据报文包括BIER头和随流检测(In-situ Flow Information Telemetry,IFIT)头,IFIT头用于携带第一参数。In a possible implementation, the first multicast data packet includes a BIER header and an In-situ Flow Information Telemetry (IFIT) header, and the IFIT header is used to carry the first parameter.
在本申请实施例所示的方案中,第一路径传输的组播数据报文为BIER报文。可以采用IFIT技术,根据第一组播数据报文的IFIT头中携带的第一参数,确定第一路径的性能指标。这样,性能指标是根据实际的组播数据报文检测得到,准确性更高。此外,IFIT技术仅需要根节点和叶子节点配置IFIT功能即可,需要配置的设备少,配置相对简单。In the solution shown in the embodiment of this application, the multicast data packet transmitted by the first path is a BIER packet. The IFIT technology may be used to determine the performance index of the first path based on the first parameter carried in the IFIT header of the first multicast data message. In this way, the performance indicators are detected based on actual multicast data packets, with higher accuracy. In addition, IFIT technology only requires the root node and leaf nodes to configure the IFIT function. There are few devices that need to be configured, and the configuration is relatively simple.
在一种可能的实现方式中,第一组播数据报文包括BIER头和实时传送协(Real-time Transport Protocol,RTP)头,RTP头用于携带第一参数。或者,第一组播数据报文包括BIER头和传送流TS头,TS头用于携带第一参数。In a possible implementation, the first multicast data packet includes a BIER header and a Real-time Transport Protocol (RTP) header, and the RTP header is used to carry the first parameter. Alternatively, the first multicast data message includes a BIER header and a transport stream TS header, and the TS header is used to carry the first parameter.
在本申请实施例所示的方案中,可以采用媒体传输质量指标(enhanced media delivery index,EMDI)技术,根据第一组播数据报文的RTP头或者TS头中携带的第一参数,确定第一路径的性能指标。这样,性能指标是根据实际的组播数据报文检测得到,准确性更高。此外,EMDI技术仅需要根节点和叶子节点配置EMDI功能即可,需要配置的设备少,配置相对简单。In the solution shown in the embodiment of this application, the enhanced media delivery index (EMDI) technology can be used to determine the first parameter carried in the RTP header or TS header of the first multicast data message. Performance indicators of a path. In this way, the performance indicators are detected based on actual multicast data packets, with higher accuracy. In addition, EMDI technology only requires the root node and leaf nodes to configure the EMDI function. There are few devices that need to be configured, and the configuration is relatively simple.
在一种可能的实现方式中,第一组播数据报文为基于互联网协议第6版(Internet Protocol Version 6,IPv6)封装的BIER报文,第一组播数据报文中的BIER头用于携带第一参数。In a possible implementation, the first multicast data packet is a BIER packet encapsulated based on Internet Protocol Version 6 (IPv6), and the BIER header in the first multicast data packet is used to Carry the first parameter.
在本申请实施例所示的方案中,在组播数据报文是基于IPv6封装的BIER报文的情况下,可以使用BIER头中原有的字段携带第一参数,无需对BIER头扩展。In the solution shown in the embodiment of this application, when the multicast data message is a BIER message encapsulated based on IPv6, the original field in the BIER header can be used to carry the first parameter, and there is no need to extend the BIER header.
在一种可能的实现方式中,在组播数据报文是基于IPv6封装的BIER报文的情况下,可以使用BIER头中的如下字段携带第一参数:In a possible implementation, when the multicast data packet is a BIER packet encapsulated based on IPv6, the following field in the BIER header can be used to carry the first parameter:
BIER头中的熵entropy字段,或者BIER头中的BIER转发入口路由器标识(Bit-Forwarding Ingress Router ID,BFIR ID)字段,或者BIER头中的流量等级字段、用于标识标签栈底的字段和生存时间字段,或者BIER头中用于标识标签栈底的字段和生存时间字段。The entropy field in the BIER header, or the BIER forwarding ingress router ID (BFIR ID) field in the BIER header, or the traffic level field in the BIER header, the field used to identify the bottom of the label stack, and survival The time field, or the field and lifetime field in the BIER header used to identify the bottom of the label stack.
在一种可能的实现方式中,第一组播数据报文为基于多协议标签交换(Multi-Protocol Label Switching,MPLS)封装的BIER报文,第一组播数据报文中的BIER头用于携带第一参数。In a possible implementation, the first multicast data packet is a BIER packet encapsulated based on Multi-Protocol Label Switching (MPLS), and the BIER header in the first multicast data packet is used to Carry the first parameter.
在本申请实施例所示的方案中,在组播数据报文是基于MPLS封装的BIER报文的情况下,对BIER头进行扩展,使用扩展字段携带第一参数。In the solution shown in the embodiment of this application, when the multicast data message is a BIER message based on MPLS encapsulation, the BIER header is extended and the extension field is used to carry the first parameter.
在一种可能的实现方式中,第一参数包括发送时间戳,相应的,确定性能指标的处理可以如下:In a possible implementation, the first parameter includes a sending timestamp. Correspondingly, the process of determining the performance index can be as follows:
性能指标可以由控制器计算并发送给叶子节点。相应的,处理可以如下:Performance metrics can be calculated by the controller and sent to leaf nodes. Correspondingly, the processing can be as follows:
在接收到第一组播数据报文后,叶子节点确定第一组播数据报文的接收时间戳,并获取第一组播数据报文的IFIT头中携带的发送时间戳。然后,叶子节点将发送时间戳和接收时间戳发送给控制器。控制器根据叶子节点发送的发送时间戳和接收时间戳可以计算出传输时延和时延抖动中的至少一项,并发送给叶子节点。After receiving the first multicast data packet, the leaf node determines the reception timestamp of the first multicast data packet and obtains the sending timestamp carried in the IFIT header of the first multicast data packet. The leaf node then sends the send timestamp and receive timestamp to the controller. The controller can calculate at least one of the transmission delay and delay jitter based on the sending timestamp and receiving timestamp sent by the leaf node, and sends it to the leaf node.
由于性能指标的计算统一由控制器执行,这样,对叶子节点的计算性能要求较低。Since the calculation of performance indicators is uniformly performed by the controller, the computing performance requirements for leaf nodes are low.
在一种可能的实现方式中,第一参数包括第一序列号,相应的,确定性能指标的处理可以如下:In a possible implementation, the first parameter includes the first sequence number. Correspondingly, the process of determining the performance index can be as follows:
性能指标可以由控制器计算并发送给叶子节点。相应的,处理可以如下:Performance metrics can be calculated by the controller and sent to leaf nodes. Correspondingly, the processing can be as follows:
在接收到第一组播数据报文后,叶子节点获取第一组播数据报文的RTP头或TS头中携带的第一序列号并将第一序列号发送给控制器,第一序列号可以表示第一组播数据报文的发送次序。控制器根据收到的多个序列号,计算丢包率、乱序等性能指标,并发送给叶子节点。After receiving the first multicast data packet, the leaf node obtains the first sequence number carried in the RTP header or TS header of the first multicast data packet and sends the first sequence number to the controller. It can indicate the sending order of the first multicast data packet. The controller calculates performance indicators such as packet loss rate and out-of-order based on the multiple sequence numbers received, and sends them to the leaf nodes.
由于性能指标的计算统一由控制器执行,这样,对叶子节点的计算性能要求较低。Since the calculation of performance indicators is uniformly performed by the controller, the computing performance requirements for leaf nodes are low.
在一种可能的实现方式中,性能指标可以由叶子节点自己计算得到。相应的,在第一参数包括发送时间戳的情况下,确定性能指标的处理可以如下:In a possible implementation, the performance index can be calculated by the leaf nodes themselves. Correspondingly, when the first parameter includes the sending timestamp, the process of determining the performance index can be as follows:
在接收到第一组播数据报文后,叶子节点确定第一组播数据报文的接收时间戳,并获取第一组播数据报文的IFIT头中携带的发送时间戳。然后,叶子节点发送时间戳和接收时间戳可以计算出传输时延和时延抖动中的至少一项。After receiving the first multicast data packet, the leaf node determines the reception timestamp of the first multicast data packet and obtains the sending timestamp carried in the IFIT header of the first multicast data packet. Then, the leaf node sending timestamp and receiving timestamp can calculate at least one of the transmission delay and delay jitter.
在叶子节点数量较多时,性能指标如果均由控制器计算,可能会导致控制器计算负担过大,导致计算效率较低。由叶子节点计算性能指标可以减少控制器的计算量,提高计算效率。When there are a large number of leaf nodes, if all performance indicators are calculated by the controller, it may cause excessive computational burden on the controller, resulting in low computational efficiency. Calculating performance indicators by leaf nodes can reduce the calculation amount of the controller and improve calculation efficiency.
在一种可能的实现方式中,性能指标可以由叶子节点自己计算得到。相应的,在第一参数包括第一序列号的情况下,确定性能指标的处理可以如下:In a possible implementation, the performance index can be calculated by the leaf nodes themselves. Correspondingly, when the first parameter includes the first serial number, the process of determining the performance index may be as follows:
在接收到第一组播数据报文后,叶子节点获取第一组播数据报文的RTP头或TS头中携带的第一序列号。然后,叶子节点根据收到的多个序列号,计算丢包率、乱序等性能指标。After receiving the first multicast data packet, the leaf node obtains the first sequence number carried in the RTP header or TS header of the first multicast data packet. Then, the leaf node calculates performance indicators such as packet loss rate and reordering based on the multiple sequence numbers received.
在叶子节点数量较多时,性能指标如果均由控制器计算,可能会导致控制器计算负担过大,导致计算效率较低。由叶子节点计算性能指标可以减少控制器的计算量,提高计算效率。When there are a large number of leaf nodes, if all performance indicators are calculated by the controller, it may cause excessive computational burden on the controller, resulting in low computational efficiency. Calculating performance indicators by leaf nodes can reduce the calculation amount of the controller and improve calculation efficiency.
在一种可能的实现方式中,为了避免切换到性能更差的路径,在检测第一路径的性能指标的同时,也可以检测第二路径的性能指标,在确定第二路径的性能指标所指示的性能优于第一路径的性能指标所指示的性能时,如果第一路径不满足性能需求,则可以切换为接收第二路径的组播数据报文。In a possible implementation, in order to avoid switching to a path with worse performance, while detecting the performance index of the first path, the performance index of the second path can also be detected, and after determining the performance index indicated by the second path When the performance is better than the performance indicated by the performance index of the first path, if the first path does not meet the performance requirements, it can be switched to receive multicast data packets of the second path.
在一种可能的实现方式中,为了使切换后的第二路径不包含第一路径中的故障链路,第一路径和第二路径可以是控制器规划获得的不重合的路径。或者,第一路径和第二路径属于不同的灵活算法(Flex Algo)切片且是不重合的路径。不重合即为不包含相同链路。In a possible implementation, in order to prevent the switched second path from containing the faulty link in the first path, the first path and the second path may be non-overlapping paths obtained by planning of the controller. Or, the first path and the second path belong to different flexible algorithm (Flex Algo) slices and are non-overlapping paths. Non-overlapping means that they do not contain the same links.
第二方面,提供了一种组播数据报文发送的方法,所述方法应用于BIER域中的根节点,所述方法包括:In a second aspect, a method for sending multicast data messages is provided. The method is applied to the root node in the BIER domain. The method includes:
获得组播数据报文,所述组播数据报文包括第一参数,所述第一参数用于检测性能指标;Obtain a multicast data message, the multicast data message includes a first parameter, and the first parameter is used to detect performance indicators;
通过第一路径向叶子节点发送所述组播数据报文。Send the multicast data message to the leaf node through the first path.
在一种可能的实现方式中,所述组播数据报文包括BIER头和IFIT头,所述IFIT头用于携带所述第一参数。In a possible implementation manner, the multicast data message includes a BIER header and an IFIT header, and the IFIT header is used to carry the first parameter.
在一种可能的实现方式中,所述组播数据报文包括BIER头和RTP头,所述RTP头用于携带所述第一参数;或者In a possible implementation, the multicast data message includes a BIER header and an RTP header, and the RTP header is used to carry the first parameter; or
所述第一组播数据报文包括BIER头和TS头,所述TS头用于携带所述第一参数。The first multicast data message includes a BIER header and a TS header, and the TS header is used to carry the first parameter.
在一种可能的实现方式中,所述组播数据报文为基于IPv6封装的BIER报文,所述组播数据报文中的BIER头用于携带所述第一参数。In a possible implementation manner, the multicast data packet is a BIER packet based on IPv6 encapsulation, and the BIER header in the multicast data packet is used to carry the first parameter.
在一种可能的实现方式中,所述BIER头中的entropy字段用于携带所述第一参数;或者In a possible implementation, the entropy field in the BIER header is used to carry the first parameter; or
所述BIER头中的BFIR ID字段用于携带所述第一参数;或者The BFIR ID field in the BIER header is used to carry the first parameter; or
所述BIER头中的TC字段、S字段和TTL字段携带所述第一参数;或者The TC field, S field and TTL field in the BIER header carry the first parameter; or
所述BIER头中的S字段和TTL字段用于携带所述第一参数。The S field and TTL field in the BIER header are used to carry the first parameter.
在一种可能的实现方式中,所述组播数据报文为基于MPLS封装的BIER报文,所述第一组播数据报文中的BIER头用于携带所述第一参数。In a possible implementation manner, the multicast data packet is a BIER packet based on MPLS encapsulation, and the BIER header in the first multicast data packet is used to carry the first parameter.
在一种可能的实现方式中,所述第一参数包括发送时间戳和第一序列号中的至少一个。In a possible implementation, the first parameter includes at least one of a sending timestamp and a first sequence number.
第三方面,提供了一种组播数据报文发送的装置,该装置设于第一方面或第一方面任一种可选方式中的叶子节点上。该报文转发装置包括至少一个模块,至少一个模块用于实现上述第一方面或第一方面任一种可选方式所提供的方法。在一些实施例中,第三方面提供的组播数据报文发送是装置中的模块通过软件实现,报文转发装置中的单元是程序模块。在另一些实施例中,第三方面提供的报文转发装置中的模块通过硬件或固件实现。第三方面提供的组播数据报文发送的装置的具体细节可参见上述第一方面或第一方面任一种可选方式,此处不再赘述。A third aspect provides a device for sending multicast data messages, which device is provided on a leaf node in the first aspect or any optional method of the first aspect. The message forwarding device includes at least one module, and the at least one module is used to implement the method provided by the above-mentioned first aspect or any optional manner of the first aspect. In some embodiments, the multicast data message sending provided by the third aspect is implemented by a module in the device through software, and the unit in the message forwarding device is a program module. In other embodiments, the modules in the packet forwarding device provided in the third aspect are implemented by hardware or firmware. For specific details of the device for sending multicast data messages provided in the third aspect, please refer to the above-mentioned first aspect or any optional method of the first aspect, and will not be described again here.
第四方面,提供了一种组播数据报文发送的装置,该装置设于第二方面或第二方面任一种可选方式中的叶子节点上。该报文转发装置包括至少一个模块,至少一个模块用于实现上述第二方面或第二方面任一种可选方式所提供的方法。在一些实施例中,第四方面提供的组播数据报文发送是装置中的模块通过软件实现,报文转发装置中的单元是程序模块。在另一些实施例中,第四方面提供的报文转发装置中的模块通过硬件或固件实现。第四方面提供的组播数据报文发送的装置的具体细节可参见上述第二方面或第二方面任一种可选方式,此处不再赘述。A fourth aspect provides a device for sending multicast data messages, which device is provided on a leaf node in the second aspect or any optional mode of the second aspect. The message forwarding device includes at least one module, and the at least one module is used to implement the method provided in the above second aspect or any optional manner of the second aspect. In some embodiments, the multicast data message sending provided in the fourth aspect is implemented by a module in the device through software, and the unit in the message forwarding device is a program module. In other embodiments, the modules in the message forwarding apparatus provided in the fourth aspect are implemented by hardware or firmware. For specific details of the device for sending multicast data packets provided in the fourth aspect, please refer to the above-mentioned second aspect or any optional method of the second aspect, and will not be described again here.
第五方面,提供了一种网络设备,所述网络设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行,以实现上述第一方面或第一方面任一种可选方式所提供的方法。第五方面提供的网络设备得到具体细节可参见上述第一方面或第一方面任一种可选方式,此处不再赘述。In a fifth aspect, a network device is provided. The network device includes a processor and a memory. At least one instruction is stored in the memory. The at least one instruction is loaded and executed by the processor to implement the first step described above. method provided by the aspect or any optional method of the first aspect. The specific details of obtaining the network device provided in the fifth aspect can be found in the above-mentioned first aspect or any optional method of the first aspect, and will not be described again here.
第六方面,提供了一种网络设备,所述网络设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行,以实现上述第二方面或第二方面任一种可选方式所提供的方法。第六方面提供的网络设备得到具体细节可参见上述第二方面或第二方面任一种可选方式,此处不再赘述。In a sixth aspect, a network device is provided. The network device includes a processor and a memory. At least one instruction is stored in the memory. The at least one instruction is loaded and executed by the processor to implement the second step described above. The method provided by any optional method of the aspect or the second aspect. The specific details of obtaining the network equipment provided in the sixth aspect can be found in the above-mentioned second aspect or any optional method of the second aspect, and will not be described again here.
第七方面,提供了一种计算机可读存储介质,该存储介质中存储有至少一条指令,该指令在网络设备上运行时,使得网络设备执行上述第一方面或第一方面任一种可选方式所提供的方法。In a seventh aspect, a computer-readable storage medium is provided. The storage medium stores at least one instruction. When the instruction is run on a network device, the network device causes the network device to execute the above-mentioned first aspect or any one of the first optional aspects. method provided.
第八方面,提供了一种计算机可读存储介质,该存储介质中存储有至少一条指令,该指令在网络设备上运行时,使得网络设备执行上述第二方面或第二方面任一种可选方式所提供的方法。In an eighth aspect, a computer-readable storage medium is provided. At least one instruction is stored in the storage medium. When the instruction is run on a network device, the network device causes the network device to execute the above second aspect or any one of the second optional aspects. method provided.
第九方面,提供了一种计算机程序产品,所述计算机程序产品包括一个或多个计算机程序指令,当所述计算机程序指令被网络设备加载并运行时,使得所述网络设备执行上述第一方面或第一方面任一种可选方式所提供的方法。In a ninth aspect, a computer program product is provided. The computer program product includes one or more computer program instructions. When the computer program instructions are loaded and run by a network device, the network device causes the network device to execute the first aspect. Or the method provided by any optional method in the first aspect.
第十方面,提供了一种计算机程序产品,所述计算机程序产品包括一个或多个计算机程序指令,当所述计算机程序指令被网络设备加载并运行时,使得所述网络设备执行上述第二方面或第二方面任一种可选方式所提供的方法。In a tenth aspect, a computer program product is provided. The computer program product includes one or more computer program instructions. When the computer program instructions are loaded and run by a network device, the network device causes the network device to execute the above second aspect. Or the method provided by any optional method in the second aspect.
第十一方面,提供了一种芯片,包括存储器和处理器,存储器用于存储计算机指令,处理器用于从存储器中调用并运行该计算机指令,以执行上述第一方面及其第一方面任意可能 的实现方式中的方法。In an eleventh aspect, a chip is provided, including a memory and a processor. The memory is used to store computer instructions. The processor is used to call and run the computer instructions from the memory to execute the above first aspect and any possibility of the first aspect. method in the implementation.
第十二方面,提供了一种芯片,包括存储器和处理器,存储器用于存储计算机指令,处理器用于从存储器中调用并运行该计算机指令,以执行上述第二方面或第二方面任一种可选方式所提供的方法。In a twelfth aspect, a chip is provided, including a memory and a processor. The memory is used to store computer instructions. The processor is used to call and run the computer instructions from the memory to execute the above second aspect or any one of the second aspects. Optional methods provided.
第十三方面,提供了一种通信系统,该通信系统包括如上第五方面所述的网络设备和如上第六方面所述的网络设备。A thirteenth aspect provides a communication system, which includes the network device described in the fifth aspect and the network device described in the sixth aspect.
附图说明Description of the drawings
图1是本申请实施例提供的一种实施场景的示意图;Figure 1 is a schematic diagram of an implementation scenario provided by the embodiment of the present application;
图2是本申请实施例提供的一种组播数据流切换的示意图;Figure 2 is a schematic diagram of multicast data flow switching provided by an embodiment of the present application;
图3是本申请实施例提供的一种组播数据报文发送的方法流程示意图;Figure 3 is a schematic flowchart of a method for sending multicast data messages provided by an embodiment of the present application;
图4是本申请实施例提供的一种组播数据报文的格式示意图;Figure 4 is a schematic diagram of the format of a multicast data message provided by an embodiment of the present application;
图5是本申请实施例提供的一种组播数据报文的格式示意图;Figure 5 is a schematic diagram of the format of a multicast data message provided by an embodiment of the present application;
图6是本申请实施例提供的一种组播数据报文发送的方法流程示意图;Figure 6 is a schematic flowchart of a method for sending multicast data messages provided by an embodiment of the present application;
图7是本申请实施例提供的一种组播数据报文的格式示意图;Figure 7 is a schematic diagram of the format of a multicast data message provided by an embodiment of the present application;
图8是本申请实施例提供的一种组播数据报文的格式示意图;Figure 8 is a schematic diagram of the format of a multicast data message provided by an embodiment of the present application;
图9是本申请实施例提供的一种组播数据报文的格式示意图;Figure 9 is a schematic diagram of the format of a multicast data message provided by an embodiment of the present application;
图10是本申请实施例提供的一种组播数据报文的格式示意图;Figure 10 is a schematic diagram of the format of a multicast data message provided by an embodiment of the present application;
图11是本申请实施例提供的一种组播数据报文的格式示意图;Figure 11 is a schematic diagram of the format of a multicast data message provided by an embodiment of the present application;
图12是本申请实施例提供的一种组播数据报文的格式示意图;Figure 12 is a schematic diagram of the format of a multicast data message provided by an embodiment of the present application;
图13是本申请实施例提供的一种组播数据报文发送的方法流程示意图;Figure 13 is a schematic flowchart of a method for sending multicast data messages provided by an embodiment of the present application;
图14是本申请实施例提供的一种组播数据报文的格式示意图;Figure 14 is a schematic diagram of the format of a multicast data message provided by an embodiment of the present application;
图15是本申请实施例提供的一种BIERv6报文的格式示意图;Figure 15 is a schematic diagram of the format of a BIERv6 message provided by an embodiment of the present application;
图16是本申请实施例提供的一种网络拓扑示意图;Figure 16 is a schematic diagram of a network topology provided by an embodiment of the present application;
图17是本申请实施例提供的一种组播数据报文发送的方法流程示意图;Figure 17 is a schematic flowchart of a method for sending multicast data messages provided by an embodiment of the present application;
图18是本申请实施例提供的一种组播数据报文发送的方法流程示意图;Figure 18 is a schematic flowchart of a method for sending multicast data messages provided by an embodiment of the present application;
图19是本申请实施例提供的一种组播数据报文发送的装置结构示意图;Figure 19 is a schematic structural diagram of a device for sending multicast data messages provided by an embodiment of the present application;
图20是本申请实施例提供的一种组播数据报文发送的装置结构示意图;Figure 20 is a schematic structural diagram of a device for sending multicast data messages provided by an embodiment of the present application;
图21是本申请实施例提供的一种网络设备的结构示意图。Figure 21 is a schematic structural diagram of a network device provided by an embodiment of the present application.
具体实施方式Detailed ways
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。In order to make the purpose, technical solutions and advantages of the present application clearer, the embodiments of the present application will be further described in detail below with reference to the accompanying drawings.
下面对本申请实施例涉及的一些术语进行解释说明。Some terms involved in the embodiments of this application are explained below.
(1)基于比特位的显式复制(bit indexed explicit replication,BIER)/基于互联网协议第6版的位索引显示复制(bit indexed explicit replication over ipv6,BIERv6)(1) Bit indexed explicit replication (BIER)/bit indexed explicit replication over ipv6 (BIERv6)
BIER/BIERv6是一种基于比特索引进行显式复制的组播转发技术。在BIER域中,为边缘路由器分配唯一的标识,即BIER转发路由器标识符(BIER forwarding router identifier,BFR ID)。BFR ID是取值为1至65535的整数。边缘路由器包括BIER转发入口路由器(bit forwarding  ingress router,BFIR)和BIER转发出口路由器(bit forwarding egress router,BFER)。在转发过程中,BFIR需获知将组播数据报文发往哪些BIER节点。在一个BIER域中,组播数据报文发往的BFER集合用一个比特串(bit string)中被置位的比特位来表示,比特串中的某个比特在比特串中的偏移位置对应于某个边缘路由器的BFR ID。BFIR将与至少一个BFER对应的比特串封装在组播数据报文的BIER头中,BFIR与BFER之间的中间BFR可根据接收到的组播数据报文中的比特串来进行复制转发,使得组播数据报文能够转发至相应的BFER。BIER/BIERv6 is a multicast forwarding technology that performs explicit replication based on bit indexing. In the BIER domain, the edge router is assigned a unique identifier, that is, the BIER forwarding router identifier (BFR ID). BFR ID is an integer ranging from 1 to 65535. Edge routers include BIER forwarding ingress router (bit forwarding ingress router, BFIR) and BIER forwarding egress router (bit forwarding egress router, BFER). During the forwarding process, BFIR needs to know which BIER nodes to send multicast data packets to. In a BIER domain, the BFER set to which multicast data packets are sent is represented by a set bit in a bit string. The offset position of a certain bit in the bit string corresponds to the offset position in the bit string. The BFR ID of an edge router. BFIR encapsulates the bit string corresponding to at least one BFER in the BIER header of the multicast data message. The intermediate BFR between BFIR and BFER can copy and forward based on the bit string in the received multicast data message, so that Multicast data packets can be forwarded to the corresponding BFER.
BIER/BIERv6承载组播业务时,通过边界网关协议(border gateway protocol,BGP)在BFIR和BFER之间建立BGP邻居,利用BGP交互的信息建立BIER转发隧道以实现交互。当某个终端用户要观看某个组播频道节目时,则向其上游的BFER发送频道组加入请求。其中,在互联网协议第4版(internet protocol version 4,IPv4)的情况下,该加入请求为互联网组管理协议(internet group management protocol,IGMP)报文。在互联网协议第6版(internet protocol version 6,IPv6)的情况下,该加入请求为组播侦听者(multicast listener,MLD)报文;若BFER没有终端用户请求的频道数据,则将该加入请求通过BGP协议发送给BFIR。BFIR收到BFER的加入请求后,设置此BFER的BFR ID对应的bit string中的比特为1,这样就生成了发送该频道的组播数据所需的bit string。When BIER/BIERv6 carries multicast services, BGP neighbors are established between BFIR and BFER through the border gateway protocol (BGP), and the BGP interaction information is used to establish a BIER forwarding tunnel to achieve interaction. When an end user wants to watch a multicast channel program, a channel group join request is sent to its upstream BFER. Among them, in the case of Internet protocol version 4 (IPv4), the join request is an Internet group management protocol (Internet group management protocol, IGMP) message. In the case of Internet protocol version 6 (IPv6), the join request is a multicast listener (MLD) message; if BFER does not have the channel data requested by the end user, the join request will be The request is sent to BFIR via BGP protocol. After receiving the join request from BFER, BFIR sets the bit in the bit string corresponding to the BFR ID of this BFER to 1, thus generating the bit string required to send the multicast data of the channel.
BFIR根据比特索引转发表(bit index forwarding table,BIFT)将封装了bit string的组播数据报文发给下游BFR,下游BFR解析bit string并根据BIFT中的表项进行组播数据报文复制和发送,以使得封装有bit string的组播数据报文转发至相应的BFER。BFER解析bit string,检查匹配到组播数据报文的目的节点,则删除包括BIER头的外层封装,继续查找用户组播转发表,根据查找结果将组播数据报文转发给请求用户。BFIR sends the multicast data message encapsulated with bit string to the downstream BFR according to the bit index forwarding table (BIFT). The downstream BFR parses the bit string and copies the multicast data message according to the entries in BIFT. Send, so that the multicast data packet encapsulated with bit string is forwarded to the corresponding BFER. BFER parses the bit string, checks the destination node that matches the multicast data message, then deletes the outer encapsulation including the BIER header, continues to search the user multicast forwarding table, and forwards the multicast data message to the requesting user based on the search results.
传统的BIER基于多协议标签交换(multi-protocol label switching,MPLS)实现。BIERv6与传统的BIER的最大不同之处在于:BIERv6不再采用MPLS标签,是基于原生IPv6(native IPv6)的组播方案。BIERv6继承了BIER的核心设计理念,它使用比特串将组播数据报文复制给指定的接收者,中间BFR无需建立组播转发树,实现无状态转发。在此基础上,BIERv6技术利用IPv6扩展头携带BIER转发所需的信息,从而无需采用MPLS标签。利用IPv6扩展头的也方便后续网络的演进和叠加,例如IPv6报文的分片重组、组播的网络切片、随流检测等。由于业务只部署在头节点和尾节点,组播业务变化时,中间节点不感知。因此,网络拓扑变化时,无需对大量组播树执行撤销和重建操作,大大地简化了运维工作。BIERv6利用了IPv6扩展头来实现自身的功能。BIERv6使用IPv6扩展头携带BIER选项(也可称为BIER头),与IPv6头共同形成BIERv6报文头。中间BFR读取BIER选项中的bit string,根据BIFT进行复制、转发并更新bit string。Traditional BIER is implemented based on multi-protocol label switching (MPLS). The biggest difference between BIERv6 and traditional BIER is that BIERv6 no longer uses MPLS labels and is a multicast solution based on native IPv6 (native IPv6). BIERv6 inherits the core design concept of BIER. It uses bit strings to copy multicast data messages to designated recipients. The intermediate BFR does not need to establish a multicast forwarding tree to achieve stateless forwarding. On this basis, BIERv6 technology uses the IPv6 extension header to carry the information required for BIER forwarding, eliminating the need to use MPLS labels. The use of IPv6 extension headers also facilitates subsequent network evolution and overlay, such as fragmentation and reassembly of IPv6 packets, multicast network slicing, and flow detection, etc. Since the service is only deployed on the head node and the tail node, the intermediate nodes do not sense when the multicast service changes. Therefore, when the network topology changes, there is no need to perform undo and rebuild operations on a large number of multicast trees, which greatly simplifies operation and maintenance work. BIERv6 uses IPv6 extension headers to implement its functions. BIERv6 uses the IPv6 extension header to carry BIER options (also called BIER headers), which together with the IPv6 header form the BIERv6 message header. The intermediate BFR reads the bit string in the BIER option, copies, forwards and updates the bit string according to BIFT.
(2)根节点和叶子节点(2) Root node and leaf node
BFIR又可以称为根节点,BFER又可以称为叶子节点。为了实现组播数据报文的备份,对于一个组播源来说,该组播源的任一组播业务数据可以复制后通过两个根节点进入BIER域进行转发。此处的两个根节点中包括一个主根节点和一个备份根节点。叶子节点可以根据两个根节点的路由优先级来确定主根节点和备份根节点。具体的,根节点和叶子节点之间建立BGP邻居,进而叶子节点可以选择路由优先级高的根节点为主根节点,路由优先级次之的根节点为备份根节点。BFIR can also be called the root node, and BFER can also be called the leaf node. In order to realize the backup of multicast data packets, for a multicast source, any multicast service data of the multicast source can be copied and then entered into the BIER domain through two root nodes for forwarding. The two root nodes here include a primary root node and a backup root node. Leaf nodes can determine the primary root node and backup root node based on the routing priorities of the two root nodes. Specifically, a BGP neighbor is established between the root node and the leaf node, and the leaf node can select the root node with the highest routing priority as the primary root node, and the root node with the second highest routing priority as the backup root node.
(3)以太网链路聚合(ethernet-trunk,ETH-trunk)捆绑接口(3) Ethernet link aggregation (ethernet-trunk, ETH-trunk) bundled interface
trunk是一种捆绑技术。将多个物理接口捆绑成一个逻辑接口,这个逻辑接口称为trunk捆绑接口,捆绑在一起的每个物理接口称为成员接口。采用trunk捆绑技术把多个物理接口捆绑在一起,可以以较低的成本满足提高接口带宽的需求。例如,把3个100Mbit/s的全双工接口捆绑在一起,就可以达到300Mbit/s的最大带宽。ETH-trunk就是将多个以太网接口捆绑成一个逻辑接口,这个逻辑接口称为Eth-trunk捆绑接口,捆绑在一起的每个以太网接口称为成员接口。Eth-trunk捆绑接口可以实现增加带宽、提高可靠性和负载分担的功能。Trunk is a bundling technology. Multiple physical interfaces are bundled into a logical interface. This logical interface is called a trunk bundled interface, and each physical interface bundled together is called a member interface. Using trunk bundling technology to bundle multiple physical interfaces together can meet the need to increase interface bandwidth at a lower cost. For example, bundling three 100Mbit/s full-duplex interfaces together can achieve a maximum bandwidth of 300Mbit/s. ETH-trunk bundles multiple Ethernet interfaces into a logical interface. This logical interface is called an Eth-trunk bundled interface, and each Ethernet interface bundled together is called a member interface. Eth-trunk bundled interfaces can increase bandwidth, improve reliability and load sharing.
下面对本申请实施例的应用场景进行举例说明:The application scenarios of the embodiments of this application are illustrated below with examples:
图1是本申请实施例提供的一种BIER的实施场景示意图,图1所示的实施场景包括组播源A、根节点A、根节点B、中间节点A、中间节点B、中间节点C、中间节点D、叶子节点A、叶子节点B、叶子节点C、叶子节点D、组播接收设备A、组播接收设备B、组播接收设备C和组播接收设备D。组播源包括但不限于服务器、终端等。组播源A用于生成并发送组播业务数据。组播源A产生的组播业务数据包括但不限于音频数据、视频数据等。根节点A、根节点B、中间节点A、中间节点B、中间节点C、中间节点D、叶子节点A、叶子节点B、叶子节点C、叶子节点D部署在同一BIER域中。这些节点可以为网络设备,例如路由器、交换机等。根节点A、根节点B为BIER域的BFIR。叶子节点A、叶子节点B、叶子节点C、叶子节点D为BIER域的BFER。对于叶子节点A、叶子节点B、叶子节点C、叶子节点D中的任一叶子节点来说,根节点A和根节点B中一个为主根节点,另一个为备份根节点。Figure 1 is a schematic diagram of an implementation scenario of BIER provided by an embodiment of the present application. The implementation scenario shown in Figure 1 includes multicast source A, root node A, root node B, intermediate node A, intermediate node B, intermediate node C, Intermediate node D, leaf node A, leaf node B, leaf node C, leaf node D, multicast receiving device A, multicast receiving device B, multicast receiving device C and multicast receiving device D. Multicast sources include but are not limited to servers, terminals, etc. Multicast source A is used to generate and send multicast service data. The multicast service data generated by multicast source A includes but is not limited to audio data, video data, etc. Root node A, root node B, intermediate node A, intermediate node B, intermediate node C, intermediate node D, leaf node A, leaf node B, leaf node C, and leaf node D are deployed in the same BIER domain. These nodes can be network devices such as routers, switches, etc. Root node A and root node B are the BFIR of the BIER domain. Leaf node A, leaf node B, leaf node C, and leaf node D are BFERs of the BIER domain. For any leaf node among leaf node A, leaf node B, leaf node C, and leaf node D, one of root node A and root node B is the main root node, and the other is the backup root node.
根节点A、根节点B接收来自组播源A的相同组播业务数据,并将接收的组播业务数据进行BIER MPLS封装或者BIERv6封装,得到组播数据报文,其中,组播数据报文中包括有BIER头。然后,根节点A、根节点B根据比特索引转发表(bit index forwarding table,BIFT),将封装了bit string的组播数据报文发给下一跳。下一跳可以为中间节点或叶子节点。Root node A and root node B receive the same multicast service data from multicast source A, and perform BIER MPLS encapsulation or BIERv6 encapsulation on the received multicast service data to obtain a multicast data packet, in which the multicast data packet Included is the BIER header. Then, root node A and root node B send the multicast data message encapsulated in the bit string to the next hop according to the bit index forwarding table (BIFT). The next hop can be an intermediate node or a leaf node.
中间节点用于根据保存的BIFT,将组播数据报文转发至叶子节点。相应的,在不考虑传输过程中导致的组播数据报文出现误码的情况下,叶子节点可以接收到来自主根节点的组播数据报文以及来自备份根节点的组播数据报文。The intermediate node is used to forward multicast data packets to leaf nodes based on the saved BIFT. Correspondingly, without considering the bit errors in multicast data packets caused during the transmission process, leaf nodes can receive multicast data packets from the primary root node and multicast data packets from the backup root node.
叶子节点接收到中间节点或者根节点发送的组播数据报文后,判断BIER头的比特串中与自身的BFR ID对应的比特位为1。叶子节点判断该组播数据报文是来自主根节点还是备份根节点。如果确定该组播数据报文来自主根节点,则对组播数据报文剥离BIER MPLS封装或者BIERv6封装,并查询组播转发表,将剥离BIER MPLS封装或者BIERv6封装后的组播业务数据转发至相应的组播接收设备;如果确定该组播数据报文来自备份根节点,则可以将接收到的组播数据报文丢弃。下面对叶子节点如何判断组播数据报文是来自哪个根节点进行说明:After the leaf node receives the multicast data message sent by the intermediate node or the root node, it determines that the bit corresponding to its own BFR ID in the bit string of the BIER header is 1. The leaf node determines whether the multicast data packet comes from the main root node or the backup root node. If it is determined that the multicast data packet comes from the main root node, the multicast data packet is stripped of the BIER MPLS encapsulation or BIERv6 encapsulation, and the multicast forwarding table is queried, and the multicast service data after the BIER MPLS encapsulation or BIERv6 encapsulation is stripped is forwarded to The corresponding multicast receiving device; if it is determined that the multicast data packet comes from the backup root node, the received multicast data packet can be discarded. The following explains how leaf nodes determine which root node a multicast data packet comes from:
在组播数据报文是采用BIER MPLS封装的情况下,组播数据报文的BIER头中的BFIR-ID为发送该组播数据报文的根节点的BFR ID;在组播数据报文是采用BIERv6封装的情况下,组播数据报文外层的IPv6头中源地址即为发送该组播数据报文的根节点的地址。When the multicast data message is encapsulated using BIER MPLS, the BFIR-ID in the BIER header of the multicast data message is the BFR ID of the root node that sends the multicast data message; when the multicast data message is When BIERv6 encapsulation is used, the source address in the outer IPv6 header of the multicast data packet is the address of the root node that sends the multicast data packet.
为了实现对组播业务的SLA保障,同时又不影响单播业务,本申请实施例中,叶子节点通过获取第一路径传输的组播数据报文中携带的参数,确定第一路径的性能指标,其中,第一路径为叶子节点和主根节点之间的路径。在第一路径的性能指标不满足性能需求的情况下,叶子节点切换为接收并转发来第二路径的组播数据报文,其中,第二路径为叶子节点和备份 根节点之间的路径。下面结合图2,对叶子节点根据路径性能进行组播数据报文的切换进行说明。In order to achieve SLA guarantee for multicast services without affecting unicast services, in the embodiment of this application, the leaf node determines the performance index of the first path by obtaining the parameters carried in the multicast data packet transmitted by the first path. , where the first path is the path between the leaf node and the main root node. When the performance index of the first path does not meet the performance requirements, the leaf node switches to receive and forward the multicast data packets from the second path, where the second path is the path between the leaf node and the backup root node. The following describes the switching of multicast data packets by leaf nodes based on path performance with reference to Figure 2.
参见图2,假设叶子节点B对应的主根节点和备份根节点分别为:根节点A和根节点B。根节点A和叶子节点B之间通过第一路径传输组播数据报文,根节点B和叶子节点B之间通过第二路径传输组播数据报文。在正常情况下,叶子节点B接收并转发第一路径的组播数据报文,而对于第二路径的组播数据报文可以丢弃。叶子节点B可以根据第一路径传输的组播数据报文中携带的参数,确定第一路径的性能指标,在第一路径的性能指标不满足性能需求的情况下,叶子节点B切换为接收并转发第二路径的组播数据报文。Referring to Figure 2, assume that the main root node and backup root node corresponding to leaf node B are: root node A and root node B respectively. Multicast data packets are transmitted between root node A and leaf node B through the first path, and multicast data packets are transmitted between root node B and leaf node B through the second path. Under normal circumstances, leaf node B receives and forwards multicast data packets on the first path, while multicast data packets on the second path can be discarded. Leaf node B can determine the performance index of the first path based on the parameters carried in the multicast data packet transmitted by the first path. When the performance index of the first path does not meet the performance requirements, leaf node B switches to receive and Forward multicast data packets on the second path.
在本申请实施例中,确定性能指标的方法可以有多种,不同的方法中,确定性能指标时所依据的参数也可以不同。下面结合不同的确定性能指标的方法,对本申请实施例提供的组播数据报文发送的方法进行说明。In the embodiments of this application, there may be multiple methods for determining the performance index, and in different methods, the parameters based on which the performance index is determined may also be different. The method for sending multicast data packets provided by the embodiments of this application will be described below in combination with different methods for determining performance indicators.
确定性能指标方法一、根据随流检测(in-situ flow information telemetry,IFIT)技术确定路径的性能指标:Method 1 for determining performance indicators: Determine the performance indicators of the path based on in-situ flow information telemetry (IFIT) technology:
参见图3,在采用方法一确定性能指标时,本申请实施例中组播数据报文发送的处理流程可以包括如下步骤,下面结合图2所示的实施场景,以根节点A为叶子节点B的主根节点,根节点B为叶子节点B的备份根节点为例,对图3所示的各步骤进行说明:Referring to Figure 3, when method 1 is used to determine performance indicators, the processing flow of multicast data message sending in the embodiment of the present application may include the following steps. The following is combined with the implementation scenario shown in Figure 2, with root node A as leaf node B. The main root node of , root node B is the backup root node of leaf node B as an example. The steps shown in Figure 3 are explained:
步骤301、主根节点和叶子节点开启IFIT检测功能。Step 301: Enable the IFIT detection function on the main root node and leaf nodes.
为了实现IFIT检测,可以预先对根节点A和叶子节点B进行IFIT检测功能配置。例如,根节点A接收IFIT检测指令以确定进行IFIT检测。其中,IFIT检测命令中可以包括组播源信息,组播源信息用于指示对组播源A的组播业务数据执行IFIT检测。根节点A在接收到组播源A发送的组播业务数据后,可以对组播业务数据封装IFIT头,使得生成的组播数据报文中包括有IFIT头。叶子节点B接收IFIT检测指令,使能IFIT检测功能。叶子节点B在接收到包括有IFIT头的组播数据报文后,可以根据IFIT头中携带的参数,执行IFIT检测。上述IFIT检测指令可以由控制器(controller)下发配置的方式实现或者静态配置。例如,控制器可以基于网络配置协议(network configuration protocol,NETCONF)、简单网络管理协议(simple network management protocol)等实现IFIT检测指令的下发。此外,在基于NETCONF实现时,具体可以采用NETCONF结合YANG模型(一种数据建模语言)的方式实现IFIT检测指令的下发。In order to implement IFIT detection, the IFIT detection function can be configured on root node A and leaf node B in advance. For example, root node A receives an IFIT detection instruction to determine to perform IFIT detection. The IFIT detection command may include multicast source information, and the multicast source information is used to instruct IFIT detection on the multicast service data of multicast source A. After receiving the multicast service data sent by multicast source A, root node A can encapsulate the IFIT header for the multicast service data, so that the generated multicast data packet includes an IFIT header. Leaf node B receives the IFIT detection instruction and enables the IFIT detection function. After receiving the multicast data message including the IFIT header, leaf node B can perform IFIT detection based on the parameters carried in the IFIT header. The above IFIT detection instructions can be implemented by the configuration issued by the controller or statically configured. For example, the controller can issue IFIT detection instructions based on network configuration protocol (NETCONF), simple network management protocol (simple network management protocol), etc. In addition, when implemented based on NETCONF, NETCONF combined with the YANG model (a data modeling language) can be used to implement the issuance of IFIT detection instructions.
步骤302、主根节点通过第一路径转发组播数据报文。Step 302: The main root node forwards the multicast data packet through the first path.
举例说明,根节点A在接收到组播源A发送的组播业务数据后,对组播业务数据进行封装,得到组播数据报文。具体的,根节点A可以对接收到的组播业务数据进行BIER MPLS封装或者BIERv6封装。此外,因为根节点A开启了IFIT检测功能,则还要对组播业务数据进行IFIT封装。这样,封装后的组播数据报文中包括有BIER头和IFIT头。在完成封装后,根节点A根据保存的BIFT中的表项,将封装得到的组播数据报文通过第一路径转发给中间节点A。For example, after receiving the multicast service data sent by multicast source A, root node A encapsulates the multicast service data to obtain a multicast data message. Specifically, root node A can perform BIER MPLS encapsulation or BIERv6 encapsulation on the received multicast service data. In addition, because the IFIT detection function is enabled on root node A, the multicast service data must be IFIT encapsulated. In this way, the encapsulated multicast data packet includes a BIER header and an IFIT header. After completing the encapsulation, root node A forwards the encapsulated multicast data message to intermediate node A through the first path according to the saved entry in BIFT.
下面对BIER MPLS封装和IFIT封装结合的组播数据报文的格式进行说明:The following describes the format of the multicast data message that combines BIER MPLS encapsulation and IFIT encapsulation:
参见图4,BIER MPLS封装和IFIT封装结合的组播数据报文中包括以太头、BIER头、IFIT头和互联网协议组播净荷(IP multicast payload),IP multicast payload即为来自组播源的组播业务数据。其中,IFIT头有多种可能的格式,在图4中,示例性的示出了其中两种可能 的格式。参见表1,在IFIT头的格式一中可以包括有如下字段:Referring to Figure 4, the multicast data packet combined with BIER MPLS encapsulation and IFIT encapsulation includes an Ethernet header, a BIER header, an IFIT header and an Internet Protocol multicast payload (IP multicast payload). The IP multicast payload is from the multicast source. Multicast service data. Among them, the IFIT header has multiple possible formats. In Figure 4, two of the possible formats are exemplarily shown. Referring to Table 1, the following fields can be included in Format 1 of the IFIT header:
表1Table 1
字段Field 描述describe
FlowMonID(20bits)FlowMonID(20bits) 被监测的业务流标识,设备内唯一The identifier of the monitored business flow, unique within the device
L(1bit)L(1bit) 丢包检测染色标识Packet loss detection dyeing mark
D(1bit)D(1bit) 时延检测染色标识Time delay detection dyeing mark
HTI(8bits)HTI(8bits) 标识扩展头的类型Identifies the type of extension header
NodeMonID(20bits)NodeMonID(20bits) 流监测的设备节点标识Device node ID for flow monitoring
F(1bit)F(1bit) 业务流方向标识Business flow direction identifier
P(3bits)P(3bits) 测量周期Measurement period
T(2bits)T(2bits) 标识检测类型Identification detection type
Ext FM Type(16bits)Ext FM Type(16bits) 扩展流检测类型标识Extended flow detection type identification
R(1bit)/Rsv(6bits)/Reversed(16bits)R(1bit)/Rsv(6bits)/Reversed(16bits) 保留字段reserved text
IFIT头的格式二相比于IFIT头的格式一,多出了一个字段timestamp:表示组播数据报文的发送时间戳。Compared with format one of the IFIT header, format two of the IFIT header has an additional field timestamp: indicating the sending timestamp of the multicast data packet.
下面对BIERv6封装和IFIT封装结合的组播数据报文的格式进行说明:The following describes the format of the multicast data message that combines BIERv6 encapsulation and IFIT encapsulation:
参见图5,BIERv6封装和IFIT封装结合的组播数据报文可以包括IPv6头、包含BIER头的IPv6扩展头、包含IFIT头的IPv6扩展头和IP multicast payload。对应于IFIT头的多种可能格式,包含有IFIT头的IPv6扩展头也有多种可能格式。在图5中,示例性的示出了其中两种可能的格式。Referring to Figure 5, the multicast data message combining BIERv6 encapsulation and IFIT encapsulation can include an IPv6 header, an IPv6 extension header including a BIER header, an IPv6 extension header including an IFIT header, and an IP multicast payload. Corresponding to the multiple possible formats of the IFIT header, the IPv6 extension header containing the IFIT header also has multiple possible formats. In Figure 5, two possible formats are exemplarily shown.
根节点A在对来自组播源A的组播业务数据进行IFIT封装时,通过在IFIT头中L字段和D字段添加相应值,来实现传输时延、丢包率等性能指标的检测。When root node A performs IFIT encapsulation of multicast service data from multicast source A, it adds corresponding values to the L field and D field in the IFIT header to detect performance indicators such as transmission delay and packet loss rate.
下面对L字段和D字段中添加值的规则进行说明。The rules for adding values in the L field and D field are explained below.
一、L字段中添加值的规则:1. Rules for adding values in the L field:
在接收到组播源A发送的组播业务数据后,根节点A确定当前所处的丢包检测周期为第E个丢包检测周期,如果E为奇数,则在对该组播业务数据进行IFIT封装时,在L字段中添加值“1”;如果E为偶数,则在对该组播业务数据进行IFIT封装时,在L字段中添加值“0”。这样,可以使相邻丢包检测周期发出的组播数据报文中L字段的值不同,而同一个丢包检测周期内发出的组播数据报文中L字段的值相同。After receiving the multicast service data sent by multicast source A, root node A determines that the current packet loss detection period is the Eth packet loss detection period. If E is an odd number, the multicast service data is processed again. When performing IFIT encapsulation, add the value "1" to the L field; if E is an even number, add the value "0" to the L field when performing IFIT encapsulation of the multicast service data. In this way, the values of the L field in the multicast data packets sent in adjacent packet loss detection periods can be different, while the values of the L field in the multicast data packets sent in the same packet loss detection period can be the same.
此外,在第E个丢包检测周期结束时,根节点A还可以将第E个丢包检测周期的周期标识、以及第E个丢包检测周期对应的第一报文数目发送给控制器。其中,第一报文数目表示第E个丢包检测周期内发出的净荷来自组播源A的组播数据报文的数目。In addition, at the end of the E-th packet loss detection cycle, root node A may also send the cycle identifier of the E-th packet loss detection cycle and the first number of messages corresponding to the E-th packet loss detection cycle to the controller. The number of first packets represents the number of multicast data packets with payloads from multicast source A sent in the E-th packet loss detection cycle.
二、D字段中添加值的规则(D字段中值为1,则表示组播数据报文可用于时延检测):2. Rules for adding values in the D field (if the value in the D field is 1, it means that the multicast data packet can be used for delay detection):
对于D字段中添加值的规则可以有如下两种实现方案:There are two implementation options for the rules for adding values in the D field:
方案一、设置时延检测周期:Solution 1: Set the delay detection period:
在接收到组播源A发送的组播业务数据后,根节点A确定该组播业务数据是当前时延检测周期内第几次接收到的来自组播源A的组播业务数据。如果当前接收到的组播业务数据是当前时延检测周期内第G次接收到的来自组播源A的组播业务数据,则在对该组播业务数据进行IFIT封装时,在D字段中添加值“1”;如果当前接收到的组播业务数据不是当前时延检 测周期内第G次接收到的来自组播源A的组播业务数据,则在对该组播业务数据进行IFIT封装时,在D字段中添加值“0”。其中,G为预设数值,如G=3。After receiving the multicast service data sent by multicast source A, root node A determines whether the multicast service data is the multicast service data received from multicast source A within the current delay detection period. If the currently received multicast service data is the G-th received multicast service data from multicast source A within the current delay detection period, when performing IFIT encapsulation of the multicast service data, in the D field Add the value "1"; if the currently received multicast service data is not the multicast service data received from multicast source A for the Gth time within the current delay detection period, IFIT encapsulation is performed on the multicast service data. When , add the value "0" in the D field. Among them, G is a preset value, such as G=3.
此外,根节点A在对封装后得到的组播数据报文进行转发后,如果该组播数据报文中IFIT头的D字段值为1,则将当前时延检测周期的周期标识、以及该组播数据报文的发送时间戳,发送给控制器。其中,时延检测周期的周期标识用于表示对应的时延检测周期为第几个时延检测周期。In addition, after root node A forwards the encapsulated multicast data message, if the D field value of the IFIT header in the multicast data message is 1, it will add the cycle identifier of the current delay detection cycle and the The sending timestamp of the multicast data packet is sent to the controller. The period identifier of the delay detection period is used to indicate which delay detection period the corresponding delay detection period is.
方案二、不设置时延检测周期:Option 2: Do not set the delay detection period:
在该方案二中,IFIT头格式可以采用包含有timestamp字段的IFIT头格式,例如,图4或5中示出的IFIT头的格式一。In the second solution, the IFIT header format may adopt an IFIT header format including a timestamp field, for example, the IFIT header format one shown in Figure 4 or 5.
在接收到组播源A发送的组播业务数据后,根节点A在对该组播业务数据进行IFIT封装时,在D字段添加值“1”,并在IFIT头中的timestamp字段添加发送时间戳。其中,添加的发送时间戳可以为执行IFIT封装时获取的当前时间戳,也可以为执行IFIT封装时获取的当前时间戳再加上预设延迟时长得到的发送时间戳,预设延迟时长为预先设置的从IFIT封装到发送对应的组播数据报文所经历的时长。After receiving the multicast service data sent by multicast source A, when root node A performs IFIT encapsulation of the multicast service data, it adds the value "1" to the D field and adds the sending time to the timestamp field in the IFIT header. stamp. Among them, the added sending timestamp can be the current timestamp obtained when executing IFIT encapsulation, or it can be the sending timestamp obtained by adding the current timestamp obtained when executing IFIT encapsulation plus the preset delay time, and the preset delay time is preset Set the time elapsed from IFIT encapsulation to sending the corresponding multicast data message.
在该方案二中,由于在IFIT头中携带了组播数据报文的发送时间戳,则根节点A无需再向控制器发送组播数据报文的发送时间戳。In the second solution, since the IFIT header carries the sending timestamp of the multicast data message, root node A no longer needs to send the sending timestamp of the multicast data message to the controller.
步骤303、叶子节点通过和主根节点之间的第一路径接收组播数据报文。Step 303: The leaf node receives the multicast data message through the first path between the leaf node and the main root node.
举例说明,中间节点B在接收到中间节点A发送的组播数据报文后,解析该组播数据报文中的bit string,并根据BIFT中的表项,对bit string进行更新,更新后的bit string中仅叶子节点B对应的比特位为1。然后,中间节点B将更新后的组播数据报文通过第一路径发送给叶子节点B。进而,叶子节点B可以通过第一路径接收到中间节点B发送的组播数据报文。For example, after receiving the multicast data message sent by intermediate node A, intermediate node B parses the bit string in the multicast data message and updates the bit string according to the entry in BIFT. The updated Only the bit corresponding to leaf node B in the bit string is 1. Then, the intermediate node B sends the updated multicast data message to the leaf node B through the first path. Furthermore, the leaf node B can receive the multicast data message sent by the intermediate node B through the first path.
步骤304、叶子节点根据通过第一路径接收的组播数据报文中的IFIT头,确定第一路径的性能指标。Step 304: The leaf node determines the performance index of the first path based on the IFIT header in the multicast data packet received through the first path.
举例说明,叶子节点B在接收到组播数据报文后,根据组播数据报文中的BIER头中的BFIR-ID或者IPv6头中的源地址,确定该组播数据报文是来自根节点A。然后,根据该组播数据报文中的IFIT头进行丢包检测和/或时延检测。下面分别对丢包检测和时延检测进行说明:For example, after receiving the multicast data packet, leaf node B determines that the multicast data packet comes from the root node based on the BFIR-ID in the BIER header or the source address in the IPv6 header in the multicast data packet. A. Then, packet loss detection and/or delay detection is performed based on the IFIT header in the multicast data message. The following describes packet loss detection and delay detection respectively:
一、丢包检测:1. Packet loss detection:
叶子节点B在确定组播数据报文是来自根节点A之后,确定当前所处的丢包检测周期为第Q个丢包检测周期。如果Q为奇数,则判断该组播数据报文的IFIT头中L字段的值是否为1,如果确定L字段的值为1,则在记录的第Q个丢包检测周期对应的报文数目加一。在Q为奇数的情况下,第Q个丢包检测周期对应的报文数目表示:第Q个丢包检测周期内已经接收到的来自根节点A、携带的IP multicast payload来自组播源A、且L字段值为1的组播数据报文的数目。如果Q为偶数,则判断该组播数据报文的IFIT中L字段的值是否为0,如果确定L字段的值为0,则在记录的第Q个丢包检测周期对应的报文数目加一。在Q为偶数的情况下,第Q个丢包检测周期对应的报文数目表示:第Q个丢包检测周期内已经接收到的来自根节点A、携带的IP multicast payload来自组播源A、且L字段值为0的组播数据报文的数目。After confirming that the multicast data packet comes from root node A, leaf node B determines that the current packet loss detection period is the Qth packet loss detection period. If Q is an odd number, determine whether the value of the L field in the IFIT header of the multicast data packet is 1. If it is determined that the value of the L field is 1, then determine the number of packets corresponding to the Qth packet loss detection cycle recorded plus one. When Q is an odd number, the number of packets corresponding to the Q-th packet loss detection cycle indicates: the IP multicast payload carried from root node A and carried by the Q-th packet loss detection cycle is from multicast source A, The number of multicast data packets whose L field value is 1. If Q is an even number, determine whether the value of the L field in the IFIT of the multicast data packet is 0. If it is determined that the value of the L field is 0, then add the number of packets corresponding to the recorded Qth packet loss detection period. one. When Q is an even number, the number of packets corresponding to the Q-th packet loss detection cycle indicates: the IP multicast payload carried by root node A and carried from multicast source A has been received in the Q-th packet loss detection cycle. The number of multicast data packets whose L field value is 0.
在第Q个丢包检测周期结束后,叶子节点B可以将当前统计的第Q个丢包检测周期的周 期标识和第Q个丢包检测周期对应的第二报文数目发送至控制器。After the Qth packet loss detection cycle ends, leaf node B can send the currently counted cycle identifier of the Qth packet loss detection cycle and the second number of messages corresponding to the Qth packet loss detection cycle to the controller.
控制器接收到叶子节点B发送的第Q个丢包检测周期的周期标识和第二报文数目后,查询根节点A发送的第Q个丢包检测周期对应的第三报文数目。然后,控制器根据第二报文数目和第三报文数目,计算第一路径的丢包数。此外,控制器还可以根据计算出的丢包数和第三报文数目,可以计算出丢包率。再然后,控制器可以将第Q个丢包检测周期对应的丢包数和/或丢包率发送给叶子节点B。After receiving the cycle identifier and the second message number of the Qth packet loss detection cycle sent by leaf node B, the controller queries the third message number corresponding to the Qth packet loss detection cycle sent by root node A. Then, the controller calculates the number of packet losses on the first path based on the number of second packets and the number of third packets. In addition, the controller can also calculate the packet loss rate based on the calculated number of lost packets and the number of third packets. Then, the controller can send the number of packets lost and/or the packet loss rate corresponding to the Qth packet loss detection cycle to leaf node B.
二、时延检测:2. Delay detection:
根据IFIT头是否携带发送时间戳,时延检测的方法也可以不同1。Depending on whether the IFIT header carries a transmission timestamp, the delay detection method can also be different1.
(一)、IFIT头不携带发送时间戳(1) The IFIT header does not carry the sending timestamp
叶子节点B在确定组播数据报文是来自根节点A之后,如果确定该组播数据报文的IFIT头中的D字段的值为1,则获取该组播数据报文的接收时间戳,并确定当前所处的时延检测周期为第W个时延检测周期。然后,叶子节点B将获取的接收时间戳和第W个时延检测周期的周期标识发送给控制器。After leaf node B determines that the multicast data packet comes from root node A, if it determines that the value of the D field in the IFIT header of the multicast data packet is 1, it obtains the reception timestamp of the multicast data packet. And determine that the current delay detection period is the W-th delay detection period. Then, leaf node B sends the obtained reception timestamp and the cycle identifier of the W-th delay detection cycle to the controller.
控制器接收到叶子节点B发送的第W个时延检测周期的周期标识和接收时间戳后,查询根节点A发送的第W个时延检测周期对应的发送时间戳。然后,控制器计算发送时间戳和接收时间戳之间的时间差,作为第一路径在第W个时延检测周期的第一传输时延。此外,控制器还可以获取第一路径在第W-1个时延检测周期的第二传输时延,并计算第一传输时延和第二传输时延之间的时间差,作为第一路径的时延抖动。再然后,控制器可以将计算得到的第一传输时延和/或时延抖动发送给叶子节点B。After receiving the cycle identifier and reception timestamp of the W-th delay detection cycle sent by leaf node B, the controller queries the sending timestamp corresponding to the W-th delay detection cycle sent by root node A. Then, the controller calculates the time difference between the sending timestamp and the receiving timestamp as the first transmission delay of the first path in the W-th delay detection period. In addition, the controller can also obtain the second transmission delay of the first path in the W-1th delay detection period, and calculate the time difference between the first transmission delay and the second transmission delay as the first path's second transmission delay. Delay jitter. Then, the controller may send the calculated first transmission delay and/or delay jitter to the leaf node B.
(二)、IFIT头携带发送时间戳(2) The IFIT header carries the sending timestamp
叶子节点B在确定组播数据报文是来自根节点A之后,如果确定该组播数据报文的IFIT头中的D字段的值为1,则获取IFIT头中携带的发送时间戳,并获取该组播数据报文的接收时间戳。然后,叶子节点B计算发送时间戳和接收时间戳之间的时间差,作为第一路径的第三传输时延。此外,叶子节点B还可以获取上一次计算得到第一路径的第四传输时延,并计算第三传输时延和第四传输时延之间的时间差,作为第一路径的时延抖动。After leaf node B determines that the multicast data message comes from root node A, if it determines that the value of the D field in the IFIT header of the multicast data message is 1, it obtains the sending timestamp carried in the IFIT header and obtains The reception timestamp of this multicast data packet. Then, leaf node B calculates the time difference between the sending timestamp and the receiving timestamp as the third transmission delay of the first path. In addition, leaf node B can also obtain the last calculated fourth transmission delay of the first path, and calculate the time difference between the third transmission delay and the fourth transmission delay as the delay jitter of the first path.
在一种可能的实现中,在IFIT头携带发送时间戳的情况下,也可以由控制器计算第一路径的传输时延和/时延抖动。相应的,在此情况下,叶子节点B和控制器的处理可以如下:In a possible implementation, when the IFIT header carries a transmission timestamp, the controller can also calculate the transmission delay and/or delay jitter of the first path. Correspondingly, in this case, the processing of leaf node B and the controller can be as follows:
叶子节点B在确定组播数据报文是来自对应的主根节点(根节点A)之后,如果确定该组播数据报文的IFIT头中的D字段的值为1,则获取IFIT头中携带的发送时间戳,并获取该组播数据报文的接收时间戳。然后,叶子节点B将发送时间戳和接收时间戳发送给控制器。控制器接收到叶子节点B发送的发送时间戳和接收时间戳后,计算发送时间戳和接收时间戳之间的时间差,作为第一路径的第三传输时延。此外,控制器还可以获取上一次计算得到第一路径的第四传输时延,并计算第三传输时延和第四传输时延之间的时间差,作为第一路径的时延抖动。再然后,控制器将计算得到的第三传输时延和/或时延抖动发送给叶子节点B。After leaf node B determines that the multicast data packet comes from the corresponding main root node (root node A), if it determines that the value of the D field in the IFIT header of the multicast data packet is 1, it obtains the value carried in the IFIT header. Send the timestamp and obtain the reception timestamp of the multicast data packet. Then, leaf node B sends the sending timestamp and receiving timestamp to the controller. After receiving the sending timestamp and receiving timestamp sent by leaf node B, the controller calculates the time difference between the sending timestamp and the receiving timestamp as the third transmission delay of the first path. In addition, the controller can also obtain the last calculated fourth transmission delay of the first path, and calculate the time difference between the third transmission delay and the fourth transmission delay as the delay jitter of the first path. Then, the controller sends the calculated third transmission delay and/or delay jitter to leaf node B.
步骤305、如果根据第一路径的性能指标,确定第一路径不满足性能需求,叶子节点则接收备份根节点通过第二路径发送的组播数据报文。Step 305: If it is determined that the first path does not meet the performance requirements according to the performance index of the first path, the leaf node receives the multicast data message sent by the backup root node through the second path.
叶子节点B如果根据第一路径的性能指标,确定第一路径不满足性能需求,则可以开始接收根节点B通过第二路径发送的组播数据报文。并对通过第二路径接收的组播数据报文剥离BIER MPLS封装或者BIERv6封装,得到相应的组播业务数据。然后,将得到的组播业务 数据转发给组播接收设备B。此外,对于通过第一路径接收的组播数据报文,叶子节点B可以做丢弃处理。叶子节点B判断第一路径是否满足性能需求的方法可以有多种,下面列举其中几种进行说明:If the leaf node B determines that the first path does not meet the performance requirements based on the performance index of the first path, it can start receiving multicast data packets sent by the root node B through the second path. And strip the BIER MPLS encapsulation or BIERv6 encapsulation of the multicast data packets received through the second path to obtain the corresponding multicast service data. Then, the obtained multicast service data is forwarded to multicast receiving device B. In addition, leaf node B may discard multicast data packets received through the first path. There are many ways for leaf node B to determine whether the first path meets the performance requirements. Several of them are listed below for explanation:
方法一、根据当前获取到的第一路径的性能指标,判断第一路径是否满足性能需求。Method 1: Determine whether the first path meets the performance requirements based on the currently obtained performance index of the first path.
例如,在性能指标包括丢包数的情况下,叶子节点B在获取到第一路径的丢包数后,如果确定该丢包数大于丢包数阈值,则确定第一路径不满足性能需求。又例如,在性能指标包括丢包率的情况下,叶子节点B在获取到第一路径的丢包率后,如果确定该丢包率大于丢包率阈值,则确定第一路径不满足性能需求。又例如,在性能指标包括传输时延的情况下,叶子节点B在获取到第一路径的传输时延后,如果确定该传输时延大于时延阈值,则确定第一路径不满足性能需求。又例如,在性能指标包括时延抖动的情况下,叶子节点B在获取到第一路径的时延抖动后,如果确定该时延抖动大于抖动阈值,则确定第一路径不满足性能需求。For example, when the performance indicator includes the number of packet losses, after leaf node B obtains the number of packet losses of the first path, if it determines that the number of packet losses is greater than the packet loss threshold, it determines that the first path does not meet the performance requirements. For another example, when the performance index includes the packet loss rate, after leaf node B obtains the packet loss rate of the first path, if it determines that the packet loss rate is greater than the packet loss rate threshold, it determines that the first path does not meet the performance requirements. . For another example, when the performance index includes transmission delay, after leaf node B obtains the transmission delay of the first path, if it determines that the transmission delay is greater than the delay threshold, it determines that the first path does not meet the performance requirements. For another example, when the performance index includes delay jitter, after leaf node B obtains the delay jitter of the first path, if it determines that the delay jitter is greater than the jitter threshold, it determines that the first path does not meet the performance requirements.
方法二、根据连续多次获取到的第一路径的性能指标,综合判断第一路径是否满足性能需求。Method 2: Based on the performance indicators of the first path obtained multiple times in a row, comprehensively determine whether the first path meets the performance requirements.
该方法二可以有多种实现方式,下面列举其中两种进行说明:Method 2 can be implemented in a variety of ways. Two of them are listed below for explanation:
实施方式一:Implementation method one:
例如,在性能指标包括丢包数的情况下,叶子节点B在获取到第一路径的丢包数后,可以再获取在本次之前连续K次获取到的第一路径的丢包数,并根据本次获取的第一路径的丢包数以及在本次之前连续K次获取到的第一路径的丢包数,计算平均丢包数,如果平均丢包数大于丢包数阈值,则确定第一路径不满足性能需求。又例如,在性能指标包括丢包率的情况下,叶子节点B在获取到第一路径的丢包率后,可以再获取在本次之前连续K次获取到的第一路径的丢包率,并根据第一路径的丢包率以及在本次之前连续K次获取到的第一路径的丢包率,计算平均丢包率,如果平均丢包率大于丢包率阈值,则确定第一路径不满足性能需求。又例如,在性能指标包括传输时延的情况下,叶子节点B在获取到第一路径的传输时延后,可以再获取在本次之前连续K次获取到的第一路径的传输时延,并根据本次获取的第一路径的传输时延以及在本次之前连续K次获取到的第一路径的传输时延,计算平均传输时延,如果平均传输时延大于时延阈值,则确定第一路径不满足性能需求。又例如,在性能指标包括时延抖动的情况下,叶子节点B在获取到第一路径的时延抖动后,可以再获取在本次之前连续K次获取到的第一路径的时延抖动,并根据第一路径的时延抖动以及在本次之前连续K次获取到的第一路径的时延抖动,计算平均时延抖动,如果平均时延抖动大于抖动阈值,则确定第一路径不满足性能需求。其中,K为大于或等于1的正整数,可以由技术人员根据实际需求进行配置。For example, when the performance index includes the number of packet losses, after leaf node B obtains the number of packet losses of the first path, it can obtain the number of packet losses of the first path obtained K times consecutively before this time, and Based on the number of packet losses of the first path obtained this time and the number of packet losses of the first path obtained K times before this time, calculate the average number of packet losses. If the average number of packet losses is greater than the packet loss threshold, then determine The first path does not meet performance requirements. For another example, when the performance index includes the packet loss rate, after leaf node B obtains the packet loss rate of the first path, it can obtain the packet loss rate of the first path obtained K times consecutively before this time. And based on the packet loss rate of the first path and the packet loss rate of the first path obtained K times before this time, the average packet loss rate is calculated. If the average packet loss rate is greater than the packet loss rate threshold, the first path is determined Does not meet performance requirements. For another example, when the performance index includes transmission delay, after leaf node B obtains the transmission delay of the first path, it can obtain the transmission delay of the first path obtained K times consecutively before this time. And based on the transmission delay of the first path obtained this time and the transmission delay of the first path obtained K times before this time, the average transmission delay is calculated. If the average transmission delay is greater than the delay threshold, then determine The first path does not meet performance requirements. For another example, when the performance index includes delay jitter, after leaf node B obtains the delay jitter of the first path, it can obtain the delay jitter of the first path obtained K times consecutively before this time. And based on the delay jitter of the first path and the delay jitter of the first path obtained K times before this time, the average delay jitter is calculated. If the average delay jitter is greater than the jitter threshold, it is determined that the first path does not meet the Performance requirements. Among them, K is a positive integer greater than or equal to 1, which can be configured by technicians according to actual needs.
实施方式二:Implementation method two:
例如,在性能指标包括丢包数的情况下,叶子节点B在获取到第一路径的丢包数后,可以再获取在本次之前连续K次获取到的第一路径的丢包数,如果这连续K+1次获取到的第一路径的丢包数均大于丢包数阈值,则确定第一路径不满足性能需求。又例如,在性能指标包括丢包率的情况下,叶子节点B在获取到第一路径的丢包率后,可以再获取在本次之前连续K次获取到的第一路径的丢包率,如果这连续K+1次获取到的第一路径的丢包率均大于丢包率阈值,则确定第一路径不满足性能需求。又例如,在性能指标包括传输时延的情况下,叶子节点B在获取到第一路径的传输时延后,可以再获取在本次之前连续K次获取到的第一路 径的传输时延,如果这连续K+1次获取到的第一路径的传输时延均大于时延阈值,则确定第一路径不满足性能需求。又例如,在性能指标包括时延抖动的情况下,叶子节点B在获取到第一路径的时延抖动后,可以再获取在本次之前连续K次获取到的第一路径的时延抖动,如果这连续K+1次获取到的第一路径的时延抖动均大于抖动阈值,则确定第一路径不满足性能需求。For example, when the performance index includes the number of packet losses, after leaf node B obtains the number of packet losses of the first path, it can obtain the number of packet losses of the first path obtained K times consecutively before this time. If The packet loss number of the first path obtained K+1 consecutive times is greater than the packet loss threshold, and it is determined that the first path does not meet the performance requirements. For another example, when the performance index includes the packet loss rate, after leaf node B obtains the packet loss rate of the first path, it can obtain the packet loss rate of the first path obtained K times consecutively before this time. If the packet loss rate of the first path obtained for K+1 consecutive times is greater than the packet loss rate threshold, it is determined that the first path does not meet the performance requirements. For another example, when the performance index includes transmission delay, after leaf node B obtains the transmission delay of the first path, it can obtain the transmission delay of the first path obtained K times consecutively before this time. If the transmission delays of the first path obtained for K+1 consecutive times are greater than the delay threshold, it is determined that the first path does not meet the performance requirements. For another example, when the performance index includes delay jitter, after leaf node B obtains the delay jitter of the first path, it can obtain the delay jitter of the first path obtained K times consecutively before this time. If the delay jitter of the first path obtained for K+1 consecutive times is greater than the jitter threshold, it is determined that the first path does not meet the performance requirements.
方法三、根据单个流切换检测周期内获取到的第一路径的性能指标,判断第一路径是否满足性能需求。Method 3: Determine whether the first path meets the performance requirements based on the performance index of the first path obtained within a single flow switching detection cycle.
叶子节点B可以配置有流切换检测周期,该单个流切换检测周期的时长可以大于单个时延检测周期和单个丢包检测周期。叶子节点B可以对单个流切换检测周期内获取到的性能指标进行统计。不同性能指标的统计方法可以不同。例如,如果性能指标中包括丢包数,那么,每当一个流切换检测结束后,叶子节点B可以将该流切换检测周期内获取到的第一路径的丢包数累加。又例如,如果性能指标中包括丢包率,那么,每当一个流切换检测结束后,叶子节点B可以对该流切换检测周期内获取到的第一路径的丢包率求取均值。又例如,如果性能指标中包括传输时延,那么,每当一个流切换检测结束后,叶子节点B可以将该流切换检测周期内获取到的第一路径的传输时延求取均值。又例如,如果性能指标中包括时延抖动,那么,每当一个流切换检测结束后,叶子节点B可以将该流切换检测周期内获取到的时延抖动求取均值。Leaf node B can be configured with a flow switching detection period, and the length of this single flow switching detection period can be longer than a single delay detection period and a single packet loss detection period. Leaf node B can collect statistics on the performance indicators obtained during a single flow switching detection cycle. The statistical methods for different performance indicators can be different. For example, if the performance index includes the number of packet losses, then each time a flow switching detection is completed, leaf node B can accumulate the number of packet losses on the first path obtained during the flow switching detection period. For another example, if the performance index includes packet loss rate, then each time a flow switching detection is completed, leaf node B can average the packet loss rate of the first path obtained during the flow switching detection period. For another example, if the performance index includes transmission delay, then each time a flow switching detection is completed, leaf node B can average the transmission delay of the first path obtained during the flow switching detection period. For another example, if the performance index includes delay jitter, then, whenever a flow switching detection is completed, leaf node B can average the delay jitter obtained during the flow switching detection period.
每当一个流切换检测结束后,叶子节点B如果确定该流切换检测周期统计得到的第一路径的性能指标中有至少一项大于该项对应的阈值,则确定第一路径不满足性能需求。Whenever a flow switching detection is completed, if leaf node B determines that at least one of the performance indicators of the first path obtained from the statistics of the flow switching detection cycle is greater than the corresponding threshold value of the item, it determines that the first path does not meet the performance requirements.
例如,性能指标包括丢包数、丢包率、传输时延、时延抖动等,丢包数、丢包率、传输时延、时延抖动等各自对应有一个阈值。每当一个流切换检测结束后,叶子节点B如果确定该流切换检测周期统计到的第一路径的丢包数、丢包率、传输时延、时延抖动中至少一项大于对应的阈值,则确定第一路径不满足性能需求。For example, performance indicators include packet loss number, packet loss rate, transmission delay, delay jitter, etc. Each of the packet loss number, packet loss rate, transmission delay, delay jitter, etc. has a corresponding threshold. Whenever a flow switching detection is completed, if leaf node B determines that at least one of the packet loss number, packet loss rate, transmission delay, and delay jitter of the first path counted during the flow switching detection period is greater than the corresponding threshold, Then it is determined that the first path does not meet the performance requirements.
方法四、根据连续多个流切换检测周期内获取到的第一路径的性能指标,判断第一路径是否满足性能需求。Method 4: Determine whether the first path meets the performance requirements based on the performance indicators of the first path obtained during multiple consecutive flow switching detection cycles.
每当一个流切换检测结束后,叶子节点B对该流切换检测周期内获得的第一路径的性能指标进行统计,并获取该流切换检测周期之前的连续Y个流切换检测周期分别统计得到的第一路径的性能指标。叶子节点B如果判断这Y+1个流切换检测周期中的每个流切换检测周期均有至少一项性能指标大于该项对应的阈值,则确定第一路径不满足性能需求。其中,Y为大于或等于1的正整数,可以由技术人员根据实际需求进行配置。Whenever a flow switching detection is completed, leaf node B performs statistics on the performance indicators of the first path obtained during the flow switching detection period, and obtains the statistics of Y consecutive flow switching detection periods before the flow switching detection period. Performance indicators of the first path. If leaf node B determines that each of the Y+1 flow switching detection periods has at least one performance index greater than the corresponding threshold, it determines that the first path does not meet the performance requirements. Among them, Y is a positive integer greater than or equal to 1, which can be configured by technical personnel according to actual needs.
或者,每当一个流切换检测结束后,叶子节点B可以对该流切换检测周期内获得的第一路径的性能指标进行统计,并获取该流切换检测周期之前的连续Y个流切换检测周期分别统计得到的第一路径的性能指标。然后,叶子节点B对这Y+1个流切换检测周期统计得到的性能指标,进行综合统计。如果Y+1个流切换检测周期综合统计得到的性能指标中有至少一项大于该项对应的阈值,则确定第一路径不满足性能需求。下面对上述“综合统计”进行举例说明。Alternatively, whenever a flow switching detection is completed, leaf node B can make statistics on the performance indicators of the first path obtained during the flow switching detection period, and obtain the Y consecutive flow switching detection periods before the flow switching detection period, respectively. The performance indicators of the first path obtained by statistics. Then, leaf node B performs comprehensive statistics on the performance indicators obtained from the Y+1 flow switching detection cycles. If at least one of the performance indicators obtained by comprehensive statistics of Y+1 flow switching detection cycles is greater than the corresponding threshold of the item, it is determined that the first path does not meet the performance requirements. The following is an example of the above “comprehensive statistics”.
例如,如果性能指标中包括丢包数,那么,叶子节点B可以将Y+1个流切换检测周期分别统计得到的丢包数累加。又例如,如果性能指标中包括丢包率,那么,叶子节点B可以将Y+1个流切换检测周期分别统计得到的丢包率求取均值。又例如,如果性能指标中包括传输 时延,那么,叶子节点B可以将Y+1个流切换检测周期分别统计得到的传输时延求取均值。又例如,如果性能指标中包括时延抖动,那么,叶子节点B可以将连续Y+1个流切换检测周期分别统计得到的时延抖动求取均值。For example, if the performance index includes the number of lost packets, leaf node B can accumulate the number of lost packets obtained from Y+1 flow switching detection cycles. For another example, if the performance index includes the packet loss rate, then leaf node B can average the packet loss rates obtained from Y+1 flow switching detection cycles. For another example, if the performance index includes transmission delay, then leaf node B can average the transmission delays obtained from Y+1 flow switching detection cycles. For another example, if the performance index includes delay jitter, then leaf node B can average the delay jitter obtained by counting Y+1 consecutive flow switching detection cycles.
可选的,对于备份根节点和叶子节点之间的第二路径,叶子节点也可以确定该第二路径的性能指标,具体的确定方法与上述步骤301-304确定第一路径的性能指标的方法相同,在此不再赘述。此外,确定第二路径的性能指标和确定第一路径的性能指标可以同时进行。Optionally, for the second path between the backup root node and the leaf node, the leaf node can also determine the performance index of the second path. The specific determination method is the same as the method of determining the performance index of the first path in steps 301-304 above. are the same and will not be repeated here. In addition, determining the performance index of the second path and determining the performance index of the first path may be performed simultaneously.
在此情况下,在上述步骤305执行之前,可以先执行如下步骤:确定第二路径的性能指标所指示的性能是否优于第一路径的性能指标所指示的性能,如果第二路径的性能优于第一路径的性能,则继续执行步骤305。In this case, before the above step 305 is performed, the following steps may be performed: determine whether the performance indicated by the performance index of the second path is better than the performance indicated by the performance index of the first path. If the performance of the second path is better If the performance of the first path is insufficient, step 305 is continued.
举例说明,叶子节点B确定第一路径的性能指标,并确定第二路径的性能指标。如果确定第二路径的性能指标中的各项均小于第一路径的性能指标,则确定第二路径的性能优于第一路径的性能。For example, leaf node B determines the performance index of the first path and determines the performance index of the second path. If it is determined that each item in the performance index of the second path is smaller than the performance index of the first path, it is determined that the performance of the second path is better than the performance of the first path.
可选的,为了避免在接收来自主根节点的组播数据流和接收来自备根节点的组播数据流之间的频繁切换,还可以在执行步骤305之后,执行如下步骤:确定第二路径的性能指标是否满足性能需求,如果第二路径的性能指标不满足性能需求,则在第一时长后,重新通过第一路径接收的组播数据报文,并对通过第一路径接收的组播数据报文剥离BIER MPLS封装或者BIERv6封装,得到相应的组播业务数据,将得到的组播业务数据转发给相应的组播接收设备。其中,第一时长可以为技术人员根据实际需求预先配置在叶子节点中的。Optionally, in order to avoid frequent switching between receiving the multicast data stream from the primary root node and receiving the multicast data stream from the backup root node, the following steps can also be performed after performing step 305: Determine the second path Whether the performance indicators meet the performance requirements. If the performance indicators of the second path do not meet the performance requirements, after the first period of time, the multicast data packets received through the first path will be re-received, and the multicast data received through the first path will be processed. The message strips off the BIER MPLS encapsulation or BIERv6 encapsulation, obtains the corresponding multicast service data, and forwards the obtained multicast service data to the corresponding multicast receiving device. Among them, the first duration can be pre-configured in the leaf node by technicians according to actual needs.
可选的,如果第二时长内,叶子节点在通过第一路径接收组播数据报文和通过第二路径接收组播数据之间切换的次数达到告警阈值,则叶子节点向网络管理设备上报告警信息,例如,第二时长为1小时,告警阈值为5。其中,告警信息用于指示第一路径和第二路径均存在故障,以提示相关人员尽快进行故障定位以及维修。第二时长和告警阈值均可以为技术人员根据实际需求预先配置在叶子节点中的。Optionally, if within the second period of time, the number of times a leaf node switches between receiving multicast data packets through the first path and receiving multicast data through the second path reaches the alarm threshold, the leaf node reports to the network management device. Alarm information, for example, the second duration is 1 hour and the alarm threshold is 5. The alarm information is used to indicate that both the first path and the second path are faulty, so as to prompt relevant personnel to locate and repair the fault as soon as possible. Both the second duration and the alarm threshold can be pre-configured in the leaf nodes by technicians based on actual needs.
可选的,在控制器还可以呈现主根节点和叶子节点之间的第一路径,以及备份根节点和叶子节点之间的第二路径。在接收到叶子节点上报的告警信号后,相关人员可以通过控制器呈现的第一路径和第二路径之间的重叠情况,快速定位故障并进行维修。Optionally, the controller may also present a first path between the main root node and the leaf nodes, and a second path between the backup root node and the leaf nodes. After receiving the alarm signal reported by the leaf node, relevant personnel can quickly locate the fault and perform repairs through the overlap between the first path and the second path presented by the controller.
结合IFIT技术实现组播数据流切换,仅需在根节点和叶子节点执行IFIT检测相关处理,无需中间节点参与,且IFIT检测是基于实际的组播数据流实现的,检测得到的性能指标更加准确。Combining IFIT technology to realize multicast data flow switching, only the IFIT detection related processing is performed on the root node and leaf node, without the participation of intermediate nodes, and IFIT detection is based on the actual multicast data flow, and the performance indicators obtained by the detection are more accurate. .
确定性能指标方法二、根据增强的媒体传输质量指标(enhanced media delivery index,EMDI)技术,获取路径的性能指标:Method 2 for determining performance indicators: Obtain the performance indicators of the path based on the enhanced media delivery quality index (EMDI) technology:
参见图6,在采用方法二确定性能指标时,本申请实施例中组播数据报文发送的处理流程可以包括如下步骤,下面结合图2所示的实施场景,以根节点A为叶子节点B的主根节点,根节点B为叶子节点B的备份根节点为例,对图3所示的各步骤进行说明:Referring to Figure 6, when Method 2 is used to determine performance indicators, the processing flow of multicast data message sending in the embodiment of the present application may include the following steps. The following is combined with the implementation scenario shown in Figure 2, with root node A as leaf node B. The main root node of , root node B is the backup root node of leaf node B as an example. The steps shown in Figure 3 are explained:
步骤401、主根节点和叶子节点开启EMDI检测功能。Step 401: Enable the EMDI detection function on the main root node and leaf nodes.
为了实现EMDI检测,可以预先对根节点A和叶子节点B进行EMDI检测功能配置。例根节点A接收EMDI检测指令,其中,EMDI检测命令中可以包括组播源信息,组播源信息用于指示主根节点对组播源A的组播业务数据执行EMDI检测。这样,根节点A在接收到组播源A发送的组播业务数据后,在对该组播业务数据进行BIER MPLS封装或者BIERv6封装 时,可以在BIER头的指定比特位添加值“1”,以表示相应的组播数据报文可用于进行EMDI检测。其中,指定比特位可以为BIER头中操作与维护(OAM)字段或者预留(RSV)字段中的任一未使用比特位。叶子节点B接收EMDI检测指令,使能EMDI检测功能。这样,叶子节点B在接收到BIER头中指定比特位为1的组播数据报文后,可以根据该组播数据报文,执行EMDI检测。需要说明的是,上述EMDI检测指令可以由控制器(controller)下发配置的方式实现或者静态配置。在由控制器下发配置时,具体可以基于网络配置协议(network configuration protocol,NETCONF)、简单网络管理协议(simple network management protocol)等实现EMDI检测指令的下发。此外,在基于NETCONF实现时,具体可以采用NETCONF结合YANG模型的方式实现EMDI检测指令的下发。In order to implement EMDI detection, the EMDI detection function can be configured on root node A and leaf node B in advance. For example, root node A receives an EMDI detection command. The EMDI detection command may include multicast source information. The multicast source information is used to instruct the primary root node to perform EMDI detection on the multicast service data of multicast source A. In this way, after root node A receives the multicast service data sent by multicast source A, when performing BIER MPLS encapsulation or BIERv6 encapsulation of the multicast service data, it can add the value "1" to the specified bit in the BIER header. To indicate that the corresponding multicast data packet can be used for EMDI detection. The specified bit may be any unused bit in the Operation and Maintenance (OAM) field or the Reserved (RSV) field in the BIER header. Leaf node B receives the EMDI detection command and enables the EMDI detection function. In this way, after leaf node B receives a multicast data packet with the specified bit in the BIER header being 1, it can perform EMDI detection based on the multicast data packet. It should be noted that the above-mentioned EMDI detection instructions can be implemented by a configuration issued by a controller (controller) or configured statically. When the controller issues the configuration, the EMDI detection instructions can be issued based on the network configuration protocol (network configuration protocol, NETCONF), simple network management protocol (simple network management protocol), etc. In addition, when implemented based on NETCONF, NETCONF combined with the YANG model can be used to implement the issuance of EMDI detection instructions.
步骤402、主根节点通过第一路径转发组播数据报文,其中,组播数据报文中包括有实时传输协议(Real-time Transport Protocol,RTP)头和/或传送流(transport stream,TS)头。Step 402: The primary root node forwards the multicast data packet through the first path, where the multicast data packet includes a Real-time Transport Protocol (RTP) header and/or a transport stream (TS) head.
举例说明,组播源A发送给根节点A的组播业务数据可以是基于RTP协议和/或TS协议封装的,则根节点A和根节点B接收到的是包括有RTP头和/或TS头的组播业务数据。根节点A接收来自组播源A的组播业务数据。然后,对接收到的组播业务数据进行BIER MPLS封装或者BIERv6封装,得到组播数据报文。这样,得到的组播数据报文中包括有BIER头、RTP头(和/或TS头)。在完成封装后,根节点A根据保存的BIFT中的表项,将得到的组播数据报文通过第一路径转发给中间节点A。For example, the multicast service data sent by multicast source A to root node A may be encapsulated based on the RTP protocol and/or TS protocol. Then, the data received by root node A and root node B includes the RTP header and/or TS. multicast service data in the header. Root node A receives multicast service data from multicast source A. Then, BIER MPLS encapsulation or BIERv6 encapsulation is performed on the received multicast service data to obtain the multicast data message. In this way, the obtained multicast data message includes a BIER header, an RTP header (and/or a TS header). After completing the encapsulation, root node A forwards the obtained multicast data message to intermediate node A through the first path according to the saved entry in BIFT.
参见图7,示出了一种基于BIER MPLS封装的且包括RTP头不包括TS头的组播数据报文的格式,包括以太头、BIER头和IP multicast payload,其中,IP multicast payload包括互联网协议(internet protocol)头、用户数据报协议(user datagram protocol,UDP)头/传输控制协议(transmission control protocol,TCP)头、净荷和循环冗余校验(cyclic redundancy check,CRC)数据。参见表2,RTP头可以包括如下字段:Referring to Figure 7, a format of a multicast data message based on BIER MPLS encapsulation and including an RTP header but not a TS header is shown, including an Ethernet header, a BIER header and an IP multicast payload, where the IP multicast payload includes the Internet Protocol (internet protocol) header, user datagram protocol (UDP) header/transmission control protocol (TCP) header, payload and cyclic redundancy check (CRC) data. Referring to Table 2, the RTP header can include the following fields:
表2Table 2
Figure PCTCN2022089652-appb-000001
Figure PCTCN2022089652-appb-000001
参见图8,示出了一种基于BIERv6封装的且包括RTP头不包括TS头的组播数据报文的格式,在此情况下RTP头的格式和图7中RTP头的格式相同,在此不再赘述。Referring to Figure 8, a format of a multicast data message based on BIERv6 encapsulation and including an RTP header but not a TS header is shown. In this case, the format of the RTP header is the same as the format of the RTP header in Figure 7. Here No longer.
参见图9,示出了一种基于BIER MPLS封装的包括有TS头不包括RTP头的组播数据报文的格式,通常一个组播数据报文中可以包括有多个TS包(packet),每个TS包包括TS头和净荷。参见表3,TS头可以包括如下字段:Referring to Figure 9, a format of a multicast data message based on BIER MPLS encapsulation that includes a TS header but does not include an RTP header is shown. Usually, a multicast data message can include multiple TS packets (packets). Each TS packet includes a TS header and payload. Referring to Table 3, the TS header can include the following fields:
表3table 3
字段Field 描述describe
sync_bytesync_byte 同步字节sync byte
transport_error_indicatortransport_error_indicator 传输错误指示信息Transmission error indication information
payload_unit_start_indicatorpayload_unit_start_indicator 净荷单元起始指示Payload unit start indication
transport_prioritytransport_priority 传输优先级Transmission priority
PIDPID Packet标识号码Packet identification number
transport_scrambling_controltransport_scrambling_control 传送加扰控制transmission scrambling control
adaptation_field_controladaptation_field_control 自适应字段控制Adaptive field control
continuity_countercontinuity_counter 连续计数器Continuous counter
adaptation_fieldadaptation_field 自适应字段adaptive fields
参见图10,示出了一种基于BIERv6封装的且包括TS头不包括RTP头的组播数据报文的格式,在此情况下TS头的格式和图9中TS头的格式相同,在此不再赘述。Referring to Figure 10, a format of a multicast data message based on BIERv6 encapsulation and including a TS header but not an RTP header is shown. In this case, the format of the TS header is the same as the format of the TS header in Figure 9. Here No longer.
参见图11,示出了一种基于BIER MPLS封装的且包括RTP头和TS头的组播数据报文的格式,在此情况下TS头的格式和图9中TS头的格式相同,RTP头的格式和图7所示的RTP头的格式相同,在此均不再赘述。Referring to Figure 11, a format of a multicast data message based on BIER MPLS encapsulation and including an RTP header and a TS header is shown. In this case, the format of the TS header is the same as the format of the TS header in Figure 9. The RTP header The format is the same as the format of the RTP header shown in Figure 7, and will not be described again here.
参见图12,示出了一种基于BIERv6封装的且包括RTP头和TS头的组播数据报文的格式,在此情况下TS头的格式和图9中TS头的格式相同,RTP头的格式和图7所示的RTP头的格式相同,在此均不再赘述。Referring to Figure 12, a format of a multicast data message based on BIERv6 encapsulation and including an RTP header and a TS header is shown. In this case, the format of the TS header is the same as the format of the TS header in Figure 9. The RTP header The format is the same as the format of the RTP header shown in Figure 7, and will not be described again here.
步骤403、叶子节点通过和主根节点之间的第一路径接收组播数据报文。Step 403: The leaf node receives the multicast data message through the first path between the leaf node and the main root node.
举例说明,中间节点B在接收到中间节点A发送的组播数据报文后,解析该组播数据报文中的bit string,并根据BIFT中的表项,对bit string进行更新,更新后的bit string中仅叶子节点B对应的比特位为1。然后,中间节点B将更新后的组播数据报文通过第一路径发送给叶子节点B。进而,叶子节点B可以通过第一路径接收到中间节点B发送的组播数据报文。For example, after receiving the multicast data message sent by intermediate node A, intermediate node B parses the bit string in the multicast data message and updates the bit string according to the entry in BIFT. The updated Only the bit corresponding to leaf node B in the bit string is 1. Then, the intermediate node B sends the updated multicast data message to the leaf node B through the first path. Furthermore, the leaf node B can receive the multicast data message sent by the intermediate node B through the first path.
步骤404、叶子节点根据通过第一路径接收的组播数据报文中RTP头或TS头,确定第一路径的性能指标。Step 404: The leaf node determines the performance index of the first path based on the RTP header or TS header in the multicast data packet received through the first path.
下面对如何根据RTP头确定第一路径的性能指标进行说明:The following explains how to determine the performance indicators of the first path based on the RTP header:
一、确定丢包数和丢包率1. Determine the number of packets lost and the packet loss rate
叶子节点B通过第一路径接收组播数据报文后,确定BIER头中指定比特位的值为1,则说明要对该组播数据报文执行EMDI检测。叶子节点B获取该组播数据报文的RTP头中的第一序列号,并获取前一个通过第一路径接收到的组播数据报文的RTP头中的第二序列号。叶子节点B计算第一序列号和第二序列号的差值绝对值,然后,将计算得到的差值绝对值减一,即可得到这两个组播数据报文之间的丢包数。其中,通过第一路径接收到的组播数据报文是指由主根节点(根节点A)发出且IP multicast payload来自组播源A的组播数据报文。After leaf node B receives the multicast data packet through the first path, it determines that the value of the specified bit in the BIER header is 1, indicating that EMDI detection is to be performed on the multicast data packet. Leaf node B obtains the first sequence number in the RTP header of the multicast data message, and obtains the second sequence number in the RTP header of the previous multicast data message received through the first path. Leaf node B calculates the absolute value of the difference between the first sequence number and the second sequence number, and then subtracts one from the calculated absolute value of the difference to obtain the number of lost packets between the two multicast data packets. Among them, the multicast data packet received through the first path refers to the multicast data packet sent by the main root node (root node A) and the IP multicast payload comes from multicast source A.
此外,叶子节点B还可以配置有流切换检测周期。每当一个流切换检测周期结束时,叶子节点B统计该流切换检测周期内通过第一路径接收的组播数据报文的总丢包数,并获取该 流切换检测周期内通过第一路径实际接收到组播数据报文的实际报文数目。然后,计算上述总丢包数和上述实际报文数目之和,作为该流切换检测周期内通过第一路径期望接收到组播数据报文的期望报文数目。再然后,计算上述总丢包数和上述期望报文数目的比值,即可得到该流切换检测周期内第一路径的丢包率。In addition, leaf node B can also be configured with a flow switching detection period. Whenever a flow switching detection period ends, leaf node B counts the total number of lost packets of multicast data packets received through the first path during the flow switching detection period, and obtains the actual number of packets lost through the first path during the flow switching detection period. The actual number of multicast data packets received. Then, the sum of the above total number of lost packets and the above actual number of packets is calculated as the expected number of multicast data packets expected to be received through the first path during the flow switching detection period. Then, by calculating the ratio of the total number of packets lost to the expected number of packets, the packet loss rate of the first path within the flow switching detection period can be obtained.
二、确定乱序数和乱序率:2. Determine the out-of-order number and out-of-order rate:
结合上述确定丢包数和丢包率的处理,叶子节点B获取组播数据报文的RTP头中的第一序列号之后,获取当前流切换检测周期内通过第一路径接收到的组播数据报文中携带的最大序列号,比较第一序列号和最大序列号的大小,如果第一序列号小于最大序列号,则确定存在乱序,将该流切换检测周期内第一路径的乱序数加一。当一个流切换检测周期结束时,计算流切换检测周期内第一路径的乱序数和期望报文数的比值,即可得到该流切换检测周期内第一路径的乱序率。Combined with the above process of determining the number of packets lost and the packet loss rate, after leaf node B obtains the first sequence number in the RTP header of the multicast data message, it obtains the multicast data received through the first path during the current flow switching detection period. The maximum sequence number carried in the packet is compared with the size of the first sequence number and the maximum sequence number. If the first sequence number is smaller than the maximum sequence number, it is determined that there is disorder, and the flow is switched to detect the disorder of the first path in the cycle. Count plus one. When a flow switching detection cycle ends, calculate the ratio of the number of out-of-order packets on the first path in the flow switching detection cycle to the number of expected packets, and then the out-of-order rate of the first path in the flow switching detection cycle can be obtained.
下面对如何根据TS头确定第一路径的性能指标进行说明:The following explains how to determine the performance index of the first path based on the TS header:
一、确定丢包数和丢包率1. Determine the number of packets lost and the packet loss rate
叶子节点B通过第一路径接收组播数据报文后,确定BIER头中指定比特位的值为1,则说明要对该组播数据报文执行EMDI检测。叶子节点B依次获取并记录该组播数据报文的TS头中continuity_counter字段的第一计数值(计数值也可称为序列号)。此处,依次获取的顺序可以为:TS头在组播数据报文中位置由前到后的顺序,在组播数据报文中位置靠前的TS头比位置靠后的TS头先被叶子节点B接收到。然后,获取前一个通过第一路径接收到的TS包中TS的第二计数值,并计算第一计数值和第二计数值的差值绝对值,即可得到这两TS包之间的丢包数。其中,前一个通过第一路径接收到的TS包可能与第一计数值所在的TS包属于同一组播数据报文,也可能属于不同的组播数据报文。通过第一路径接收到的TS包是指由组播源A发出且以主根节点(根节点A)为BIER入口路由器进入BIER域的TS包。After leaf node B receives the multicast data packet through the first path, it determines that the value of the specified bit in the BIER header is 1, indicating that EMDI detection is to be performed on the multicast data packet. Leaf node B sequentially obtains and records the first count value of the continuity_counter field in the TS header of the multicast data packet (the count value may also be called the sequence number). Here, the order of acquisition can be: the order of TS headers in the multicast data packet from front to back. In the multicast data packet, the TS headers in the front are leafed out before the TS headers in the back. Node B receives it. Then, obtain the second count value of the TS in the previous TS packet received through the first path, and calculate the absolute value of the difference between the first count value and the second count value to obtain the loss ratio between the two TS packets. Number of packages. Among them, the previous TS packet received through the first path may belong to the same multicast data packet as the TS packet where the first count value is located, or may belong to different multicast data packets. The TS packet received through the first path refers to the TS packet sent by multicast source A and entering the BIER domain with the main root node (root node A) as the BIER entry router.
每当一个流切换检测周期结束时,叶子节点B统计该流切换检测周期内通过第一路径接收的TS包的总丢包数,并获取该流切换检测周期内通过第一路径实际接收到TS包的实际包数目。然后,计算上述总丢包数和上述实际包数目之和,作为该流切换检测周期内通过第一路径期望接收到TS包的期望包数目。再然后,计算上述总丢包数和上述期望包数目的比值,即可得到该流切换检测周期内第一路径的丢包率。Whenever a flow switching detection period ends, leaf node B counts the total number of packet losses of TS packets received through the first path during the flow switching detection period, and obtains the actual number of TS packets received through the first path during the flow switching detection period. The actual number of packages. Then, the sum of the total number of lost packets and the actual number of packets is calculated as the expected number of TS packets expected to be received through the first path during the flow switching detection period. Then, by calculating the ratio of the total number of packets lost and the number of expected packets, the packet loss rate of the first path within the flow switching detection period can be obtained.
二、确定乱序数和乱序率2. Determine the out-of-order number and out-of-order rate
叶子节点B依次获取并记录组播数据报文的TS头中continuity_counter字段的第一计数值。每当获取并记录一个TS头中的第一计数值之后,获取记录的当前流切换检测周期内通过第一路径接收到的TS头中的最大计数值。比较第一计数值和最大计数值的大小,如果第一计数值小于最大计数值,则确定存在乱序,将该流切换检测周期内第一路径的乱序数加一。当一个流切换检测周期结束时,计算流切换检测周期内第一路径的乱序数和期望包数目的比值,即可得到该流切换检测周期内第一路径的乱序率。Leaf node B sequentially obtains and records the first count value of the continuity_counter field in the TS header of the multicast data packet. Whenever the first count value in a TS header is obtained and recorded, the maximum count value in the TS header received through the first path within the current stream switching detection period is obtained. Compare the first count value and the maximum count value. If the first count value is less than the maximum count value, it is determined that there is an out-of-order sequence, and the out-of-order number of the first path in the flow switching detection period is increased by one. When a flow switching detection period ends, the ratio of the number of out-of-order packets on the first path in the flow switching detection period and the number of expected packets is calculated to obtain the out-of-order rate of the first path in the flow switching detection period.
步骤405、如果根据第一路径的性能指标,确定第一路径不满足性能需求,叶子节点则接收备份根节点通过第二路径发送的组播数据报文。Step 405: If it is determined that the first path does not meet the performance requirements according to the performance index of the first path, the leaf node receives the multicast data message sent by the backup root node through the second path.
叶子节点B如果根据第一路径的性能指标,确定第一路径不满足性能需求,则可以开始接收根节点B通过第二路径发送的组播数据报文。并对通过第二路径接收的组播数据报文剥离BIER MPLS封装或者BIERv6封装,得到相应的组播业务数据。然后,将得到的组播业务 数据转发给组播接收设备B。此外,对于通过第一路径接收的组播数据报文,叶子节点B可以做丢弃处理。叶子节点B判断第一路径是否满足性能需求的方法可以有多种,下面列举其中几种进行说明:If the leaf node B determines that the first path does not meet the performance requirements based on the performance index of the first path, it can start receiving multicast data packets sent by the root node B through the second path. And strip the BIER MPLS encapsulation or BIERv6 encapsulation of the multicast data packets received through the second path to obtain the corresponding multicast service data. Then, the obtained multicast service data is forwarded to multicast receiving device B. In addition, leaf node B may discard multicast data packets received through the first path. There are many ways for leaf node B to determine whether the first path meets the performance requirements. Several of them are listed below for explanation:
方法一、每当一个流切换检测周期结束后,叶子节点B如果确定该流切换检测周期内第一路径的性能指标中有至少一项大于该项对应的阈值,则确定第一路径不满足性能需求。Method 1: Whenever a flow switching detection period ends, if leaf node B determines that at least one of the performance indicators of the first path during the flow switching detection period is greater than the corresponding threshold, it determines that the first path does not meet the performance requirements. need.
例如,性能指标包括丢包数、丢包率、乱序数、乱序率等,丢包数、丢包率、乱序数、乱序率等各自对应有一个阈值。每当一个流切换检测结束后,叶子节点B如果确定该流切换检测周期统计到的第一路径的丢包数、丢包率、乱序数、乱序率中至少一项大于对应的阈值,则确定第一路径不满足性能需求。For example, performance indicators include packet loss number, packet loss rate, out-of-order number, out-of-order rate, etc. Each of the number of packet loss, packet loss rate, out-of-order number, out-of-order rate, etc. has a corresponding threshold. Whenever a flow switching detection is completed, if leaf node B determines that at least one of the packet loss number, packet loss rate, out-of-order number, and out-of-order rate of the first path counted during the flow switching detection cycle is greater than the corresponding threshold, Then it is determined that the first path does not meet the performance requirements.
方法二、每当一个流切换检测结束后,叶子节点B对该流切换检测周期内获得的第一路径的性能指标进行计算,并获取该流切换检测周期之前的连续Y个流切换检测周期分别计算得到的第一路径的性能指标。叶子节点B如果判断这Y+1个流切换检测周期中的每个流切换检测周期均有至少一项性能指标大于该项对应的阈值,则确定第一路径不满足性能需求。Method 2: Whenever a flow switching detection is completed, leaf node B calculates the performance index of the first path obtained during the flow switching detection period, and obtains the Y consecutive flow switching detection periods before the flow switching detection period, respectively. The calculated performance index of the first path. If leaf node B determines that each of the Y+1 flow switching detection periods has at least one performance index greater than the corresponding threshold, it determines that the first path does not meet the performance requirements.
或者,每当一个流切换检测结束后,叶子节点B可以对该流切换检测周期内获得的第一路径的性能指标进行计算,并获取该流切换检测周期之前的连续Y个流切换检测周期分别计算得到的第一路径的性能指标。然后,叶子节点B对这Y+1个流切换检测周期统计得到的性能指标,进行综合统计。如果Y+1个流切换检测周期综合统计得到的性能指标中有至少一项大于该项对应的阈值,则确定第一路径不满足性能需求。下面对上述“综合统计”进行举例说明。Alternatively, whenever a flow switching detection is completed, leaf node B can calculate the performance index of the first path obtained during the flow switching detection period, and obtain the Y consecutive flow switching detection periods before the flow switching detection period, respectively. The calculated performance index of the first path. Then, leaf node B performs comprehensive statistics on the performance indicators obtained from the Y+1 flow switching detection cycles. If at least one of the performance indicators obtained by comprehensive statistics of Y+1 flow switching detection cycles is greater than the corresponding threshold of the item, it is determined that the first path does not meet the performance requirements. The following is an example of the above “comprehensive statistics”.
例如,如果性能指标中包括丢包数,那么,叶子节点B可以将Y+1个流切换检测周期分别统计得到的丢包数求取均值。又例如,如果性能指标中包括丢包率,那么,叶子节点B可以将Y+1个流切换检测周期分别计算得到的丢包率求取均值。又例如,如果性能指标中包括乱序数,那么,叶子节点B可以将Y+1个流切换检测周期分别计算得到的乱序数累加。又例如,如果性能指标中包括乱序率,那么,叶子节点B可以将连续Y+1个流切换检测周期分别计算得到的乱序率求取均值。For example, if the performance index includes the number of packet losses, then leaf node B can calculate the average of the number of packet losses obtained from Y+1 flow switching detection cycles. For another example, if the performance index includes the packet loss rate, then leaf node B can average the packet loss rates calculated separately in Y+1 flow switching detection cycles. For another example, if the performance index includes the out-of-order number, then leaf node B can accumulate the out-of-order numbers calculated separately in Y+1 flow switching detection cycles. For another example, if the performance index includes the out-of-order rate, then leaf node B can average the out-of-order rates calculated for Y+1 consecutive flow switching detection cycles.
可选的,对于备份根节点和叶子节点之间的第二路径,叶子节点也可以确定该第二路径的性能指标,具体的确定方法与上述步骤401-404确定第一路径的性能指标的方法相同,在此不再赘述。此外,确定第二路径的性能指标和确定第一路径的性能指标可以同时进行。Optionally, for the second path between the backup root node and the leaf node, the leaf node can also determine the performance index of the second path. The specific determination method is the same as the method of determining the performance index of the first path in steps 401-404 above. are the same and will not be repeated here. In addition, determining the performance index of the second path and determining the performance index of the first path may be performed simultaneously.
在此情况下,在上述步骤405执行之前,可以先执行如下步骤:确定第二路径的性能指标所指示的性能是否优于第一路径的性能指标所指示的性能,如果第二路径的性能优于第一路径的性能,则继续执行步骤405。In this case, before performing the above-mentioned step 405, the following steps may be performed: determine whether the performance indicated by the performance index of the second path is better than the performance indicated by the performance index of the first path. If the performance of the second path is better, If the performance of the first path is insufficient, step 405 is continued.
举例说明,叶子节点B确定第一路径的性能指标,并确定第二路径的性能指标。如果确定第二路径的性能指标中的各项均小于第一路径的性能指标,则确定第二路径的性能优于第一路径的性能。For example, leaf node B determines the performance index of the first path and determines the performance index of the second path. If it is determined that each item in the performance index of the second path is smaller than the performance index of the first path, it is determined that the performance of the second path is better than the performance of the first path.
可选的,为了避免在接收来自主根节点的组播数据流和接收来自备根节点的组播数据流之间的频繁切换,还可以在执行步骤405之后,执行如下步骤:确定第二路径的性能指标是否满足性能需求,如果第二路径的性能指标不满足性能需求,则在第一时长后,重新通过第一路径接收的组播数据报文,并对通过第一路径接收的组播数据报文剥离BIER MPLS封装或者BIERv6封装,得到相应的组播业务数据,将得到的组播业务数据转发给相应的组播接收 设备。其中,第一时长可以为技术人员根据实际需求预先配置在叶子节点中的。Optionally, in order to avoid frequent switching between receiving the multicast data stream from the primary root node and receiving the multicast data stream from the backup root node, the following steps can also be performed after performing step 405: Determine the second path Whether the performance indicators meet the performance requirements. If the performance indicators of the second path do not meet the performance requirements, after the first period of time, the multicast data packets received through the first path will be re-received, and the multicast data received through the first path will be processed. The message strips off the BIER MPLS encapsulation or BIERv6 encapsulation, obtains the corresponding multicast service data, and forwards the obtained multicast service data to the corresponding multicast receiving device. Among them, the first duration can be pre-configured in the leaf node by technicians according to actual needs.
可选的,如果第二时长内,叶子节点在通过第一路径接收组播数据报文和通过第二路径接收组播数据之间切换的次数达到告警阈值,则叶子节点向网络管理设备上报告警信息,例如,第二时长为1小时,告警阈值为5。其中,告警信息用于指示第一路径和第二路径均存在故障,以提示相关人员尽快进行故障定位以及维修。第二时长和告警阈值均可以为技术人员根据实际需求预先配置在叶子节点中的。Optionally, if within the second period of time, the number of times a leaf node switches between receiving multicast data packets through the first path and receiving multicast data through the second path reaches the alarm threshold, the leaf node reports to the network management device. Alarm information, for example, the second duration is 1 hour and the alarm threshold is 5. The alarm information is used to indicate that both the first path and the second path are faulty, so as to prompt relevant personnel to locate and repair the fault as soon as possible. Both the second duration and the alarm threshold can be pre-configured in the leaf nodes by technicians based on actual needs.
可选的,在控制器还可以呈现主根节点和叶子节点之间的第一路径,以及备份根节点和叶子节点之间的第二路径。在接收到叶子节点上报的告警信号后,相关人员可以通过控制器呈现的第一路径和第二路径之间的重叠情况,快速定位故障并进行维修。Optionally, the controller may also present a first path between the main root node and the leaf nodes, and a second path between the backup root node and the leaf nodes. After receiving the alarm signal reported by the leaf node, relevant personnel can quickly locate the fault and perform repairs through the overlap between the first path and the second path presented by the controller.
结合EMDI技术实现组播数据流切换,仅需在根节点和叶子节点执行EMDI检测相关处理,无需中间节点参与。Combining EMDI technology to realize multicast data flow switching, only the root node and leaf nodes need to perform EMDI detection-related processing without the participation of intermediate nodes.
确定性能指标方法三、中间节点统计和上游节点间链路的丢包数并由组播数据报文携带到叶子节点,叶子节点根据组播数据报文中携带的丢包数,获取根节点和叶子节点间第一路径的丢包数。Method 3 for determining performance indicators: Intermediate node statistics and the number of lost packets on the link between upstream nodes are carried by the multicast data packet to the leaf node. The leaf node obtains the root node and the number of lost packets carried in the multicast data packet. The number of lost packets on the first path between leaf nodes.
参见图13,在采用方法三确定性能指标时,本申请实施例中组播数据报文发送的处理流程可以包括如下步骤,下面结合图2所示的实施场景,以根节点A为叶子节点B的主根节点,根节点B为叶子节点B的备份根节点为例,对图13所示的各步骤进行说明:Referring to Figure 13, when method three is used to determine the performance index, the processing flow of multicast data message sending in the embodiment of the present application may include the following steps. The following is combined with the implementation scenario shown in Figure 2, with root node A as leaf node B. The main root node of , root node B is the backup root node of leaf node B as an example. The steps shown in Figure 13 are explained:
步骤501、主根节点通过第一路径发送组播数据报文。Step 501: The main root node sends the multicast data message through the first path.
举例说明,根节点A在接收到组播源A发送的组播业务数据后,对组播业务数据进行封装,得到第一组播数据报文。然后,根节点A根据保存的BIFT中的表项,将第一组播数据报文通过第一路径转发给中间节点A。For example, after receiving the multicast service data sent by multicast source A, root node A encapsulates the multicast service data to obtain the first multicast data message. Then, the root node A forwards the first multicast data message to the intermediate node A through the first path according to the saved entry in the BIFT.
具体的,根节点A可以对接收到的组播业务数据进行BIER MPLS封装或者BIERv6封装,得到第一组播数据报文,第一组播数据报文中包括BIER头。根节点A在进行BIER MPLS封装或者BIERv6封装时,在BIER头中用于携带丢包数的字段添加初始值,用于携带丢包数的字段不同,初始值也可以不同,在下面的描述中将对携带丢包数的不同字段添加的初始值进行说明。下面分别对两种封装下,BIER头中用于携带丢包数的字段进行说明。Specifically, root node A can perform BIER MPLS encapsulation or BIERv6 encapsulation on the received multicast service data to obtain the first multicast data message, which includes a BIER header. When root node A performs BIER MPLS encapsulation or BIERv6 encapsulation, it adds an initial value to the field used to carry the number of lost packets in the BIER header. The initial value can also be different depending on the field used to carry the number of lost packets. In the following description The initial values added to the different fields carrying the number of lost packets will be explained. The following describes the fields used to carry the number of lost packets in the BIER header under the two types of encapsulation.
一、BIER MPLS封装:1. BIER MPLS encapsulation:
参见图14,示出了一种BIER MPLS封装下的BIER头格式。参见表4,BIER头中可以包括如下字段:Referring to Figure 14, a BIER header format under BIER MPLS encapsulation is shown. Referring to Table 4, the BIER header can include the following fields:
表4Table 4
Figure PCTCN2022089652-appb-000002
Figure PCTCN2022089652-appb-000002
Figure PCTCN2022089652-appb-000003
Figure PCTCN2022089652-appb-000003
在采用BIER MPLS封装的情况下,需要对BIER头进行扩展,在扩展字段中携带丢包数。例如,如图14所示,可以在bit string字段前扩展4个字节,在扩展的4个字节中选择多个比特用于携带丢包数。示例性的,可以选择这4个字节中的后一个或两个字节用于携带丢包数。当选择其中一个字节携带丢包数时,为了能表示更大的丢包数,可以对实际的丢包数除以指定系数并取整后,再携带在该字节中。其中,指定系数可以由技术人员根据实际需求配置,例如,指定系数为20。When BIER MPLS encapsulation is used, the BIER header needs to be extended to carry the number of lost packets in the extension field. For example, as shown in Figure 14, 4 bytes can be extended in front of the bit string field, and multiple bits can be selected from the extended 4 bytes to carry the number of packet loss. For example, the last one or two bytes among these four bytes can be selected to carry the packet loss number. When one of the bytes is selected to carry the number of lost packets, in order to express a larger number of lost packets, the actual number of lost packets can be divided by the specified coefficient and rounded, and then carried in this byte. Among them, the specified coefficient can be configured by technicians according to actual needs. For example, the specified coefficient is 20.
二、BIERv6封装:2. BIERv6 encapsulation:
参见图15,示出了一种BIERv6封装下的组播数据报文格式。BIERv6封装的组播数据报文主要由IPv6头、包括BIER头的IPv6扩展头和IP multicast payload组成。参见表5,在IPv6头中可以包括如下字段:Referring to Figure 15, a multicast data message format under BIERv6 encapsulation is shown. The BIERv6 encapsulated multicast data message mainly consists of an IPv6 header, an IPv6 extension header including a BIER header, and an IP multicast payload. Referring to Table 5, the following fields can be included in the IPv6 header:
表5table 5
字段Field 描述describe
versinVersin 版本Version
traffic classtraffic class 流类型stream type
flow labelflow label 流标签stream tag
payload lengthpayload length 净荷长度Payload length
next heardernext hearder 下一个头next head
hop limithop limit 跳数限制Hop limit
source addresssource address 源地址source address
destination addressdestination address 目的地址Destination address
在IPv6扩展头中可以包括BIER头和如下表6所示的字段:The IPv6 extension header can include the BIER header and the fields shown in Table 6 below:
表6Table 6
字段Field 描述describe
Next headerNext header 下一个头next head
Hdr Ext LenHdr Ext Len 选项报头的长度The length of the options header
option typeoption type 选项类型option type
option lengthoption length 选项长度option length
在采用BIERv6封装的情况下,可以选择TC+S+TTL或者entropy或者BFIR-ID,来携带丢包数。When using BIERv6 encapsulation, you can select TC+S+TTL or entropy or BFIR-ID to carry the number of lost packets.
例如,可以使用TS+S+TTL共12比特来携带实际的丢包数。又例如,可以使用S+TTL来标识丢包数。当S为0时,TTL数值表示实际的丢包数;当S为1时,TTL数值乘以指定系数表示实际的丢包数。示例性的,指定系数可以为20。又例如,可以使用Entropy的20 比特来携带实际的丢包数。又例如,使用BFIR-ID的16比特来携带实际的丢包数。For example, a total of 12 bits of TS+S+TTL can be used to carry the actual number of lost packets. For another example, S+TTL can be used to identify the number of lost packets. When S is 0, the TTL value represents the actual number of packets lost; when S is 1, the TTL value multiplied by the specified coefficient represents the actual number of packets lost. For example, the specified coefficient may be 20. As another example, 20 bits of Entropy can be used to carry the actual number of lost packets. For another example, 16 bits of BFIR-ID are used to carry the actual number of lost packets.
根节点A在进行BIER MPLS封装或者BIERv6封装时,除S字段以外,其余用于携带丢包数的字段的初始值均可以为0,对于S字段来说,如果配置为携带实际的丢包数,则将S字段初始值置为0,如果配置为不携带实际丢包数,则将S字段初始值置为1。When root node A performs BIER MPLS encapsulation or BIERv6 encapsulation, except for the S field, the initial values of the other fields used to carry the number of lost packets can be 0. For the S field, if configured to carry the actual number of lost packets, , then set the initial value of the S field to 0. If configured not to carry the actual number of lost packets, set the initial value of the S field to 1.
步骤502、中间节点记录和上游节点之间链路的丢包数。Step 502: The intermediate node records the number of lost packets on the link between the intermediate node and the upstream node.
其中,上游节点可能为中间节点,也可能为根节点。Among them, the upstream node may be an intermediate node or a root node.
举例说明,中间节点A的入接口对接收到的报文(包括组播数据报文、单播报文等)进行循环冗余校验(Cyclic Redundancy Check,CRC),根据校验结果统计该入接口对应链路的丢包数,每个入接口统计的丢包数是一直累加的。对于每个入接口来说,每当达到一个统计周期,中间节点A的组播业务模块向该入接口获取当前统计的第一丢包数,并计算第一丢包数和上一统计周期获取到的该入接口统计的第二丢包数的差值,得到该入接口新增的丢包数。然后,组播业务模块将该入接口新增的丢包数发送给中间节点的转发芯片。转发芯片记录该入接口新增的丢包数。其中,组播业务模块为执行组播业务的软件模块。For example, the incoming interface of intermediate node A performs Cyclic Redundancy Check (CRC) on received packets (including multicast data packets, unicast packets, etc.), and counts the incoming interface based on the check results. Corresponding to the number of packet losses on the link, the number of packet losses counted for each incoming interface is always accumulated. For each incoming interface, whenever a statistical period is reached, the multicast service module of intermediate node A obtains the current statistical first packet loss number from the incoming interface, and calculates the first packet loss number and the number obtained in the previous statistical period. The difference between the second number of lost packets counted by the incoming interface is obtained to obtain the new number of lost packets on the incoming interface. Then, the multicast service module sends the new packet loss number of the incoming interface to the forwarding chip of the intermediate node. The forwarding chip records the number of new lost packets on the incoming interface. Among them, the multicast service module is a software module that performs multicast services.
同样的,中间节点B的入接口也对接收到的报文(包括组播数据报文、单播报文等)进行循环冗余校验(Cyclic Redundancy Check,CRC),根据校验结果统计该入接口对应链路的丢包数,每个入接口统计的丢包数是一直累加的。对于每个入接口来说,每当达到一个统计周期,中间节点B的组播业务模块向该入接口获取当前统计的第三丢包数,并计算第三丢包数和上一统计周期获取到的该入接口统计的第四丢包数的差值,得到该入接口新增的丢包数。然后,组播业务模块将该入接口新增的丢包数发送给中间节点的转发芯片。转发芯片记录该入接口新增的丢包数。Similarly, the incoming interface of intermediate node B also performs Cyclic Redundancy Check (CRC) on the received packets (including multicast data packets, unicast packets, etc.), and counts the incoming packets based on the check results. The number of packet losses for the link corresponding to the interface. The number of packet losses counted for each incoming interface is always accumulated. For each incoming interface, whenever a statistical period is reached, the multicast service module of intermediate node B obtains the current third packet loss number from the incoming interface, and calculates the third packet loss number and the number obtained in the previous statistical period. The difference between the fourth number of lost packets counted by the incoming interface is obtained, and the new number of lost packets on the incoming interface is obtained. Then, the multicast service module sends the new packet loss number of the incoming interface to the forwarding chip of the intermediate node. The forwarding chip records the number of new lost packets on the incoming interface.
此外,叶子节点B也按照步骤502的处理记录和上游节点(中间节点B)之间链路的丢包数。In addition, leaf node B also records the number of packet losses in the link with the upstream node (intermediate node B) according to the processing of step 502.
步骤503、中间节点接收组播数据报文,并对组播数据报文的BIER头中用于携带丢包数的字段中的值进行更新。Step 503: The intermediate node receives the multicast data packet, and updates the value in the field used to carry the number of lost packets in the BIER header of the multicast data packet.
举例说明,中间节点A通过第一入接口接收第一组播数据报文。然后,中间节点A的转发芯片查询是否记录有第一入接口新增的丢包数,如果记录有第一入接口新增的丢包数,则将记录的第一入接口新增的丢包数累加到该第一组播数据报文的BIER头中用于携带丢包数的字段中,得到第二组播数据报文。此外,转发芯片对将记录的第一入接口新增的丢包数删除。然后,中间节点A根据BIFT中的表项,将第二组播数据报文发送给中间节点B。For example, intermediate node A receives the first multicast data packet through the first incoming interface. Then, the forwarding chip of intermediate node A queries whether the number of new packet losses on the first incoming interface is recorded. If the number of new packet losses on the first incoming interface is recorded, the number of new lost packets on the first incoming interface is recorded. The number is accumulated into the field used to carry the packet loss number in the BIER header of the first multicast data packet to obtain the second multicast data packet. In addition, the forwarding chip pair deletes the recorded number of new packet losses on the first incoming interface. Then, the intermediate node A sends the second multicast data message to the intermediate node B according to the entry in the BIFT.
中间节点B通过第二入接口接收第二组播数据报文。然后,中间节点B的转发芯片查询是否记录有第二入接口新增的丢包数,如果记录有第二入接口新增的丢包数,则将记录的第二入接口新增的丢包数累加到该第二组播数据报文的BIER头中用于携带丢包数的字段中,得到第三组播数据报文。此外,转发芯片对将记录的第一入接口新增的丢包数删除。然后,中间节点A根据BIFT中的表项,将第三组播数据报文发送给叶子节点B。The intermediate node B receives the second multicast data message through the second incoming interface. Then, the forwarding chip of intermediate node B queries whether the number of new packet losses on the second incoming interface is recorded. If the number of new packet losses on the second incoming interface is recorded, the recorded number of new packet losses on the second incoming interface is recorded. The number is accumulated into the field used to carry the number of lost packets in the BIER header of the second multicast data packet to obtain the third multicast data packet. In addition, the forwarding chip pair deletes the recorded number of new packet losses on the first incoming interface. Then, the intermediate node A sends the third multicast data message to the leaf node B according to the entry in the BIFT.
需要说明的是,如果BIER头携带实际的丢包数,则可以直接将查询到的新增的丢包数累加到BIER头中用于携带丢包数的字段中;如果BIER头携带除以指定系数后的丢包数,则要先对查询到的新增的丢包数除以指定系数并向上取整后,再累计到BIER头中用于携带丢包数的字段中。It should be noted that if the BIER header carries the actual number of lost packets, the newly queried number of lost packets can be directly accumulated into the field used to carry the number of lost packets in the BIER header; if the BIER header carries the number of packets lost, divide by the specified For the number of lost packets after the coefficient, the newly queried number of lost packets must be divided by the specified coefficient and rounded up, and then accumulated into the field used to carry the number of lost packets in the BIER header.
步骤504、叶子节点通过第一路径接收组播数据报文,根据该组播数据报文的BIER头中 携带的丢包数,确定第一路径的丢包数。Step 504: The leaf node receives the multicast data message through the first path, and determines the number of lost packets on the first path based on the number of lost packets carried in the BIER header of the multicast data message.
举例说明,叶子节点B通过第三入接口接收第三组播数据报文。获取第三组播数据报文的BIER头中携带的丢包数,并查询第三入接口新增的丢包数,根据携带的丢包数和查询到新增的丢包数,确定第一路径的丢包数,此外,在计算第一路径的丢包数之后,可以将记录的第三入接口新增的丢包数删除。具体的,如果BIER头携带实际的丢包数,则可以将携带的丢包数和查询到新增的丢包数直接相加,作为第一路径的丢包数;如果BIER头携带除以指定系数后的丢包数,则可以将携带的丢包数和查询到新增的丢包数相加后,再乘以指定系数,得到第一路径的丢包数。For example, leaf node B receives the third multicast data packet through the third incoming interface. Obtain the number of lost packets carried in the BIER header of the third multicast data packet, and query the number of new lost packets on the third incoming interface. Based on the number of lost packets carried and the number of new lost packets queried, determine the first The number of packet losses on the path. In addition, after calculating the number of packet losses on the first path, the recorded number of new packet losses on the third incoming interface can be deleted. Specifically, if the BIER header carries the actual number of lost packets, the carried number of lost packets and the newly queried number of lost packets can be directly added together as the number of lost packets on the first path; if the BIER header carries the number of lost packets divided by the specified For the number of lost packets after the coefficient, you can add the number of lost packets carried and the new number of lost packets queried, and then multiply them by the specified coefficient to obtain the number of lost packets on the first path.
在一种可能的实现中,叶子节点B可以配置有流切换检测周期,相应的,叶子节点B可以按照流切换检测周期统计第一路径的丢包数。In a possible implementation, leaf node B can be configured with a flow switching detection period, and accordingly, leaf node B can count the number of packet losses on the first path according to the flow switching detection period.
举例说明,叶子节点B每通过第三入接口接收到一个组播数据报文后,获取并记录该组播数据报文的BIER头中携带的第一丢包数。每当一个流切换检测周期结束后,将该流切换检测周期内记录的第一丢包数、以及该流切换检测周期内记录的第三接收新增的第二丢包数相加,得到该流切换检测周期内第一路径的丢包数。此外,在计算第一路径的丢包数之后,可以将记录的第三入接口新增的丢包数删除。For example, each time leaf node B receives a multicast data packet through the third incoming interface, it obtains and records the first packet loss number carried in the BIER header of the multicast data packet. Whenever a flow switching detection period ends, the first number of packet losses recorded in the flow switching detection period and the new second number of packet losses recorded in the third reception period recorded in the flow switching detection period are added to obtain the Number of packets lost on the first path during the flow switching detection period. In addition, after calculating the number of packet losses on the first path, the recorded number of newly added packet losses on the third incoming interface can be deleted.
步骤505、如果第一路径的性能不满足性能需求,叶子节点则接收备份根节点通过第二路径发送的组播数据报文。Step 505: If the performance of the first path does not meet the performance requirements, the leaf node receives the multicast data packet sent by the backup root node through the second path.
举例说明,在叶子节点B未配置流切换检测周期的情况下,判断第一路径的性能是否满足性能需求的方法可以如下:For example, when the flow switching detection period is not configured on leaf node B, the method for determining whether the performance of the first path meets the performance requirements can be as follows:
叶子节点B在获取到第一路径的丢包数后,如果确定该丢包数大于丢包数阈值,则确定第一路径不满足性能需求。After obtaining the packet loss number of the first path, leaf node B determines that the packet loss number is greater than the packet loss threshold, and then determines that the first path does not meet the performance requirements.
或者,叶子节点B在获取到第一路径的丢包数后,可以再获取本次之前连续K次计算得到的第一路径的丢包数。并根据本次计算得倒的第一路径的丢包数以及在本次之前连续K次计算得到的第一路径的丢包数,计算平均丢包数。如果平均丢包数大于丢包数阈值,则确定第一路径不满足性能需求。Alternatively, after leaf node B obtains the number of packet losses of the first path, it can obtain the number of packet losses of the first path calculated K times consecutively before this time. And based on the number of packet losses of the first path calculated this time and the number of packet losses of the first path calculated K times before this time, the average number of packet losses is calculated. If the average number of packet losses is greater than the packet loss threshold, it is determined that the first path does not meet the performance requirements.
在叶子节点B配置有流切换检测周期的情况下,判断一路径的性能是否满足性能需求的方法可以如下:When leaf node B is configured with a flow switching detection period, the method to determine whether the performance of a path meets the performance requirements can be as follows:
每当一个流切换检测周期结束后,叶子节点B计算该流切换检测周期内第一路径的丢包数,如果确定该丢包数大于丢包数阈值,则确定第一路径不满足性能需求。Whenever a flow switching detection period ends, leaf node B calculates the number of packets lost on the first path during the flow switching detection period. If it is determined that the number of packets lost is greater than the packet loss threshold, it is determined that the first path does not meet the performance requirements.
或者,每当一个流切换检测周期结束后,叶子节点B计算该流切换检测周期内第一路径的丢包数,并获取该流切换检测周期之前的连续Y个流切换检测周期分别计算得到的第一路径的丢包数。然后,叶子节点B对这Y+1个流切换检测周期计算得到的丢包数计算平均丢包数。如果平均丢包数大于丢包数阈值,则确定第一路径不满足性能需求。Or, whenever a flow switching detection period ends, leaf node B calculates the number of packet losses on the first path during the flow switching detection period, and obtains the calculated number of consecutive Y flow switching detection periods before the flow switching detection period. Number of lost packets on the first path. Then, leaf node B calculates the average number of packet losses based on the number of packet losses calculated during Y+1 flow switching detection cycles. If the average number of packet losses is greater than the packet loss threshold, it is determined that the first path does not meet the performance requirements.
又或者,每当一个流切换检测周期结束后,叶子节点B计算该流切换检测周期内第一路径的丢包数,并获取该流切换检测周期之前的连续Y个流切换检测周期分别计算得到的第一路径的丢包数。如果这Y+1个流切换检测周期计算得到的丢包数均大于丢包数阈值,则确定第一路径不满足性能需求。Or, whenever a flow switching detection period ends, leaf node B calculates the number of packet losses on the first path during the flow switching detection period, and obtains the Y consecutive flow switching detection periods before the flow switching detection period and calculates them respectively. The number of packet losses on the first path. If the number of packet losses calculated during these Y+1 flow switching detection cycles is greater than the packet loss threshold, it is determined that the first path does not meet the performance requirements.
可选的,对于备份根节点和叶子节点之间的第二路径,叶子节点也可以确定该第二路径的性能指标,具体的确定方法与上述步骤401-404确定第一路径的性能指标的方法相同,在 此不再赘述。此外,确定第二路径的性能指标和确定第一路径的性能指标可以同时进行。Optionally, for the second path between the backup root node and the leaf node, the leaf node can also determine the performance index of the second path. The specific determination method is the same as the method of determining the performance index of the first path in steps 401-404 above. are the same and will not be repeated here. In addition, determining the performance index of the second path and determining the performance index of the first path may be performed simultaneously.
在此情况下,在上述步骤505执行之前,可以先执行如下步骤:确定第二路径的性能是否优于第一路径的性能,如果第二路径的性能优于第一路径的性能,则继续执行步骤505。In this case, before executing step 505 above, the following steps may be performed: determine whether the performance of the second path is better than the performance of the first path, and if the performance of the second path is better than the performance of the first path, continue execution. Step 505.
举例说明,叶子节点B确定第一路径的丢包数,并确定第二路径的丢包数。如果确定第二路径的丢包数小于第一路径的丢包数,则确定第二路径的性能优于第一路径的性能。For example, leaf node B determines the number of packet losses on the first path and determines the number of packet losses on the second path. If it is determined that the number of packet losses of the second path is less than the number of packet losses of the first path, it is determined that the performance of the second path is better than the performance of the first path.
可选的,为了避免在接收来自主根节点的组播数据流和接收来自备根节点的组播数据流之间的频繁切换,还可以在执行步骤505之后,执行如下步骤:确定第二路径的性能指标是否满足性能需求,如果第二路径的性能指标不满足性能需求,则在第一时长后,重新通过第一路径接收的组播数据报文,并对通过第一路径接收的组播数据报文剥离BIER MPLS封装或者BIERv6封装,得到相应的组播业务数据,将得到的组播业务数据转发给相应的组播接收设备。其中,第一时长可以为技术人员根据实际需求预先配置在叶子节点中的。Optionally, in order to avoid frequent switching between receiving the multicast data stream from the primary root node and receiving the multicast data stream from the backup root node, the following steps can also be performed after performing step 505: Determine the second path Whether the performance indicators meet the performance requirements. If the performance indicators of the second path do not meet the performance requirements, after the first period of time, the multicast data packets received through the first path will be re-received, and the multicast data received through the first path will be processed. The message strips off the BIER MPLS encapsulation or BIERv6 encapsulation, obtains the corresponding multicast service data, and forwards the obtained multicast service data to the corresponding multicast receiving device. Among them, the first duration can be pre-configured in the leaf node by technicians according to actual needs.
可选的,如果第二时长内,叶子节点在通过第一路径接收组播数据报文和通过第二路径接收组播数据之间切换的次数达到告警阈值,则叶子节点向网络管理设备上报告警信息,例如,第二时长为1小时,告警阈值为5。其中,告警信息用于指示第一路径和第二路径均存在故障,以提示相关人员尽快进行故障定位以及维修。第二时长和告警阈值均可以为技术人员根据实际需求预先配置在叶子节点中的。Optionally, if within the second period of time, the number of times a leaf node switches between receiving multicast data packets through the first path and receiving multicast data through the second path reaches the alarm threshold, the leaf node reports to the network management device. Alarm information, for example, the second duration is 1 hour and the alarm threshold is 5. The alarm information is used to indicate that both the first path and the second path are faulty, so as to prompt relevant personnel to locate and repair the fault as soon as possible. Both the second duration and the alarm threshold can be pre-configured in the leaf nodes by technicians based on actual needs.
可选的,在控制器还可以呈现主根节点和叶子节点之间的第一路径,以及备份根节点和叶子节点之间的第二路径。在接收到叶子节点上报的告警信号后,相关人员可以通过控制器呈现的第一路径和第二路径之间的重叠情况,快速定位故障并进行维修。Optionally, the controller may also present a first path between the main root node and the leaf nodes, and a second path between the backup root node and the leaf nodes. After receiving the alarm signal reported by the leaf node, relevant personnel can quickly locate the fault and perform repairs through the overlap between the first path and the second path presented by the controller.
结合确定性能指标方法三实现的组播数据流切换,组播数据报文作为性能指标的载体,对于根节点和叶子节点之间路径的性能指标由该路径上传输的所有报文共同计算得到,这些报文不仅仅包括组播数据报文还包括单播报文,可以更加及时发现路径故障,并及时切换组播数据流。Combined with the multicast data flow switching implemented by method three of determining performance indicators, multicast data packets are used as the carrier of performance indicators. The performance indicators of the path between the root node and the leaf node are calculated from all the messages transmitted on the path. These packets include not only multicast data packets but also unicast packets, which can detect path failures in a more timely manner and switch multicast data flows in a timely manner.
在一种可能的实现方式中,为了使组播数据流切换后,可以尽量避开故障链路,在规划第一路径和第二路径时,可以使第一路径和第二路径之间不存在相同链路。具体的规划方法可以有多种,下面列举其中几种进行说明:In a possible implementation, in order to avoid faulty links as much as possible after multicast data flow switching, when planning the first path and the second path, there can be no connection between the first path and the second path. Same link. There are many specific planning methods, some of which are listed below for explanation:
方法一、在规划某叶子节点和主根节点间的第一路径以及和备份根节点的第二路径时,可以在BIER域中的各节点上逐台进行配置,配置时指定目的节点为该叶子节点的组播数据报文转发的出接口和下一跳的目的地址。通过这样的逐跳配置,可以严格规划第一路径和第二路径,使得两条路径不存在相同链路。Method 1: When planning the first path between a leaf node and the main root node and the second path to the backup root node, you can configure it on each node in the BIER domain one by one. During the configuration, specify the destination node as the leaf node. The outbound interface and next hop destination address for forwarding multicast data packets. Through such hop-by-hop configuration, the first path and the second path can be strictly planned so that the two paths do not have the same link.
方法二、可以在控制器界面上指定主根节点和叶子节点之间的一路径、以及备份根节点和叶子节点之间的第二路径,并通过控制器对路径上的各节点统一下发配置。Method 2: You can specify a path between the main root node and leaf nodes and a second path between the backup root node and leaf nodes on the controller interface, and uniformly issue configurations to each node on the path through the controller.
通过控制器统一指定路径并自动下发配置,对于用户来说可操作性和可部署性更强。The controller uniformly specifies paths and automatically delivers configurations, making it more operable and deployable for users.
方法三、可以由控制器收集BIER域的网络拓扑,控制器根据网络拓扑、主根节点的位置、备份根节点的位置以及叶子节点的位置自动算路,算路时约束第一路径和第二路径不存在相同链路。然后,将算好的第一路径和第二路径通过自动配置的方式配置到路径所经过的各节点上。Method 3: The network topology of the BIER domain can be collected by the controller. The controller automatically calculates the path based on the network topology, the location of the main root node, the location of the backup root node, and the location of the leaf nodes. When calculating the path, the first path and the second path are constrained. The same link does not exist. Then, configure the calculated first path and the second path to each node that the path passes through through automatic configuration.
方法四、通过灵活算法(FlexAlgo)实现。Method 4: Implemented through flexible algorithm (FlexAlgo).
在BIER域的网络拓扑中创建两个不重叠FlexAlgo切片,其中,一个FlexAlgo切片承载 主根节点到叶子节点的组播数据报文,即,主根节点和叶子节点间的第一路径属于该FlexAlgo切片。另一个FlexAlgo切片承载备份根节点到叶子节点的组播数据报文,即,备份根节点和叶子节点间的第二路径属于该FlexAlgo切片。Create two non-overlapping FlexAlgo slices in the network topology of the BIER domain. One FlexAlgo slice carries multicast data packets from the main root node to the leaf nodes. That is, the first path between the main root node and the leaf nodes belongs to this FlexAlgo slice. Another FlexAlgo slice carries multicast data packets from the backup root node to the leaf nodes. That is, the second path between the backup root node and the leaf nodes belongs to this FlexAlgo slice.
在创建这每个FlexAlgo切片时,可以设置度量类型(Metric-Type)、计算类型(Calc-Type)和约束条件(constraint)。其中,Metric-Type表示在FlexAlgo切片中计算路径时的度量值,例如,时延(delay)、开销(cost)等。Calc-Type表示在FlexAlgo切片中计算路径时使用的算法,如最短路径优先(Shortest Path First,SPF)算法。Constraint可以为链路约束,约束了FlexAlgo切片所包含的链路。下面结合图16,列举两个FlexAlgo切片示例:When creating each FlexAlgo slice, you can set the metric type (Metric-Type), calculation type (Calc-Type) and constraints (constraint). Among them, Metric-Type represents the metric value when calculating paths in FlexAlgo slices, such as delay, cost, etc. Calc-Type represents the algorithm used when calculating paths in FlexAlgo slices, such as the Shortest Path First (SPF) algorithm. Constraint can be a link constraint, which restricts the links included in FlexAlgo slices. Below combined with Figure 16, two FlexAlgo slicing examples are listed:
一、FlexAlgo切片128的定义(Definition of Flex-Algo 128):1. Definition of FlexAlgo slice 128 (Definition of Flex-Algo 128):
Metric-type:cost;Metric-type: cost;
Calc-Type:SPF;Calc-Type: SPF;
Constraint:包括图16中链路1、链路2、链路3、链路4、链路5、链路6、链路7;Constraint: includes link 1, link 2, link 3, link 4, link 5, link 6, and link 7 in Figure 16;
二、Definition of Flex-Algo 129:2. Definition of Flex-Algo 129:
metric type:delay;metric type: delay;
calc-type:SPF;calc-type: SPF;
constraint:包括图16中链路11、链路12、链路13、链路14、链路15、链路16、链路17;constraint: includes link 11, link 12, link 13, link 14, link 15, link 16, and link 17 in Figure 16;
上述两个FlexAlgo切片不包含相同链路,这样,分别在这两个FlexAlgo切片的拓扑上计算的第一路径和第二路径也不包含相同链路。The above two FlexAlgo slices do not contain the same link, so the first path and the second path respectively calculated on the topology of the two FlexAlgo slices do not contain the same link.
本申请实施例还提供了一种组播数据报文发送的方法,在该方法中,BIER域中相邻两节点之间可以检测连接的各链路的性能指标,并在某链路的性能指标不满足性能需求时,不通过该链路转发组播数据报文,此外,即使检测到链路的性能指标不满足性能需求,也可以不将该链路在上游节点对应的接口关闭,这样,既可以不影响单播数据报文通过该接口转发,又可以满足组播数据报文的SLA需求。The embodiment of the present application also provides a method for sending multicast data messages. In this method, two adjacent nodes in the BIER domain can detect the performance indicators of each connected link, and calculate the performance of a certain link. When the indicator does not meet the performance requirements, multicast data packets will not be forwarded through the link. In addition, even if it is detected that the performance indicator of the link does not meet the performance requirements, the interface corresponding to the link on the upstream node does not need to be closed. In this way , which can not only not affect the forwarding of unicast data packets through this interface, but also meet the SLA requirements of multicast data packets.
根据判断性能指标是否满足性能需求的执行主体不同,该方法的执行步骤也可以不同。Depending on the execution subject that determines whether the performance indicators meet the performance requirements, the execution steps of this method may also be different.
方法一、以上游节点为执行主体,判断性能指标是否满足性能需求。结合图2所示的实施场景,上游节点可以为BIER域中除叶子节点A、叶子节点B、叶子节点C和叶子节点D以外的其他节点,下游节点可以为BIER域中除根节点A和根节点B以外的其他节点。例如,上游节点为根节点A,则对应的下游节点为中间节点A;又例如,上游节点为中间节点A,则对应的下游节点为中间节点B;又例如,上游节点为中间节点B,则对应的下游节点为叶子节点B。Method 1: Use the upstream node as the execution subject to determine whether the performance indicators meet the performance requirements. Combined with the implementation scenario shown in Figure 2, the upstream nodes can be other nodes in the BIER domain except leaf node A, leaf node B, leaf node C and leaf node D, and the downstream nodes can be other nodes in the BIER domain except root node A and root node Nodes other than B. For example, if the upstream node is root node A, then the corresponding downstream node is intermediate node A; for another example, if the upstream node is intermediate node A, then the corresponding downstream node is intermediate node B; for another example, if the upstream node is intermediate node B, then The corresponding downstream node is leaf node B.
参见图17,参见图17,该方法可以包括如下处理步骤:Referring to Figure 17, referring to Figure 17, the method may include the following processing steps:
步骤901、下游节点检测和上游节点之间链路的性能指标,并将检测的性能指标上报到上游节点。Step 901: The downstream node detects the performance index of the link between the upstream node and the downstream node, and reports the detected performance index to the upstream node.
其中,下游节点可以为中间节点或者叶子节点,上游节点可以为根节点或者中间节点。性能指标可以包括丢包率、传输时延、时延抖动、乱序等中的至少一项。Among them, the downstream node can be an intermediate node or a leaf node, and the upstream node can be a root node or an intermediate node. The performance indicators may include at least one of packet loss rate, transmission delay, delay jitter, out-of-order, etc.
在实施中,在上游节点和下游节点间存在多条等价路径的情况下,下游节点可以通过双向转发检测机制(Bidirectional Forwarding Detection,BFD),周期性的检测和上游节点间各等价路径的性能指标。然后,将检测到的每条等价路径的性能指标通过对应的接口上报到上 游节点。In the implementation, when there are multiple equal-cost paths between the upstream node and the downstream node, the downstream node can use the Bidirectional Forwarding Detection (BFD) to periodically detect and detect the equal-cost paths between the upstream nodes. Performance. Then, the performance indicators of each detected equal-cost path are reported to the upstream node through the corresponding interface.
在上游节点和下游节点间存在ETH-Trunk捆绑接口的情况下,下游节点可以通过BFD,周期性的检测ETH-Trunk捆绑接口的各成员接口所在链路的性能指标。然后,将检测到的性能指标,通过对应的成员接口上报到上游节点。When there is an ETH-Trunk bundled interface between the upstream node and the downstream node, the downstream node can periodically detect the performance indicators of the links where each member interface of the ETH-Trunk bundled interface is located through BFD. Then, the detected performance indicators are reported to the upstream node through the corresponding member interface.
在上报性能指标时,可以将性能指标携带在BFD消息中上报到上游节点。When reporting performance indicators, the performance indicators can be carried in BFD messages and reported to the upstream node.
步骤902、上游节点判断接收到的性能指标是否满足性能需求。Step 902: The upstream node determines whether the received performance indicators meet the performance requirements.
在实施中,上游节点接收到性能指标后,判断该性能指标是否满足性能需求。例如,性能指标包括丢包率、传输时延、时延抖动、乱序等,每项性能指标对应有一个阈值,如果性能指标大于对应的阈值,则确定性能指标不满足性能需求。In the implementation, after the upstream node receives the performance indicator, it determines whether the performance indicator meets the performance requirements. For example, performance indicators include packet loss rate, transmission delay, delay jitter, out-of-order, etc. Each performance indicator corresponds to a threshold. If the performance indicator is greater than the corresponding threshold, it is determined that the performance indicator does not meet the performance requirements.
步骤903、上游节点在转发组播数据报文时,规避不满足性能需求的链路。Step 903: When forwarding multicast data packets, the upstream node avoids links that do not meet performance requirements.
在实施中,在上游节点和下游节点间存在多条等价路径的情况下,上游节点在转发组播数据报文时,可以查询到多个出接口,每个出接口对应一条等价路径。上游节点判断查询出的多个接口中是否存在所在链路不满足性能需求的出接口,如果确定出存在某出接口所在链路不满足性能需求,则在除该出接口以外的出接口中,选择一个出接口,作为组播数据报文的出接口发送该组播数据报文。In the implementation, when there are multiple equal-cost paths between the upstream node and the downstream node, the upstream node can query multiple outbound interfaces when forwarding multicast data packets, and each outbound interface corresponds to an equal-cost path. The upstream node determines whether among the multiple interfaces queried, there is an outbound interface whose link does not meet the performance requirements. If it is determined that there is an outbound interface whose link does not meet the performance requirements, then among the outbound interfaces other than the outbound interface, Select an outbound interface as the outbound interface for sending multicast data packets.
在上游节点和下游节点间存在ETH-Trunk捆绑接口的情况下,游节点在转发组播数据报文时,如果查询到出接口为ETH-Trunk捆绑接口,则判断该ETH-Trunk捆绑接口的各成员接口中,是否存在所在链路不满足性能需求的成员接口,如果确定出存在某成员接口所在链路不满足性能需求,则在除该成员接口以外的成员接口中,选择一个成员接口,作为组播数据报文的出接口。When there is an ETH-Trunk bundled interface between the upstream node and the downstream node, when the upstream node forwards multicast data packets, if the outbound interface is queried to be an ETH-Trunk bundled interface, it will determine the ETH-Trunk bundled interface. Among the member interfaces, is there a member interface whose link does not meet the performance requirements? If it is determined that the link of a certain member interface does not meet the performance requirements, select a member interface among the member interfaces other than the member interface as The outbound interface for multicast data packets.
方法二、以下游节点为执行主体,判断性能指标是否满足性能需求。Method 2: Use the downstream node as the execution subject to determine whether the performance indicators meet the performance requirements.
参见图18,该方法可以包括如下处理步骤:Referring to Figure 18, the method may include the following processing steps:
步骤1001、下游节点检测和上游节点之间链路的性能指标。 Step 1001. Detect downstream nodes and perform performance indicators of links between upstream nodes.
步骤1002、下游节点确定不满足性能需求链路,通过该链路向上游节点发送链路故障指示信息。Step 1002: The downstream node determines that the link does not meet the performance requirements, and sends link failure indication information to the upstream node through the link.
其中,链路故障指示信息用于指示链路不满足性能需求。Among them, the link fault indication information is used to indicate that the link does not meet the performance requirements.
在实施中,下游节点根据检测到的性能指标,判断链路是否满足性能需求。在确定链路不满足性能需求的情况下,通过该链路向上游节点发送链路故障指示信息。具体的,可以将链路故障指示信息携带在BFD消息中,上报到上游节点。In the implementation, the downstream node determines whether the link meets the performance requirements based on the detected performance indicators. When it is determined that the link does not meet the performance requirements, link failure indication information is sent to the upstream node through the link. Specifically, the link failure indication information can be carried in the BFD message and reported to the upstream node.
步骤1003、上游节点在转发组播数据报文时,规避不满足性能需求的链路。Step 1003: When forwarding multicast data packets, the upstream node avoids links that do not meet performance requirements.
需求说明的是,步骤1001检测性能指标的方法和步骤901检测性能指标的方法相同,步骤1002判断是否满足性能需求的方法和步骤902判断是否满足性能需求的方法相同,步骤1003的处理和步骤903的处理相同,在此均不做赘述。It should be noted that the method of detecting performance indicators in step 1001 is the same as the method of detecting performance indicators in step 901. The method of judging whether the performance requirements are met in step 1002 is the same as the method of judging whether the performance requirements are met in step 902. The processing of step 1003 is the same as that of step 903. The processing is the same and will not be described again here.
通过上述方法,可以无需改变接口的状态,只是在转发组播数据报文时避开不满足性能需求链路,可以在满足组播业务的SLA需求的同时,不影响单播业务。Through the above method, there is no need to change the status of the interface, but only avoid links that do not meet performance requirements when forwarding multicast data packets. This can meet the SLA requirements of multicast services without affecting unicast services.
基于相同的技术构思,本申请实施例还提供了一种组播数据报文发送的装置,该装置1900可以应用于上述如图2所示的叶子节点B中,如图19所示,所述装置1900包括:Based on the same technical concept, the embodiment of the present application also provides a device for sending multicast data messages. The device 1900 can be applied to the above-mentioned leaf node B as shown in Figure 2. As shown in Figure 19, the Device 1900 includes:
接收模块1910,用于通过第一路径接收第一组播数据报文,所述第一组播数据报文包括第一参数,所述第一参数用于检测性能指标;具体可以实现上述步骤303、403、504中的接 收功能,以及其他隐含步骤。The receiving module 1910 is configured to receive the first multicast data message through the first path. The first multicast data message includes a first parameter, and the first parameter is used to detect performance indicators; specifically, the above step 303 can be implemented. , the receiving function in 403, 504, and other implicit steps.
获取模块1920,用于根据所述第一参数获得第一性能指标;具体可以实现上述步骤304、404、504中的获取功能,以及其他隐含步骤。The acquisition module 1920 is used to obtain the first performance index according to the first parameter; specifically, the acquisition function in the above steps 304, 404, and 504 can be implemented, as well as other implicit steps.
所述接收模块1910,还用于基于所述第一性能指标确定所述第一路径不满足性能需求,通过第二路径接收第二组播数据报文。具体可以实现上述步骤305、405、505中的获取功能,以及其他隐含步骤。The receiving module 1910 is also configured to determine that the first path does not meet the performance requirements based on the first performance index, and receive the second multicast data message through the second path. Specifically, the acquisition functions in the above steps 305, 405, and 505 can be implemented, as well as other implicit steps.
在一种可能的实现方式中,所述第一组播数据报文包括BIER头和IFIT头,所述IFIT头用于携带所述第一参数。In a possible implementation manner, the first multicast data message includes a BIER header and an IFIT header, and the IFIT header is used to carry the first parameter.
在一种可能的实现方式中,所述第一组播数据报文包括BIER头和RTP头,所述RTP头用于携带所述第一参数;或者In a possible implementation, the first multicast data message includes a BIER header and an RTP header, and the RTP header is used to carry the first parameter; or
所述第一组播数据报文包括BIER头和TS头,所述TS头用于携带所述第一参数。The first multicast data message includes a BIER header and a TS header, and the TS header is used to carry the first parameter.
在一种可能的实现方式中,所述第一组播数据报文为基于IPv6封装的BIER报文,所述第一组播数据报文中的BIER头用于携带所述第一参数。In a possible implementation manner, the first multicast data packet is a BIER packet based on IPv6 encapsulation, and the BIER header in the first multicast data packet is used to carry the first parameter.
在一种可能的实现方式中,所述BIER头中的熵entropy字段用于携带所述第一参数;或者In a possible implementation, the entropy field in the BIER header is used to carry the first parameter; or
所述BIER头中的BFIR ID字段用于携带所述第一参数;或者The BFIR ID field in the BIER header is used to carry the first parameter; or
所述BIER头中的TC字段、S字段和TTL字段携带所述第一参数;或者The TC field, S field and TTL field in the BIER header carry the first parameter; or
所述BIER头中的S字段和TTL字段用于携带所述第一参数。The S field and TTL field in the BIER header are used to carry the first parameter.
在一种可能的实现方式中,所述第一组播数据报文为基于MPLS封装的BIER报文,所述第一组播数据报文中的BIER头用于携带所述第一参数。In a possible implementation manner, the first multicast data packet is a BIER packet based on MPLS encapsulation, and the BIER header in the first multicast data packet is used to carry the first parameter.
在一种可能的实现方式中,所述第一参数包括发送时间戳,所获取模块1920用于:In a possible implementation, the first parameter includes a sending timestamp, and the obtained module 1920 is used to:
确定所述第一组播数据报文的接收时间戳;Determine the reception timestamp of the first multicast data message;
将所述发送时间戳和所述接收时间戳发送给控制器;Send the sending timestamp and the receiving timestamp to the controller;
接收所述控制器发送的所述第一性能指标,所述第一性能指标用于表示所述第一路径的传输时延和时延抖动中的至少一项。Receive the first performance index sent by the controller, where the first performance index is used to represent at least one of transmission delay and delay jitter of the first path.
在一种可能的实现方式中,所述第一参数包括第一序列号,所述获取模块1920用于:In a possible implementation, the first parameter includes a first serial number, and the obtaining module 1920 is used to:
将所述第一序列号发送给控制器;Send the first serial number to the controller;
接收所述控制器发送的所述第一性能指标,所述第一性能指标用于表示所述第一路径的丢包率和乱序的至少一项。Receive the first performance index sent by the controller, where the first performance index is used to represent at least one of packet loss rate and out-of-order of the first path.
在一种可能的实现方式中,所述第一参数包括发送时间戳,所述获取模块1920用于:In a possible implementation, the first parameter includes a sending timestamp, and the obtaining module 1920 is used to:
确定所述第一组播数据报文的接收时间戳;Determine the reception timestamp of the first multicast data message;
基于所述发送时间戳和所述接收时间戳生成所述第一性能指标,所述第一性能指标用于表示所述第一路径的传输时延和时延抖动中的至少一项。The first performance index is generated based on the sending timestamp and the receiving timestamp, and the first performance index is used to represent at least one of transmission delay and delay jitter of the first path.
在一种可能的实现方式中,所述第一参数包括第一序列号,所述获取模块1920用于:In a possible implementation, the first parameter includes a first serial number, and the obtaining module 1920 is used to:
基于所述第一序列号生成第一性能指标,所述第一性能指标用于表示所述第一路径的丢包率和乱序的至少一项。A first performance index is generated based on the first sequence number, and the first performance index is used to represent at least one of packet loss rate and disorder of the first path.
在一种可能的实现方式中,所述第二组播数据报文还包括第二参数,所述获取模块1920,还用于:In a possible implementation, the second multicast data message further includes a second parameter, and the obtaining module 1920 is also used to:
基于所述第二参数获得第二性能指标,所述第二性能指标指示的性能优于所述第一性能 指标指示的性能。A second performance index is obtained based on the second parameter, and the performance indicated by the second performance index is better than the performance indicated by the first performance index.
在一种可能的实现方式中,所述第一路径和所述第二路径是控制器规划获得的不重合的路径;或者In a possible implementation, the first path and the second path are non-overlapping paths obtained by planning of the controller; or
所述第一路径和所述第二路径属于不同的FlexAlgo切片且不重合的路径。The first path and the second path belong to different FlexAlgo slices and are not overlapping paths.
需要说明的是:上述实施例提供的组播数据报文发送的装置在执行组播数据报文发送时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的组播数据报文发送的装置与组播数据报文发送的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。It should be noted that when the device for sending multicast data packets provided in the above embodiments performs multicast data packet sending, only the division of the above functional modules is used as an example. In practical applications, the above mentioned functions can be used as needed. Function allocation is completed by different functional modules, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. In addition, the device for sending multicast data packets provided in the above embodiments and the method embodiment for sending multicast data packets belong to the same concept. Please refer to the method embodiments for the specific implementation process, which will not be described again here.
基于相同的技术构思,本申请实施例还提供了一种组播数据报文发送的装置,该装置2000可以应用于上述如图2所示的根节点A、根节点B中,如图20所示,所述装置2000包括:Based on the same technical concept, the embodiment of the present application also provides a device for sending multicast data messages. The device 2000 can be applied to the above-mentioned root node A and root node B as shown in Figure 2, as shown in Figure 20 As shown, the device 2000 includes:
获取模块2010,用于获得组播数据报文,所述组播数据报文包括第一参数,所述第一参数用于检测性能指标;具体可以实现上述步骤302、402、501中的获取功能,以及其他隐含步骤。The acquisition module 2010 is used to obtain a multicast data message. The multicast data message includes a first parameter, and the first parameter is used to detect performance indicators; specifically, the acquisition functions in the above steps 302, 402, and 501 can be implemented. , and other implicit steps.
发送模块2020,用于通过第一路径向叶子节点发送所述组播数据报文。具体可以实现上述步骤302、402、501中的方式功能,以及其他隐含步骤。The sending module 2020 is configured to send the multicast data message to the leaf node through the first path. Specifically, the method functions in the above steps 302, 402, and 501 can be implemented, as well as other implicit steps.
在一种可能的实现方式中,所述组播数据报文包括BIER头和随流检测IFIT头,所述IFIT头用于携带所述第一参数。In a possible implementation manner, the multicast data message includes a BIER header and a flow detection IFIT header, and the IFIT header is used to carry the first parameter.
在一种可能的实现方式中,所述组播数据报文包括BIER头和RTP头,所述RTP头用于携带所述第一参数;或者In a possible implementation, the multicast data message includes a BIER header and an RTP header, and the RTP header is used to carry the first parameter; or
所述第一组播数据报文包括BIER头和传送流TS头,所述TS头用于携带所述第一参数。The first multicast data message includes a BIER header and a transport stream TS header, and the TS header is used to carry the first parameter.
在一种可能的实现方式中,所述组播数据报文为基于互联网协议第6版IPv6封装的BIER报文,所述组播数据报文中的BIER头用于携带所述第一参数。In a possible implementation manner, the multicast data message is a BIER message encapsulated based on Internet Protocol version 6, IPv6, and the BIER header in the multicast data message is used to carry the first parameter.
在一种可能的实现方式中,所述BIER头中的entropy字段用于携带所述第一参数;或者In a possible implementation, the entropy field in the BIER header is used to carry the first parameter; or
所述BIER头中的BIER转发入口路由器标识BFIR ID字段用于携带所述第一参数;或者The BIER forwarding entry router identification BFIR ID field in the BIER header is used to carry the first parameter; or
所述BIER头中的TC字段、S字段和TTL字段携带所述第一参数;或者The TC field, S field and TTL field in the BIER header carry the first parameter; or
所述BIER头中的S字段和TTL字段用于携带所述第一参数。The S field and TTL field in the BIER header are used to carry the first parameter.
在一种可能的实现方式中,所述组播数据报文为基于多协议标签交换封装的BIER报文,所述第一组播数据报文中的BIER头用于携带所述第一参数。In a possible implementation manner, the multicast data message is a BIER message encapsulated based on multi-protocol label switching, and the BIER header in the first multicast data message is used to carry the first parameter.
在一种可能的实现方式中,所述第一参数包括发送时间戳和第一序列号中的至少一个。In a possible implementation, the first parameter includes at least one of a sending timestamp and a first sequence number.
需要说明的是:上述实施例提供的组播数据报文发送的装置在执行组播数据报文发送时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的组播数据报文发送的装置与组播数据报文发送的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。It should be noted that when the device for sending multicast data packets provided in the above embodiments performs multicast data packet sending, only the division of the above functional modules is used as an example. In practical applications, the above mentioned functions can be used as needed. Function allocation is completed by different functional modules, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. In addition, the device for sending multicast data packets provided in the above embodiments and the method embodiment for sending multicast data packets belong to the same concept. Please refer to the method embodiments for the specific implementation process, which will not be described again here.
图21是本申请实施例提供的一种网络设备的结构示意图。网络设备700包括至少一个处理器701、存储器702以及至少一个网络接口703。Figure 21 is a schematic structural diagram of a network device provided by an embodiment of the present application. Network device 700 includes at least one processor 701, memory 702, and at least one network interface 703.
处理器701例如是通用中央处理器(central processing unit,CPU)、网络处理器(network processer,NP)、图形处理器(graphics processing unit,GPU)、神经网络处理器(neural-network  processing units,NPU)、数据处理单元(data processing unit,DPU)、微处理器或者一个或多个用于实现本申请方案的集成电路。例如,处理器701包括专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。PLD例如是复杂可编程逻辑器件(complex programmable logic device,CPLD)、现场可编程逻辑门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合。The processor 701 is, for example, a general central processing unit (CPU), a network processor (NP), a graphics processing unit (GPU), or a neural network processor (NPU). ), a data processing unit (DPU), a microprocessor or one or more integrated circuits used to implement the solution 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. PLD is, for example, a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a general array logic (GAL), or any combination thereof.
存储器702例如是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,又如是随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,又如是电可擦可编程只读存储器(electrically erasable programmable read-only Memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。可选地,存储器702独立存在,并通过内部连接704与处理器701相连接。或者,可选地存储器702和处理器701集成在一起。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, or a random access memory (random access memory, RAM) or a device that can store information and instructions. Other types of dynamic storage devices, such as electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disk storage, optical discs Storage (including compressed optical discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or can be used to carry or store desired program code in the form of instructions or data structures and can Any other media accessed by a computer, without limitation. Optionally, the memory 702 exists independently and is connected to the processor 701 through an internal connection 704 . Alternatively, memory 702 and processor 701 may optionally be integrated together.
网络接口703使用任何收发器一类的装置,用于与其它设备或通信网络通信。网络接口703例如包括有线网络接口或者无线网络接口中的至少一项。其中,有线网络接口例如为以太网接口。以太网接口例如是光接口,电接口或其组合。无线网络接口例如为无线局域网(wireless local area networks,WLAN)接口,蜂窝网络网络接口或其组合等。 Network interface 703 uses any transceiver-like device for communicating with other devices or communications 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 network (WLAN) interface, a cellular network network interface or a combination thereof.
在一些实施例中,处理器701包括一个或多个CPU,如附图21中所示的CPU0和CPU1。In some embodiments, processor 701 includes one or more CPUs, such as CPU0 and CPU1 shown in Figure 21.
在一些实施例中,网络设备700可选地包括多个处理器,如附图21中所示的处理器701和处理器705。这些处理器中的每一个例如是一个单核处理器(single-CPU),又如是一个多核处理器(multi-CPU)。这里的处理器可选地指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。In some embodiments, network device 700 optionally includes multiple processors, such as processor 701 and processor 705 shown in Figure 21. Each of these processors is, for example, a single-core processor (single-CPU) or a multi-core processor (multi-CPU). Processor here optionally refers to one or more devices, circuits, and/or processing cores for processing data (eg, computer program instructions).
在一些实施例中,网络设备700还包括内部连接704。处理器701、存储器702以及至少一个网络接口703通过内部连接704连接。内部连接704包括通路,在上述组件之间传送信息。可选地,内部连接704是单板或总线。可选地,内部连接704分为地址总线、数据总线、控制总线等。In some embodiments, network device 700 also includes internal connections 704. The processor 701, the memory 702, and the at least one network interface 703 are connected via an internal connection 704. Internal connections 704 include pathways that carry information between the components described above. Optionally, internal connection 704 is a single board or bus. Optionally, the internal connections 704 are divided into address bus, data bus, control bus, etc.
在一些实施例中,网络设备700还包括输入输出接口706。输入输出接口706连接到内部连接704上。In some embodiments, network device 700 also includes input and output interfaces 706. Input/output interface 706 is connected to internal connection 704 .
可选地,处理器701通过读取存储器702中保存的程序代码710实现上述实施例中的方法,或者,处理器701通过内部存储的程序代码实现上述实施例中的方法。在处理器701通过读取存储器702中保存的程序代码710实现上述实施例中的方法的情况下,存储器702中保存实现本申请实施例提供的方法的程序代码。Optionally, the processor 701 implements the method in the above embodiment by reading the program code 710 stored in the memory 702, or the processor 701 implements the method in the above embodiment by using the internally stored program code. In the case where the processor 701 implements the method in the above embodiment by reading the program code 710 stored in the memory 702, the memory 702 stores the program code that implements the method provided by the embodiment of the present application.
处理器701实现上述功能的更多细节请参考前面各个方法实施例中的描述,在这里不再重复。For more details on how the processor 701 implements the above functions, please refer to the descriptions in the previous method embodiments, which will not be repeated here.
上述实施例可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实 施例描述的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolID State Disk(SSD))等。The above embodiments may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using software, it may be implemented in whole or in part in the form of a computer program product. A computer program product includes one or more computer instructions. When computer program instructions are loaded and executed on a computer, the processes or functions described in accordance with the embodiments of the present application are generated in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable device. Computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, e.g., computer instructions may be transmitted from a website, computer, server or data center via a wired link (e.g. Coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) means to transmit to another website site, computer, server or data center. Computer-readable storage media can be any available media that can be accessed by a computer or a data storage device such as a server, data center, or other integrated media that contains one or more available media. Available media may be magnetic media (for example, floppy disks, hard disks, magnetic tapes), optical media (for example, DVD), or semiconductor media (for example, Solid State Disk SolID State Disk (SSD)), etc.
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。The above embodiments are only used to illustrate the technical solutions of the present application, but are not intended to limit them. Although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions described in the foregoing embodiments. Modifications may be made to the recorded technical solutions, or equivalent substitutions may be made to some of the technical features; however, these modifications or substitutions do not cause the essence of the corresponding technical solutions to depart from the scope of the technical solutions of the embodiments of the present application.

Claims (40)

  1. 一种组播数据报文发送的方法,其特征在于,所述方法应用于基于比特位索引的显式复制BIER域中的叶子节点,所述方法包括:A method for sending multicast data messages, characterized in that the method is applied to explicit copying of leaf nodes in a BIER domain based on bit indexes, and the method includes:
    通过第一路径接收第一组播数据报文,所述第一组播数据报文包括第一参数,所述第一参数用于检测性能指标;Receive a first multicast data message through a first path, where the first multicast data message includes a first parameter, and the first parameter is used to detect performance indicators;
    根据所述第一参数获得第一性能指标;Obtain a first performance index according to the first parameter;
    基于所述第一性能指标确定所述第一路径不满足性能需求,通过第二路径接收第二组播数据报文。Based on the first performance index, it is determined that the first path does not meet the performance requirement, and the second multicast data message is received through the second path.
  2. 根据权利要求1所述的方法,其特征在于,所述第一组播数据报文包括BIER头和随流检测IFIT头,所述IFIT头用于携带所述第一参数。The method according to claim 1, characterized in that the first multicast data message includes a BIER header and a flow detection IFIT header, and the IFIT header is used to carry the first parameter.
  3. 根据权利要求1所述的方法,其特征在于,所述第一组播数据报文包括BIER头和实时传送协议RTP头,所述RTP头用于携带所述第一参数;或者The method according to claim 1, characterized in that the first multicast data message includes a BIER header and a real-time transfer protocol RTP header, and the RTP header is used to carry the first parameter; or
    所述第一组播数据报文包括BIER头和传送流TS头,所述TS头用于携带所述第一参数。The first multicast data message includes a BIER header and a transport stream TS header, and the TS header is used to carry the first parameter.
  4. 根据权利要求1所述的方法,其特征在于,所述第一组播数据报文为基于互联网协议第6版IPv6封装的BIER报文,所述第一组播数据报文中的BIER头用于携带所述第一参数。The method according to claim 1, characterized in that the first multicast data message is a BIER message encapsulated based on Internet Protocol version 6 IPv6, and the BIER header in the first multicast data message is to carry the first parameter.
  5. 根据权利要求4所述的方法,其特征在于,所述BIER头中的熵entropy字段用于携带所述第一参数;或者The method according to claim 4, characterized in that the entropy field in the BIER header is used to carry the first parameter; or
    所述BIER头中的BIER转发入口路由器标识BFIR ID字段用于携带所述第一参数;或者所述BIER头中的流量等级TC字段、用于标识标签栈底的S字段和生存时间TTL字段携带所述第一参数;或者The BIER forwarding entry router identification BFIR ID field in the BIER header is used to carry the first parameter; or the traffic level TC field, the S field used to identify the bottom of the label stack and the time-to-live TTL field in the BIER header are carried the first parameter; or
    所述BIER头中的S字段和TTL字段用于携带所述第一参数。The S field and TTL field in the BIER header are used to carry the first parameter.
  6. 根据权利要求1所述的方法,其特征在于,所述第一组播数据报文为基于多协议标签交换MPLS封装的BIER报文,所述第一组播数据报文中的BIER头用于携带所述第一参数。The method according to claim 1, characterized in that the first multicast data message is a BIER message encapsulated based on multi-protocol label switching MPLS, and the BIER header in the first multicast data message is used to Carrying the first parameter.
  7. 根据权利要求1至6任一所述的方法,其特征在于,所述第一参数包括发送时间戳,所述根据所述第一参数获得第一性能指标包括:The method according to any one of claims 1 to 6, characterized in that the first parameter includes a sending timestamp, and obtaining the first performance index according to the first parameter includes:
    确定所述第一组播数据报文的接收时间戳;Determine the reception timestamp of the first multicast data message;
    将所述发送时间戳和所述接收时间戳发送给控制器;Send the sending timestamp and the receiving timestamp to the controller;
    接收所述控制器发送的所述第一性能指标,所述第一性能指标用于表示所述第一路径的传输时延和时延抖动中的至少一项。Receive the first performance index sent by the controller, where the first performance index is used to represent at least one of transmission delay and delay jitter of the first path.
  8. 根据权利要求1至6任一所述的方法,其特征在于,所述第一参数包括第一序列号, 所述根据所述第一参数获得第一性能指标包括:The method according to any one of claims 1 to 6, characterized in that the first parameter includes a first serial number, and obtaining the first performance index according to the first parameter includes:
    将所述第一序列号发送给控制器;Send the first serial number to the controller;
    接收所述控制器发送的所述第一性能指标,所述第一性能指标用于表示所述第一路径的丢包率和乱序中的至少一项。Receive the first performance index sent by the controller, where the first performance index is used to represent at least one of packet loss rate and out-of-order of the first path.
  9. 根据权利要求1至6任一所述的方法,其特征在于,所述第一参数包括发送时间戳,所述根据所述第一参数获得第一性能指标包括:The method according to any one of claims 1 to 6, characterized in that the first parameter includes a sending timestamp, and obtaining the first performance index according to the first parameter includes:
    确定所述第一组播数据报文的接收时间戳;Determine the reception timestamp of the first multicast data message;
    基于所述发送时间戳和所述接收时间戳生成所述第一性能指标,所述第一性能指标用于表示所述第一路径的传输时延和时延抖动中的至少一项。The first performance index is generated based on the sending timestamp and the receiving timestamp, and the first performance index is used to represent at least one of transmission delay and delay jitter of the first path.
  10. 根据权利要求1至6任一所述的方法,其特征在于,所述第一参数包括第一序列号,所述根据所述第一参数获得第一性能指标包括:The method according to any one of claims 1 to 6, characterized in that the first parameter includes a first serial number, and obtaining the first performance index according to the first parameter includes:
    基于所述第一序列号生成第一性能指标,所述第一性能指标用于表示所述第一路径的丢包率和乱序中的至少一项。A first performance index is generated based on the first sequence number, and the first performance index is used to represent at least one of packet loss rate and disorder of the first path.
  11. 根据权利要求1至10任一所述的方法,其特征在于,所述第二组播数据报文还包括第二参数,所述方法还包括:The method according to any one of claims 1 to 10, characterized in that the second multicast data message further includes a second parameter, and the method further includes:
    基于所述第二参数获得第二性能指标,所述第二性能指标指示的性能优于所述第一性能指标指示的性能。A second performance index is obtained based on the second parameter, and the performance indicated by the second performance index is better than the performance indicated by the first performance index.
  12. 根据权利要求1至11任一所述的方法,其特征在于,所述第一路径和所述第二路径是控制器规划获得的不重合的路径;或者The method according to any one of claims 1 to 11, characterized in that the first path and the second path are non-overlapping paths obtained by planning of the controller; or
    所述第一路径和所述第二路径属于不同的灵活算法FlexAlgo切片且不重合的路径。The first path and the second path belong to different flexible algorithm FlexAlgo slices and do not overlap.
  13. 一种组播数据报文发送的方法,其特征在于,所述方法应用于BIER域中的根节点,所述方法包括:A method for sending multicast data messages, characterized in that the method is applied to the root node in the BIER domain, and the method includes:
    获得组播数据报文,所述组播数据报文包括第一参数,所述第一参数用于检测性能指标;Obtain a multicast data message, the multicast data message includes a first parameter, and the first parameter is used to detect performance indicators;
    通过第一路径向叶子节点发送所述组播数据报文。Send the multicast data message to the leaf node through the first path.
  14. 根据权利要求13所述的方法,其特征在于,所述组播数据报文包括BIER头和IFIT头,所述IFIT头用于携带所述第一参数。The method according to claim 13, characterized in that the multicast data message includes a BIER header and an IFIT header, and the IFIT header is used to carry the first parameter.
  15. 根据权利要求13所述的方法,其特征在于,所述组播数据报文包括BIER头和RTP头,所述RTP头用于携带所述第一参数;或者The method according to claim 13, characterized in that the multicast data message includes a BIER header and an RTP header, and the RTP header is used to carry the first parameter; or
    所述第一组播数据报文包括BIER头和TS头,所述TS头用于携带所述第一参数。The first multicast data message includes a BIER header and a TS header, and the TS header is used to carry the first parameter.
  16. 根据权利要求13所述的方法,其特征在于,所述组播数据报文为基于IPv6封装的BIER报文,所述组播数据报文中的BIER头用于携带所述第一参数。The method according to claim 13, characterized in that the multicast data message is a BIER message encapsulated based on IPv6, and the BIER header in the multicast data message is used to carry the first parameter.
  17. 根据权利要求16所述的方法,其特征在于,所述BIER头中的entropy字段用于携带所述第一参数;或者The method according to claim 16, characterized in that the entropy field in the BIER header is used to carry the first parameter; or
    所述BIER头中的BFIR ID字段用于携带所述第一参数;或者The BFIR ID field in the BIER header is used to carry the first parameter; or
    所述BIER头中的TC字段、S字段和TTL字段携带所述第一参数;或者The TC field, S field and TTL field in the BIER header carry the first parameter; or
    所述BIER头中的S字段和TTL字段用于携带所述第一参数。The S field and TTL field in the BIER header are used to carry the first parameter.
  18. 根据权利要求13所述的方法,其特征在于,所述组播数据报文为基于MPLS封装的BIER报文,所述第一组播数据报文中的BIER头用于携带所述第一参数。The method according to claim 13, characterized in that the multicast data message is a BIER message based on MPLS encapsulation, and the BIER header in the first multicast data message is used to carry the first parameter .
  19. 根据权利要求13至18任一所述的方法,其特征在于,所述第一参数包括发送时间戳和第一序列号中的至少一个。The method according to any one of claims 13 to 18, wherein the first parameter includes at least one of a sending timestamp and a first sequence number.
  20. 一种组播数据报文发送的装置,其特征在于,所述装置设置在BIER域中的叶子节点,所述装置包括:A device for sending multicast data messages, characterized in that the device is set at a leaf node in the BIER domain, and the device includes:
    接收模块,用于通过第一路径接收第一组播数据报文,所述第一组播数据报文包括第一参数,所述第一参数用于检测性能指标;A receiving module, configured to receive a first multicast data message through a first path, where the first multicast data message includes a first parameter, and the first parameter is used to detect performance indicators;
    获取模块,用于根据所述第一参数获得第一性能指标;An acquisition module, configured to obtain a first performance index according to the first parameter;
    所述接收模块,还用于基于所述第一性能指标确定所述第一路径不满足性能需求,通过第二路径接收第二组播数据报文。The receiving module is further configured to determine that the first path does not meet performance requirements based on the first performance index, and receive the second multicast data message through the second path.
  21. 根据权利要求20所述的装置,其特征在于,所述第一组播数据报文包括BIER头和IFIT头,所述IFIT头用于携带所述第一参数。The device according to claim 20, wherein the first multicast data message includes a BIER header and an IFIT header, and the IFIT header is used to carry the first parameter.
  22. 根据权利要求20所述的装置,其特征在于,所述第一组播数据报文包括BIER头和RTP头,所述RTP头用于携带所述第一参数;或者The device according to claim 20, wherein the first multicast data message includes a BIER header and an RTP header, and the RTP header is used to carry the first parameter; or
    所述第一组播数据报文包括BIER头和TS头,所述TS头用于携带所述第一参数。The first multicast data message includes a BIER header and a TS header, and the TS header is used to carry the first parameter.
  23. 根据权利要求20所述的装置,其特征在于,所述第一组播数据报文为基于IPv6封装的BIER报文,所述第一组播数据报文中的BIER头用于携带所述第一参数。The device according to claim 20, characterized in that the first multicast data message is a BIER message based on IPv6 encapsulation, and the BIER header in the first multicast data message is used to carry the third multicast data message. One parameter.
  24. 根据权利要求23所述的装置,其特征在于,所述BIER头中的熵entropy字段用于携带所述第一参数;或者The device according to claim 23, wherein an entropy field in the BIER header is used to carry the first parameter; or
    所述BIER头中的BFIR ID字段用于携带所述第一参数;或者The BFIR ID field in the BIER header is used to carry the first parameter; or
    所述BIER头中的TC字段、S字段和TTL字段携带所述第一参数;或者The TC field, S field and TTL field in the BIER header carry the first parameter; or
    所述BIER头中的S字段和TTL字段用于携带所述第一参数。The S field and TTL field in the BIER header are used to carry the first parameter.
  25. 根据权利要求20所述的装置,其特征在于,所述第一组播数据报文为基于MPLS封装的BIER报文,所述第一组播数据报文中的BIER头用于携带所述第一参数。The device according to claim 20, characterized in that the first multicast data message is a BIER message based on MPLS encapsulation, and the BIER header in the first multicast data message is used to carry the first multicast data message. One parameter.
  26. 根据权利要求20至25任一所述的装置,其特征在于,所述第一参数包括发送时间戳,所获取模块用于:The device according to any one of claims 20 to 25, characterized in that the first parameter includes a sending timestamp, and the obtained module is used for:
    确定所述第一组播数据报文的接收时间戳;Determine the reception timestamp of the first multicast data message;
    将所述发送时间戳和所述接收时间戳发送给控制器;Send the sending timestamp and the receiving timestamp to the controller;
    接收所述控制器发送的所述第一性能指标,所述第一性能指标用于表示所述第一路径的传输时延和时延抖动中的至少一项。Receive the first performance index sent by the controller, where the first performance index is used to represent at least one of transmission delay and delay jitter of the first path.
  27. 根据权利要求20至25任一所述的装置,其特征在于,所述第一参数包括第一序列号,所述获取模块用于:The device according to any one of claims 20 to 25, wherein the first parameter includes a first serial number, and the acquisition module is configured to:
    将所述第一序列号发送给控制器;Send the first serial number to the controller;
    接收所述控制器发送的所述第一性能指标,所述第一性能指标用于表示所述第一路径的丢包率和乱序的至少一项。Receive the first performance index sent by the controller, where the first performance index is used to represent at least one of packet loss rate and out-of-order of the first path.
  28. 根据权利要求20至25任一所述的装置,其特征在于,所述第一参数包括发送时间戳,所述获取模块用于:The device according to any one of claims 20 to 25, wherein the first parameter includes a sending timestamp, and the acquisition module is configured to:
    确定所述第一组播数据报文的接收时间戳;Determine the reception timestamp of the first multicast data message;
    基于所述发送时间戳和所述接收时间戳生成所述第一性能指标,所述第一性能指标用于表示所述第一路径的传输时延和时延抖动中的至少一项。The first performance index is generated based on the sending timestamp and the receiving timestamp, and the first performance index is used to represent at least one of transmission delay and delay jitter of the first path.
  29. 根据权利要求20至25任一所述的装置,其特征在于,所述第一参数包括第一序列号,所述获取模块用于:The device according to any one of claims 20 to 25, wherein the first parameter includes a first serial number, and the acquisition module is configured to:
    基于所述第一序列号生成第一性能指标,所述第一性能指标用于表示所述第一路径的丢包率和乱序的至少一项。A first performance index is generated based on the first sequence number, and the first performance index is used to represent at least one of packet loss rate and disorder of the first path.
  30. 根据权利要求20至29任一所述的装置,其特征在于,所述第二组播数据报文还包括第二参数,所述获取模块,还用于:The device according to any one of claims 20 to 29, characterized in that the second multicast data message further includes a second parameter, and the acquisition module is also used to:
    基于所述第二参数获得第二性能指标,所述第二性能指标指示的性能优于所述第一性能指标指示的性能。A second performance index is obtained based on the second parameter, and the performance indicated by the second performance index is better than the performance indicated by the first performance index.
  31. 根据权利要求20至30任一所述的装置,其特征在于,所述第一路径和所述第二路径是控制器规划获得的不重合的路径;或者The device according to any one of claims 20 to 30, wherein the first path and the second path are non-overlapping paths obtained by planning of the controller; or
    所述第一路径和所述第二路径属于不同的FlexAlgo切片且不重合的路径。The first path and the second path belong to different FlexAlgo slices and are not overlapping paths.
  32. 一种组播数据报文发送的装置,其特征在于,所述装置设置于BIER域中的根节点,所述装置包括:A device for sending multicast data messages, characterized in that the device is installed at the root node in the BIER domain, and the device includes:
    获取模块,用于获得组播数据报文,所述组播数据报文包括第一参数,所述第一参数用于检测性能指标;An acquisition module, configured to obtain a multicast data message, where the multicast data message includes a first parameter, and the first parameter is used to detect performance indicators;
    发送模块,用于通过第一路径向叶子节点发送所述组播数据报文。A sending module, configured to send the multicast data message to the leaf node through the first path.
  33. 根据权利要求32所述的装置,其特征在于,所述组播数据报文包括BIER头和随流检测IFIT头,所述IFIT头用于携带所述第一参数。The device according to claim 32, characterized in that the multicast data message includes a BIER header and a flow detection IFIT header, and the IFIT header is used to carry the first parameter.
  34. 根据权利要求32所述的装置,其特征在于,所述组播数据报文包括BIER头和RTP头,所述RTP头用于携带所述第一参数;或者The device according to claim 32, wherein the multicast data message includes a BIER header and an RTP header, and the RTP header is used to carry the first parameter; or
    所述第一组播数据报文包括BIER头和传送流TS头,所述TS头用于携带所述第一参数。The first multicast data message includes a BIER header and a transport stream TS header, and the TS header is used to carry the first parameter.
  35. 根据权利要求32所述的装置,其特征在于,所述组播数据报文为基于互联网协议第6版IPv6封装的BIER报文,所述组播数据报文中的BIER头用于携带所述第一参数。The device according to claim 32, characterized in that the multicast data message is a BIER message encapsulated based on Internet Protocol version 6 IPv6, and the BIER header in the multicast data message is used to carry the The first parameter.
  36. 根据权利要求35所述的装置,其特征在于,所述BIER头中的entropy字段用于携带所述第一参数;或者The device according to claim 35, characterized in that the entropy field in the BIER header is used to carry the first parameter; or
    所述BIER头中的BIER转发入口路由器标识BFIR ID字段用于携带所述第一参数;或者The BIER forwarding entry router identification BFIR ID field in the BIER header is used to carry the first parameter; or
    所述BIER头中的TC字段、S字段和TTL字段携带所述第一参数;或者The TC field, S field and TTL field in the BIER header carry the first parameter; or
    所述BIER头中的S字段和TTL字段用于携带所述第一参数。The S field and TTL field in the BIER header are used to carry the first parameter.
  37. 根据权利要求32所述的装置,其特征在于,所述组播数据报文为基于多协议标签交换封装的BIER报文,所述第一组播数据报文中的BIER头用于携带所述第一参数。The device according to claim 32, characterized in that the multicast data message is a BIER message encapsulated based on multi-protocol label switching, and the BIER header in the first multicast data message is used to carry the The first parameter.
  38. 根据权利要求32至37任一所述的装置,其特征在于,所述第一参数包括发送时间戳和第一序列号中的至少一个。The device according to any one of claims 32 to 37, wherein the first parameter includes at least one of a sending timestamp and a first sequence number.
  39. 一种网络设备,其特征在于,所述网络设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如权利要求1至19任一所述的组播数据报文发送的方法。A network device, characterized in that the network device includes a processor and a memory, at least one instruction is stored in the memory, and the at least one instruction is loaded and executed by the processor to implement claims 1 to 19 Any of the methods described above for sending multicast data messages.
  40. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令,所述至少一条指令在网络设备上运行时,使得所述网络设备执行如权利要求1至19中任一项所述的组播数据报文发送的方法。A computer-readable storage medium, characterized in that at least one instruction is stored in the computer-readable storage medium, and when the at least one instruction is run on a network device, the network device causes the network device to execute claims 1 to 19 The method for sending multicast data messages according to any one of the above.
PCT/CN2022/089652 2022-04-27 2022-04-27 Multicast data message sending method and apparatus, and device and storage medium WO2023206165A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2022/089652 WO2023206165A1 (en) 2022-04-27 2022-04-27 Multicast data message sending method and apparatus, and device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2022/089652 WO2023206165A1 (en) 2022-04-27 2022-04-27 Multicast data message sending method and apparatus, and device and storage medium

Publications (1)

Publication Number Publication Date
WO2023206165A1 true WO2023206165A1 (en) 2023-11-02

Family

ID=88516690

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/089652 WO2023206165A1 (en) 2022-04-27 2022-04-27 Multicast data message sending method and apparatus, and device and storage medium

Country Status (1)

Country Link
WO (1) WO2023206165A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180287934A1 (en) * 2017-03-30 2018-10-04 Cisco Technology, Inc. Multicast traffic steering using tree identity in bit indexed explicit replication (bier)
CN112242932A (en) * 2019-07-16 2021-01-19 中国电信股份有限公司 Time delay detection method and system
CN113162855A (en) * 2020-01-22 2021-07-23 华为技术有限公司 Multicast message detection method, network equipment and system
WO2021190009A1 (en) * 2020-03-24 2021-09-30 中兴通讯股份有限公司 Performance measurement method and apparatus, device, and storage medium
CN114172798A (en) * 2021-11-08 2022-03-11 烽火通信科技股份有限公司 BIER network fault detection method, device, equipment and readable storage medium
WO2022078293A1 (en) * 2020-10-14 2022-04-21 华为技术有限公司 Method for detecting multicast service flow and related apparatus

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180287934A1 (en) * 2017-03-30 2018-10-04 Cisco Technology, Inc. Multicast traffic steering using tree identity in bit indexed explicit replication (bier)
CN112242932A (en) * 2019-07-16 2021-01-19 中国电信股份有限公司 Time delay detection method and system
CN113162855A (en) * 2020-01-22 2021-07-23 华为技术有限公司 Multicast message detection method, network equipment and system
WO2021190009A1 (en) * 2020-03-24 2021-09-30 中兴通讯股份有限公司 Performance measurement method and apparatus, device, and storage medium
WO2022078293A1 (en) * 2020-10-14 2022-04-21 华为技术有限公司 Method for detecting multicast service flow and related apparatus
CN114172798A (en) * 2021-11-08 2022-03-11 烽火通信科技股份有限公司 BIER network fault detection method, device, equipment and readable storage medium

Similar Documents

Publication Publication Date Title
US11233720B2 (en) Hierarchical time stamping
US8085674B2 (en) Priority trace in data networks
US11811511B2 (en) Method, apparatus, and system for communication between controllers in TSN
US20220294722A1 (en) Transmission Quality Detection Method, Apparatus, and System, and Storage Medium
US8229705B1 (en) Performance monitoring in computer networks
CN113328902B (en) Network performance detection method and device and network equipment
CN113411834B (en) Message processing method, device, equipment and storage medium
CN107968751B (en) Information processing method and device
CN113196705B (en) In-path telemetry of multicast traffic
WO2020135087A1 (en) Communication method, apparatus and system
US20150016473A1 (en) Transmission apparatus, transmission system, and transmission method
US20220294712A1 (en) Using fields in an encapsulation header to track a sampled packet as it traverses a network
EP4149065A1 (en) Processing capability determination method, and node and system
US20230318970A1 (en) Packet Processing Method and Apparatus
JP2023511150A (en) Multicast packet detection method, network device and system
KR20230017324A (en) BIER multicast traffic statistics collection method, device and system
WO2023206165A1 (en) Multicast data message sending method and apparatus, and device and storage medium
US11582156B2 (en) Traffic detection method, apparatus, and system
WO2022052800A1 (en) Communication system, data processing method and related device
CN115037667A (en) Fine-grained network situation awareness and source routing intelligent optimization method and device
CN116094987A (en) Method and device for determining forwarding path
CN117941333A (en) Method, device, equipment and storage medium for sending multicast data message
US20160315787A1 (en) Network system, control devices, control method, and program
EP4243368A1 (en) Data obtaining method and apparatus, device, and storage medium
US11792092B2 (en) Network telemetry

Legal Events

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

Ref document number: 22939018

Country of ref document: EP

Kind code of ref document: A1