CN115174429B - 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
CN115174429B
CN115174429B CN202210585199.3A CN202210585199A CN115174429B CN 115174429 B CN115174429 B CN 115174429B CN 202210585199 A CN202210585199 A CN 202210585199A CN 115174429 B CN115174429 B CN 115174429B
Authority
CN
China
Prior art keywords
packet
rate
target
network bandwidth
determining
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.)
Active
Application number
CN202210585199.3A
Other languages
Chinese (zh)
Other versions
CN115174429A (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

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 network bandwidth detection device, a network bandwidth detection system, a network bandwidth detection device and a network bandwidth detection 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 rate of the target packet pairs, and sending the estimated rate to the client; receiving a packet group sent by a client side by adopting a pre-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. The network bandwidth detection of the network circuit is completed by combining the advantages of the packet pairing method and the packet grouping method, and the network bandwidth detection can be realized more quickly and accurately.

Description

Network bandwidth detection method, device, system, equipment and storage medium
Technical Field
The present disclosure 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 network bandwidth.
Background
Network bandwidth refers to the amount of data that can be transmitted per unit time. The network is similar to an expressway, and the larger the network bandwidth is, the more lanes are similar to the expressway, and the higher the traffic capacity is.
The detection of an important indicator of network bandwidth has been the most central problem in networks. The network bandwidth is applied to various aspects, for example, the video application needs to adjust the code rate according to the current network bandwidth, for example, a routing algorithm can perform path selection according to the network bandwidth to realize load balancing, for example, a network operator can determine whether the network fails according to the size of the network bandwidth.
In the related art, the method for detecting the network bandwidth can be, for example, to detect the network bandwidth by using a Speedtest tool, and the method can select a cloud server according to a certain policy and detect the network bandwidth by using a packet pair method, but the method cannot accurately and rapidly detect the network bandwidth.
Disclosure of Invention
In order to solve or partially solve the problems existing in the related art, the application provides a network bandwidth detection method, a device, a system, equipment and a storage medium, which can accurately and rapidly detect network bandwidth.
The first aspect of the present application provides a network bandwidth detection method, where the method 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 a qualified packet pair as a target packet pair, determining the estimated rate of the target packet pair, and transmitting 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.
Preferably, the determining the target rate corresponding to the packet group, after determining the network bandwidth according to the target rate of the packet group, further includes:
determining the packet loss rate of the data packets of the packet group, and correcting the network bandwidth by utilizing 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 the packet pair meeting the condition as a target packet pair, and determining the estimated rate of the target packet pair 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 sorting the absolute values of the time intervals to be screened, and screening out target packet pairs corresponding to the time intervals to be screened based on sorting results.
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 a 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 average 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, where the method 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 by the server after screening a qualified packet pair as a target packet pair;
Transmitting a packet group to the server by adopting the 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 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 packet receiving module is used for receiving a plurality of packet pairs sent by the client, wherein 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;
the packet group receiving module is used for receiving a packet group sent by the client by adopting the estimated rate, wherein the packet group comprises a plurality of data packets;
the bandwidth confirmation module is used for determining a target rate corresponding to the packet group and determining 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.
Preferably, the method further comprises:
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 utilizing the packet loss rate;
The sending module is used for sending the corrected network bandwidth to a client.
A fourth aspect of the present application provides a terminal device, 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;
the rate receiving module is used for receiving the estimated rate sent by the server, wherein the estimated rate is determined after the server screens the packet pairs meeting the conditions as target packet pairs;
the packet group sending module is used for sending a packet group to the server by adopting the estimated rate, wherein the packet group comprises a plurality of data packets;
and the bandwidth receiving module is used for 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 fifth aspect of the present application provides a network bandwidth detection system, comprising: a terminal device and 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 rate sent by the service device, and adopting the estimated rate to send a packet group to the service device, 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 a qualified packet pair as a target packet pair, determining the estimated rate of the target packet pair, and transmitting 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 device, comprising: a first processor, a first memory storing instructions executable by the first processor, a first communication interface, and a first bus for connecting the first processor, the first memory, and the first communication interface; when executed by the first processor, implements the 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 instructions executable by the second processor, 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, implements the network bandwidth detection method as described above.
An eighth aspect of the present application provides a computer readable storage medium having executable code stored thereon, which when executed by a processor of an electronic device, causes the processor to perform a network bandwidth detection method as described above.
The technical scheme that this application provided can include following beneficial effect:
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 rate of the target packet pairs, and sending the estimated rate to the client; receiving a packet group sent by a client side by adopting a pre-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. The related technology generally adopts a packet pair method to detect network bandwidth independently, the network bandwidth detection is carried out by adopting a mode of combining the packet pair and the packet group, the respective advantages of the packet pair method and the packet group method are fully utilized to finish the network bandwidth detection of a network circuit, wherein the packet pair method can rapidly determine the estimated rate of a target packet pair based on the packet interval, the number of the packet sending intervals can be controlled, the data quantity of the sent packets can be effectively reduced, the network bandwidth is further detected according to the result obtained by the packet pair method, and the detection accuracy of the packet pair method can be effectively ensured, so that the network bandwidth is accurately and rapidly detected by the scheme.
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 of a network bandwidth detection method in an embodiment of the present application;
fig. 2 is a flow chart of a network bandwidth detection method according to another embodiment of the present application;
fig. 3 is a schematic flow chart of 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 shows a schematic structural diagram of a service device in an embodiment of the present application;
fig. 6 shows a schematic structural diagram of a service device according to another embodiment of the present application;
fig. 7 shows a schematic structural diagram of a terminal device in an embodiment of the present application;
fig. 8 is a schematic structural diagram of a network bandwidth detection system in an embodiment of the present application;
Fig. 9 shows 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 in the present application is for the purpose of describing particular embodiments only and is not intended to be limiting of the present 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 or 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 by these terms. These terms are only used to distinguish one type of information from another. For example, a first message may also be referred to as a second message, and similarly, a second message may also be referred to as a first message, without departing from the scope of the present application. Thus, a feature defining "a first" or "a second" may explicitly or implicitly include one or more such feature. In the description of the present application, the meaning of "a plurality" is two or more, unless explicitly defined otherwise.
In the description of the present application, it should be understood that the terms "length," "width," "upper," "lower," "front," "rear," "left," "right," "vertical," "horizontal," "top," "bottom," "inner," "outer," and the like indicate orientations or positional relationships based on the orientation or positional relationships shown in the drawings, merely to facilitate description of the present application and simplify the description, and do not indicate or imply that the devices or elements referred to must have a specific orientation, be configured and operated in a specific orientation, and therefore should not be construed as limiting the present application.
Unless specifically stated or limited otherwise, the terms "mounted," "connected," "secured" and the like should be construed broadly, as they may be fixed, removable, or integral, for example; can be mechanically or electrically connected; can be directly connected or indirectly connected through an intermediate medium, and can be communicated with the inside of two elements or the interaction relationship of the two elements. The specific meaning of the terms in this application will be understood by those of ordinary skill in the art as the case may be.
The detection method for the network bandwidth in the related art has defects, and cannot accurately and rapidly detect the network bandwidth, so that the detection method has limitations.
Therefore, in view of the above technical problems, the present application provides a network bandwidth detection method, which can accurately and rapidly detect a network bandwidth.
The following describes the technical scheme of the embodiments of the present application in detail with reference to the accompanying drawings.
Fig. 1 shows a flow chart of a network bandwidth detection method in an embodiment of the present application.
Referring to fig. 1, a network bandwidth detection method is applied to a server, and includes the following steps:
step S111, a plurality of packet pairs sent from the client are received, where the packet pairs at least include two data packets.
The server receives a packet pair sent by the client, wherein the packet pair at least comprises two data packets, the sizes of the two data packets are the same, and the difference is that the sending time and the receiving time are different. When the client transmits the packet pair, the client adds corresponding transmission time stamps to two data packets in the packet pair respectively, wherein the transmission time stamps represent the transmission 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, and the receiving time stamps represent the receiving time of the data packets.
Step S112, 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.
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 sorting the absolute values of the time intervals to be screened, and screening out target packet pairs corresponding to the time intervals to be screened based on the sorting result.
After the target packet pair is screened, the estimated rate can be determined by adopting a preset rate algorithm based on the target packet pair. The preset rate algorithm is specifically as follows: determining the corresponding rate to be confirmed of the target packet pair according to the size and the sending time interval of the single data packet of the target packet pair or the size and the receiving time interval of the single data packet; and carrying out average value processing on the rate to be confirmed to obtain the estimated rate.
Step 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 rate, the server receives a packet group sent by the client by adopting the estimated rate, wherein the packet group comprises a plurality of data packets.
Step S114, determining a 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 and the total data packet receiving duration of the packet group. The network bandwidth is then determined based on the target rate. The value of the network bandwidth may be the 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 S115, the determined network bandwidth is sent to the client.
According to the method, network bandwidth detection is carried out in a mode of combining the packet pair and the packet group, the advantages of the packet pair method and the packet group method are fully utilized to finish network bandwidth detection of a network circuit, the packet pair method can rapidly determine the estimated speed of a target packet pair based on the packet interval, the number of the packet sending intervals can be controlled, the data quantity of the packet sending can be effectively reduced, the packet group method further detects 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 network bandwidth can be accurately and rapidly detected by the scheme.
Fig. 2 is a flow chart of a network bandwidth detection method according to another embodiment of the present application.
Step S211, a plurality of packet pairs sent from the client are received, where the packet pairs at least include 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 transmits the packet pair, the client adds corresponding transmission time stamps to two data packets in the packet pair respectively, wherein the transmission time stamps represent the transmission 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, and the receiving time stamps represent the receiving time of the data packets.
For example, taking a packet pair including two data packets as an example, but not limited to, the sending time stamps added to the two data packets by the client are S1 and S2, and the receiving time stamps added to the two data packets by the server are J1 and J2, respectively, the sending time interval= |sending time stamp S2-sending time stamp S1|, and the receiving time interval= |receiving time stamp J2-receiving time stamp J1|.
Step S212, 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.
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 sorting the absolute values of the time intervals to be screened, and screening out target packet pairs corresponding to the time intervals to be screened based on the sorting result.
For example, the client sends 5 packet pairs { N1, N2, N3, N4, N5} to the server, and the server determines a sending time interval and a 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 and D5}, sorting the absolute values of the 5 difference values in an ascending order, 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 two digits before ranking as the target packet pair.
After the target packet pair is screened, the estimated rate can be determined by adopting a preset rate algorithm based on the target packet pair. The preset rate algorithm may be as follows: determining the corresponding rate to be confirmed of the target packet pair according to the size and the sending time interval of the single data packet of the target packet pair or the size and the receiving time interval of the single data packet; and carrying out average value processing on the rate to be confirmed to obtain the estimated rate.
In the above example, the server side obtains the size of a single packet in the target packet pair (the size of two packets is the same, so that the size of a single packet can be obtained), the sending time interval, or the size and the receiving time interval of a single packet in the target packet pair by selecting the target packet pair { N1, N2}, so as to determine the rate to be confirmed corresponding to the target packet pair. The specific formula is as follows: to-be-acknowledged rate = single packet size/transmission time interval or reception time interval. After the corresponding rates to be confirmed of the two target packet pairs are respectively determined, average processing is carried out on the two rates to be confirmed, and the estimated rate is calculated. It should be noted that, because the sending time interval and the receiving time interval corresponding to the target packet are very close, the estimated bottleneck bandwidth of the network line can be determined based on the estimated rate calculated by the target packet pair by adopting the preset rate algorithm.
Step S213, the receiving client uses the estimated rate to send the packet group, wherein the packet group includes a plurality of data packets.
The server receives a packet group sent by the client by adopting the estimated rate, wherein the packet group comprises a plurality of data packets.
For example, the server receives a packet set sent by the client at the estimated rate, where the packet set includes 100 data packets { K1, K2, K3, … …, K100}, each of which has the same size.
Step S214, determining a 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 packets { K1, K2, K3, … …, K100}, the server obtains the size of a single packet, determines the sum of packets=100×the size of a single packet of the packet group according to the size of a single packet, and meanwhile, the server also obtains 100 total durations of receiving packets, where the total durations of receiving packets=100 total durations of receiving packets of the server-1 st packet of receiving time stamp of receiving packets of the server, and determines the target rate according to the sum of packets of the packet group and the total durations of receiving packets, where the target rate=the sum of packets of the packet group/total duration of receiving packets. By the algorithm, the calculation of the target rate corresponding to the packet group is completed.
The network bandwidth is then determined based on the target rate. The value of the network bandwidth may be the 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 network bandwidth detection of the network circuit is completed by combining the advantages of the packet pair method and the packet group method, wherein the packet pair method can rapidly and preliminarily estimate the estimated rate of the network circuit under the condition of reducing the packet sending data quantity, and the packet group method can complete the final detection of the network bandwidth of the network circuit 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 confirms the number of data packets included in the packet group sent by the client, and counts the number of data packets included in the packet group sent by the successfully received client. And determining a packet loss rate according to the two parameters, wherein the packet loss rate is = (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.
For example, in the above example, the client sends a packet group including 100 data packets { K1, K2, K3, … …, K100} to the server, and the number of data packets successfully received by the server is 99 { K1, K2, K3, … …, K99}, then the packet loss rate= (the number of data packets included in the packet group sent by the client-the number of data packets included in the packet group successfully received by the client)/the number of data packets included in the packet group sent by the client = 1%.
After obtaining the packet loss rate of the data packets of the packet group, correcting the network bandwidth by using the packet loss rate, wherein the process can be as follows:
modified network bandwidth = target rate (1-packet loss rate)
And determining the corrected network bandwidth according to the target rate and the packet loss rate.
And step S216, the corrected network bandwidth is sent to the client.
It should be noted that, for the network line between the client and the server, the data transmission on the network line is equivalent to the water transmission in the water pipe, and it is assumed that water is to be transmitted through one water pipe with unknown parameters, the water transmission is easy to burst when the water transmission is more, and the water transmission efficiency is greatly reduced when the water transmission is less. 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 rapidly 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, namely a packet pairing method and a packet grouping method. On the premise that the available network bandwidth of a network line between a client and a server cannot be known initially, a packet pair method is adopted to enable the client to send packets to the server based on different sending rates, the server compares the sending time interval and the receiving time interval, ascending order is carried out on absolute values of a plurality of differences, a packet pair corresponding to the absolute value of the difference of Top K is taken as a target packet pair (namely, the difference between the minimum sending time interval and the receiving time interval is taken as an ideal sending time interval), the estimated speed of the current network line is estimated based on the target packet pair, the parameters corresponding to the primarily estimated water pipe are equivalent, and the proper estimated speed is calculated to carry out water delivery in the water pipe.
And then, verifying the calculated estimated speed by adopting a packet method (namely, verifying whether the calculated estimated speed enables the water delivery efficiency of the water pipe to reach the optimal efficiency value). The packet pairing method can rapidly and preliminarily estimate the estimated speed of the network line under the condition of reducing the packet sending data quantity, can greatly improve the detection efficiency of the detection method of the embodiment, and combines the verification and correction of the estimated speed by the subsequent packet group method, so that the network bandwidth after the final correction is the available network bandwidth value of the network line between the client and the server.
Fig. 3 is a schematic flow chart of a network bandwidth detection method in an embodiment of the application.
Referring to fig. 3, a network bandwidth detection method is applied to a client, and includes the following steps:
step S311, a plurality of packet pairs are sent to the server, wherein the packet pairs at least comprise two data packets.
The related description of step S311 is referred to step S211, and will not be repeated here.
Step S312, receiving the estimated rate sent by the server, wherein the estimated rate is determined by the server after screening the qualified packet pair as the target packet pair.
The related description of step S312 is referred to step S212, and will not be repeated here.
Step S313, receiving the estimated rate sent by the server, and sending a packet group to the server by adopting the estimated rate, wherein the packet group comprises a plurality of data packets.
The related description of step S313 is referred to step S213, and will not be repeated here.
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.
The related description of step S314 is referred to steps S214 to S216, and will not be repeated here.
For a better understanding of the network bandwidth detection method of the present application, please refer to fig. 4, 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 by the interaction of the client and the server.
It should be noted that, the client establishes TCP/UDP with the server to perform probing. UDP (User Datagram Protocol) acts as a transport layer communication protocol providing a way for applications to send encapsulated IP packets without having to establish a connection. TCP (Transmission Control Protocol) is a connection-oriented, reliable, byte stream based transport layer communication protocol. In this embodiment, TCP is used to perform flow control, which includes that the client and the server mutually inform that the detection is accurate, the packet pair detection, the triggering of the packet group detection, and the final result calculation and reporting. The UDP is responsible for performing network bandwidth detection, packet pair detection, and packet group detection, all performed using UDP packets.
Shown in Table 1 are the packet types when the client interacts with the server
Table 1 packet type table
Stage of pack method
In step S411, the client sends a plurality of packet pairs to the server, where the packet pairs at least include two data packets, and the process goes to step S412.
When the client transmits the packet pair, the client adds corresponding transmission time stamps to two data packets in the packet pair respectively, wherein the transmission time stamps represent the transmission time of the data packets.
Step S412, the server receives a plurality of packet pairs sent from the client, and the process 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, and the receiving time stamps represent the receiving time of the data packets.
Step S413, the server determines a transmission time interval and a reception time interval of two data packets in each packet pair, and proceeds to step S414.
The transmission time interval and the reception time interval of the data packet can be determined based on the transmission time stamp and the reception time stamp. For example, the packet pair includes two data packets, the sending time stamps added to the two data packets by the client are S1 and S2, the receiving time stamps added to the two data packets by the server are J1 and J2, respectively, and the sending time interval= |sending time stamp S2-sending time stamp S1|, and the receiving time interval= |receiving time stamp J2-receiving time stamp J1|.
In step S414, the server takes the packet pair with the comparison result of the transmission time interval and the reception time interval meeting the condition as the target packet pair, and 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 sorting the absolute values of the time intervals to be screened, and screening out target packet pairs corresponding to the time intervals to be screened based on the sorting result.
For example, in the example of the present embodiment, the client transmits 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 and D5}, sorting the absolute values of the 5 difference values in an ascending order, 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 two digits before ranking as the target packet pair.
Step 415, the server determines the estimated rate by adopting a preset rate algorithm based on the target packet pair, and sends the estimated rate to the client, and the step 416 is entered.
The preset rate algorithm is specifically as follows: determining the corresponding rate to be confirmed of the target packet pair according to the size and the sending time interval of the single data packet of the target packet pair or the size and the receiving time interval of the single data packet; and carrying out average processing on the rate to be confirmed to obtain a predicted rate, and determining the bottleneck bandwidth of the network line according to the predicted rate.
For example, in the example of the embodiment, by selecting the target packet pair { N1, N2}, the server obtains the size of a single packet in the target packet pair (the size of the single packet may be obtained because the sizes of the two packets are the same), the transmission time interval, or the size and the reception time interval of the single packet in the target packet pair, to determine the rate to be acknowledged corresponding to the target packet pair. The specific formula is as follows: to-be-acknowledged rate = single packet size/transmission time interval or reception time interval. After the corresponding rates to be confirmed of the two target packet pairs are respectively determined, average processing is carried out on the two rates to be confirmed, and the estimated rate is determined.
Step S416, the client receives the estimated rate sent by the server, and proceeds to step S417.
Stage of pack method
In step S417, the client sends a packet group to the server by using the estimated rate, where the packet group includes a plurality of data packets, and the process proceeds to step S418.
Step S418, the server receives the packet group sent by the client, confirms the target rate corresponding to the packet group, determines the network bandwidth according to the target rate of the packet group, and proceeds to step S419.
For example, in the example of the present embodiment, the server receives a packet group sent by the client at the estimated rate, where the packet group includes 100 data packets { K1, K2, K3, … …, K100}. The server side obtains the size of a single data packet, determines the total data packet sum=100 of the packet group according to the size of the single data packet, and meanwhile, the server side also obtains 100 total data packet receiving duration, namely 100 total data packet receiving duration=100 receiving time stamp of the 100 th data packet received by the server side-1 receiving time stamp of the 1 st data packet received by the server side, and determines a target rate according to the total data packet sum and the total data packet receiving duration of the packet group, wherein the target rate=the total data packet sum/the total data packet receiving duration of the packet group, and the calculation of the target rate corresponding to the packet group is completed through the algorithm.
The network bandwidth is then determined based on the target rate. The value of the network bandwidth may be the 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 successfully received client, and proceeds to step S420.
Step S420, the server determines the packet loss rate according to the number of data packets contained in the packet group sent by the client and the number of data packets contained in the packet group successfully received by the client, and the step S421 is entered.
For example, in the example of this embodiment, the client sends a packet group including 100 data packets to the server, and the server successfully receives 99 data packets, and the number of lost data packets is 1, so that the packet loss rate= (the number of data packets included in the packet group sent by the client-the number of data packets included in the packet group successfully received by the client)/the number of data packets included in the packet group sent by the client = 1%.
Step S421, the network bandwidth is corrected by using the packet loss rate, and the process proceeds to step S422.
For example, in the example of the present embodiment, the packet loss rate=1%, and the corrected network bandwidth=the target rate before correction (1-packet loss rate).
Step S422, the server sends the corrected network bandwidth to the client.
Step S423, the client receives the network bandwidth sent by the server.
In summary, the bandwidth detection is performed by combining the packet pair with the packet group, and the advantages of the packet pair and the packet group are integrated. The bottleneck bandwidth sensing method based on the packet interval can effectively reduce the data volume of sending packets; the packet group method can effectively ensure 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 at the beginning, and finally, the result error is larger. The method is different from the traditional packet pairing method, the packet pairing method can adopt simpler packet sending intervals to try, the quantity of the packet sending intervals can be controlled, and when the traditional dichotomy method in the related technology detects the packet pairing method, the packet sending intervals are easy to cause to be unable to converge under the condition that the network fluctuates, so that the detection effect is reduced. The proposal of the method can be used independently because of small detection cost, and can also be embedded into a protocol for reference of congestion control.
Corresponding to the foregoing functional method embodiments, the present application further provides a service device, a terminal device, a network bandwidth detection system, and corresponding embodiments.
Fig. 5 shows a schematic structural diagram of a service device in an embodiment of the present application.
Referring to fig. 5, a service device 50 includes: packet reception module 510, screening module 520, packet reception module 530, bandwidth confirmation module 540, and transmission module 550.
The packet 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 from a client, the packet pair including two data packets having the same size, the difference being in transmission time and reception time. When the client transmits the packet pair, the client adds corresponding transmission time stamps to two data packets in the packet pair respectively, wherein the transmission time stamps represent the transmission time of the data packets. When the service device 50 receives the packet pair, similarly, the service device 50 adds corresponding reception time stamps to the two data packets in the packet pair, and the reception time stamps represent the reception times of the data packets.
The screening module 520 is configured to screen the packet pair meeting the condition as a target packet pair, determine an estimated rate of the target packet pair, 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 sorting the absolute values of the time intervals to be screened, and screening out target packet pairs corresponding to the time intervals to be screened based on the sorting result.
After the target packet pair is screened, the estimated rate can be determined by adopting a preset rate algorithm based on the target packet pair. The preset rate algorithm is specifically as follows: calculating the corresponding rate to be confirmed of the target packet pair according to the size and the sending time interval of the single data packet of the target packet pair or the size and the receiving time interval of the single data packet; and carrying out average 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 at a pre-estimated rate, where the packet group includes a number of data packets.
To verify the accuracy of the calculated estimated rate, the service device 50 receives a packet group from the client, where the packet group includes a number of data packets, sent at the estimated rate.
The bandwidth confirmation module 540 is configured to determine a target rate corresponding to the packet group, and determine the network bandwidth according to the target rate of the packet group.
The bandwidth confirmation module 540 determines the target rate according to the total data packet sum of the packet group and the total data packet receiving duration. The network bandwidth is then determined based on the target rate. The value of the network bandwidth may be the 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 according to another embodiment of the present application.
Referring to fig. 6, a service device 50 includes: packet reception module 510, screening module 520, packet reception module 530, bandwidth confirmation module 540, transmission module 550, and correction module 560.
The relevant functions of the packet receiving module 510, the filtering module 520, the packet receiving module 530 and the bandwidth confirming module 540 are described with reference to fig. 5, and are not repeated here.
The correction module 560 is configured to determine a packet loss rate of a data packet of the packet group, and correct 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 confirms the number of data packets included in the packet group sent by the client, and counts the number of data packets included in the packet group sent by the successfully received client. And calculating the packet loss rate according to the two parameters, wherein the packet loss rate is = (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: packet pair transmission module 710, rate reception module 720, packet group transmission module 730, and bandwidth reception module 740.
The packet pair sending module 710 is configured to send a plurality of packet pairs to the server, where the packet pairs include at least two data packets.
The packet pair includes two data packets, which are identical in size, except for the transmission time and the reception time. When the terminal device 70 transmits a packet pair, the terminal device 70 adds corresponding transmission time stamps to each of two data packets in the packet pair, and the transmission time stamps represent transmission times 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, and the receiving time stamps represent the receiving time 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 by the server after screening a packet pair that meets a 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 sorting the absolute values of the time intervals to be screened, and screening out target packet pairs corresponding to the time intervals to be screened based on the sorting result.
The packet group sending module 730 is configured to send a packet group to the server by using the estimated rate, where the packet group includes a plurality of data packets.
In order to verify the accuracy of the determined estimated rate, the server receives a packet group sent from the terminal device 70 using the estimated rate, where the packet group includes a plurality of data packets.
The bandwidth receiving module 740 is configured to receive a network bandwidth sent by the server, where the network bandwidth is determined according to a target rate corresponding to the 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. The network bandwidth is then determined based on the target rate.
According to the method, network bandwidth detection is carried out in a mode of combining the packet pair and the packet group, the advantages of the packet pair method and the packet group method are fully utilized to finish network bandwidth detection of a network circuit, the packet pair method can rapidly determine the estimated rate of a target packet pair based on the packet interval, the number of the packet sending intervals can be controlled, the data quantity of the packet sending can be effectively reduced, the packet group method is used for further detecting the network bandwidth according to the result obtained by the packet pair method, and the detection accuracy of the packet pair method can be effectively guaranteed, so that the network bandwidth can be accurately and rapidly detected.
In order to further ensure the accuracy of the target rate, the network bandwidth may be modified by using the packet loss rate, where the modified network bandwidth may be more accurate (before determining the packet loss rate, the server may determine the number of data packets included in the packet group sent by the terminal device 70 and count the number of data packets included in the packet group sent by the terminal device 70 successfully received.
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 network bandwidth detection system 80 includes: terminal device 810 and service device 820;
the terminal device 810 is configured to send a plurality of packet pairs to the service device 820, where the packet pairs include at least two data packets; receiving the estimated rate sent by the service device 820, and sending a packet group to the service device 820 by adopting the estimated rate, wherein the packet group comprises a plurality of data packets; receiving network bandwidth transmitted by the service device 820;
service device 820 is configured to receive a plurality of packet pairs transmitted from terminal device 810; screening the qualified packet pairs as target packet pairs, determining the estimated rate of the target packet pairs, and transmitting the estimated rate to the terminal device 810; the receiving terminal device 810 adopts a packet group sent at a predicted rate, wherein the packet group includes 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.
For the execution flow principle of the network bandwidth detection system 80, please refer to the related descriptions in fig. 1, fig. 2, fig. 3, and fig. 4, and the detailed description is omitted here.
The specific manner in which the respective modules and units perform the operations in the apparatus and the system in the above embodiments are described in detail in the method embodiments corresponding to the apparatus and the system, which 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 device 900 includes: the 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 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 rate of the target packet pairs, and sending the estimated rate to the client;
receiving a packet group sent by a client side by adopting a pre-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 performs determining the target rate corresponding to the packet group, the following steps are further performed:
determining the packet loss rate of data packets of a packet group, and correcting the network bandwidth by using the packet loss rate;
accordingly, the first processor 910 performs sending 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 of a packet pair that meets 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 sorting the absolute values of the time intervals to be screened, and screening out target packet pairs corresponding to the time intervals to be screened based on the sorting 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 determining, by the first processor 910, the estimated rate based on the target packet pair using a preset rate algorithm includes:
determining the corresponding rate to be confirmed of the target packet pair according to the size and the sending time interval of the single data packet of the target packet pair or the size and the receiving time interval of the single data packet;
and carrying out average value processing on the rate to be confirmed to obtain the estimated rate.
In other embodiments of the present application, the first processor 910 performs determining a target rate corresponding to a packet group, including:
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 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 by the server after screening a qualified packet pair as a target packet pair;
transmitting a packet group to a server by adopting the 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 according to the target rate after the server determines 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 part 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 non-transitory machine-readable storage medium or machine-readable storage medium) having stored thereon executable code (or a computer program or computer instruction code) 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 embodiments are focused on, and for those portions of one embodiment that are not described in detail, reference may be made to the related descriptions of other embodiments. Those skilled in the art will also appreciate that the 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 pruned according to actual needs, and the modules in the apparatus of the embodiment of the present application may be combined, divided and pruned according to actual needs.
The embodiments of the present application have been described above, the foregoing description is exemplary, not exhaustive, and not limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the various embodiments described. The terminology used herein was chosen in order to best explain the principles of the embodiments, the practical application, or the improvement of technology in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.

Claims (12)

1. The network bandwidth detection method is characterized by being applied to a server and comprising the following steps:
receiving a plurality of packet pairs sent by a client, wherein the packet pairs at least comprise two data packets;
screening a qualified packet pair as a target packet pair, determining the estimated rate of the target packet pair, and transmitting 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;
transmitting the determined network bandwidth to the client;
wherein the screening the packet pair meeting the condition as a target packet pair, determining the estimated rate of the target packet pair 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;
sorting absolute values of a plurality of time intervals to be screened, and screening out target packet pairs corresponding to the time intervals to be screened based on sorting results;
And determining the estimated rate by adopting a preset rate algorithm based on the target packet pair.
2. The method for detecting network bandwidth 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, further comprises:
determining the packet loss rate of the data packets of the packet group, and correcting the network bandwidth by utilizing 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 network bandwidth detection method according to claim 1, wherein the determining the estimated rate by using a preset rate algorithm based on the target packet pair includes:
determining a 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 average value processing on the rate to be confirmed to obtain the estimated rate.
4. The network bandwidth detection method according to claim 1, wherein 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.
5. A network bandwidth detection method, wherein the method is applied to a client, 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 by the server after screening a qualified packet pair as a target packet pair;
transmitting a packet group to the server by adopting the estimated rate, wherein the packet group comprises a plurality of data packets;
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;
the estimated rate is determined by determining a sending time interval and a 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, sorting absolute values of the plurality of time intervals to be screened, screening out a target packet pair corresponding to the time interval to be screened based on a sorting result, and determining by adopting a preset rate algorithm based on the target packet pair.
6. A service apparatus, comprising:
the packet receiving module is used for receiving a plurality of packet pairs sent by the client, wherein 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;
the packet group receiving module is used for receiving a packet group sent by the client by adopting the estimated rate, wherein the packet group comprises a plurality of data packets;
the bandwidth confirmation module is used for determining a target rate corresponding to the packet group and determining network bandwidth according to the target rate of the packet group;
a sending module, configured to send the determined network bandwidth to the client;
the screening module is further used for 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; sorting absolute values of a plurality of time intervals to be screened, and screening out target packet pairs corresponding to the time intervals to be screened based on sorting results; and determining the estimated rate by adopting a preset rate algorithm based on the target packet pair.
7. The service apparatus of claim 6, 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 utilizing the packet loss rate;
the sending module is used for sending the corrected network bandwidth to a client.
8. A terminal apparatus, 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;
the rate receiving module is used for receiving the estimated rate sent by the server, wherein the estimated rate is determined after the server screens the packet pairs meeting the conditions as target packet pairs;
the packet group sending module is used for sending a packet group to the server by adopting the estimated rate, wherein the packet group comprises a plurality of data packets;
the bandwidth receiving module is used for 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;
the estimated rate is determined by determining a sending time interval and a 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, sorting absolute values of the plurality of time intervals to be screened, screening out a target packet pair corresponding to the time interval to be screened based on a sorting result, and determining by adopting a preset rate algorithm based on the target packet pair.
9. A network bandwidth detection system, comprising: a terminal device and 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 rate sent by the service device, and adopting the estimated rate to send a packet group to the service device, 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 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; 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; transmitting the determined network bandwidth to the terminal device;
the service device is further used for 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; sorting absolute values of a plurality of time intervals to be screened, and screening out target packet pairs corresponding to the time intervals to be screened based on sorting results; and determining the estimated rate by adopting a preset rate algorithm based on the target packet pair.
10. A service apparatus, comprising: a first processor, a first memory storing instructions executable by the first processor, a first communication interface, and a first bus for connecting the first processor, the first memory, and the first communication interface; the network bandwidth detection method according to any of claims 1 to 4, when said instructions are executed by said first processor.
11. A terminal device, comprising: a second processor, a second memory storing instructions executable by the second processor, a second communication interface, and a second bus for connecting the second processor, the second memory, and the second communication interface; the network bandwidth detection method according to claim 5 is implemented when said instructions are executed by said second processor.
12. 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 any of claims 1 to 4 or claim 5.
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 CN115174429A (en) 2022-10-11
CN115174429B true 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 (24)

* 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
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
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

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9154396B2 (en) * 2013-03-14 2015-10-06 Arris Technology, Inc. Passive measurement of available link bandwidth
US11153192B2 (en) * 2020-02-29 2021-10-19 Hewlett Packard Enterprise Development Lp Techniques and architectures for available bandwidth estimation with packet pairs selected based on one-way delay threshold values

Patent Citations (24)

* 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
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
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
CN115174429A (en) 2022-10-11

Similar Documents

Publication Publication Date Title
CN105791054B (en) A kind of autonomous controllable reliable multicast transmission method realized based on flow point class
CN101404599B (en) Network fault detection method, primary device, slave device, control terminal and system
CN108833281A (en) A kind of message forwarding method and the network equipment
CN103947191A (en) Video reception terminal, home gateway device, quality management system, and quality deterioration isolation system
CN106357726A (en) Load balancing method and device
EP3821679A1 (en) Enabling functionality at a user plane function, upf, by a session management function, smf, in a telecommunication network
CN103595661A (en) Message fragmentation restructuring method and device
CN108353001A (en) Performance measurement in packet exchange communication network
CN110351388A (en) A kind of application method based on internet of things architecture system
CN109246189B (en) Network data distribution method and device, storage medium and server
CN102598598A (en) An apparatus for analyzing a data packet, a data packet processing system and a method
CN115174429B (en) Network bandwidth detection method, device, system, equipment and storage medium
EP1788756B1 (en) Apparatus and method for transmitting packets in wireless network
US20070174728A1 (en) Systems and methods for routing data in a network device
CN106452894A (en) Fault connection detection method and apparatus
EP1267522A2 (en) Network monitor system, data amount counting method and program for use in the system
CN101388848A (en) Flow recognition method combining network processor with general processor
RU2019131451A (en) COMMUNICATION METHOD
KR20190002557A (en) Performance measurement for multipoint packet flow
CN107104892A (en) The method and apparatus of network acceleration
KR20090128231A (en) Method for calculating transfer rate and method for setting bandwidth by using the same
CA2529599A1 (en) Method and apparatus for providing tandem connection, performance monitoring, and protection architectures over ethernet protocols
CN106302200B (en) A kind of method and interchanger handling network congestion
CN103684681B (en) Transmitting device and transmission method
CN112996031A (en) PPP link selection method and system

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