CN115174429A - Network bandwidth detection method, device, system, equipment and storage medium - Google Patents

Network bandwidth detection method, device, system, equipment and storage medium Download PDF

Info

Publication number
CN115174429A
CN115174429A CN202210585199.3A CN202210585199A CN115174429A CN 115174429 A CN115174429 A CN 115174429A CN 202210585199 A CN202210585199 A CN 202210585199A CN 115174429 A CN115174429 A CN 115174429A
Authority
CN
China
Prior art keywords
packet
rate
target
network bandwidth
sending
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
CN202210585199.3A
Other languages
Chinese (zh)
Other versions
CN115174429B (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.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor 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 Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN202210585199.3A priority Critical patent/CN115174429B/en
Publication of CN115174429A publication Critical patent/CN115174429A/en
Application granted granted Critical
Publication of CN115174429B publication Critical patent/CN115174429B/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
    • 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
    • H04L43/0894Packet rate

Landscapes

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

Abstract

The application relates to a network bandwidth detection method, a device, a system, equipment and a storage medium. The method comprises the following steps: receiving a plurality of packet pairs sent by a client, wherein the packet pairs at least comprise two data packets; screening the packet pairs meeting the conditions as target packet pairs, determining the estimated speed of the target packet pairs, and sending the estimated speed to the client; receiving a packet group sent by a client at an estimated rate, wherein the packet group comprises a plurality of data packets; determining a target rate corresponding to the packet group, and determining a network bandwidth according to the target rate of the packet group; and sending the determined network bandwidth to the client. According to the method and the device, the network bandwidth detection of the network line is completed by combining the advantages of the packet pair method and the packet group method, and the network bandwidth detection can be realized more quickly and more accurately.

Description

Network bandwidth detection method, device, system, equipment and storage medium
Technical Field
The present application relates to the field of computer technologies, and in particular, to a method, an apparatus, a system, a device, and a storage medium for detecting a network bandwidth.
Background
Network bandwidth refers to the amount of data that can be transmitted in a unit of time. The network is similar to the highway, the larger the network bandwidth is, the more lanes are similar to the highway, and the higher the traffic capacity is.
The detection of an important index of network bandwidth has been a core problem in networks. The network bandwidth is applied to multiple aspects, for example, video application needs to adjust code rate according to the current network bandwidth, for example, a routing algorithm can perform path selection according to the network bandwidth to achieve load balancing, and for example, network operation and maintenance personnel can determine whether a network fails according to the size of the network bandwidth.
In the related art, a method for detecting the network bandwidth may be, for example, detecting the network bandwidth by using a "Speedtest" tool, and the method may select a cloud server according to a certain policy and perform bandwidth detection by using a packet pair method, but the method cannot accurately and quickly detect the network bandwidth.
Disclosure of Invention
In order to solve or partially solve the problems in the related art, the present application provides a method, an apparatus, a system, a device, and a storage medium for detecting a network bandwidth, which can accurately and quickly detect the network bandwidth.
A first aspect of the present application provides a network bandwidth detection method, which is applied to a server and includes:
receiving a plurality of packet pairs sent by a client, wherein the packet pairs at least comprise two data packets;
screening qualified packet pairs as target packet pairs, determining the estimated rate of the target packet pairs, and sending the estimated rate to the client;
receiving a packet group sent by the client by adopting the estimated rate, wherein the packet group comprises a plurality of data packets;
determining a target rate corresponding to the packet group, and determining a network bandwidth according to the target rate of the packet group;
sending the determined network bandwidth to the client.
Preferably, after determining the target rate corresponding to the packet group and determining the network bandwidth according to the target rate of the packet group, the method further includes:
determining the packet loss rate of the data packets of the packet group, and correcting the network bandwidth by using the packet loss rate;
the sending the determined network bandwidth to the client includes:
and sending the corrected network bandwidth to a client.
Preferably, the screening packet pairs meeting the condition as target packet pairs, and determining the estimated rate of the target packet pairs includes:
determining the sending time interval and the receiving time interval of two data packets in each packet pair;
comparing the sending time interval with the corresponding receiving time interval by adopting a preset difference algorithm to obtain a plurality of time intervals to be screened;
and sequencing the absolute values of the time intervals to be screened, and screening out the target packet pairs corresponding to the time intervals to be screened based on a sequencing result.
And determining the estimated rate by adopting a preset rate algorithm based on the target packet pair.
Preferably, the determining the estimated rate by using a preset rate algorithm based on the target packet pair includes:
determining the rate to be confirmed corresponding to the target packet pair according to the size of the single data packet of the target packet pair, the sending time interval or the size of the single data packet and the receiving time interval;
and carrying out mean value processing on the rate to be confirmed to obtain the estimated rate.
Preferably, the determining the target rate corresponding to the packet group includes:
and determining the target rate according to the total data packet sum of the packet group and the total data packet receiving duration.
A second aspect of the present application provides a network bandwidth detection method, which is applied to a client, and includes:
sending a plurality of packet pairs to a server, wherein the packet pairs at least comprise two data packets;
receiving an estimated rate sent by the server, wherein the estimated rate is determined after the server screens packet pairs meeting conditions as target packet pairs;
sending a packet group to the server by adopting the estimated speed, wherein the packet group comprises a plurality of data packets;
and receiving the network bandwidth sent by the server, wherein the network bandwidth is determined according to the target rate after the server determines the target rate corresponding to the packet group.
A third aspect of the present application provides a service apparatus, comprising:
the system comprises a packet pair receiving module, a packet pair receiving module and a packet pair sending module, wherein the packet pair receiving module is used for receiving a plurality of packet pairs sent by a client, and the packet pairs at least comprise two data packets;
the screening module is used for screening the packet pairs meeting the conditions as target packet pairs, determining the estimated rate of the target packet pairs and sending the estimated rate to the client;
a packet group receiving module, configured to receive a packet group sent by the client at the estimated rate, where the packet group includes a plurality of data packets;
the bandwidth confirming module is used for confirming the target rate corresponding to the packet group and confirming the network bandwidth according to the target rate of the packet group;
a sending module, configured to send the determined network bandwidth to the client.
Preferably, the method further comprises the following steps:
the correction module is used for determining the packet loss rate of the data packets of the packet group and correcting the network bandwidth by using the packet loss rate;
and the sending module is used for sending the corrected network bandwidth to a client.
A fourth aspect of the present application provides a terminal apparatus, including:
the system comprises a packet pair sending module, a packet pair sending module and a packet pair sending module, wherein the packet pair sending module is used for sending a plurality of packet pairs to a server, and the packet pairs at least comprise two data packets;
a rate receiving module, configured to receive an estimated rate sent from the server, where the estimated rate is determined after the server filters a packet pair meeting a condition as a target packet pair;
a packet group sending module, configured to send a packet group to the server by using the estimated rate, where the packet group includes a plurality of data packets;
a bandwidth receiving module, configured to receive the network bandwidth sent by the server, where the network bandwidth is determined by the server according to a target rate corresponding to the packet group after the target rate is determined by the server.
A fifth aspect of the present application provides a network bandwidth detection system, including: a terminal device, a service device;
the terminal device is used for sending a plurality of packet pairs to the service device, wherein the packet pairs at least comprise two data packets; receiving the estimated speed sent by the service device, and sending a packet group to the service device by adopting the estimated speed, wherein the packet group comprises a plurality of data packets; receiving the network bandwidth sent by the service device;
the service device is used for receiving a plurality of packet pairs sent by the terminal device; screening qualified packet pairs as target packet pairs, determining the estimated rate of the target packet pairs, and sending the estimated rate to the terminal device; receiving a packet group sent by the terminal device by adopting the estimated rate, wherein the packet group comprises a plurality of data packets; determining a target rate corresponding to the packet group, and determining a network bandwidth according to the target rate of the packet group; and transmitting the determined network bandwidth to the terminal device.
A sixth aspect of the present application provides a service apparatus, including: a first processor, a first memory storing the first processor-executable instructions, a first communication interface, and a first bus connecting the first processor, the first memory, and the first communication interface; the instructions, when executed by the first processor, implement a network bandwidth detection method as described above.
A seventh aspect of the present application provides a terminal device, including: a second processor, a second memory storing second processor-executable instructions, a second communication interface, and a second bus for connecting the second processor, the second memory, and the second communication interface; when executed by the second processor, implement the network bandwidth detection method as described above.
An eighth aspect of the present application provides a computer-readable storage medium having stored thereon executable code, which, when executed by a processor of an electronic device, causes the processor to perform the network bandwidth detection method as described above.
The technical scheme provided by the application can comprise the following beneficial effects:
the technical scheme of this application includes: receiving a plurality of packet pairs sent by a client, wherein the packet pairs at least comprise two data packets; screening the packet pairs meeting the conditions as target packet pairs, determining the estimated speed of the target packet pairs, and sending the estimated speed to the client; receiving a packet group sent by a client at an estimated rate, wherein the packet group comprises a plurality of data packets; determining a target rate corresponding to the packet group, and determining a network bandwidth according to the target rate of the packet group; and sending the determined network bandwidth to the client. In the related technology, a packet pair method is generally independently adopted for network bandwidth detection, and the packet pair and packet group are combined for network bandwidth detection, so that the advantages of the packet pair method and the packet group method are fully utilized to complete network bandwidth detection on a network line, wherein the packet pair method can quickly determine the estimated rate of a target packet pair based on packet intervals, the number of packet sending intervals can be controlled, the data volume of a packet can be effectively reduced, and the packet group method can effectively guarantee the detection accuracy of the packet pair method by further detecting the network bandwidth according to the result obtained by the packet pair method detection, so that the network bandwidth can be accurately and quickly detected.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the application.
Drawings
The foregoing and other objects, features and advantages of the application will be apparent from the following more particular descriptions of exemplary embodiments of the application, as illustrated in the accompanying drawings wherein like reference numbers generally represent like parts throughout the exemplary embodiments of the application.
Fig. 1 is a schematic flow chart illustrating a network bandwidth detection method in an embodiment of the present application;
fig. 2 is a schematic flow chart illustrating a network bandwidth detection method in another embodiment of the present application;
fig. 3 is a schematic flow chart illustrating a network bandwidth detection method in an embodiment of the present application;
FIG. 4 shows a flow diagram of a network bandwidth detection method;
FIG. 5 is a schematic structural diagram of a service device in the embodiment of the present application;
FIG. 6 is a schematic diagram of a service device in another embodiment of the present application;
fig. 7 is a schematic structural diagram of a terminal device in an embodiment of the present application;
fig. 8 shows a schematic structural diagram of a network bandwidth detection system in an embodiment of the present application;
fig. 9 is a schematic structural diagram of a service device in an embodiment of the present application;
fig. 10 shows a schematic structural diagram of a terminal device in an embodiment of the present application.
Detailed Description
Preferred embodiments of the present application will be described in more detail below with reference to the accompanying drawings. While the preferred embodiments of the present application are shown in the drawings, it should be understood that the present application may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. As used in this application and the appended claims, the singular forms "a", "an", and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It should also be understood that the term "and/or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items.
It should be understood that although the terms "first," "second," "third," etc. may be used herein to describe various information, these information should not be limited to these terms. These terms are only used to distinguish one type of information from another. For example, first information may also be referred to as second information, and similarly, second information may also be referred to as first information, without departing from the scope of the present application. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of the present application, "a plurality" means two or more unless specifically limited otherwise.
In the description of the present application, it is to be understood that the terms "length," "width," "upper," "lower," "front," "rear," "left," "right," "vertical," "horizontal," "top," "bottom," "inner," "outer," and the like are used in the orientation or positional relationship indicated in the drawings for convenience in describing the present application and for simplicity in description, and are not intended to indicate or imply that the referenced devices or elements must have a particular orientation, be constructed in a particular orientation, and be operated in a particular manner, and are not to be considered limiting of the present application.
Unless expressly stated or limited otherwise, the terms "mounted," "connected," "secured," and the like are to be construed broadly and encompass, for example, being fixedly connected, releasably connected, or integral to one another; can be mechanically or electrically connected; they may be directly connected or indirectly connected through intervening media, or may be connected through the use of two elements or the interaction of two elements. The specific meaning of the above terms in the present application can be understood by those of ordinary skill in the art as appropriate.
The method for detecting the network bandwidth in the related technology has the defects that the detection of the network bandwidth cannot be accurately and quickly realized, so that the method for detecting the network bandwidth has limitations.
Therefore, in view of the above technical problems, the present application provides a network bandwidth detection method, which can accurately and quickly detect a network bandwidth.
The technical solutions of the embodiments of the present application are described in detail below with reference to the accompanying drawings.
Fig. 1 shows a flowchart of a network bandwidth detection method in an embodiment of the present application.
Referring to fig. 1, a method for detecting network bandwidth, which is applied to a server, includes the following steps:
and step S111, receiving a plurality of packet pairs sent by the client, wherein the packet pairs at least comprise two data packets.
The server receives a packet pair sent by the client, wherein the packet pair at least comprises two data packets, and the two data packets have the same size and are different in sending time and receiving time. When the client sends a packet pair, the client adds corresponding sending time stamps to two data packets in the packet pair respectively, and the sending time stamps represent the sending time of the data packets. When the server receives the packet pair, similarly, the server adds corresponding receiving time stamps to two data packets in the packet pair respectively, where the receiving time stamps represent receiving times of the data packets.
And step S112, screening the packet pairs meeting the conditions as target packet pairs, determining the estimated speed of the target packet pairs, and sending the estimated speed to the client.
The specific preset screening conditions are as follows: calculating the sending time interval and the receiving time interval of two data packets in each packet pair; comparing the sending time interval with the corresponding receiving time interval by adopting a preset difference algorithm to obtain a plurality of time intervals to be screened; and sequencing the absolute values of the time intervals to be screened, and screening out the target packet pairs corresponding to the time intervals to be screened based on the sequencing result.
After the target packet pairs are screened out, the estimated rate can be determined by adopting a preset rate algorithm based on the target packet pairs. The preset rate algorithm is specifically as follows: determining the corresponding rate to be confirmed of the target packet pair according to the size of a single data packet of the target packet pair, the sending time interval or the size of the single data packet and the receiving time interval; and carrying out mean value processing on the rate to be confirmed to obtain the estimated rate.
And S113, receiving a packet group sent by the client by adopting the estimated rate, wherein the packet group comprises a plurality of data packets.
In order to verify the accuracy of the determined estimated speed, the server receives a packet group sent by the client by using the estimated speed, wherein the packet group comprises a plurality of data packets.
And step S114, determining the target rate corresponding to the packet group, and determining the network bandwidth according to the target rate of the packet group.
And calculating the target rate according to the total data packet sum of the packet group and the total data packet receiving duration. Then, the network bandwidth is determined according to the target rate. The value of the network bandwidth may be a value of the target rate without considering packet loss. That is, the target rate corresponding to the packet group at this time corresponds to the network bandwidth.
And step S115, sending the determined network bandwidth to the client.
The method adopts the packet pair and the packet group to carry out network bandwidth detection, and the network bandwidth detection of the network line is completed by fully utilizing the advantages of the packet pair method and the packet group method, wherein the packet pair method can quickly determine the estimated rate of the target packet pair based on the packet interval, the number of the packet sending intervals can be controlled, the data volume of the packet sending can be effectively reduced, the network bandwidth is further detected according to the result obtained by the packet pair method, the detection accuracy of the packet pair method can be effectively guaranteed, and therefore the method and the device realize accurate and quick detection of the network bandwidth.
Fig. 2 is a flowchart illustrating a network bandwidth detection method in another embodiment of the present application.
Step S211, receiving a plurality of packet pairs sent by the client, wherein the packet pairs at least comprise two data packets.
The server receives a packet pair sent by the client, wherein the packet pair at least comprises two data packets, and the two data packets have the same size, but the difference is that the sending time is different from the receiving time. When the client sends a packet pair, the client adds corresponding sending time stamps to two data packets in the packet pair respectively, and the sending time stamps represent the sending time of the data packets. When the server receives the packet pair, similarly, the server adds corresponding receiving time stamps to two data packets in the packet pair respectively, where the receiving time stamps represent receiving times of the data packets.
For example, taking a packet pair including two data packets as an example but not limited to this, if the client adds the transmission timestamps S1 and S2 to the two data packets respectively, and the server adds the reception timestamps J1 and J2 to the two data packets respectively, then the transmission time interval = | transmission timestamp S2-transmission timestamp S1|, and the reception time interval = | reception timestamp J2-reception timestamp J1|.
And S212, screening the packet pairs meeting the conditions as target packet pairs, determining the estimated speed of the target packet pairs, and sending the estimated speed to the client.
The screening process may be as follows: determining the sending time interval and the receiving time interval of two data packets in each packet pair; comparing the sending time interval with the corresponding receiving time interval by adopting a preset difference algorithm to obtain a plurality of time intervals to be screened; and sequencing the absolute values of the time intervals to be screened, and screening out the target packet pairs corresponding to the time intervals to be screened based on the sequencing result.
For example, the client sends 5 packet pairs { N1, N2, N3, N4, N5} to the server, and correspondingly, the server determines the sending time interval and the receiving time interval corresponding to the 5 packet pairs. Comparing the sending time interval of each packet pair with the corresponding receiving time interval to obtain 5 difference values { D1, D2, D3, D4, D5}, sorting the absolute values of the 5 difference values in an ascending manner, taking Top K (for example, taking K = 2), and taking the packet pair { N1, N2} corresponding to the absolute value of the difference value { D1, D2} of the first two ranked bits as a target packet pair.
After the target packet pairs are screened out, the estimated rate can be determined by adopting a preset rate algorithm based on the target packet pairs. The preset rate algorithm may be as follows: determining the corresponding rate to be confirmed of the target packet pair according to the size of a single data packet of the target packet pair, the sending time interval or the size of the single data packet and the receiving time interval; and carrying out mean value processing on the rate to be confirmed to obtain the estimated rate.
In the above example, by selecting the target packet pair { N1, N2}, the server obtains the size of a single data packet in the target packet pair (since the two data packets have the same size, it is sufficient to obtain the size of the single data packet), the transmission time interval, or the size and the reception time interval of the single data packet in the target packet pair, to determine the rate to be confirmed corresponding to the target packet pair. The specific formula is as follows: outstanding rate = single packet size/transmission time interval or reception time interval. After the rates to be confirmed corresponding to the two target packet pairs are respectively determined, the two rates to be confirmed are subjected to mean processing, and the estimated rate is calculated. It should be noted that, because the sending time interval and the receiving time interval of the target packet are very close to each other, the estimated bottleneck bandwidth of the network line can be determined based on the estimated rate of the target packet calculated by using the preset rate algorithm.
Step S213, receiving a packet group sent by the client by adopting the estimated speed, wherein the packet group comprises a plurality of data packets.
The server receives a packet group sent by the client by adopting the estimated speed, wherein the packet group comprises a plurality of data packets.
For example, the server receives a packet group sent by the client using the estimated rate, where the packet group includes 100 data packets { K1, K2, K3, … …, K100}, and the size of each data packet is the same.
Step S214, determining the target rate corresponding to the packet group, and determining the network bandwidth according to the target rate of the packet group.
And determining the target rate according to the total data packet sum of the packet group and the total data packet receiving duration.
In the above example, the packet group includes 100 data packets { K1, K2, K3, … …, K100}, the server obtains the size of a single data packet, determines the total packet size of the packet group =100 × the size of the single data packet according to the size of the single data packet, and simultaneously obtains the total receiving duration of the 100 data packets, where the total receiving duration of the data packet = the receiving timestamp of the 100 th data packet received by the server — the receiving timestamp of the 1 st data packet received by the server, determines the target rate according to the total packet size of the packet group and the total receiving duration of the data packet, and the target rate = the total packet size of the packet group/the total receiving duration of the data packet. Through the algorithm, the calculation of the target rate corresponding to the packet group is completed.
Then, the network bandwidth is determined according to the target rate. The value of the network bandwidth may be a value of the target rate without considering packet loss. That is, the target rate corresponding to the packet group at this time corresponds to the network bandwidth.
Because the target rate corresponding to the packet group is determined based on the estimated rate, and the estimated rate is determined based on the target packet pair, the embodiment of the application combines the advantages of the packet pair method and the packet group method to complete the network bandwidth detection of the network line, wherein the packet pair method can rapidly and preliminarily estimate the estimated rate of the network line under the condition of reducing the packet sending data volume, and the packet group method can complete the final detection of the network bandwidth of the network line according to the result obtained by the packet pair method, so that the detection accuracy of the packet pair method is ensured.
Step S215, determining the packet loss rate of the data packets of the packet group, and correcting the network bandwidth by using the packet loss rate to obtain the corrected network bandwidth.
In order to further ensure the accuracy of the network bandwidth, the network bandwidth can be corrected by using the packet loss rate, and the corrected network bandwidth can be more accurate. Before determining the packet loss rate, the server side confirms the number of data packets included in the packet group sent by the client side, and counts the number of data packets included in the packet group sent by the client side which is successfully received. Determining a packet loss rate according to the two parameters, wherein the packet loss rate = (the number of data packets included in a packet group sent by the client-the number of data packets included in a packet group sent by the client which is successfully received)/the number of data packets included in a packet group sent by the client.
For example, in the above example, when the client transmits a packet group including 100 packets { K1, K2, K3, … …, K100} to the server, and the number of packets successfully received by the server is 99 { K1, K2, K3, … …, K99}, the packet loss rate = (the number of packets included in a packet group transmitted by the client-the number of packets included in a packet group successfully received by the client)/the number of packets included in a packet group transmitted by the client =1%.
After the packet loss rate of the data packet of the packet group is obtained, the network bandwidth is corrected by using the packet loss rate, and the process can be as follows:
modified network bandwidth = target rate (1-packet loss rate)
Namely, the corrected network bandwidth is determined according to the target rate and the packet loss rate.
And step S216, sending the corrected network bandwidth to the client.
It should be noted that, for a network line between a client and a server, transmitting data on the network line is equivalent to transmitting water volume in a water pipe, and if water is transmitted through a water pipe with unknown parameters, the water pipe is prone to bursting when water volume is increased, and water transmission efficiency is greatly reduced when water volume is decreased. Therefore, it is important to find out the bottleneck bandwidth of the network line between the client and the server, and the available network bandwidth from the client to the server is determined by the bottleneck bandwidth.
In order to accurately and quickly estimate the bottleneck bandwidth of the network line between the client and the server, the detection method of the embodiment is divided into two parts, the first part is a packet pair method, and the second part is a packet group method. On the premise that the available network bandwidth of a network line between a client and a server cannot be obtained initially, the client is enabled to transmit packets to the server by adopting a packet pair method based on different transmission rates, the server can compare a transmission time interval with a receiving time interval and sort the absolute values of a plurality of difference values in an ascending order, the packet pair corresponding to the absolute value of the difference value of Top K is taken as a target packet pair (namely, the difference between the minimum transmission time interval and the receiving time interval is taken as an ideal packet transmission time interval), the estimated rate of the current network line is estimated based on the target packet pair, which is equivalent to the parameter of a preliminary estimated water pipe, and the appropriate estimated rate is calculated to carry out water delivery in the water pipe.
Then, the calculated estimated rate is verified by using a packet group method (namely, the calculated estimated rate is equivalent to verifying whether the water delivery efficiency of the water pipe reaches the optimal efficiency value). The packet pair method can quickly and preliminarily estimate the estimated rate of the network line under the condition of reducing the packet sending data volume, so that the detection efficiency of the detection method of the embodiment can be greatly improved, and the finally corrected network bandwidth is the available network bandwidth value of the network line between the client and the server by combining the verification and correction of the estimated rate by the subsequent packet group method.
Fig. 3 shows a flowchart of a network bandwidth detection method in an embodiment of the present application.
Referring to fig. 3, a method for detecting network bandwidth, which is applied to a client, includes the following steps:
step 311, sending a plurality of packet pairs to the server, where the packet pairs include at least two data packets.
Please refer to step S211 for a related description of step S311, which is not described herein.
Step S312, receiving the estimated speed sent by the server, wherein the estimated speed is determined after the server filters the packet pairs meeting the conditions as the target packet pairs.
Please refer to step S212 for related description of step S312, which is not repeated herein.
Step S313, receiving the estimated speed sent by the server, and sending a packet group to the server by adopting the estimated speed, wherein the packet group comprises a plurality of data packets.
Please refer to step S213 for a related description of step S313, which is not described herein.
And step S314, receiving the network bandwidth sent by the server, wherein the network bandwidth is determined according to the target rate after the server confirms the target rate corresponding to the packet group.
For the related description of step S314, refer to step S214 to step S216, which are not repeated herein.
For better understanding of the network bandwidth detection method of the present application, please refer to fig. 4, and fig. 4 shows a flow chart of the network bandwidth detection method, which includes two parts, a first part is a packet pair method and a second part is a packet group method. The flow of FIG. 4 is illustrated as a client interacting with a server.
It should be noted that the client and the server establish TCP/UDP for probing. UDP (User data program) is a transport layer communication Protocol, and provides a method for sending encapsulated IP packets without establishing a connection for an application. TCP (Transmission Control Protocol) is a connection-oriented, reliable transport layer communication Protocol based on a byte stream. In this embodiment, TCP is used to perform flow control, which includes that the client and the server inform each other that the detection is accurate and complete, the packet pair detection, the triggering of the packet group detection, the final result calculation and reporting, and the like. The UDP is responsible for performing network bandwidth detection, packet pair detection, and packet group detection using UDP data packets.
As shown in Table 1, the types of packets when the client interacts with the server
Figure BDA0003662706850000081
Table 1 packet type table
Packet-to-packet phase
Step S411, the client sends a plurality of packet pairs to the server, wherein the packet pairs at least comprise two data packets, and the step S412 is entered.
When the client sends a packet pair, the client adds corresponding sending time stamps to two data packets in the packet pair respectively, and the sending time stamps represent the sending time of the data packets.
In step S412, the server receives the packet pairs transmitted from the client, and proceeds to step S413.
When the server receives the packet pair, similarly, the server adds corresponding receiving time stamps to two data packets in the packet pair respectively, where the receiving time stamps represent receiving times of the data packets.
Step S413, the server determines the transmission time interval and the reception time interval of two data packets in each packet pair, and the process proceeds to step S414.
According to the sending time stamp and the receiving time stamp, the sending time interval and the receiving time interval of the data packet can be determined. For example, a packet pair includes two data packets, the sending timestamps added to the two data packets by the client are S1 and S2, respectively, and the receiving timestamps added to the two data packets by the server are J1 and J2, respectively, then the sending time interval = | sending timestamp S2 — sending timestamp S1|, and the receiving time interval = | receiving timestamp J2 — receiving timestamp J1|.
In step S414, the server regards the packet pair whose comparison result between the sending time interval and the receiving time interval meets the condition as a target packet pair, and then the process proceeds to step S415.
The specific screening method is as follows: comparing the sending time interval with the corresponding receiving time interval by adopting a preset difference algorithm to obtain a plurality of time intervals to be screened; and sequencing the absolute values of the time intervals to be screened, and screening out the target packet pairs corresponding to the time intervals to be screened based on the sequencing result.
For example, in the example of this embodiment, the client sends 5 packet pairs { N1, N2, N3, N4, N5} to the server, and the server calculates the transmission time interval and the reception time interval corresponding to the 5 packet pairs. Comparing the sending time interval of each packet pair with the corresponding receiving time interval to obtain 5 difference values { D1, D2, D3, D4, D5}, sorting the absolute values of the 5 difference values in an ascending manner, taking Top K (for example, taking K = 2), and taking the packet pair { N1, N2} corresponding to the absolute value of the difference value { D1, D2} of the first two ranked bits as a target packet pair.
Step S415, the server determines the estimated rate by using a preset rate algorithm based on the target packet pair, and sends the estimated rate to the client, and the process goes to step S416.
The preset rate algorithm is specifically as follows: determining the corresponding rate to be confirmed of the target packet pair according to the size of a single data packet of the target packet pair, the sending time interval or the size of the single data packet and the receiving time interval; and carrying out mean value processing on the rate to be confirmed to obtain the estimated rate, and determining the bottleneck bandwidth of the network line according to the estimated rate.
For example, in the example of this embodiment, by selecting the target packet pair { N1, N2}, the server obtains the size of a single data packet in the target packet pair (since the two data packets have the same size, it is sufficient to obtain the size of the single data packet), the transmission time interval, or the size and the reception time interval of the single data packet in the target packet pair, to determine the rate to be confirmed corresponding to the target packet pair. The concrete formula is as follows: outstanding rate = single packet size/transmission time interval or reception time interval. After the rates to be confirmed corresponding to the two target packet pairs are respectively determined, the two rates to be confirmed are subjected to average value processing, and the estimated rate is determined.
Step S416, the client receives the estimated rate sent by the server, and then the process goes to step S417.
Packet method stage
Step S417, the client sends a packet group to the server side by adopting the estimated speed, wherein the packet group comprises a plurality of data packets, and the step S418 is entered.
Step S418, the server receives the packet group sent from the client, determines the target rate corresponding to the packet group, determines the network bandwidth according to the target rate of the packet group, and then proceeds to step S419.
For example, in the example of this embodiment, the server receives a packet group sent by the ue using the estimated rate, where the packet group includes 100 data packets { K1, K2, K3, … …, K100}. The method comprises the steps that a server side obtains the size of a single data packet, the sum of the data packets of a packet group is determined to be =100 × the size of the single data packet according to the size of the single data packet, meanwhile, the server side also obtains the total receiving time of the 100 data packets, the total receiving time of the data packets is = the receiving time stamp of the 100 th data packet received by the server side-the receiving time stamp of the 1 st data packet received by the server side, a target rate is determined according to the sum of the data packets of the packet group and the total receiving time of the data packets, and the target rate = the sum of the data packets of the packet group/the total receiving time of the data packets.
Then, the network bandwidth is determined according to the target rate. The value of the network bandwidth may be a value of the target rate without considering packet loss. That is, the target rate corresponding to the packet group at this time corresponds to the network bandwidth.
Step S419, the server confirms the number of data packets included in the packet group sent by the client, counts the number of data packets included in the packet group sent by the client that is successfully received, and then enters step S420.
Step S420, the server determines the packet loss rate according to the number of data packets included in the packet group sent by the client and the number of data packets included in the packet group sent by the client that is successfully received, and then the process goes to step S421.
For example, in the example of this embodiment, if the client transmits a packet group including 100 packets to the server, and the number of packets successfully received by the server is 99, and the number of lost packets is 1, then the packet loss rate = (the number of packets included in the packet group transmitted by the client-the number of packets included in the packet group successfully received by the client)/the number of packets included in the packet group transmitted by the client =1%.
Step S421, modify the network bandwidth by using the packet loss rate, and then proceed to step S422.
For example, in the example of the present embodiment, if the packet loss ratio =1%, the network bandwidth after the correction = the target rate before the correction (1-packet loss ratio).
And step S422, the server side sends the corrected network bandwidth to the client side.
Step S423, the client receives the network bandwidth sent by the server.
To sum up, the scheme of the application adopts a mode that the packet pair is combined with the packet group to carry out bandwidth detection, and integrates the advantages of the packet pair and the packet group. The packet pair method can effectively reduce the data volume of the transmitted packet by sensing the bottleneck bandwidth based on the packet interval; the packet group method can effectively guarantee the detection accuracy of the packet pair method; the packet pair method can avoid the problem that a large number of data packets are lost due to the excessively fast packet sending rate in the initial period, and finally the result error is large. This application is different from traditional package to method, and the package to method of this application can adopt comparatively simple package interval of sending out to try, and the quantity of sending out package interval can obtain control, and when traditional dichotomy carried out package to method and surveyed among the correlation technique, had under the undulant condition in the network, leaded to easily sending out package interval unable convergence for the detection effect descends. The scheme of the application can be used independently due to the small detection overhead, and can also be embedded into a protocol for reference of congestion control.
Corresponding to the functional method embodiment, the application also provides a service device, a terminal device, a network bandwidth detection system and a corresponding embodiment.
Fig. 5 shows a schematic structural diagram of a service device in an embodiment of the present application.
Referring to fig. 5, a service apparatus 50 includes: a packet pair receiving module 510, a screening module 520, a packet group receiving module 530, a bandwidth confirmation module 540, and a sending module 550.
The packet pair receiving module 510 is configured to receive a plurality of packet pairs sent from a client, where the packet pairs include at least two data packets.
The service device 50 receives a packet pair transmitted by a client, and the packet pair includes two data packets, and the two data packets have the same size except that the transmission time is different from the reception time. When the client sends a packet pair, the client adds corresponding sending time stamps to two data packets in the packet pair respectively, and the sending time stamps represent the sending time of the data packets. When the service device 50 receives the packet pair, similarly, the service device 50 adds corresponding receiving time stamps to two data packets in the packet pair, where the receiving time stamps represent receiving times of the data packets.
The screening module 520 is configured to screen the packet pairs that meet the condition as target packet pairs, determine an estimated rate of the target packet pairs, and send the estimated rate to the client.
The specific preset screening conditions are as follows: calculating the sending time interval and the receiving time interval of two data packets in each packet pair; comparing the sending time interval with the corresponding receiving time interval by adopting a preset difference algorithm to obtain a plurality of time intervals to be screened; and sequencing the absolute values of the time intervals to be screened, and screening out the target packet pairs corresponding to the time intervals to be screened based on the sequencing result.
After the target packet pairs are screened out, the estimated rate can be determined by adopting a preset rate algorithm based on the target packet pairs. The preset rate algorithm is specifically as follows: calculating the corresponding rate to be confirmed of the target packet pair according to the size of a single data packet of the target packet pair, the sending time interval or the size of the single data packet and the receiving time interval; and carrying out mean value processing on the rate to be confirmed to obtain the estimated rate.
The packet group receiving module 530 is configured to receive a packet group sent by the client using the estimated rate, where the packet group includes a plurality of data packets.
To verify the accuracy of the calculated estimated rate, the server 50 receives a packet group from the client using the estimated rate, wherein the packet group includes a plurality of data packets.
The bandwidth determining module 540 is configured to determine a target rate corresponding to the packet group, and determine a network bandwidth according to the target rate of the packet group.
The bandwidth determination module 540 determines the target rate according to the total packet number of the packet group and the total packet receiving duration. Then, the network bandwidth is determined according to the target rate. The value of the network bandwidth may be a value of the target rate without considering packet loss. That is, the target rate corresponding to the packet group at this time corresponds to the network bandwidth.
The sending module 550 is configured to send the determined network bandwidth to the client.
Fig. 6 shows a schematic structural diagram of a service device in another embodiment of the present application.
Referring to fig. 6, a service apparatus 50 includes: a packet pair receiving module 510, a screening module 520, a packet group receiving module 530, a bandwidth confirmation module 540, a sending module 550, and a modification module 560.
For describing the related functions of the packet pair receiving module 510, the screening module 520, the packet group receiving module 530 and the bandwidth confirmation module 540, please refer to fig. 5, which is not described herein again.
The modification module 560 is configured to determine a packet loss rate of a data packet of the packet group, and modify the network bandwidth by using the packet loss rate.
In order to further ensure the accuracy of the network bandwidth, the network bandwidth can be corrected by using the packet loss rate, and the corrected network can be more accurate. Before calculating the packet loss rate, the server side confirms the number of data packets included in the packet group sent by the client side, and counts the number of data packets included in the packet group sent by the client side which is successfully received. And calculating a packet loss rate according to the two parameters, wherein the packet loss rate = (the number of data packets contained in the packet group sent by the client-the number of data packets contained in the packet group sent by the successfully received client)/the number of data packets contained in the packet group sent by the client.
Accordingly, the sending module 550 is configured to send the modified target rate to the client as the network bandwidth.
Fig. 7 shows a schematic structural diagram of a terminal device in an embodiment of the present application.
Referring to fig. 7, a terminal device 70 includes: a packet pair sending module 710, a rate receiving module 720, a packet group sending module 730, and a bandwidth receiving module 740.
The packet pair sending module 710 is configured to send a plurality of packet pairs to the server, where a packet pair includes at least two data packets.
The packet pair includes two data packets, which are the same size, except for the difference in the transmission time and the reception time. When the terminal device 70 transmits a packet pair, the terminal device 70 adds a transmission time stamp to each of two data packets in the packet pair, and the transmission time stamp represents the transmission time of the data packet. When the server receives the packet pair, similarly, the server adds corresponding receiving time stamps to two data packets in the packet pair respectively, where the receiving time stamps represent receiving times of the data packets.
The rate receiving module 720 is configured to receive an estimated rate sent from the server, where the estimated rate is determined after the server filters a packet pair meeting the condition as a target packet pair.
The specific preset screening conditions are as follows: calculating the sending time interval and the receiving time interval of two data packets in each packet pair; comparing the sending time interval with the corresponding receiving time interval by adopting a preset difference algorithm to obtain a plurality of time intervals to be screened; and sequencing the absolute values of the time intervals to be screened, and screening out the target packet pairs corresponding to the time intervals to be screened based on the sequencing result.
The packet group sending module 730 is configured to send a packet group to the server using the estimated rate, where the packet group includes a plurality of data packets.
To verify the accuracy of the determined estimated rate, the server receives a packet group transmitted from the terminal device 70 using the estimated rate, wherein the packet group includes a plurality of data packets.
The bandwidth receiving module 740 is configured to receive a network bandwidth sent by a server, where the network bandwidth is determined by the server according to a target rate corresponding to a packet group determined by the server.
And the server determines the target rate according to the total data packet sum of the packet group and the total data packet receiving duration. Then, the network bandwidth is determined according to the target rate.
The method adopts the packet pair and packet group combination mode to detect the network bandwidth, and completes the network bandwidth detection of the network line by fully utilizing the respective advantages of the packet pair method and the packet group method, wherein the packet pair method can quickly determine the estimated rate of the target packet pair based on the packet interval, the number of the packet sending intervals can be controlled, the data volume of the packet sending can be effectively reduced, the packet group method can further detect the network bandwidth according to the result obtained by the packet pair method detection, and the detection accuracy of the packet pair method can be effectively guaranteed, so that the method can accurately and quickly detect the network bandwidth.
In order to further ensure the accuracy of the target rate, the network bandwidth may be modified by using the packet loss rate, and the modified network bandwidth may be more accurate (. Before determining the packet loss rate, the server determines the number of data packets included in the packet group sent by the terminal device 70, and counts the number of data packets included in the packet group sent by the terminal device 70, and calculates the packet loss rate according to the two parameters, where the packet loss rate = (the number of data packets included in the packet group sent by the terminal device 70 — the number of data packets included in the packet group sent by the terminal device 70), and the number of data packets included in the packet group sent by the terminal device 70.
Fig. 8 shows a schematic structural diagram of a network bandwidth detection system in an embodiment of the present application.
Referring to fig. 8, a system 80 for detecting network bandwidth includes: terminal device 810, service device 820;
terminal device 810 is configured to send packet pairs to serving device 820, where a packet pair includes at least two data packets; receiving the estimated speed sent by the service device 820, and sending a packet group to the service device 820 by using the estimated speed, wherein the packet group comprises a plurality of data packets; receiving the network bandwidth sent by service device 820;
the service device 820 is used for receiving a plurality of packet pairs transmitted from the terminal device 810; screening the packet pairs meeting the conditions as target packet pairs, determining the estimated rate of the target packet pairs, and sending the estimated rate to the terminal device 810; receiving a packet group sent by the terminal device 810 by using the estimated rate, wherein the packet group comprises a plurality of data packets; determining a target rate corresponding to the packet group, and determining a network bandwidth according to the target rate of the packet group; the determined network bandwidth is transmitted to the terminal device 810.
Please refer to the related descriptions in fig. 1, fig. 2, fig. 3, and fig. 4 for the principle of the execution flow of the network bandwidth detection system 80, which is not described herein again.
With regard to the apparatus and system in the above embodiments, the specific manner in which each module and unit performs operations has been described in detail in relation to the corresponding method embodiments of the apparatus and system, and will not be described in detail herein.
Fig. 9 shows a schematic structural diagram of a service device in an embodiment of the present application.
Referring to fig. 9, a service apparatus 900 includes: a first processor 910, a first memory 920 storing instructions executable by the first processor 910, a first communication interface 930, and a first bus 940 for connecting the first processor 910, the first memory 920, and the first communication interface 930.
The first processor 910 is configured to execute the instructions stored in the first memory 920 to implement the following steps:
receiving a plurality of packet pairs sent by a client, wherein the packet pairs at least comprise two data packets;
screening the packet pairs meeting the conditions as target packet pairs, determining the estimated speed of the target packet pairs, and sending the estimated speed to the client;
receiving a packet group sent by a client at an estimated rate, wherein the packet group comprises a plurality of data packets;
determining a target rate corresponding to the packet group, and determining a network bandwidth according to the target rate of the packet group;
and sending the determined network bandwidth to the client.
In other embodiments of the present application, after the first processor 910 determines the target rate corresponding to the packet group, the following steps are further performed:
determining the packet loss rate of the data packets of the packet group, and correcting the network bandwidth by using the packet loss rate;
accordingly, the first processor 910 performs the transmission of the network bandwidth to the client, including: and sending the corrected network bandwidth to the client.
In other embodiments of the present application, the first processor 910 performs screening on a packet pair meeting a preset screening condition as a target packet pair, and determines an estimated rate of the target packet pair, including:
determining the sending time interval and the receiving time interval of two data packets in each packet pair;
comparing the sending time interval with the corresponding receiving time interval by adopting a preset difference algorithm to obtain a plurality of time intervals to be screened;
and sequencing the absolute values of the time intervals to be screened, and screening out the target packet pairs corresponding to the time intervals to be screened based on the sequencing result.
And determining the estimated rate by adopting a preset rate algorithm based on the target packet pair.
In other embodiments of the present application, the first processor 910 performs the determining of the estimated rate by using a preset rate algorithm based on the target packet pair, including:
determining the corresponding rate to be confirmed of the target packet pair according to the size of a single data packet of the target packet pair, the sending time interval or the size of the single data packet and the receiving time interval;
and carrying out mean value processing on the rate to be confirmed to obtain the estimated rate.
In other embodiments of the present application, the determining, by the first processor 910, a target rate corresponding to a packet group includes:
and determining the target rate according to the total data packet sum of the packet group and the total data packet receiving duration.
Fig. 10 shows a schematic structural diagram of a terminal device in an embodiment of the present application.
Referring to fig. 10, a terminal device 1000 includes: a second processor 1100, a second memory 1200 storing instructions executable by the second processor 1100, a second communication interface 1300, and a second bus 1400 for connecting the second processor 1100, the second memory 1200, and the second communication interface 1300.
The second processor 1100 is configured to execute the instructions stored in the second memory 1200 to implement the following steps:
sending a plurality of packet pairs to a server, wherein the packet pairs at least comprise two data packets;
receiving an estimated rate sent by a server, wherein the estimated rate is determined after the server screens a packet pair meeting the conditions as a target packet pair;
sending a packet group to a server by adopting the pre-estimated rate, wherein the packet group comprises a plurality of data packets;
and receiving the network bandwidth sent by the server, wherein the network bandwidth is determined by the server according to the target rate after determining the target rate corresponding to the packet group.
Furthermore, the method according to the present application may also be implemented as a computer program or computer program product comprising computer program code instructions for performing some or all of the steps of the above-described method of the present application.
Alternatively, the present application may also be embodied as a computer-readable storage medium (or a non-transitory machine-readable storage medium or a machine-readable storage medium) having executable code (or a computer program or computer instruction code) stored thereon, which, when executed by a processor of an electronic device (which may be, for example, a virtual machine management device, a virtual machine device, a server, etc.), causes the processor to perform part or all of the steps of the above-described methods according to the present application.
The aspects of the present application have been described in detail hereinabove with reference to the accompanying drawings. In the foregoing embodiments, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to the related descriptions of other embodiments. Those skilled in the art should also appreciate that acts and modules referred to in the specification are not necessarily required in the present application. In addition, it can be understood that the steps in the method of the embodiment of the present application may be sequentially adjusted, combined, and deleted according to actual needs, and the modules in the device of the embodiment of the present application may be combined, divided, and deleted according to actual needs.
Having described embodiments of the present application, the foregoing description is intended to be exemplary, not exhaustive, and not limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen in order to best explain the principles of the embodiments, the practical application, or improvements made to the technology in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.

Claims (13)

1. A network bandwidth detection method is characterized in that the method is applied to a server side and comprises the following steps:
receiving a plurality of packet pairs sent by a client, wherein the packet pairs at least comprise two data packets;
screening qualified packet pairs as target packet pairs, determining the estimated rate of the target packet pairs, and sending the estimated rate to the client;
receiving a packet group sent by the client by adopting the estimated rate, wherein the packet group comprises a plurality of data packets;
determining a target rate corresponding to the packet group, and determining a network bandwidth according to the target rate of the packet group;
and sending the determined network bandwidth to the client.
2. The method according to claim 1, wherein after determining the target rate corresponding to the packet group and determining the network bandwidth according to the target rate of the packet group, the method further comprises:
determining the packet loss rate of the data packets of the packet group, and correcting the network bandwidth by using the packet loss rate;
the sending the determined network bandwidth to the client includes:
and sending the corrected network bandwidth to a client.
3. The method according to claim 1, wherein the screening qualified packet pairs as target packet pairs and determining the estimated rate of the target packet pairs comprises:
determining the sending time interval and the receiving time interval of two data packets in each packet pair;
comparing the sending time interval with the corresponding receiving time interval by adopting a preset difference algorithm to obtain a plurality of time intervals to be screened;
and sequencing the absolute values of the time intervals to be screened, and screening out the target packet pairs corresponding to the time intervals to be screened based on a sequencing result.
And determining the estimated rate by adopting a preset rate algorithm based on the target packet pair.
4. The method according to claim 3, wherein the determining the estimated rate based on the target packet pair by using a predetermined rate algorithm comprises:
determining the rate to be confirmed corresponding to the target packet pair according to the size of the single data packet of the target packet pair, the sending time interval or the size of the single data packet and the receiving time interval;
and carrying out mean value processing on the rate to be confirmed to obtain the estimated rate.
5. The method according to claim 1, wherein the determining the target rate corresponding to the packet group comprises:
and determining the target rate according to the total data packet sum of the packet group and the total data packet receiving duration.
6. A network bandwidth detection method is applied to a client side and comprises the following steps:
sending a plurality of packet pairs to a server, wherein the packet pairs at least comprise two data packets;
receiving an estimated rate sent by the server, wherein the estimated rate is determined after the server screens packet pairs meeting conditions as target packet pairs;
sending a packet group to the server by adopting the estimated speed, wherein the packet group comprises a plurality of data packets;
and receiving the network bandwidth sent by the server, wherein the network bandwidth is determined by the server according to a target rate corresponding to the packet group after the server determines the target rate.
7. A service device, comprising:
the system comprises a packet pair receiving module, a packet pair receiving module and a packet pair sending module, wherein the packet pair receiving module is used for receiving a plurality of packet pairs sent by a client, and the packet pairs at least comprise two data packets;
the screening module is used for screening the packet pairs meeting the conditions as target packet pairs, determining the estimated rate of the target packet pairs and sending the estimated rate to the client;
a packet group receiving module, configured to receive a packet group sent by the client at the estimated rate, where the packet group includes a plurality of data packets;
the bandwidth confirming module is used for confirming the target rate corresponding to the packet group and confirming the network bandwidth according to the target rate of the packet group;
and the sending module is used for sending the determined network bandwidth to the client.
8. The service apparatus according to claim 7, further comprising:
the correction module is used for determining the packet loss rate of the data packets of the packet group and correcting the network bandwidth by using the packet loss rate;
and the sending module is used for sending the corrected network bandwidth to a client.
9. A terminal device, comprising:
the system comprises a packet pair sending module, a packet pair sending module and a packet pair sending module, wherein the packet pair sending module is used for sending a plurality of packet pairs to a server, and the packet pairs at least comprise two data packets;
a rate receiving module, configured to receive an estimated rate sent from the server, where the estimated rate is determined after the server filters a packet pair meeting a condition as a target packet pair;
a packet group sending module, configured to send a packet group to the server by using the estimated rate, where the packet group includes a plurality of data packets;
a bandwidth receiving module, configured to receive the network bandwidth sent by the server, where the network bandwidth is determined by the server according to a target rate corresponding to the packet group after the target rate is determined by the server.
10. A network bandwidth detection system, comprising: a terminal device, a service device;
the terminal device is used for sending a plurality of packet pairs to the service device, wherein the packet pairs at least comprise two data packets; receiving the estimated speed sent by the service device, and sending a packet group to the service device by adopting the estimated speed, wherein the packet group comprises a plurality of data packets; receiving the network bandwidth sent by the service device;
the service device is used for receiving a plurality of packet pairs sent by the terminal device; screening qualified packet pairs as target packet pairs, determining the estimated rate of the target packet pairs, and sending the estimated rate to the terminal device; receiving a packet group sent by the terminal device by adopting the estimated rate, wherein the packet group comprises a plurality of data packets; determining a target rate corresponding to the packet group, and determining a network bandwidth according to the target rate of the packet group; and transmitting the determined network bandwidth to the terminal device.
11. A service device, comprising: a first processor, a first memory storing the first processor-executable instructions, a first communication interface, and a first bus connecting the first processor, the first memory, and the first communication interface; the instructions, when executed by the first processor, implement a network bandwidth detection method as claimed in any one of claims 1 to 5.
12. A terminal device, comprising: a second processor, a second memory storing second processor-executable instructions, a second communication interface, and a second bus for connecting the second processor, the second memory, and the second communication interface; the instructions, when executed by the second processor, implement the network bandwidth detection method of claim 6.
13. A computer readable storage medium having stored thereon executable code which, when executed by a processor of an electronic device, causes the processor to perform the network bandwidth detection method of claims 1 to 5 or claim 6.
CN202210585199.3A 2022-05-25 2022-05-25 Network bandwidth detection method, device, system, equipment and storage medium Active CN115174429B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210585199.3A CN115174429B (en) 2022-05-25 2022-05-25 Network bandwidth detection method, device, system, equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210585199.3A CN115174429B (en) 2022-05-25 2022-05-25 Network bandwidth detection method, device, system, equipment and storage medium

Publications (2)

Publication Number Publication Date
CN115174429A true CN115174429A (en) 2022-10-11
CN115174429B CN115174429B (en) 2024-04-09

Family

ID=83483303

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210585199.3A Active CN115174429B (en) 2022-05-25 2022-05-25 Network bandwidth detection method, device, system, equipment and storage medium

Country Status (1)

Country Link
CN (1) CN115174429B (en)

Citations (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0932281A1 (en) * 1998-01-23 1999-07-28 Matsushita Electric Industrial Co., Ltd. Network system, band management apparatus, transmitting apparatus, network transmitting method, band management method, and transmitting method
CN101026509A (en) * 2007-02-28 2007-08-29 西南科技大学 End-to-end low available bandwidth measuring method
KR20110137653A (en) * 2010-06-17 2011-12-23 삼성전자주식회사 Method and apparatus for estimating available bandwidth and capacity of network paths in communication systems
US20140269401A1 (en) * 2013-03-14 2014-09-18 General Instrument Corporation Passive measurement of available link bandwidth
CN104579812A (en) * 2013-10-29 2015-04-29 中国科学院声学研究所 Method for measuring available bandwidth of computer network
CN104618195A (en) * 2015-02-16 2015-05-13 腾讯科技(深圳)有限公司 Bandwidth estimation method and device
CN104717108A (en) * 2015-03-30 2015-06-17 北京邮电大学 Network bottleneck bandwidth measurement method based on active measurement and packet gap model
US9503384B1 (en) * 2013-10-28 2016-11-22 Thousandeyes, Inc. Estimating network capacity and network bandwidth without server instrumentation
US9674726B1 (en) * 2014-11-21 2017-06-06 Google Inc. Methods and systems for improved bandwidth estimation
CN107734537A (en) * 2016-08-10 2018-02-23 腾讯科技(深圳)有限公司 Measuring method, transmitting terminal and the receiving terminal of network performance parameter
CN107888455A (en) * 2017-12-04 2018-04-06 北京星河星云信息技术有限公司 A kind of data detection method, device and system
CN109412976A (en) * 2017-08-17 2019-03-01 中国移动通信集团甘肃有限公司 Data transmission method, device, system, server, electronic equipment and medium
CN109428784A (en) * 2017-08-31 2019-03-05 腾讯科技(深圳)有限公司 Network detection method and device, computer storage medium and equipment
CN109905257A (en) * 2017-12-07 2019-06-18 阿里巴巴集团控股有限公司 The determination method and apparatus of bandwidth transmission capability
CN110505158A (en) * 2019-09-29 2019-11-26 深信服科技股份有限公司 A kind of network bandwidth control method, device and electronic equipment and storage medium
CN111211936A (en) * 2019-12-27 2020-05-29 视联动力信息技术股份有限公司 Data processing method and device based on network state
CN112653635A (en) * 2020-12-23 2021-04-13 百果园技术(新加坡)有限公司 Congestion control algorithm improvement method, device, equipment and storage medium
CN112671612A (en) * 2020-12-24 2021-04-16 深圳市高德信通信股份有限公司 Network bandwidth detection method based on CDN network technology
CN112953847A (en) * 2021-01-27 2021-06-11 北京字跳网络技术有限公司 Network congestion control method and device, electronic equipment and storage medium
CN113067750A (en) * 2021-03-24 2021-07-02 北京字节跳动网络技术有限公司 Bandwidth measuring method and device and electronic device
CN113194007A (en) * 2021-04-22 2021-07-30 西安交通大学 Method, system, equipment and readable storage medium for measuring available bandwidth of network
US20210273869A1 (en) * 2020-02-29 2021-09-02 Hewlett Packard Enterprise Development Lp Techniques and architectures for available bandwidth estimation with packet pairs selected based on one-way delay threshold values
CN113453045A (en) * 2021-06-28 2021-09-28 苏州科达科技股份有限公司 Network bandwidth prediction method, system, device and storage medium
CN113595830A (en) * 2021-07-30 2021-11-02 百果园技术(新加坡)有限公司 Method, device, equipment and storage medium for detecting network packet loss state
CN114285766A (en) * 2021-08-20 2022-04-05 腾讯科技(深圳)有限公司 Network bandwidth detection method and device, electronic equipment and storage medium
CN114389975A (en) * 2022-02-08 2022-04-22 北京字节跳动网络技术有限公司 Network bandwidth estimation method, device, system, electronic equipment and storage medium

Patent Citations (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0932281A1 (en) * 1998-01-23 1999-07-28 Matsushita Electric Industrial Co., Ltd. Network system, band management apparatus, transmitting apparatus, network transmitting method, band management method, and transmitting method
CN101026509A (en) * 2007-02-28 2007-08-29 西南科技大学 End-to-end low available bandwidth measuring method
KR20110137653A (en) * 2010-06-17 2011-12-23 삼성전자주식회사 Method and apparatus for estimating available bandwidth and capacity of network paths in communication systems
US20140269401A1 (en) * 2013-03-14 2014-09-18 General Instrument Corporation Passive measurement of available link bandwidth
US9503384B1 (en) * 2013-10-28 2016-11-22 Thousandeyes, Inc. Estimating network capacity and network bandwidth without server instrumentation
CN104579812A (en) * 2013-10-29 2015-04-29 中国科学院声学研究所 Method for measuring available bandwidth of computer network
US9674726B1 (en) * 2014-11-21 2017-06-06 Google Inc. Methods and systems for improved bandwidth estimation
CN104618195A (en) * 2015-02-16 2015-05-13 腾讯科技(深圳)有限公司 Bandwidth estimation method and device
CN104717108A (en) * 2015-03-30 2015-06-17 北京邮电大学 Network bottleneck bandwidth measurement method based on active measurement and packet gap model
CN107734537A (en) * 2016-08-10 2018-02-23 腾讯科技(深圳)有限公司 Measuring method, transmitting terminal and the receiving terminal of network performance parameter
CN109412976A (en) * 2017-08-17 2019-03-01 中国移动通信集团甘肃有限公司 Data transmission method, device, system, server, electronic equipment and medium
CN109428784A (en) * 2017-08-31 2019-03-05 腾讯科技(深圳)有限公司 Network detection method and device, computer storage medium and equipment
CN107888455A (en) * 2017-12-04 2018-04-06 北京星河星云信息技术有限公司 A kind of data detection method, device and system
CN109905257A (en) * 2017-12-07 2019-06-18 阿里巴巴集团控股有限公司 The determination method and apparatus of bandwidth transmission capability
CN110505158A (en) * 2019-09-29 2019-11-26 深信服科技股份有限公司 A kind of network bandwidth control method, device and electronic equipment and storage medium
CN111211936A (en) * 2019-12-27 2020-05-29 视联动力信息技术股份有限公司 Data processing method and device based on network state
US20210273869A1 (en) * 2020-02-29 2021-09-02 Hewlett Packard Enterprise Development Lp Techniques and architectures for available bandwidth estimation with packet pairs selected based on one-way delay threshold values
CN112653635A (en) * 2020-12-23 2021-04-13 百果园技术(新加坡)有限公司 Congestion control algorithm improvement method, device, equipment and storage medium
CN112671612A (en) * 2020-12-24 2021-04-16 深圳市高德信通信股份有限公司 Network bandwidth detection method based on CDN network technology
CN112953847A (en) * 2021-01-27 2021-06-11 北京字跳网络技术有限公司 Network congestion control method and device, electronic equipment and storage medium
CN113067750A (en) * 2021-03-24 2021-07-02 北京字节跳动网络技术有限公司 Bandwidth measuring method and device and electronic device
CN113194007A (en) * 2021-04-22 2021-07-30 西安交通大学 Method, system, equipment and readable storage medium for measuring available bandwidth of network
CN113453045A (en) * 2021-06-28 2021-09-28 苏州科达科技股份有限公司 Network bandwidth prediction method, system, device and storage medium
CN113595830A (en) * 2021-07-30 2021-11-02 百果园技术(新加坡)有限公司 Method, device, equipment and storage medium for detecting network packet loss state
CN114285766A (en) * 2021-08-20 2022-04-05 腾讯科技(深圳)有限公司 Network bandwidth detection method and device, electronic equipment and storage medium
CN114389975A (en) * 2022-02-08 2022-04-22 北京字节跳动网络技术有限公司 Network bandwidth estimation method, device, system, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN115174429B (en) 2024-04-09

Similar Documents

Publication Publication Date Title
CN103248452B (en) Data sending device, data receiving device, terminal and data transmission method
CN105791054B (en) A kind of autonomous controllable reliable multicast transmission method realized based on flow point class
CN101808044B (en) Method for multi-home routing of stream control transmission protocol and device
CN103200116B (en) The reliable UDP transmission agreement that not face connects and data transmission method
EP3821679A1 (en) Enabling functionality at a user plane function, upf, by a session management function, smf, in a telecommunication network
CN103947191A (en) Video reception terminal, home gateway device, quality management system, and quality deterioration isolation system
CN104601394A (en) Business chain connectivity detection method, device and system
CN105704206A (en) Implementation method for performing Ethernet communication with LED display control card
WO2011137640A1 (en) File transmission method, file transmission apparatus and file reception apparatus
CN106357726A (en) Load balancing method and device
CN111343501A (en) Packet loss detection method and system, and computer readable storage medium
CN114513467B (en) Network traffic load balancing method and device of data center
EP1788756B1 (en) Apparatus and method for transmitting packets in wireless network
CN102752076B (en) Control method that data send and device and computer system
CN106452894A (en) Fault connection detection method and apparatus
CN115174429A (en) Network bandwidth detection method, device, system, equipment and storage medium
CN1969512A (en) Communication network, communication apparatus, communication control method and communication control program
CN107104892A (en) The method and apparatus of network acceleration
CN106656659A (en) Network path selection method and network video recorder (NVR)
KR20190002557A (en) Performance measurement for multipoint packet flow
US20170310561A1 (en) Network Control Method and Apparatus
CN106411731A (en) Method and device of self-negotiation link aggregation control protocol (LACP) reference system and reference port
CN107257265A (en) Real-time transmission data stream forward error correction, equipment and storage medium
CN106302200B (en) A kind of method and interchanger handling network congestion
CN103312621B (en) Flow control system and flow control methods

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