Transmission quality detection method and device
The head node sends request messages with flow tags and flow statistical identifiers to the network nodes, and obtains flow statistical information to calculate the transmission quality, solving the problems of high deployment costs and high resource utilization in the prior art, and achieving efficient transmission quality detection.
Patent Information
- Application Number
- CN202311136065.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-31
- Publication Date
- 2025-02-28
AI Technical Summary
When monitoring the hop-by-hop transmission quality between network nodes, the existing technology has high deployment costs and a lot of resource occupancy, making it difficult to achieve effective transmission quality detection.
The head node sends request messages with flow tags and flow statistics identification to a series of nodes, and receives response messages to obtain flow statistics, thereby calculating transmission quality without deploying iFIT features on a point-by-point basis.
It realizes effective detection of transmission quality while reducing deployment costs and resource usage, and saves network resources and costs.
Smart Images

Figure CN119544559A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of network communication technology, and in particular to a transmission quality detection method and device. Background Art
[0002] In-situ flow information telemetry (iFIT) is a detection technology that directly detects network performance indicators such as latency, packet loss, and jitter by marking network service flows with features. The head node can insert a flow detection tag into the service flow, and the downstream device can identify the service flow and detect information such as latency, packet loss, and jitter of the service flow based on the flow detection tag. iFIT technology can be used to monitor and locate network faults. iFIT supports both end-to-end (E2E) and hop-by-hop modes. In the E2E mode, only the head node and the tail node need to be deployed as iFIT detection points to detect and report the information of the service flow to the controller. In the hop-by-hop mode, the head node, the tail node, and all intermediate nodes that support iFIT need to be deployed as iFIT detection points to detect and report the information of the service flow to the controller. The controller determines the transmission quality between nodes based on the information reported by the iFIT detection point. The above solution has a high deployment cost and occupies more resources. Summary of the invention
[0003] The embodiments of the present application provide a transmission quality detection method and device, which help to reduce deployment costs and resource usage while achieving transmission quality detection.
[0004] In a first aspect, a transmission quality detection method is provided, which can be executed by a head node, or by a component of the head node, such as a processor, chip, or chip system of the head node, or by a logic module or software that can implement all or part of the head node functions. The method may include: the head node sends a first request message to a first node, the first request message includes a flow label and a flow statistics identifier, the flow label is used to identify a service flow, and the flow statistics identifier is used to indicate the acquisition of flow statistics information of the service flow. The head node receives a first response message from the first node, the first response message includes first flow statistics information obtained by the first node, and the first flow statistics information is a transmission parameter generated by the service flow at the first node.
[0005] In the above method, the first node may be a tail node or an intermediate node. The above method does not need to deploy the iFIT feature point by point in the multicast domain, and can also realize the flow statistics information of one or more nodes in the multicast domain, such as the flow statistics information of the first node, and then obtain the transmission quality between two nodes, such as the head node and the first node.
[0006] In combination with the first aspect, as a possible implementation, the head node obtains the second flow statistical information of the service flow counted by itself, and determines the transmission quality of the service flow between the head node and the first node according to the first flow statistical information and the second flow statistical information.
[0007] In combination with the first aspect above, as a possible implementation, the first flow statistical information includes a first packet receiving count, and the second flow statistical information includes a second packet receiving count. The head node determines the transmission quality of the service flow between the head node and the first node based on the first flow statistical information and the second flow statistical information, which may include: the head node determines the number of packet losses of the service flow between the head node and the first node based on the first packet receiving count and the second packet receiving count.
[0008] In combination with the first aspect above, as a possible implementation, the first flow statistical information includes a first forwarding duration, and the second flow statistical information includes a second forwarding duration. The head node determines the transmission quality of the service flow between the head node and the first node based on the first flow statistical information and the second flow statistical information, which may include: the head node determines the transmission delay of the service flow between the head node and the first node based on the first forwarding duration and the second forwarding duration.
[0009] In combination with the above-mentioned first aspect, as a possible implementation manner, the first request message and the second request message further include a statistical period identifier, and the statistical period identifier is used to indicate a statistical period corresponding to the flow statistical information.
[0010] In combination with the above-mentioned first aspect, as a possible implementation manner, the first request message and the second request message further include a virtual private network (VPN) identifier, and the VPN identifier is used to indicate the VPN to which the service flow belongs.
[0011] In combination with the above first aspect, as a possible implementation manner, the first request message and the second request message are echo request messages, and the first response message and the second response message are echo reply messages.
[0012] In combination with the above-mentioned first aspect, as a possible implementation manner, the first request message or the second request message includes an extended original set identifier bit string type length value (Original SI-BitString TLV) field, and the flow statistics identifier is carried in the extended Original SI-BitString TLV field.
[0013] In combination with the above-mentioned first aspect, as a possible implementation method, the first response message and the second response message include an extended responder bit forwarding router type length value (Responder BFR TLV) field, and the flow statistical information of the service flow counted by the first node is carried in the extended Responder BFR TLV field of the first response message, and the flow statistical information of the service flow counted by the second node is carried in the extended Responder BFR TLV field of the second response message.
[0014] In combination with the above-mentioned first aspect, as a possible implementation method, the method also includes: the head node sends a second request message to the second node, the second request message includes a flow label and a flow statistics identifier, and the destination node of the second request message is the second node. Among them, the second node is an intermediate node between the head node and the first node or the second node is a tail node. The head node receives a second response message from the second node, and the second response message includes third flow statistics information obtained by the second node, and the third flow statistics information is the transmission parameter generated by the service flow at the second node. The head node determines the transmission quality of the service flow between the first node and the second node based on the first flow statistics information and the third flow statistics information.
[0015] In combination with the above-mentioned first aspect, as a possible implementation method, the first flow statistical information includes a first packet receiving count, and the third flow statistical information includes a third packet receiving count; the head node determines the transmission quality of the service flow between the first node and the second node based on the first flow statistical information and the third flow statistical information, including: the head node determines the number of packet losses of the service flow between the first node and the second node based on the first packet receiving count and the third packet receiving count.
[0016] In combination with the first aspect, as a possible implementation, the first flow statistical information includes a first forwarding duration, and the third flow statistical information includes a third forwarding duration. The head node determines the transmission quality of the service flow between the first node and the second node according to the first flow statistical information and the third flow statistical information, including: the head node determines the transmission delay of the service flow between the first node and the second node according to the first forwarding duration and the third forwarding duration.
[0017] In combination with the first aspect above, as a possible implementation method, the method may also include: the head node sends a third request message, the third request message includes a flow label and a flow statistics identifier, the destination node of the third request message is the first node, the TTL value in the third request message is y, x>y≥1, x is the number of hops from the head node to the first node, y is the number of hops from the head node to the third node, and the third node is an intermediate node between the head node and the first node. The head node receives a third response message from the third node, the third response message includes fourth flow statistics information obtained by the third node, and the fourth flow statistics information is the transmission parameters generated by the service flow at the third node. The head node determines the transmission quality of the service flow between the first node and the third node based on the first flow statistics information and the fourth flow statistics information.
[0018] In combination with the first aspect above, as a possible implementation, the first flow statistical information includes a first packet receiving count, and the fourth flow statistical information includes a fourth packet receiving count. The head node determines the transmission quality of the service flow between the first node and the third node according to the first flow statistical information and the fourth flow statistical information, including: the head node determines the number of packet losses of the service flow between the first node and the third node according to the first packet receiving count and the fourth packet receiving count.
[0019] In combination with the first aspect, as a possible implementation, the first flow statistical information includes a first forwarding duration, and the fourth flow statistical information includes a fourth forwarding duration. The head node determines the transmission quality of the service flow between the first node and the third node according to the first flow statistical information and the fourth flow statistical information, including: the head node determines the transmission delay of the service flow between the first node and the third node according to the first forwarding duration and the fourth forwarding duration.
[0020] In a second aspect, an embodiment of the present application provides a transmission quality detection device, which can implement the function performed by the head node in any possible design of the first aspect above, and the function can be implemented by hardware executing the corresponding software. The hardware or software includes one or more modules corresponding to the above functions. For example, the device may include: a transceiver module. Among them, the transceiver module is used to send a first request message to the first node, the first request message includes a flow label and a flow statistics identifier, the flow label is used to identify the service flow, and the flow statistics identifier is used to indicate the acquisition of flow statistics information of the service flow. The transceiver module is also used to receive a first response message from the first node, the first response message includes the first flow statistics information obtained by the first node, and the first flow statistics information is the transmission parameter generated by the service flow at the first node.
[0021] In conjunction with the above second aspect, as a possible implementation, the device further includes a processing module. The processing module is used to obtain the second flow statistical information of local statistics. The processing module is also used to determine the transmission quality of the service flow between the head node and the first node based on the first flow statistical information and the second flow statistical information.
[0022] In combination with the above-mentioned second aspect, as a possible implementation method, the first flow statistical information includes a first packet receiving count, and the second flow statistical information includes a second packet receiving count. The processing module is used to determine the transmission quality of the service flow between the head node and the first node according to the first flow statistical information and the second flow statistical information, which may specifically include: the processing module is used to determine the number of packet losses of the service flow between the head node and the first node according to the first packet receiving count and the second packet receiving count.
[0023] In combination with the above second aspect, as a possible implementation, the first flow statistical information includes a first forwarding duration, and the second flow statistical information includes a second forwarding duration. The processing module is used to determine the transmission quality of the service flow between the head node and the first node according to the first flow statistical information and the second flow statistical information, which may include: the processing module is used to determine the transmission delay of the service flow between the head node and the first node according to the first forwarding duration and the second forwarding duration.
[0024] In combination with the above second aspect, as a possible implementation manner, the first request message and the second request message further include a VPN identifier, where the VPN identifier is used to indicate the VPN to which the service flow belongs.
[0025] In combination with the above second aspect, as a possible implementation manner, the first request message and the second request message are echo request messages, and the first response message and the second response message are echo reply messages.
[0026] In combination with the second aspect, as a possible implementation manner, the first request message or the second request message includes an extended Original SI-BitString TLV field, and the flow statistics identifier is carried in the extended Original SI-BitStringTLV field.
[0027] In combination with the above-mentioned second aspect, as a possible implementation method, the first response message and the second response message include an extended Responder BFR TLV field, and the flow statistical information of the service flow counted by the first node is carried in the extended Responder BFR TLV field of the first response message, and the flow statistical information of the service flow counted by the second node is carried in the extended Responder BFR TLV field of the second response message.
[0028] In combination with the above-mentioned second aspect, as a possible implementation method, the device also includes a processing module. The transceiver module is also used to send a second request message, the second request message includes a flow label and a flow statistics identifier, and the destination node of the second request message is the second node. Among them, the second node is an intermediate node between the head node and the first node or the second node is a tail node. The transceiver module is also used to receive a second response message from the second node, the second response message includes third flow statistics information obtained by the second node, and the third flow statistics information is a transmission parameter generated by the service flow at the second node. The processing module is used to determine the transmission quality of the service flow between the first node and the second node based on the first flow statistics information and the third flow statistics information.
[0029] In combination with the above second aspect, as a possible implementation, the first flow statistical information includes a first packet receiving count, and the third flow statistical information includes a third packet receiving count. The processing module is used to determine the transmission quality of the service flow between the first node and the second node according to the first flow statistical information and the third flow statistical information, including: the processing module is used to determine the number of packet losses of the service flow between the first node and the second node according to the first packet receiving count and the third packet receiving count.
[0030] In combination with the above second aspect, as a possible implementation, the first flow statistical information includes a first forwarding duration, and the third flow statistical information includes a third forwarding duration. The processing module is used to determine the transmission quality of the service flow between the first node and the second node according to the first flow statistical information and the third flow statistical information, including: the processing module is used to determine the transmission delay of the service flow between the first node and the second node according to the first forwarding duration and the third forwarding duration.
[0031] In combination with the above second aspect, as a possible implementation method, the device also includes a processing module. The transceiver module is also used to send a third request message, the third request message includes a flow label and a flow statistics identifier, the destination node of the third request message is the first node, the TTL value in the third request message is y, x>y≥1, x is the number of hops from the transceiver module to the first node, y is the number of hops from the transceiver module to the third node, and the third node is the intermediate node between the transceiver module and the first node. The transceiver module is also used to receive a third response message from the third node, the third response message includes the fourth flow statistics information obtained by the third node, and the fourth flow statistics information is the transmission parameter generated by the service flow at the third node. The processing module is used to determine the transmission quality of the service flow between the first node and the third node according to the first flow statistics information and the fourth flow statistics information of the transceiver module.
[0032] In combination with the above second aspect, as a possible implementation, the first flow statistical information includes a first packet receiving count, and the fourth flow statistical information includes a fourth packet receiving count. The processing module is used to determine the transmission quality of the service flow between the first node and the third node according to the first flow statistical information and the fourth flow statistical information, including: the processing module is used to determine the number of packet losses of the service flow between the first node and the third node according to the first packet receiving count and the fourth packet receiving count.
[0033] In combination with the above second aspect, as a possible implementation, the first flow statistical information includes a first forwarding duration, and the fourth flow statistical information includes a fourth forwarding duration. The processing module is used to determine the transmission quality of the service flow between the first node and the third node according to the first flow statistical information and the fourth flow statistical information, including: the processing module is used to determine the transmission delay of the service flow between the first node and the third node according to the first forwarding duration and the fourth forwarding duration.
[0034] In a third aspect, a device is provided, comprising: a processor and a memory; the memory is used to store computer instructions, and when the device is running, the processor executes the computer instructions stored in the memory so that the device performs a transmission quality detection method as described in any one of the first aspect or the second aspect above.
[0035] In conjunction with the third aspect, in a possible implementation, the device further includes a communication interface; the communication interface is used for the device to communicate with other devices. Exemplarily, the communication interface can be a transceiver, an input / output interface, an interface circuit, an output circuit, an input circuit, a pin or a related circuit, etc.
[0036] In a fourth aspect, a computer-readable storage medium is provided, wherein instructions are stored in the computer-readable storage medium, and when the computer-readable storage medium is executed on a computer, the computer can execute the transmission quality detection method described in any one of the first aspect or the second aspect.
[0037] In a fifth aspect, a computer program product comprising instructions is provided, which, when executed on a computer, enables the computer to execute the transmission quality detection method described in any one of the first aspect or the second aspect.
[0038] Among them, the technical effects brought about by any design method in the second to fifth aspects can refer to the technical effects brought about by different design methods in the first or second aspects, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] Figure 1 is a schematic diagram of a network architecture for deploying iFIT technology;
[0040] Figure 2A schematic diagram of packet loss statistics implemented by PE1 and PE2 based on iFIT technology;
[0041] Figure 3 A flow chart of a transmission quality detection method provided in an embodiment of the present application;
[0042] Figure 4 A schematic diagram of the structure of a multicast network provided in an embodiment of the present application;
[0043] Figure 5 A schematic diagram of the structure of an echo request / reply message provided in an embodiment of the present application;
[0044] Figure 6 A structural diagram of a BIERv6 multicast network provided for an embodiment of the present application;
[0045] Figure 7 A schematic diagram of a Tracert process provided in an embodiment of the present application;
[0046] Figure 8 A schematic diagram of the structure of an extended Original SI-BitString TLV provided in an embodiment of the present application;
[0047] Fig. 9 A schematic diagram of the structure of an extended Responder BFR TLV provided in an embodiment of the present application;
[0048] Fig.10 A schematic diagram of another communication network of BIERv6 networking provided for an embodiment of the present application;
[0049] Fig.11 A schematic diagram of the structure of a device provided in an embodiment of the present application;
[0050] Fig.12 A schematic diagram of the structure of another device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0051] To facilitate understanding, first, a brief introduction is given to the technical terms and related technologies involved in this application.
[0052] iFIT is a detection technology that directly detects network performance indicators such as latency, packet loss, and jitter by marking network service flows. iFIT technology inserts iFIT message headers into service messages for performance detection, and uses Telemetry technology to report detection data to the controller in real time, and finally intuitively presents packet-by-packet or flow-by-flow performance indicators to users through the network control engine visualization interface.
[0053] Figure 1A schematic diagram of a network architecture for deploying iFIT technology is shown in FIG. Figure 1 As shown, the network may include PE1, P1 and PE2, PE1 and PE2 are provider edge devices (provider edge, PE), and P1 is a provider device (provider, P). PE1 can serve as the ingress (ingress) of the network, PE2 can serve as the egress (egress) of the network, and iFIT can be deployed at PE1 and PE2. When a service message enters the network from PE1, PE1 can add a coloring mark to the service message and detect the iFIT information. When the service message leaves the network from PE2, PE2 can detect the iFIT information based on the coloring mark of the message. Furthermore, by comparing the iFIT information detected at PE1 and PE2, information such as the packet loss rate and latency of the service message can be determined. Figure 1 Take the network architecture shown as an example. Figure 2 FIG. 4 shows a schematic diagram of PE1 and PE2 implementing packet loss statistics based on iFIT technology. Figure 2 As shown, PE1 can alternately dye the incoming packets, and set the dye bit of the packets to 0 or 1 alternately according to different cycles. For example, the dye bit of the packet is set to 0 in the T1 cycle, the dye bit of the packet is set to 1 in the T2 cycle, the dye bit of the packet is set to 0 again in the T3 cycle, and so on. In addition, PE1 will also count the number of dyed packets. PE2 can identify the dye mark of the received packets and count the number of packets. PE2 can count the packets by cycle, and the statistical cycle corresponds to the cycle in which PE1 dyes and counts. Taking into account the transmission delay, the statistical cycle of PE2 will be a certain time later than the statistical cycle of PE2. The number of packets counted at PE1 and PE2 will be reported to the controller, and the controller can compare the number of packets counted at PE1 and PE2 to calculate the packet loss rate. Taking the packet loss rate of the packets with the coloring bit of 1 corresponding to the T2 period as an example, the number of packets with the coloring bit of 1 corresponding to the T2 period counted by PE1 is x1, and the number of packets with the coloring bit of 1 corresponding to the T2 period counted by PE2 is x2. Based on this, the controller can calculate: number of packet losses = x1-x2, packet loss rate = (x1-x2) / x1. Common data statistics modes in general detection methods generally include E2E mode and hop-by-hop mode. The E2E mode is suitable for detection scenarios that require end-to-end overall quality monitoring of services, and the hop-by-hop mode is suitable for detection scenarios that require hop-by-hop demarcation of low-quality services or on-demand hop-by-hop monitoring of important services.
[0054] iFIT supports both E2E and hop-by-hop modes. In the E2E mode, only the head node and tail node need to be deployed as iFIT detection points to detect and report the information of the service flow. In the hop-by-hop mode, the head node, tail node and all intermediate nodes that support iFIT need to be deployed as iFIT detection points to detect and report the information of the service flow. However, the current solution of measuring the information of the node by deploying iFIT detection points to achieve transmission quality measurement has a high deployment cost and occupies more resources. In addition, due to the large controller resource occupation and low input-output ratio of hop-by-hop iFIT, hop-by-hop iFIT detection is basically not deployed in actual applications, and the E2E detection method is still widely used. Therefore, there is still no better solution for how to monitor the hop-by-hop transmission quality of nodes in the network.
[0055] The technical solutions in the embodiments of the present application will be described below in conjunction with the drawings in the embodiments of the present application. Among them, in the description of the present application, unless otherwise specified, " / " indicates that the objects associated before and after are in an "or" relationship, for example, A / B can represent A or B; "and / or" in the present application is only a description of the association relationship of the associated objects, indicating that there can be three relationships, for example, A and / or B, which can represent: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural. And, in the description of the present application, unless otherwise specified, "multiple" refers to two or more than two. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single items or plural items. For example, at least one of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, c can be single or multiple. In addition, in order to facilitate the clear description of the technical solutions of the embodiments of the present application, in the embodiments of the present application, the words "first", "second" and the like are used to distinguish the same items or similar items with basically the same functions and effects. It can be understood by those skilled in the art that the words "first", "second" and the like do not limit the quantity and execution order, and the words "first", "second" and the like do not limit them to be necessarily different. At the same time, in the embodiments of the present application, the words "exemplary" or "for example" are used to indicate examples, illustrations or explanations. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or design solutions. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a specific way for easy understanding. In addition, the network architecture and business scenarios described in the embodiments of the present application are intended to more clearly illustrate the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided in the embodiments of the present application. It can be known to those of ordinary skill in the art that with the evolution of the network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.
[0056] Figure 3 A flow chart of a transmission quality detection method provided in an embodiment of the present application is shown as follows: Figure 3 As shown, the method may include the following process:
[0057] Step 301: The head node sends a first request message, which includes a flow label and a flow statistics identifier. The flow label is used to identify a service flow, and the flow statistics identifier is used to indicate the acquisition of flow statistics information of the service flow. The destination node of the first request message is the first node.
[0058] The transmission quality detection method provided in the present application can be applied to multicast service scenarios. The head node can also be called the root node or the entry node of the multicast domain. The first node can be the tail node or the intermediate node. The tail node can also be called the leaf node or the exit node of the multicast domain. The intermediate node is a non-edge node of the multicast domain, that is, a node between the head node and the tail node on the multicast tree.
[0059] Optionally, the first request message further includes a time to live (TTL), where the TTL is x, and x is the number of hops from the head node to the first node, and x≥1.
[0060] For example, any node in the multicast domain can obtain the flow statistics information when the service flow passes through this node, and the flow statistics information is the transmission parameters generated when the service flow passes through any of the above nodes. Both the head node and the first node can cache the statistics information of the service flow identified by a flow label.
[0061] Optionally, the first request message may further include a VPN identifier, where the VPN identifier is used to indicate the VPN to which the service flow belongs. The transmission channel between the head node and the first node may be a virtual private network (VPN) tunnel.
[0062] Optionally, the flow label of the service flow can be configured to the head node through the command line interface (CLI), or the controller can be sent to the head node through the network configuration protocol (NETCONF). The configuration method of the statistical period identifier is the same as the configuration method of the flow label of the above-mentioned service flow. The statistical period identifier corresponds to the flow statistics information of the service flow.
[0063] Optionally, step 301 may be triggered by a CLI or a controller, and at least one of a statistical period identifier and a flow label of a service flow may be carried in an instruction sent to the head node via the CLI or in an instruction sent to the head node by the controller via NETCONF.
[0064] Step 302: The head node receives a first response message from the first node. The first response message includes first flow statistical information obtained by the first node. The first flow statistical information is a transmission parameter generated by the service flow at the first node.
[0065] For example, the first node parses the first request message, and based on the flow statistics identifier and flow label included in the first request message, carries the first flow statistics information of the local statistics in the first response message and sends it to the head node. The first flow statistics information can be the transmission parameters generated by the service flow identified by the flow label at the first node. The transmission parameters can include one or more of the packet receiving count, forwarding time and transmission rate, or the transmission parameters can also include one or more of delay, jitter and packet loss.
[0066] Optionally, the first flow statistical information may be a value of a transmission parameter in one or more periods acquired based on a statistical period identifier. The first node may locally cache the value of the transmission parameter in one or more periods.
[0067] In the embodiment of the present application, the first node may trigger the sending of the first response message in any of the following three ways:
[0068] Method 1: The first node determines whether the destination node of the first request message is itself, that is, the first node. If the destination node of the first request message is the first node, the first node no longer forwards the first request message, but feeds back a first response message to the head node.
[0069] In the second method, the first request message also includes TTL, and the value of TTL is x. If there is no other forwarding node between the head node and the first node, x is 1; if there are other nodes between the head node and the first node, the value of x in the request message forwarded by other nodes received by the first node has been reduced to 1. The first node reduces the TTL value in the received request message by an integer multiple of 1. For example, the first node reduces the TTL value in the received request message by 1 and then determines whether the TTL value is 0. If it is 0, the first node will no longer forward the first request message, but will feed back the first response message to the head node.
[0070] Method 3: A combination of Method 1 and Method 2, that is, the first node determines that the destination node is itself and the TTL value in the received request message is reduced by an integer multiple of 1. For example, when the TTL value is reduced by 1 and becomes 0, the first node no longer continues to forward the first request message, but feeds back the first response message to the head node.
[0071] In the above-mentioned method 2 and method 3, the TTL value is reduced by an integer multiple of 1, which means that the value is reduced by an integer multiple of 1 each time the request message is forwarded by a node other than the head node.
[0072] Optionally, the first response message may further carry the flow statistics identifier in the first request message to indicate that the message carries the first flow statistics information of the service flow.
[0073] Optionally, the first response message may further carry the VPN identifier in the first request message to indicate the VPN to which the service flow corresponding to the first flow statistics information carried by it belongs.
[0074] Optionally, the first response message may also carry information of the first node, such as an address, an identifier, etc.
[0075] The present application discusses the reachability of the path from the head node to the first node as an example, which is explained uniformly here.
[0076] Optionally, the destination node of the first request message is the first node, and the first request message can be a message used to detect whether the route to the first node is reachable, and the first response message is a message used to indicate that the route to the first node is reachable. Based on this, the embodiment of the present application can reuse the message for detecting whether the route is reachable to obtain the flow statistics information of the service flow, thereby improving compatibility.
[0077] Based on the above method, the head node can obtain the first flow statistical information obtained by the first node by sending a first request message, and then determine the transmission quality between the head node and the first node or the transmission quality between other nodes and the first node based on the first flow statistical information of the flow, thereby reducing the network resources and costs consumed in obtaining the transmission quality.
[0078] Optionally, the above transmission quality detection method may further include the following steps:
[0079] Step 303: The head node obtains the second flow statistical information counted by itself, where the second flow statistical information is the transmission parameters generated by the service flow identified by the flow label at the head node.
[0080] In an embodiment of the present application, the head node may also count the flow statistics information of the service flow passing through the head node, and may cache the counted flow statistics information locally. The service flow identified by the flow label in the first request message will pass through the head node, so that the head node will count the flow statistics information of the service flow identified by the flow label in the first request message. The second flow statistics information can refer to the relevant description of the first flow statistics information above, which will not be repeated here.
[0081] Step 304: The head node determines the transmission quality of the service flow between the head node and the first node according to the first flow statistical information and the second flow statistical information.
[0082] For example, the first flow statistical information may include a first packet receiving count, and the second flow statistical information may include a second packet receiving count. The packet receiving count indicates the number of data packets received by a node. The head node determines the transmission quality of the service flow between the head node and the first node based on the first flow statistical information and the second flow statistical information, which may specifically include: the head node determines the number of packet losses of the service flow between the head node and the first node based on the first packet receiving count and the second packet receiving count. Specifically, whether packet loss has occurred and the size of the packet loss number can be determined based on the difference between the first packet receiving count and the second packet receiving count, which will not be explained here with examples.
[0083] For example, the first flow statistical information may include a first forwarding duration, and the second flow statistical information may include a second forwarding duration. The head node determines the transmission quality of the service flow between the head node and the first node based on the first flow statistical information and the second flow statistical information, which may specifically include: the head node determines the transmission delay of the service flow between the head node and the first node based on the first forwarding duration and the second forwarding duration. Among them, the forwarding duration may be the duration required to send a specific service message with one or more sequence numbers obtained based on the timestamp and sequence number carried by the service message in the service flow, or the duration required to send a specific number of service messages calculated locally.
[0084] For example, the first flow statistical information includes a first transmission rate, and the second flow statistical information includes a second transmission rate. The head node determines the transmission quality of the service flow between the head node and the first node based on the first flow statistical information and the second flow statistical information. Specifically, it may include: the head node determines the rate change of the service flow between the head node and the first node based on the first transmission rate and the second transmission rate. The rate change can reflect the congestion situation. Among them, the transmission rate can be calculated by the number of bytes or messages sent per unit time, which will not be repeated here.
[0085] Based on the above steps 301 to 304, the head node can determine the transmission quality between the head node and the first node, and the transmission quality between nodes can be measured without deploying iFIT, saving deployment costs and occupied resources.
[0086] Step 304 is performed by the head node as an example, that is, the head node determines the transmission quality of the service flow between the head node and the first node. Optionally, the head node can send the first flow statistical information and the second flow statistical information to the controller, and the controller determines the transmission quality of the service flow between the head node and the first node based on the first flow statistical information and the second flow statistical information.
[0087] Optionally, the first request message and the first response message may be messages in an Internet packet explorer (Ping) process. Alternatively, the first request message and the first response message may also be messages in a tracer process. As a possible implementation, the first request message may be an echo request message, and the first response message may be an echo reply message.
[0088] Optionally, after step 302 or step 304, the transmission quality detection method may further include the following steps:
[0089] Step 305: The head node sends a second request message, where the second request message includes a flow label and a flow statistics identifier, and the destination node of the second request message is the second node.
[0090] For example, the flow label in the second request message is the same as the flow label in the first request message, so that the second request message and the first request message are used to detect the transmission quality of the same service flow. The second node is an intermediate node between the head node and the first node or the second node is a tail node. The second node is an intermediate node between the head node and the first node or the second node is a tail node.
[0091] Optionally, the TTL value of the second request message is z, where z is the number of hops from the head node to the second node, and z is different from x. If the second node is an intermediate node between the head node and the first node, the value of z is less than the value of x. If the second node is a tail node and the first node is an intermediate node between the head node and the second node, the value of z is greater than the value of x.
[0092] Optionally, the second request message may further include a VPN identifier, where the VPN identifier is used to indicate the VPN to which the service flow belongs.
[0093] Optionally, the second request message may further include a statistical period identifier, that is, the same as the statistical period identifier included in the first request message, so that it can be ensured that the statistical information is a value obtained based on the same statistical period.
[0094] Step 306: The head node receives a second response message from the second node, where the second response message includes third flow statistical information obtained by the second node.
[0095] For example, the way in which the second node triggers to send the second response message can refer to the way in which the first node triggers to send the first response message, the parameter type included in the third flow statistical information is the same as the parameter type included in the first flow statistical information, and the way in which the second node obtains the third flow statistical information can refer to the way in which the first node obtains the first flow statistical information. The above content will not be repeated here.
[0096] Optionally, the second response message may further carry the flow statistics identifier in the second request message to indicate that the message carries the third flow statistics information of the service flow.
[0097] Optionally, the second response message may further carry the VPN identifier in the second request message to indicate the VPN to which the service flow corresponding to the third flow statistical information carried by it belongs.
[0098] Optionally, the second response message may also carry information of the second node, such as an address, an identifier, etc.
[0099] Optionally, the second request message and the second response message may be messages in a ping process. Alternatively, the second request message and the second response message may also be messages in a tracert process. As a possible implementation, the second request message may be an echo request message, and the second response message may be an echo reply message.
[0100] Step 307: The head node determines the transmission quality of the service flow between the first node and the second node according to the first flow statistical information and the third flow statistical information.
[0101] For example, the first flow statistical information includes a first packet receiving count, and the third flow statistical information includes a third packet receiving count. The head node determines the transmission quality of the service flow between the first node and the second node based on the first flow statistical information and the third flow statistical information, which may specifically include: the head node determines the number of packet losses of the service flow between the first node and the second node based on the first packet receiving count and the third packet receiving count.
[0102] For example, the first flow statistical information includes the first forwarding duration, and the third flow statistical information includes the third forwarding duration. The head node determines the transmission quality of the service flow between the first node and the second node based on the first flow statistical information and the third flow statistical information, which may specifically include: the head node determines the transmission delay of the service flow between the first node and the second node based on the first forwarding duration and the third forwarding duration.
[0103] For example, the first flow statistical information includes a first transmission rate, and the third flow statistical information includes a third transmission rate. The head node determines the transmission quality of the service flow between the first node and the second node based on the first flow statistical information and the third flow statistical information, which may specifically include: the head node determines the rate change of the service flow between the first node and the second node based on the first transmission rate and the third transmission rate. The rate change can reflect the congestion situation.
[0104] Among them, if the first node and the second node are two adjacent nodes on the multicast path for forwarding business flows, the methods of step 301, step 302, step 305, step 306 and step 307 can realize the detection of the transmission quality of the business flow between hop-by-hop nodes, overcoming the difficulty that iFIT technology is difficult to deploy hop-by-hop, reducing deployment costs and saving occupied resources.
[0105] Step 307 is performed by the head node as an example, that is, the head node determines the transmission quality of the service flow between the first node and the second node. Optionally, in the embodiment of the present application, the head node can send the first flow statistical information and the third flow statistical information to the controller, and the controller determines the transmission quality of the service flow between the first node and the second node based on the first flow statistical information and the third flow statistical information.
[0106] Optionally, after step 302, after step 304 or after step 307, the transmission quality detection method may further include the following steps:
[0107] Step 308: The head node sends a third request message, which includes a flow label and a flow statistics identifier. The destination node of the third request message is the first node. The TTL value in the third request message is y, x>y≥1, y is the number of hops from the head node to the third node, and the third node is an intermediate node between the head node and the first node.
[0108] For example, if the destination node of the third request message is the first node, the TTL of the value y in the third request message is used to trigger the third node to send a third response message to the head node.
[0109] Optionally, the first request message and the third request message may belong to different echo request messages in the same Tracert process, and the third request message is an echo request message sent before the first request message. The flow label in the third request message is the same as the flow label in the first request message, so that the third request message and the first request message indicate that the flow statistics information of the same service flow is obtained.
[0110] Optionally, the third request message may further include a VPN identifier, where the VPN identifier is used to indicate the VPN to which the service flow belongs.
[0111] Optionally, the third request message may further include a statistical period identifier, for which specific meaning please refer to the statistical period identifier included in the first request message.
[0112] Step 309: The head node receives a third response message from the third node, where the third response message includes fourth flow statistical information acquired by the third node, where the fourth flow statistical information is a transmission parameter generated by the service flow at the third node.
[0113] For example, the destination node of the request message received by the third node is the first node, and the third node can determine whether to send a third response message to the head node according to the TTL value carried in the received request message. The specific content of the method for reducing the TTL value and triggering the sending of the third response message by the third node can refer to the corresponding content of the first node, and will not be repeated again.
[0114] Optionally, the third response message may further carry the flow statistics identifier in the third request message to indicate that the message carries the third flow statistics information of the service flow.
[0115] Optionally, the third response message may further carry the VPN identifier in the third request message to indicate the VPN to which the service flow corresponding to the third flow statistics information carried by it belongs.
[0116] Optionally, the third response message may also carry information of the third node, such as an address, an identifier, etc.
[0117] Step 310: The head node determines the transmission quality of the service flow between the first node and the third node according to the first flow statistical information and the fourth flow statistical information.
[0118] For example, the first flow statistical information includes the first packet receiving count, and the fourth flow statistical information includes the fourth packet receiving count. The head node determines the transmission quality of the service flow between the first node and the third node based on the first flow statistical information and the fourth flow statistical information, which may specifically include: the head node determines the number of packet losses of the service flow between the first node and the third node based on the first packet receiving count and the fourth packet receiving count.
[0119] For example, the first flow statistical information includes the first forwarding duration, and the fourth flow statistical information includes the fourth forwarding duration. The head node determines the transmission quality of the service flow between the first node and the third node based on the first flow statistical information and the fourth flow statistical information, which may specifically include: the head node determines the transmission delay of the service flow between the first node and the third node based on the first forwarding duration and the fourth forwarding duration.
[0120] For example, the first flow statistical information includes a first transmission rate, and the fourth flow statistical information includes a fourth transmission rate. The head node determines the transmission quality of the service flow between the first node and the third node based on the first flow statistical information and the fourth flow statistical information, which may specifically include: the head node determines the rate change of the service flow between the first node and the third node based on the first transmission rate and the fourth transmission rate. The rate change can reflect the congestion situation.
[0121] Optionally, if the first node and the third node can be two adjacent nodes on the multicast path for forwarding the service flow, the method of steps 301, 302, 308, 309 and 310 can be used to detect the transmission quality of the service flow between hop-by-hop nodes, thereby overcoming the difficulty of iFIT technology in hop-by-hop deployment, reducing deployment costs and occupying resources.
[0122] Step 310 is performed by the head node as an example, that is, the head node determines the transmission quality of the service flow between the first node and the third node. Optionally, in the embodiment of the present application, the head node can send the first flow statistical information and the fourth flow statistical information to the controller, and the controller determines the transmission quality of the service flow between the first node and the third node based on the first flow statistical information and the fourth flow statistical information.
[0123] Optionally, the method of the above embodiment can be triggered when there is an abnormality in the service flow transmission between the head node and the tail node, or when the service flow does not meet the transmission requirements, or when the transmission quality needs to be detected. This application does not limit this.
[0124] The method provided in the embodiment of the present application is explained by taking the head node triggering the sending of a request message as an example. In other optional implementation methods, other nodes in the multicast domain, such as intermediate nodes, can also trigger the sending of request messages for transmission quality detection, that is, the intermediate node is configured with the parameters required for the head node to send a request message for transmission quality detection. The intermediate node can detect the transmission quality of the path from the intermediate node to the tail node, or the intermediate node can detect the transmission quality of the path from the intermediate node to another intermediate node. The embodiment of the present application will no longer repeat the example of the intermediate node, and the specific Figure 3 The method adopted by the head node in the corresponding embodiment.
[0125] Figure 4 A schematic diagram of the structure of a multicast network provided in an embodiment of the present application is shown in FIG. Figure 4 As shown, the multicast network may include a multicast source, multiple multicast receivers, and a forwarding node for connecting the multicast source and the multicast receivers. Figure 4As shown, multicast source 401 is connected to forwarding node 402a, forwarding node 402a is connected to forwarding node 402b, forwarding node 402b is respectively connected to forwarding node 402c and forwarding node 402d, forwarding node 402c is connected to multicast receiver 403a, and forwarding node 402d is connected to multicast receiver 403b. Among them, there may be a relay forwarding node between forwarding node 402a and forwarding node 402b, there may be a relay forwarding node between forwarding node 402b and forwarding node 402c, and there may be a relay forwarding node between forwarding node 402b and forwarding node 402d, and this application does not limit this. Figure 4 For example, forwarding node 402a is a head node, and forwarding node 402c and forwarding node 402d are tail nodes.
[0126] Optionally, the above steps 301, 302, 308 and 309 can be different steps in the same Tracert operation process, the head node is the source end of the Tracert operation, and the tail node is the destination end of the Tracert operation. The first request message and the third request message can be echo request messages, and the first response message and the third response message can be echoeply messages. Or the above steps 301-302, steps 305-306 or steps 308-309 can be steps in a Ping process, and the head node can initiate different ping command processes to execute these steps.
[0127] Tracert is used to test the nodes included in the path from the source to the destination. After the Tracert operation is triggered, the source first sends a request message with a TTL value of 1. The source mentioned in the Tracer operation is the head node or the intermediate node. After the request message with a TTL value of 1 is forwarded to the first hop node, the first hop node can use Figure 3 In the corresponding example, the method adopted by the first node, the second node, or the third node is that when the TTL value is 0, the first hop node sends a response message to the source. After receiving the response message sent by the first hop node, the source sends a request message with a TTL value of 2. The request message with a TTL value of 2 is forwarded to the second hop node through the first hop node, and the TTL value of the request message received by the second hop node is 1 (the first hop node reduces the TTL value by 1). After reducing the TTL value by 1, the second hop node determines that the TTL value is 0, and no longer forwards the request message, but sends a response message to the source. By analogy, the source can detect any two or more connected nodes on the path to the destination by sending a request message with an increasing TTL value. Tracert can be applied in networks of various protocols. The message format used in the Tracert process is related to the protocol of the network to which the Tracert operation is applied.
[0128] The transmission quality detection method provided in the embodiment of the present application can be applied to the BIERv6 multicast scenario. The head node and the tail node are edge nodes in the BIERv6 network. The head node can be a root node or an entry node, and the tail node can be a leaf node or an exit node. The above steps 301, 302, 308 and 309 can be steps in the Tracert process. The first request message and the second request message are echo request messages, and the first response message and the second response message are echo messages. BIERv6 refers to bit index explicit replication IPv6 encapsulation (bit index explicit replication IPv6 encapsulation), and IPv6 refers to Internet Protocol version 6 (internet protocol version 6), which is explained here.
[0129] In the BIERv6 field, the formats of echo request messages and echo reply messages are the same. Figure 5 A schematic diagram of the structure of an echorequest / reply message is shown in FIG. Figure 5 As shown, the echo request / reply message may include the following parts in sequence: outer IPv6 header, BIER header, inner IPv6 header, UDP header and BIER OAM field. OAM refers to operation administration and maintenance, and the BIER OAM field may carry OAM echo request data or OAM echo reply data.
[0130] The outer IPv6 header has the same structure as the inner IPv6 header, and may include the following fields in sequence: version, which occupies 4 bits. Traffic class (TC), which occupies 8 bits. Flow label, which occupies 20 bits. Payload length, which occupies 16 bits. Next header, which occupies 8 bits. Hop limit, which occupies 8 bits. Source address, which occupies 32 bits. Destination address, which occupies 32 bits.
[0131] The BIER header may include the following fields in sequence: next header, occupies 8 bits. Next header length, occupies 8 bits. Option type, occupies 8 bits. Option length, occupies 8 bits. Bit index forwarding table identity (BIFT-ID), occupies 20 bits. S, stack bottom identifier, occupies 3 bits. TTL, occupies 1 bit. Nibble, occupies 4 bits. Version, occupies 4 bits. Bit string length (BSL), occupies 4 bits. Entropy value (entropy), occupies 20 bits. OAM identifier, occupies 3 bits. Reserved bit (reservesd), occupies 1 bit. Differentiated services code point (DSCP), occupies 6 bits. Protocol type, occupies 6 bits. BFIR-ID, occupies 16 bits. Bit string, occupies a number of bits. The length of the bit string is related to the amount of information carried by the bit string.
[0132] The UDP header may include the following fields in sequence: destination port number (destination port), which occupies 16 bits. source port number (source port), which occupies 16 bits. length, which occupies 16 bits. checksum, which occupies 16 bits.
[0133] The BIER OAM field may include the following fields in sequence: Version, which occupies 4 bits. Message type, which occupies 8 bits. Protocol type, which occupies 6 bits. Reserved bit, which occupies 14 bits. Timestamp format (QTF) of the request message, which occupies 4 bits. Timestamp format (RTF) of the response message, which occupies 4 bits. Reply mode, which occupies 8 bits. Return code, which occupies 8 bits. Reserved bit, which occupies 8 bits. Sender's Handle, which occupies 32 bits. Sequence number, which occupies 32 bits. Timestamp sent, which occupies 64 bits. Timestamp received, which occupies 64 bits. Type-length-value (TLV), which occupies several bits and is expanded according to needs in actual applications. Among them, the message type may include the request message type and the response message type.
[0134] Figure 6A structural diagram of a BIERv6 multicast network provided in an embodiment of the present application, such as Figure 6 As shown, the multicast source is connected to PE1, PE1 is connected to PE2 and P, PE2 is connected to PE3 and PE4, P is connected to PE5 and PE6, PE2 is connected to multicast receiver 1, PE3 is connected to multicast receiver 2, PE4 is connected to multicast receiver 3, PE5 is connected to multicast receiver 4, and PE6 is connected to multicast receiver 5. Among them, P, PE1, PE2, PE3, PE4 and PE5 belong to the BIERv6 network, and the multicast service sent by the multicast source can be forwarded to each multicast receiver through the nodes in the BIERv6 network. Among them, PE1 is a bit forwarding ingress router (BFIR), which is the node for multicast data traffic to enter the BIERv6 network and is responsible for BIER encapsulation of the messages entering the BIER network. PE2, PE3, PE4, PE5 and PE6 are bit forwarding egress routers (BFER), which are nodes where multicast data flows out of the BIER network. They are responsible for decapsulating BIER messages and forwarding them to multicast receivers. BFIR and BFER are both bit forwarding routers (BFR), which are explained here.
[0135] by Figure 6 PE1 is the source of the Tracert operation, and PE4 is the destination of the Tracert operation. Figure 7 FIG. 1 shows a schematic diagram of a Tracert process. Figure 7As shown, first PE1 can send echo request message 1. The destination address of the outer IPv6 header in echo request message 1 is the End.BIER SID of the next hop node (ie PE2), the BFIR-ID field of the BIER header in echo request message 1 carries the identifier (BFR-ID) of PE4, and the TTL value of the BIER header in echo request message 1 is 1. After PE2 receives echo request message 1, it finds that the destination address of the outer IPv6 header is the End.BIER SID of this node, thereby determining to parse the BIER header. PE2 subtracts 1 from the TTL value included in the BIER header in echo request message 1, and feeds back echo reply message 1 to PE1 when TTL is 0. After receiving the echo reply message 1 fed back by PE2, PE1 sends echo request message 2. The destination address of the outer IPv6 header in echo request message 2 is the End.BIER SID of the next-hop node (i.e., PE2). The BFIR-ID field of the BIER header in echo request message 2 carries the identifier (BFR-ID) of PE4. The TTL value of the BIER header in echo request message 2 is 2. After PE2 receives echo request message 2, it finds that the destination address of the outer IPv6 header is the End.BIER SID of this node, thereby determining to parse the BIER header. PE2 subtracts 1 from the TTL value included in the BIER header in echo request message 2, i.e., the TTL value is updated to 1. PE2 continues to forward echo request message 2 with the TTL value updated to 1. Specifically, PE2 queries the local forwarding table based on the identifier of PE4 carried in the BFIR-ID field to determine the End.BIER SID of the next-hop node (i.e., PE4). PE2 updates the destination address of the outer IPv6 header of the echo request message 2 with the TTL value updated to 1 to PE4's End.BIER SID, and then forwards the echorequest message 2 with the updated TTL value of 1 to PE4. After receiving the echo request message 2 with the TTL value of 1, PE4 finds that the destination address of the outer IPv6 header is the End.BIER SID of this node, and thus determines to parse the BIER header, subtracts the TTL value included in the BIER header by 1, that is, the TTL value is 0, and PE4 feeds back the echo reply message 2 to PE1. After receiving the echo reply message 2, PE1 finds that the source address of the echo reply message 2 is the address of PE4, and ends the Tracert process.
[0136] The transmission quality detection method provided in the embodiment of the present application can be applied to Figure 6 In the BIERv6 multicast network shown in the figure, the head node can be Figure 7 The tail node can be PE1 in Figure 7 For PE4 in the example, the first request message may be echo request message 1, the first response message may be echo reply message 1, the second request message may be echo request message 2, and the second response message may be echo reply message 2. Thus, PE1 can obtain the flow statistics information of PE2 on the service flow through echo request message 1 and echo reply message 1, and can obtain the flow statistics information of PE4 on the service flow through echo request message 2 and echo reply message 2. Based on this, PE1 can also determine the transmission quality between PE1 and PE2 according to its own flow statistics information and PE2's flow statistics information, and PE1 can determine the transmission quality between PE2 and PE4 according to PE2's flow statistics information on the service flow and PE4's flow statistics information on the service flow.
[0137] The above head node is PE1 and the tail node is PE4 is only an example. Figure 6 In the scenario shown, the head node can be PE1, and the tail node can also be PE2, PE3, PE5, or PE6. PE1 can initiate a Tracert operation to PE2, PE3, PE5, or PE6, and can obtain flow statistics from nodes on the path to PE2, PE3, PE5, or PE6 through echo request / reply messages. Figure 6 The P in the figure is not the tail node, but can also be the destination node of the echo request message and the source node of the corresponding echo reply message.
[0138] In the case where the first request message and the second request message are echo request messages, the embodiment of the present application can use the extended TLV in the echo request message to carry the above-mentioned flow statistics identifier, statistical period identifier, VPN identifier and other information. The extended TLV can be an extended original set identifier bit string TLV (Original SI-BitString TLV). In other words, the first request message and the second request message can include an extended Original SI-BitString TLV, and the above-mentioned flow statistics identifier, statistical period identifier, VPN identifier and other information are carried by extending the Original SI-BitString TLV. For example, Figure 8A structural diagram of an extended Original SI-BitString TLV provided for an embodiment of the present application, the extended Original SI-BitString TLV may include the following fields in sequence: type, length, set identifier (setidentify, SI), sub-domain identifier (sub-domain identify), BSL, statistical period identifier, bit string and VPN identifier. Among them, the type field is used to indicate the type of TLV, and the type field can be used to carry the flow statistics identifier, that is, to indicate the acquisition of flow statistics information. In the BIERv6 network scenario, the head node is the BFIR, and the BFIR has SRC-DT values corresponding to different VPNs, and each SRC-DT value uniquely corresponds to a VPN. Therefore, the VPN identifier of the Original SI-BitString TLV in the first request message or the second request message can be the SRC-DT value of the head node. SRC-DT is an IPv6 type address with a total length of 128 bits. Therefore, in the case where the VPN identifier is the SRC-DT value of the head node, Figure 8 The VPN field in occupies 128 bits.
[0139] Optionally, in the case where the first response message and the second response message are echo reply messages, the embodiment of the present application may use the extended TLV in the echo reply message to carry the above-mentioned flow statistics identifier, flow statistics information of the service flow, and VPN identifier and other information. As an implementation method, the extended TLV may be an extended responder bit forwarding router TLV (Responder BFR TLV). In other words, the first response message and the second response message include an extended Responder BFR TLV field, and the flow statistics information of the service flow counted by the first node may be carried in the extended Responder BFR TLV field of the first response message, and the flow statistics information of the service flow counted by the second node is carried in the extended Responder BFR TLV field of the second response message.
[0140] Fig. 9 A schematic diagram of the structure of an extended Responder BFR TLV provided in an embodiment of the present application is shown in FIG. Fig. 9 As shown, the extended Responder BFR TLV may include the following fields in sequence: type, length, statistical period identifier, address type, BFR prefix, flow statistics information of the service flow and VPN identifier. Among them, the type field and VPN identifier can refer to Figure 8 The description of the type field and VPN identifier is not repeated here. Fig. 9The example in which the statistical cycle identifier occupies 16 bits is used. However, in actual applications, only a part of the 16 bits can be used to carry the statistical cycle identifier, and the remaining part is reserved. This application does not limit this. Based on the implementation method of the above-mentioned message structure, the transmission quality detection method provided in the embodiment of this application can also be executed in the scenario of the BIERv6 network, thereby realizing the detection of hop-by-hop transmission quality.
[0141] Fig.10 A structural diagram of another BIERv6 multicast network provided in the embodiment of the present application will be combined with Fig.10 The BIERv6 multicast network shown in the figure introduces in detail the application implementation of the transmission quality detection method provided in the embodiment of the present application. Fig.10 As shown, the BIERv6 multicast network may include a multicast source, PE1, P1, P2, PE2, PE3, multicast receiver 1 and multicast receiver 2. The multicast source is connected to PE1, PE1 is connected to P1, P1 is connected to P2, P2 is connected to PE2 and PE3, PE2 is connected to multicast receiver 1, and PE3 is connected to multicast receiver 2. Among them, the connected PE1, P1, P2, PE2 and PE3 form a BIERv6 network, PE1 to PE2 is a BIERv6 tunnel, PE1 to PE3 is another BIERv6 tunnel, and the multicast service sent by the multicast source is transmitted to the multicast receiver through the BIERv6 tunnel. Fig.10 PE1, PE2 and PE3 in the BIERv6 network are BFRs, PE1 is BFIR, PE2 and PE3 are BFER, and P1 and P2 are intermediate BFRs (transit BFRs). The BFR-ID of P1 and P2 can also be assigned a value of 0. The following table uses the example of assigning a non-zero value to the BFR-ID of P1 and P2. Fig.10 In the BIERv6 multicast network, the BIERv6 configuration of each node can be shown in Table 1. Among them, the SRC-DT value of PE1 is "2023::1", the BFR-ID is "1", and the BFR-Prefix is "1::1". The BFR-ID of P1 is "2", and the BFR-Prefix is "2::2". The BFR-ID of P2 is "3", and the BFR-Prefix is "3::3". The BFR-ID of PE2 is "4", and the BFR-Prefix is "4::4". The BFR-ID of PE3 is "5", and the BFR-Prefix is "5::5". PE1 is a BFIR, and PE1 is configured with the SRC-DT value corresponding to the VPN.
[0142] Table 1
[0143] node SRC-DT BFR-ID BFR-Prefix PE1 2023-1 1 1:1 P1 none 2 2:2 P2 none 3 3:3 PE2 none 4 4:4 PE3 none 5 5:5
[0144] PE1, PE2, and PE3 can be deployed as end-to-end iFIT detection points. PE1 can be an ingress node and assign flow labels and dyeing periods to multicast traffic, for example, flow label = 100, dyeing period = 10s. PE1, PE2, and PE3 can perform information statistics on the passing multicast streams and periodically report the flow statistics information of the multicast streams to the controller. When the controller detects an abnormality in the multicast stream transmission between PE1 and PE2 through end-to-end iFIT, the controller can instruct PE1 to initiate a Tracert process to PE2. First, PE1 can send an echo request message 1 according to the configuration information in Table 1. The BFIR-ID field value of the BIER header in the echorequest message 1 is 4, and the TTL field value of the BIER header is 1. The field content of the extended Original SI-BitString TLV in the echo request message 1 can be as shown in Table 2:
[0145] Table 2
[0146]
[0147] When echo request message 1 is transmitted to P1, its TTL value is reduced to 0, and P1 determines to process echo request message 1. P1 can find the corresponding VPN according to SRC-DT, and then find the corresponding multicast stream according to the stream label, and then find the stream statistics information of the multicast stream in the period according to the statistical period. P1 carries the found stream statistics information 1 in echo reply message 1 and sends it to PE1. Stream statistics information 1 can be carried in the extended Responder BFR TLV. The field content of the extended Responder BFR TLV of echo reply message 1 can be shown in Table 3:
[0148] Table 3
[0149]
[0150] PE1 can obtain the flow statistics information 1 of the multicast flow counted by P1 through echo reply message 1. PE1 can send echo request message 2, in which the BFIR-ID field value of the BIER header is 4 and the TTL field value of the BIER header is 2. The field content of the extended Original SI-BitString TLV in echo request message 2 is the same as Table 2 and is not repeated here.
[0151] After echo request message 2 is forwarded by P1, its TTL value is reduced to 1. P1 queries the routing information according to the BFIR-ID: 4 of the destination, and forwards echo request message 2 to P2. P2 determines to process echo request message 2 and reduces the TTL value by 1, that is, the TTL value is 0. P2 can find the corresponding VPN according to SRC-DT, and then find the corresponding multicast stream according to the stream label, and then find the stream statistics information of the multicast stream in the period according to the statistical period. P2 carries the found stream statistics information 2 in the echo reply message 2 and sends it to PE1. The stream statistics information 2 can be carried in the extended Responder BFR TLV. The field content of the extended Responder BFR TLV of echoreply message 2 can be shown in Table 4:
[0152] Table 4
[0153]
[0154]
[0155] PE1 can obtain the flow statistics information 2 of the multicast flow counted by P2 through echo reply message 2. PE1 can send echo request message 3. The BFIR-ID field value of the BIER header in echo request message 3 is 4, and the TTL field value of the BIER header is 3. The field content of the extended Original SI-BitString TLV in echo request message 3 is the same as Table 2 and is not repeated here. After echo request message 3 is forwarded to P1, the TTL value is reduced to 2. P1 queries the routing information based on the BFIR-ID: 4 of the destination end and forwards echo request message 3 to P2. After echo request message 3 is forwarded by P2, the TTL value is reduced to 1. P2 queries the routing information based on the BFIR-ID: 4 of the destination end and forwards echo request message 3 to PE2. PE2 determines to process echo request message 3 and reduces the TTL value by 1, that is, the TTL value is 0. PE2 can search for the corresponding VPN according to SRC-DT, and then search for the corresponding multicast stream according to the stream label, and then search for the stream statistics information of the multicast stream in the period according to the statistical period. PE2 sends the found stream statistics information 3 to PE1 in echo reply message 3, and the stream statistics information 3 can be carried in the extended Responder BFR TLV. The field content of the extended Responder BFR TLV of echo reply message 3 can be shown in Table 5:
[0156] Table 5
[0157]
[0158] PE1 can obtain the flow statistics information 3 of the multicast flow collected by PE2 through the echo reply message 3. After receiving the echo reply message 3 from PE2, PE1 determines that the Tracert process is completed.
[0159] For example, taking the packet receiving count of the flow statistics information as an example, the packet receiving count of each node obtained by PE1 may be as shown in Table 6:
[0160] Table 6
[0161] node Packet receiving count PE1 1000 P1 900 P2 900 PE2 800
[0162] According to Table 6, 100 packets are lost during the transmission of the multicast stream from PE1 to P1, no packets are lost during the transmission of the multicast stream from P1 to P2, and 100 packets are lost during the transmission of the multicast stream from P2 to PE2. Through the above Tracert process, PE1 can not only detect the intermediate nodes to PE2, but also obtain the flow statistics of the hop-by-hop nodes. Based on this, PE1 can determine the transmission quality of the multicast stream between the hop-by-hop nodes based on the flow statistics of the hop-by-hop nodes. Therefore, PE1 can locate the location where the transmission abnormality occurs between PE1 and PE2.
[0163] As a possible implementation method, the flow statistics information of multiple periods may be requested at one time through an echo request message, which is not limited in the present application.
[0164] The above embodiment of the present application takes the Tracert process to implement the transmission quality detection method as an example. Optionally, in a network with other protocols, the Tracert process of other protocols can also be used to implement the transmission quality detection method. For example, MPLS Tracert, ICMP Tracert, etc., which are not limited in the present application.
[0165] In the BIERv6 multicast scenario, the Ping process also uses the following Figure 5 The echo request / reply message shown in the figure is different from the message sent by the tracert process in that the TTL value of the echo request / reply message sent by the ping process is fixed at 255. In addition, the echo request / reply message in the ping process carries the extended TLV of the flow label and flow statistics identifier, which is different from the extended TLV of the flow label and flow statistics identifier carried by the echo request / reply message in the tracert process.
[0166] Optionally, the above-mentioned transmission quality detection method in the embodiment of the present application can be performed by a device, which can be the head node in the above-mentioned method embodiment, or a device including the above-mentioned head node, or a component that can be used for the head node. In order to realize the above-mentioned functions, the device includes a hardware structure and / or software module corresponding to each function. It should be easily appreciated by those skilled in the art that, in combination with the units and algorithm steps of each example described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the present application.
[0167] The embodiment of the present application can divide the functional modules of the device according to the above method embodiment. For example, each functional module can be divided according to each function, or two or more functions can be integrated into one processing module. The above integrated module can be implemented in the form of hardware or in the form of software functional modules. The division of modules in the embodiment of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation.
[0168] Fig.11 A schematic diagram of the structure of a device is shown, and the device 110 includes a transceiver module 1101. The transceiver module 1101 may also be referred to as a transceiver unit for implementing a transceiver function, and may be, for example, a transceiver circuit, a transceiver, a transceiver or a communication interface. The transceiver module 1101 is used to send a first request message, and the first request message includes a flow label and a flow statistics identifier, the flow label is used to identify a service flow, and the flow statistics identifier is used to indicate the acquisition of flow statistics information of the service flow, and the destination node of the first request message is the first node. The transceiver module 1101 is also used to receive a first response message from the first node, and the first response message includes the first flow statistics information obtained by the first node, and the first flow statistics information is the transmission parameters generated by the service flow identified by the flow label at the first node.
[0169] Optionally, the device 110 further includes a processing module 1102, which is used to obtain second flow statistical information of the local statistical service flow. The processing module 1102 is also used to determine the transmission quality of the service flow between the head node and the first node according to the first flow statistical information and the second flow statistical information. The first node is an intermediate node or a tail node.
[0170] Optionally, the first flow statistical information includes a first packet receiving count, and the second flow statistical information includes a second packet receiving count. The processing module 1102 is used to determine the transmission quality of the service flow between the head node and the first node according to the first flow statistical information and the second flow statistical information, which may specifically include: the processing module 1102 is used to determine the number of packet losses of the service flow between the head node and the first node according to the first packet receiving count and the second packet receiving count.
[0171] Optionally, the first flow statistical information includes a first forwarding duration, and the second flow statistical information includes a second forwarding duration. The processing module 1102 is used to determine the transmission quality of the service flow between the head node and the first node according to the first flow statistical information and the second flow statistical information, which may include: the processing module 1102 is used to determine the transmission delay of the service flow between the head node and the first node according to the first forwarding duration and the second forwarding duration.
[0172] Optionally, the device 110 also includes a processing module 1102. The transceiver module 1101 is also used to send a second request message, the second request message includes a flow label and a flow statistics identifier, and the destination node of the second request message is the second node. Among them, the second node is an intermediate node between the head node and the first node, or the second node is a tail node. The transceiver module 1101 is also used to receive a second response message from the second node, the second response message includes third flow statistics information obtained by the second node, and the third flow statistics information is a transmission parameter generated by the service flow at the second node. The processing module 1102 is used to determine the transmission quality of the service flow between the first node and the second node based on the first flow statistics information and the third flow statistics information.
[0173] Optionally, the first flow statistical information includes a first packet receiving count, and the third flow statistical information includes a third packet receiving count. The processing module 1102 is used to determine the transmission quality of the service flow between the first node and the second node according to the first flow statistical information and the third flow statistical information, including: the processing module 1102 is used to determine the number of packet losses of the service flow between the first node and the second node according to the first packet receiving count and the third packet receiving count.
[0174] Optionally, the first flow statistical information includes a first forwarding duration, and the third flow statistical information includes a third forwarding duration. The processing module 1102 is used to determine the transmission quality of the service flow between the first node and the second node according to the first flow statistical information and the third flow statistical information, including: the processing module 1102 is used to determine the transmission delay of the service flow between the first node and the second node according to the first forwarding duration and the third forwarding duration.
[0175] Optionally, the device 110 also includes a processing module 1102. The transceiver module 1101 is also used to send a third request message, the third request message includes a flow label and a flow statistics identifier, the destination node of the third request message is the first node, the TTL value in the third request message is y, x>y≥1, x is the number of hops from the transceiver module 1101 to the first node, y is the number of hops from the transceiver module 1101 to the third node, and the third node is an intermediate node between the transceiver module 1101 and the first node. The transceiver module 1101 is also used to receive a third response message from the third node, the third response message includes fourth flow statistics information obtained by the third node, and the fourth flow statistics information is the transmission parameter generated by the service flow at the third node. The processing module 1102 is used to determine the transmission quality of the service flow between the first node and the third node according to the first flow statistics information and the fourth flow statistics information of the transceiver module 1101.
[0176] Optionally, the first flow statistical information includes a first packet receiving count, and the fourth flow statistical information includes a fourth packet receiving count. The processing module 1102 is used to determine the transmission quality of the service flow between the first node and the third node according to the first flow statistical information and the fourth flow statistical information, including: the processing module 1102 is used to determine the number of packet losses of the service flow between the first node and the third node according to the first packet receiving count and the fourth packet receiving count.
[0177] Optionally, the first flow statistical information includes a first forwarding duration, and the fourth flow statistical information includes a fourth forwarding duration. The processing module 1102 is used to determine the transmission quality of the service flow between the first node and the third node according to the first flow statistical information and the fourth flow statistical information, including: the processing module 1102 is used to determine the transmission delay of the service flow between the first node and the third node according to the first forwarding duration and the fourth forwarding duration.
[0178] All relevant contents of each step involved in the above method embodiment can be referred to the functional description of the corresponding functional module, which will not be repeated here. Since the device 110 provided in this embodiment can execute the above transmission quality detection method, the technical effect that can be obtained can refer to the above method embodiment, which will not be repeated here.
[0179] In this embodiment, the device 110 is presented in the form of dividing various functional modules in an integrated manner. The "module" here may refer to a specific ASIC, a circuit, a processor and a memory that executes one or more software or firmware programs, an integrated logic circuit, and / or other devices that can provide the above functions. In a simple embodiment, those skilled in the art can imagine that the device 110 can be used Fig.12 The form of the device 110 is shown.
[0180] Fig.12A schematic diagram of another device structure provided in an embodiment of the present application is shown in FIG. Fig.12 As shown, the device 120 includes one or more processors 1201, a communication circuit 1202, and at least one communication interface ( Fig.12The communication interface 1203 and a processor 1201 are merely exemplary. Optionally, a memory 1204 may also be included. The processor 1201 may be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of the program of the present application. The communication line 1202 may include a path for communication between different components. The communication interface 1203 may be a transceiver module for communicating with other devices or communication networks, such as Ethernet, RAN, wireless local area networks (WLAN), etc. For example, the transceiver module may be a device such as a transceiver or a transceiver. Optionally, the communication interface 1203 may also be a transceiver circuit located in the processor 1201, which is used to realize signal input and signal output of the processor. The memory 1204 may be a device with a storage function. For example, it can be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM) or other types of dynamic storage devices that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited to this. The memory can be independent and connected to the processor through a communication line 1202. The memory can also be integrated with the processor. Among them, the memory 1204 is used to store computer execution instructions for executing the solution of the present application, and the execution is controlled by the processor 1201. The processor 1201 is used to execute the computer-executable instructions stored in the memory 1204, so as to implement the transmission quality detection method provided in the embodiment of the present application. Alternatively, the processor 1201 in the embodiment of the present application performs the processing-related functions in the transmission quality detection method provided in the following embodiment of the present application, and the communication interface 1203 is responsible for communicating with other devices or communication networks, which is not specifically limited in the embodiment of the present application.The computer-executable instructions in the embodiments of the present application may also be referred to as application program codes, which are not specifically limited in the embodiments of the present application. As an embodiment, the processor 1201 may include one or more CPUs, for example. Fig.12 CPU0 and CPU1 in.
[0181] As an embodiment, the device 120 may include multiple processors, such as Fig.12 The processor 1201 and the processor 1207 in the embodiment of the present invention are shown in FIG. 1 . Each of these processors may be a single-core processor or a multi-core processor. The processors here may include but are not limited to at least one of the following: a central processing unit (CPU), a microprocessor, a digital signal processor (DSP), a microcontroller unit (MCU), or an artificial intelligence processor, etc., and each computing device may include one or more cores for executing software instructions to perform calculations or processing.
[0182] As an embodiment, the apparatus 120 may further include an output device 1205 and an input device 1206. The output device 1205 communicates with the processor 1201 and may display information in a variety of ways. For example, the output device 1205 may be a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector. The input device 1206 communicates with the processor 1201 and may receive user input in a variety of ways. For example, the input device 1206 may be a mouse, a keyboard, a touch screen device, or a sensor device.
[0183] The above-mentioned device 120 may also be sometimes referred to as a communication device, which may be a general device or a dedicated device. For example, the device 120 may be a network device such as a router, a switch, a gateway, or a terminal device, or a controller in a network, or a device having Fig.12 The embodiment of the present application does not limit the type of the device 120.
[0184] Fig.12The processor 1201 in the device 120 shown can enable the device 120 to execute the transmission quality detection method in the above method embodiment by calling the computer-executable instructions stored in the memory 1204. Since the device 120 provided in this embodiment can execute the above transmission quality detection method, the technical effects that can be obtained can refer to the above method embodiment, which will not be repeated here.
[0185] In various embodiments of the present application, the size of the sequence number of each process does not mean the order of execution, and the order of execution of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiment of the present application. It can be appreciated by those of ordinary skill in the art that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented with electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are executed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present application. It can be clearly understood by those of ordinary skill in the art that for the convenience and simplicity of description, the specific working process of the above-described system, device and unit can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here. In several embodiments provided in the present application, it should be understood that the disclosed system, device and method can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the coupling or direct coupling or communication connection between each other shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms. The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the scheme of this embodiment. In addition, each functional unit in each embodiment of the present application can be integrated into a processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using a software program, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on the computer, the process or function described in the embodiment of the present application is 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.The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from one website, computer, server or data center to another website, computer, server or data center via wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that includes one or more available media integrated therein. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a magnetic tape), an optical medium (e.g., a digital versatile disc (DVD)), or a semiconductor medium (e.g., a solid state disk (SSD)), etc.
[0186] As used in this application, the terms "component", "module", "system", etc. are intended to refer to a computer-related entity, which can be hardware, firmware, a combination of hardware and software, software, or software in operation. For example, a component can be, but is not limited to: a process running on a processor, a processor, an object, an executable file, a thread in execution, a program, and / or a computer. As an example, an application running on a computing device and the computing device can both be components. One or more components can exist in a process and / or thread in execution, and a component can be located in a computer and / or distributed between two or more computers. In addition, these components can be executed from various computer-readable media having various data structures thereon. These components can communicate in a local and / or remote process manner, such as according to a signal having one or more data packets (for example, data from a component, which interacts with another component in a local system, a distributed system, and / or interacts with other systems in a signal manner through a network such as the Internet). This application presents various aspects, embodiments, or features around a system that may include multiple devices, components, modules, etc. It should be understood and appreciated that the various systems may include additional devices, components, modules, etc. and / or may not include all of the devices, components, modules, etc. discussed in connection with the figures. Furthermore, combinations of these aspects may also be used.
[0187] In addition, in the embodiments of the present application, the word "exemplary" is used to indicate an example, illustration or explanation. Any embodiment or design described as "example" in the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of the word "exemplary" is intended to present concepts in a specific way. In the embodiments of the present application, information, signal, message, and channel can sometimes be used interchangeably. It should be noted that when the distinction is not emphasized, the meanings to be expressed are consistent. "Of", "corresponding, relevant" and "corresponding" can sometimes be used interchangeably. It should be noted that when the distinction is not emphasized, the meanings to be expressed are consistent. "System" and "network" can sometimes be used interchangeably. When the distinction is not emphasized, the meanings to be expressed are consistent. For example, "communication network" also refers to "communication system". The network architecture and business scenarios described in the embodiments of the present application are intended to more clearly illustrate the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided in the embodiments of the present application. A person of ordinary skill in the art can appreciate that with the evolution of the network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.
[0188] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
Claims
1. A transmission quality detection method, characterized in that: The method is applied to a multicast domain, and the method comprises: The head node sends a first request message to the first node, where the first request message includes a flow label and a flow statistics identifier, where the flow label is used to identify a service flow, and the flow statistics identifier is used to indicate to obtain flow statistics information of the service flow, and the destination node of the first request message is the first node; The head node receives a first response message from the first node, where the first response message includes first flow statistical information acquired by the first node, where the first flow statistical information is a transmission parameter generated by the service flow at the first node.
2. The method according to claim 1, characterized in that The method further comprises: The head node obtains second flow statistical information counted by itself, where the second flow statistical information is a transmission parameter generated by the service flow at the head node; The head node determines the transmission quality of the service flow between the head node and the first node according to the first flow statistical information and the second flow statistical information.
3. The method according to claim 2, characterized in that The first flow statistical information includes a first packet receiving count, and the second flow statistical information includes a second packet receiving count; and the head node determines, according to the first flow statistical information and the second flow statistical information, the transmission quality of the service flow between the head node and the first node, including: The head node determines the number of lost packets of the service flow between the head node and the first node according to the first packet receiving count and the second packet receiving count.
4. The method according to claim 2, characterized in that: The first flow statistical information includes a first forwarding duration, and the second flow statistical information includes a second forwarding duration; the head node determines the transmission quality of the service flow between the head node and the first node according to the first flow statistical information and the second flow statistical information, including: The head node determines a transmission delay of the service flow between the head node and the first node according to the first forwarding duration and the second forwarding duration.
5. The method according to any one of claims 1 to 4, characterized in that: The first request message also includes a virtual private network VPN identifier, and the VPN identifier is used to indicate the VPN to which the service flow belongs.
6. The method according to any one of claims 1 to 5, characterized in that: The first request message is an echo request message, and the first request message includes an extended original set identifier bit string type length value OriginalSI-BitString TLV field, and the extended Original SI-BitString TLV field is used to carry the flow statistics identifier.
7. The method according to any one of claims 1 to 6, characterized in that: The first response message is an echo reply message, and the first response message includes an extended responder bit forwarding router type length value Responder BFR TLV field, and the extended Responder BFR TLV field is used to carry the first flow statistical information.
8. The method according to any one of claims 1 to 7, characterized in that: The first node is an intermediate node or a tail node, and the TTL value of the survival time in the first request message is x, where x is the number of hops from the head node to the first node, and x≥1.
9. The method according to any one of claims 1 to 8, characterized in that: The method further comprises: The head node sends a second request message to the second node, where the second request message includes the flow label and the flow statistics identifier, and the destination node of the second request message is the second node; The head node receives a second response message from the second node, where the second response message includes third flow statistical information acquired by the second node, where the third flow statistical information is a transmission parameter generated by the service flow at the second node; The head node determines the transmission quality of the service flow between the first node and the second node according to the first flow statistical information and the third flow statistical information.
10. The method according to claim 9, characterized in that The first flow statistical information includes a first packet receiving count, and the third flow statistical information includes a third packet receiving count; and the head node determines, according to the first flow statistical information and the third flow statistical information, the transmission quality of the service flow between the first node and the second node, including: The head node determines the number of lost packets of the service flow between the first node and the second node according to the first packet reception count and the third packet reception count.
11. The method according to claim 9, characterized in that The first flow statistical information includes a first forwarding duration, and the third flow statistical information includes a third forwarding duration; the head node determines the transmission quality of the service flow between the first node and the second node according to the first flow statistical information and the third flow statistical information, including: The head node determines the transmission delay of the service flow between the first node and the second node according to the first forwarding duration and the third forwarding duration.
12. The method according to any one of claims 1 to 8, characterized in that: The method further comprises: The head node sends a third request message, the third request message includes the flow label and the flow statistics identifier, the destination node of the third request message is the first node, the TTL value in the third request message is y, x>y≥1, x is the number of hops from the head node to the first node, y is the number of hops from the head node to the third node, and the third node is an intermediate node between the head node and the first node; The head node receives a third response message from the third node, where the third response message includes fourth flow statistical information acquired by the third node, where the fourth flow statistical information is a transmission parameter generated by the service flow at the third node; The head node determines the transmission quality of the service flow between the first node and the third node according to the first flow statistical information and the fourth flow statistical information.
13. The method according to claim 12, characterized in that The first flow statistical information includes a first packet receiving count, and the fourth flow statistical information includes a fourth packet receiving count; and the head node determines, according to the first flow statistical information and the fourth flow statistical information, the transmission quality of the service flow between the first node and the third node, including: The head node determines the number of lost packets of the service flow between the first node and the third node according to the first packet receiving count and the fourth packet receiving count.
14. The method according to claim 12, characterized in that The first flow statistical information includes a first forwarding duration, and the fourth flow statistical information includes a fourth forwarding duration; the head node determines the transmission quality of the service flow between the first node and the third node according to the first flow statistical information and the fourth flow statistical information, including: The head node determines the transmission delay of the service flow between the first node and the third node according to the first forwarding duration and the fourth forwarding duration.
15. A transmission quality detection device, characterized in that: The device is applied to a head node of a multicast domain, and the device includes a transceiver module; The transceiver module is used to send a first request message to the first node, the first request message includes a flow label and a flow statistics identifier, the flow label is used to identify the service flow, the flow statistics identifier is used to indicate to obtain the flow statistics information of the service flow, and the destination node of the first request message is the first node; The transceiver module is further used to receive a first response message from the first node, where the first response message includes first flow statistical information obtained by the first node, where the first flow statistical information is a transmission parameter generated by the service flow at the first node.
16. The device according to claim 15, characterized in that The device also includes a processing module; The processing module is used to obtain locally counted second flow statistical information, where the second flow statistical information is a transmission parameter generated by the service flow at the head node; The processing module is further configured to determine the transmission quality of the service flow between the head node and the first node according to the first flow statistical information and the second flow statistical information.
17. The device according to claim 16, characterized in that The first flow statistical information includes a first received packet count, and the second flow statistical information includes a second received packet count; The processing module is used to determine the transmission quality of the service flow between the head node and the first node according to the first flow statistical information and the second flow statistical information, including: The processing module is used to determine the number of packet losses of the service flow between the head node and the first node according to the first packet reception count and the second packet reception count.
18. The device according to claim 16, characterized in that The first flow statistical information includes a first forwarding duration, and the second flow statistical information includes a second forwarding duration; The processing module is used to determine the transmission quality of the service flow between the head node and the first node according to the first flow statistical information and the second flow statistical information, including: The processing module is used to determine the transmission delay of the service flow between the head node and the first node according to the first forwarding duration and the second forwarding duration.
19. The device according to any one of claims 15 to 18, characterized in that: The first request message also includes a virtual private network VPN identifier, and the VPN identifier is used to indicate the VPN to which the service flow belongs.
20. The device according to any one of claims 15 to 19, characterized in that The first request message is an echo request message, and the first request message includes an extended original set identifier bit string type length value OriginalSI-BitString TLV field, and the extended Original SI-BitString TLV field is used to carry the flow statistics identifier.
21. The device according to any one of claims 15 to 20, characterized in that The first response message is an echo reply message, and the first response message includes an extended responder bit forwarding router type length value Responder BFR TLV field, and the extended Responder BFR TLV field is used to carry the first flow statistical information.
22. The device according to any one of claims 15 to 21, characterized in that The first node is an intermediate node or a tail node, and the TTL value of the survival time in the first request message is x, where x is the number of hops from the head node to the first node, and x≥1.
23. The device according to any one of claims 15 to 22, characterized in that: The device also includes a processing module; The transceiver module is further used to send a second request message to the second node, where the second request message includes the flow label and the flow statistics identifier, and the destination node of the second request message is the second node; The transceiver module is further used to receive a second response message from the second node, where the second response message includes third flow statistical information obtained by the second node, where the third flow statistical information is a transmission parameter generated by the service flow at the second node; The processing module is used to determine the transmission quality of the service flow between the first node and the second node according to the first flow statistical information and the third flow statistical information.
24. The device according to claim 23, characterized in that The first flow statistical information includes a first received packet count, and the third flow statistical information includes a third received packet count; The processing module is used to determine the transmission quality of the service flow between the first node and the second node according to the first flow statistical information and the third flow statistical information, including: The processing module is used to determine the number of packet losses of the service flow between the first node and the second node according to the first packet reception count and the third packet reception count.
25. The device according to claim 23, characterized in that The first flow statistical information includes a first forwarding duration, and the third flow statistical information includes a third forwarding duration; The processing module is used to determine the transmission quality of the service flow between the first node and the second node according to the first flow statistical information and the third flow statistical information, including: The processing module is used to determine the transmission delay of the service flow between the first node and the second node according to the first forwarding duration and the third forwarding duration.
26. The device according to any one of claims 15 to 22, characterized in that The device also includes a processing module; The transceiver module is further used to send a third request message, the third request message includes the flow label and the flow statistics identifier, the destination node of the third request message is the first node, the TTL value in the third request message is y, x>y≥1, x is the number of hops from the transceiver module to the first node, y is the number of hops from the transceiver module to the third node, and the third node is an intermediate node between the transceiver module and the first node; The transceiver module is further used to receive a third response message from the third node, where the third response message includes fourth flow statistical information obtained by the third node, where the fourth flow statistical information is a transmission parameter generated by the service flow at the third node; The processing module is used to determine the transmission quality of the service flow between the first node and the third node according to the first flow statistical information and the fourth flow statistical information by the transceiver module.
27. The device according to claim 26, characterized in that The first flow statistical information includes a first packet receiving count, and the fourth flow statistical information includes a fourth packet receiving count; The processing module is configured to determine the transmission quality of the service flow between the first node and the third node according to the first flow statistical information and the fourth flow statistical information, including: The processing module is used to determine the number of packet losses of the service flow between the first node and the third node according to the first packet reception count and the fourth packet reception count.
28. The device according to claim 26, characterized in that The first flow statistical information includes a first forwarding duration, and the fourth flow statistical information includes a fourth forwarding duration; The processing module is used to determine the transmission quality of the service flow between the first node and the third node according to the first flow statistical information and the fourth flow statistical information, including: The processing module is used to determine the transmission delay of the service flow between the first node and the third node according to the first forwarding duration and the fourth forwarding duration.