Network measurement control method, system, device, storage medium and product
By introducing a compatibility mechanism between P4 programming and INT telemetry in the SRv6 network, and dynamically generating SID stacks and telemetry paths, the problem of inflexible SRv6 network status judgment is solved, enabling real-time monitoring of network status and rapid fault response, thereby improving network service quality.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- CHINA MOBILE (SUZHOU) SOFTWARE TECH CO LTD
- Filing Date
- 2026-02-28
- Publication Date
- 2026-05-29
AI Technical Summary
The existing SRv6 network telemetry and control system is incompatible with P4 programming technology, resulting in inflexible network status judgment, slow response speed, and impact on network service quality.
By establishing a compatibility mechanism between the control plane, P4 data plane, and telemetry plane, and using the P4 Runtime communication protocol to generate SID stacks and telemetry paths, the integration of SRv6 with P4 programming and INT telemetry is achieved, enabling dynamic monitoring of network status and optimization of forwarding paths.
It improved the real-time monitoring capabilities of network status and the speed of fault response, thus ensuring the quality of network services.
Smart Images

Figure CN122120176A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of communication technology, and in particular to a network measurement and control method, system, device, storage medium, and product. Background Technology
[0002] The SRv6 (Segment Routing IPv6) network telemetry control system improves telemetry flexibility by embedding telemetry commands in the first SID (Segment Identifier). When the telemetry function is executed by the first node, it can collect telemetry information from the first node and export the telemetry information to the collector node.
[0003] The existing SRv6 network telemetry and control system can integrate active and passive measurement technology INT (In-band Network Telemetry) to achieve network measurement and control. However, the existing SRv6 is not compatible with the emerging P4 programming technology and has obvious shortcomings in judging the current state of the network. This limits its application potential in realizing more flexible data plane control and may lead to slow system response when network congestion, micro-bursts and other faults occur, affecting the quality of network services. Summary of the Invention
[0004] To address the problems existing in the prior art, embodiments of the present invention provide a network measurement and control method, system, device, storage medium, and product, which achieves compatibility between SRv6 and P4 programming and INT telemetry system, improves the real-time monitoring capability of network status and fault response speed, and ensures network service quality.
[0005] In a first aspect, embodiments of the present invention provide a network measurement and control method applied to a network measurement and control system, the network measurement and control system including a control plane, a P4 data plane, and a telemetry plane, the method comprising: The control plane sends flow tables to the P4 data plane based on the P4 Runtime communication protocol; wherein, the flow table includes at least one SID stack and telemetry paths corresponding to each SID stack, and each SID stack corresponds to a service flow; The P4 data plane transmits the corresponding service streams according to the forwarding path indicated by the SID stack; The telemetry plane collects remote sensing data through the nodes indicated by the telemetry path corresponding to the SID stack; wherein, each node inserts its own collected telemetry data into its transmitted service flow, and uploads the telemetry data collected by all nodes to the control plane through the edge nodes of the telemetry path.
[0006] As an improvement to the above scheme, the SID stack generation process includes: Based on the network topology of the SRv6 network and the path weight information of the network topology in the current telemetry period, an adjacency matrix is constructed. Based on the adjacency matrix, the forwarding path of each service flow within the current telemetry period is determined; The nodes indicated by each forwarding path are mapped to segment identifiers, and the SID stacks of each service flow in the current telemetry period are generated based on the segment identifiers of the nodes in each forwarding path.
[0007] As an improvement to the above solution, the method further includes: Based on the telemetry data collected during the transmission of all service flows in the previous telemetry cycle, the network edges are weighted to obtain the path weight information for the current telemetry cycle. The network edge is used to indicate the link between adjacent nodes in the network topology, and the path weight information includes the weight of all network edges in the network topology.
[0008] As an improvement to the above scheme, the telemetry path arrangement process includes: Based on the forwarding paths of each service flow within the current telemetry cycle, construct the first path set; Based on a forwarding path of a business flow randomly selected from the first path set, the restricted shortest path algorithm is used to generate telemetry paths for each business flow within the current telemetry period with telemetry profit as the objective. The telemetry cost is used to indicate the streaming delay generated by collecting telemetry data on the telemetry path, the telemetry revenue is used to indicate the information gain obtained by collecting telemetry data on the telemetry path, and the telemetry profit is calculated based on the telemetry revenue and the telemetry cost.
[0009] As an improvement to the above scheme, based on a forwarding path of a service flow randomly selected from the first path set, a restricted shortest path algorithm is used to generate telemetry paths for each service flow within the current telemetry period, with telemetry profit as the objective. This includes: Based on the forwarding paths of each service flow within the current telemetry cycle, construct the first path set; A forwarding path for a service flow is randomly selected from the first path set, and the telemetry path of the currently selected forwarding path is calculated using the restricted shortest path algorithm. Add the initial telemetry path to the second path set, and delete the currently selected forwarding path from the first path set; Select the forwarding path of the next service flow from the first path set, and construct the candidate path set of the corresponding service flow using the restricted shortest path algorithm; the candidate path set includes at least one telemetry path of the corresponding service flow. A greedy algorithm is used to traverse the set of candidate paths to select the telemetry path with the highest telemetry profit and add it to the second path set, until all forwarding paths in the first path set are traversed.
[0010] As an improvement to the above scheme, a greedy algorithm is used to traverse the candidate path set to select the telemetry path with the highest telemetry profit from the candidate path set and add it to the second path set, including: The telemetry paths in the candidate path set are compared with the telemetry paths in the second path set in terms of path attributes, and the telemetry paths that meet the path constraints are selected from the candidate path set. For each selected telemetry path, calculate the telemetry profit of the telemetry path and the telemetry paths in the second path set, and store the telemetry path and the corresponding telemetry profit as key-value pairs in the telemetry profit dictionary; Select the telemetry path with the maximum telemetry profit from the key-value pairs of the telemetry profit dictionary, and use it as the optimal telemetry path for the corresponding business flow. Add the optimal telemetry path to the second path set and clear the telemetry profit dictionary.
[0011] Secondly, embodiments of the present invention provide a network measurement and control system, including a control plane, a P4 data plane, and a telemetry plane; The control plane is used to send flow tables to the P4 data plane based on the P4 Runtime communication protocol; wherein, the flow table includes at least one SID stack and telemetry paths corresponding to each SID stack, and each SID stack corresponds to a service flow; The P4 data plane is used to transmit the corresponding service flow according to the forwarding path indicated by the SID stack; The telemetry plane is used to collect remote sensing data through the nodes indicated by the telemetry path corresponding to the SID stack; wherein, each node inserts its own collected telemetry data into its transmitted service flow, and uploads the telemetry data collected by all nodes to the control plane through the edge nodes of the telemetry path.
[0012] Thirdly, embodiments of the present invention provide a network measurement and control device, comprising: a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor, wherein the processor executes the computer program to implement the network measurement and control method as described in any one of the first aspects.
[0013] Fourthly, embodiments of the present invention provide a computer-readable storage medium storing a computer program, wherein the computer program, when running, controls the device where the computer-readable storage medium is located to perform the network measurement control method as described in any one of the first aspects.
[0014] Fifthly, embodiments of the present invention provide a computer program product, including a computer program or instructions that, when executed by a processor, implement the network measurement and control method as described in any one of the first aspects.
[0015] Compared to existing technologies, this invention provides a network measurement and control method, system, device, storage medium, and product. This method utilizes a network measurement and control system for network measurement and control. The system includes a control plane, a P4 data plane, and a telemetry plane. The control plane sends flow tables to the P4 data plane based on the P4 Runtime communication protocol. Each flow table includes at least one SID stack and a corresponding telemetry path for each SID stack, with each SID stack corresponding to a service flow. The P4 data plane transmits the corresponding service flows according to the forwarding paths indicated by the SID stacks. The telemetry plane collects remote sensing data through nodes indicated by the telemetry paths corresponding to the SID stacks. Each node inserts its collected telemetry data into its transmitted service flows and uploads all the telemetry data collected by each node to the control plane through edge nodes of the telemetry paths. This invention achieves compatibility between SRv6 and P4 programming and the INT telemetry architecture, improving real-time network status monitoring capabilities and fault response speed, and ensuring network service quality. Attached Figure Description
[0016] To more clearly illustrate the technical solution of the present invention, the accompanying drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0017] Figure 1 This is a schematic diagram of the network architecture of the network measurement and control system provided in an embodiment of the present invention; Figure 2 This is a flowchart of a network measurement and control method provided in an embodiment of the present invention; Figure 3 This is a schematic diagram of the interaction between the control plane and the P4 data plane provided in an embodiment of the present invention; Figure 4This is a schematic diagram of the telemetry path orchestration process provided in an embodiment of the present invention; Figure 5 This is a structural block diagram of a network measurement and control system provided in an embodiment of the present invention; Figure 6 This is a structural block diagram of a network measurement and control device provided in an embodiment of the present invention. Detailed Implementation
[0018] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0019] It is understood that the various numerical designations used in the embodiments of this invention are merely for descriptive convenience and are not intended to limit the scope of this application. The order of the process numbers does not imply the order of execution; the execution order of each process should be determined by its function and internal logic.
[0020] In embodiments of the invention, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, without necessarily requiring or implying any such actual relationship or order between these entities or operations. The terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising" does not exclude the presence of additional identical elements in the process, method, article, or apparatus that includes said element. The term "a plurality or several" refers to two or more.
[0021] The following explains some terms and concepts involved in the embodiments of the present invention.
[0022] The P4 Runtime Controller is a software controller based on the P4 Runtime protocol. It controls the data plane of P4 programmable network devices and is a key component of the control plane in the SDN (Software Defined Networking) architecture. It interacts with P4 devices through a standardized API (Application Programming Interface) to achieve dynamic management and programmable control of network forwarding behavior.
[0023] See Figure 1 , Figure 1 This is a schematic diagram of the network architecture of a network measurement and control system provided in an embodiment of the present invention. The network measurement and control system (i.e., the SRv6-INT system) includes a control plane based on a custom controller, a P4 data plane programmable based on the P4 language, and a telemetry plane based on INT network monitoring.
[0024] The control plane consists of controllers written in Python. The controllers provide network management functions for the SRv6 network through a logically centralized network control plane. Administrators only need to develop the applications required by the network at the application layer to manage, optimize, and configure network resources, thereby realizing a flexible and controllable SRv6-INT system.
[0025] Understandably, the controller occupies the core of the entire system. It's a software program used to manage and control network traffic, and it's also an open platform that provides API interfaces, making it easy to write custom applications. For example, the controller has three main components: the southbound interface, the northbound interface, and the control plane. The southbound interface is the interface between the controller and network devices (such as software switches and virtual terminal devices in the P4 data plane). It collects topology information from the network devices and distributes traffic control policies to them. The northbound interface is the interface between the controller and higher-level applications. It provides structured data and traffic statistics to the higher-level applications. The control plane is the core of the controller, responsible for processing the received information and distributing control policies to the network devices accordingly.
[0026] To achieve better SRv6 network construction and telemetry design, in this embodiment of the invention, a custom controller based on the P4Runtime Controller is selected to centrally complete the operation of the control plane, thereby enabling the control plane to interact with the P4 data plane, facilitating the transmission and management of SRv6 data packets, and enabling the control of custom in-band network telemetry, achieving compatibility between SRv6 and P4 programming.
[0027] In this embodiment of the invention, the controller of the control plane includes: a network analysis module, an INT processing module, an INT path orchestration module, and a P4 switch interaction module; The network analysis module is used to analyze the overall network condition. For example, it uses an adjacency matrix to store the entire network topology and path weight information. The network analysis module is also used to generate the SID stack corresponding to the forwarding path (i.e., traffic path) of the service flow and identify the location of the host in the network.
[0028] The INT processing module is used to generate telemetry paths (i.e., INT path information), analyze network conditions, select the telemetry data to be collected (also known as INT metadata), and is also responsible for normalizing the telemetry data collected from the network and storing the normalized telemetry data in a local database for analysis by other modules.
[0029] The INT path orchestration module is used to orchestrate telemetry paths for all service flows within each telemetry cycle.
[0030] The P4 switch interaction module is used to dynamically transmit routing rules (such as flow tables containing a list of SIDs with several SID stacks) to the P4 data plane via the P4 Runtime communication protocol and the Thrift API (a remote procedure call interface for the P4 software switch program running under the Apache Thrift framework). The initial flow table is sent to the P4 data plane via the P4 Runtime communication protocol. After compiling the P4 program, P4information (P4 info) is generated, which can then be used to generate P4 Runtime information. Because the software switches within the P4 data plane perform flow table modifications and data collection operations via the Thrift API, the controller needs to obtain the specific port number of the corresponding switch before dynamically modifying the flow table via simple_switch_CLI when updating the flow table.
[0031] Understandably, P4 Runtime information serves as the rule-based basis for interaction between the control plane and the P4 data plane's software switches, defining the semantics and format of flow table operations to ensure that instructions can be correctly recognized. The simple_switch_CLI is the operation entry point based on the Thrift API and is the core tool for the controller to issue flow table modification instructions to software switches (such as the simple_switch switch).
[0032] The P4 data plane consists of multiple software switches and virtual terminal devices (collectively referred to as nodes) that support P4 programming. The SRv6-INT system utilizes BMv2 software switches to build the network topology, and developers implement the interaction between the controller and the P4 data plane through the P4 Runtime communication protocol. The control plane completes a series of processes, including SID stack distribution, SRv6 node selection, INT node selection, insertion of INT metadata (telemetry data), and transmission of SRv6 data packets (i.e., service flows), by issuing custom flow tables to match and activate the P4 programs inside the software switches (i.e., nodes).
[0033] Understandably, software switches generally serve as intermediate nodes for forwarding service flows within an SRv6 network, while virtual terminal devices generally serve as source nodes for initiating service flows and target nodes for receiving service flows.
[0034] The telemetry plane consists of multiple INT nodes in the P4 data plane and the INT processing module within the controller in the control plane. Nodes in the P4 data plane upload telemetry data based on the INT flag. Edge nodes upload the collected telemetry data to the controller. The controller performs network performance analysis based on the received telemetry data, determines the telemetry path and required telemetry content for the next telemetry cycle, and forms a monitoring closed loop.
[0035] Understandably, for each service flow, the controller can select several nodes from the nodes in the P4 data plane to form a forwarding path. Nodes on this forwarding path become SRv6 nodes. Simultaneously, it can select several nodes on this forwarding path to form a telemetry path. Nodes on this telemetry path become INT nodes. Edge nodes are used to indicate the terminal nodes of the forwarding path and / or telemetry path. INT nodes can be identified using the INT flag.
[0036] Based on the above-described network measurement and control system, this invention provides a network measurement and control method, such as... Figure 1 The network measurement and control method specifically includes: S11: The control plane sends a flow table to the P4 data plane based on the P4 Runtime communication protocol; wherein, the flow table includes at least one SID stack and a telemetry path corresponding to each SID stack, and each SID stack corresponds to a service flow; S12: The P4 data plane transmits the corresponding service flow according to the forwarding path indicated by the SID stack; S13: The telemetry plane collects remote sensing data through the nodes indicated by the telemetry path corresponding to the SID stack; wherein, each node inserts its own collected telemetry data into its transmitted service flow, and uploads the telemetry data collected by all nodes to the control plane through the edge nodes of the telemetry path.
[0037] In this embodiment of the invention, after the controller's control plane allocates forwarding paths (i.e., traffic paths) and telemetry paths for all service flows in the current telemetry period (hereinafter referred to as the current telemetry period), it pre-issues flow tables for all service flows in the current telemetry period to each node (such as a software switch) of the P4 data plane through the P4 Runtime communication protocol. The flow table includes the SID stacks of all service flows in the current telemetry period and the telemetry paths corresponding to each SID stack (existing in the form of INT flag bits). Among them, the SID stacks of multiple service flows are recorded in the form of SID list, and the telemetry paths of the service flows are indicated by the INT flag bits to the nodes used to collect telemetry data.
[0038] It is understandable that the SID stack is an ordered stack structure composed of the SIDs of a set of nodes arranged in the order of service flow forwarding, which indicates the node forwarding path of the service flow.
[0039] After receiving the flow table, each node in the P4 data plane performs a matching process to determine whether its own SID matches the SID in the SID stack of a certain service flow. If they match, it means that the node is a forwarding node for that service flow; otherwise, it means that the node is not a forwarding node for that service flow. At the same time, the P4 program inside the node (i.e., the software switch) is activated to complete a series of processes such as SID stack distribution, SRv6 node selection, INT node selection, INT data insertion, and SRv6 data packet transmission.
[0040] Understandably, during the transmission of the service flow, the source node first encapsulates the SID stack and the service flow into an SRv6 data packet. When the SRv6 data packet is forwarded in the network, the node only reads and uses the top SID of the SID stack as the next-hop destination address. Each time a node corresponding to a SID is reached, the node pops the top SID from the stack and uses the new top SID as the next-hop destination address. The above popping and forwarding operations are executed iteratively until the SID stack is empty, and the SRv6 data packet reaches the final destination node, completing the forwarding of the service flow.
[0041] Meanwhile, during SRv6 data packet forwarding, if the packet carries an INT flag indicating that a node is performing telemetry data collection (i.e., the INT flag is valid), then when performing SID stack forwarding, this node collects its own telemetry data while forwarding the SRv6 data packet. This includes service flow data quality data (such as flow forwarding latency, flow identifier, flow cumulative hop count, etc.), link transmission data (such as link latency, link packet loss rate, link jitter, etc.), and node status (such as node identifier, port number, port queue length, etc.). The collected telemetry data is then encapsulated into the SRv6 data packet and forwarded to the next-hop destination address. Finally, all collected telemetry data is uploaded to the control plane through the edge nodes of the telemetry path. If the packet carries an INT flag indicating that a node is not performing telemetry data collection (i.e., the INT flag is invalid), then this node performs packet forwarding but does not collect its own telemetry data.
[0042] like Figure 3 As shown, for a service flow initiated by source node H1, it is encapsulated as an SRv6 data packet, including a packet header (HDR) and a payload. The destination node is H2, and the forwarding path in the SRv6 network is A. B C corresponds to SID1 in the SID stack. SID2 SID3, and nodes A, B, and C are INT nodes; when an SRv6 data packet passes through node A, node A inserts an SRH (Segment Routing Header) extended header into the original packet to carry the SID stack, the number of remaining segments (Segments Left), and path control information (such as the INT flag, used to indicate whether the node performs telemetry data collection and the collection type); simultaneously, it inserts the next-hop destination address SID2 and the collected telemetry data AMetadata into the original packet, and then forwards the packet to node B corresponding to the next-hop destination address SID2. Similarly, node B inserts the next-hop destination address SID3 and the collected telemetry data B Metadata into the received packet, and then forwards the packet to node C corresponding to the next-hop destination address SID3. After receiving the packet, node C (i.e., the edge node) combines its own collected telemetry data C Metadata with the previously collected telemetry data A Metadata and B Metadata. Metadata is packaged into telemetry data packets and uploaded to the controller. At the same time, the original message (message header Hdr + payload) is forwarded to the target node H2 to complete the transmission of the service flow.
[0043] This invention presents a novel network measurement and control system based on the P4 Runtime Controller. By combining the Thrift API and simple_switch_CLI, it achieves compatibility between SRv6 and P4 programming and INT telemetry. The control plane can dynamically transmit SRv6-INT flow tables to the P4 data plane based on the P4 Runtime communication protocol. This allows for compatibility with the INT telemetry system without affecting packet payload. During INT, it significantly improves packet payload efficiency and reduces unnecessary header information, thereby lowering network transmission overhead. Furthermore, based on the SRv6-INT flow tables, INT nodes along the packet path can acquire telemetry data in real time and encapsulate it into the packet, enabling real-time acquisition of network status and improving real-time network status monitoring capabilities. This allows for rapid detection of congestion, micro-bursts, and other faults based on real-time network status, thereby improving fault response speed and ensuring network service quality.
[0044] Furthermore, the generation process of the SID stack includes: Based on the network topology of the SRv6 network and the path weight information of the network topology in the current telemetry period, an adjacency matrix is constructed. Specifically, based on the telemetry data collected during the transmission of all service flows in the previous telemetry cycle, the network edges are weighted to obtain the path weight information for the current telemetry cycle. The network edge is used to indicate the link between adjacent nodes in the network topology, and the path weight information includes the weight of all network edges in the network topology.
[0045] Based on the adjacency matrix, the forwarding path of each service flow within the current telemetry period is determined; The nodes indicated by each forwarding path are mapped to segment identifiers, and the SID stacks of each service flow in the current telemetry period are generated based on the segment identifiers of the nodes in each forwarding path.
[0046] In this embodiment of the invention, the controller mainly uses telemetry data collected during the transmission of all service flows in the previous telemetry cycle to weight the network edges of the SRv6 network topology (including links related to source nodes, intermediate nodes, and target nodes) to determine the path weight information of the current telemetry cycle; for example, based on the three types of data in the telemetry data collected by each node, namely link delay, packet loss rate, and queue length, the weight of the network edge is calculated by linear weighted summation.
[0047] With adjacent node A B、B C, A Taking three network edges as an example, the controller extracts the link delay, packet loss rate, and queue length from the telemetry data collected by nodes A, B, and C in the previous telemetry cycle. It then calculates the network edge weights using a linear weighted summation, setting the delay weight to 0.5, the packet loss rate weight to 0.3, and the queue length weight to 0.2. Link delay B is 10ms, packet loss rate is 0.1%, and queue length is 20. After eliminating the influence of dimensions on link delay, packet loss rate, and queue length, calculate A. The weight of the network edge B is 10 × 0.5 + 0.1 × 0.3 + 20 × 0.2 = 9.03; Link delay C is 15ms, packet loss rate is 0.2%, and queue length is 30. After eliminating the influence of dimensions on link delay, packet loss rate, and queue length, calculate B. The weight of the network edge C is 15 × 0.5 + 0.2 × 0.3 + 30 × 0.2 = 13.56; A Link delay C is 8ms, packet loss rate is 0.3%, and queue length is 10. After eliminating the influence of dimensions on link delay, packet loss rate, and queue length, calculate A. The weight of the network edge of C is 8×0.5+0.05×0.3+10×0.2=6.015; the controller selects the corresponding node with priority based on the smaller the weight, thus completing the network edge weighting and path optimization for this telemetry cycle.
[0048] Then, based on the path weight information of the SRv6 network within the current telemetry period, an adjacency matrix is constructed. Each element in this adjacency matrix represents the weight of the network edge corresponding to an adjacent node. Based on this adjacency matrix, forwarding paths are allocated for each service flow within the current telemetry period. For example, starting from the source node of the service flow as the starting point of the forwarding path, the node with the smallest weight among the network edges corresponding to the source node is selected. This operation is repeated until the target node is selected, generating the forwarding path for the service flow. If multiple forwarding paths are generated, the shortest forwarding path is selected. It is understood that the forwarding paths of different service flows satisfy the principle of node non-conflict, avoiding multiple service flows competing for the same node or link resources, and mitigating node conflicts, congestion, and other problems at the path planning level.
[0049] The nodes indicated by the forwarding path are then mapped to the corresponding SIDs. The SID stack corresponding to the forwarding path is constructed, and the SID stacks of all service flows within the current telemetry period are integrated to obtain the SID list and send it to the P4 data plane as a flow table.
[0050] This invention constructs a network edge weighting and adjacency matrix based on real-time telemetry data, which can dynamically determine the optimal forwarding path of the service flow and generate the corresponding SID stack, thereby achieving adaptive optimization of the forwarding path of the SRv6 network and effectively improving network transmission efficiency and path reliability.
[0051] Furthermore, the telemetry path arrangement process includes: Based on the forwarding paths of each service flow within the current telemetry cycle, construct the first path set; Based on a forwarding path of a business flow randomly selected from the first path set, the restricted shortest path algorithm is used to generate telemetry paths for each business flow within the current telemetry period with telemetry profit as the objective. The telemetry cost is used to indicate the streaming delay generated by collecting telemetry data on the telemetry path, the telemetry revenue is used to indicate the information gain obtained by collecting telemetry data on the telemetry path, and the telemetry profit is calculated based on the telemetry revenue and the telemetry cost.
[0052] Specifically, based on a forwarding path of a service flow randomly selected from the first path set, a restricted shortest path algorithm is used to generate telemetry paths for each service flow within the current telemetry period, with telemetry profit as the objective. This includes: Based on the forwarding paths of each service flow within the current telemetry cycle, construct the first path set; A forwarding path for a service flow is randomly selected from the first path set, and the telemetry path of the currently selected forwarding path is calculated using the restricted shortest path algorithm. Add the initial telemetry path to the second path set, and delete the currently selected forwarding path from the first path set; Select the forwarding path of the next service flow from the first path set, and construct the candidate path set of the corresponding service flow using the restricted shortest path algorithm; the candidate path set includes at least one telemetry path of the corresponding service flow. A greedy algorithm is used to traverse the set of candidate paths to select the telemetry path with the highest telemetry profit and add it to the second path set, until all forwarding paths in the first path set are traversed.
[0053] Specifically, a greedy algorithm is used to traverse the candidate path set to select the telemetry path with the highest telemetry profit from the candidate path set and add it to the second path set, including: The telemetry paths in the candidate path set are compared with the telemetry paths in the second path set in terms of path attributes, and the telemetry paths that meet the path constraints are selected from the candidate path set. For each selected telemetry path, calculate the telemetry profit of the telemetry path and the telemetry paths in the second path set, and store the telemetry path and the corresponding telemetry profit as key-value pairs in the telemetry profit dictionary; Select the telemetry path with the maximum telemetry profit from the key-value pairs of the telemetry profit dictionary, and use it as the optimal telemetry path for the corresponding business flow. Add the optimal telemetry path to the second path set and clear the telemetry profit dictionary.
[0054] In this embodiment of the invention, after weighting the network edges based on the telemetry data in the previous telemetry period, the telemetry revenue is the revenue obtained from collecting telemetry data within the network coverage of all service flows in the previous telemetry period. The transmission delay caused by selecting a certain path and collecting data on this path is the telemetry cost. The difference between the telemetry revenue and the telemetry cost is the telemetry profit. The Constrained K-Shortest Paths (CKSP) algorithm is used to select the path with the largest telemetry profit as the telemetry path. The telemetry paths and SID stacks of all service flows are distributed by the controller to the P4 data plane through flow tables to control the forwarding paths of all service flows (i.e., the service flow set) and the collected telemetry content in the next telemetry period.
[0055] The telemetry profit can be equal to the difference between the telemetry revenue after removing the dimension effect and the telemetry cost; or it can be equal to the difference between the telemetry revenue after removing the dimension effect and the product of the telemetry cost and a set coefficient. This is not limited in the embodiments of the present invention. The calculation of information gain is prior art and will not be described in detail here. For example, it can be obtained by calculating the difference between the uncertainty entropy value (empirical entropy) of the network state when telemetry data of a certain telemetry path is not introduced and the remaining uncertainty entropy value (conditional entropy) after the introduction of that telemetry data.
[0056] This invention aims to select a suitable telemetry path while ensuring maximum telemetry profit. The telemetry path orchestration process is as follows: Figure 4 As shown, the specific process is as follows: Step 1: In the initial stage of the telemetry path, a forwarding path corresponding to a certain service flow in the first path set F formed by the forwarding paths corresponding to all service flows within the telemetry period is randomly selected, and the shortest telemetry path of the service flow is calculated using the restricted shortest path algorithm. This path is then added to the second path set P as the initial path to ensure that the second path set P is not an empty set.
[0057] Understandably, the restricted shortest path algorithm uses network edge weights as path costs and takes telemetry profit and no node conflicts within the same telemetry period as constraints. It solves for the shortest telemetry path that satisfies all constraints based on the adjacency matrix, thus ensuring the highest telemetry profit and the rationality of path planning while achieving the optimal path transmission cost.
[0058] Step 2: Remove the service flow selected in Step 1 from the first path set F to ensure that the same service flow is not repeatedly retrieved during subsequent traversal; at the same time, record the path attributes (such as total path weight, telemetry profit, path hop count, etc.) of the telemetry paths in the second path set P, as well as their bandwidth usage and telemetry content in the network.
[0059] Step 3: Traverse the first path set F. For a forwarding path corresponding to a certain service flow f in the first path set F, similarly using telemetry profit and no node conflicts within the same telemetry period as constraints, the restricted shortest path algorithm is used to select the k telemetry paths with the highest telemetry profit, and construct the candidate path set P for the corresponding service flow f. k .
[0060] Step 4: Select the candidate path set P k The paths in the second path set P are compared one by one to determine the alternative path set P. k The system checks whether the paths within the second path set P satisfy the constraint of no node conflict, selects telemetry paths that satisfy this constraint, compares the selected telemetry paths with the telemetry paths in the second path set P, calculates the telemetry profit of the second path set P after adding a selected telemetry path to P, and stores it in the telemetry profit (profit) dictionary as key-value pairs, such as... The key indicates the telemetry path, and the value indicates the telemetry profit generated after the telemetry path is added to the second path set P.
[0061] Step 5: Select the key with the largest value (i.e. the highest telemetry profit) from the key-value pairs in the telemetry profit dictionary. This key is the best telemetry path for business flow k. Store it in the second path set P. At the same time, clear the telemetry profit dictionary and start the next round of looping. After traversing all remaining business flows in the first path set F, output the second path set P as the telemetry path for all business flows in the current telemetry cycle, and end the algorithm process.
[0062] This invention uses a greedy algorithm to select telemetry paths. After all service flow forwarding paths and telemetry paths are selected, the forwarding paths and telemetry paths of all service flows need to be input into the controller. The forwarding path is then converted into SID form, and the INT flag number corresponding to the telemetry path selected for each service flow is sent to the source node of the SRv6-INT system to complete the entire path orchestration process.
[0063] This invention introduces an INT path orchestration module into the network measurement and control system. By parsing the telemetry data collected during the INT process, the network status can be accurately and in real-time assessed. Furthermore, by combining the INT path orchestration module with the CKSP algorithm, the telemetry path with the highest telemetry profit under the current network status can be calculated. This ensures fine-grained and accurate updates of probe data, and improves monitoring flexibility and efficiency compared to traditional INT schemes. It can accurately and in real-time determine the network status; simultaneously, it can maximize telemetry coverage while minimizing the impact of the telemetry process on network transmission performance, enabling real-time path adjustments and ensuring the flexibility and efficiency of network monitoring.
[0064] See Figure 5 , Figure 5 This invention provides a structural block diagram of a network measurement and control system, which includes: a control plane 11, a P4 data plane 12, and a telemetry plane 13. The control plane 11 is used to send flow tables to the P4 data plane 12 based on the P4 Runtime communication protocol; wherein, the flow table includes at least one SID stack and telemetry paths corresponding to each SID stack, and each SID stack corresponds to a service flow; The P4 data plane 12 is used to transmit the corresponding service flow according to the forwarding path indicated by the SID stack; The telemetry plane 13 is used to collect remote sensing data through the nodes indicated by the telemetry path corresponding to the SID stack; wherein, each node inserts its own collected telemetry data into its transmitted service flow, and uploads the telemetry data collected by all nodes to the control plane 11 through the edge nodes of the telemetry path.
[0065] In one optional embodiment, the SID stack generation process includes: Based on the network topology of the SRv6 network and the path weight information of the network topology in the current telemetry period, an adjacency matrix is constructed. Based on the adjacency matrix, the forwarding path of each service flow within the current telemetry period is determined; The nodes indicated by each forwarding path are mapped to segment identifiers, and the SID stacks of each service flow in the current telemetry period are generated based on the segment identifiers of the nodes in each forwarding path.
[0066] In an optional embodiment, the update process of the path weight information includes: Based on the telemetry data collected during the transmission of all service flows in the previous telemetry cycle, the network edges are weighted to obtain the path weight information for the current telemetry cycle. The network edge is used to indicate the link between adjacent nodes in the network topology, and the path weight information includes the weight of all network edges in the network topology.
[0067] In one optional embodiment, the telemetry path orchestration process includes: Based on the forwarding paths of each service flow within the current telemetry cycle, construct the first path set; Based on a forwarding path of a business flow randomly selected from the first path set, the restricted shortest path algorithm is used to generate telemetry paths for each business flow within the current telemetry period with telemetry profit as the objective. The telemetry cost is used to indicate the streaming delay generated by collecting telemetry data on the telemetry path, the telemetry revenue is used to indicate the information gain obtained by collecting telemetry data on the telemetry path, and the telemetry profit is calculated based on the telemetry revenue and the telemetry cost.
[0068] In one optional embodiment, based on a forwarding path of a service flow randomly selected from the first path set, a restricted shortest path algorithm is used to generate telemetry paths for each service flow within the current telemetry period, with telemetry profit as the objective, including: Based on the forwarding paths of each service flow within the current telemetry cycle, construct the first path set; A forwarding path for a service flow is randomly selected from the first path set, and the telemetry path of the currently selected forwarding path is calculated using the restricted shortest path algorithm. Add the initial telemetry path to the second path set, and delete the currently selected forwarding path from the first path set; Select the forwarding path of the next service flow from the first path set, and construct the candidate path set of the corresponding service flow using the restricted shortest path algorithm; the candidate path set includes at least one telemetry path of the corresponding service flow. A greedy algorithm is used to traverse the set of candidate paths to select the telemetry path with the highest telemetry profit and add it to the second path set, until all forwarding paths in the first path set are traversed.
[0069] In one optional embodiment, a greedy algorithm is used to traverse the candidate path set to select the telemetry path with the highest telemetry profit from the candidate path set and add it to the second path set, including: The telemetry paths in the candidate path set are compared with the telemetry paths in the second path set in terms of path attributes, and the telemetry paths that meet the path constraints are selected from the candidate path set. For each selected telemetry path, calculate the telemetry profit of the telemetry path and the telemetry paths in the second path set, and store the telemetry path and the corresponding telemetry profit as key-value pairs in the telemetry profit dictionary; Select the telemetry path with the maximum telemetry profit from the key-value pairs of the telemetry profit dictionary, and use it as the optimal telemetry path for the corresponding business flow. Add the optimal telemetry path to the second path set and clear the telemetry profit dictionary.
[0070] It should be noted that the working process of each module in the network measurement and control system described in the embodiments of the present invention can refer to the working process of the network measurement and control method described in the above embodiments, and the technical effect achieved is the same as that of the network measurement and control method described in the above embodiments, so it will not be repeated here.
[0071] See Figure 6 , Figure 6 This is a structural block diagram of a network measurement and control device provided in an embodiment of the present invention. The network measurement and control device includes a processor 21, a memory 22, and a computer program stored in the memory 22 and executable on the processor 21. When the processor 21 executes the computer program, it implements the steps in the above-described network measurement and control method embodiments, such as steps S11 to S13.
[0072] For example, the computer program may be divided into one or more modules or units, which are stored in the memory 22 and executed by the processor 21 to complete the present invention. The one or more modules or units may be a series of computer program instruction segments capable of performing specific functions, which describe the execution process of the computer program in the network measurement and control device.
[0073] The network measurement and control device may include, but is not limited to, a processor 21 and a memory 22. Those skilled in the art will understand that the schematic diagram is merely an example of a network measurement and control device and does not constitute a limitation on the device. It may include more or fewer components than illustrated, or combine certain components, or use different components. For example, the network measurement and control device may also include input / output devices, network access devices, buses, etc.
[0074] The processor 21 can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor. The processor 21 is the control center of the network measurement and control equipment, connecting various parts of the entire network measurement and control equipment through various interfaces and lines.
[0075] The memory 22 can be used to store the computer programs and / or modules. The processor 21 implements various functions of the network measurement and control device by running or executing the computer programs and / or modules stored in the memory 22 and calling the data stored in the memory 22. The memory 22 may mainly include a program storage area and a data storage area. The program storage area may store the operating system, at least one application program required for a function (such as sound playback function, image playback function, etc.), etc.; the data storage area may store data created according to the use of the mobile phone (such as audio data, phonebook, etc.). In addition, the memory 22 may include high-speed random access memory, and may also include non-volatile memory, such as hard disk, memory, plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, at least one disk storage device, flash memory device, or other volatile solid-state storage device.
[0076] If the modules or units integrated into the network measurement and control equipment are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments can also be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by the processor 21, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable medium can include: any entity or device capable of carrying the computer program code, recording media, USB flash drives, portable hard drives, magnetic disks, optical disks, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc.
[0077] It should be noted that the device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Furthermore, in the accompanying drawings of the device embodiments provided by this invention, the connection relationships between modules indicate that they have communication connections, which can be specifically implemented as one or more communication buses or signal lines. Those skilled in the art can understand and implement this without any creative effort.
[0078] The above description represents the preferred embodiments of the present invention. It should be noted that, for those skilled in the art, various improvements and modifications can be made without departing from the principles of the present invention, and these improvements and modifications are also considered to be within the scope of protection of the present invention.
Claims
1. A network measurement and control method, characterized in that, Applied to a network measurement and control system, the network measurement and control system including a control plane, a P4 data plane, and a telemetry plane, the method includes: The control plane sends flow tables to the P4 data plane based on the P4 Runtime communication protocol; wherein, the flow table includes at least one SID stack and telemetry paths corresponding to each SID stack, and each SID stack corresponds to a service flow; The P4 data plane transmits the corresponding service streams according to the forwarding path indicated by the SID stack; The telemetry plane collects remote sensing data through the nodes indicated by the telemetry path corresponding to the SID stack; wherein, each node inserts its own collected telemetry data into its transmitted service flow, and uploads the telemetry data collected by all nodes to the control plane through the edge nodes of the telemetry path.
2. The network measurement and control method as described in claim 1, characterized in that, The generation process of the SID stack includes: Based on the network topology of the SRv6 network and the path weight information of the network topology in the current telemetry period, an adjacency matrix is constructed. Based on the adjacency matrix, the forwarding path of each service flow within the current telemetry period is determined; The nodes indicated by each forwarding path are mapped to segment identifiers, and the SID stacks of each service flow in the current telemetry period are generated based on the segment identifiers of the nodes in each forwarding path.
3. The network measurement and control method as described in claim 2, characterized in that, The method further includes: Based on the telemetry data collected during the transmission of all service flows in the previous telemetry cycle, the network edges are weighted to obtain the path weight information for the current telemetry cycle. The network edge is used to indicate the link between adjacent nodes in the network topology, and the path weight information includes the weight of all network edges in the network topology.
4. The network measurement and control method as described in claim 2, characterized in that, The telemetry path arrangement process includes: Based on the forwarding paths of each service flow within the current telemetry cycle, construct the first path set; Based on a forwarding path of a business flow randomly selected from the first path set, the restricted shortest path algorithm is used to generate telemetry paths for each business flow within the current telemetry period with telemetry profit as the objective. The telemetry cost is used to indicate the streaming delay generated by collecting telemetry data on the telemetry path, the telemetry revenue is used to indicate the information gain obtained by collecting telemetry data on the telemetry path, and the telemetry profit is calculated based on the telemetry revenue and the telemetry cost.
5. The network measurement and control method as described in claim 4, characterized in that, Based on a forwarding path of a service flow randomly selected from the first path set, a restricted shortest path algorithm is used to generate telemetry paths for each service flow within the current telemetry period, with telemetry profit as the objective. These paths include: Based on the forwarding paths of each service flow within the current telemetry cycle, construct the first path set; A forwarding path for a service flow is randomly selected from the first path set, and the telemetry path of the currently selected forwarding path is calculated using the restricted shortest path algorithm. Add the initial telemetry path to the second path set, and delete the currently selected forwarding path from the first path set; Select the forwarding path of the next service flow from the first path set, and construct the candidate path set of the corresponding service flow using the restricted shortest path algorithm; the candidate path set includes at least one telemetry path of the corresponding service flow. A greedy algorithm is used to traverse the set of candidate paths to select the telemetry path with the highest telemetry profit and add it to the second path set, until all forwarding paths in the first path set are traversed.
6. The network measurement and control method as described in claim 5, characterized in that, A greedy algorithm is used to traverse the candidate path set to select the telemetry path with the highest telemetry profit and add it to the second path set, including: The telemetry paths in the candidate path set are compared with the telemetry paths in the second path set in terms of path attributes, and the telemetry paths that meet the path constraints are selected from the candidate path set. For each selected telemetry path, calculate the telemetry profit of the telemetry path and the telemetry paths in the second path set, and store the telemetry path and the corresponding telemetry profit as key-value pairs in the telemetry profit dictionary; Select the telemetry path with the maximum telemetry profit from the key-value pairs in the telemetry profit dictionary, and use it as the optimal telemetry path for the corresponding business flow. Add the optimal telemetry path to the second path set and clear the telemetry profit dictionary.
7. A network measurement and control system, characterized in that, This includes the control plane, the P4 data plane, and the telemetry plane; The control plane is used to send flow tables to the P4 data plane based on the P4 Runtime communication protocol; wherein, the flow table includes at least one SID stack and telemetry paths corresponding to each SID stack, and each SID stack corresponds to a service flow; The P4 data plane is used to transmit the corresponding service flow according to the forwarding path indicated by the SID stack; The telemetry plane is used to collect remote sensing data through the nodes indicated by the telemetry path corresponding to the SID stack; wherein, each node inserts its own collected telemetry data into its transmitted service flow, and uploads the telemetry data collected by all nodes to the control plane through the edge nodes of the telemetry path.
8. A network measurement and control device, characterized in that, include: A processor, a memory, and a computer program stored in the memory and configured to be executed by the processor, wherein the processor, when executing the computer program, implements the network measurement and control method as described in any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, wherein, when the computer program is executed, it controls the device where the computer-readable storage medium is located to perform the network measurement and control method as described in any one of claims 1 to 6.
10. A computer program product, comprising a computer program or instructions, characterized in that, When the computer program or instructions are executed by the processor, they implement the network measurement and control method according to any one of claims 1 to 6.