CN111277467A - Communication device, data stream identification method and related equipment - Google Patents

Communication device, data stream identification method and related equipment Download PDF

Info

Publication number
CN111277467A
CN111277467A CN202010077064.7A CN202010077064A CN111277467A CN 111277467 A CN111277467 A CN 111277467A CN 202010077064 A CN202010077064 A CN 202010077064A CN 111277467 A CN111277467 A CN 111277467A
Authority
CN
China
Prior art keywords
stream
data stream
target data
bandwidth
elephant
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.)
Granted
Application number
CN202010077064.7A
Other languages
Chinese (zh)
Other versions
CN111277467B (en
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 CN202010077064.7A priority Critical patent/CN111277467B/en
Publication of CN111277467A publication Critical patent/CN111277467A/en
Application granted granted Critical
Publication of CN111277467B publication Critical patent/CN111277467B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The application discloses a communication device, a data stream identification method and related equipment. The communication device comprises a first-level detection module and a second-level detection module. The first-stage detection module detects the bandwidth of the data stream and queries the initial stream type of the data stream. And if the first-stage detection module determines that the bandwidth and the initial stream type of the data stream meet the preset rules, the data stream is used as a target data stream, and the description information of the target data stream is output to the second-stage detection module. And after the second-stage detection module acquires the description information of the target data stream, comparing and analyzing the target data stream and the recorded at least one elephant stream according to the description information of the target data stream, and determining the stream type of the target data stream. It can be seen that the communication device described herein can perform two-stage detection on the stream type of the data stream, so as to accurately and efficiently detect the stream type of the data stream.

Description

Communication device, data stream identification method and related equipment
Technical Field
The present application relates to the field of communications technologies, and in particular, to a communication device, a data stream identification method, and a related apparatus.
Background
There are two types of traffic in a data center, one is a large bandwidth data stream called elephant flow and the other is a small bandwidth data stream called mouse flow. Generally, the requirement of the mouse flow on the time delay is higher, and the influence on the bandwidth of a network of a data center is small; the elephant flow is just opposite, the sensitivity of the elephant flow to time delay is relatively low, and the influence on the network bandwidth of the data center is large. In order to meet the requirement of low time delay of the rat flow, reduce the influence of the elephant flow on the rat flow and simultaneously improve the bandwidth utilization rate of the whole data center, the elephant flow needs to be identified and subjected to load balancing, so that the data transmission efficiency is improved.
At present, the elephant flow is mainly identified by a switch detecting the size relationship between the bandwidth of the data flow and a threshold value, so as to identify whether the data flow is the elephant flow. However, this recognition method is too simple, resulting in low recognition accuracy.
Disclosure of Invention
The embodiment of the application provides a communication device, which can perform two-stage detection on a data stream to which a received message belongs so as to accurately determine the stream type of a target data stream.
In a first aspect, an embodiment of the present application provides a communication apparatus. The communication device comprises a first-level detection module and a second-level detection module. A first-stage detection module of the communication device, configured to detect a bandwidth of a data stream corresponding to the received packet, and query an initial stream type of the data stream; if the bandwidth and the initial stream type of the data stream meet the preset rules, the data stream of which the bandwidth and the initial stream type meet the preset rules is used as a target data stream, and the description information of the target data stream is output to the second-stage detection module. The initial stream types may include, among others, rat stream and elephant stream. The description information of the target data flow may include a bandwidth of the target data flow and a data flow identification of the target data flow. And the second-stage detection module is used for comparing and analyzing the target data stream and at least one elephant stream recorded in the second-stage detection module according to the received description information of the target data stream input by the first-stage detection module, and determining the stream type of the target data stream. The stream types also include elephant streams and rat streams. Elephant flow and rat flow are two common data flows in a network. The requirement of the mouse flow on time delay is higher, and the influence on the bandwidth of a network of a data center is small; the elephant flow is just opposite, the sensitivity of the elephant flow to time delay is relatively low, and the influence on the network bandwidth of the data center is large.
Based on the embodiment, the communication device can improve the detection accuracy through two-stage detection, so that the stream type of the target data stream can be accurately determined.
In an implementation manner, the outputting, by the first-stage detection module, description information of the target data stream to the second-stage detection module refers to: the first-stage detection module transmits the description information of the target data stream to the second-stage detection module in the form of pulse signals through an internal connection line of the communication device. Similarly, when the second-stage detection module outputs information to the first-stage detection module, the information to be transmitted is also transmitted to the first-stage detection module in the form of a pulse signal through an internal connection line of the communication device, which is not described in detail in the present application.
Based on this embodiment, it can be seen that the first-stage detection module and the second-stage detection module are both in the same communication device. When the first-stage detection module and the second-stage detection module communicate with each other, the transmission distance between the first-stage detection module and the second-stage detection module can be considered to be negligible, which is equivalent to performing simple data input and output between two devices. Without the need for data modulation and other operations prior to long-distance transceiving between the two devices. Because the transmission distance between the first-stage detection module and the second-stage detection module is short, errors are not easy to occur in transmitted data, and the speed of two-stage detection is improved.
In an implementable manner, the data stream whose bandwidth and initial stream type meet the preset rule includes: the initial stream type is a elephant stream, and the bandwidth of the data stream is less than or equal to a threshold value; or, the initial flow type is a rat flow, and the bandwidth is larger than the threshold value. Wherein, the initial stream type is a elephant stream, and the data stream with the bandwidth less than or equal to the threshold value refers to: the flow may be from elephant to rat. The initial flow type is a rat flow, and the data flow with bandwidth greater than the threshold refers to: the flow may be a flow of data from a rat elephant.
Based on the embodiment, the first-stage detection module of the communication device can detect the data stream of the elephant flow changed into the mouse flow and the data stream of the mouse flow changed into the elephant flow, namely can detect the data stream of which the flow type can be changed. The first-stage detection module also takes the data stream with the stream type possibly changed as a suspected elephant stream, and the second-stage detection module carries out further detection, so that the stream type of the target data stream is finally and accurately determined.
In one implementation, the data flow identification and bandwidth of the target data flow are encapsulated as descriptive information.
In an implementation manner, the second-stage detection module is specifically configured to determine the target bandwidth of the target data stream according to the description information of the target data stream. The target data stream and the at least one elephant stream recorded in the second level detection module are then ordered according to the target bandwidth of the target data stream. And if the target data stream is positioned at the first N bits in the sequence, determining that the target data stream is the elephant stream. Wherein N is an integer of 1 or more. The target bandwidth is used to indicate the bandwidth condition of the target data stream, and may be a bandwidth in the description information of the target data stream, that is, the bandwidth of the target data stream may be directly used as the target bandwidth of the target data stream.
Based on such an implementation, the second level detection module of the communication device may quickly determine whether the target data stream is an elephant stream by quickly ordering the target data and the at least one elephant. It should be noted that, since the concepts of the elephant flow and the mouse flow are opposite, the second-stage detection module determines the data flow of the first N bits of the flow as the elephant flow by sorting the target data flow and the determined at least one elephant flow. The embodiment can limit the number of the elephant flows and determine the large-flow data flows really influencing the network, so that a load balancing strategy is formulated for the large-flow data flows, the data transmission efficiency of the network is improved, and data congestion is prevented.
In an implementation manner, the second-stage detection module is further configured to query historical bandwidth information of the target data stream, and predict a bandwidth change trend of the target data stream by using the bandwidth in the historical bandwidth information and the description information to obtain a predicted bandwidth of the target data stream. The predicted bandwidth of the tagged data stream is then taken as the target bandwidth of the target data stream. Wherein the historical bandwidth information comprises at least one bandwidth of the historically measured target data stream. For example, the second-stage detection module may calculate the change rate of the bandwidth of the target data stream according to the bandwidth acquired in the current period (i.e., the bandwidth in the description information) and the bandwidth acquired in the previous period (i.e., the historical bandwidth). And then, according to the bandwidth acquired in the current time period and the change rate, calculating to obtain the predicted bandwidth of the target data stream in the next time period, and taking the predicted bandwidth as the target bandwidth of the target data stream.
In an implementation manner, the second-stage detection module is further configured to determine a stream switching type of the target data stream according to the description information. Wherein the stream switching type includes: switching from rat flow to elephant flow and vice versa. If the initial stream type of the target data stream is a mouse stream and the detected bandwidth is greater than the threshold, determining that the stream switching type of the target data stream is as follows: the rat flow is switched into the elephant flow. And then the second-stage detection module compares and analyzes the target data stream and at least one elephant stream according to the description information of the target data stream to determine the stream type of the target data stream. If the initial stream type of the target data stream is the elephant stream and the detected bandwidth is less than or equal to the threshold, determining that the stream switching type of the target data stream is as follows: switching from elephant flow to mouse flow, the flow type of the target data flow is directly determined to be mouse flow without being analyzed and compared with at least one elephant flow.
Based on the embodiment, the second-stage detection module can rapidly determine that the flow type of the target data flow is the rat flow when the target data flow is detected to be changed from the elephant flow to the rat flow, so that the speed of the second-stage detection is increased.
In one implementable manner, the initial flow type includes transient flows in addition to elephant flows and rat flows. The transient stream is used to instruct the second stage detection module to delay determining the stream type of the target data stream. Accordingly, the first detection module is further configured to modify the initial stream type of the target data stream into the transient stream after determining the target data stream. The initial stream type of the target data stream is changed into a transient stream, on one hand, the data stream can be directly used as the target data stream when being detected by the first-stage detection module in the next time period without additional detection, and therefore the time of the first-stage detection is shortened. On the other hand, when the second-stage detection module receives the description information of the target data stream, it is determined whether the number of the received description information of the target data stream is equal to the preset number, if not, the second-stage detection is not started immediately, otherwise, the second-stage detection is started.
Based on the implementation manner, the second-stage detection module does not process the received description information in real time, but starts the second-stage detection of the target data stream only when enough (equal to the preset number) description information of the target data stream is received. The second-level detection module carries out second-level detection on the target data stream on the basis of enough description information, so that the stream type of the target data stream can be determined more accurately.
In an implementable manner, in the case where the initial stream type includes a rat stream, an elephant stream, and a transient stream, the data stream whose bandwidth and initial stream type meet the preset rules includes: the initial flow type is a data flow of a transient flow, or the initial flow type is a data flow of an elephant flow and the bandwidth is less than or equal to a threshold value, or the initial flow type is a data flow of a mouse flow and the bandwidth is greater than the threshold value.
Based on the embodiment, the first-stage detection module of the communication device directly takes the transient stream as the target data stream in addition to the data stream with the possibly changed stream type as the target data stream. This can shorten the time for the first stage of detection.
In an implementation manner, in a case that the initial stream type includes a rat stream, an elephant stream, and a transient stream, the second-stage detection module is configured to, if the number of the obtained description information of the target data stream is equal to a preset number, sort the target data stream and at least one elephant stream according to the preset number of the description information. And if the target data stream belongs to the data stream positioned at the first M bits in the sequence, determining that the target data stream is the elephant stream. Wherein M is an integer of 1 or more. Specifically, the second-stage detection module determines the bandwidth distribution of the target data stream on the time axis according to the preset number of description information. And then sorting the target data stream and the at least one elephant stream according to the bandwidth distribution of the target data stream on the time axis and the bandwidth distribution of the at least one elephant stream on the time axis. Illustratively, the target data stream and the at least one elephant stream are ordered according to a total duration of the bandwidth exceeding a threshold in the bandwidth distribution. And finally, if the target data stream is positioned at the first M bits in the sequence, determining that the target data stream is a elephant stream, and otherwise, determining that the target data stream is a mouse stream. N and M may be equal or different, and are not limited in this application.
In an implementation manner, the second-stage detection module is further configured to traverse the at least one elephant flow according to a preset period, generate a blank message for each elephant flow in the at least one elephant flow, and output the blank message to the first-stage detection module. Correspondingly, the first-stage detection module is further configured to detect a bandwidth of a data stream to which the blank packet belongs when the blank packet is detected. Next, the first-stage detection module and the second-stage detection module perform first-stage detection and second-stage detection on the data stream to which the blank packet belongs, so as to re-determine the stream type of the data stream to which the blank packet belongs, and detailed processes are not repeated.
Based on the implementation mode, the first-stage detection module and the second-stage detection module of the communication device can be used for detecting the aged elephant flow in time, so that the elephant flow is effectively managed, and the efficiency of data transmission in a network is improved.
In an implementation manner, the first-stage detection module is further configured to traverse an initial stream type of the data stream stored in the first-stage detection module according to a preset period, and detect a data stream of which the initial stream type is an elephant stream. If the first-stage detection module does not receive the message of the data stream of which the initial stream type is the elephant stream within the preset time range, determining that the stream type of the data stream of which the initial stream type is the elephant stream is the mouse stream.
Based on the embodiment, the communication device can detect the aging elephant flow by using only the first-stage detection module edge, so that the management efficiency of the elephant flow is further improved, and the data transmission efficiency in the network is improved.
In a second aspect, a data flow identification method is provided, which is performed by the second-stage detection module of the first aspect. Specifically, the second detection module receives the description information of the target data stream input by the first-stage detection module. The target data stream is a data stream of which the bandwidth and the initial stream type meet preset rules, and which is determined by the first-stage detection module according to the bandwidth of the data stream corresponding to the detected received message and the initial stream type of the data stream. The initial stream types include rat stream and elephant stream. And then the second-stage detection module compares and analyzes the target data stream and at least one elephant stream according to the description information of the target data stream to determine the stream type of the target data stream.
In an implementable manner, the data stream whose bandwidth and initial stream type meet the preset rule includes: the initial stream type is a elephant stream, and the bandwidth of the data stream is less than or equal to a threshold value; or, the initial flow type is a rat flow, and the bandwidth is larger than the threshold value.
In an implementation manner, the description information includes a data stream identifier and a bandwidth of the target data stream.
In an implementable manner, the second detection module performs comparative analysis on the target data stream and the at least one elephant stream according to the description information of the target data stream, and determines the stream type of the target data stream, which refers to: and the second detection module determines the target bandwidth of the target data stream according to the description information of the target data stream. The target data stream and the at least one elephant stream are then ordered according to the target bandwidth of the target data stream. And if the target data stream belongs to the data stream positioned at the first N bits in the sequence, determining that the target data stream is the elephant stream. Wherein N is an integer of 1 or more.
In an implementation manner, the determining, by the second detection module, the bandwidth of the target data stream according to the description information of the target data stream refers to: the second detection module queries historical bandwidth information of the target data stream. And then, predicting the bandwidth change trend of the target data stream by using the bandwidth in the historical bandwidth information and the description information to obtain the predicted bandwidth of the target data stream. And finally, taking the predicted bandwidth of the target data stream as the target bandwidth of the target data stream. Wherein the historical bandwidth information comprises at least one bandwidth of the target data stream that is historically measured.
In an implementation manner, after the second detection module receives the description information of the target data stream input by the first-stage detection module, before the second detection module compares and analyzes the target data stream and the at least one elephant stream according to the description information of the target data stream and determines the stream type of the target data stream, the second detection module further determines the stream switching type of the target data stream according to the description information. If the initial stream type of the target data stream is a mouse stream and the detected bandwidth is greater than the threshold, determining that the stream switching type of the target data stream is as follows: the rat flow is switched into the elephant flow. The second detection module then compares the target data stream with the at least one elephant stream for analysis to determine a stream type of the target data stream. If the initial stream type of the target data stream is the elephant stream and the detected bandwidth is less than or equal to the threshold, determining that the stream switching type of the target data stream is as follows: and switching the elephant flow into the mouse flow, and directly determining the flow type of the target data flow as the mouse flow.
In one embodiment, the initial stream type includes transient streams in addition to rat streams and elephant streams. The transient stream is used to instruct the second stage detection module to delay determining the stream type of the target data stream. The second detection module also modifies the initial stream type of the target data stream to a transient stream after determining the target data stream.
In an implementable manner, in the case where the initial stream type includes a rat stream, an elephant stream, and a transient stream, the data stream whose bandwidth and initial stream type meet the preset rules includes: the initial flow type is a data flow of a transient flow, or the initial flow type is a data flow of an elephant flow and the bandwidth is less than or equal to a threshold value, or the initial flow type is a data flow of a mouse flow and the bandwidth is greater than the threshold value.
In an implementable manner, in the case that the initial stream type includes a rat stream, an elephant stream and a transient stream, the second detection module performs comparative analysis on the target data stream and at least one elephant stream according to the description information of the target data stream, and determining the stream type of the target data stream refers to: and if the number of the obtained description information of the target data stream is equal to the preset number, the second detection module sequences the target data stream and at least one elephant stream according to the preset number of the description information. And if the target data stream belongs to the data stream positioned at the first M bits in the sequence, determining that the target data stream is the elephant stream. Wherein M is an integer of 1 or more.
In an implementable manner, the second detection module traverses the at least one elephant flow according to a preset period, generates a blank message for each elephant flow in the at least one elephant flow, and outputs the blank message to the first-stage detection module, so that the first-stage detection module detects the bandwidth of the data stream to which the blank message belongs when detecting the blank message.
In a third aspect, a communication apparatus is provided, which includes: a receiving unit, configured to receive description information of a target data stream input by a first-stage detection module, where the target data stream is a data stream in which a bandwidth and an initial stream type of the data stream, which are obtained by the first-stage detection module according to a bandwidth of the data stream corresponding to a detected received packet and the initial stream type of the data stream, meet a preset rule, and the initial stream type includes a rat stream and an elephant stream; and the comparison unit is used for comparing and analyzing the target data stream and at least one elephant stream according to the description information of the target data stream and determining the stream type of the target data stream.
In an implementable manner, the data stream whose bandwidth and initial stream type meet the preset rule includes: the initial stream type is a elephant stream, and the bandwidth of the data stream is less than or equal to a threshold value; or, the initial flow type is a rat flow, and the bandwidth is larger than the threshold value.
In an implementation manner, the description information includes a data stream identifier and a bandwidth of the target data stream.
In an implementable manner, the comparing unit is specifically configured to determine a target bandwidth of the target data stream according to the description information of the target data stream; sorting said target data stream and said at least one elephant stream according to a target bandwidth of said target data stream; and if the target data stream belongs to the data stream positioned at the first N bits in the sequence, determining that the target data stream is an elephant stream, wherein N is an integer greater than or equal to 1.
In an implementable manner, the communication device further comprises a determination unit. Determining historical bandwidth information of the target data stream, wherein the historical bandwidth information comprises at least one historical bandwidth of the target data stream; predicting the bandwidth variation trend of the target data stream by using the historical bandwidth information and the bandwidth in the description information to obtain the predicted bandwidth of the target data stream; and taking the predicted bandwidth of the target data stream as the target bandwidth of the target data stream.
In an implementation manner, the determining unit is further configured to determine a stream switching type of the target data stream according to the description information, where the stream switching type includes: switching from rat flow to elephant flow and from elephant flow to rat flow; if the stream switching type of the target data stream is switching from a rat stream to a elephant stream, executing the step of comparing and analyzing the target data stream and at least one elephant stream according to the description information of the target data stream to determine the stream type of the target data stream; and if the stream switching type of the target data stream is switching from the elephant stream to the mouse stream, determining that the stream type of the target data stream is the mouse stream.
In one implementation, the initial stream type further includes a transient stream, and the transient stream is used to instruct the second-stage detection module to delay determining the stream type of the target data stream; the method further comprises the following steps: and modifying the initial stream type of the target data stream into the transient stream.
In an implementable manner, the data stream whose bandwidth and initial stream type meet the preset rule includes: the initial flow type is a data flow of a transient flow, or the initial flow type is a data flow of an elephant flow and the bandwidth is less than or equal to a threshold value, or the initial flow type is a data flow of a mouse flow and the bandwidth is greater than the threshold value.
In an implementation manner, the comparing unit is further configured to, if the number of the obtained description information of the target data stream is equal to a preset number, sort the target data stream and the at least one elephant stream according to the preset number of the description information; and if the target data stream belongs to the data stream positioned at the first M bits in the sequence, determining that the target data stream is an elephant stream, wherein M is an integer greater than or equal to 1.
In an implementation manner, the communication device further includes a polling unit, configured to traverse the at least one elephant flow according to a preset period, generate a blank message for each elephant flow in the at least one elephant flow, and output the blank message to the first-stage detection module, so that the first-stage detection module detects a bandwidth of a data flow to which the blank message belongs when detecting the blank message.
In a fourth aspect, a computer device is provided that includes an intelligent network card. The intelligent network card is used for receiving a data stream sent by the processor or sending the data stream to the processor, and the intelligent network card is the communication device in any one of the above-mentioned first aspect and the implementation manner of the first aspect.
In a fifth aspect, a chip is provided that includes a processor and an interface. The processor and the interface cooperate with each other such that the chip performs the method of the second aspect and any one of the embodiments of the second aspect.
A sixth aspect provides a computer-readable storage medium having stored therein instructions, which, when run on a computer, cause the computer to perform the method of any one of the embodiments of the second aspect and the second aspect described above.
In a seventh aspect, a computer program product is provided, which when run on a computer causes the computer to perform the method of any one of the embodiments of the second aspect and the second aspect.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings used in the description of the embodiments will be briefly introduced below.
Fig. 1 is a schematic view of an application scenario of a data stream identification method provided in an embodiment of the present application;
fig. 2 is a schematic flowchart of a data stream identification method according to an embodiment of the present application;
fig. 3 is a schematic block diagram of a communication device provided in an embodiment of the present application;
FIG. 4 is a block diagram of a computer device according to an embodiment of the present disclosure;
fig. 5 is a structural block diagram of a chip according to an embodiment of the present disclosure.
Detailed Description
The embodiment of the application provides a communication device and a data stream identification method. Wherein the data stream identification method may be performed by a communication device. The communication device is a device for data communication. The communication device may be a terminal or a switch, or may be a device for a terminal or a switch. The device for the terminal can be an intelligent network card in the terminal and the like. The intelligent network card can realize the functions of the traditional network card and the functions of realizing the services of the switch, such as setting a load balancing strategy for data flow. By implementing the method of the embodiment of the application, the communication device can carry out two-stage detection on the stream type of the data stream so as to accurately and efficiently detect the data stream which is the elephant stream.
The terminal may be a User Equipment (UE), a Mobile Station (MS), or a Subscriber Unit (SU), among others. The terminal may specifically be, but is not limited to, a mobile phone, a tablet computer (tablet computer), a laptop computer (laptop computer), a wearable device (smart watch, smart bracelet, smart helmet, smart glasses, etc.), and other communication apparatuses with wireless access capability, such as various internet of things devices including smart home devices (smart electric meters, smart home appliances, etc.), smart vehicles, and the like.
A Smart network interface controller (Smart NIC) is computer hardware that allows a terminal to communicate over a computer network. Compared with the traditional network card, the intelligent network card has more powerful functions. The intelligent network card can not only realize the communication function of the traditional network card, but also realize the functions of local programming and function customization and the functions of detecting and managing network flow through a Field Programmable Gate Array (FPGA). Therefore, the intelligent network card can be used as an execution main body of the data flow identification method to realize two-stage detection of the data flow, and a load balancing strategy is formulated based on the results of the two-stage detection.
A switch is a network device for electrical (optical) signal forwarding that provides an exclusive electrical signal path for any two network nodes that access the switch. The switch may be, but is not limited to, an ethernet switch, a fiber switch, a voice over telephone switch, and the like.
In the embodiment of the application, the two-stage detection is performed in the same device, and compared with a method for realizing the two-stage detection in different devices, the method has higher identification speed and avoids the risk of errors caused by long-distance transmission of intermediate data of the two-stage detection. It should be noted that, compared with the switch as the execution subject and the terminal or the intelligent network card in the terminal as the execution subject, the efficiency of identifying the data stream is further improved. The reason is that the terminal or the intelligent network card in the terminal can directly contact the message to be transmitted from the source, and only the data stream sent by the local terminal needs to be processed, so that the problem of identifying the data stream can be solved from the source, and the more refined load balance can be directly performed on the elephant stream after the elephant stream is identified.
Next, the present application will be described with reference to fig. 1, taking an example that the communication device includes a second-level detection module and a first-level detection module, and a data stream identification method and an applicable scenario thereof will be described.
In a data transmission scenario, data streams are of two types, one being a large bandwidth data stream called a elephant stream and the other being a small bandwidth data stream called a rat stream. The elephant stream occupies a large bandwidth, so whether the elephant stream can be accurately transmitted or not determines the overall data transmission efficiency of the network to a great extent. In order to improve the bandwidth utilization rate and the data transmission efficiency of the network, the elephant flow needs to be identified and load-balanced, so that the influence of the elephant flow on the data transmission efficiency of the network is reduced. It can be seen that accurate identification of elephant flow is a prerequisite and key to solving the aforementioned problems.
At present, in the prior art, the method for identifying the elephant flow mainly identifies the flow type of the data flow by a way that a switch performs threshold judgment on the bandwidth. For example, the switch compares the bandwidth of the data stream with a threshold, and if the bandwidth of the data stream is greater than the threshold, the data stream is determined to be an elephant stream; and if the bandwidth of the data stream is less than or equal to the threshold value, determining that the data stream is the mouse stream. Specifically, the switch detects the bandwidth of the data stream to which the message belongs according to the received message, and when the bandwidth of the data stream is detected to be larger than a threshold value, the data stream is judged to be a elephant stream; and when the bandwidth of the data stream is detected to be less than or equal to the threshold value, judging the data stream to be the mouse stream.
Actual tests show that a simple threshold judgment method is too simple and has low accuracy. Since the data volumes of the packets of the data stream received by the intelligent network card at different points in time may be different, the bandwidths of the data volumes detected at different points in time may also be different. If the class type of the data stream is determined based on a simple threshold determination method, the data stream may be determined as an elephant stream and a rat stream in a short time. The switching between the elephant flow and the flow mouse flow is frequent, so that the real flow type of the data flow cannot be finally determined. Therefore, a good identification effect cannot be achieved by a simple threshold judgment method, and the identification precision is low.
In order to solve the above problem, the present application provides a data flow identification method and a communication apparatus for performing the data flow identification method. The data stream identification method can realize accurate identification of the stream type of the data stream in a two-stage detection mode, and improves the speed, efficiency and flexibility of identification. Specifically, as shown in fig. 1, the communication device 100 is composed of a first-level detection module 110 and a second-level detection module 120. The first-level detection module 110 and the second-level detection module 120 of the communication apparatus may communicate through a Peripheral Component Interconnect Express (PCIE) data transmission interface. The communication device first uses the first-stage detection module 110 to perform the first-stage detection on the data stream to which the received message belongs, that is, detect the data stream whose bandwidth and initial stream type conform to the preset rule, and use the data stream conforming to the preset rule as the target data stream. The second-level detection module 120 is then used to perform a second-level detection on the target data stream, i.e., the target data stream is analyzed and compared with at least one elephant stream already recorded in the second-level detection module, so as to determine the stream type of the target data stream. Next, the second-stage detection module 120 may further issue the determined stream type of the target data stream to the first-stage detection module 110, so that the first-stage detection module 110 modifies the initial stream type of the target data stream. Thereafter, the first-stage detection module 110 may perform load balancing on the data stream according to the determined data stream type.
In an implementable manner, the first-level detection module 110 refers to a hardware entity in a communication device, such as an Embedded system (Embedded system), an application-specific chip, an application-specific integrated circuit, and the like, for implementing the method of the first-level detection in the present application. The second-level detection module 120 refers to a hardware entity of the communication device that implements the method of the second-level detection part in the present application by calling an instruction pre-stored in the second-level detection module 120. Such as a Central Processing Unit (CPU), etc. Since the first-stage detection module 110 implements a simpler first-stage detection, the communication device can directly select a dedicated integrated circuit or the like according to the functional requirements of the first-stage detection, and thus the first-stage detection module 110 has a lower requirement on programming. The second-stage detection module 120 implements more complex second-stage detection, and requires specialized and complex software programming according to the functional requirements of the second-stage detection, so the second-stage detection module 120 has a higher requirement for programming. It can be seen that the first level detection module 110 relies primarily on hardware itself to implement the first level of detection, while the second level detection module 120 relies primarily on software programming to implement the second level of detection. The first level detection module 110 may therefore be considered a hardware module and the second level detection module 120 may be considered a software module. The threshold determination method is mostly implemented by a hardware module, so the threshold determination method is a pure hardware method. The two-stage detection of the present application is a soft-hard combination method.
It should be further noted that, the data stream whose bandwidth and initial stream type meet the preset rule refers to: the initial flow type is a elephant flow and the detected bandwidth is less than or equal to a threshold value, or the initial flow type is a rat flow and the detected bandwidth is greater than the threshold value. If the initial stream type of the data stream is the elephant stream, the data stream is judged to be the elephant stream in the previous time period; if the initial flow type of the data flow is a rat flow, the data flow is judged to be a rat flow in the previous period. If the bandwidth corresponding to the data stream in the current time interval is larger than the threshold value, the data stream is judged to be the elephant stream in the current time interval; if the bandwidth corresponding to the data stream in the current time period is less than or equal to the threshold, the data stream is judged to be the rat stream in the current time period. It can be considered that the data stream whose initial stream type is the elephant stream and whose bandwidth is equal to or less than the threshold value refers to a data stream whose elephant stream changes into a mouse stream; the data stream whose initial stream type is a rat stream and whose bandwidth is greater than the threshold value means a data stream that flows from a rat to an elephant stream. It can be seen that the data streams (the data stream from elephant flow to mouse flow and the data stream from mouse flow to elephant flow) with possibly changing flow types are all used as target data streams by the first-stage detection module and uploaded to the second-stage detection module, and the second-stage detection module further detects the target data streams.
The embodiment of the application accurately identifies the stream type of the data stream through two-stage detection. In the first-stage detection, a first-stage detection module of the communication device simultaneously detects the bandwidth of the data stream and the initial stream type to detect the data stream with the possibly changed stream type. The first-stage detection module also outputs the data stream with the stream type possibly changed as a target data stream to a second-stage detection module of the communication device, so that the second-stage detection module performs second-stage detection on the target data stream, and the stream type of the target data stream is finally determined. Therefore, the method provided by the embodiment of the application can improve the accuracy of identifying the elephant flow and further improve the bandwidth utilization rate of data transmission.
In order that the embodiments of the present application may be better understood, a detailed description of specific embodiments of the present application will be provided below with reference to fig. 2. Referring to fig. 2, fig. 2 is a schematic flowchart of a data stream identification method according to an embodiment of the present disclosure. As shown in fig. 2, the data stream identification method includes steps 201 to 202, wherein:
in step 201, the communication device performs a first level detection on the data stream by using the first level detection module 110 to detect a target data stream. The target data stream may be a data stream whose initial stream type is a elephant stream and bandwidth is less than or equal to a threshold, or a data stream whose initial stream type is a mouse stream and bandwidth is greater than a threshold. Specifically, the communication device counts the number of messages or the number of bytes of the received message through the first-stage detection module 110. And then determining the bandwidth of the data stream according to the number of the obtained messages or the number of bytes, and inquiring the initial stream type of the data stream. The bandwidth is used for indicating the data volume transmitted by the data stream within a preset time length. The initial stream type is used to represent the stream type of the data stream determined in the previous period, and includes a rat stream and an elephant stream. And then taking the data stream with the bandwidth and the initial stream type meeting the preset rules as a target data stream. Finally, the information of the data stream identifier, the initial stream type, the bandwidth, and the like of the target data stream is encapsulated into description information, and the description information is sent to the second-stage detection module 120 in the communication device.
It should be noted that, the first-stage detection module 110 may obtain the number of packets or the number of bytes of the data stream counted in the preset time period as the bandwidth of the data stream. If the counted duration is less than the preset duration, the first-stage detection module 110 will not read the counted number of messages or bytes of the data stream; if the counted duration is equal to or longer than the preset duration, the first-stage detection module 110 will read the counted number of messages or bytes as the bandwidth of the data stream. As can be seen, the first-stage detection module 110 obtains the number of packets or bytes of the data stream at every preset time interval, so that the number of packets or bytes of the data stream read by the first-stage detection module 110 may be considered as the bandwidth of the data stream. This will not be described in detail in the following.
It should be further noted that, the data stream whose bandwidth and initial stream type meet the preset rule refers to: the initial stream type is a data stream with an elephant stream and a bandwidth less than or equal to a threshold value; alternatively, the initial flow type is a rat flow and the bandwidth is greater than a threshold. Both the initial stream type and the bandwidth may be used to indicate whether the data stream is a elephant stream, but the two differ in that: the initial stream type is used to indicate a stream type of the data stream determined at a previous time period, and the bandwidth is used to indicate a stream type of the data stream determined at a current time period. Therefore, the data stream conforming to the preset rule may be a data stream that has been judged as an elephant stream but is currently judged as a rat stream (a data stream that changes from an elephant stream to a rat stream), or may be a data stream that has been judged as a rat stream but is currently judged as a elephant stream (a data stream that changes from a rat stream to an elephant stream). That is, the first-stage detection module 110 uploads the data stream from the elephant flow to the mouse flow, and the data stream from the mouse flow to the elephant flow to the second-stage detection module 120, so that the second-stage detection module 120 makes a more accurate determination, and can ensure that the determination of the final stream type of the data stream can be accurately made when the stream type of the data stream changes.
In an implementation manner, the data stream whose bandwidth and initial stream type meet the preset rule further includes: the initial stream type is a data stream with a bandwidth greater than a threshold. The data stream whose initial stream type is the elephant stream and whose bandwidth is greater than the threshold value refers to a data stream that was determined to be the elephant stream in the previous period and is detected to be the elephant stream again in the current period. It can be seen that, in the embodiment of the present application, in addition to a data stream whose stream type may change, a data stream whose stream type may be continuously maintained as an elephant stream may also be determined as a target data stream. Since there is a high probability that such a data stream will be an elephant stream, the data stream is taken as a target data stream for further confirmation. In general, the embodiment of the application expands the detection range of the data stream and ensures that the stream type judgment is more comprehensive and accurate. Whether the data stream determined to be the elephant stream in the previous time period, the data stream determined to be the elephant stream in the current time period, or the data stream determined to be the elephant stream in both the previous time period and the current time period is determined to be the suspected elephant stream (target data stream) by the first-stage detection module, so that the second-stage detection module performs further detection.
In one implementation, the first-stage detection module 110 includes a first classification table that includes, among other things, a data flow identification and an initial flow type. It should be noted that the first classification table can be directly read and modified by the first level detection module 110 of the communication device. If the second detection module 120 of the communication device needs to obtain the information in the first classification table, the first detection module 110 may be instructed to read and then send the information to the second detection module 120; the first class detection module 110 may be instructed to modify the first classification table if the second class detection module 120 of the communication device needs to modify the information in the first classification table. Where the aforementioned first classification table includes the data flow identification and the initial flow type, first stage detection module 110 may determine the initial flow type of the data flow by reading the first classification table. The data stream identifier and the initial stream type may be any combination of characters such as numbers and letters, the data stream identifier is used to uniquely determine the data stream, and the initial stream type is used to indicate whether the data stream is an elephant stream. The first classification table may be issued in advance before the data stream starts to be sent, or may be issued by triggering the first packet of the data stream.
In an implementation manner, the first classification table further includes byte statistics (or packet number statistics) and start time of a statistics period. Specifically, the start time of the counting period is the time when the first-stage detection module 110 starts counting. The byte counting result is the number of bytes of the data stream counted by the first-stage detection module 110 from the beginning of the period. The statistical result of the number of messages is the number of messages of the data stream counted by the first-stage detection module 110 from the beginning of the period. In the case that the first classification table further includes a byte statistic (or a message count statistic) and a start time of the statistic period, the first-stage detection module 110 may determine the bandwidth of the data stream by reading the first classification table. Specifically, the first-stage detection module 110 first queries a first classification table of the data stream, and if a time length from a start time of a statistical period in the first classification table of the data stream to a current time is less than a preset time length, does not read a byte statistical result (or a message number statistical result) in the first classification table of the data stream. And reading a byte statistical result (or a message number statistical result) in the first classification table of the data stream as the bandwidth of the data stream when the time length from the starting time of the statistical period in the first classification table of the data stream to the current time is greater than the preset time length.
It should be noted that the first classification table may include data such as a flow table creation time, an accumulated byte number, an accumulated message number, and the like, in addition to the data flow identifier, the initial flow type, the byte statistic result (or the message number statistic result), and the start time of the statistic period, which is not limited in this application. The flow table creating time is a creating time point of the first classification table, the accumulated byte number is a byte number of the data flow counted by the first-stage detection module 110 from the flow table creating time, and the accumulated message number is a message number of the data flow counted by the first-stage detection module 110 from the flow table creating time.
Next, two methods will be proposed in the present application, which will describe in detail how to determine whether a data flow is a target data flow that satisfies a predetermined rule.
In the first way, when the initial flow type includes only the elephant flow and the rat flow, the data flow satisfying the preset rule refers to: the initial stream type is a data stream with an elephant stream and a bandwidth less than or equal to a threshold value; the initial flow type is a data flow with a rat flow and a bandwidth greater than a threshold. If the first-stage detection module 110 detects that the initial stream type of the data stream is an elephant stream and the bandwidth is less than or equal to the threshold, taking the data stream as a target data stream; alternatively, if the initial flow type of the data flow is detected to be a mouse flow and the bandwidth is greater than the threshold value by the first-stage detection module 110, the data flow is taken as the target data flow.
In the embodiment of the application, whether the data stream is changed into the mouse stream by the elephant or not is mainly judged by judging whether the bandwidth of the data stream is larger than a threshold value and whether the initial stream type is the elephant stream or not, so that whether the data stream is used as the target data stream or not is determined. If so, the data stream is used as a target data stream and is uploaded to the second-stage detection module 120 for second-stage detection. It should be noted that there are two types of target data streams determined by implementing the foregoing method. First, the initial stream type is a data stream of a elephant stream but with a bandwidth less than or equal to a threshold. The target data stream may be changed from elephant flow to rat flow, and thus the data stream is used as the target data stream for further confirmation. Second, data streams whose initial stream type is a rat stream but bandwidth is greater than a threshold value. This target data stream may be streamed by the mouse as an elephant, thus further validating the data stream as a target data stream.
In the second way, when the initial flow type includes a transient flow (the transient flow is an intermediate transient between the elephant flow and the rat flow) in addition to the elephant flow and the rat flow, the data flow satisfying the preset rule refers to: the initial stream type is a data stream of a transient stream, or the initial stream type is a data stream of an elephant stream and the bandwidth is less than or equal to a threshold value, or the initial stream type is a data stream of a mouse stream and the bandwidth is greater than the threshold value. The transient stream is used to indicate that the corresponding data stream requires a second level of detection to determine the final stream type. Specifically, if the first-stage detection module 110 finds that the initial stream type of the data stream is a transient stream, the data stream is used as a target data stream. Or, if the initial stream type of the data stream is the mouse stream and the bandwidth of the data stream is greater than the threshold value, the initial stream type of the target data stream is modified into the transient stream, and the data stream is used as the target data stream. Or, if the first-stage detection module 110 finds that the initial stream type of the data stream is the elephant stream and the bandwidth of the data stream is less than or equal to the threshold, modify the stream type of the target data stream into the transient stream, and use the data stream as the target data stream. It should be noted that the modification of the initial stream type of the data stream into a transient stream may allow the data stream to be directly used as the target data stream when the data stream is detected in the next time period, without performing an additional threshold determination.
The second method in the embodiment of the present application is based on the first method, and adds an intermediate transient-transient flow between the elephant flow and the rat flow. The present application delays the detection of the data stream by the second-stage detection module 120 by changing the initial stream type of the data stream that meets the preset rule into a transient stream. That is, when the description information of the data stream of which the initial stream type is the transient stream is received, the second-stage detection module 120 does not start the detection of the data stream in real time; when the second-stage detection module 120 determines that the number of the obtained description information of the target data stream is greater than the preset number, the detection of the data stream is started. And then, under the condition that a plurality of description information of the transient flow is acquired, integrating the plurality of description information of the data flow to judge whether the data flow is the elephant flow. The manner of determining the stream type of the data stream after adding the transient stream will be described later, and is not specifically described here.
In step 202, the communication device performs a second level detection on the target data stream by using the second level detection module 120 to detect the stream type of the target data stream. Specifically, the communication device receives the description information of the target data stream uploaded by the first-stage detection module 110 by using the second-stage detection module 120. And then comparing and analyzing the target data stream and the at least one elephant stream according to the description information of the target data stream and the description information of the at least one elephant stream to determine the stream type of the target data stream. Finally, the second-stage detection module 120 issues the finally determined stream type of the target data stream to the first-stage detection module 110, so that the hardware module can update the initial stream type according to the stream type of the target data stream.
In one implementable manner, the second level detection module 120 includes a second classification table. The second classification table records description information of at least one elephant flow (no more than N bits, N is any integer greater than or equal to 1) which is sorted according to the bandwidth from big to small. The description information includes data stream identification, bandwidth, and initial stream type, etc. It is noted that the second classification table may be read and modified by the second level detection module 120 of the communication device. If the first detection module 110 of the communication device needs to obtain the information in the second classification table, the second detection module 120 may be instructed to read and then send the information to the second detection module 120. In the case where the second-stage detection module 120 includes the second classification table, after the second-stage detection module 120 performs the comparative analysis on the target data stream and the at least one elephant stream, the at least one elephant stream included in the second classification table is updated. If the target data stream is in the second classification table after updating, finally determining that the target data stream is the elephant stream; and finally determining the target data flow as the mouse flow if the target data flow is not in the second classification table after updating.
The target data stream and the at least one elephant stream can be compared and analyzed through two modes of broadband sequencing or broadband distribution comparison and the like, and therefore the stream type of the target data stream is determined. Next, the present application will explain the foregoing two modes in detail.
In the first way of broadband sorting, when the initial stream type includes only the elephant stream and the rat stream, the second-stage detection module 120 determines the target bandwidth of the target data stream according to the description information of the target data stream, for example, directly using the bandwidth in the description information as the target bandwidth of the target data stream. Meanwhile, the second-stage detection module 120 further obtains a target bandwidth of at least one elephant stream, and then the second-stage detection module 120 sorts the target data stream and the at least one elephant stream according to the target bandwidth of the target data stream and the size of the target bandwidth of the at least one elephant stream; taking the data stream positioned at the first N bits in the sequence as an elephant stream; and if the target data stream is one of the data streams of the first N bits, determining that the stream type of the target data stream is the elephant stream, and otherwise, determining that the target data stream is the mouse stream. In the case that the second-stage detection module 120 includes the second classification table, the target data stream and at least one elephant stream recorded in the second classification table are sorted in the descending order of bandwidth. And then acquiring the data stream of the first N bits in the sequencing result, thereby updating a new second classification table. If the target data stream is in the new second classification table, determining that the stream type of the target data stream is the elephant stream; otherwise, the flow is the flow of mice.
In an implementation manner, the communication device uses the second-stage detection module 120 to determine the stream switching type of the target data stream according to the description information of the target data stream, and then determine whether to perform further detection on the target data stream according to the stream switching type of the target data stream. If the initial stream type in the description information of the target data stream is the rat stream but the bandwidth is greater than the threshold value, determining that the stream switching type of the target data stream is the rat stream elephant stream, and executing the step of determining the data stream identifier and the bandwidth of the target data stream; if the initial stream type in the description information of the target data stream is the elephant stream but the bandwidth is less than or equal to the threshold, determining that the stream switching type of the target data stream is the elephant stream mouse stream, and directly determining that the target data stream is the mouse stream without executing the step of determining the data stream identifier and the bandwidth of the target data stream. The speed of the second-stage detection can be accelerated by the method.
In another practical manner, the second-stage detection module 120 may directly read the bandwidth described in the description information as the target bandwidth of the target data stream, and may also predict the predicted bandwidth of the target data stream in the next time period by combining the historical bandwidth of the target data stream after reading the target bandwidth described in the description information, and use the predicted bandwidth as the target bandwidth of the target data stream. The algorithm for predicting the bandwidth is not limited in the present application. For example, the second-stage detection module 120 may calculate a change rate of the bandwidth of the target data stream according to the bandwidth acquired in the current period and the historical bandwidth acquired in the previous period. And then, according to the bandwidth acquired in the current time period and the change rate, calculating to obtain the predicted bandwidth of the target data stream in the next time period.
In the second broadband distribution comparison method, when the initial stream type includes transient streams in addition to the elephant stream and the rat stream, the communication device determines whether the number of the obtained description information of the target data stream satisfies a number condition by using the second-stage detection module 120, and if so, analyzes the bandwidth distribution of the target data stream on the time axis according to the preset number of the description information. The number condition may be that the number of the description information is not less than a preset number. In addition, the communication apparatus inquires about a bandwidth distribution of at least one elephant stream on a time axis. Then, the target data stream and the at least one elephant stream are sorted according to the bandwidth distribution of the target data stream on the time axis and the bandwidth distribution of the at least one elephant stream on the time axis. Illustratively, the target data stream and the at least one elephant stream are ordered according to a total duration of the bandwidth exceeding a threshold in the bandwidth distribution. And finally, taking the data stream positioned at the first M bits in the sequence as an elephant stream. And if the target data stream is one of the data stream identifications of the first M bits, determining that the stream type of the target data stream is the elephant stream, and otherwise, determining that the target data stream is the mouse stream. In the case where the second level detection module 120 includes the second classification table described above, the communication device may order the target data stream and the elephant stream in the second classification table in a similar manner. And acquiring the data stream of the first M bits in the sorted result, and updating a new second classification table. If the target data stream is in the new second classification table, determining that the stream type of the target data stream is the elephant stream; otherwise, the flow is the flow of mice.
In an implementation manner, the first-stage detection module 110 of the communication device receives the stream type of the target data stream issued by the second-stage detection module 120, and modifies the initial stream type of the target data stream according to the issued stream type of the target data stream. Specifically, the communication device receives the stream type of the target data stream sent by the second-level detection module 120 by using the first-level detection module 110, and updates the initial stream type according to the stream type of the target data stream. If the stream type of the target data stream is the elephant stream, adding the elephant stream identifier under the initial stream type of the target data stream; and if the stream type of the target data stream is not the elephant stream, clearing the elephant stream identification under the initial stream type of the target data stream.
The interruption of the elephant stream transmission or the completion of the elephant stream transmission may cause some elephant streams to no longer transmit data at a certain point in time. These elephant streams are referred to as aged elephant streams. The bandwidth requirements of the elephant stream are not met because the aged elephant stream is no longer transmitting data. But aging elephant flow may also affect the communication device to make a reasonable load balancing strategy. In order to detect the aging elephant flow in time and realize effective management of the elephant flow, the application also provides two detection modes aiming at the aging elephant flow. Next, the two detection methods will be described in detail.
In the first detection mode, the communication device utilizes the first stage detection module 110 and the second stage detection module 120 to jointly detect the aged elephant flow. Specifically, the communication apparatus uses the second-stage detection module 120 to traverse all the elephant flows recorded in the second-stage detection module 120 at regular time, so as to generate a blank message for each elephant flow, and output the blank message to the first-stage detection module 110. Then, after receiving the blank packet, the first-stage detection module 110 triggers and executes a process of detecting a bandwidth of a data stream to which the blank packet belongs, so as to restart the first-stage detection and the second-stage detection for each elephant stream. Since a blank message is received, the aged elephant stream that is no longer transmitting data may be re-recorded as a mouse stream, or the elephant stream identification under the original stream type of the data stream may be cleared to indicate that the data stream is no longer an elephant stream. In summary, in the embodiment of the present application, the first-stage detection module 110 cannot be triggered to detect the elephant flow if the first-stage detection module 110 does not receive a packet. It is proposed that the second-stage detection module 120 is utilized to generate the blank message, so as to trigger the first-stage detection module 110 to start the detection of the data stream corresponding to the blank message.
In a second alternative detection mode, the communications device detects the aged elephant flow using only the first level detection module 110. Specifically, the communication device uses the first-stage detection module 110 to periodically traverse the initial stream type of the data stream to find out the data stream of which the initial stream type is the elephant stream; if the data stream of which the initial stream type is the elephant stream is found, the first-stage detection module 110 detects the data stream of which the initial stream type is the elephant stream; and if the message of the data flow is not detected within the preset time range, updating the initial flow type of the data flow, namely clearing the elephant flow identification under the initial flow type of the data flow to indicate that the data flow is no longer the elephant flow. It can be seen that the first-stage detection module 110 of the embodiment of the present application does not need the trigger of the second-stage detection module 120, but autonomously performs a timed polling on the initial stream type of the data stream to query the aging elephant stream. And if the message of the data stream of which the initial stream type is the elephant stream is not received within the preset time range, determining that the data stream is the mouse stream. And directly clearing the elephant flow identifier under the initial flow type of the data flow, and informing the processing module to delete the related information (bandwidth, data flow identifier and the like) of the data flow in at least one elephant flow recorded by the processing module. It should be noted that, the first-stage detection module 110 may not only directly clear the initial stream type of the elephant stream that becomes the mouse stream, but also trigger the first-stage detection module 110 to clear the elephant stream mark corresponding to the data stream through the stream type of the data stream uniformly issued by the second-stage detection module 120 after reporting the elephant stream to the second-stage detection module 120 that the elephant stream becomes the mouse stream. The latter method can simplify the design of hardware and has higher efficiency.
In an implementable manner, if the communication device finally determines that the target data flow is the elephant flow in the second-stage detection module, setting a load balancing policy for the target data flow; or, the initial stream type of the target data stream is sent to other communication devices (a switch, a terminal, or an intelligent network card in the terminal), so that the other communication devices set a load balancing policy for the target data stream. Therefore, after the communication device determines that the target data stream is the elephant stream, the communication device can directly set a more refined load balancing strategy for the target data stream; or the initial stream type of the target data stream is sent to other powerful communication devices, and the other powerful communication devices set a load balancing strategy for the target data stream, so that the calculation pressure of the local communication device is reduced. The load balancing strategy is used for balancing and distributing data transmission tasks to different lines so as to establish an optimal transmission path. The load balancing policy includes, but is not limited to, a load balancing policy based on packet-by-packet sharing, a load balancing policy based on flowlet, and the like, which is not limited in this application. Wherein the data stream comprises a plurality of packets. The load balancing strategy based on packet-by-packet sharing refers to that a single message is used as a unit for routing scheduling to forward a data stream, that is, each message of the data stream can be transmitted through different links respectively and finally reaches the same destination. Furthermore, the data flow can also be divided into a plurality of micro data flows (flowlets). Each flow may contain multiple messages. The flow-based load balancing refers to forwarding data flows by using a single flow as a unit for routing scheduling, that is, each flow of the data flows can be transmitted through different links, and finally reach the same destination. It should be noted that the two load balancing strategies illustrated above can avoid the load imbalance caused when the entire data stream is transmitted on the same path.
According to fig. 2 and the above description, it can be seen that the embodiment of the present application improves the identification accuracy of the elephant flow by means of two-stage detection. Optionally, if the first-stage detection module 110 is a hardware module and the second-stage detection module 120 is a software module, the method and the device not only ensure the recognition accuracy, but also ensure the efficiency and flexibility of the recognition method. Because the two-stage detection overcomes the defects of inaccurate pure hardware identification and complex pure software identification, the method can identify more accurately and improve the identification speed and efficiency. And because the expansibility of the software is good, a new elephant flow identification algorithm can be used by upgrading the software, so that the flexibility is better.
It should be noted that the contents shown in fig. 1 and fig. 2 are only examples, and do not limit the embodiments of the present application. The main body (communication device) for executing the data stream identification method in the present application may be a terminal, a switch, an intelligent network card, and the like, and the present application is not limited thereto. And the concrete expression forms of the terminal, the switch, the intelligent network card and the like are not limited by the application.
Referring to fig. 3, the embodiment of the present invention may perform functional unit division on the device according to the above method example, for example, each functional unit may be divided corresponding to each function, or two or more functions may be integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit. It should be noted that the division of the unit in the embodiment of the present invention is schematic, and is only a logic function division, and there may be another division manner in actual implementation.
The invention also provides a communication device. The communication device includes a receiving unit 310 and a comparing unit 320, specifically:
a receiving unit 310, configured to receive description information of a target data stream input by a first-stage detection module, where the target data stream is a data stream in which a bandwidth and an initial stream type of the data stream, which are obtained by the first-stage detection module according to a bandwidth of the data stream corresponding to a detected received packet and the initial stream type of the data stream, meet a preset rule, and the initial stream type includes a rat stream and an elephant stream;
a comparing unit 320, configured to compare and analyze the target data stream and at least one elephant stream according to the description information of the target data stream, and determine a stream type of the target data stream.
In an implementable manner, the data stream whose bandwidth and initial stream type meet the preset rule includes: the initial stream type is a elephant stream, and the bandwidth of the data stream is less than or equal to a threshold value; or, the initial flow type is a rat flow, and the bandwidth is larger than the threshold value.
In an implementation manner, the description information includes a data stream identifier and a bandwidth of the target data stream.
In an implementation manner, the comparing unit 320 is specifically configured to determine the target bandwidth of the target data stream according to the description information of the target data stream; sorting said target data stream and said at least one elephant stream according to a target bandwidth of said target data stream; and if the target data stream belongs to the data stream positioned at the first N bits in the sequence, determining that the target data stream is an elephant stream, wherein N is an integer greater than or equal to 1.
In an implementable manner, the communication device further comprises a determining unit 330. Determining historical bandwidth information of the target data stream, wherein the historical bandwidth information comprises at least one historical bandwidth of the target data stream; predicting the bandwidth variation trend of the target data stream by using the historical bandwidth information and the bandwidth in the description information to obtain the predicted bandwidth of the target data stream; and taking the predicted bandwidth of the target data stream as the target bandwidth of the target data stream.
In an implementation manner, the determining unit 330 is further configured to determine a stream switching type of the target data stream according to the description information, where the stream switching type includes: switching from rat flow to elephant flow and from elephant flow to rat flow; if the stream switching type of the target data stream is switching from a rat stream to a elephant stream, executing the step of comparing and analyzing the target data stream and at least one elephant stream according to the description information of the target data stream to determine the stream type of the target data stream; and if the stream switching type of the target data stream is switching from the elephant stream to the mouse stream, determining that the stream type of the target data stream is the mouse stream.
In one implementation, the initial stream type further includes a transient stream, and the transient stream is used to instruct the second-stage detection module to delay determining the stream type of the target data stream; the method further comprises the following steps: and modifying the initial stream type of the target data stream into the transient stream.
In an implementable manner, the data stream whose bandwidth and initial stream type meet the preset rule includes: the initial flow type is a data flow of a transient flow, or the initial flow type is a data flow of an elephant flow and the bandwidth is less than or equal to a threshold value, or the initial flow type is a data flow of a mouse flow and the bandwidth is greater than the threshold value.
In an implementation manner, the comparing unit 320 is further configured to, if the number of the obtained description information of the target data stream is equal to a preset number, sort the target data stream and the at least one elephant stream according to the preset number of description information; and if the target data stream belongs to the data stream positioned at the first M bits in the sequence, determining that the target data stream is an elephant stream, wherein M is an integer greater than or equal to 1.
In an implementation manner, the communication device further includes a polling unit, configured to traverse the at least one elephant flow according to a preset period, generate a blank message for each elephant flow in the at least one elephant flow, and output the blank message to the first-stage detection module, so that the first-stage detection module detects a bandwidth of a data flow to which the blank message belongs when detecting the blank message.
Fig. 4 is a block diagram of a communication device according to another embodiment of the present application. The computer device 400 in the embodiment shown in the figure may include a processor 410 and an intelligent network card 420. The intelligent network card 420 is used for receiving the data stream sent by the processor 410 or sending the data stream to the processor 410, and the intelligent network card 420 is a communication device in the above embodiments.
Fig. 5 is a block diagram of a chip according to another embodiment of the present disclosure. The chip 500 in this embodiment as shown may include a processor 510 and an interface 520. The processor 510 and the interface 520 cooperate to enable the chip 500 to perform the method performed by the second detection module in the above-described embodiments.
The processor 510 may be a Central Processing Unit (CPU), a general purpose processor, a coprocessor, a Digital Signal Processor (DSP), an application-specific integrated circuit (ASIC), a Field Programmable Gate Array (FPGA), or other programmable logic device, transistor logic device, hardware component, or any combination thereof. The processor 510 may also be a combination of computing functions, e.g., comprising one or more microprocessors, a combination of a DSP and a microprocessor, or the like.
Furthermore, the present application also provides a computer-readable storage medium storing a computer program which, when executed by a computing device, implements the method implemented by the aforementioned communication apparatus.
Further, a computer program product comprising computer instructions is provided. The computer instructions, when executed by a computing device, implement the method implemented by the aforementioned communication apparatus.
Based on the same inventive concept, the principle of the communication apparatus to solve the problem provided in the embodiment of the present application is similar to the principle of the communication apparatus to solve the problem in the embodiment of the method of the present application, so that the implementation of each device may refer to the implementation of the method, and is not described herein again for brevity.
Those skilled in the art will recognize that, in one or more of the examples described above, the functions described in this invention may be implemented in hardware, software, firmware, or any combination thereof. When implemented in software, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Computer-readable media includes both computer-readable storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage media may be any available media that can be accessed by a general purpose or special purpose computer.
The above-mentioned embodiments are intended to illustrate the objects, technical solutions and advantages of the present invention, and it should be understood that the above-mentioned embodiments are only illustrative of the present invention, and are not intended to limit the scope of the present invention, and any modifications, equivalent substitutions, improvements and the like made on the basis of the technical solutions of the present invention should be included in the scope of the present invention.

Claims (25)

1. A communications apparatus, comprising: the device comprises a first-stage detection module and a second-stage detection module;
the first-stage detection module is used for detecting the bandwidth of a data stream corresponding to the received message and inquiring the initial stream type of the data stream, wherein the initial stream type comprises a rat stream and an elephant stream; taking the data stream of which the bandwidth and the initial stream type accord with preset rules as a target data stream, and outputting description information of the target data stream to the second-stage detection module;
the second-stage detection module is used for comparing and analyzing the target data stream and at least one elephant stream according to the description information of the target data stream, and determining the stream type of the target data stream.
2. The communication apparatus according to claim 1, wherein the data stream whose bandwidth and initial stream type conform to the preset rule comprises: the initial stream type is a elephant stream, and the bandwidth of the data stream is less than or equal to a threshold value; or, the initial flow type is a rat flow, and the bandwidth is larger than the threshold value.
3. The communications apparatus as claimed in claim 1, wherein the first-stage detection module is configured to encapsulate a data stream identifier and a bandwidth of the target data stream as the description information.
4. The communication device according to claim 3, wherein the second-stage detection module is specifically configured to:
determining the target bandwidth of the target data stream according to the description information of the target data stream;
ordering the target data stream and the at least one elephant stream according to a target bandwidth of the target data stream;
and if the target data stream belongs to the data stream positioned at the first N bits in the sequence, determining that the target data stream is an elephant stream, wherein N is an integer greater than or equal to 1.
5. The communications device of claim 4, wherein the second level detection module is further configured to:
querying historical bandwidth information of the target data stream, wherein the historical bandwidth information comprises at least one historically measured bandwidth of the target data stream;
predicting the bandwidth variation trend of the target data stream by using historical bandwidth information and the bandwidth in the description information to obtain the predicted bandwidth of the target data stream;
and taking the predicted bandwidth of the target data stream as the target bandwidth of the target data stream.
6. The communications device of claim 2, wherein the second level detection module is further configured to:
determining a stream switching type of the target data stream according to the description information, wherein the stream switching type comprises: switching from rat flow to elephant flow and from elephant flow to rat flow;
if the stream switching type of the target data stream is switching from a rat stream to a elephant stream, executing the step of comparing and analyzing the target data stream and at least one elephant stream according to the description information of the target data stream to determine the stream type of the target data stream;
and if the stream switching type of the target data stream is switching from the elephant stream to the mouse stream, determining that the stream type of the target data stream is the mouse stream.
7. The communications device of claim 1, wherein the initial flow type further comprises a transient flow that is used to instruct a second level detection module to delay determining the flow type of the target data flow; the first-stage detection module is further configured to modify the initial stream type of the target data stream into the transient stream.
8. The communication apparatus according to claim 7, wherein the data stream whose bandwidth and initial stream type conform to the preset rule comprises: the initial flow type is a data flow of a transient flow, or the initial flow type is a data flow of an elephant flow and the bandwidth is less than or equal to a threshold value, or the initial flow type is a data flow of a mouse flow and the bandwidth is greater than the threshold value.
9. The communication apparatus according to claim 7 or 8, wherein the second-stage detection module is configured to:
if the number of the obtained description information of the target data stream is equal to a preset number, sequencing the target data stream and the at least one elephant stream according to the description information of the preset number;
and if the target data stream belongs to the data stream which is positioned at the first M bits in the sequence, determining that the target data stream is an elephant stream, wherein M is an integer greater than or equal to 1.
10. The communication device of claim 1,
the second-stage detection module is further used for traversing the at least one elephant flow according to a preset period;
generating a blank message for each elephant flow in the at least one elephant flow, and outputting the blank message to the first-stage detection module;
the first-stage detection module is further configured to detect a bandwidth of a data stream to which the blank packet belongs when the blank packet is detected.
11. The communications device of claim 1, wherein the first level detection module is further configured to:
traversing the initial stream type of the data stream stored in the first-stage detection module according to a preset period;
detecting the data stream of which the initial stream type is the elephant stream;
and if the message of the data stream of which the initial stream type is the elephant stream is not received within a preset time range, determining that the stream type of the data stream of which the initial stream type is the elephant stream is a mouse stream.
12. A data stream identification method, comprising:
receiving description information of a target data stream input by a first-stage detection module, wherein the target data stream is the data stream of which the bandwidth and the initial stream type meet preset rules and which is determined by the first-stage detection module according to the bandwidth of the data stream corresponding to a detected received message and the initial stream type of the data stream, and the initial stream type comprises a rat stream and an elephant stream;
and comparing and analyzing the target data stream and at least one elephant stream according to the description information of the target data stream, and determining the stream type of the target data stream.
13. The method of claim 12, wherein the data stream whose bandwidth and initial stream type conform to the preset rule comprises: the initial stream type is a elephant stream, and the bandwidth of the data stream is less than or equal to a threshold value; or, the initial flow type is a rat flow, and the bandwidth is larger than the threshold value.
14. The method of claim 12, wherein the description information comprises a data flow identifier and a bandwidth of the target data flow.
15. The method of claim 14, wherein the comparing and analyzing the target data stream and at least one elephant stream according to the description information of the target data stream to determine the stream type of the target data stream comprises:
determining the target bandwidth of the target data stream according to the description information of the target data stream;
ordering the target data stream and the at least one elephant stream according to a target bandwidth of the target data stream;
and if the target data stream belongs to the data stream positioned at the first N bits in the sequence, determining that the target data stream is an elephant stream, wherein N is an integer greater than or equal to 1.
16. The method of claim 15, wherein the determining the bandwidth of the target data stream according to the description information of the target data stream comprises:
querying historical bandwidth information of the target data stream, wherein the historical bandwidth information comprises at least one historically measured bandwidth of the target data stream;
predicting the bandwidth variation trend of the target data stream by using historical bandwidth information and the bandwidth in the description information to obtain the predicted bandwidth of the target data stream;
and taking the predicted bandwidth of the target data stream as the target bandwidth of the target data stream.
17. The method according to claim 13, wherein after receiving the description information of the target data stream input by the first-stage detection module, before comparing and analyzing the target data stream and at least one elephant stream according to the description information of the target data stream and determining the stream type of the target data stream, the method further comprises:
determining a stream switching type of the target data stream according to the description information, wherein the stream switching type comprises: switching from rat flow to elephant flow and from elephant flow to rat flow;
if the stream switching type of the target data stream is switching from a rat stream to a elephant stream, executing the step of comparing and analyzing the target data stream and at least one elephant stream according to the description information of the target data stream to determine the stream type of the target data stream;
and if the stream switching type of the target data stream is switching from the elephant stream to the mouse stream, determining that the stream type of the target data stream is the mouse stream.
18. The method of claim 12, wherein the initial stream type further comprises a transient stream that is used to instruct a second level detection module to delay determining the stream type of the target data stream; the method further comprises the following steps: modifying the initial stream type of the target data stream to the transient stream.
19. The method of claim 18, wherein the data stream whose bandwidth and initial stream type conform to the preset rule comprises: the initial flow type is a data flow of a transient flow, or the initial flow type is a data flow of an elephant flow and the bandwidth is less than or equal to a threshold value, or the initial flow type is a data flow of a mouse flow and the bandwidth is greater than the threshold value.
20. The method according to claim 18 or 19, wherein the comparing and analyzing the target data stream and at least one elephant stream according to the description information of the target data stream to determine the stream type of the target data stream comprises:
if the number of the obtained description information of the target data stream is equal to a preset number, sequencing the target data stream and the at least one elephant stream according to the description information of the preset number;
and if the target data stream belongs to the data stream which is positioned at the first M bits in the sequence, determining that the target data stream is an elephant stream, wherein M is an integer greater than or equal to 1.
21. The method of claim 12, further comprising:
traversing the at least one elephant flow according to a preset period;
generating a blank message for each elephant flow in the at least one elephant flow, and outputting the blank message to the first-stage detection module, so that the first-stage detection module detects the bandwidth of the data flow to which the blank message belongs when detecting the blank message.
22. A computer device is characterized in that the computer device comprises a processor and an intelligent network card, wherein the intelligent network card is used for receiving a data stream sent by the processor or sending the data stream to the processor; the intelligent network card is the communication device of any one of claims 1 to 11.
23. A chip, comprising: a processor and an interface, which cooperate with each other such that the chip performs the method of any of claims 12 to 21.
24. A computer-readable storage medium, characterized in that the computer-readable storage medium stores a computer program which, when executed by a computing device, implements the method of any of claims 12 to 21.
25. A computer program product comprising computer instructions which, when executed by a computing device, cause the computing device to perform the method of any of claims 12 to 21.
CN202010077064.7A 2020-01-23 2020-01-23 Communication device, data stream identification method and related equipment Active CN111277467B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010077064.7A CN111277467B (en) 2020-01-23 2020-01-23 Communication device, data stream identification method and related equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010077064.7A CN111277467B (en) 2020-01-23 2020-01-23 Communication device, data stream identification method and related equipment

Publications (2)

Publication Number Publication Date
CN111277467A true CN111277467A (en) 2020-06-12
CN111277467B CN111277467B (en) 2021-12-28

Family

ID=71001256

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010077064.7A Active CN111277467B (en) 2020-01-23 2020-01-23 Communication device, data stream identification method and related equipment

Country Status (1)

Country Link
CN (1) CN111277467B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113783794A (en) * 2020-11-27 2021-12-10 北京京东尚科信息技术有限公司 Congestion control method and device
WO2023041142A1 (en) * 2021-09-14 2023-03-23 Huawei Technologies Co., Ltd. A device and method for flow detection and processing
CN115988574A (en) * 2023-03-15 2023-04-18 阿里巴巴(中国)有限公司 Data processing method, system, device and storage medium based on flow table
EP4287588A4 (en) * 2021-02-24 2024-04-03 Huawei Technologies Co., Ltd. Load sharing method and apparatus, and chip

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140372616A1 (en) * 2013-06-17 2014-12-18 Telefonaktiebolaget L M Ericsson (Publ) Methods of forwarding/receiving data packets using unicast and/or multicast communications and related load balancers and servers
CN106453129A (en) * 2016-09-30 2017-02-22 杭州电子科技大学 Elephant flow two-level identification system and method
CN106487676A (en) * 2016-10-27 2017-03-08 盛科网络(苏州)有限公司 A kind of dynamic ECMP chip implementing method flowed based on elephant
US20170163539A1 (en) * 2015-12-08 2017-06-08 Nicira, Inc. Data transfer between endpoints using a multipath connection
CN108712292A (en) * 2018-05-29 2018-10-26 广州大学 A kind of network flow type prediction method based on deep learning
CN109802891A (en) * 2019-02-22 2019-05-24 盛科网络(苏州)有限公司 A kind of method and device improving elephant stream flow table utilization rate
CN110677324A (en) * 2019-09-30 2020-01-10 华南理工大学 Elephant flow two-stage detection method based on sFlow sampling and controller active update list

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140372616A1 (en) * 2013-06-17 2014-12-18 Telefonaktiebolaget L M Ericsson (Publ) Methods of forwarding/receiving data packets using unicast and/or multicast communications and related load balancers and servers
US20170163539A1 (en) * 2015-12-08 2017-06-08 Nicira, Inc. Data transfer between endpoints using a multipath connection
CN106453129A (en) * 2016-09-30 2017-02-22 杭州电子科技大学 Elephant flow two-level identification system and method
CN106487676A (en) * 2016-10-27 2017-03-08 盛科网络(苏州)有限公司 A kind of dynamic ECMP chip implementing method flowed based on elephant
CN108712292A (en) * 2018-05-29 2018-10-26 广州大学 A kind of network flow type prediction method based on deep learning
CN109802891A (en) * 2019-02-22 2019-05-24 盛科网络(苏州)有限公司 A kind of method and device improving elephant stream flow table utilization rate
CN110677324A (en) * 2019-09-30 2020-01-10 华南理工大学 Elephant flow two-stage detection method based on sFlow sampling and controller active update list

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BINFENG WANG: "A survey of elephant flow detection in SDN", 《2018 6TH INTERNATIONAL SYMPOSIUM ON DIGITAL FORENSIC AND SECURITY (ISDFS)》 *
严军荣等: "一种大象流两级识别方法", 《电信科学》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113783794A (en) * 2020-11-27 2021-12-10 北京京东尚科信息技术有限公司 Congestion control method and device
EP4287588A4 (en) * 2021-02-24 2024-04-03 Huawei Technologies Co., Ltd. Load sharing method and apparatus, and chip
WO2023041142A1 (en) * 2021-09-14 2023-03-23 Huawei Technologies Co., Ltd. A device and method for flow detection and processing
CN115988574A (en) * 2023-03-15 2023-04-18 阿里巴巴(中国)有限公司 Data processing method, system, device and storage medium based on flow table
CN115988574B (en) * 2023-03-15 2023-08-04 阿里巴巴(中国)有限公司 Data processing method, system, equipment and storage medium based on flow table

Also Published As

Publication number Publication date
CN111277467B (en) 2021-12-28

Similar Documents

Publication Publication Date Title
CN111277467B (en) Communication device, data stream identification method and related equipment
US9801010B2 (en) ZIGBEE network-based data transmission method, apparatus, and system
CN107005485B (en) Method for determining route, corresponding device and system
JP4774357B2 (en) Statistical information collection system and statistical information collection device
CN110677324B (en) Elephant flow two-stage detection method based on sFlow sampling and controller active update list
CN111552246B (en) Equipment production line scheduling method applied to smart park and cloud computing server
CN102082693A (en) Method and device for monitoring network traffic
CN110572859B (en) AP switching method, device, equipment and medium
TWI583152B (en) Anomaly prediction method and system for heterogeneous network architecture
CN109548063B (en) Method, device, equipment and storage medium for processing message
CN110417674B (en) Data traffic sharing method and device
CN116545936B (en) Congestion control method, system, device, communication equipment and storage medium
CN106658644B (en) Communication network routing method and device
CN111740922B (en) Data transmission method, device, electronic equipment and medium
CN113746700A (en) Elephant flow rapid detection method and system based on probability sampling
CN111355670A (en) Traffic identification method and device, electronic equipment and storage medium
CN113127693B (en) Traffic data packet statistics method, device, equipment and storage medium
CN102469006B (en) Method and device for quickly forwarding data report
CN111315026B (en) Channel selection method, device, gateway and computer readable storage medium
CN110475244B (en) Terminal management method, system, device, terminal and storage medium
EP4280561A1 (en) Information flow identification method, network chip, and network device
CN112671616B (en) Flow monitoring method and device, programmable chip, storage medium and electronic device
CN114257526A (en) In-band telemetry system, method and device
CN112769648B (en) Information updating method and device, storage medium and electronic device
CN113395726B (en) Backup link detection method and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant