CN117857399A - Traffic burst determining method and network equipment - Google Patents

Traffic burst determining method and network equipment Download PDF

Info

Publication number
CN117857399A
CN117857399A CN202211231465.9A CN202211231465A CN117857399A CN 117857399 A CN117857399 A CN 117857399A CN 202211231465 A CN202211231465 A CN 202211231465A CN 117857399 A CN117857399 A CN 117857399A
Authority
CN
China
Prior art keywords
queue
value
message
information
threshold
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211231465.9A
Other languages
Chinese (zh)
Inventor
陈爽
宋跃忠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202211231465.9A priority Critical patent/CN117857399A/en
Publication of CN117857399A publication Critical patent/CN117857399A/en
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The application provides a traffic burst determining method and network equipment. The method includes that network equipment starts to acquire length information and time information of a first message reaching a first queue in response to the first buffer occupancy value of the first queue being larger than a first threshold value, stops acquiring the length information and the time information of the first message reaching the first queue in response to the second buffer occupancy value of the first queue being smaller than a second threshold value, and then can determine traffic burst information of the first queue according to the length information and the time information of the first message of the first queue. Therefore, the network equipment can ensure the measurement accuracy of the traffic burst under the condition that the packet loss occurs in the queue by combining the buffer occupancy value of the queue and the length information and the time information of the first message reaching the first queue. Meanwhile, the network equipment selectively acquires the length information and the time information of the first message reaching the first queue, so that the measurement overhead of the traffic burst can be reduced to the greatest extent.

Description

Traffic burst determining method and network equipment
Technical Field
The present disclosure relates to the field of communications technologies, and in particular, to a method for determining a traffic burst and a network device.
Background
Network devices such as routers and switches generally need to set a plurality of queues and corresponding caches at the output ports, so as to absorb bursts of traffic through message queuing during the process of forwarding the messages. Accordingly, the traffic burst size of the queue has an important influence on SLA (Service Level Agreement ) indexes such as packet loss, time delay and the like of the service. For example, if the traffic burst value of the queue is too large, for example, exceeds the buffer limit value of the queue, the queue overflows, so that the packet is lost. In view of this, by measuring the burst size of the flow of the queue, it is helpful to grasp the actual congestion degree of the network and the SLA guarantee condition of the service, and at the same time, it is also possible to further optimize in terms of network resource allocation, path management, etc. based on the measurement result, so that it has important value.
At present, there are two main implementations of measuring traffic bursts of a queue. One implementation is: the traffic burst size of the queue is characterized by directly reading the buffer occupancy size of the queue. However, this implementation has a problem of low accuracy in the case of packet loss in the queue. Another implementation is: and recording the information such as the number of messages, the size of the messages, the arrival time of the messages and the like of the arrival queues one by one, so as to draw traffic emergency of the queues at the moment. However, this implementation needs to measure all packets arriving at the queue packet by packet, and although the measurement result is relatively accurate, when the flow is large, the packet by packet measurement method may cause a problem of excessive overhead in terms of calculation, storage, transmission, and the like.
Disclosure of Invention
The embodiment of the application provides a traffic burst determining method and network equipment, which are used for ensuring the measurement accuracy of traffic bursts and simultaneously reducing the measurement overhead of the traffic bursts to the greatest extent.
In a first aspect, embodiments of the present application provide a traffic burst determination method that may be performed by a network device or a component (such as a system-on-a-chip or a circuit, etc.) capable of supporting the functions required by the network device to implement the method. Optionally, taking a method for determining traffic bursts performed by the network device as an example, in the method, the network device may start to acquire length information and time information of a first packet arriving at the first queue in response to the first buffer occupancy value of the first queue being greater than a first threshold. And then, the network equipment responds to the fact that the second buffer occupancy value of the first queue is smaller than a second threshold value, and can stop acquiring the length information and the time information of the first message reaching the first queue. Then, the network device may determine traffic burst information of the first queue according to the length information and the time information of the first packet of the first queue. Wherein the first threshold may be greater than or equal to the second threshold; the first queue is any one of one or more queues that the network device has.
For example, the network device may obtain length information and time information of one or more first messages arriving at the first queue between a first buffer occupancy value responsive to the first queue being greater than a first threshold value and a second buffer occupancy value responsive to the first queue being less than a second threshold value.
In the above design, the network device may selectively obtain the length information and the time information of the first packet arriving at the first queue by comparing the detected buffer occupancy value of the first queue with the corresponding threshold value, and may determine the traffic burst information of the first queue based on the selectively obtained length information and the time information of the first packet arriving at the first queue. Therefore, the design can ensure that the flow burst information of the queue can still be accurately determined under the condition that the packet loss occurs in the queue by combining the buffer occupancy value of the queue and the selectively acquired length information and time information of the first message reaching the first queue, so that the measurement accuracy of the flow burst can be ensured. Meanwhile, the design selectively acquires the length information and the time information of the first message reaching the first queue, so that the cost in the aspects of calculation, storage, transmission and the like in the flow burst measurement process can be effectively reduced, and the measurement cost of the flow burst can be reduced to the greatest extent.
In one possible design, in response to the first buffer occupancy value of the first queue being greater than a first threshold, starting to obtain length information and time information of a first packet arriving at the first queue, including:
and starting to acquire the length information and the time information of the first message reaching the first queue in response to the first buffer occupancy value of the first queue being greater than a first threshold value and the third buffer occupancy value of the first queue detected last time being less than the first threshold value.
In the above design, the network device compares the currently detected buffer occupancy value of the first queue with the first threshold, and compares the previously detected buffer occupancy value of the first queue with the first threshold, so as to more accurately determine whether to start acquiring the message arrival information (including the length information and the time information of the message) of the message arriving at the first queue, thereby effectively improving the accuracy of starting acquiring the message.
In one possible design, in response to the second buffer occupancy value of the first queue being less than the second threshold, stopping acquiring the length information and the time information of the first packet arriving at the first queue includes:
and stopping acquiring the length information and the time information of the first message reaching the first queue in response to the fact that the second buffer occupancy value of the first queue is smaller than a second threshold value and the fourth buffer occupancy value of the first queue detected last time is larger than the second threshold value.
In the above design, the network device compares the currently detected buffer occupancy value of the first queue with the second threshold, and compares the previously detected buffer occupancy value of the first queue with the second threshold, so as to more accurately judge whether to stop acquiring the message arrival information of the message arriving at the first queue, thereby effectively improving the accuracy of stopping acquiring the message.
In one possible design, the method further comprises:
and acquiring first record information, wherein the first record information comprises detection time information that the first cache occupation value is larger than a first threshold value and the first cache occupation value or the first threshold value.
In the above design, in order to accurately determine the traffic burst information of the queue, the network device may also obtain detection time information that the first buffer occupancy value is greater than the first threshold value and the first buffer occupancy value or the first threshold value to comprehensively determine the traffic burst information of the queue.
In one possible design, the method further comprises:
and acquiring second record information, wherein the second record information comprises the acquired length information and time information of N first messages, and N is an integer greater than or equal to 0.
In the above design, in order to accurately determine the traffic burst information of the queue, the network device may also acquire the length information and the time information of N first packets arriving at the queue to comprehensively determine the traffic burst information of the queue.
In one possible design, determining traffic burst information of the first queue according to the length information and the time information of the first message of the first queue includes:
and determining the traffic burst information of the first queue according to the length information and the time information of the N first messages, the detection time information and the first buffer occupancy value or the first threshold value.
In the above design, the network device may ensure that, in the case of packet loss of the queue, the traffic burst information of the first queue may still be accurately determined by combining the length information and the time information of the N first packets, the detection time information, and the first buffer occupancy value or the first threshold.
In one possible design, the traffic burst information of the first queue includes a traffic burst value of the first queue and a time of generation of the traffic burst value.
In the above design, the traffic burst value of the first queue and the generation time of the traffic burst value may be used to update the historical traffic burst information of the first queue, or may be used to perform data analysis later.
In one possible design, determining traffic burst information of the first queue according to length information and time information of the N first messages, detection time information, and a first buffer occupancy value or the first threshold value includes:
determining a first value corresponding to a second message according to the first buffer occupancy value or the first threshold value, the length information and time information of the second message, the detection time information and the bandwidth resource allocation value of the first queue, wherein the second message is any first message in N first messages;
selecting a third message with the maximum corresponding first value from the N first messages;
and taking the first value corresponding to the third message as a traffic burst value, and taking the time information of the third message as the generation time of the traffic burst value.
In the above design, the network device determines the traffic burst value of the first queue by sequentially calculating the first value corresponding to each first message, so that the calculated granularity is finer, and the accuracy of the calculated traffic burst value is higher.
In one possible design, determining traffic burst information of the first queue according to length information and time information of the N first messages, detection time information, and a first buffer occupancy value or a first threshold value includes:
Dividing N first messages into a plurality of aggregation messages, wherein any one aggregation message comprises at least one first message, the length information of any one aggregation message is the length information of the first messages contained in the aggregation message or the sum of the length information of at least two first messages contained in the aggregation message, and the time information of the aggregation message is the time information of the first message which reaches the first queue first in the at least one first message contained in the aggregation message;
determining a second value corresponding to the first aggregation message according to the first buffer occupancy value or the first threshold value, the detection time information, the bandwidth resource configuration value of the first queue, the length information of the first aggregation message and the time information of the first aggregation message, wherein the first aggregation message is any aggregation message in a plurality of aggregation messages;
selecting a second aggregation message with the corresponding second maximum value from the plurality of aggregation messages;
and taking the second value corresponding to the second aggregation message as a flow burst value, and taking the time information of the second aggregation message as the generation time of the flow burst value.
In the above design, after the network device aggregates N first messages according to a certain aggregation rule, for example, aggregates N first messages according to every m messages, a plurality of aggregated messages can be obtained, and the flow burst value of the first queue is determined by sequentially calculating the second value corresponding to each aggregated message, so that the overhead in the aspects of calculating, storing, transmitting and the like of the flow burst value can be effectively reduced to a certain extent.
In one possible design, the length information of the first message is used to indicate the size/data volume/dimension of the first message, and the time information of the first message is used to indicate the arrival time of the first message at the first queue.
In one possible design, the method further comprises:
acquiring historical flow burst information of a first queue, wherein the historical flow burst information comprises a historical maximum flow burst value of the first queue and generation time of the historical maximum flow burst value;
when the time difference between the generation time of the flow burst value and the generation time of the historical maximum flow burst value is larger than a time threshold, updating the historical maximum flow burst value of the first queue into the flow burst value, and updating the generation time of the historical maximum flow burst value into the generation time of the flow burst value; or alternatively
When the flow burst value is greater than or equal to the historical maximum flow burst value, updating the historical maximum flow burst value of the first queue to be the flow burst value, and updating the generation time of the historical maximum flow burst value to be the generation time of the flow burst value.
In the above design, the network device can accurately judge whether to update the historical traffic burst information of the first queue according to the magnitude relation between the traffic burst value of the first queue and the historical maximum traffic burst value of the first queue or the magnitude relation between the time difference between the generation time of the traffic burst value and the generation time of the historical maximum traffic burst value and the time threshold, so as to ensure that the follow-up data analysis or data visualization can be accurately performed according to the updated historical traffic burst information.
In one possible design, the method further comprises:
when the first queue has occurred or is about to lose packets, taking the traffic burst value as a no-packet-loss cache value of the first queue; or alternatively
Taking the product of the flow burst value and the first coefficient as a packet loss free cache value of the first queue;
the no-packet-loss buffer value is used for indicating the buffer size required for preventing the first queue from generating packet loss, the no-packet-loss buffer value is used for adjusting the total buffer value of the first queue, and the first coefficient is larger than 1.
In the above design, when judging that the first queue has occurred or is about to lose packets, the network device can use the traffic burst value as the no-packet-loss buffer value of the first queue, so that the corresponding adjustment of the queue buffer can be timely performed, the timely and accurate adjustment of the queue buffer can be realized, the packet loss condition of the queue can be effectively eliminated, and the service SLA experience can be improved.
In one possible design, the method further comprises:
when the first queue has occurred or is about to lose packets, determining a packet loss free bandwidth value of the first queue according to a first buffer occupancy value or a first threshold value, a total buffer value of the first queue, and length information and time information of N first messages;
The no-packet bandwidth value is used for indicating the bandwidth required by the first queue to avoid packet loss, and the no-packet bandwidth value is used for adjusting the bandwidth resource allocation value of the first queue.
In the above design, when judging that the first queue has occurred or is about to lose packets, the network device can calculate the value of the first queue without losing packets according to the obtained record information and the total buffer value of the first queue, so that the corresponding adjustment of the queue bandwidth can be timely performed, the timely and accurate adjustment of the queue bandwidth can be realized, the situation of losing packets of the queue can be effectively eliminated, and the service SLA experience can be improved.
In one possible design, when the packet loss rule adopted by the network device is a queue tail drop rule, determining a no-packet loss bandwidth value of the first queue according to the first buffer occupancy value or the first threshold, the total buffer value of the first queue, and the length information and the time information of the N first messages, including:
determining a third value corresponding to a fourth message according to the first buffer occupancy value or the first threshold value, the length information and the time information of the fourth message, the detection time information and the total buffer value of the first queue, wherein the fourth message is any first message in N first messages;
Selecting a fifth message with the maximum corresponding third value from the N first messages;
and determining a non-lost packet bandwidth value of the first queue according to a third value corresponding to the second coefficient and the fifth message, wherein the second coefficient is greater than or equal to 1.
In the above design, when the packet loss rule adopted by the network device is a queue tail drop rule, the network device may select a processing mode corresponding to the queue tail drop rule to determine the non-packet loss bandwidth value of the first queue. Therefore, the processing mode of determining the non-packet-loss bandwidth value of the first queue in the design is flexible, the matched processing mode is selected according to the actual packet-loss rule of the network equipment, the application requirements of the network equipment under different packet-loss rules can be met to a certain extent, and the use experience of a user can be improved.
In one possible design, when the packet loss rule adopted by the network device is a random early detection/weighted random early detection rule, determining a packet loss free bandwidth value of the first queue according to the first buffer occupancy value or the first threshold, the total buffer value of the first queue, and the length information and time information of the N first messages, including:
determining a fourth value corresponding to a sixth message according to the first buffer occupancy value or the first threshold value, the length information and time information of the sixth message, the detection time information and the low threshold value of the random early detection/weighting random early detection rule, wherein the sixth message is any first message in N first messages, and the low threshold value is greater than or equal to 0 and smaller than the total buffer value of the first queue;
Selecting a seventh message with the maximum fourth value from the N first messages;
and determining a non-lost packet bandwidth value of the first queue according to a fourth value corresponding to the third coefficient and the seventh message, wherein the third coefficient is greater than or equal to 1.
In the above design, when the packet loss rule adopted by the network device is a random early detection/weighted random early detection rule, the network device may select a processing mode corresponding to the random early detection/weighted random early detection rule to determine the packet loss free bandwidth value of the first queue. Therefore, the processing mode of determining the non-packet-loss bandwidth value of the first queue in the design is flexible, the matched processing mode is selected according to the actual packet-loss rule of the network equipment, the application requirements of the network equipment under different packet-loss rules can be met to a certain extent, and the use experience of a user can be improved.
In one possible design, the method further comprises:
counting the number of lost packets of the first queue through a packet loss counter, and determining that the first queue has lost packets when the number of lost packets of the first queue is greater than a packet loss threshold; or alternatively
And determining that the first queue has occurred or is about to lose the packet according to the traffic burst value and the total buffer value of the first queue.
In the above design, the network device may accurately determine whether the first queue has lost packets according to the number of packets lost in the first queue counted by the configured packet loss counter, or may determine whether the first queue has lost packets or is about to lose packets according to the traffic burst value of the first queue and the total buffer value of the first queue.
In one possible design, when the packet loss rule adopted by the network device is a queue tail drop rule, determining that the first queue has occurred or is about to lose packets according to the traffic burst value and the total buffer value of the first queue includes:
when the traffic burst value is larger than the total buffer value of the first queue, determining that the first queue has packet loss; or alternatively
When the traffic burst value is greater than or equal to the product of the total buffer value of the first queue and a fourth coefficient, determining that the first queue is about to lose packets, wherein the fourth coefficient is greater than 0 and less than 1.
In the above design, when the packet loss rule adopted by the network device is the queue tail drop rule, the network device can timely and accurately judge whether the first queue has occurred or is about to lose packets through the size relation between the traffic burst value of the first queue and the total buffer value of the first queue.
In one possible design, when the packet loss rule adopted by the network device is a random early detection/weighted random early detection rule, determining that the first queue has occurred or is about to lose packets according to the traffic burst value and the total buffer memory value of the first queue includes:
when the traffic burst value is larger than a low threshold value of a random early detection/weighted random early detection rule, determining that packet loss occurs in the first queue; or alternatively
When the traffic burst value is greater than or equal to the product of the low threshold value and a fifth coefficient, determining that the first queue is about to lose packets, wherein the fifth coefficient is greater than 0 and less than 1.
In the above design, when the packet loss rule adopted by the network device is a random early detection/weighted random early detection rule, the network device can timely and accurately judge whether the first queue has occurred or is about to lose packets through the magnitude relation between the traffic burst value of the first queue and the low threshold value of the random early detection/weighted random early detection rule.
In a second aspect, embodiments of the present application provide a network device, which may refer to the description of the first aspect, and are not described herein. The network device has functionality to implement the actions in the method examples of the first aspect described above. The functions may be implemented by hardware, or may be implemented by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the functions described above. In one possible design, the network device includes an acquiring module and a processing module, where the acquiring module is configured to start acquiring length information and time information of a first packet arriving at the first queue in response to a first buffer occupancy value of the first queue being greater than a first threshold; the acquiring module is further configured to stop acquiring length information and time information of the first packet arriving at the first queue in response to the second buffer occupancy value of the first queue being smaller than a second threshold; wherein the first threshold is greater than or equal to the second threshold; the processing module is used for determining the traffic burst information of the first queue according to the length information and the time information of the first message of the first queue. These modules may perform the corresponding functions in the above first aspect or any of the possible designs of the first aspect, and are specifically referred to in the detailed description in the method examples, which are not described herein.
In a third aspect, embodiments of the present application provide a network device that includes a communication interface and a processor, and optionally, a memory. Wherein the memory is for storing a computer program or instructions, the processor being coupled to the memory, the communication interface, and when the processor executes the computer program or instructions, cause the network device to perform the method of any one of the possible designs of the first aspect described above.
In a fourth aspect, embodiments of the present application provide a computer program product comprising a computer program or instructions which, when run on a computer, cause the computer to perform the method of any one of the possible designs of the first aspect described above.
In a fifth aspect, embodiments of the present application provide a computer-readable storage medium having stored therein a computer program or instructions which, when executed by a computer, cause the computer to perform the method of any one of the possible designs of the first aspect described above.
In a sixth aspect, embodiments of the present application further provide a chip coupled to a memory, the chip being configured to read a computer program stored in the memory, and to perform the method of any one of the possible designs of the first aspect.
In a seventh aspect, embodiments of the present application further provide a chip system, which includes a processor for supporting a computer device to implement the method in any one of the possible designs of the first aspect. In one possible design, the chip system further includes a memory for storing programs and data necessary for the computer device. The chip system may be formed of a chip or may include a chip and other discrete devices.
Further combinations of the present application may be made to provide further implementations based on the implementations provided in the above aspects.
Drawings
Fig. 1 schematically illustrates a possible application scenario provided in an embodiment of the present application;
fig. 2 schematically illustrates a structural diagram of one possible network device according to an embodiment of the present application;
fig. 3 is a schematic diagram schematically illustrating a functional module structure of a network device according to an embodiment of the present application;
fig. 4 schematically illustrates a flow chart of a traffic burst determining method according to an embodiment of the present application;
FIG. 5 is a schematic diagram schematically illustrating determining traffic burst information of a first queue according to an implementation manner;
FIG. 6 is a schematic diagram schematically illustrating determining traffic burst information of a first queue according to a second implementation manner according to an embodiment of the present application;
fig. 7 illustrates a schematic diagram of determining a no-packet bandwidth value of a first queue according to an embodiment of the present application;
fig. 8 illustrates a schematic diagram of determining a non-packet bandwidth value of a first queue according to a second embodiment provided in the present application;
fig. 9 illustrates a schematic structural diagram of one possible network device according to an embodiment of the present application;
fig. 10 illustrates a schematic structural diagram of one possible network device according to an embodiment of the present application.
Detailed Description
Before introducing the technical solutions provided in the present application, some terms involved in the present application are first explained for understanding by those skilled in the art.
(1) A control device (Controller) has a software and hardware set with centralized control and network management capabilities, and comprises functions of route calculation, resource allocation and the like. For example, the control device may be a server, a network device, or other software and hardware entity having the same path computation, resource allocation, and other functions.
(2) A Network device (Network Devices) is an entity on the Network side that has a function of transmitting and receiving signals, and for example, the Network device may be a device having an IP (Internet Protocol ) forwarding function, such as a router or a switch.
Illustratively, the network device may be configured to inter-convert the received air frames with network protocol packets, and may act as a router between the terminal device and the rest of the access network, which may include an IP network.
In the embodiment of the present application, the means for implementing the function of the network device may be the network device, or may be a means capable of supporting the network device to implement the function, for example, a chip system, and the apparatus may be installed in the network device.
In the description of the present application, "at least one" means one or more, and "a plurality" means two or more. "and/or", describes an association relationship of an association object, and indicates that there may be three relationships, for example, a and/or B, and may indicate: cases where A alone, both A and B together, and B alone, where A and B may be singular or plural. The character "/" generally indicates that the context-dependent object is an "or" relationship. "at least one of" or the like means any combination of these items, including any combination of single item(s) or plural items(s). For example, "at least one of A, B, and C" includes A, B, C, AB, AC, BC, or ABC. And, unless otherwise specified, references to "first," "second," etc. in the embodiments herein are for distinguishing between multiple objects and not for defining the order, timing, priority, or importance of the multiple objects.
Embodiments of the present application will be specifically described below with reference to the accompanying drawings.
Fig. 1 schematically illustrates one possible application scenario applicable to the embodiments of the present application, where at least one network device (such as network device 201, network device 202, network device 203, etc.) and a control device 100 connected to the at least one network device are included in the application scenario.
Optionally, after determining that a certain queue has occurred or is about to lose a packet, any network device may report the calculated buffer size (i.e. the buffer size without packet loss) required for making the queue generate no packet loss to the control device 100. After receiving the size of the no-packet-loss buffer of the queue, the control device 100 may adjust the current total buffer value of the queue according to the size of the no-packet-loss buffer of the queue. Then, the control device 100 may issue the adjusted total buffer value of the queue to the network device, so that the network device may correspondingly adjust the current total buffer value of the queue according to the adjusted total buffer value of the queue.
Optionally, after determining that a packet loss has occurred or is about to occur in a certain queue, any network device may report the calculated bandwidth size (i.e., the bandwidth size without packet loss) required for making the queue generate no packet loss to the control device 100. After receiving the size of the no-loss bandwidth of the queue, the control device 100 may adjust the bandwidth resource configuration value of the queue according to the size of the no-loss bandwidth of the queue. Then, the control device 100 may issue the adjusted bandwidth resource configuration value of the queue to the network device, so that the network device may correspondingly adjust the current bandwidth resource configuration value of the queue according to the adjusted bandwidth resource configuration value of the queue.
Optionally, when it is determined that the traffic burst value of a certain queue is greater than or equal to the historical maximum traffic burst value of the queue, or the time difference between the time of generation of the traffic burst value of the queue and the time of generation of the historical maximum traffic burst value of the queue is greater than the time threshold, any network device may update the historical maximum traffic burst information of the queue, and may report the updated historical maximum traffic burst information of the queue to the control device 100, so that the control device 100 may perform further operations such as data visualization and data analysis.
It should be noted that fig. 1 only schematically provides an application scenario, and the schematic application scenario is for more clearly describing the technical solution of the embodiment of the present application, and does not limit the application scenario configuration of the traffic burst determining method provided in the present application. The form and number of the respective devices in the application scenario shown in fig. 1 are merely examples, and are not limited to the present application. Moreover, the names of the devices in the application scenario shown in fig. 1 are only an example, and the names of the devices in the specific implementation may be other names, which is not specifically limited in this application.
Based on the application scenario shown in fig. 1, the embodiment of the application further provides a possible network device. Referring to fig. 2, the network device may include a network device forwarding plane 210 (which may also be referred to as a network device data plane), a network device control plane 220, and a network device management plane 230. It should be noted that, the connection relationship between the structures illustrated in fig. 2 is only an example, and does not limit the embodiments of the present application.
Optionally, the network device forwarding plane 210 is configured to implement forwarding actions of the packet under the management of the network device control plane 220. For example, the network device forwarding plane 210 is used to process and forward various types of data on different ports of the network device. For another example, for various specific processing forwarding procedures in the data processing procedure, such as various specific data processing forwarding procedures of L2/L3/ACL/QOS/multicast/security protection, all belong to the task category of the network device forwarding plane 210.
Optionally, the network device control plane 220 is used to take charge of controlling and managing the processing and computation of the device protocol, and may also be used to provide the network device forwarding plane 210 with various network information and forwarding lookup entries necessary before data processing forwarding.
Optionally, the network device management plane 230 is configured to provide a network manager with a remote terminal protocol Telnet, WEB (World Wide WEB), SSH (Secure Shell), SNMP (simple network management protocol), RMON (Remote Network Monitoring ), etc. to manage devices, and support, understand, and execute setting commands of the manager for various network protocols of the network device. Illustratively, the network device management plane 230 may preset relevant parameters for various protocols in the network device control plane 220 and support intervention in the operation of the network device control plane 220 at any moment.
Based on the network device shown in fig. 2, the embodiment of the application also provides a functional module structure of the network device. Referring to fig. 3, the following modules may be divided according to the logic functions of the network device: the system comprises a queue traffic burst receiving module, a queue cache adjusting module, a queue bandwidth adjusting module, a queue cache occupation monitoring module, a queue cache occupation recording module, a message arrival information recording module, a queue traffic burst calculating module, a queue no-packet-loss cache calculating module, a queue no-packet-loss bandwidth calculating module and the like. The network device forwarding plane 210 includes a queue buffer occupancy monitoring module, a queue buffer occupancy recording module, a message arrival monitoring module, a message arrival information recording module, a queue traffic burst calculation module, a queue no-packet-loss buffer calculation module, a queue no-packet-loss bandwidth calculation module, and the like. In one example, the queue traffic burst receiving module, the queue buffer adjustment module, the queue bandwidth adjustment module, etc. may be set independently of the network device, such as in the control device 100 illustrated in fig. 1. In another example, the queue traffic burst receiving module, the queue buffer adjustment module, the queue bandwidth adjustment module, etc. may be disposed in a network device, such as in the network device control plane 220 illustrated in fig. 3. It should be noted that, the connection relationship between the modules illustrated in fig. 3 is only an example, and does not limit the embodiments of the present application. The functions of the respective modules are described below.
The queue buffer occupancy monitoring module may be configured to monitor buffer occupancy of one or more queues of the network device.
For example, the queue buffer occupancy monitoring module detects a buffer occupancy value of a certain queue of the network device, for example, taking the queue 1 of the network device as an example, it is assumed that the buffer occupancy monitoring module detects the buffer occupancy value of the queue 1 of the network device as a. Then, the queue buffer occupancy monitoring module may determine whether the buffer occupancy value a of the queue 1 is greater than a first threshold. When the queue buffer occupancy monitoring module determines that the buffer occupancy value a of the queue 1 is greater than the first threshold, the detection time information that the buffer occupancy value a of the queue 1 is greater than the first threshold and the buffer occupancy value a or the first threshold of the queue 1 may be sent to the queue buffer occupancy recording module for recording. Alternatively, the detection time information that the buffer occupancy value a of the queue 1 is greater than the first threshold may refer to a detection time for detecting whether the buffer occupancy value a of the currently read queue 1 is greater than the first threshold, or may refer to a read time of the buffer occupancy value a of the currently read queue 1.
For another example, the queue buffer occupancy monitoring module detects a buffer occupancy value of a certain queue of the network device, for example, taking the queue 1 of the network device as an example, it is assumed that the buffer occupancy monitoring module detects the buffer occupancy value of the queue 1 of the network device as a. Then, the queue buffer occupancy monitoring module may determine whether the buffer occupancy value a of the queue 1 is just greater than a first threshold. When the queue buffer occupancy monitoring module determines that the buffer occupancy value a of the queue 1 is just greater than the first threshold, the detection time information that the buffer occupancy value a of the queue 1 is just greater than the first threshold and the buffer occupancy value a or the first threshold of the queue 1 may be sent to the queue buffer occupancy recording module for recording. Optionally, the buffer occupancy value a of the queue 1 is just greater than the first threshold, which means that the buffer occupancy value b of the queue 1 read last time is smaller than the first threshold, and the buffer occupancy value a of the queue 1 read this time is greater than the first threshold. Alternatively, the detection time information of the buffer occupancy value a of the queue 1 just greater than the first threshold may refer to a detection time of detecting whether the buffer occupancy value a of the currently read queue 1 is greater than the first threshold and whether the buffer occupancy value b of the previously read queue 1 is less than the first threshold, or may refer to a reading time of the buffer occupancy value a of the currently read queue 1.
The message arrival monitoring module may be configured to monitor the message arrival of one or more queues of the network device.
For example, taking the queue 1 of the network device as an example, the queue buffer occupancy monitoring module may trigger the message arrival monitoring module to monitor whether a new message arrives in the queue 1 after determining that the buffer occupancy value a of the queue 1 is greater than the first threshold. When the message arrival monitoring module detects that any new message arrives at the queue 1, the message arrival information of the new message can be sent to the message arrival information recording module for recording. The message arrival information of the new message may include length information of the new message and time information of arriving at the queue. Then, when the buffer occupancy value c of the queue 1 is smaller than the second threshold value, the queue buffer occupancy monitoring module triggers the message arrival monitoring module to stop sending the message arrival information of the new message arriving at the queue 1 to the message arrival information recording module. For example, the first threshold may be greater than or equal to the second threshold. For example, the first threshold may be set to a value smaller than the total cache value S of the queue 1, such as 0.9S, or the second threshold may be set to a value smaller than the total cache value S of the queue 1, such as 0.9S or 0.8S, or the like.
For another example, taking the queue 1 of the network device as an example, the queue buffer occupancy monitoring module may trigger the message arrival monitoring module to monitor whether a new message arrives in the queue 1 after determining that the buffer occupancy value a of the queue 1 is just greater than the first threshold. When the message arrival monitoring module detects that any new message arrives at the queue 1, the message arrival information of the new message can be sent to the message arrival information recording module for recording. Then, when the buffer occupancy value c of the queue 1 is determined to be just smaller than the second threshold value, the queue buffer occupancy monitoring module triggers the message arrival monitoring module to stop sending the message arrival information of the new message arriving at the queue 1 to the message arrival information recording module. Optionally, the buffer occupancy value c of the queue 1 is just smaller than the second threshold value, which means that the buffer occupancy value d of the queue 1 detected last time is not smaller than the second threshold value, and the buffer occupancy value c of the queue 1 detected this time is smaller than the second threshold value.
The queue buffer occupancy recording module may be configured to record the detection time information buffer occupancy value of any one of the queues, which is sent by the queue buffer occupancy monitoring module, and the first threshold value or the buffer occupancy value of the queue, or may also be configured to record the detection time information of any one of the queues, which is sent by the queue buffer occupancy monitoring module, and the buffer occupancy value of the first threshold value or the buffer occupancy value of the queue, which is just greater than the first threshold value. For example, taking a queue 1 of a network device as an example, when determining that a buffer occupancy value a of the queue 1 is just greater than a first threshold, the queue buffer occupancy recording module records a detection time when the buffer occupancy value a of the queue 1 is just greater than the first threshold and the first threshold or the buffer occupancy value a.
Optionally, the queue buffer occupancy monitoring module may be set independently of the queue buffer occupancy recording module, or may be integrated with the queue buffer occupancy recording module, which is not limited in this embodiment of the present application.
The message arrival information recording module is used for recording message arrival information of a new message which arrives at any one of the queues and is sent by the message arrival monitoring module.
For example, taking the queue 1 of the network device as an example, after determining that the buffer occupancy value a of the queue 1 is greater than the first threshold, the queue buffer occupancy monitoring module records the message arrival information of the new message arriving at the queue 1 after the detection time that the buffer occupancy value a of the queue 1 is greater than the first threshold, until the buffer occupancy value c of the queue 1 is less than the second threshold, and stops recording the message arrival information of the new message arriving at the queue 1.
For another example, taking the queue 1 of the network device as an example, after determining that the buffer occupancy value a of the queue 1 is just greater than the first threshold, the queue buffer occupancy monitoring module records the message arrival information of the new message arriving at the queue 1 after the buffer occupancy value a of the queue 1 is just greater than the detection time of the first threshold, until the buffer occupancy value c of the queue 1 is just less than the second threshold, and stops recording the message arrival information of the new message arriving at the queue 1.
Alternatively, the message arrival monitoring module may be set independently of the message arrival information recording module, or may be integrated with the message arrival information recording module, which is not limited in this embodiment of the present application.
Optionally, the queue traffic burst calculation module may be configured to determine traffic burst information of the queue according to the buffer occupancy value or the first threshold value of any one of the queues recorded by the queue buffer occupancy recording module, the detection time information of the buffer occupancy value of the queue being greater than the first threshold value, the message arrival information of the new message arriving at the queue after the buffer occupancy value of the queue is greater than the first threshold value recorded by the message arrival information recording module, and the bandwidth resource configuration value of the queue.
Optionally, the queue traffic burst calculation module may be further configured to determine traffic burst information of the queue according to the buffer occupancy value or the first threshold value of any one of the queues recorded by the queue buffer occupancy recording module, the detection time information of the buffer occupancy value of the queue just greater than the first threshold value, the message arrival information of the new message arriving at the queue after the buffer occupancy value of the queue just greater than the first threshold value recorded by the message arrival information recording module, and the bandwidth resource configuration value of the queue.
Illustratively, traffic burst information for any one of the queues may include a traffic burst value for that queue, a time of generation of the traffic burst value, and so on.
Optionally, the queue traffic burst calculation module may also be configured to determine whether any of the queues of the network device has occurred or is about to lose packets. For example, the queue traffic burst calculation module may determine whether a packet loss has occurred in a certain queue through the packet loss number of the certain queue counted by the packet loss counter, or may also determine whether a packet loss has occurred or is about to occur in the queue through the traffic burst value of the queue and the total buffer value of the queue.
Optionally, the queue traffic burst calculation module may also be configured to determine whether a traffic burst value of any one of the queues of the network device is greater than or equal to a historical maximum traffic burst value of the queue, or may also be configured to determine whether a time difference between a time of generation of the traffic burst value of the queue and a time of generation of the historical maximum traffic burst value of the queue is greater than a time threshold. When the flow burst value of the queue is greater than or equal to the historical maximum flow burst value of the queue, or the time difference between the generation time of the flow burst value of the queue and the generation time of the historical maximum flow burst value of the queue is greater than a time threshold, updating the historical maximum flow burst value of the queue to the flow burst value of the queue, and updating the generation time of the historical maximum flow burst value of the queue to the generation time of the flow burst value of the queue. The queue traffic burst calculation module may then report the updated historical maximum traffic burst value and the generation time of the updated historical maximum traffic burst value to a queue traffic burst receiving module included in the control device 100 or the network device control plane 220.
The queue no-packet-loss buffer calculation module is configured to calculate a no-packet-loss buffer size of a certain queue based on the traffic burst value of the queue calculated by the queue traffic burst calculation module after the queue traffic burst calculation module determines that the certain queue has occurred or is about to lose packets. Then, the queue no-packet-loss buffer calculation module may report the size of the no-packet-loss buffer of the queue to the queue buffer adjustment module included in the control device 100 or the network device control plane 220.
Optionally, the queue no-packet-loss bandwidth calculation module may be configured to calculate, after the queue traffic burst calculation module determines that a certain queue has occurred or is about to lose a packet, the no-packet-loss bandwidth size of the queue according to a buffer occupancy value or a first threshold value of the queue recorded by the queue buffer occupancy recording module, detection time information that the buffer occupancy value of the queue is greater than the first threshold value, packet arrival information of a new packet arriving at the queue after the buffer occupancy value of the queue is greater than the first threshold value recorded by the packet arrival information recording module, and a bandwidth resource configuration value of the queue.
Optionally, the queue no-packet-loss bandwidth calculation module may also be configured to calculate, after the queue traffic burst calculation module determines that a certain queue has occurred or is about to lose a packet, a bandwidth size required for causing the queue not to generate a packet loss according to a buffer occupancy value or a first threshold value of the queue, detection time information of the buffer occupancy value of the queue being just greater than the first threshold value, packet arrival information of a new packet arriving at the queue after the buffer occupancy value of the queue is just greater than the first threshold value, which is recorded by the packet arrival information recording module.
Illustratively, the queue no-loss bandwidth calculation module may report the no-loss bandwidth size of the queue to a queue bandwidth adjustment module included in the control device 100 or the network device control plane 220.
The queue traffic burst receiving module is used for receiving the updated historical maximum traffic burst value and the generation time of the updated historical maximum traffic burst value sent by the queue traffic burst calculating module, and further operations such as data visualization and data analysis can be performed according to the updated historical maximum traffic burst value and the generation time of the updated historical maximum traffic burst value.
The queue buffer adjustment module is used for adjusting the current total buffer value of the queue based on the packet loss free buffer size of a certain queue reported by the packet loss free buffer calculation module, and can adjust the current first threshold value and the current second threshold value. The queue buffer adjustment module may then issue the adjusted total buffer value of the queue, the adjusted first threshold, and the adjusted second threshold to the network device forwarding plane 210, so that the network device forwarding plane 210 performs a corresponding adjustment on the current total buffer value of the queue, and performs a corresponding adjustment on the current first threshold and the current second threshold.
The queue bandwidth adjusting module is used for adjusting the bandwidth resource configuration value of a certain queue based on the no-loss bandwidth size of the certain queue reported by the queue no-loss bandwidth calculating module. The queue bandwidth adjustment module may then issue the adjusted bandwidth resource configuration value of the queue to the network device forwarding plane 210, so that the network device forwarding plane 210 performs a corresponding adjustment on the current bandwidth resource configuration value of the queue.
The following describes in detail a specific implementation of the traffic burst determination method in the present application based on the application scenario shown in fig. 1.
Fig. 4 is a schematic flow chart illustrating a method for determining traffic bursts according to an embodiment of the present application. The method is applicable to a network device, such as network device 201, network device 202, or network device 203 illustrated in fig. 1. As shown in fig. 4, the method includes:
step 401: and the network equipment starts to acquire the length information and the time information of the first message reaching the first queue in response to the first buffer occupancy value of the first queue being larger than a first threshold value.
Optionally, the first queue is any one of one or more queues that the network device has.
In one example, the first queue may be used to store any messages received by the network device. Illustratively, the network device has 2 queues, namely queue 1, queue 2. For example, the queue 1 may store the message received by the network device first, and when the buffer occupancy value of the message stored in the queue 1 reaches a preset value, the queue 2 may store the message received by the network device. For another example, the queue 1 may store a first set number of messages first, then store a second set number of messages by the queue 2, and then store the first set number of messages by the queue 1. The first set number and the second set number may be the same or different, which is not limited in the embodiment of the present application. For example, when the first set number and the second set number are the same, the first set number and the second set number are integers greater than or equal to 2; when the first set number and the second set number are different, the first set number is an integer greater than or equal to 1, the second set number is an integer greater than or equal to 2, or the first set number is an integer greater than or equal to 2, and the second set number is an integer greater than or equal to 1. For another example, the queues 1 and 2 may cross store messages received by a network device, e.g., the queue 1 stores messages received by one network device, the queue 2 stores messages received by one network device, the queue 1 stores messages received by one network device, and so on.
In another example, the first queue may be used to store messages that match the first queue. For example, the network device is further exemplified by having 2 queues, i.e. queue 1 and queue 2, where queue 1 is used for storing the messages meeting the message storage requirement of queue 1, and queue 2 is used for storing the messages meeting the message storage requirement of queue 2. Optionally, the message storage requirements may include a message type, a sending rate range of the message, a source of the message, and the like.
For example, taking a message storage requirement as a message type as an example, the message type of the message stored in the queue 1 is type 1, the message type of the message stored in the queue 2 is type 2, when the message type of the message received by the network device is type 1, the message of the type 1 is stored in the queue 1, and when the message type of the message received by the network device is type 2, the message of the type 2 is stored in the queue 2.
Optionally, the length information of the first packet may be used to indicate the size/data volume/dimension of the first packet, and the time information of the first packet may be used to indicate the arrival time of the first packet at the first queue.
In one possible implementation, for any one of the queues of the network device (such as the first queue), the network device may begin recording length information and time information of a first message arriving at the first queue when the first buffer occupancy value of the first queue is greater than a first threshold.
Optionally, when the first buffer occupancy value of the first queue is greater than the first threshold, the network device may also record detection time information that the first buffer occupancy value is greater than the first threshold, and the first threshold or the first buffer occupancy value of the first queue.
For example, the queue buffer monitoring module included in the network device is set independently of the queue buffer occupancy recording module, and the message arrival monitoring module included in the network device is set independently of the message arrival information recording module, where the queue buffer monitoring module may read the buffer occupancy value of the first queue in real time based on a preset frequency. Optionally, after each time the buffer occupancy value of the first queue is read, the queue buffer monitoring module may determine whether the buffer occupancy value (such as the buffer occupancy value a 1) of the first queue read at this time is greater than a first threshold.
For example, when the buffer occupancy value a1 of the first queue read at this time is greater than the first threshold, the queue buffer monitoring module may trigger the message arrival monitoring module to monitor whether a new message arrives at the first queue after the read time of the buffer occupancy value a1 of the first queue. Then, when the message arrival monitoring module monitors that a new message arriving at the first queue exists, the message arrival information recording module can send the length information of the new message and the time information of the new message arriving at the first queue to record.
For another example, when the buffer occupancy value a1 of the first queue read at this time is smaller than or equal to the first threshold, the queue buffer monitoring module does not trigger the message arrival monitoring module to execute the operation of monitoring whether there is a new message to arrive at the first queue after the read time of the buffer occupancy value a1 of the first queue.
For another example, when the buffer occupancy value a1 of the first queue read at this time is greater than the first threshold, the queue buffer monitoring module may also send the read time of the buffer occupancy value a1 of the first queue and the first threshold or the buffer occupancy value a1 of the first queue currently read to the queue buffer occupancy recording module for recording.
It should be noted that, based on hardware implementation, the reading frequency of the buffer occupancy value of the first queue by the queue buffer monitoring module may be high enough, for example, the buffer occupancy value of the first queue may be read by the queue buffer monitoring module according to granularity of microsecond.
In another possible implementation manner, for any queue (such as the first queue) of the network device, when the first buffer occupancy value of the first queue is greater than the first threshold and the previously detected third buffer occupancy value of the first queue is less than the first threshold, the network device may also start recording the length information and the time information of the first packet arriving at the first queue.
Optionally, when the first buffer occupancy value of the first queue is greater than the first threshold and the previously detected third buffer occupancy value of the first queue is less than the first threshold, the network device may record detection time information that the first buffer occupancy value is greater than the first threshold and the first threshold or the first buffer occupancy value of the first queue.
For example, the queue buffer monitoring module included in the network device is set independently of the queue buffer occupancy recording module, and the message arrival monitoring module included in the network device is set independently of the message arrival information recording module, which is used as an example, and the queue buffer monitoring module may read the buffer occupancy value of the first queue in real time based on the preset frequency. Optionally, after each time the buffer occupancy value of the first queue is read, the queue buffer monitoring module may determine whether the buffer occupancy value (for example, buffer occupancy value a 1) of the first queue read at this time is greater than a first threshold value and whether the buffer occupancy value (for example, buffer occupancy value a 2) of the first queue read at the previous time is less than the first threshold value.
For example, when the buffer occupancy value a1 of the first queue read at the time is greater than the first threshold and the buffer occupancy value a2 of the first queue read at the previous time is less than the first threshold, the queue buffer monitoring module may trigger the message arrival monitoring module to monitor whether a new message arrives at the first queue after the read time of the buffer occupancy value a1 of the first queue. Then, when the message arrival monitoring module monitors that a new message arriving at the first queue exists, the message arrival information recording module can send the length information of the new message and the time information of the new message arriving at the first queue to record.
For another example, when the buffer occupancy value a1 of the first queue read at this time is smaller than or equal to the first threshold and the buffer occupancy value a2 of the first queue read at the previous time is smaller than the first threshold, or the buffer occupancy value a1 of the first queue read at the current time is larger than the first threshold and the buffer occupancy value a2 of the first queue read at the previous time is larger than or equal to the first threshold, or the buffer occupancy value a1 of the first queue read at the current time is smaller than or equal to the first threshold and the buffer occupancy value a2 of the first queue read at the previous time is larger than or equal to the first threshold, the queue buffer monitoring module does not trigger the packet arrival monitoring module to perform the operation of monitoring whether a new packet arrives at the first queue after the read time of the buffer occupancy value a1 of the first queue.
For another example, when the buffer occupancy value a1 of the first queue read at this time is greater than the first threshold and the buffer occupancy value a2 of the first queue read at the previous time is less than the first threshold, the queue buffer monitoring module may also send the read time of the buffer occupancy value a1 of the first queue and the first threshold or the buffer occupancy value a1 of the first queue read currently to the queue buffer occupancy recording module for recording.
Step 402: and the network equipment responds to the fact that the second buffer occupancy value of the first queue is smaller than a second threshold value, and stops acquiring the length information and the time information of the first message reaching the first queue.
In one possible implementation, for any one of the queues of the network device (such as the first queue), the network device may stop recording the length information and the time information of the first packet arriving at the first queue when the second buffer occupancy value of the first queue is less than the second threshold. For example, the second threshold may be less than or equal to the first threshold.
For example, the queue buffer monitoring module included in the network device is set independently of the queue buffer occupancy recording module, and the message arrival monitoring module included in the network device is set independently of the message arrival information recording module, which is used as an example, and the queue buffer monitoring module may read the buffer occupancy value of the first queue in real time based on the preset frequency. Optionally, after each time the buffer occupancy value of the first queue is read, the queue buffer monitoring module may determine whether the buffer occupancy value (such as the buffer occupancy value a 3) of the first queue read at this time is smaller than the second threshold.
For example, when the buffer occupancy value a3 of the first queue read at this time is smaller than the second threshold, the queue buffer monitoring module may trigger the message arrival monitoring module to stop performing the operation of monitoring whether there is a new message arriving at the first queue after the read time of the buffer occupancy value a1 of the first queue, so that the message arrival information recording module stops recording the length information and the time information of the first message arriving at the first queue.
For another example, when the buffer occupancy value a3 of the first queue read at this time is greater than or equal to the second threshold, the queue buffer monitoring module may trigger the message arrival monitoring module to continue to perform the operation of monitoring whether there is a new message to arrive at the first queue after the read time of the buffer occupancy value a1 of the first queue.
In another possible implementation manner, for any queue (such as the first queue) of the network device, when the second buffer occupancy value of the first queue is smaller than the second threshold value and the previously detected fourth buffer occupancy value of the first queue is larger than the second threshold value, the network device may stop recording the length information and the time information of the first packet arriving at the first queue.
For example, the queue buffer monitoring module included in the network device is set independently of the queue buffer occupancy recording module, and the message arrival monitoring module included in the network device is set independently of the message arrival information recording module, which is used as an example, and the queue buffer monitoring module may read the buffer occupancy value of the first queue in real time based on the preset frequency. Optionally, after each time the buffer occupancy value of the first queue is read, the queue buffer monitoring module may determine whether the buffer occupancy value (such as buffer occupancy value a 3) of the first queue read at this time is smaller than a second threshold and whether the buffer occupancy value (such as buffer occupancy value a 4) of the first queue read at the previous time is greater than the second threshold.
For example, when the buffer occupancy value a3 of the first queue read at this time is smaller than the second threshold and the buffer occupancy value a4 of the first queue read at the previous time is larger than the second threshold, the queue buffer monitoring module may trigger the packet arrival monitoring module to stop performing the operation of monitoring whether there is a new packet arriving at the first queue after the read time of the buffer occupancy value a1 of the first queue, so that the packet arrival information recording module stops recording the length information and the time information of the first packet arriving at the first queue.
For another example, when the buffer occupancy value a3 of the first queue read at this time is greater than or equal to the second threshold and the buffer occupancy value a4 of the first queue read at the previous time is greater than the second threshold, or the buffer occupancy value a3 of the first queue read at the current time is less than the second threshold and the buffer occupancy value a4 of the first queue read at the previous time is less than or equal to the second threshold, or the buffer occupancy value a3 of the first queue read at the current time is greater than or equal to the second threshold and the buffer occupancy value a4 of the first queue read at the previous time is less than or equal to the second threshold, the queue buffer monitoring module may trigger the packet arrival monitoring module to continuously perform the operation of monitoring whether a new packet arrives at the first queue after the read time of the buffer occupancy value a1 of the first queue.
Step 403: and the network equipment determines the traffic burst information of the first queue according to the length information and the time information of the first message of the first queue.
Optionally, the network device may determine the traffic burst information of the first queue according to the recorded length information and time information of the N first packets arriving at the first queue, the detection time information that the first buffer occupancy value of the first queue is greater than the first threshold, and the first buffer occupancy value or the first threshold. The network device acquires N first messages reaching the first queue from the beginning record to the stopping record for the first queue. Alternatively, N may take an integer greater than or equal to 0.
Illustratively, based on the foregoing, the following two possible implementations are presented to determine traffic burst information for the first queue.
The implementation mode is as follows: the network device may determine a first value corresponding to the second packet according to the first threshold or the first buffer occupancy value of the first queue, the length information and the time information of the second packet, the detection time information that the first buffer occupancy value is greater than the first threshold, and the bandwidth resource configuration value of the first queue. Then, the network device may select a third packet with the largest corresponding first value from the N first packets. Then, the network device may use the first value corresponding to the third packet as the traffic burst value of the first queue, and may use the time information of the third packet as the generation time of the traffic burst value of the first queue. The second message is any first message in the N first messages, and the third message is the second message corresponding to the first value with the largest value.
The implementation of the network device to determine traffic burst information of the first queue may be performed by a queue traffic burst calculation module included in the network device, for example.
For example, taking the example that the buffer occupancy value of the first queue is just greater than a first threshold (e.g., threshold 1). Assume that the queue buffer occupancy record module records the buffer occupancy value B of the first queue 0 Buffer occupancy value B of first queue 0 Detection time t just above threshold 1 0 And assuming that the current bandwidth resource configuration value of the first queue is bw. Let it be assumed that at the detection time t 0 Then, N messages arrive at the first queue just before the buffer occupancy value of the first queue is smaller than a second threshold (for example, threshold 2), so that the message arrival information recording module records message arrival information of the N messages. Wherein the message arrival information of any message comprises the length information p of the message i And the arrival time t of the message at the first queue i
Based on the above example, in one possible implementation, the queue traffic burst calculation module may calculate the traffic burst value of the first queue according to the following formula (1).
Wherein B represents the traffic burst value of the first queue, p i Representing the length information, t, of the ith message in N messages i Indicating the arrival time of the ith message at the first queue, i e {1,2,3, …, N }.
Optionally, the queue traffic burst calculation module may calculate the generation time of the traffic burst value of the first queue according to the following formula (2).
Wherein t is k The generation time of the flow burst value of the first queue is indicated, namely the arrival time of the kth message in the N messages to the first queue.
Exemplary, referring to fig. 5, a schematic diagram is provided for determining traffic burst information of a first queue according to an implementation one according to an embodiment of the present application. As shown in fig. 5, after the detection time t0 and before the buffer occupancy value of the first queue is just smaller than the threshold 2, the message arrival information recording module records the message arrival information of 6 messages, namely the length information p of the message 1 1 And time of arrival t 1 Length information p of message 2 2 And time of arrival t 2 Length information p of message 3 3 And time of arrival t 3 Length information p of message 4 4 And time of arrival t 4 Length information p of message 5 5 And time of arrival t 5 Length information p of message 6 6 And time of arrival t 6 . Then, the queue traffic burst calculation module substitutes the message arrival information of the 6 messages into the above formula (1) respectively, can calculate the first values corresponding to the 6 messages respectively, and can determine the largest first value among the first values corresponding to the 6 messages respectively, where the largest first value is The maximum first value can be used as the traffic burst value of the first queue, and the arrival time t of the message corresponding to the maximum first value 3 The generation time of the traffic burst value of the first queue can be used as.
The implementation mode II is as follows: the network device may divide the N first messages into a plurality of aggregated messages. Then, the network device may determine a second value corresponding to the first aggregate packet according to the first threshold or the first buffer occupancy value of the first queue, the detection time information that the first buffer occupancy value is greater than the first threshold, the bandwidth resource configuration value of the first queue, the length information of the first aggregate packet, and the time information of the first aggregate packet. Then, the network device may select a second aggregation packet with a corresponding second largest value from the plurality of aggregation packets. Finally, the network device may use the second value corresponding to the second aggregate packet as the traffic burst value of the first queue, and may use the time information of the second aggregate packet as the generation time of the traffic burst value of the first queue.
Any one of the aggregation messages comprises at least one first message, the length information of any one of the aggregation messages is the length information of the first messages contained in the aggregation messages or the sum of the length information of at least two first messages contained in the aggregation messages, the time information of the aggregation messages is the time information of the first message which reaches the first queue first in the at least one first message contained in the aggregation messages, the first aggregation message is any aggregation message in a plurality of aggregation messages, and the second aggregation message is the first aggregation message corresponding to the largest second value.
Illustratively, the example continues where the buffer occupancy value of the first queue is just greater than a first threshold (e.g., threshold 1). Assume that the queue buffer occupancy record module records the buffer occupancy value B of the first queue 0 Buffer occupancy value B of first queue 0 Detection time t just above threshold 1 0 And assuming that the current bandwidth resource configuration value of the first queue is bw. Let it be assumed that at the detection time t 0 Then, N messages arrive at the first queue before the buffer occupancy value of the first queue is just smaller than a second threshold (for example, threshold 2), so that the message arrival information recording module can aggregate the N messages according to every m messages, generate N/m aggregated messages, and record message arrival information of the N/m aggregated messages. Wherein the message arrival information of any one of the aggregation messages comprises the length information a_p of the aggregation message i And the arrival time a_t of the aggregate message to the first queue i
Optionally, in order to determine the traffic burst information of the first queue more timely and accurately, the message arrival information recording module may aggregate N messages according to every m messages, generate N/m aggregate messages, and record the message arrival information of the N/m aggregate messages.
In one example, when the remainder of N/m is 0, m messages are included in any one of the aggregation messages, and the length information of any one of the aggregation messages is the sum of the length information of the m messages included in the aggregation message, for example, the length information of any one of the aggregation messages is a_p i And (3) representing. The time information of any one aggregation message is the arrival time of the message which arrives at the first queue first in m messages contained in the aggregation message, for example, the time information of any one aggregation message is a_t i And (3) representing.
In another example, when the remainder of N/m is not 0, m messages are included in all other aggregate messages except the last aggregate message which includes N mod m messages. The length information of the last aggregation message is the sum of the length information of N mod m messages contained in the aggregation message; the time information of the last aggregation message is the arrival time of the message which arrives at the first queue first in the N mod m messages contained in the aggregation message. In addition, the length information of any one of the other aggregation messages is the sum of the length information of m messages contained in the aggregation message, and the time information of any one of the other aggregation messages is the arrival time of the message which arrives at the first queue first in the m messages contained in the aggregation message.
Based on the above example, in another possible implementation manner, the queue traffic burst calculation module may calculate the traffic burst value of the first queue according to the following formula (3).
Where a_b represents the traffic burst value of the first queue, a_p i Representing the length information of the ith aggregation message in N/m aggregation messages, a_t i Indicating that the ith aggregate message arrives in the first queueColumn arrival time, i.e {1,2,3, …, N/m }.
Optionally, the queue traffic burst calculation module may calculate the generation time of the traffic burst value of the first queue according to the following formula (4).
Wherein a_t k The generation time of the flow burst value of the first queue is indicated, namely the arrival time of the kth aggregation message in the N/m aggregation messages to the first queue.
Exemplary, referring to fig. 6, a schematic diagram is provided for determining traffic burst information of a first queue according to a second implementation manner according to an embodiment of the present application. As shown in fig. 6, after the detection time t0 and before the buffer occupancy value of the first queue is just smaller than the threshold 2, the message arrival information recording module records the message arrival information of 6 messages, namely the length information p of the message 1 1 And time of arrival t 1 Length information p of message 2 2 And time of arrival t 2 Length information p of message 3 3 And time of arrival t 3 Length information p of message 4 4 And time of arrival t 4 Length information p of message 5 5 And time of arrival t 5 Length information p of message 6 6 And time of arrival t 6
Optionally, the message arrival information recording module may aggregate 6 messages arriving at the first queue according to every 2 messages, to generate 3 aggregate messages, that is, aggregate message 1, aggregate message 2, and aggregate message 3. The aggregation message 1 comprises a message 1 and a message 2, the aggregation message 2 comprises a message 3 and a message 4, and the aggregation message 3 comprises a message 5 and a message 6. Thus, the message arrival information recording module can calculate the length information a_p of the aggregate message 1 1 =p 1 +p 2 The time information of the aggregation message 1 is a_t1; length information a_p of aggregate message 2 2 =p 3 +p 4 The time information of the aggregation message 2 is a_t2; length information a_p of aggregate message 3 3 =p 5 +p 6 The time information of the aggregate message 3 is a_t3.
Optionally, after receiving the message arrival information of the 3 aggregation messages from the message arrival information recording module, the queue traffic burst calculation module may respectively substitute the message arrival information of the 3 aggregation messages into the above formula (1), calculate second values respectively corresponding to the 3 aggregation messages, and determine a largest second value among the second values respectively corresponding to the 3 aggregation messages, where the largest second value is The maximum second value can be used as the traffic burst value of the first queue, and the arrival time a_t of the message corresponding to the maximum second value 2 The generation time of the traffic burst value of the first queue can be used as.
Optionally, the queue traffic burst calculation module may update the historical traffic burst information of the first queue after determining the traffic burst information of the first queue. By way of example, the following describes the implementation of updating the historical traffic burst information of the first queue by two possible implementations.
Mode one: when the time difference between the generation time of the traffic burst value of the first queue and the generation time of the historical maximum traffic burst value of the first queue is greater than the time threshold, the queue traffic burst calculation module may update the historical maximum traffic burst value of the first queue to the calculated traffic burst value of the first queue, and may update the generation time of the historical maximum traffic burst value of the first queue to the calculated generation time of the traffic burst value of the first queue.
Mode two: when the traffic burst value of the first queue is greater than or equal to the historical maximum traffic burst value of the first queue, the queue traffic burst calculation module may update the historical maximum traffic burst value of the first queue to the calculated traffic burst value of the first queue, and may update the generation time of the historical maximum traffic burst value of the first queue to the generation time of the calculated traffic burst value of the first queue.
Optionally, after updating the historical traffic burst information of the first queue, the queue traffic burst calculation module may report the updated historical maximum traffic burst value and the generation time of the updated historical maximum traffic burst value to the queue traffic burst receiving module. After receiving the updated historical maximum flow burst value and the generation time of the updated historical maximum flow burst value from the queue flow burst calculation module, the queue flow burst receiving module can perform operations such as further data analysis based on the updated historical maximum flow burst value and the generation time of the updated historical maximum flow burst value.
Optionally, the queue traffic burst calculation module may determine whether the first queue has occurred or is about to lose packets after determining traffic burst information of the first queue or after updating historical traffic burst information of the first queue.
Illustratively, based on the foregoing, the following two possible implementations are presented to determine whether a first queue has occurred or is about to lose packets.
Mode one: the queue flow burst calculating module judges whether the first queue has lost the packet according to the packet loss number of the first queue counted by the configured packet loss counter.
For example, when the number of packets lost from the first queue counted by the packet loss counter is 0, the queue traffic burst calculation module may determine that no packet loss occurs in the first queue.
For another example, when the number of packets lost by the first queue counted by the packet loss counter is greater than 0, the queue traffic burst calculation module may determine that the first queue has lost packets.
Mode two: the queue traffic burst calculation module judges whether the first queue has occurred or is about to lose packets according to the traffic burst value of the first queue and the total buffer value of the first queue.
Based on the second approach, two possible scenarios can be presented.
Case one: when the packet loss rule adopted by the network equipment is a tail drop (tail drop) rule, the queue traffic burst calculation module determines whether the first queue has occurred or is about to lose packets according to the traffic burst value of the first queue and the total buffer value of the first queue.
For example, when the traffic burst value of the first queue is greater than the total buffer value of the first queue, the queue traffic burst calculation module may determine that the first queue has lost packets.
For another example, the queue traffic burst calculation module may determine that the first queue is about to lose packets when the traffic burst value of the first queue is greater than or equal to a product of a total buffer value of the first queue and a fourth coefficient. The fourth coefficient is greater than 0 and less than 1, for example, the fourth coefficient may be 0.9.
For another example, the queue traffic burst calculation module may determine that no packet loss occurs in the first queue when the traffic burst value of the first queue is less than a product of a total buffer value of the first queue and a fourth coefficient.
And a second case: when the packet loss rule adopted by the network device is a random early detection (Random Early Detection)/weighted random early detection (Weighted Random Early Detection) rule, the queue traffic burst calculation module determines whether packet loss occurs or is about to occur in the first queue according to the traffic burst value of the first queue and the total buffer memory value of the first queue.
For example, the queue traffic burst calculation module may determine that a packet loss has occurred in the first queue when the traffic burst value of the first queue is greater than a low threshold value of a random early detection/weighted random early detection rule.
For another example, the queue traffic burst calculation module may determine that the first queue is about to lose packets when the traffic burst value of the first queue is greater than or equal to a product of the low threshold value and the fifth coefficient. Wherein the fifth coefficient is greater than 0 and less than 1, for example, the fifth coefficient may be 0.9.
For another example, the queue traffic burst calculation module may determine that no packet loss occurs in the first queue when the traffic burst value of the first queue is less than a product of the low threshold value and the fifth coefficient.
Optionally, when determining that the first queue has occurred or is about to lose a packet, the queue traffic burst calculation module may trigger the queue no-packet-loss buffer calculation module included in the network device to calculate a buffer size required for causing the first queue not to generate a packet loss, that is, a no-packet-loss buffer size. The following describes the implementation process of the queue no-packet-loss buffer calculation module to calculate the no-packet-loss buffer size by using two possible implementations.
Mode one: the queue no-packet-loss buffer calculation module may directly use the traffic burst value of the first queue as the no-packet-loss buffer value (i.e. no-packet-loss buffer size) of the first queue.
For example, assuming that the traffic burst value of the first queue is B1, the queue no-packet-loss buffer calculation module may use the traffic burst value B1 of the first queue as the no-packet-loss buffer value of the first queue.
Mode two: the queue no-packet-loss buffer calculation module may use a product of the traffic burst value of the first queue and the first coefficient as a no-packet-loss buffer value of the first queue. Wherein the first coefficient is greater than 1, for example, the first coefficient may be 1.2.
For example, assume that the traffic burst value of the first queue is B 1 The queue packet loss-free buffer calculation module may calculate the traffic burst value B of the first queue 1 Product γb of first coefficient γ 1 As a first queue, no-packet-loss buffer value.
The queue no-packet-loss buffer calculation module may report the no-packet-loss buffer size of the first queue to a queue buffer adjustment module included in the control device or a queue buffer adjustment module included in the network device after calculating the no-packet-loss buffer size of the first queue. The queue buffer adjustment module can correspondingly adjust the current total buffer value of the first queue according to the size of the packet loss free buffer of the first queue after receiving the size of the packet loss free buffer of the first queue from the packet loss free buffer calculation module. And then, the queue buffer adjustment module can issue the adjusted total buffer value of the first queue to the network equipment forwarding plane so that the network equipment forwarding plane can execute corresponding adjustment on the current total buffer value of the first queue, thereby enabling the first queue to avoid losing messages as far as possible and further realizing elimination of the packet loss condition of the queue.
Optionally, the queue buffer adjustment module may also adjust the current first threshold and the current second threshold. For example, the adjustment may be performed in the following manner. Assuming that the total buffer value of the first queue is adjusted to be theta times of the current total buffer value of the first queue, the first threshold is also adjusted to be theta times of the current first threshold, and the second threshold is also adjusted to be theta times of the current second threshold. The queue buffer adjustment module may then issue the adjusted first threshold and the adjusted second threshold to the network device forwarding plane, so that the network device forwarding plane performs corresponding adjustment on the current first threshold and the current second threshold.
Optionally, when determining that the first queue has occurred or is about to lose a packet, the queue traffic burst calculation module may trigger the queue no-packet bandwidth calculation module included in the network device to calculate a bandwidth size required by the first queue to not generate a packet loss, that is, a no-packet bandwidth size. The following two possible embodiments are presented to illustrate the implementation of the queue no-loss bandwidth calculation module to calculate the no-loss bandwidth.
Embodiment one: when the packet loss rule adopted by the network equipment is a queue tail drop rule, the queue no-packet loss bandwidth calculation module determines a no-packet loss bandwidth value of the first queue according to a first threshold value or a first buffer occupation value of the first queue, a total buffer value of the first queue, and length information and time information of N first messages.
The queue no-loss bandwidth calculation module may determine the third value corresponding to the fourth packet according to the first threshold or the first buffer occupancy value of the first queue, the length information and the time information of the fourth packet, the detection time information that the first buffer occupancy value is greater than the first threshold, and the total buffer value of the first queue. And then, the queue no-loss bandwidth calculation module can select a fifth message with the maximum corresponding third value from the N first messages. Then, the queue no-loss bandwidth calculation module may determine a no-loss bandwidth value of the first queue according to the second coefficient and a third value corresponding to the fifth packet. The fourth message is any first message in the N first messages, the fifth message is a fourth message corresponding to the third value with the largest value, and the second coefficient is greater than or equal to 1, for example, the second coefficient may be 1.
For example, continuing to take the example that the buffer occupancy value of the first queue is just greater than a first threshold (e.g., threshold 1). Assume that the queue buffer occupancy record module records the buffer occupancy value B of the first queue 0 Buffer occupancy value B of first queue 0 Detection time t just above threshold 1 0 And assuming that the current bandwidth resource configuration value of the first queue is bw. Let it be assumed that at the detection time t 0 Then, N messages arrive at the first queue just before the buffer occupancy value of the first queue is smaller than a second threshold (for example, threshold 2), so that the message arrival information recording module records message arrival information of the N messages. Wherein the message arrival information of any message comprises the length information p of the message i And the arrival time t of the message at the first queue i
Based on the above example, in one possible implementation manner, the queue no-loss bandwidth calculation module may calculate a no-loss bandwidth value of the first queue according to the following formula (5).
Where nl_bw represents the no-loss bandwidth value of the first queue, μ represents the second coefficient, P represents the total buffer value of the first queue, i e {1,2,3, …, N }.
For example, referring to fig. 7, a schematic diagram of determining a non-packet bandwidth value of a first queue according to an embodiment of the present application is provided. As shown in fig. 7, after the detection time t0 and before the buffer occupancy value of the first queue is just smaller than the threshold 2, the message arrival information recording module records the message arrival information of 6 messages, namely the length information p of the message 1 1 And time of arrival t 1 Length information p of message 2 2 And time of arrival t 2 Length information p of message 3 3 And time of arrival t 3 Length information p of message 4 4 And time of arrival t 4 Length information p of message 5 5 And time of arrival t 5 Length information p of message 6 6 And time of arrival t 6 . Then, the queue no-loss bandwidth calculation module substitutes the message arrival information of the 6 messages into the above formula (5) respectively, can calculate the third numerical values corresponding to the 6 messages respectively, and can determine the largest third numerical value among the third numerical values corresponding to the 6 messages respectively, wherein the largest third numerical value isThen, the queue no-loss bandwidth calculation module calculates a second coefficient mu and a maximum third value +.>Multiplying to obtain the no-loss bandwidth value +.>
Optionally, when the message arrival information recording module records the message arrival information of a plurality of aggregated messages obtained by aggregating the 6 messages, the queue no-loss bandwidth calculating module may also calculate the no-loss bandwidth value of the first queue according to the above formula (5).
Embodiment two: when the packet loss rule adopted by the network equipment is a random early detection/weighted random early detection rule, the queue no-packet loss bandwidth calculation module determines the no-packet loss bandwidth value of the first queue according to a first threshold value or a first buffer occupation value of the first queue, the total buffer value of the first queue and message arrival information of N first messages.
The queue no-loss bandwidth calculation module may determine the fourth value corresponding to the sixth packet according to the first threshold or the first buffer occupancy value of the first queue, the length information and the time information of the sixth packet, the detection time information that the first buffer occupancy value is greater than the first threshold, and the low threshold of the random early detection/weighted random early detection rule. And then, the queue no-loss bandwidth calculation module can select a seventh message with the maximum fourth value from the N first messages. Then, the queue no-loss bandwidth calculation module may determine a no-loss bandwidth value of the first queue according to the third coefficient and a fourth value corresponding to the seventh packet. The sixth message is any first message in the N first messages, the seventh message is a sixth message corresponding to the fourth value with the largest value, the low threshold may be set with reference to the total buffer value of the first queue, for example, the low threshold may be set to be greater than or equal to 0 and less than the total buffer value of the first queue, and the third coefficient is greater than or equal to 1, for example, the third coefficient may be 1.
For example, continuing to take the example that the buffer occupancy value of the first queue is just greater than a first threshold (e.g., threshold 1). Assume that the queue buffer occupancy record module records the buffer occupancy value B of the first queue 0 Buffer occupancy value B of first queue 0 Detection time t just above threshold 1 0 And assuming that the current bandwidth resource configuration value of the first queue is bw. Let it be assumed that at the detection time t 0 Then, N messages arrive at the first queue just before the buffer occupancy value of the first queue is smaller than a second threshold (for example, threshold 2), so that the message arrival information recording module records message arrival information of the N messages. Wherein the message arrival information of any message comprises the length information p of the message i And the arrival time t of the message at the first queue i
Based on the above example, in another possible implementation manner, the queue no-loss bandwidth calculation module may calculate a no-loss bandwidth value of the first queue according to the following formula (6).
Where nl_bw 'represents the no-drop bandwidth value of the first queue, μ' represents the third coefficient, and H represents the low threshold of the random early detection/weighted random early detection rule.
For example, referring to fig. 8, a schematic diagram of determining a non-packet bandwidth value of a first queue according to a second embodiment is provided in the examples of the present application. As shown in fig. 8, after the detection time t0 and before the buffer occupancy value of the first queue is just smaller than the threshold 2, the message arrival information recording module records the message arrival information of 6 messages, namely the length information p of the message 1 1 And time of arrival t 1 Length information p of message 2 2 And time of arrival t 2 Length information p of message 3 3 And time of arrival t 3 Length information p of message 4 4 And time of arrival t 4 Length information p of message 5 5 And time of arrival t 5 Length information p of message 6 6 And time of arrival t 6 . Then, the queue no-loss bandwidth calculation module substitutes the message arrival information of the 6 messages into the above formula (6) respectively, can calculate the fourth numerical values corresponding to the 6 messages respectively, and can determine the largest fourth numerical value in the fourth numerical values corresponding to the 6 messages respectively, wherein the largest fourth numerical value isThen, the queue no-loss bandwidth calculation module calculates a third coefficient mu' and a fourth maximum value +.>Multiplying to obtain the no-loss bandwidth value +.>
Optionally, when the message arrival information recording module records the message arrival information of a plurality of aggregated messages obtained by aggregating the 6 messages, the queue no-loss bandwidth calculating module may also calculate the no-loss bandwidth value of the first queue according to the above formula (6).
The queue no-loss bandwidth calculation module may report the no-loss bandwidth of the first queue to a queue bandwidth adjustment module included in the control device or a queue bandwidth adjustment module included in the network device after calculating the no-loss bandwidth of the first queue. The queue bandwidth adjusting module can correspondingly adjust the current bandwidth resource configuration value of the first queue according to the no-loss bandwidth size of the first queue after receiving the no-loss bandwidth size of the first queue from the no-loss bandwidth calculating module. And then, the queue bandwidth adjusting module can issue the bandwidth resource configuration value of the adjusted first queue to the network equipment forwarding plane so that the network equipment forwarding plane can execute corresponding adjustment on the current bandwidth resource configuration value of the first queue, thereby enabling the first queue to avoid losing messages as much as possible and eliminating the situation of queue packet loss.
It should be noted that, each step in the foregoing embodiments may be performed by a corresponding device, or may be performed by a component such as a chip, a processor, or a chip system in the device, which is not limited by the embodiment of the present application. The above embodiments are described only as examples to be executed by the respective apparatuses.
In the above embodiments, some steps may be selected and performed, and the order of steps in the drawings may be adjusted and performed, which is not limited in this application. It should be understood that it is within the scope of the present application to perform some of the steps in the illustrations, adjust the order of the steps, or implement the steps in combination with each other.
It will be appreciated that, in order to implement the functions of the above embodiments, each device involved in the above embodiments includes a corresponding hardware structure and/or software module for performing each function. Those of skill in the art will readily appreciate that the elements and method steps of the examples described in connection with the embodiments disclosed herein may be implemented as hardware or a combination of hardware and computer software. Whether a function is implemented as hardware or computer software driven hardware depends upon the particular application scenario and design constraints imposed on the solution.
Note that: the "step" in the embodiments of the present application is merely illustrative, and is used to better understand a performance method adopted by the embodiments, and does not essentially limit the implementation of the aspects of the present application, for example: this "step" may also be understood as a "feature". In addition, the execution sequence of the steps does not form any limitation, and any operations such as step sequence change or step combination or step splitting which do not affect the implementation of the overall scheme are made on the basis, so that the formed new technical scheme is also within the scope of the disclosure of the application.
Based on the same technical concept, the embodiment of the application also provides a possible network device. The network device is suitable for use in the application scenario shown in fig. 1. The network device is configured to implement the traffic burst determining method provided in the above embodiment, or the module (such as a chip) of the network device is configured to implement the traffic burst determining method provided in the above embodiment, so that the beneficial effects provided in the above embodiment can also be implemented. In the embodiment of the present application, the network device may be the network device 201, the network device 202, or the network device 203 as illustrated in fig. 1.
Referring to fig. 9, the network device 900 includes an acquisition module 901 and a processing module 902. The acquiring module 901 is configured to start acquiring length information and time information of a first packet that arrives at the first queue in response to the first buffer occupancy value of the first queue being greater than a first threshold; the acquiring module 901 is further configured to stop acquiring length information and time information of the first packet arriving at the first queue in response to the second buffer occupancy value of the first queue being less than the second threshold; wherein the first threshold is greater than or equal to the second threshold; the processing module 902 is configured to determine traffic burst information of the first queue according to the length information and the time information of the first packet of the first queue.
For a more detailed description of the above-mentioned acquisition module 901 and the processing module 902, reference may be made to the related description in the above-mentioned method embodiment, which is not described in detail herein.
It should be appreciated that the acquisition module 901 in the embodiments of the present application may be implemented by a communication interface or a communication interface related circuit component, and the processing module 902 may be implemented by a processor or a processor related circuit component.
It should be noted that, in the embodiments of the present application, the division of the modules is merely schematic, and there may be another division manner in actual implementation, and in addition, each functional unit in each embodiment of the present application may be integrated in one processing unit, or may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional units.
The integrated units, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application may be embodied essentially or in part or all or part of the technical solution contributing to the prior art or in the form of a software product stored in a storage medium, including several instructions to cause a computer device (which may be a personal computer, a server, or a network device, etc.) or a processor (processor) to perform all or part of the steps of the methods of the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a read-only memory (ROM), a random access memory (random access memory, RAM), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
Based on the same conception, the embodiment of the application also provides a possible network device, which is suitable for the application scenario shown in fig. 1. The network device is configured to implement the traffic burst determining method provided in the above embodiment, so that the beneficial effects of the method embodiment can also be implemented. Referring to fig. 10, the network device 1000 includes: a communication interface 1001, and a processor 1002. Optionally, the network device further comprises a memory 1003. Wherein the communication interface 1001, the processor 1002 and the memory 1003 are connected to each other. When the network device 1000 is used to implement the traffic burst determining method provided in the above embodiment, the communication interface 1001 may be used to implement the functions of the acquiring module 901, and the processor 1002 is used to implement the functions of the processing module 902.
Optionally, the communication interface 1001, the processor 1002 and the memory 1003 are connected to each other by a bus 1004. The bus 1004 may be a peripheral component interconnect standard (peripheral component interconnect, PCI) bus, or an extended industry standard architecture (extended industry standard architecture, EISA) bus, among others. The buses may be classified as address buses, data buses, control buses, etc. For ease of illustration, only one thick line is shown in fig. 10, but not only one bus or one type of bus.
The communication interface 1001 is configured to receive and transmit data, and enable communication with other functional components in the network device illustrated in fig. 1, or may also enable communication with other devices other than the network device. Alternatively, the communication interface 1001 may be an input/output interface. For example, the network device may communicate with the control device using a communication interface, or the network device may also communicate with other network devices using a communication interface.
The function of the processor 1002 may refer to the description in the above embodiments, which is not repeated here. The processor 1002 may be a central processing unit (central processing unit, CPU), a network processor (network processor, NP) or a combination of CPU and NP, among others. The processor 1002 may further include a hardware chip. The hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (programmable logic device, PLD), or a combination thereof. The PLD may be a complex programmable logic device (complex programmable logic device, CPLD), a field-programmable gate array (field-programmable gate array, FPGA), general-purpose array logic (generic array logic, GAL), or any combination thereof. The processor 1002 may implement the above functions by hardware, or may implement the corresponding software by executing the hardware.
The memory 1003 is used for storing program instructions and the like. In particular, the program instructions may comprise program code comprising computer-operating instructions. The memory 1003 may include random access memory (random access memory, RAM) and may further include non-volatile memory (non-volatile memory), such as at least one disk memory. The processor 1002 executes the program instructions stored in the memory 1003 to realize the above functions, thereby realizing the traffic burst determination method provided in the above embodiment.
Based on the same conception, the present application embodiment also provides a computer program product comprising a computer program or instructions which, when run on a computer, cause the computer to perform the traffic burst determination method provided by the above embodiments.
Based on the same conception, the present embodiment also provides a computer-readable storage medium having stored therein a computer program or instructions, which when executed by a computer, cause the computer to perform the traffic burst determination method provided by the above embodiment.
Wherein a storage medium may be any available medium that can be accessed by a computer. Taking this as an example but not limited to: the computer readable medium may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage media or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer.
Based on the same conception, the embodiment of the application also provides a chip, which is coupled with the memory and is used for reading the computer program stored in the memory, so as to realize the traffic burst determining method provided by the embodiment.
Based on the same conception, the embodiment of the application also provides a chip system, which comprises a processor and is used for supporting the computer device to realize the functions related to the network equipment in the above embodiment. In one possible design, the chip system further includes a memory for storing programs and data necessary for the computer device. The chip system can be composed of chips, and can also comprise chips and other discrete devices.
The method provided in the embodiments of the present application may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on a computer, the processes or functions described in accordance with embodiments of the present application are produced in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatus. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by a wired (e.g., coaxial cable, fiber optic, digital subscriber line (digital subscriber line, DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that contains an integration of one or more available media. The usable medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., high-density digital video disc (digital video disc, DVD)), or a semiconductor medium (e.g., solid state disk (solid state drive, SSD)), etc.
The steps of a method described in embodiments of the present application may be embodied directly in hardware, in a software unit executed by a processor, or in a combination of the two. The software elements may be stored in RAM, ROM, EEPROM, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. In an example, a storage medium may be coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
It will be apparent to those skilled in the art that various modifications and variations can be made in the present application without departing from the spirit or scope of the application. Thus, if such modifications and variations of the present application fall within the scope of the claims and the equivalents thereof, the present application is intended to cover such modifications and variations.

Claims (23)

1. A traffic burst determination method, applied to a network device, the method comprising:
responding to the fact that a first buffer occupancy value of a first queue is larger than a first threshold value, and starting to acquire length information and time information of a first message reaching the first queue;
stopping acquiring the length information and the time information of the first message reaching the first queue in response to the second buffer occupancy value of the first queue being smaller than a second threshold, wherein the first threshold is larger than or equal to the second threshold;
and determining the traffic burst information of the first queue according to the length information and the time information of the first message of the first queue.
2. The method of claim 1, wherein in response to the first buffer occupancy value of the first queue being greater than a first threshold, initiating acquisition of length information and time information for a first packet arriving at the first queue comprises:
and starting to acquire the length information and the time information of the first message reaching the first queue in response to the fact that the first buffer occupancy value of the first queue is larger than a first threshold value and the previously detected third buffer occupancy value of the first queue is smaller than the first threshold value.
3. The method of claim 1 or 2, wherein ceasing to obtain the length information and the time information of the first packet arriving at the first queue in response to the second buffer occupancy value of the first queue being less than a second threshold value comprises:
and stopping acquiring the length information and the time information of the first message reaching the first queue in response to the fact that the second buffer occupancy value of the first queue is smaller than a second threshold value and the fourth buffer occupancy value of the first queue detected last time is larger than the second threshold value.
4. A method according to any one of claims 1-3, wherein the method further comprises:
and acquiring first record information, wherein the first record information comprises detection time information that the first cache occupation value is larger than the first threshold value and the first cache occupation value or the first threshold value.
5. The method of claim 4, wherein the method further comprises:
and acquiring second record information, wherein the second record information comprises the acquired length information and time information of N first messages, and N is an integer greater than or equal to 0.
6. The method of claim 5, wherein determining traffic burst information for the first queue based on the length information and the time information of the first message for the first queue comprises:
And determining traffic burst information of the first queue according to the length information and the time information of the N first messages, the detection time information and the first buffer occupancy value or the first threshold value.
7. The method of claim 6, wherein the traffic burst information of the first queue includes a traffic burst value of the first queue and a time of generation of the traffic burst value.
8. The method of claim 7, wherein determining traffic burst information for the first queue based on the length information and time information of the N first messages, the detection time information, and the first buffer occupancy value or the first threshold value comprises:
determining a first value corresponding to a second message according to the first buffer occupancy value or the first threshold value, the length information and time information of the second message, the detection time information and the bandwidth resource configuration value of the first queue, wherein the second message is any first message in the N first messages;
selecting a third message with the largest corresponding first value from the N first messages;
and taking the first value corresponding to the third message as the flow burst value, and taking the time information of the third message as the generation time of the flow burst value.
9. The method of claim 7, wherein determining traffic burst information for the first queue based on the length information and time information of the N first messages, the detection time information, and the first buffer occupancy value or the first threshold value comprises:
dividing the N first messages into a plurality of aggregation messages, wherein any one aggregation message comprises at least one first message, the length information of any one aggregation message is the length information of the first message contained in the aggregation message or the sum of the length information of at least two first messages contained in the aggregation message, and the time information of the aggregation message is the time information of the first message which reaches the first queue first in the at least one first message contained in the aggregation message;
determining a second value corresponding to a first aggregation message according to the first buffer occupancy value or the first threshold value, the detection time information, the bandwidth resource allocation value of the first queue, the length information of the first aggregation message and the time information of the first aggregation message, wherein the first aggregation message is any aggregation message in the aggregation messages;
Selecting a second aggregation message with the corresponding second maximum value from the aggregation messages;
and taking the second numerical value corresponding to the second aggregation message as the flow burst value, and taking the time information of the second aggregation message as the generation time of the flow burst value.
10. The method according to any of claims 1-9, wherein the length information of the first message is used to indicate a size/data amount/dimension of the first message, and the time information of the first message is used to indicate an arrival time of the first message to the first queue.
11. The method of claim 8 or 9, wherein the method further comprises:
acquiring historical flow burst information of the first queue, wherein the historical flow burst information comprises a historical maximum flow burst value of the first queue and generation time of the historical maximum flow burst value;
when the time difference between the generation time of the flow burst value and the generation time of the historical maximum flow burst value is larger than a time threshold value, updating the historical maximum flow burst value of the first queue to the flow burst value, and updating the generation time of the historical maximum flow burst value to the generation time of the flow burst value; or alternatively
When the flow burst value is greater than or equal to the historical maximum flow burst value, updating the historical maximum flow burst value of the first queue to the flow burst value, and updating the generation time of the historical maximum flow burst value to the generation time of the flow burst value.
12. The method of claim 11, wherein the method further comprises:
when the first queue has occurred or is about to lose packets, the traffic burst value is used as a no-packet-loss cache value of the first queue; or alternatively
Taking the product of the flow burst value and a first coefficient as a packet loss-free cache value of the first queue;
the no-packet-loss buffer value is used for indicating a buffer size required for enabling the first queue not to generate packet loss, the no-packet-loss buffer value is used for adjusting a total buffer value of the first queue, and the first coefficient is larger than 1.
13. The method of claim 8 or 9, wherein the method further comprises:
when the first queue has occurred or is about to lose packets, determining a no-lost packet bandwidth value of the first queue according to the first buffer occupancy value or the first threshold value, the total buffer value of the first queue, and the length information and the time information of the N first messages;
The non-lost bandwidth value is used for indicating the bandwidth required by the first queue to avoid packet loss, and the non-lost bandwidth value is used for adjusting the bandwidth resource allocation value of the first queue.
14. The method of claim 13, wherein when the packet loss rule adopted by the network device is a queue tail drop rule, determining a packet loss free bandwidth value of the first queue according to the first buffer occupancy value or the first threshold, the total buffer value of the first queue, and the length information and time information of the N first messages, comprises:
determining a third value corresponding to a fourth message according to the first buffer occupancy value or the first threshold value, the length information and time information of the fourth message, the detection time information and the total buffer value of the first queue, wherein the fourth message is any first message in the N first messages;
selecting a fifth message with the maximum third value from the N first messages;
and determining a non-lost bandwidth value of the first queue according to a second coefficient and a third value corresponding to the fifth message, wherein the second coefficient is greater than or equal to 1.
15. The method of claim 13, wherein when the packet loss rule adopted by the network device is a random early detection/weighted random early detection rule, determining the packet loss free bandwidth value of the first queue according to the first buffer occupancy value or the first threshold, the total buffer value of the first queue, and the length information and time information of the N first messages comprises:
determining a fourth value corresponding to a sixth message according to the first buffer occupancy value or the first threshold, the length information and time information of the sixth message, the detection time information and a low threshold of the random early detection/weighted random early detection rule, wherein the sixth message is any first message in the N first messages, and the low threshold is greater than or equal to 0 and smaller than the total buffer value of the first queue;
selecting a seventh message with the maximum fourth value from the N first messages;
and determining a non-lost bandwidth value of the first queue according to a third coefficient and a fourth value corresponding to the seventh message, wherein the third coefficient is greater than or equal to 1.
16. The method of any one of claims 13-15, wherein the method further comprises:
Counting the number of lost packets of the first queue through a packet loss counter, and determining that the first queue has lost packets when the number of lost packets of the first queue is greater than a packet loss threshold; or alternatively
And determining that the first queue has occurred or is about to lose the packet according to the traffic burst value and the total buffer value of the first queue.
17. The method of claim 16, wherein when the packet loss rule adopted by the network device is a tail-drop rule, determining that the first queue has or is about to lose packets according to the traffic burst value and a total buffer value of the first queue comprises:
when the traffic burst value is larger than the total cache value of the first queue, determining that packet loss occurs in the first queue; or alternatively
And when the traffic burst value is greater than or equal to the product of the total buffer value of the first queue and a fourth coefficient, determining that the first queue is about to lose packets, wherein the fourth coefficient is greater than 0 and less than 1.
18. The method of claim 16, wherein when the packet loss rule adopted by the network device is a random early detection/weighted random early detection rule, determining that the first queue has occurred or is about to lose packets based on the traffic burst value and a total buffer value of the first queue comprises:
When the traffic burst value is greater than a low threshold value of the random early detection/weighted random early detection rule, determining that packet loss occurs in the first queue; or alternatively
And when the flow burst value is greater than or equal to the product of the low threshold value and a fifth coefficient, determining that the first queue is about to lose packets, wherein the fifth coefficient is greater than 0 and less than 1.
19. A network device comprising means for performing the method of any of claims 1-18.
20. A network device comprising a memory and a processor;
the memory is used for storing computer program instructions;
the processor being operative to execute computer program instructions in the memory to cause the network device to perform the operational steps of the method of any one of claims 1-18.
21. A computer readable storage medium, characterized in that the computer readable storage medium has stored therein a computer program or instructions, which when executed by a computer, cause the computer to perform the operational steps of the method according to any of claims 1-18.
22. A computer program product, characterized in that the computer program product comprises a computer program or instructions which, when run on a computer, cause the computer to perform the operational steps of the method according to any one of claims 1-18.
23. A chip, characterized in that the chip is coupled to a memory, the chip reading a computer program stored in the memory, performing the operational steps of the method according to any of claims 1-18.
CN202211231465.9A 2022-10-09 2022-10-09 Traffic burst determining method and network equipment Pending CN117857399A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211231465.9A CN117857399A (en) 2022-10-09 2022-10-09 Traffic burst determining method and network equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211231465.9A CN117857399A (en) 2022-10-09 2022-10-09 Traffic burst determining method and network equipment

Publications (1)

Publication Number Publication Date
CN117857399A true CN117857399A (en) 2024-04-09

Family

ID=90533183

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211231465.9A Pending CN117857399A (en) 2022-10-09 2022-10-09 Traffic burst determining method and network equipment

Country Status (1)

Country Link
CN (1) CN117857399A (en)

Similar Documents

Publication Publication Date Title
US20200136982A1 (en) Congestion avoidance in a network device
US6996064B2 (en) System and method for determining network throughput speed and streaming utilization
US8989002B2 (en) System and method for controlling threshold testing within a network
US20220045972A1 (en) Flow-based management of shared buffer resources
US11032179B2 (en) Heterogeneous flow congestion control
US11171869B2 (en) Microburst detection and management
JP4348124B2 (en) Method and communication device for estimating QoS
US11924681B2 (en) Adaptive in-band network telemetry for full network coverage
RU2677373C1 (en) Fractal telecommunication traffic transmission quality increasing method
WO2012145841A1 (en) Hierarchical profiled scheduling and shaping
US11102273B2 (en) Uplink performance management
CN112054965A (en) Congestion control method, equipment and computer readable medium
US9350631B2 (en) Identifying flows causing undesirable network events
US20080225705A1 (en) Monitoring, Controlling, And Preventing Traffic Congestion Between Processors
JP6014932B2 (en) Network device, performance control method, and network system
US20180102951A1 (en) BFD Method and Apparatus
US11050649B2 (en) Delay measurement method of network node device, apparatus, and network node device
Tian et al. P-PFC: Reducing tail latency with predictive PFC in lossless data center networks
CN114640636A (en) Cloud video management method and system
CN117857399A (en) Traffic burst determining method and network equipment
CN109787922B (en) Method and device for acquiring queue length and computer readable storage medium
EP3910881A1 (en) Poor-qoe assessment method and related device
RU2728948C1 (en) Method for early detection of occurrence moment of poisson's teletraffic overload
CN118282953A (en) Traffic burst determining method and device
US8593972B2 (en) Method to verify a drop probability curve

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication