Network awareness methods, distributed apparatus, devices, and computer-readable storage media

By maintaining hash tables at the forwarding and control layers to randomly sample data packets and encapsulate state information, the problem of high detection overhead and high resource consumption in existing network sensing technologies is solved, and efficient network state sensing and fault analysis are achieved.

CN120416911BActive Publication Date: 2026-07-07FIBERHOME TELECOMMUNICATION TECHNOLOGIES CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
FIBERHOME TELECOMMUNICATION TECHNOLOGIES CO LTD
Filing Date
2025-04-16
Publication Date
2026-07-07

AI Technical Summary

Technical Problem

Existing in-band measurement methods for network sensing suffer from problems such as high detection overhead, high bandwidth consumption, high computational and storage resource consumption, and loss or out-of-order measurement information in large-scale complex distributed network scenarios.

Method used

By maintaining hash tables at the forwarding and control layers, random sampling of data packets and encapsulation of state information are performed. Combined with hash algorithms to update mapping positions and sending weights, important network state information is sent first, reducing bandwidth and management layer overhead.

Benefits of technology

It reduces network bandwidth consumption, decreases the processing complexity and computing resource consumption of the management layer, and ensures data accuracy and equipment bandwidth utilization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120416911B_ABST
    Figure CN120416911B_ABST
Patent Text Reader

Abstract

A network perception method, distributed device, equipment and computer readable storage medium. In the device forwarding layer, the message is not encapsulated, the device bandwidth during forwarding is guaranteed, and the device bandwidth utilization is improved; real-time detection and flow sampling reporting are performed to guarantee data accuracy and low overhead of the control layer; the control layer sends information of the control layer state table according to a sending weight, so that the management layer can receive important network state information more preferentially, and the overall overhead of the management layer is reduced; compared with the existing network perception technology based on in-band measurement, by maintaining the forwarding layer state table, the perception level is adjusted from a data packet to a data flow level, the consumption of network bandwidth resources is reduced, and the processing complexity and the consumption of computing resources of the management layer are also reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of network operation and maintenance technology, specifically to a network sensing method, a distributed device, an equipment, and a computer-readable storage medium. Background Technology

[0002] With the advent of the 5G and cloud era, IP networks have undergone tremendous changes in both services and architecture, posing significant challenges to network operations and maintenance. On the one hand, the development of 5G has led to the rise of a wealth of new services such as high-definition video, VR (Virtual Reality), and connected vehicles; on the other hand, to facilitate unified management and reduce maintenance costs, the cloudification of network equipment and services has become an inevitable trend. These new services and architectures present numerous challenges to the current transport network, such as ultra-high bandwidth, ultra-high connectivity, low latency, and high reliability. Traditional network operations and maintenance methods cannot meet the SLA requirements of new applications in the 5G and cloud era, with a prominent problem being the inefficiency of passively detecting and locating service breaches. Therefore, there is an urgent need to establish an efficient network awareness method.

[0003] To address the pain points of traditional network sensing, the industry has been exploring and improving it, proposing several different network sensing technologies. These technologies can be categorized into out-of-band measurement and in-band measurement modes based on the measurement type. Out-of-band measurement technology achieves end-to-end path performance measurement and statistics by indirectly simulating service data packets and periodically sending them. In-band measurement technology, on the other hand, achieves performance measurement and statistics of real service flows by feature-labeling real service packets or embedding detection information into them. Out-of-band measurement technology generally has difficulty guaranteeing sensing accuracy. Currently, the mainstream network sensing methods use in-band measurement methods, such as INT, IOAM, and iFIT, which achieve accurate network sensing by encapsulating network state information with data packets in the device forwarding plane.

[0004] These precise network sensing technologies rely on packet-level probing in the forwarding plane, and their probing overhead increases rapidly with network size, making them unsuitable for large-scale, complex, distributed network scenarios. Existing in-band measurement methods for network sensing suffer from the following problems:

[0005] 1. Packet-by-packet probing is used, and the sensing information encapsulated in the network is too long, consuming a lot of bandwidth resources.

[0006] 2. The reported information grows rapidly with the increase of data packets, which not only consumes bandwidth resources but also increases the load on the global analysis unit; network performance parameters are encapsulated in data packets at multiple layers, and data packet parsing consumes a large amount of computing and storage resources of the global analysis unit.

[0007] 3. If the reported detection information is lost or out of order, it will affect the measurement information and make it impossible to perform global analysis. Summary of the Invention

[0008] To address at least one of the aforementioned technical problems, this application provides a network sensing method, a distributed device, an apparatus, and a computer-readable storage medium.

[0009] In a first aspect, embodiments of this application provide a network sensing method, the network sensing method comprising:

[0010] The following steps are performed at the forwarding layer:

[0011] Step S11: For each received data packet, determine data packet B. k The mapping location in each hash table included in the forwarding layer state table is based on B. k The corresponding network state representation value updates the value at the mapped position, wherein the hash algorithm H is used. i For B k Feature F j Perform a hash operation to determine B. k Mapping position in hash table i Different hash tables perform hash operations using different hash algorithms and different features;

[0012] Step S12: During the forwarding of data packets, random sampling is performed on the data packets, and for the data packet B that is randomly sampled... k ', retrieve B from the forwarding layer state table k 'Add the latest value at the corresponding mapping position to B' k In the process, we obtain status data packet B. k " and B k "Sent to the control layer;

[0013] Perform the following steps at the control level:

[0014] Step S21, determine B k "In the mapping cell of the control layer state table, replace the value in the mapping cell with the latest value added in the state data packet, wherein the hash algorithm H..." i For B k "Feature F j Perform a hash operation to determine B. k "Mapping cell in column i of the control layer state table" Different columns are hashed using different hash algorithms and different features;

[0015] Step S22: For each mapped cell, determine the sub-send weight of the mapped cell based on the values ​​before and after the update, and sum the sub-send weights of all mapped cells in the same row of the control layer state table to obtain the row send weight of each row in the control layer state table.

[0016] Step S23: When the sending condition is met, the information of the control layer status table is sent to the management layer in descending order of priority according to the row sending weight.

[0017] In conjunction with the first aspect, in one implementation, the B-based k The corresponding network state representation value updates the value at the mapped position, including:

[0018] For network state representation values ​​with extreme value attributes, update the value at the mapping location to B. k The maximum value between the corresponding network state representation value and the current value at the mapped position.

[0019] In conjunction with the first aspect, in one implementation, the B-based k The corresponding network state representation value updates the value at the mapped position, including:

[0020] For network state representation values ​​that are cumulative attributes, if C k [H i (f)]+d<α, then let α=C k [H i (f)]+d, and update the value at the mapped position to α;

[0021] If C k [H i [f]+d≥α, and α>C k [H i (f)], then update the value at the mapped position to α;

[0022] If C k [H i If (f)]≥α, then keep α and the value at the mapping position unchanged;

[0023] Among them, C k [H i (f)] is the current value at the mapping position, d is the network state representation value of the accumulated attribute, and the initial value of α is a preset value.

[0024] In conjunction with the first aspect, in one implementation, determining the sub-sending weight of the mapped cell based on the values ​​before and after the update includes:

[0025] Determine the absolute rate of change based on the values ​​before and after the update;

[0026] The absolute rate of change is used as the sub-send weight of the mapped cell.

[0027] In conjunction with the first aspect, in one implementation, the network sensing method further includes:

[0028] When the transmission time is reached and the bandwidth utilization rate is less than the preset threshold, the transmission condition is determined to be met.

[0029] In conjunction with the first aspect, in one implementation, the step of sending the control layer status table information to the management layer in descending order of priority according to the row transmission weight is as follows:

[0030] The priority order of each row in the control layer status table is determined based on the row transmission weight.

[0031] Based on the maximum transmission length of the sending port and the packet assembly rules, determine the number of lines Q that can be sent;

[0032] The information of the Q row with the highest priority that is in the unsent state is obtained from the control layer state table to form a reporting data packet, and the reporting data packet is sent to the management layer to set the state of the Q row with the highest priority to the sent state.

[0033] If there are rows in the unsent state, return to the step of retrieving the information of the Q row with the highest priority in the unsent state from the control layer state table to form a reporting data packet, and send the reporting data packet to the management layer to set the state of the Q row with the highest priority to the sent state, until the state of all rows is sent.

[0034] In conjunction with the first aspect, in one implementation, the primary and backup attributes of the two state tables are periodically swapped, with the state table with the primary attribute serving as the forwarding layer state table.

[0035] Secondly, embodiments of this application provide a distributed device, the distributed device comprising:

[0036] The forwarding plane is used to determine packet B for each received packet. k The mapping location in each hash table included in the forwarding layer state table is based on B. k The corresponding network state representation value updates the value at the mapped position, wherein the hash algorithm H is used. i For B k Feature F j Perform a hash operation to determine B. k Mapping position in hash table i Different hash tables perform hash operations using different hash algorithms and different features; during the forwarding of data packets, data packets are randomly sampled, and for the randomly sampled data packet B... k', retrieve B from the forwarding layer state table k 'Add the latest value at the corresponding mapping position to B' k In the process, we obtain status data packet B. k " and B k "Sent to the control layer;

[0037] Control plane, used to determine B k "In the mapping cell of the control layer state table, replace the value in the mapping cell with the latest value added in the state data packet, wherein the hash algorithm H..." i For B k "Feature F j Perform a hash operation to determine B. k "Mapping cell in column i of the control layer state table" Different columns are hashed using different hash algorithms and different features. For each mapped cell, the sub-send weight of the mapped cell is determined based on the values ​​before and after the update. The sub-send weights of all mapped cells in the same row of the control layer state table are accumulated to obtain the row send weight of each row in the control layer state table. When the sending condition is met, the information of the control layer state table is sent to the management layer in order of priority from high to low according to the row send weight.

[0038] Thirdly, embodiments of this application provide a distributed device, the distributed device including a processor, a memory, and a distributed program stored in the memory and executable by the processor, wherein when the network sensing program is executed by the processor, it implements the steps of the network sensing method as described in the first aspect.

[0039] Fourthly, embodiments of this application provide a computer-readable storage medium storing a network sensing program, wherein when the network sensing program is executed by a processor, it implements the steps of the network sensing method as described in the first aspect.

[0040] The beneficial effects of the technical solutions provided in this application include:

[0041] No packet encapsulation is performed at the device forwarding layer to ensure device bandwidth during forwarding and improve device bandwidth utilization; real-time detection and traffic sampling reporting ensure data accuracy and low overhead at the control layer; the control layer sends control layer status table information according to the sending weight to ensure that the management layer can receive important network status information with priority and reduce the overall overhead of the management layer.

[0042] Compared with existing network awareness technologies based on in-band measurements, this method adjusts the awareness level from the packet level to the data stream level by maintaining a forwarding layer state table, which reduces the consumption of network bandwidth resources, as well as the processing complexity and computing resource consumption of the management layer. Attached Figure Description

[0043] Figure 1 This is a schematic diagram of a scenario according to an embodiment of the network perception method of this application;

[0044] Figure 2 This is a schematic diagram of the forwarding layer state table in one embodiment of the network awareness method of this application;

[0045] Figure 3 This is a schematic diagram of the control layer state table in one embodiment of the network perception method of this application;

[0046] Figure 4 This is a schematic diagram of the format of the reported data packet in one embodiment of the network sensing method of this application;

[0047] Figure 5 This is a schematic diagram of the functional modules of an embodiment of the distributed device of this application;

[0048] Figure 6 This is a schematic diagram of the hardware structure of the distributed device involved in the embodiments of this application. Detailed Implementation

[0049] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of the present application.

[0050] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.

[0051] In a first aspect, embodiments of this application provide a network sensing method.

[0052] In one embodiment, Figure 1 This is a schematic diagram of a scenario according to an embodiment of the network perception method of this application. Figure 1As shown, the forwarding layer stores and updates the forwarding layer state table at the forwarding layer. Then, it randomly samples data packets, encapsulates the state information within the sampled packets, and sends them to the control layer. The control layer periodically performs a master / slave switch for the forwarding layer state table, reassembles the received state information from the forwarding layer into a control layer state table, sets appropriate transmission weights, and fragments the control layer state table into state groups, sending them sequentially to the management layer. The management layer receives the reported data packets from the devices, maintains a bitmap state table for each device, and performs global network awareness and fault analysis based on the information in these state tables.

[0053] Combination Figure 1 As shown, network-aware methods include:

[0054] The following steps are performed at the forwarding layer:

[0055] Step S11: For each received data packet, determine data packet B. k The mapping location in each hash table included in the forwarding layer state table is based on B. k The corresponding network state representation value updates the value at the mapped position, wherein the hash algorithm H is used. i For B k Feature F j Perform a hash operation to determine B. k Mapping position in hash table i Different hash tables perform hash operations using different hash algorithms and different features;

[0056] In this embodiment, the forwarding layer steps are performed by the forwarding plane. After receiving a data packet, the forwarding plane parses it to determine its characteristics. The characteristics are exemplified by a 5-tuple; for any received data packet, the parsing determines its source IP address, source port, destination IP address, destination port, and transport layer protocol.

[0057] Assume the forwarding layer state table includes 5 hash tables: Hash table 1 hashes the source IP address using hash algorithm 1; Hash table 2 hashes the source port using hash algorithm 2; Hash table 3 hashes the destination IP address using hash algorithm 3; Hash table 4 hashes the destination port using hash algorithm 4; and Hash table 5 hashes the transport layer protocol using hash algorithm 5.

[0058] Based on the above rules, for any received data packet B k In other words, data packet B can be determined. k The mapping position in hash table 1 included in the forwarding layer state table. Data packet B k The mapping position in hash table 2 included in the forwarding layer state table. Data packet B k The mapping position in hash table 3 included in the forwarding layer state table. Data packet B k The mapping position in hash table 4 included in the forwarding layer state table. and data packet B k The mapping position in hash table 5 included in the forwarding layer state table. It's easy to understand that data packets with the same source IP address will have the same mapping position in hash table 1; similarly, data packets with the same source port will have the same mapping position in hash table 2, and so on.

[0059] Determine data packet B k After mapping the position in each hash table included in the forwarding layer state table, it can be based on B k The corresponding network state representation value updates the value at the mapped position.

[0060] Specifically, network status representation values ​​include cumulative network status representation values ​​and extreme value network status representation values. These are used to record information such as the traffic size, count, latency, jitter, and queue of the data stream to which the data packet belongs, or other device status information. For ease of explanation, only the maximum traffic size and latency value are used as examples, where the traffic size is a cumulative attribute and the maximum latency value is an extreme value attribute.

[0061] In conjunction with the above description, in one embodiment, the B-based k The corresponding network state representation value updates the value at the mapped position, including:

[0062] For network state representation values ​​with extreme value attributes, update the value at the mapping location to B. k The maximum value between the corresponding network state representation value and the current value at the mapped position.

[0063] In this embodiment, we assume B k Mapping position in hash table i Current B k The corresponding maximum delay is D. The maximum recorded delay is D. k [H i (f)]; if D > D k [H i (f)], then The maximum delay recorded at point D is updated to D; if D ≤ D k [H i (f)], then keep The maximum delay recorded remains unchanged.

[0064] In another embodiment, the B-based kThe corresponding network state representation value updates the value at the mapped position, including:

[0065] For network state representation values ​​that are cumulative attributes, if C k [H i (f)]+d<α, then let α=C k [H i (f)]+d, and update the value at the mapped position to α;

[0066] If C k [H i [f]+d≥α, and α>C k [H i (f)], then update the value at the mapped position to α;

[0067] If C k [H i If (f)]≥α, then keep α and the value at the mapping position unchanged;

[0068] Among them, C k [H i (f)] is the current value at the mapping position, d is the network state representation value of the accumulated attribute, and the initial value of α is a preset value.

[0069] In this embodiment, we assume assumption B. k Mapping position in hash table i Current B k The corresponding flow rate is d. The current recorded flow rate is C. k [H i (f)];If C k [H i (f)]+d<α, then let α=C k [H i (f)]+d, and will The recorded flow rate value is updated to α;

[0070] If C k [H i [f]+d≥α, and α>C k [H i (f)], then The recorded flow rate value is updated to α;

[0071] If C k [H i (f)]≥α, then keep α and The recorded flow rate value remains unchanged.

[0072] The initial value of α is a preset value, which can be set according to actual needs, and there are no restrictions here.

[0073] Furthermore, in one embodiment, the primary and backup attributes of the two state tables are periodically swapped, with the state table with the primary attribute serving as the forwarding layer state table.

[0074] In this embodiment, by periodically swapping the primary and backup attributes of the two state tables, and using the state table with the primary attribute as the forwarding layer state table, network status statistics are performed periodically, avoiding the influence of historical records on statistical information. Specifically, the control layer can periodically time the process, and at the end of the timeout, the state tables can be scheduled to periodically swap the primary and backup attributes of the two state tables.

[0075] Step S12: During the forwarding of data packets, random sampling is performed on the data packets, and for the data packet B that is randomly sampled... k ', retrieve B from the forwarding layer state table k 'Add the latest value at the corresponding mapping position to B' k In the process, we obtain status data packet B. k " and B k "Sent to the control layer;

[0076] In this embodiment, during the forwarding of data packets, a certain proportion of random sampling is performed, and the hit data packet B k Add its corresponding network state information (i.e., retrieve B from the forwarding layer state table). k 'Add the latest value at the corresponding mapping position to B' k (in the middle), the status data packet B is obtained. k " and B k "Sent to the control layer. The sampling ratio is adjustable, which affects the processing load of the device control layer and the real-time performance of network status information acquisition."

[0077] Perform the following steps at the control level:

[0078] Step S21, determine B k "In the mapping cell of the control layer state table, replace the value in the mapping cell with the latest value added in the state data packet, wherein the hash algorithm H..." i For B k "Feature F j Perform a hash operation to determine B. k "Mapping cell in column i of the control layer state table" Different columns are hashed using different hash algorithms and different features;

[0079] In this embodiment, similar to the hash mapping method in step S11, a control layer state table is maintained at the control layer. This table is divided into several columns, and different columns are hashed using different hash algorithms and different features. For example, the first column hashes the source IP address using hash algorithm 1; the second column hashes the source port using hash algorithm 2, and so on. In this way, B can be determined. k "Map the cells in each column of the control layer state table, and directly replace the values ​​in the mapped cells with the latest values ​​added in the state data packet."

[0080] Step S22: For each mapped cell, determine the sub-send weight of the mapped cell based on the values ​​before and after the update, and sum the sub-send weights of all mapped cells in the same row of the control layer state table to obtain the row send weight of each row in the control layer state table.

[0081] In this embodiment, refer to Figure 2 , Figure 2 This is a schematic diagram of the forwarding layer state table in one embodiment of the network awareness method of this application, as shown below. Figure 2 As shown, the forwarding layer state table comprises multiple hash tables. (See reference...) Figure 3 , Figure 3 This is a schematic diagram of the control layer state table in one embodiment of the network perception method of this application, as shown below. Figure 3 As shown, the control layer state table is equivalent to concatenating multiple hash tables, with each hash table forming a column of the control layer state table. In addition, the control layer state table includes a weight column to record the row transmission weight of each row. The row transmission weight of each row is obtained by accumulating the sub-transmission weights of all mapped cells within that row. Each row of the control layer state table represents a state group. For example, the first column of the control layer state table might be hashed using hash algorithm 1 on the source IP address, the second column on the source port using hash algorithm 2, the third column on the destination IP address using hash algorithm 3, the fourth column on the destination port using hash algorithm 4, and the fifth column on the transport layer protocol using hash algorithm 5. Assuming the first column, second row is the mapping cell for SIP_1, the second column, second row is the mapping cell for DIP_1, the third column, second row is the mapping cell for SP_1, the fourth column, second row is the mapping cell for DP_1, and the fifth column, second row is the mapping cell for the TCP protocol, then the second row of the control layer state table represents the network state information of the state group with source IP address SIP_1, source port SP_1, destination IP address DIP_1, destination port DP_1, and transport layer protocol TCP.

[0082] In one embodiment, determining the sub-sending weight of the mapped cell based on the values ​​before and after the update includes:

[0083] The absolute rate of change is determined based on the values ​​before and after the update; the absolute rate of change is used as the sub-send weight of the mapped cell.

[0084] In this embodiment, for each mapped cell, the absolute value of the value before and after the update is calculated, and then the ratio of the absolute value to the value before the update is calculated to obtain the absolute rate of change, which is used as the sub-sending weight of the mapped cell.

[0085] Step S23: When the sending condition is met, the information of the control layer status table is sent to the management layer in descending order of priority according to the row sending weight.

[0086] In this embodiment, the sending conditions are set according to actual needs, such as based on time and / or network status. Optionally, when the sending time is reached and the bandwidth utilization rate is less than a preset threshold, the sending conditions are determined to have been met. Then, the priority order among the rows is determined according to the row sending weight, and the information recorded in the rows with higher priority is sent to the management layer first.

[0087] Furthermore, in one embodiment, the step of sending the control layer status table information to the management layer in descending order of priority according to the row transmission weight is as follows:

[0088] Step S231: Determine the priority order of each row in the control layer status table according to the row transmission weight;

[0089] Step S232: Determine the number of lines Q that can be sent based on the maximum sending length of the sending port and the packet assembly rules;

[0090] Step S233: Obtain the information of the Q row with the highest priority that is in the unsent state from the control layer state table to form a reporting data packet, and send the reporting data packet to the management layer to set the state of the Q row with the highest priority to the sent state.

[0091] Step S234: If there are rows in the unsent state, return to the step of obtaining the information of the Q row with the highest priority in the unsent state from the control layer state table to form a reporting data packet, and send the reporting data packet to the management layer to set the state of the Q row with the highest priority to the sent state, until the state of all rows is the sent state.

[0092] In this embodiment, refer to Figure 4 , Figure 4 This is a schematic diagram of the format of the reported data packet in one embodiment of the network sensing method of this application. For example... Figure 4 As shown, the descriptions of each field are as follows:

[0093] (1) Device ID: Global identifier ID information that identifies the device in the network (i.e. the device that performs the network sensing method of this application).

[0094] (2) Status Group 1: Status Group 1 information sent by the device.

[0095] (3) Status Group 1 Location: Location information of Status Group 1 sent by the device. If the entry length is m, the location information needs to be stored in at least log2m bits.

[0096] (4) Status group p: Status group p information sent by the device.

[0097] (5) Status group p location: Location information of status group p sent by the device.

[0098] (6) Calculation method for the state group length p of the state table sending fragment: If the maximum sending length of the sending port is MTU, the length of the sending data packet header is Head_len, the length of a state group in the state table is Sg_len, and the length of the state group position is pos_len, then the formula for calculating the size of the state group in the fragment is as follows:

[0099]

[0100] in, This indicates that the value of (MTU-head_len) / (Sg_len+pos_len) is rounded down.

[0101] Assuming the value of p is determined to be 7, the information of the 7 rows with the highest priority that are in the unsent state are obtained from the control layer state table to form a reporting data packet, and the reporting data packet is sent to the management layer. The corresponding sending bitmap of these 7 rows is set. The row has been set in the sending bitmap, which means that the row has been sent.

[0102] If there are rows in the unsent state, return to step S233 until all rows are in the sent state.

[0103] You can also set a weight threshold. Lines with a sending weight lower than the weight threshold will not participate in information reporting. For example, if the control layer status table has 100 rows, and the sending weight of rows 1 to 77 is lower than the weight threshold, then the reporting data packet will be composed only based on the priority of rows 78 to 100 of the control layer status table and the information recorded therein.

[0104] It should be noted that the sending bitmap must be cleared before the next sending condition is met.

[0105] Furthermore, the network sensing method of this application can be implemented by distributed devices in a distributed system. Each distributed device executes the aforementioned network sensing method. For the global analysis unit at the management level, the network status table of each distributed device can be reconstructed based on the received reported data packets. Then, based on the network status tables of multiple distributed devices, global network sensing and fault location analysis can be performed. By designing different types of status unit values ​​and distributing the data transmission among various devices, the problems of measurement information loss caused by network status data packet loss and out-of-order delivery are solved while ensuring sensing accuracy.

[0106] In this embodiment, no packet encapsulation is performed at the device forwarding layer to ensure device bandwidth during forwarding and improve device utilization; real-time detection and traffic sampling reporting by the programmable forwarding unit ensure data accuracy and low overhead of the control layer; the control layer sends the information of the control layer status table according to the sending weight to ensure that the management layer can receive important network status information with priority and reduce the overall overhead of the management layer.

[0107] Compared with existing network awareness technologies based on in-band measurements, this method adjusts the awareness level from the packet level to the data stream level by maintaining a forwarding layer state table, which reduces the consumption of network bandwidth resources, as well as the processing complexity and computing resource consumption of the management layer.

[0108] Secondly, embodiments of this application also provide a distributed device.

[0109] In one embodiment, reference is made to Figure 5 , Figure 5 This is a functional module diagram of an embodiment of the distributed device of this application. Figure 5 As shown, the distributed device includes:

[0110] Forwarding plane 10 is used to determine packet B for each received packet. k The mapping location in each hash table included in the forwarding layer state table is based on B. k The corresponding network state representation value updates the value at the mapped position, wherein the hash algorithm H is used. i For B k Feature F j Perform a hash operation to determine B. k Mapping position in hash table i Different hash tables perform hash operations using different hash algorithms and different features; during the forwarding of data packets, data packets are randomly sampled, and for the randomly sampled data packet B... k ', retrieve B from the forwarding layer state table k 'Add the latest value at the corresponding mapping position to B' k In the process, we obtain status data packet B.k " and B k "Sent to the control layer;

[0111] Control plane 20 is used to determine B k "In the mapping cell of the control layer state table, replace the value in the mapping cell with the latest value added in the state data packet, wherein the hash algorithm H..." i For B k "Feature F j Perform a hash operation to determine B. k "Mapping cell in column i of the control layer state table" Different columns are hashed using different hash algorithms and different features. For each mapped cell, the sub-send weight of the mapped cell is determined based on the values ​​before and after the update. The sub-send weights of all mapped cells in the same row of the control layer state table are accumulated to obtain the row send weight of each row in the control layer state table. When the sending condition is met, the information of the control layer state table is sent to the management layer in order of priority from high to low according to the row send weight.

[0112] Furthermore, in one embodiment, the forwarding plane 10 is used for:

[0113] For network state representation values ​​with extreme value attributes, update the value at the mapping location to B. k The maximum value between the corresponding network state representation value and the current value at the mapped position.

[0114] Furthermore, in one embodiment, the forwarding plane 10 is used for:

[0115] For network state representation values ​​that are cumulative attributes, if C k [H i (f)]+d<α, then let α=C k [H i (f)]+d, and update the value at the mapped position to α;

[0116] If C k [H i [f]+d≥α, and α>C k [H i (f)], then update the value at the mapped position to α;

[0117] If C k [H i If (f)]≥α, then keep α and the value at the mapping position unchanged;

[0118] Among them, C k [H i(f)] is the current value at the mapping position, d is the network state representation value of the accumulated attribute, and the initial value of α is a preset value.

[0119] Furthermore, in one embodiment, the control plane 20 is used for:

[0120] Determine the absolute rate of change based on the values ​​before and after the update;

[0121] The absolute rate of change is used as the sub-send weight of the mapped cell.

[0122] Furthermore, in one embodiment, the control plane 20 is used for:

[0123] When the transmission time is reached and the bandwidth utilization rate is less than the preset threshold, the transmission condition is determined to be met.

[0124] Furthermore, in one embodiment, the control plane 20 is used for:

[0125] The priority order of each row in the control layer status table is determined based on the row transmission weight.

[0126] Based on the maximum transmission length of the sending port and the packet assembly rules, determine the number of lines Q that can be sent;

[0127] The information of the Q row with the highest priority that is in the unsent state is obtained from the control layer state table to form a reporting data packet, and the reporting data packet is sent to the management layer to set the state of the Q row with the highest priority to the sent state.

[0128] If there are rows in the unsent state, return to the step of retrieving the information of the Q row with the highest priority in the unsent state from the control layer state table to form a reporting data packet, and send the reporting data packet to the management layer to set the state of the Q row with the highest priority to the sent state, until the state of all rows is sent.

[0129] Furthermore, in one embodiment, the primary and backup attributes of the two state tables are periodically swapped, with the state table with the primary attribute serving as the forwarding layer state table.

[0130] The functions of each module in the above-mentioned network sensing device correspond to the steps in the above-mentioned network sensing method embodiments, and their functions and implementation processes will not be described in detail here.

[0131] Thirdly, embodiments of this application provide a distributed device, which may be a personal computer (PC), a laptop computer, a server, or other device with data processing capabilities.

[0132] Reference Figure 6 , Figure 6This is a schematic diagram of the hardware structure of the distributed device involved in the embodiments of this application. In the embodiments of this application, the distributed device may include a processor, a memory, a communication interface, and a communication bus.

[0133] The communication bus can be of any type and is used to interconnect the processor, memory, and communication interface.

[0134] Communication interfaces include input / output (I / O) interfaces, physical interfaces, and logical interfaces used for interconnecting devices within a distributed device, as well as interfaces used for interconnecting the distributed device with other devices (such as other computing devices or user equipment). Physical interfaces can be Ethernet interfaces, fiber optic interfaces, ATM interfaces, etc.; user equipment can be displays, keyboards, etc.

[0135] Memory can be various types of storage media, such as random access memory (RAM), read-only memory (ROM), non-volatile RAM (NVRAM), flash memory, optical storage, hard disk, programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), etc.

[0136] The processor can be a general-purpose processor, which can call the network sensing program stored in the memory and execute the network sensing method provided in the embodiments of this application. For example, the general-purpose processor can be a central processing unit (CPU). The method executed when the network sensing program is called can be referred to in the various embodiments of the network sensing method of this application, and will not be repeated here.

[0137] Those skilled in the art will understand that Figure 6 The hardware structure shown does not constitute a limitation of this application and may include more or fewer components than shown, or combine certain components, or have different component arrangements.

[0138] Fourthly, embodiments of this application also provide a computer-readable storage medium.

[0139] The present application has a computer-readable storage medium storing a network sensing program, wherein when the network sensing program is executed by a processor, it implements the steps of the network sensing method as described above.

[0140] The method implemented when the network sensing program is executed can be referred to in various embodiments of the network sensing method of this application, and will not be repeated here.

[0141] It should be noted that the sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0142] The terms "comprising" and "having," and any variations thereof, in the specification, claims, and accompanying drawings of this application are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to such process, method, product, or apparatus. The terms "first," "second," and "third," etc., are used to distinguish different objects, etc., and do not indicate a sequence, nor do they limit "first," "second," and "third" to different types.

[0143] In the description of the embodiments of this application, terms such as "exemplary," "for example," or "for instance" are used to indicate examples, illustrations, or explanations. Any embodiment or design described as "exemplary," "for example," or "for instance" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or designs. Specifically, the use of terms such as "exemplary," "for example," or "for instance" is intended to present the relevant concepts in a concrete manner.

[0144] In the description of the embodiments of this application, unless otherwise stated, " / " means "or". For example, A / B can mean A or B. The "and / or" in the text is merely a description of the relationship between related objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist simultaneously, and B exists alone. In addition, in the description of the embodiments of this application, "multiple" means two or more.

[0145] In some processes described in the embodiments of this application, multiple operations or steps are included in a specific order. However, it should be understood that these operations or steps may not be executed in the order they appear in the embodiments of this application, or they may be executed in parallel. The sequence number of the operation is only used to distinguish different operations, and the sequence number itself does not represent any execution order. In addition, these processes may include more or fewer operations, and these operations or steps may be executed sequentially or in parallel, and these operations or steps may be combined.

[0146] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) as described above, and includes several instructions to cause a terminal device to execute the methods described in the various embodiments of this application.

[0147] The above are merely preferred embodiments of this application and do not limit the patent scope of this application. Any equivalent structural or procedural transformations made using the content of this application's specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of this application.

Claims

1. A network sensing method, characterized in that, The network sensing method includes: The following steps are performed at the forwarding layer: Step S11: For each received data packet, determine the data packet. The mapping location in each hash table included in the forwarding layer state table is based on... The corresponding network state representation value updates the value at the mapped position, wherein the hash algorithm is used. right Features Perform a hash operation to determine In hash table i Mapping position in Different hash tables perform hash operations using different hash algorithms and different features; Step S12: During the forwarding of data packets, random sampling is performed on the data packets, and the random sampling hits the data packets. Obtain from the forwarding layer state table Add the latest value at the corresponding mapping position to In the process, the status data packet is obtained. and will Send to the control layer; Perform the following steps at the control level: Step S21, confirm In the mapping cell of the control layer state table, the value in the mapping cell is replaced with the latest value added in the state data packet, wherein the hash algorithm is used. right Features Perform a hash operation to determine In the control layer state table i Column mapping cells Different columns are hashed using different hash algorithms and different features; Step S22: For each mapped cell, determine the sub-send weight of the mapped cell based on the values ​​before and after the update, and sum the sub-send weights of all mapped cells in the same row of the control layer state table to obtain the row send weight of each row in the control layer state table. Step S23: When the sending condition is met, the information of the control layer status table is sent to the management layer in descending order of priority according to the row sending weight.

2. The network sensing method as described in claim 1, characterized in that, The basis The corresponding network state representation value updates the value at the mapped position, including: For network state representation values ​​with extreme value attributes, the value at the mapping location is updated to... The maximum value between the corresponding network state representation value and the current value at the mapped position.

3. The network sensing method as described in claim 1, characterized in that, The basis The corresponding network state representation value updates the value at the mapped position, including: For network state representation values ​​that are cumulative attributes, if Then another And update the value at the mapped position to ; like ,and Then the value at the mapped position will be updated to ; like Then keep The value at the mapped position remains unchanged; in, The current value at the mapped position. For the network state representation value of the accumulated attributes, The initial value is the preset value.

4. The network sensing method as described in claim 1, characterized in that, The process of determining the sub-sending weight of the mapped cell based on the values ​​before and after the update includes: Determine the absolute rate of change based on the values ​​before and after the update; The absolute rate of change is used as the sub-send weight of the mapped cell.

5. The network sensing method as described in claim 1, characterized in that, The network sensing method further includes: When the transmission time is reached and the bandwidth utilization rate is less than the preset threshold, the transmission condition is determined to be met.

6. The network sensing method as described in claim 1, characterized in that, The control layer status table information is sent to the management layer in descending order of priority according to the row transmission weight: The priority order of each row in the control layer status table is determined based on the row transmission weight. Based on the maximum transmission length of the sending port and the packet assembly rules, determine the number of lines Q that can be sent; The information of the Q row with the highest priority that is in the unsent state is obtained from the control layer state table to form a reporting data packet, and the reporting data packet is sent to the management layer to set the state of the Q row with the highest priority to the sent state. If there are rows in the unsent state, return to the step of retrieving the information of the Q row with the highest priority in the unsent state from the control layer state table to form a reporting data packet, and send the reporting data packet to the management layer to set the state of the Q row with the highest priority to the sent state, until the state of all rows is sent.

7. The network sensing method as described in claim 1, characterized in that, The primary and backup attributes of the two state tables are periodically swapped, with the state table with the primary attribute serving as the forwarding layer state table.

8. A distributed device, characterized in that, The distributed device includes: The forwarding plane is used to determine the packet for each received packet. The mapping location in each hash table included in the forwarding layer state table is based on... The corresponding network state representation value updates the value at the mapped position, wherein the hash algorithm is used. right Features Perform a hash operation to determine In hash table i Mapping position in Different hash tables perform hash operations using different hash algorithms and different features; during the forwarding of data packets, data packets are randomly sampled, and the data packets that are randomly sampled are then processed. Obtain from the forwarding layer state table Add the latest value at the corresponding mapping position to In the process, the status data packet is obtained. and will Send to the control layer; Control plane, used to determine In the mapping cell of the control layer state table, the value in the mapping cell is replaced with the latest value added in the state data packet, wherein the hash algorithm is used. right Features Perform a hash operation to determine In the control layer state table i Column mapping cells Different columns are hashed using different hash algorithms and different features. For each mapped cell, the sub-sending weight of the mapped cell is determined based on the values ​​before and after the update. The sub-sending weights of all mapped cells in the same row of the control layer state table are accumulated to obtain the row sending weight of each row in the control layer state table. When the sending condition is met, the information of the control layer state table is sent to the management layer in order of priority from high to low according to the row sending weight.

9. A distributed device, characterized in that, The distributed device includes a processor, a memory, and a distributed program stored in the memory and executable by the processor, wherein when the distributed program is executed by the processor, it implements the steps of the network awareness method as described in any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a network awareness program, wherein when the network awareness program is executed by a processor, it implements the steps of the network awareness method as described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Data fusion transmission and scheduling device based on variable length granularity

    CN111526089A

  • Wi-SUN communication emergency deduplication fixed weighted QoS management method, medium and terminal

    CN119155733A