A method for measuring network transmission delay between any two nodes in a programmable network

By using timestamp tags, Bloom filters and Sketch algorithm modules in programmable networks, the problem of network transmission delay measurement in traditional networks is solved, and time delay measurement with high accuracy and low resource consumption is achieved, and anomaly flow can be quickly located.

CN116094962BActive Publication Date: 2025-03-25ZHEJIANG LAB
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310082418.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-02-08
Publication Date
2025-03-25
Estimated Expiration
2043-02-08

AI Technical Summary

Technical Problem

It is difficult to monitor and accurately measure network transmission delay in real time in traditional networks, and the device control logic is integrated with forwarding logic, lacks flexibility, has large measurement errors, and has a large collaboration overhead among network nodes, resulting in many measurement tasks being unable to be deployed.

Method used

In a programmable network, by adding a timestamp tag to the data packet in Node A and analyzing the tags on Node B to calculate the transmission delay, combining the Bloom filter and the Sketch algorithm module, the abnormal flow is separated and network transmission delay measurement is performed, reducing resource consumption and improving measurement accuracy.

Benefits of technology

The fine-grained measurement of network transmission delay between any two nodes in a programmable network is realized, which reduces resource consumption, improves measurement accuracy, and can quickly locate abnormal flows.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure BDA0004067835620000031
    Figure BDA0004067835620000031
  • Figure BDA0004067835620000081
    Figure BDA0004067835620000081
  • Figure FDA0004067835610000021
    Figure FDA0004067835610000021
Patent Text Reader

Abstract

The present invention discloses a method for measuring the network transmission delay between any two nodes in a programmable network. First, a timestamp label is added to a data packet at node A, and a transmission delay d is obtained at node B. l , and filter according to the delay threshold δ, the abnormal flow is forwarded to the flow processor, and then in the Bloom filter, if there is a record of the abnormal flow, it is considered to be an abnormal flow and forwarded to the flow processor, otherwise it is forwarded to the Sketch algorithm module. In the flow processor, a hash table is used to accurately record the quintuple of the abnormal flow and the accumulated delay for the abnormal flow, so that the controller can quickly locate the generated abnormal flow. The cumulative sum of the transmission delay is added to the Sketch algorithm module, so that the average transmission delay can be measured in combination with the number of data packets and used as a network transmission delay measurement. The present invention reduces the existing resource consumption, and on the one hand, the flow that generates the abnormality can be quickly located through the hash table, and on the other hand, after filtering out the abnormal values, the measurement accuracy of CM Sketch can be further improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of network management, and more specifically, relates to a method for measuring network transmission delay between any two nodes in a programmable network. Background Art

[0002] As the scale of the Internet continues to expand, the knowability of its performance becomes more and more complex, and the complexity of network management continues to increase. In actual network operation, Internet network centers and service providers need to use network performance measurement systems to monitor the current operation status of the network, and individual users and applications also need to use network performance measurement systems to detect the operation status of the network and evaluate the service quality provided by the network. Therefore, the research on network performance measurement becomes more and more important with the increasing application of the Internet.

[0003] At present, the basic network performance evaluation indicators mainly include network transmission delay, throughput (bandwidth) and packet loss rate, etc. Among them, network transmission delay is the most important and most commonly used measurement parameter. In order to ensure the normal operation of the network and meet the transmission performance requirements of network applications, network managers need to use specific measurement methods and measurement systems to measure and analyze the network transmission delay, timely, accurately and comprehensively understand the internal operation status of the network, and implement network management and control strategies in a targeted manner. The network transmission delay can provide a basis for network fault diagnosis, help detect abnormal business flows and locate node failures in the network. Generally speaking, the finer the measurement data granularity of network transmission delay and the higher the accuracy, the better the performance that network management can achieve.

[0004] The measurement schemes in traditional IP networks usually have problems such as difficulty in real-time monitoring of network transmission delay, difficulty in deploying measurement equipment, excessive network resource consumption, and insufficient measurement granularity. Under the limitations of traditional network management and measurement capabilities, the data provided by network transmission delay measurement is of low accuracy and insufficient granularity, and even in many cases cannot provide network managers with the required information. The main problems are as follows: (1) In traditional networks, the control logic and forwarding logic of network devices are integrated together, and the switch needs to follow certain specific protocols to process data packets, which lacks flexible control capabilities. (2) In traditional networks, the measurement capabilities of network devices are low and can only measure some coarse-grained status information, so the measurement error is large. (3) Some measurement tasks in the network require collaboration between multiple network devices, but traditional networks use distributed control methods, and the collaboration and management overhead between network nodes is large. Therefore, the feasibility of many measurement tasks remains only in theory and cannot be deployed in actual networks. Summary of the invention

[0005] The purpose of the present invention is to overcome the shortcomings of the prior art and provide a method for measuring the network transmission delay between any two nodes in a programmable network. By utilizing the programmability of the data plane and the storage resources of the intermediate nodes in the network, the network transmission delay measurement between any two nodes on the service flow routing path is realized. At the same time, the flows with abnormal network transmission delay are separated to reduce resource consumption and improve measurement accuracy.

[0006] To achieve the above-mentioned object of the invention, the network transmission delay measurement method of any two nodes in a programmable network of the present invention is characterized by comprising the following steps:

[0007] (1) Adding timestamp labels to data packets and judging abnormal delay flows

[0008] A service request initiated to the network for a certain content 1 , it is necessary to measure the network transmission delay from node A to node B. At node A, a timestamp label is added to the data packet. The timestamp label content is the ingress timestamp t of the data packet arriving at switch A. 1 When the data packet is forwarded to node B, node B obtains the current timestamp t 2 , and then parse the timestamp tag in the data packet to obtain the entry timestamp t1, then the service request f 1 The transmission delay d from node A to node B is l =t 2 -t 1 ;

[0009] In Node B, the transmission delay d is calculated l After that, the transmission delay d l Compared with the delay threshold δ, the transmission delay d l Service requests f that are greater than the delay threshold δ 1 For the flow with abnormal transmission performance, namely the abnormal flow, the quintuple of the abnormal flow is encoded and recorded using the Bloom filter. At the same time, the abnormal flow is forwarded to the flow processor; for the transmission delay d l Service request f that is not greater than the delay threshold δ 1 The data is sent to a Bloom filter for further judgment, wherein the Bloom filter is deployed in node B;

[0010] (2) Bloom filter further separates abnormal flows

[0011] In the Bloom filter, for the business request f 1The five-tuple of source IP, destination IP, source port, destination port and protocol type is encoded using the same encoding method in step (1) and compared with the five-tuple encoding of the abnormal flow recorded in the Bloom filter. If they are the same, it is considered to be an abnormal flow and forwarded to the flow processor. If they are different, it is a normal flow and forwarded to the Sketch algorithm module, where the Sketch algorithm module is deployed in node B.

[0012] (3) The stream processor records the abnormal flow and reports it to the controller for locating the abnormal flow

[0013] The abnormal flow determined by the delay threshold δ and the abnormal flow separated by the Bloom filter are accurately recorded in the flow processor using a hash table with the five-tuple of the abnormal flow and the accumulated delay, and reported to the controller according to the measurement cycle. The controller can quickly locate the generated abnormal flow through the hash table;

[0014] (4) Using Sketch algorithm to measure network transmission delay

[0015] In the Sketch algorithm module, each counter counter consists of two parts: a 32-bit count value count used to count the number of packets and a 32-bit count value sumdelay used to store the accumulated sum of transmission delays;

[0016] When the transmission delay d is calculated l After that, node B will use hash function h to process the five tuples of the data packet. 1 to h d Perform d hashing operations, find the counter corresponding to each hashing operation and update it. The update rules are: count = count + 1, sumdelay = sumdelay + d l ;

[0017] Node B reports the count value count and the count value sumdelay of the counter counter to the controller according to the measurement period described in step (3). The controller uses the count value count and the count value sumdelay to query the transmission delay of the service flow and query the service request f 1 When the transmission delay information is transmitted, it first passes through the hash function h1 to h d For business requests 1 The five-tuple is hashed d times to find the corresponding d counters, and the business request f 1 Query result of the number of packets count s is the minimum value of the count value count in the d counters, and the service request f 1 The query result of the total delay value of data packets is sumdelay sis the minimum value of the count value sumdelay in the d counters;

[0018] In one cycle, the service request f 1 The average transmission delay from node A to node B is:

[0019]

[0020] The average transmission delay is used as the network transmission delay from node A to node B;

[0021] (5) Clear the Bloom filter, counter, and hash table

[0022] After each measurement cycle, the Bloom filter, the counter in the Sketch algorithm module, and the hash table in the stream processor are cleared to prepare for the next measurement cycle.

[0023] The object of the invention of the present invention is achieved in this way:

[0024] The network transmission delay measurement method of any two nodes in a programmable network of the present invention first adds a timestamp label to a data packet at node A, and when the data packet is forwarded to node B, the transmission delay d is obtained at node B. l , and filter according to the delay threshold δ, the abnormal flow is forwarded to the flow processor, and the unrecognized flow is sent to the Bloom filter for further judgment. Then, in the Bloom filter, if there is a record of abnormal flow, it is considered to be an abnormal flow and forwarded to the flow processor, otherwise it is forwarded to the Sketch algorithm module. In the flow processor, a hash table is used to accurately record the five-tuple of the abnormal flow and the accumulated delay for the abnormal flow, so that the controller can quickly locate the generated abnormal flow. The cumulative sum of the transmission delay is added to the Sketch algorithm module, so that the average transmission delay can be measured in combination with the number of data packets and used as the network transmission delay measurement. The present invention uses a data packet to add a timestamp tag, so that when deploying the measurement algorithm, only a small amount of high-speed storage resources are required for node B, which reduces the resource consumption. At the same time, the present invention separates the flow with abnormal network performance again through the Bloom filter. On the one hand, the flow that generates the abnormality can be quickly located through the hash table, and on the other hand, after filtering out the abnormal value, the measurement accuracy of CM Sketch can be further improved. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] Figure 1 It is a schematic diagram of the principle of the network transmission delay measurement method of any two nodes in a programmable network of the present invention;

[0026] Figure 2 It is a flowchart of a specific implementation method of the network transmission delay measurement method between any two nodes in a programmable network of the present invention;

[0027] Figure 3 It is a schematic diagram of the data structure in the present invention. DETAILED DESCRIPTION

[0028] The specific implementation of the present invention is described below in conjunction with the accompanying drawings so that those skilled in the art can better understand the present invention. It should be noted that in the following description, when the detailed description of known functions and designs may dilute the main content of the present invention, these descriptions will be omitted here.

[0029] As mentioned in the background technology, the existing traditional network transmission delay measurement algorithm has certain limitations and cannot be deployed in the actual network. The programmable network directly presents the data packet processing logic and the network control logic to the user. It has the ability to customize the data packet processing flow on the data plane and provides centralized, flexible and fast control capabilities on the control plane. It mainly uses the standard network application programming interface provided in the network node to provide users with an "open" network control mechanism. Such flexible processing capabilities facilitate the implementation of measurement tasks, making it possible to perform accurate, timely and fine-grained network transmission delay measurements in the network.

[0030] In a programmable network architecture, in order to achieve fine-grained measurement of the transmission delay between any two nodes on the service flow routing path, it is assumed that the service request f 1 The transmission delay from node A to node B on the path can be simply implemented as follows: deploy hash tables on node A and node B respectively. The hash tables record the five-tuple of each service flow as the key and the timestamp of the data packet arriving at the node as the value. The switching node periodically reports the statistical information to the controller, and the controller can calculate the service request f based on the five-tuple and timestamp recorded by node A and node B. 1 The transmission delay from node A to node B.

[0031] However, due to cost and physical limitations, the high-speed storage resources of programmable switches are very limited. For example, the implementation of in-band network telemetry technology requires special forwarding chips, which are relatively expensive. In addition, the flexible packet processing capabilities of programmable networks are implemented by flow tables, and the number of these flow tables is limited by the size of TCAM (Temary Content Aware Memory, TCAM). In the above solution, in order to store the quintuple and timestamp, each service flow needs to occupy 17 bytes, and there will be tens or even millions of service flows in each reporting cycle of the switch, which requires the programmable switch to provide tens of megabytes of high-speed storage resources, which is relatively costly.

[0032] In order to save the high-speed storage resources of programmable switches as much as possible, the existing solution provides us with the Sketch algorithm. On the one hand, the Sketch algorithm only requires simple hash functions and storage resources, which is easy to implement on programmable switches. On the other hand, by compressing the measured information, the Sketch algorithm can greatly save storage space, which is very important for programmable switches with limited high-speed storage resources. At the same time, the programmability of the programmable network data plane provides the possibility for further optimization. In the present invention, by adding a timestamp label to the data packet at node A, node B parses the label and calculates the service flow f according to the current timestamp. 1 The transmission delay from node A to node B on the path. In this way, when deploying the measurement algorithm, only a small amount of high-speed storage resources are required at node B.

[0033] Although the Sketch algorithm can solve the problem of limited high-speed storage resources of programmable switches, its shortcomings are also obvious. First, due to the compression of the measured information, it is impossible to directly obtain the five-tuple information of the service flow through Sketch, and secondly, it brings the problem of measurement accuracy. When the service flow encounters problems such as network congestion or node failure during transmission, its transmission delay will increase sharply, which may be as high as tens to hundreds of milliseconds. The delay of the original normal service flow may be only a few milliseconds. Due to the hash conflict problem of Sketch, the delay of the normal service flow is polluted by the measurement results of the abnormal service flow, and Sketch cannot directly obtain the five-tuple information, which leads to the measurement results of the normal service flow being high, and the abnormal service flow cannot be quickly and accurately located. In order to solve this problem, the present invention introduces a Bloom filter, because for network managers, the main purpose of network transmission delay measurement is to understand the network operation status and find abnormal network performance. Therefore, how to more accurately measure and separate the flow with abnormal transmission performance in the network is more practical. The Bloom filter of the present invention is used to separate the flow with abnormal network performance. It will encode and record the ID of the performance abnormal flow, and then forward the abnormal flow to the hash table in the flow processor, and the hash table will accurately record the ID and measurement information of the abnormal flow. At the same time, the Sketch algorithm module will record the flow with normal transmission performance and periodically report the statistical information to the controller. After the flow with abnormal network performance is separated by the Bloom filter, on the one hand, the flow that generates the abnormality can be quickly located through the hash table in the flow processor, and on the other hand, after filtering out the abnormal values, the measurement accuracy of the Sketch algorithm module can be further improved.

[0034] The present invention utilizes the characteristics of programmable networks, uses Bloom filters and Sketch algorithm modules to measure network transmission delay. Considering the preciousness of programmable switch storage resources and the practical significance of abnormal transmission delay flows in understanding the network operation status, a method for measuring network transmission delay in programmable networks to distinguish abnormal flows is proposed.

[0035] Compared with the traditional network transmission delay measurement method, the present invention has the following characteristics:

[0036] 1. Add timestamp tags to programmable networks;

[0037] 2. Use Bloom filters to isolate flows with abnormal transmission performance in the network;

[0038] 3. Use the Sketch algorithm to approximate the network transmission delay;

[0039] 4. Use the stream processor hash table to record the five-tuple and accumulated delay, and use it to quickly locate abnormal flows.

[0040] Figure 1 It is a schematic diagram of the principle of the network transmission delay measurement method of any two nodes in a programmable network of the present invention.

[0041] like Figure 1 As shown, the present invention is mainly divided into three parts, and their functions are divided as follows:

[0042] 1. Bloom filter

[0043] It is used to encode and record the ID of the performance abnormal flow, and forward the flow that fails to pass the Bloom filter to the flow processor for processing;

[0044] 2. Count-Min Sketch algorithm module

[0045] Used to record the transmission delay information between any two points of non-abnormal flows on each flow routing path.

[0046] 3. Stream Processor

[0047] A hash table is used to accurately record the five-tuple of the abnormal flow and the accumulated delay, so that the controller can quickly locate the abnormal flow.

[0048] Figure 2 It is a flowchart of a specific implementation method of the network transmission delay measurement method between any two nodes in a programmable network of the present invention.

[0049] In this embodiment, if Figure 2 As shown, the network transmission delay measurement method of any two nodes in a programmable network of the present invention comprises the following steps:

[0050] Step S1: Adding timestamp labels to data packets and judging abnormal delay flows

[0051] A service request initiated to the network for a certain content 1 , it is necessary to measure the network transmission delay from node A to node B. At node A, a timestamp label is added to the data packet. The timestamp label content is the ingress timestamp t of the data packet arriving at switch A. 1 When the data packet is forwarded to node B, node B obtains the current timestamp t 2 , and then parse the timestamp tag in the data packet to obtain the entry timestamp t 1 , then the business request f1 在 Transmission delay from node A to node B d l =t 2 -t 1 .

[0052] In Node B, if Figure 3 As shown, the transmission delay d is calculated l After that, the transmission delay d l Compared with the delay threshold δ, the transmission delay d l Service requests f that are greater than the delay threshold δ 1 For the flow with abnormal transmission performance, namely the abnormal flow, the quintuple of the abnormal flow is encoded and recorded using the Bloom filter. At the same time, the abnormal flow is forwarded to the flow processor; for the transmission delay d l Service request f that is not greater than the delay threshold δ 1 That is, the flows that are not determined to be normal are sent to the Bloom filter for further judgment, wherein the Bloom filter is deployed in the node B.

[0053] Step S2: Bloom filter further separates abnormal flows

[0054] like Figure 3 As shown, in the Bloom filter, the service request f 1 The five-tuple of source IP, destination IP, source port, destination port and protocol type is encoded using the same encoding method in step (1) and compared with the five-tuple encoding of the abnormal flow recorded in the Bloom filter. If they are the same, it is considered to be an abnormal flow and forwarded to the flow processor. If they are different, it is a normal flow and forwarded to the Sketch algorithm module, where the Sketch algorithm module is deployed in node B.

[0055] Step S3: The stream processor records the abnormal flow and reports it to the controller for locating the abnormal flow

[0056] The abnormal flow determined by the delay threshold δ and the abnormal flow separated by the Bloom filter are accurately recorded in the flow processor using a hash table with the five-tuple of the abnormal flow and the accumulated delay, and reported to the controller according to the measurement cycle. The controller can quickly locate the generated abnormal flow through the hash table.

[0057] Step S4: Use Sketch algorithm to measure network transmission delay

[0058] In the Sketch algorithm module, each counter counter consists of two parts: a 32-bit count value count used to count the number of packets and a 32-bit count value sumdelay used to store the accumulated sum of transmission delays;

[0059] like Figure 3 As shown, when the transmission delay d is calculated l After that, node B will use hash function h to process the five tuples of the data packet. 1 to h d Perform d hashing operations, find the counter corresponding to each hashing operation and update it. The update rules are: count = count + 1, sumdelay = sumdelay + d l .

[0060] Node B reports the count value count and the count value sumdelay of the counter counter to the controller according to the measurement period described in step (3). The controller uses the count value count and the count value sumdelay to query the transmission delay of the service flow and query the service request f 1 When the transmission delay information is obtained, first use the hash function h 1 to h d For business requests 1 The five-tuple is hashed d times to find the corresponding d counters, and the business request f 1 Query result of the number of packets count s is the minimum value of the count value count in the d counters, and the service request f 1 The query result of the total delay value of data packets is sumdelay s It is the minimum value of the count value sumdelay in the d counters.

[0061] In one cycle, the service request f 1 The average transmission delay from node A to node B is:

[0062]

[0063] The average transmission delay is used as the network transmission delay from node A to node B;

[0064] Step S5: Clear Bloom filter, counter and hash table

[0065] After each measurement cycle, the Bloom filter, the counter in the Sketch algorithm module, and the hash table in the stream processor are cleared to prepare for the next measurement cycle.

[0066] In this embodiment, if Figure 1 As shown, the timestamp label is removed after the data packet passes through node B to avoid unnecessary transmission load.

[0067] The present invention uses a data packet to add a timestamp tag, so that when deploying the measurement algorithm, only a small amount of high-speed storage resources are required for node B to obtain the required data packet transmission delay, and the abnormal flow is separated according to the time limit threshold, thereby reducing the resource consumption. At the same time, the present invention uses a Bloom filter to separate the flow with abnormal network performance again. On the one hand, the flow that generates the abnormality can be quickly located through a hash table, and on the other hand, after filtering out the abnormal values, the measurement accuracy of the CM Sketch module can be further improved.

[0068] Although the above describes the illustrative specific embodiments of the present invention to facilitate those skilled in the art to understand the present invention, it should be clear that the present invention is not limited to the scope of the specific embodiments. For those of ordinary skill in the art, as long as various changes are within the spirit and scope of the present invention as defined and determined by the attached claims, these changes are obvious, and all inventions and creations using the concept of the present invention are protected.

Claims

1. A method for measuring network transmission delay between any two nodes in a programmable network, characterized in that: The following steps are involved: (1) Adding timestamp labels to data packets and judging abnormal delay flows For a service request f1 initiated to the network for a certain content, it is necessary to measure the network transmission delay from node A to node B. A timestamp label is added to the data packet at node A. The timestamp label content is the entry timestamp t1 of the data packet arriving at switch A. When the data packet is forwarded to node B, node B obtains the current timestamp t2, and then parses the timestamp label in the data packet to obtain the entry timestamp t1. The transmission delay d of the service request f1 from node A to node B is l = t2-t1; In Node B, the transmission delay d is calculated l After that, the transmission delay d l Compared with the delay threshold δ, the transmission delay d l The service request f1 greater than the delay threshold δ is a flow with abnormal transmission performance, that is, an abnormal flow. The quintuple of the abnormal flow is encoded and recorded using a Bloom filter. At the same time, the abnormal flow is forwarded to the flow processor. For the transmission delay d l The service request f1 that is not greater than the delay threshold δ is sent to the Bloom filter for further judgment, where the Bloom filter is deployed in node B; (2) Bloom filter further separates abnormal flows In the Bloom filter, the five-tuple of the service request f1, i.e., source IP, destination IP, source port, destination port, and protocol type, is encoded using the same encoding method in step (1), and compared with the five-tuple encoding of the abnormal flow recorded in the Bloom filter. If they are the same, it is considered to be an abnormal flow and forwarded to the flow processor. If they are different, it is considered to be a normal flow and forwarded to the Sketch algorithm module, where the Sketch algorithm module is deployed in node B. (3) The stream processor records the abnormal flow and reports it to the controller for locating the abnormal flow The abnormal flow determined by the delay threshold δ and the abnormal flow separated by the Bloom filter are accurately recorded in the flow processor using a hash table with the five-tuple of the abnormal flow and the accumulated delay, and reported to the controller according to the measurement cycle. The controller can quickly locate the generated abnormal flow through the hash table; (4) Using Sketch algorithm to measure network transmission delay In the Sketch algorithm module, each counter counter consists of two parts: a 32-bit count value count used to count the number of packets and a 32-bit count value sumdelay used to store the accumulated sum of transmission delays; When the transmission delay d is calculated l After that, node B will use hash functions h1 to h2 to process the five tuples of the data packet. d Perform d hashing operations, find the counter corresponding to each hashing operation and update it. The update rules are: count = count + 1, sumdelay = sumdelay + d l ; Node B reports the count value count and the count value sumdelay of the counter counter to the controller according to the measurement period described in step (3). The controller queries the transmission delay of the service flow through the count value count and the count value sumdelay. When querying the transmission delay information of the service request f1, the controller first uses the hash function h1 to h d Perform d hashes on the five-tuple of business request f1 to find the corresponding d counters. The query result count of the number of data packets of business request f1 is s The query result sumdelay is the minimum value of the count value count in the d counters, and the sum of the transmission delay values ​​of the service request f1 data packet s is the minimum value of the count value sumdelay in the d counters; In one cycle, the average transmission delay of service request f1 from node A to node B is: The average transmission delay is used as the network transmission delay from node A to node B; (5) Clear the Bloom filter, counter, and hash table After each measurement cycle, the Bloom filter, the counter in the Sketch algorithm module, and the hash table in the stream processor are cleared to prepare for the next measurement cycle.

2. The method for measuring network transmission delay between any two nodes in a programmable network according to claim 1, characterized in that: The timestamp label is removed after the data packet passes through node B.

Citation Information

Patent Citations

  • Network node bloom filter construction and implementation method based on encryption algorithm

    CN107566111A

  • Software defined network large flow end-to-end time delay and packet loss rate estimation method based on sketch

    CN114039891A