IFIT measurement method and device

By incorporating a level identifier in the IFIT measurement header, the method addresses the issue of incorrect flow identification and measurement errors in IFIT networks, ensuring accurate and efficient domain-specific measurement results.

CN119109816APending Publication Date: 2024-12-10HUAWEI TECH CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202310684435.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-06-09
Publication Date
2024-12-10

AI Technical Summary

Technical Problem

In IFIT measurement networks, the configuration of matching rules by different domain controllers can lead to errors due to inclusion relationships, resulting in incorrect flow identification and measurement inaccuracies.

Method used

The introduction of a level identifier in the IFIT measurement header allows for hierarchical measurement, distinguishing between domains and reducing the probability of errors by ensuring accurate flow identification and separate measurement by each domain controller.

Benefits of technology

This approach enhances the accuracy of IFIT measurements by enabling separate and comprehensive measurement results for each domain, reducing processing complexity and transmission overhead while minimizing errors.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119109816A_ABST
    Figure CN119109816A_ABST
Patent Text Reader

Abstract

The invention discloses an IFIT measurement method and device. A network device receives a first data message; a second data message is obtained based on the first data message, the second data message comprises the first data message and a first IFIT measurement head, the first IFIT measurement head comprises a first flow identifier and a first level identifier, and the first level identifier corresponds to a first IFIT measurement area; sending the second data message, and counting network performance data corresponding to the first target flow based on the first data message; the first IFIT measurement result is sent to a first controller, the first controller is deployed in a first IFIT measurement area, and the first IFIT measurement result comprises network performance data corresponding to the first target flow, the first flow identifier and the first level identifier. A grade identifier is added in an IFIT measuring head, so that graded measurement is realized, and the probability of errors in IFIT measurement is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communication technology, and in particular to an IFIT measurement method and device. Background Art

[0002] In-situ flow information telemetry (IFIT) networks, there are scenarios of domain-based measurement. Domain-based measurement means dividing the network into multiple domains, deploying a controller in each domain, managing the IFIT measurement of the corresponding domain, and configuring the IFIT matching rules for the network devices in the corresponding domain.

[0003] However, the matching rules configured by controllers in different domains may contain inclusion relationships, resulting in errors in IFIT measurements. Summary of the invention

[0004] The present application provides an IFIT measurement method and device, which helps to reduce the probability of errors in IFIT measurement. The technical solution is as follows.

[0005] In a first aspect, an IFIT measurement method is provided, the method comprising:

[0006] The network device receives a first data message;

[0007] In response to the first data packet matching the parameters of the first target flow, the network device obtains a second data packet based on the first data packet, the second data packet includes the first data packet and a first IFIT measurement header, the first IFIT measurement header includes a first flow identifier and a first level identifier, the first flow identifier is used to identify the first target flow, and the first level identifier corresponds to a first IFIT measurement area;

[0008] The network device sends the second data packet, and collects network performance data corresponding to the first target flow based on the first data packet;

[0009] The network device sends a first IFIT measurement result to a first controller, where the first controller is deployed in the first IFIT measurement area. The first IFIT measurement result includes network performance data corresponding to the first target flow, the first flow identifier, and the first level identifier.

[0010] In the above method, by adding a grade mark in the IFIT measurement head, hierarchical measurement is realized, thereby solving the problem of flow mark error in the IFIT measurement head to a certain extent, thereby reducing the probability of error in IFIT measurement.

[0011] In some embodiments, the first data message includes a second IFIT measurement header, the second IFIT measurement header includes a second level identifier, the second level identifier is greater than the first level identifier, the second level identifier corresponds to a second IFIT measurement area, and the second data message also includes the second IFIT measurement header.

[0012] By nesting and inserting a low-level IFIT measurement header when a higher-level identifier is already included in the received message, it is convenient to distinguish the matching rules of different domains based on the level during matching, and then perform IFIT measurements on different domains separately, so that the controller of each domain can obtain the measurement results of each network device in the domain separately, reducing the probability of IFIT measurement errors in different domains.

[0013] In some embodiments, the second IFIT measurement head also includes a second flow identifier, which is used to identify a second target flow. The method also includes: the network device counts network performance data corresponding to the second target flow based on the first data packet; the network device sends a second IFIT measurement result to the first controller or the second controller, and the second controller is deployed in the second IFIT measurement area, and the second IFIT measurement result includes the network performance data corresponding to the second target flow, the second flow identifier and the second level identifier.

[0014] When a data packet includes two flow identifiers (i.e., a packet is identified as multiple flows), the network performance data is counted separately in the corresponding target flows, so that the controller of each domain can obtain the measurement results, and the measurement results are more comprehensive.

[0015] In some embodiments, the first IFIT measurement head and the second IFIT measurement head in the second data message are arranged in order of the size of the level identifier.

[0016] Since different IFIT measuring heads are arranged in sequence, it is convenient to process each IFIT measuring head in sequence, thereby reducing the processing complexity.

[0017] In some embodiments, the first target flow is a reverse flow, and the network device obtains a second data packet based on the first data packet, including: the network device matches the first data packet with parameters of a third target flow, the third level identifier corresponding to the third target flow is greater than the first level identifier, and the third level identifier corresponds to a third IFIT measurement area; the network device matches the first data packet with parameters of the first target flow in response to the first data packet not matching the parameters of the third target flow; in response to the first data packet matching the parameters of the first target flow, the network device adds the first IFIT measurement header to the first data packet to obtain the second data packet.

[0018] By adding the highest level to the IFIT measurement head first, the downstream nodes of the reverse flow can use the target flow parameters in the matching rules containing the highest level for matching, reducing the probability of errors caused by the downstream nodes of the reverse flow matching the target flow parameters corresponding to the low level, thereby improving accuracy. In addition, as the number of controllers increases, the number of level identifiers increases, and the number of added IFIT measurement heads also increases, reducing the transmission overhead of the message.

[0019] In some embodiments, the first target flow is a reverse flow, and the network device obtains a second data packet based on the first data packet, including:

[0020] The network device matches the first data message with parameters of a first target flow and parameters of a third target flow respectively, a third level identifier corresponding to the third target flow is smaller than the first level identifier, and the third level identifier corresponds to a third IFIT measurement area;

[0021] In response to the first data packet matching the parameters of the first target flow and the parameters of the second target flow, the network device selects a maximum level identifier from the first level identifier and the third level identifier to obtain the first level identifier;

[0022] The network device adds the first IFIT measurement header to the first data message based on the first level identifier to obtain the second data message.

[0023] In some embodiments, the method also includes: the network device receives a third data packet, the third data packet includes a third IFIT measurement header, and the third IFIT measurement header includes a third level identifier; in response to the third level identifier being equal to the first level identifier or the third level identifier being less than the first level identifier, the network device reports an IFIT error event.

[0024] When the received message already contains the IFIT measurement head of the same level, it indicates that the controllers in different domains are configured with the same level. This situation will make it impossible to distinguish network devices and is unreasonable network domain planning. Therefore, reporting the error event facilitates timely correction of the error.

[0025] In some embodiments, the first IFIT measurement header includes a reserved field, the reserved field includes the first level identifier; or, the first IFIT measurement header includes a flow identifier flow ID field, the flow ID field includes the first level identifier; or, the first IFIT measurement header includes a flow ID extension flow ID ext field, the flow IDext field includes the first level identifier.

[0026] The above provides a variety of methods for carrying the level identifier. Optionally, the level identifier occupies 3 bits, so that the value of the level identifier can include 8 levels from level 0 to level 7, which is sufficient from the perspective of current network classification.

[0027] In some embodiments, before the network device receives the first data message, the method further includes:

[0028] The network device receives an IFIT matching rule from the first controller, where the IFIT matching rule includes a parameter of the first target flow and the first level identifier.

[0029] In a second aspect, a network device is provided, which has the function of implementing the first aspect or any optional manner of the first aspect. The network device includes at least one unit, and the at least one unit is used to implement the method provided by the first aspect or any optional manner of the first aspect.

[0030] In some implementations, the unit in the network device is implemented by software, and the unit in the network device is a program module. In other embodiments, the unit in the network device is implemented by hardware or firmware. The specific details of the network device provided in the third aspect can be found in the first aspect or any optional manner of the first aspect, which will not be repeated here.

[0031] In a third aspect, a network device is provided, the network device comprising a processor and a network interface, the processor is used to execute instructions so that the network device performs the method provided by the first aspect or any optional manner of the first aspect, and the network interface is used to receive or send a message. The specific details of the network device provided in the fifth aspect can be found in the first aspect or any optional manner of the first aspect, and will not be repeated here.

[0032] In a fourth aspect, a computer-readable storage medium is provided, wherein at least one instruction is stored in the storage medium. When the instruction is executed on a computer, the computer executes the method provided by the first aspect or any optional manner of the first aspect.

[0033] In a fifth aspect, a computer program product is provided, which includes one or more computer program instructions. When the computer program instructions are loaded and executed by a computer, the computer executes the method provided by the first aspect or any optional manner of the first aspect.

[0034] In a sixth aspect, a chip is provided, comprising a memory and a processor, wherein the memory is used to store computer instructions, and the processor is used to call and run the computer instructions from the memory to execute the method in the above-mentioned first aspect and any possible implementation of the first aspect.

[0035] In a seventh aspect, a network system is provided, which includes the network device and controller described in the second aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0036] Figure 1 It is a format schematic diagram of an IFIT measurement head provided in an embodiment of the present application;

[0037] Figure 2 It is a schematic diagram of an application scenario provided by an embodiment of the present application;

[0038] Figure 3 is a flow chart of an IFIT measurement method provided in an embodiment of the present application;

[0039] Figure 4 It is a schematic diagram of marking levels in a data message provided by an embodiment of the present application;

[0040] Figure 5 is a structural schematic diagram of an IFIT measurement device 500 provided in an embodiment of the present application;

[0041] Figure 6 It is a structural diagram of a network device 800 provided in an embodiment of the present application. DETAILED DESCRIPTION

[0042] In order to make the objectives, technical solutions and advantages of the present application clearer, the implementation methods of the present application will be further described in detail below with reference to the accompanying drawings.

[0043] The following is an explanation of some terminology concepts involved in the embodiments of the present application.

[0044] (1) In-situ flow information telemetry (IFIT)

[0045] IFIT is an along-flow operations, administration, and maintenance (OAM) measurement technology that directly measures service packets to obtain the real packet loss rate, latency and other performance indicators of the Internet Protocol (IP) network. IFIT is an along-flow alternating coloring measurement technology. IFIT technology obtains the real packet loss rate, latency and other performance indicators of the IP network by alternating coloring and measuring data packets along the flow, and has outstanding advantages such as easy deployment and high statistical accuracy.

[0046] IFIT measurement technology is an on-path measurement technology that alternately dyes the actual data stream and measures the packet loss and delay of the dyed messages. IFIT directly measures the actual network traffic by inserting dyeing marks into the actual data stream and carrying timestamps. After the data stream reaches each network device, the network device measures the characteristic fields to obtain information such as delay, jitter, and packet loss. The computing unit calculates the packet loss or delay of the data stream through the telemetry subscription mechanism.

[0047] (2) Target flow

[0048] The target flow is the target object of IFIT statistics. In actual networks, it is often necessary to measure the performance parameters of multiple target flows on the same device. Target flows are divided into static target flows and dynamic target flows. Static target flow: The service flow that adds the IFIT message header after matching the specified rules on the ingress node is called a static target flow. The matching rules include at least one of the five-tuple (source IP address / network segment, source port, destination IP address / network segment, destination port, protocol type), Differentiated Services Code Point (DSCP), Virtual Private Network (VPN), next hop parameter or the peer Internet Protocol version 4 (IPv4) or Internet Protocol version 6 (IPv6) address. Dynamic target flow: The service flow dynamically identified by the intermediate node and the egress node through the detection of the IFIT message header is called a dynamic target flow. If the device does not receive a message with the same flow identifier within the specified time, it is considered that the dynamic target flow has been aged and the dynamic target flow will be deleted.

[0049] (3) IFIT measurement example

[0050] IFIT uses instances to achieve independent measurement and statistics of packet loss and delay parameters of different target flows. An instance is a logical concept and the smallest configuration unit of IFIT. The ingress node creates an IFIT measurement instance, in which you can specify parameters such as the target flow and measurement period. You bind the instance to the ingress interface of the target flow to achieve measurement and statistics of the target flow performance parameters received by the specified interface. One target flow is bound to one instance. By configuring multiple instances and binding different target flows, you can measure and count the performance parameters of multiple target flows at the same time.

[0051] (4)IFIT measurement head

[0052] IFIT will add an IFIT measurement header to the target flow message at the ingress node, and pass the flow identifier, measurement period and other information to the intermediate nodes and egress nodes through the IFIT measurement header. Figure 1 , Figure 1 This is a format diagram of an IFIT measurement head provided in an embodiment of the present application. The IFIT measurement head mainly includes the following contents:

[0053] Flow Instruction Indicator (FII). FII is also called a boot tag. FII includes a type field, a length field, and a reserved (Rsv) field. The type field is used to identify the IFIT measurement header. The length field is used to indicate the overall length of the IFIT measurement header. The Rsv field is a reserved bit and is reserved for future expansion.

[0054] Flow instruction header (FIH). FIH is also called IFIT basic message header. FIH includes the following fields. The flow ID (flow Identifier) ​​field is used to carry the flow ID. The flow ID is used to identify a target flow, or the flow ID identifies a measurement instance. For example, the flow ID is the device identifier of the network device to which the IFIT measurement header is added. For example, the controller assigns a corresponding node ID to each network device in the network, and the ingress node adds the node ID of the device to the flow ID field.

[0055] The flow ID extension (flow ID ext) field is used to carry the ID assigned by the network device to the target flow. For example, the ingress node assigns a corresponding identifier to each target flow, and the ingress node adds the ID assigned by the device to the target flow to the flow ID extension field.

[0056] The packet loss measurement color flag (L) is also called the packet loss color bit. L occupies 1 bit. The packet loss measurement color flag is used to distinguish the packets of two adjacent periods. When the packet loss measurement color flag value is 1, it indicates a colored packet, and the packet belongs to the colored packet loss measurement period; when the packet loss measurement color flag value is 0, it indicates an uncolored packet, and the packet belongs to the uncolored packet loss measurement period. The packet loss measurement color flag provides the ability to perform packet loss statistics based on alternating coloring on packets.

[0057] The delay measurement color flag (D) is also called the delay color bit. The delay measurement color flag is used to distinguish the target flow packets used for delay measurement from the target flow packets not used for delay measurement. When the delay measurement color flag value is 1, it indicates that the packet is used for delay measurement, and the timestamp when the interface receives the packet needs to be recorded; when the delay measurement color flag value is 0, it indicates that the packet is not used for delay measurement, and the timestamp does not need to be recorded for the packet. The delay measurement color flag provides the ability to perform delay statistics on packets based on alternating coloring.

[0058] S or R: If the guide label is at the bottom of the stack, it is R, set to 1; if the guide label is not at the bottom of the stack, it is S, set to 0. The next header is used to identify whether an extension header is carried. The E field identifies the statistical mode, including hop-by-hop mode and end-to-end (E2E) mode. When set to 1, it indicates E2E mode. The P field is used for IPv4 encapsulation to prevent Probe Marker mismatching. When set to 1, it indicates mismatching and no statistics are required at this time. The F field is the forward flow identifier. When the F field is set to 1, it indicates forward flow. The Len field is the extension length. The protocol definition reserves a 16-bit extension bit Trace Type field, which can support the measurement of 15 metadata and 1 control field, in units of 4 bytes. The basic header Len without metadata is 1. The R or Rsv field is a reserved bit, reserved for future expansion. Trace Type (bitmap): Metadata indicator bit, represented by bitmap, supports up to 16 types of extensions, such as Sequence, control field, etc.

[0059] Flow Instruction Extension Header (FIEH): FIEH can define the end-to-end or hop-by-hop statistical mode through the E field, and control the unidirectional or bidirectional measurement of the data flow through the F field. In addition, it can also support extended functions such as packet-by-packet measurement and out-of-order measurement.

[0060] Bit 0 in FIEH is used to measure packet-by-packet delay. When set to 1, Timestamp is valid. It occupies 6 bytes. The first 2 bytes represent seconds, and the last 4 bytes represent nanoseconds. Bit 1 in FIEH is a control field, which is used to carry control information such as reverse flow establishment and synchronization period. DIP / SIP Mask represents the mask length of IPv4 / IPv6. Proto / Ports represent the protocol number, the transport layer source port number, and the transport layer destination port number respectively. When set to 1, it is valid. For example, 0b101 indicates that a reverse flow ACL matching rule needs to be established for the flow matching the destination port number + protocol number. The V field indicates whether a reverse flow needs to be established. When set to 1, it indicates that a reverse flow is established. The DSCP field indicates whether the measurement flow is determined based on DSCP. The Tunnel field indicates whether it is an IFIT tunnel-level quality measurement. The Period(s) field indicates the synchronization reporting period in seconds. The Bit 2 field is used to measure out-of-order measurement. When set to 1, Sequence is valid. It occupies 4 bytes. The Bit 3 field implements packet measurement by checking Checksum. When set to 1, Checksum is valid. It occupies 4 bytes.

[0061] (5) Staining position

[0062] The coloring bit is also called the feature identification bit. It can periodically identify the target flow to achieve the purpose of periodic sampling and statistics of the target flow. IFIT uses two coloring bits, one is the packet loss measurement coloring bit, which is used to calculate the packet loss parameter; the other is the delay measurement coloring bit, which is used to calculate the delay parameter.

[0063] (6) Alternating dyeing

[0064] IFIT's packet loss statistics and delay statistics functions are implemented by alternately dyeing data packets. The so-called dyeing is to mark the packets with characteristics. IFIT marks the characteristic fields by setting the packet loss dyeing bit L and the delay dyeing bit D to 0 or 1. IFIT will alternately dye the target packets of adjacent cycles, that is, the L field (packet loss measurement dyeing mark) in the IFIT packet header is set to 1 and 0 alternately according to the cycle, and the number of packets with L field 1 is counted in the dyeing cycle; in the non-dyeing cycle, the number of target packets with L field 0 is counted.

[0065] (7) Network performance data

[0066] Network performance data includes packet loss rate, delay and number of packets. Packet loss rate refers to the ratio of the number of data packets lost during forwarding to the number of data packets sent. The device can count the difference between the number of packets entering and leaving the network in a certain measurement period through the packet loss statistics function. Delay refers to the time required for a data packet to be transmitted from one end of the network to the other end. The device can sample data packets through the delay statistics function, record the actual forwarding time of data packets in the network, and thus calculate the transmission delay of the specified data stream in the network.

[0067] (8) Reverse IFIT Example

[0068] When configuring an IFIT instance, if you specify the instance type as a bidirectional instance, you can dynamically generate a reverse IFIT instance to implement bidirectional flow measurement, reducing the workload of configuration and maintenance. Configure the IFIT measurement instance as a bidirectional measurement flow instance on the ingress node. On the intermediate node, IFIT dynamically generates a reverse IFIT instance by parsing the information in the forward measurement flow and swapping the source address and destination address.

[0069] (9) Automatic triggering of IFIT measurement

[0070] In a possible implementation, the IFIT capability of a network device in a specified network domain is enabled by a controller. For example, the network device reports the IFIT capability supported by the device and the next hop information of the device to the controller, and the controller determines whether IFIT can be enabled in the specified network domain based on the information reported by the network device. The controller determines a matching rule; the controller sends the matching rule to the network device through the network configuration protocol (NETCONF), thereby instructing the network device to encapsulate, forward and strip the IFIT message header to achieve automatic negotiation of the IFIT capability. When the ingress node receives a data message, it matches the content of the specified field in the data message with the parameters in the matching rule. If there is a match, an IFIT message header is added to the data message. For example, the matching rule includes a five-tuple of a data stream to be measured by IFIT, and the ingress node matches the five-tuple in the data message with the five-tuple in the matching rule. If the five-tuple in the data message is the same as the five-tuple in the matching rule, an IFIT message header is added to the data message.

[0071] (10) IFIT uploads data

[0072] IFIT uses Telemetry technology to send measurement results to the controller for analysis in real time. Telemetry is a technology that collects data from physical or virtual devices remotely and at high speed. The device periodically sends information such as interface traffic statistics, CPU or memory data to the collector through push mode. Compared with the traditional pull mode, which uses a question-and-answer interaction, it provides more real-time and high-speed data collection functions.

[0073] For example, the controller subscribes to the sampling path through Telemetry, and the network device collects the measurement results according to the configuration of the controller and generates a Telemetry message based on the measurement results. The Telemetry message includes the measurement results. The network device sends the Telemetry message to the controller. The measurement results include network performance data, flow ID, device ID, collection timestamp, and flow direction.

[0074] (11) Domain

[0075] A domain is a logical division method that can divide the network according to different functions, management, and security requirements, thereby improving the manageability, reliability, and security of the network. Domains can be divided within an AS or across multiple ASs. The division of domains is usually determined based on business needs and security requirements.

[0076] There are several ways to divide domains:

[0077] Functional domain: divided according to different network functions, such as core network, access network, transmission network, etc.

[0078] Business domain: divided according to different business needs, such as voice, data, video, etc.

[0079] Management domain: divided according to different management responsibilities, such as operator management domain, enterprise management domain, etc.

[0080] Security domain: divided according to different security requirements, such as public network domain, DMZ domain, intranet domain, etc.

[0081] (12) Ingress, Transmit, Egress, and Controller

[0082] The ingress node, intermediate node, egress node, and controller are different device roles in the system for IFIT measurement. The ingress node is used to identify the target flow from the received data flow, add an IFIT message header to the target flow, collect the measurement results of the target flow, and report the measurement results to the controller. The intermediate node is used to automatically identify the IFIT target flow based on whether the message contains the IFIT message header, and then decide whether to collect the measurement results of the target flow and report the measurement results to the controller based on the measurement type carried in the IFIT message header. The egress node is used to automatically identify the IFIT target flow based on whether the message contains the IFIT message header, collect the measurement results of the target flow and report the measurement results to the controller, and then strip the IFIT message header of the target flow. The controller is used to collect the measurement results reported by the ingress node, intermediate node, and egress node, and summarize and calculate the measurement results reported by each node.

[0083] (13) Measurement point

[0084] The measurement point (MP) is the interface for implementing IFIT measurement. According to the different positions of the measurement points in the system, they can be divided into input measurement points, intermediate measurement points and output measurement points. The input measurement point is the interface where the target flow enters the target traversal network. The intermediate measurement point is the interface where the target flow flows through the target traversal network. The output measurement point is the interface where the target flow leaves the target traversal network.

[0085] (14) End-to-end measurement and segment-by-segment measurement

[0086] The end-to-end measurement scenario is used to measure whether there is packet loss and latency between the device entering the network (traffic ingress) and the device leaving the network (traffic egress).

[0087] Segment-by-segment measurement is used to measure packet loss and delay within smaller network units. After discovering that there is packet loss or delay between end-to-end, the end-to-end network can be divided into multiple smaller measurement segments to measure whether there is packet loss and delay between every two network devices, and further locate the location of the network element that affects network performance.

[0088] The following is an example of an application scenario of the embodiment of the present application.

[0089] When IFIT is actually deployed, a target flow is usually identified by a five-tuple as a flow ID. For example, a home PC accesses a data center via IPv4. The data flow of the user's cloud service will pass through the home network, access network, metropolitan area network, and backbone network before reaching the data center network.

[0090] The original intention of IFIT is to support end-to-end and segment-by-segment measurement, and to identify a service through a flow ID, so that both ends can be configured, or both ends and some intermediate nodes can be configured. However, in actual operation, operators may manage the network in different domains, deploy independent controllers in each domain, and different domains also have corresponding boundaries. Each domain has the need to enable IFIT measurement independently.

[0091] For example, see Figure 2 , Figure 2 It is a schematic diagram of an application scenario provided by an embodiment of the present application. Figure 2 This is an example of deploying two controllers. Figure 2 In the scenario shown, the target flow will pass through the areas managed by two controllers during the forwarding process.

[0092] Figure 2 The network shown in the figure deploys personal computers (PC), optical network terminals (ONT), optical line terminals (OLT), broadband network gateways (BNG), core routers (CR), provider edge (PE) devices, controller A, and controller B. PC and ONT are deployed at the edge of the home network, ONT and OLT are deployed at the edge of the access network, OLT, BNG, and CR are deployed at the edge of the metropolitan area network, and CR and PE devices are deployed at the edge of the backbone network.

[0093] Controller A manages the end-to-end measurement from the ONT user side to the PE device. The measurement points within the scope of controller A include Figure 2 The measurement points ①, ②, ③ and ④ in the diagram are shown in Figure 1. Measurement point ① is the interface of the ONT, measurement point ② is the interface of the OLT, measurement point ③ is the interface of the CR, and measurement point ④ is the interface of the PE device.

[0094] Controller B manages end-to-end measurements from the access network to the metropolitan area network. Controller A is connected to ONT, OLT, CR, and PE devices through the network. Controller B is connected to ONT, OLT, CR, and PE devices through the network. The measurement points within the scope of controller B include Figure 2 The measurement points A, B and C in the diagram are shown in FIG. Measurement point A is the interface of the ONT, measurement point B is the interface of the OLT, and measurement point C is the interface of the CR.

[0095] The flow granularity identified by controller A and controller B may be different. For example, for the identification of the source address, controller A may identify a 128-bit Global Unique Address (GUA) address, while controller B may identify a 64-bit prefix. In other words, controller A identifies a more fine-grained address bit number, while controller B identifies a coarser address prefix. Then in the uplink direction, controller B configures an ingress node at position A, and controller B sends an IFIT matching rule including a 64-bit prefix to the ingress node at position A, so as to configure position A to match data packets based on the 64-bit prefix and add an IFIT measurement header to the data packet. The data packet received by position A may include a packet including an IFIT measurement header sent by position ①, and the source address of the packet can also match the matching rule sent by controller B, resulting in an error. In this case, a different flow ID from position ① needs to be configured for position A to identify it as another service flow.

[0096] However, at position B or position ②, if the IFIT measurement is performed by dynamically generating the reverse flow, the target flow can be generated based on the matching rules sent by controller A or the matching rules sent by controller B at position B or position ②. If two controllers send matching rules to the same network device, it may cause incorrect measurement results. Specifically, in the downstream direction, the flow ID cannot be accurately defined according to the five-tuple, which may cause the flow ID carried in the IFIT measurement header of the message to be incorrect. For example, the ID of flow A should be added to the flow ID field in the IFIT measurement header of the message, but the ID of flow B is added to the flow ID field in the IFIT measurement header of the message, resulting in confusion in the measurement results of flow A or flow B. Even if static configuration is used, the flow ID in the IFIT measurement header of the data flow generated by the network device may be incorrect.

[0097] In summary, in the process of IFIT flow measurement, in the scenario where a data flow passes through areas managed by multiple controllers, if the flow ID is defined only based on the five-tuple, it is easy for the matching rule issued by one controller to have an inclusion relationship with the matching rule issued by another controller. When matching based on the matching rules of different controllers, it is easy to cause confusion, resulting in errors in the flow identification in the IFIT measurement header, which brings deployment difficulties to IFIT measurement. The existence of an inclusion relationship between rules means that the traffic range matched by a certain rule includes the traffic range matched by another rule. Take the matching based on IPv4 address as an example. For example, controller A issues matching rule A, and controller B issues matching rule B. Matching rule A matches IP address 10.10.XX, and matching rule B matches IP address 10.10.10.X. Then rule A includes rule B, because the IP address range matched by rule B is a subset of the IP address range matched by rule A. Then, if traffic matching is performed according to rule A to generate traffic containing the IFIT measurement head, traffic matching the 10.10.10.X address will be included in the scope of rule A and cannot be correctly matched by rule B, resulting in an error.

[0098] Based on this, in an embodiment of the present application, a level identifier is added to the IFIT measurement head, and the level identifier is used to indicate the IFIT measurement level, which helps to achieve graded measurement, thereby solving the problem of flow identification errors in the IFIT measurement head to a certain extent, and further reducing the probability of errors in IFIT measurements.

[0099] In order to carry the level identification, a level identification field is added to the IFIT measurement head, and the level identification is carried through the level identification field. In a possible implementation, the FIH of the IFIT measurement head includes the level identification field. For example, the reserved field in the FIH is used as the level identification field. For example, please refer to the attached Figure 1 The reserved fields available in the original FIH include reserved field 401, reserved field 402 and reserved field 403. Reserved field 401 is bit 22 of the first long word in FIH, reserved field 402 is bit 23 of the second long word in FIH, and reserved field 403 is bit 28 to bit 31 of the second long word in FIH. At least one of reserved field 401, reserved field 402 or reserved field 403 can be used to carry the level identifier. Among them, long word refers to the basic unit of the message header, and a long word contains 32 bits of data.

[0100] In another possible implementation, the flow ID field 404 and the flow ID ext field 405 of the FIH have a total of 40 bits, and some bits in the flow ID or flow ID ext field can be used as the level identification field. In other words, at least one of the flow ID field 404 or the flow ID ext field 405 carries the level identification.

[0101] Optionally, the level identifier occupies 3 bits, so that the value of the level identifier can include 8 levels from level 0 to level 7, which is sufficient from the perspective of current network classification.

[0102] The following is combined with Figure 3 The following is an example of the method flow for implementing IFIT grading measurement based on grade identification. Figure 3 It is a flow chart of an IFIT measurement method provided in an embodiment of the present application.

[0103] Attached Figure 3 The method shown includes the following steps S310 to S350.

[0104] S310: The controller configures a level identifier for the network device.

[0105] In some embodiments, the control plane of IFIT supports configuring a level identifier when configuring an IFIT measurement instance to a network device. In the scenario of domain management, an IFIT measurement area corresponds to one or more level identifiers, so different IFIT measurement areas can be distinguished by different level identifiers. Taking the division of IFIT measurement areas according to different network functions as an example, for example, the IFIT measurement area includes four areas: home network, access network, metropolitan area network and backbone network. The home network uses a first level identifier, the access network uses a second level identifier, the metropolitan area network uses a third level identifier, and the backbone network uses a fourth level identifier. In one possible implementation, different controllers are configured with different level identifiers, and each level identifier corresponds to a controller.

[0106] Since different IFIT measurement areas use different level identifiers, the matching rules of different domains can be distinguished based on the level identifiers. In addition, the levels can be used for hierarchical management between controllers. Then when matching data packets, network devices can match by level, such as giving priority to matching data packets containing low-level matching rules, thereby reducing the probability of errors.

[0107] The class identifier can be configured to the network device together with the matching rule of IFIT. For example, the controller sends the matching rule to the network device as the ingress node of IFIT measurement, and the matching rule includes the parameters of the target flow and the class identifier. The matching rule indicates that when the received data message matches the parameters of the target flow, the IFIT measurement header including the class identifier is added, and the network performance parameters corresponding to the target flow are counted.

[0108] For example, combined with Figure 2 From the scenario shown, Figure 2 The scenario shown includes controller A and controller B. Controller A sends a first matching rule to a network device deployed at position ①. The first matching rule includes a first level and parameters of target flow A. Controller B sends a second matching rule to the network device deployed at position A. The second matching rule includes a second level and parameters of target flow B. The first level corresponds to an IFIT measurement area from the ONT user side to the PE device, and the second level corresponds to an IFIT measurement area from the access network to the metropolitan area network. The first level and the second level are different.

[0109] For the protocol based on the configuration level identification, for example, the controller sends a NETCONF message to the network device, and the NETCONF message includes the parameters of the data flow and the level identification. For another example, the controller sends a Simple Network Management Protocol (SNMP) message to the network device, and the SNMP message includes the parameters of the data flow and the level identification.

[0110] In one possible implementation, a corresponding level identifier is assigned to each domain in the network that requires IFIT measurement, and the network device saves the correspondence between the domain and the level identifier. Based on the domain in which the network device is located and the correspondence, the level identifier corresponding to the domain is determined so that the level identifier corresponding to the domain is added to the IFIT measurement head.

[0111] In a possible implementation, when configuring the level identifier for each network device in the IFIT measurement area, if the network deployment location of a network device is closer to the ingress node or the egress node, the level identifier configured for the network device is larger, and if the network deployment location of a network device is farther away from the ingress node and the egress node, the level identifier configured for the network device is smaller. In other words, the closer to the two ends, the higher the level can be defined. Since the devices closer to the two ends can more directly perceive the performance changes of the service traffic, the definition of the level helps to meet the performance measurement requirements of more fine-grained.

[0112] The following is an example of the process of performing IFIT measurement level processing on a network device supporting IFIT in conjunction with S320 to S350.

[0113] S320, the network device receives data packet A.

[0114] S330, the network device obtains data packet B based on data packet A, where data packet B includes data packet A and an IFIT measurement header, and the IFIT measurement header includes a level identifier.

[0115] This embodiment involves a data message before adding a level identifier and a data message after adding a level identifier. In order to distinguish different data messages, "data message A" and "data message B" are used to distinguish and describe different data messages.

[0116] When the network device acts as an entry node, it supports marking the level of a certain flow in the IFIT measurement header according to the control plane requirements. Specifically, the network device receives data message A, parses the content of the specified field in data message A (for example, at least one of the source IP address, source IP network segment, source port, destination IP address, destination IP network segment, destination port, protocol type, DSCP, VPN, next hop parameter or peer IPv4 / IPv6 address), and uses the content of the specified field to match the parameters of the target flow in the matching rule; if the content of the specified field in data message A matches the parameters of the target flow, the network device generates an IFIT measurement header based on the level identifier corresponding to the parameters of the target flow in the matching rule; the network device adds the IFIT measurement header to data message A to obtain data message B. Data message B includes the IFIT measurement header; the IFIT measurement header includes the level identifier. Alternatively, data message A includes IFIT measurement header A, which does not include a level identifier. The network device responds to the content of a specified field in data message A and the parameters of the target flow by adding a level identifier corresponding to the parameters of the target flow to IFIT measurement header A to obtain data message B, which includes IFIT measurement header B, which includes the level identifier.

[0117] Since the inlet node adds a level identifier in the IFIT measurement head, it is convenient for the intermediate node and the outlet node to perform hierarchical measurement based on the level identifier in the IFIT measurement head.

[0118] In the case where data message A already includes an IFIT measurement header and the IFIT measurement header contains a level identifier, the network device can match the content of the specified field in data message A with the parameters of the target flow in the matching rule; if the content of the specified field in data message A matches the parameters of the target flow in the matching rule, the network device can compare the level identifier contained in the IFIT measurement header with the level identifier corresponding to the parameters of the target flow. When the level identifier contained in the IFIT message header is greater than the level identifier in the matching rule (that is, the data message already contains an IFIT measurement header of a higher level), the network device has the following two processing methods: method A and method B.

[0119] Method A: No new IFIT measurement head is inserted into the network device. In the end-to-end IFIT measurement, there is always only one IFIT measurement head.

[0120] In addition, when the network device as an egress node generates a reverse flow, the network device generates a reverse flow of a higher level first according to the order of the levels from high to low.

[0121] In an exemplary scenario, a first matching rule and a second matching rule are configured on a network device that serves as an egress node. The first matching rule comes from a controller of a first domain, and the second matching rule comes from a controller of a second domain. The first matching rule includes parameters of target flow A and a first level identifier. The second matching rule includes parameters of target flow B and a second level identifier. The first level identifier is greater than the second level identifier (i.e., the first level identifier is higher than the second level identifier).

[0122] In combination with the above scenario, in a possible implementation of preferentially generating a high-level reverse flow, the egress node uses the content of a specified field of the data message A of the reverse flow (for example, at least one of the source IP address, source IP network segment, source port, destination IP address, destination IP network segment, destination port, protocol type, DSCP, VPN, next hop parameter, peer IPv4 / IPv6 address, and the content in the IFIT measurement header) to match the parameters of the target flow A; if the content of the specified field in the data message A matches the parameters of the target flow A, the egress node generates an IFIT measurement header including a first-level identifier, and the egress node adds the IFIT measurement header including the first-level identifier to the data message A of the reverse flow. If the content of the specified field in the data message A does not match the parameters of the target flow A, the egress node further uses the content of the specified field in the data message A to match the parameters of the target flow B; if the content of the specified field in the data message A matches the parameters of the target flow B, the egress node generates an IFIT measurement header including a second-level identifier, and the egress node adds the IFIT measurement header including the second-level identifier to the data message A of the reverse flow.

[0123] In another possible implementation of preferentially generating a high-level reverse flow, the egress node uses the content of a specified field of data message A of the reverse flow to match the parameters of target flow A and the parameters of target flow B respectively; if the content of the specified field in data message A matches the parameters of target flow A, and the content of the specified field in data message A matches the parameters of target flow B, the egress node compares the first level identifier with the second level identifier; the egress node selects the largest level identifier from the first level identifier and the second level identifier, that is, the first level identifier represents the highest level, generates an IFIT measurement header including the first level identifier, and the egress node adds the IFIT measurement header including the first level identifier to data message A of the reverse flow.

[0124] Attach Figure 2 Taking the scenario shown as an example, for the OLT where the measurement point B is located, the OLT receives the matching rule A configured by the controller A and the matching rule configured by the controller B. Matching rule A includes the parameters of stream A and the level identifier A. Matching rule B includes the parameters of stream B and the level identifier B. Level identifier A is greater than level identifier B. The OLT uses the data message to match the parameters of stream A. If the data message matches the parameters of stream A, the level identifier A is added to the data message. If the data message does not match the parameters of stream A, the data message is further matched with the parameters of stream B. If the data message matches the parameters of stream B, the level identifier B is added to the data message. Alternatively, the data message is matched with the parameters of stream A and the parameters of stream B at the same time. In response to the data message matching the parameters of stream A and stream B, the OLT selects the largest level identifier from the level identifier A and the level identifier B, and adds the selected level identifier to the IFIT measurement header.

[0125] The egress node preferentially adds the highest level to the IFIT measurement head, so that the downstream nodes of the reverse flow can use the target flow parameters in the matching rules containing the highest level for matching, reducing the probability of errors caused by the downstream nodes of the reverse flow matching the target flow parameters corresponding to the low level, and improving accuracy. In addition, it avoids the increase in the number of level identifiers and the number of added IFIT measurement heads as the number of controllers increases, reducing the transmission overhead of the message.

[0126] Mode B: The network device adds an IFIT measurement header B to the data message A that already contains the IFIT measurement header A, and the level identifier in the IFIT measurement header B is lower than the level identifier in the IFIT measurement header A. In other words, the inserted IFIT measurement header is a lower-level IFIT measurement header than the IFIT measurement header included in the data message itself.

[0127] IFIT measurement head B and IFIT measurement head A can be arranged in order of level in the message. Different IFIT measurement heads can be arranged in order from small to large level identifiers, or can be arranged in order from large to small level identifiers. In one possible implementation, IFIT measurement head B is encapsulated in the outer layer of IFIT measurement head A. In another possible implementation, IFIT measurement head B is encapsulated in the inner layer of IFIT measurement head A. Since different IFIT measurement heads are arranged in order, the processing complexity is reduced.

[0128] Through method B, multiple IFIT measurement heads of different levels are nested and inserted. Since they carry multiple levels, it is convenient to distinguish the matching rules of different domains based on the levels during matching, and then perform IFIT measurements on different domains separately, so that the controller of each domain can obtain the measurement results of each network device in the domain separately, reducing the probability of error in IFIT measurements of different domains.

[0129] When generating a reverse flow, the network device as an egress node can sequentially generate IFIT measurement headers containing level identifiers according to the order of level.

[0130] In a possible implementation of preferentially generating a high-level reverse flow, a first matching rule and a second matching rule are configured on a network device serving as an egress node. The first matching rule comes from a controller of a first domain, and the second matching rule comes from a controller of a second domain. The first matching rule includes parameters of a target flow A and a first level identifier. The second matching rule includes parameters of a target flow B and a second level identifier. The first level identifier is greater than the second level identifier (i.e., the first level identifier is higher than the second level identifier).

[0131] The egress node parses the content of the specified field in the data message A of the reverse flow (for example, at least one of the source IP address, source IP network segment, source port, destination IP address, destination IP network segment, destination port, protocol type, DSCP, VPN, next hop parameter, peer IPv4 / IPv6 address, and the content in the IFIT measurement header), and uses the content of the specified field to match the parameters of the target flow A and the parameters of the target flow B; if the content of the specified field in the data message A matches the parameters of the target flow A, and the content of the specified field in the data message A matches the parameters of the target flow B, the network device generates an IFIT measurement header A based on the first level identifier, and generates an IFIT measurement header B based on the second level identifier, the IFIT measurement header A includes the first level identifier, and the IFIT measurement header B includes the second level identifier. The network device adds IFIT measurement header A and IFIT measurement header B to the data message A. For example, the network device sequentially encapsulates IFIT measurement header A and IFIT measurement header B into the outer layer of the data message A based on the order of the first level identifier and the second level identifier.

[0132] When a network device acts as an ingress node, if the received data message already contains an IFIT measurement header, and the level identifier in the IFIT measurement header is the same as the level identifier in the matching rule, the network device reports an IFIT error event. Specifically, if the data message already contains an IFIT measurement header of the same level, it indicates that controllers in different domains are configured with the same level. This situation will cause the network device to be unable to distinguish, which is an unreasonable network domain planning. Therefore, by reporting an error event, it is convenient to correct the level in time.

[0133] When the network device acts as an ingress node, if the received data message already contains an IFIT measurement header, and the level identifier in the IFIT measurement header is smaller than the level identifier in the matching rule (ie, the data message contains a low level identifier), the network device reports an IFIT error event.

[0134] S340, the network device sends data message B.

[0135] S350: The network device sends the measurement result to the controller.

[0136] The measurement result includes network performance data corresponding to the target flow, an identifier of the target flow and a level identifier. Optionally, the measurement result also includes a device identifier of the network device, a timestamp of collecting the measurement result and a direction of the target flow.

[0137] In some embodiments, support is provided when processing IFIT measurement heads, such as delay, jitter or packet loss rate measurement. Processing level identification. For example, in the case of adopting method A to identify the measurement level, the measurement result reported by the network device includes the level identification.

[0138] After receiving the measurement result sent by the network device, the controller can compare the received level identifier with the level identifier pre-configured for the network device. If the received level identifier is inconsistent with the level identifier pre-configured for the network device, it is determined that the measurement result is incorrect and the measurement result is discarded. By using the level identifier for verification, the probability of confusion is further reduced.

[0139] When using method B to identify measurement levels, a data packet may be identified as multiple flows. The network device measures the flows corresponding to each level identifier separately and counts the obtained network performance data (such as the number of packets, latency, packet loss rate or jitter) into the flows corresponding to the level.

[0140] For example, the data message includes an IFIT measurement header A and an IFIT measurement header B, the IFIT measurement header A includes an identifier of the target flow A and a first level identifier, and the IFIT measurement header B includes an identifier of the target flow B and a second level identifier. In response to the data message matching the first matching rule corresponding to the first level identifier and the second matching rule corresponding to the second level identifier, the network device counts network performance data for the target flow A to obtain first network performance data. The network device counts network performance data for the target flow B to obtain second network performance data. The network device obtains a first measurement result based on the first network performance data, the first measurement result including the identifier of the target flow A, the first network performance data, and the corresponding relationship between the first level identifier. The network device obtains a second measurement result based on the second network performance data, the second measurement result including the identifier of the target flow B, the second network performance data, and the corresponding relationship between the second level identifier. The network device sends the first measurement result and the second measurement result to the controller. After receiving the first measurement result and the second measurement result, the controller obtains the first level identifier from the first measurement result and the second level identifier from the second measurement result. If the first level identifier is the level identifier configured by the device, the first measurement result is saved and the second measurement result is discarded. If the second level identifier is the level identifier configured for the device, the second measurement result is saved and the first measurement result is discarded.

[0141] According to the two processing methods, the results seen on the data surface are as follows Figure 4 shown.

[0142] Attached Figure 4 Level 1 and level 4 are specific examples of two different measurement levels, and level 4 is higher than level 1. Flow 1 and flow 2 are specific examples of two target flows. Level 1 and level 4 are configured to network devices by controllers in different domains. For example, the first controller of the first domain sends matching rule 1 to the ingress node (node ​​2) of flow 1, and matching rule 1 includes parameters of flow 1, flow level 1, and an instruction to add an IFIT message header. The first controller sends matching rule 2 to the egress node (node ​​3) of flow 1, and matching rule 2 includes parameters of flow 1, level 1, and an instruction to strip the IFIT message header.

[0143] Afterwards, the second controller of the second domain sends matching rule 3 to the ingress node (node ​​1) of flow 2, where matching rule 3 includes parameters of flow 2, level 4, and an instruction to add an IFIT header. The second controller sends matching rule 4 to the egress node (node ​​4) of flow 2, where matching rule 4 includes parameters of flow 2, level 4, and an instruction to strip the IFIT header.

[0144] In the case of adopting mode A, in the process of processing the data message of flow 1, node 1 receives the data message of flow 1, and in response to the data message not matching the parameters of flow 2 in matching rule 3, node 1 does not add the IFIT measurement header including the level, and forwards the data message 11a not including the IFIT measurement header to node 2. In response to the received data message 11a matching the parameters of flow 1 in matching rule 1, node 2 adds the IFIT measurement header including level 1 to data message 11a to obtain data message 12a, and the IFIT measurement header of data message 12a includes level 1; node 2 sends data message 12a to node 3. In addition, node 2 counts the network performance data of flow 1 based on data message 11a. Node 3 receives data message 12a. In response to the data message 12a matching the parameters of flow 1 in matching rule 2, node 3 counts the network performance data of flow 1 based on data message 12a. In addition, in response to the instruction in matching rule 2 indicating to strip the IFIT header, node 3 strips the IFIT measurement header in data message 12a to obtain data message 13a. Node 3 sends data message 13a to node 4. Node 4 receives data message 13a, and in response to data message 13a not matching the parameters of flow 2 in matching rule 4, forwards data message 14a that does not include the IFIT measurement header.

[0145] In the case of adopting mode A, in the process of processing the data message of flow 2, node 1 receives the data message of flow 2. In response to the data message matching the parameters of flow 2 in matching rule 3, node 1 adds an IFIT measurement header including level 4 to obtain data message 21a. The FIT measurement header of data message 21a includes level 4. Node 1 forwards data message 21a to node 2, and node 1 counts network performance data of flow 2 based on the data message. In response to the fact that level 4 in the IFIT measurement header of data message 21a is higher than level 1 in matching rule 1, node 2 cancels the insertion of the IFIT measurement header including level 1, and node 2 sends data message 22a to node 3. In addition, node 2 counts network performance data of flow 2 based on data message 21a. Node 3 receives data message 22a. In response to the fact that level 4 in the IFIT measurement header of data message 22a is higher than level 1 in matching rule 2, node 3 cancels the stripping of the IFIT measurement header, and sends data message 23a to node 4. In addition, node 3 counts network performance data of flow 2 based on data message 22a. Node 4 receives data message 23a, and in response to data message 23a matching the parameters of flow 2 in matching rule 4, strips the IFIT measurement header in data message 23a to obtain data message 24a. Node 4 also counts network performance data of flow 2 based on data message 23a.

[0146] In the case of adopting mode B, in the process of processing the data message of flow 1, node 1 receives the data message of flow 1. In response to the data message not matching the parameters of flow 2 in matching rule 3, node 1 does not add the IFIT measurement header including the level, and forwards the data message 11b not including the IFIT measurement header to node 2. In response to the received data message 11b matching the parameters of flow 1 in matching rule 1, node 2 adds the IFIT measurement header including the level 1 to the data message 11b, and obtains data message 12b, and the IFIT measurement header of the data message 12b includes the level 1. In addition, node 2 counts the network performance data of flow 1 based on data message 11b. Node 3 receives data message 12b. In response to the data message 13b matching the parameters of flow 1 in matching rule 2, node 3 counts the network performance data of flow 1 based on data message 13b. In addition, in response to the instruction in matching rule 2 indicating to strip the IFIT message header, node 3 strips the IFIT measurement header in data message 13b, and obtains data message 14b. Node 3 sends a data message 14b to node 4.

[0147] In the case of adopting mode B, in the process of processing the data message of flow 2, node 1 receives the data message of flow 2. In response to the data message matching the parameters of flow 2 in matching rule 3, node 1 adds an IFIT measurement header A including level 4 to obtain data message 21b, which includes the first FIT measurement header. Node 1 forwards data message 21b to node 2, and node 1 collects network performance data of flow 2 based on the data message. In response to the data message 21b matching the parameters of flow 1 in matching rule 1, node 2 further inserts an IFIT measurement header B including level 1 into data message 21b to obtain data message 22b, which includes IFIT measurement header A and IFIT measurement header B, IFIT measurement header A includes level 4, and IFIT measurement header B includes level 1. In addition, node 2 collects network performance data of flow 1 and network performance data of flow 2 based on data message 21b. Node 3 receives data message 23b. Node 3 collects statistics of network performance data of flow 1 and network performance data of flow 2 based on data message 23b. Node 3 responds to data message 23b and the parameters of flow 1 in matching rule 2, strips IFIT measurement header B from data message 23b, thereby removing level 1, and obtains data message 24b, data message 24b includes IFIT measurement header A, and IFIT measurement header A includes level 4. Node 3 sends data message 24b to node 4.

[0148] The method provided in this embodiment, by adding a level identifier to the data message, is conducive to the large-scale deployment of IFIT in the telecommunications network. Devices and controllers at different network levels can implement IFIT domain measurement based on the range manageable by the network controller.

[0149] Attached Figure 5 : is a structural diagram of an IFIT measurement device 500 provided in an embodiment of the present application. The device 500 is provided in a network device, and the device includes:

[0150] The receiving unit 501 is configured to receive a first data message;

[0151] an obtaining unit 502, configured to obtain a second data packet based on the first data packet in response to a parameter match between the first data packet and the first target flow, wherein the second data packet includes the first data packet and a first IFIT measurement header, the first IFIT measurement header includes a first flow identifier and a first level identifier, the first flow identifier is used to identify the first target flow, and the first level identifier corresponds to the first IFIT measurement area;

[0152] The sending unit 503 is used to send a second data packet, and based on the first data packet, count the network performance data corresponding to the first target flow, and send the first IFIT measurement result to the first controller. The first controller is deployed in the first IFIT measurement area. The first IFIT measurement result includes the network performance data corresponding to the first target flow, the first flow identifier and the first level identifier.

[0153] In some embodiments, the first data message includes a second IFIT measurement header, the second IFIT measurement header includes a second level identifier, the second level identifier is greater than the first level identifier, the second level identifier corresponds to a second IFIT measurement area, and the second data message also includes a second IFIT measurement header.

[0154] In some embodiments, the second IFIT measurement head further includes a second flow identifier, the second flow identifier is used to identify the second target flow, and the device further includes: a statistical unit, which is used to collect statistics of network performance data corresponding to the second target flow based on the first data message;

[0155] The sending unit 503 is also used to send a second IFIT measurement result to the first controller or the second controller, the second controller is deployed in the second IFIT measurement area, and the second IFIT measurement result includes network performance data corresponding to the second target flow, a second flow identifier and a second level identifier.

[0156] In some embodiments, the first IFIT measurement head and the second IFIT measurement head in the second data message are arranged in order of magnitude of the level identifiers.

[0157] In some embodiments, the first target flow is a reverse flow, and an obtaining unit 502 is used to match the parameters of the first data packet with the third target flow, the third level identifier corresponding to the third target flow is greater than the first level identifier, and the third level identifier corresponds to the third IFIT measurement area; in response to the mismatch between the parameters of the first data packet and the third target flow, the first data packet is matched with the parameters of the first target flow; in response to the matching of the parameters of the first data packet with the first target flow, a first IFIT measurement header is added to the first data packet to obtain a second data packet.

[0158] In some embodiments, the first target flow is a reverse flow, and an obtaining unit 502 is used to match the first data message with the parameters of the first target flow and the parameters of the third target flow respectively, the third level identifier corresponding to the third target flow is smaller than the first level identifier, and the third level identifier corresponds to the third IFIT measurement area; in response to the first data message matching the parameters of the first target flow and the parameters of the second target flow, a maximum level identifier is selected from the first level identifier and the third level identifier to obtain a first level identifier; based on the first level identifier, a first IFIT measurement header is added to the first data message to obtain a second data message.

[0159] In some embodiments, the receiving unit 501 is further configured to receive a third data message, the third data message includes a third IFIT measurement header, and the third IFIT measurement header includes a third level identifier;

[0160] The sending unit 503 is further configured to report an IFIT error event in response to the third level identifier being equal to the first level identifier or the third level identifier being less than the first level identifier.

[0161] In some embodiments, the first IFIT measurement header includes a reserved field, which includes a first level identifier; or, the first IFIT measurement header includes a flow ID field, which includes a first level identifier; or, the first IFIT measurement header includes a flow ID extension flow ID ext field, which includes a first level identifier.

[0162] In some embodiments, the receiving unit 501 is further configured to receive an IFIT matching rule from the first controller, where the IFIT matching rule includes a parameter of the first target flow and a first level identifier.

[0163] Attached Figure 5 The described device embodiments are merely illustrative. For example, the division of the above-mentioned units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. The functional units in the various embodiments of the present application may be integrated into a processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The various units in the device 500 are implemented in whole or in part by software, hardware, firmware, or any combination thereof.

[0164] Attached Figure 6 It is a structural diagram of a network device 800 provided in an embodiment of the present application.

[0165] The network device 800 includes a processor 801 , a memory 802 , and at least one network interface 803 .

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

[0167] The memory 802 is, for example, a read-only memory (ROM) or other static storage device that can store static information and instructions, a random access memory (RAM) or other dynamic storage device that can store information and instructions, 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 thereto. Optionally, the memory 802 exists independently and is connected to the processor 801 through the internal connection 804. Alternatively, the memory 802 and the processor 801 are optionally integrated together.

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

[0169] In some embodiments, the processor 801 includes one or more CPUs, such as Figure 6 CPU0 and CPU1 are shown in the figure.

[0170] In some embodiments, the network device 800 optionally includes multiple processors, such as the attached Figure 6 801 and processor 805 are shown in FIG. Each of these processors is, for example, a single-core processor (single-CPU), or a multi-core processor (multi-CPU). The processor here optionally refers to one or more devices, circuits, and / or processing cores for processing data (such as computer program instructions).

[0171] In some embodiments, the network device 800 further includes an internal connection 804. The processor 801, the memory 802, and the at least one network interface 803 are connected via the internal connection 804. The internal connection 804 includes a path to transmit information between the above components. Optionally, the internal connection 804 is a single board or a bus. Optionally, the internal connection 804 is divided into an address bus, a data bus, a control bus, etc.

[0172] In some embodiments, the network device 800 further includes an input / output interface 806. The input / output interface 806 is connected to the internal connection 804.

[0173] Optionally, the processor 801 implements the method in the above embodiment by reading the program code stored in the memory 802, or the processor 801 implements the method in the above embodiment by the program code stored internally. In the case where the processor 801 implements the method in the above embodiment by reading the program code stored in the memory 802, the memory 802 stores the program code 810 that implements the method provided in the embodiment of the present application.

[0174] For more details on how the processor 801 implements the above functions, please refer to the descriptions in the previous method embodiments, which will not be repeated here.

[0175] The various embodiments in this specification are described in a progressive manner, and the same or similar parts between the various embodiments can be referenced to each other, and each embodiment focuses on the differences from other embodiments.

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

[0177] The terms "first" and "second" in the description and claims of the embodiments of the present application are used to distinguish different objects, rather than to describe the specific order of the objects, and cannot be understood as indicating or implying relative importance. For example, the first level identifier and the second level identifier are used to distinguish different level identifiers, rather than to describe the specific order of the level identifiers, and cannot be understood as the first level identifier being more important than the second level identifier.

[0178] In the embodiments of the present application, unless otherwise specified, "at least one" means one or more, and "a plurality" means two or more. For example, a plurality of level identifiers means two or more level identifiers.

[0179] The above embodiments can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, 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 loading and executing computer program instructions on a computer, the process or function described in accordance with the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network or other programmable device. The computer instructions can 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 can be transmitted from a website site, a computer, a server or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or a data center that includes one or more available media integrations. Available media can be magnetic media, (e.g., floppy disk, hard disk, tape), optical media (e.g., DVD), or semiconductor media (e.g., solid-state hard disk Solid State Disk (SSD)), etc.

[0180] The above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, a person skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features may be replaced by equivalents. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the scope of the technical solutions of the embodiments of the present application.

Claims

1. An IFIT measurement method, characterized in that: The method comprises: The network device receives a first data message; In response to the first data packet matching the parameters of the first target flow, the network device obtains a second data packet based on the first data packet, the second data packet includes the first data packet and a first IFIT measurement header, the first IFIT measurement header includes a first flow identifier and a first level identifier, the first flow identifier is used to identify the first target flow, and the first level identifier corresponds to a first IFIT measurement area; The network device sends the second data packet, and collects network performance data corresponding to the first target flow based on the first data packet; The network device sends a first IFIT measurement result to a first controller, where the first controller is deployed in the first IFIT measurement area. The first IFIT measurement result includes network performance data corresponding to the first target flow, the first flow identifier, and the first level identifier.

2. The method according to claim 1, characterized in that The first data message includes a second IFIT measurement header, the second IFIT measurement header includes a second level identifier, the second level identifier is greater than the first level identifier, the second level identifier corresponds to a second IFIT measurement area, and the second data message also includes the second IFIT measurement header.

3. The method according to claim 2, characterized in that The second IFIT measurement head further includes a second flow identifier, and the second flow identifier is used to identify a second target flow. The method further includes: The network device collects statistics of network performance data corresponding to the second target flow based on the first data packet; The network device sends a second IFIT measurement result to the first controller or the second controller, the second controller is deployed in the second IFIT measurement area, and the second IFIT measurement result includes network performance data corresponding to the second target flow, the second flow identifier and the second level identifier.

4. The method according to any one of claims 1 to 3, characterized in that The first IFIT measurement head and the second IFIT measurement head in the second data message are arranged in sequence according to the size of the level identifiers.

5. The method according to any one of claims 1 to 4, characterized in that The first target flow is a reverse flow, and the network device obtains a second data message based on the first data message, including: The network device matches the first data message with a parameter of a third target flow, a third level identifier corresponding to the third target flow is greater than the first level identifier, and the third level identifier corresponds to a third IFIT measurement area; The network device matches the first data packet with the parameter of the first target flow in response to the first data packet not matching the parameter of the third target flow; In response to the first data packet matching the parameters of the first target flow, the network device adds the first IFIT measurement header to the first data packet to obtain the second data packet.

6. The method according to any one of claims 1 to 4, characterized in that The first target flow is a reverse flow, and the network device obtains a second data message based on the first data message, including: The network device matches the first data message with parameters of a first target flow and parameters of a third target flow respectively, a third level identifier corresponding to the third target flow is smaller than the first level identifier, and the third level identifier corresponds to a third IFIT measurement area; In response to the first data packet matching the parameters of the first target flow and the parameters of the second target flow, the network device selects a maximum level identifier from the first level identifier and the third level identifier to obtain the first level identifier; The network device adds the first IFIT measurement header to the first data message based on the first level identifier to obtain the second data message.

7. The method according to any one of claims 1 to 4, characterized in that The method further comprises: The network device receives a third data message, wherein the third data message includes a third IFIT measurement header, and the third IFIT measurement header includes a third level identifier; In response to the third level identifier being equal to the first level identifier or the third level identifier being smaller than the first level identifier, the network device reports an IFIT error event.

8. The method according to any one of claims 1 to 7, characterized in that The first IFIT measurement header includes a reserved field, and the reserved field includes the first level identifier; or, The first IFIT measurement header includes a flow ID field, and the flow ID field includes the first level identifier; or, The first IFIT measurement header includes a flow ID extension flow ID ext field, and the flow ID ext field includes the first level identifier.

9. The method according to any one of claims 1 to 8, characterized in that Before the network device receives the first data message, the method further includes: The network device receives an IFIT matching rule from the first controller, where the IFIT matching rule includes a parameter of the first target flow and the first level identifier.

10. An IFIT measurement device, characterized in that: The device is provided in a network device, and comprises: A receiving unit, configured to receive a first data message; an obtaining unit, configured to obtain a second data packet based on the first data packet in response to parameter matching between the first data packet and the first target flow, wherein the second data packet includes the first data packet and a first IFIT measurement header, the first IFIT measurement header includes a first flow identifier and a first level identifier, the first flow identifier is used to identify the first target flow, and the first level identifier corresponds to a first IFIT measurement area; A sending unit is used to send the second data packet, and based on the first data packet, count the network performance data corresponding to the first target flow, and send the first IFIT measurement result to the first controller. The first controller is deployed in the first IFIT measurement area. The first IFIT measurement result includes the network performance data corresponding to the first target flow, the first flow identifier and the first level identifier.

11. A network device, characterized in that: The network device comprises a processor and a network interface, the processor is used to execute instructions so that the network device executes the method according to any one of claims 1 to 9, and the network interface is used to receive or send messages.

12. A network system, characterized in that: The system comprises the network device according to claim 9 and a controller.

13. A computer-readable storage medium, characterized in that: The storage medium stores at least one instruction, and when the instruction is executed on a computer, the computer executes the method according to any one of claims 1 to 9.

Citation Information

Cited By

  • Network data monitoring method and related apparatus

    WO2026199975A1