Network quality testing methods, apparatus, electronic devices and readable storage media
By setting the data transmission rate on network nodes and measuring network transmission parameters, the problem of insufficient data traffic for network quality testing in existing technologies is solved, enabling accurate quality assessment under bandwidth occupancy and ensuring that network nodes provide stable service under high load.
Patent Information
- Application Number
- CN202211396529.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-09
- Publication Date
- 2025-11-14
- Estimated Expiration
- 2042-11-09
AI Technical Summary
In existing technologies, network quality testing of network nodes involves relatively small data traffic, making it impossible to accurately assess network quality when bandwidth is occupied. This can lead to deterioration in network quality during actual service provision.
By determining the data transmission rate of the network node under test and actively transmitting data at that rate, network transmission parameters such as packet loss rate and round-trip time are measured to assess whether the network quality meets the requirements.
It enables accurate assessment of network quality under simulated bandwidth occupancy, ensuring that network nodes can meet service requirements under high load and avoiding network quality degradation in actual service.
Smart Images

Figure CN115865768B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of network technology, and more specifically, to network quality testing methods, apparatus, electronic devices, and readable storage media. Background Technology
[0002] With the development of network technology, more and more services are provided through the network. Various servers typically provide these services, and in addition to these servers, there are various network devices used to connect to them. These network devices and servers transmit large amounts of data every day. In the following text, all network devices and servers located in the network and transmitting data will be collectively referred to as network nodes.
[0003] For network nodes, their most important function is data transmission. In current technology, bandwidth is generally used to measure the speed at which a network node transmits data. Bandwidth refers to the maximum amount of data that can be transmitted per unit of time (usually 1 second). As a network resource, users can purchase bandwidth from operators according to their needs. For example, if a user provides video services through the network, they need to purchase bandwidth for the video server providing the video service. Considering the large amount of data transmitted in video, the bandwidth purchased for the video server needs to be relatively large. On the other hand, if a user provides web page services through the network, they need to purchase bandwidth for the web page server providing the web page service. Compared to video, web pages transmit relatively less data, therefore, the bandwidth purchased for the web page server can be smaller.
[0004] After purchasing the necessary bandwidth, network nodes can provide services using that bandwidth. Before providing services, network nodes typically need to be tested. This testing usually involves functional and stability testing to verify that the various functions provided by the server are implemented and stable. However, because the service is not opened to all customers during the testing phase, the data traffic on the network nodes is not very high. This means the network quality of the network node under large data volumes has not been truly tested, and users do not know how the network node's network quality will be under high bandwidth saturation. This leads to situations where, when the network node actually provides services and the data traffic on the network node increases significantly, the network quality deteriorates, severely impacting business operations. Summary of the Invention
[0005] This application provides a network quality testing method, apparatus, electronic device, and readable storage medium to at least solve the problem in the prior art where the data traffic is small when testing the network quality of network nodes, thus making it impossible to obtain the network quality when bandwidth is occupied to a certain extent.
[0006] According to one aspect of this application, a network quality testing method is provided, comprising: determining the data transmission rate of a network node to be tested; transmitting data from the network node to be tested at the rate; measuring network transmission parameters of the network node during the process of the network node transmitting data at the rate, wherein the network transmission parameters are used to indicate the network quality of the network node; and determining whether the network quality of the network node at the rate meets the requirements based on the network transmission parameters.
[0007] According to another aspect of this application, a network quality testing apparatus is also provided, comprising: a first determining module for determining the data transmission rate of a network node to be tested; a transmitting module for transmitting data from the network node to be tested at the stated rate; a measuring module for measuring network transmission parameters of the network node during the process of the network node transmitting data at the stated rate, wherein the network transmission parameters are used to indicate the network quality of the network node; and a second determining module for determining whether the network quality of the network node at the stated rate meets the requirements based on the network transmission parameters.
[0008] According to another aspect of this application, an electronic device is also provided, including a memory and a processor; wherein the memory is used to store one or more computer instructions, wherein the one or more computer instructions are executed by the processor to implement the above-described method steps.
[0009] According to another aspect of this application, a readable storage medium is also provided, on which computer instructions are stored, wherein the computer instructions, when executed by a processor, implement the above-described method steps.
[0010] In this embodiment, the method involves determining the data transmission rate of the network node under test; transmitting data from the network node under test at the stated rate; measuring the network transmission parameters of the network node during the data transmission process at the stated rate, wherein the network transmission parameters indicate the network quality of the network node; and determining whether the network quality of the network node at the stated rate meets the requirements based on the network transmission parameters. This application solves the problem in the prior art where the data traffic is too small when testing the network quality of a network node, thus making it impossible to obtain the network quality under conditions where bandwidth is partially occupied. It further enables the simulation of various bandwidth occupancy scenarios and tests whether the network quality meets the requirements under these scenarios. Attached Figure Description
[0011] The accompanying drawings, which form part of this application, are used to provide a further understanding of this application. The illustrative embodiments and descriptions of this application are used to explain this application and do not constitute an undue limitation of this application. In the drawings:
[0012] Figure 1 This is a schematic diagram of a system for performing network quality testing according to an embodiment of this application;
[0013] Figure 2 This is a flowchart of a network quality test according to an embodiment of this application;
[0014] Figure 3 This is a schematic diagram of the packet loss rate versus rate curve according to an embodiment of this application; and,
[0015] Figure 4 This is a schematic diagram illustrating data transmission and reception according to an embodiment of this application. Detailed Implementation
[0016] It should be noted that, unless otherwise specified, the embodiments and features described in this application can be combined with each other. This application will now be described in detail with reference to the accompanying drawings and embodiments.
[0017] It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions, and although a logical order is shown in the flowchart, in some cases the steps shown or described may be executed in a different order than that shown here.
[0018] The technical terms used in the following embodiments will be explained first.
[0019] User Datagram Protocol
[0020] User Datagram Protocol, abbreviated as UDP, is a connectionless transport layer protocol that provides a simple, unreliable, transaction-oriented message delivery service. Both UDP and Transmission Control Protocol (TCP) reside in the transport layer. Unlike UDP, TCP is a connection-oriented, reliable communication protocol. A reliable communication protocol means that after the sender sends a message to the receiver, the receiver sends an acknowledgment message to confirm receipt. An unreliable communication protocol, however, does not care whether the receiver has received the message; that is, after the sender sends the message, the sender cannot know whether the message has completely reached the receiver. Because UDP is an unreliable communication protocol, UDP messages lack fields for reliability guarantees, order guarantees, and flow control. Due to the fewer fields in UDP, compared to TCP, it has lower latency and higher data transmission efficiency during data transmission, making it suitable for applications with lower reliability requirements. Furthermore, UDP is widely used in applications that emphasize transmission performance, such as audio and video transmission.
[0021] Internet Protocol
[0022] The Internet Protocol, or IP for short, is a network layer protocol in the TCP / IP architecture. IP stipulates that every device on a network must have a unique IP address. Every IP data packet must contain the IP address of the destination device for the packet to be correctly delivered to its destination. All network devices using IP must have at least one unique IP address.
[0023] Internet Control Message Protocol
[0024] The Internet Control Message Protocol (ICMP) is a sub-protocol of the TCP / IP protocol suite used to transmit control messages between IP hosts and routers. Control messages are network-related messages indicating network connectivity, host reachability, and route availability. While these control messages do not transmit user data, they can probe the network status between the sender and receiver of user data. There are approximately ten defined ICMP message types, each encapsulated within an IP packet. Response requests and timestamps are two types of ICMP messages, which will be explained separately below.
[0025] Response Request: Ping, the most frequently used ping by network maintenance personnel, involves response requests (Type=8) and responses (Type=0). A network node sends a Type=8 ICMP message to another node. If there are no anomalies en route (e.g., the message is dropped by a router, the target does not respond to ICMP, or the transmission fails), the target returns a Type=0 ICMP message, indicating that the network node exists. Timestamp: Timestamp request messages (Type=13) and timestamp response messages (Type=14) are used to test the round-trip transmission time of a datagram between two nodes. During transmission, the sending node fills in the original timestamp, and the receiving node, upon receiving the request, fills in the received timestamp and returns it in a Type=14 message format. The sending node calculates the time difference based on the timestamp entered in the received message.
[0026] Packet loss rate
[0027] Packet loss rate, or simply loss, refers to the ratio of lost data to total data sent during a test. Packet loss occurs in all normal network environments; therefore, as long as the packet loss rate does not exceed a threshold, the network quality is considered acceptable.
[0028] Round trip delay
[0029] Round-Trip Time (RTT) is an important performance metric in computer networks. It represents the total time elapsed from when the sender transmits data to when the sender receives an acknowledgment of that data from the receiver. A lower RTT indicates higher network quality.
[0030] Network Nodes
[0031] A network node is a device connected to a network capable of sending or receiving data. A node can be a workstation, network user, or personal computer, as well as a server, printer, and other network-connected devices. Every workstation, server, terminal device, network device, etc., that has a network address can be considered a network node. The entire network is composed of these numerous network nodes; connecting these nodes with communication lines constitutes the network. With technological advancements, network nodes can also be virtual nodes based on virtual resources, such as virtual machines provided on the network. Therefore, any device, virtual device, or service that has a network address and can perform network communication can be considered a network node.
[0032] Figure 1 This is a schematic diagram of a system for performing network quality testing according to an embodiment of this application. Figure 1In this network, servers 1 through N form a cluster providing services, such as video or web services. Users own servers 1 through N, having purchased bandwidth for them from their internet service provider. Terminal devices can access this server cluster (hereinafter referred to as servers) via the network, and the server cluster sends corresponding data to the terminal devices, all of which consume the bandwidth purchased by the user. Before servers 1 through N officially provide services, testing is required; these servers are the network nodes to be tested. Of course, other types of network nodes can also be used for testing, which will not be elaborated upon here.
[0033] In existing technologies, testing is performed on the node to be tested (i.e., Figure 1 The testing environment is used to test the functions provided by the server in the system. However, functional testing alone is not sufficient. This is because the biggest difference between the test environment and the official launch is that after the official launch, the server will provide services to multiple terminal devices. At this time, the server will send a large amount of data to these terminal devices. In this case, whether the network provided by the operator will have quality problems (such as whether the bandwidth is sufficient) also needs to be tested.
[0034] As an alternative testing method, a large number of terminal devices can simultaneously retrieve data from the server. This causes the server to consume a significant amount of bandwidth to send data to the terminal devices. For example, in the case of a web server, numerous terminal devices or other network nodes can send GET requests to the server, and the server responds to each GET request by sending data to the requester. This method requires a large number of terminal devices or other network nodes, making it difficult to set up a test environment. Furthermore, it is difficult to control the rate at which the server sends data, resulting in inaccurate testing. Another testing method involves directly switching real access traffic to the server, allowing the server to directly provide a large amount of data to the users. While this method allows the server to send a large amount of data, because it directly provides data to real users, any problems will already impact the users.
[0035] To address the aforementioned problems, a network quality testing method is provided in the following implementation. Figure 2 This is a flowchart of a network quality test according to an embodiment of this application. Figure 2The method involves having the network node under test actively send data, thereby occupying its bandwidth. During this data transmission, parameters characterizing network quality are measured to determine whether the network quality meets requirements when the bandwidth of the tested network node is partially or fully occupied by the transmission rate. For example... Figure 2 As shown below, Figure 2 The steps included in the method are explained.
[0036] Step S202: Determine the data transmission rate of the network node to be tested.
[0037] In this step, the data transmission rate can be determined based on testing needs. For example, the data transmission rate of similar network nodes under test during peak access periods can be statistically analyzed historically. This rate can then be used to transmit data, simulating the performance of the network node under test during peak access times. As another example, for network nodes providing video services, the average data transmission rate of network nodes during a predetermined type of live stream can be obtained. This rate can then be used to control the data transmission of the network node under test. This data transmission rate can simulate the traffic of network nodes during daily live streams and further determine whether the network quality provided under this traffic condition still meets the quality requirements.
[0038] Step S204: Send data from the network node to be tested at the stated rate.
[0039] Figure 1 The diagram illustrates an exemplary network architecture where servers 1 through N form a server cluster, which represents the network nodes to be tested in the steps described above. Execution Figure 2 The main body of each step can be Figure 1 The control unit in the network can be a server in the operations and maintenance center, or a program running on other network nodes. There are no restrictions here, as long as it can communicate with the network node being tested. Figure 2 The execution entity for each step, such as the control unit, can also be installed in... Figure 1 This is an application within a server cluster. The control unit can determine the rate at which the network node under test sends data, and can control the network node under test to send data at the determined rate when testing is required.
[0040] When sending data, it can be sent to multiple data recipients. It should be noted that... Figure 1Although the diagram shows some terminal devices receiving data, the data receiver is not limited to these. In a network, as long as the corresponding destination IP address (i.e., the receiver's IP address) is included in the data being sent to form a data packet, the data can be sent through the network. TCP protocol data packets can be sent, which require the receiver to send an acknowledgment message after receiving the data packet. Therefore, the network node under test should ideally include the IP address of the receiver capable of correctly processing the data packet when sending it. As another option, UDP packets are based on unreliable transmission. Figure 2 The method illustrated aims to test network quality by consuming a portion or all of the bandwidth of the network node under test. In other words, as long as data packets can be sent from the network node under test, whether or not the packets are correctly received does not affect the test. Therefore, considering the characteristics of UDP, controlling the network node under test to send UDP packets at a predetermined rate in this step is a better choice. This is because the receiver of UDP packets does not send acknowledgment messages, thus the network node under test does not need to process these acknowledgment messages additionally.
[0041] Step S206: During the process of the network node under test sending data at the rate, the network transmission parameters of the network node are measured, wherein the network transmission parameters are used to indicate the network quality of the network node.
[0042] There are many parameters used to characterize network quality, such as packet loss rate and round-trip time (RTT). A higher packet loss rate and a higher RTT both indicate poorer network quality. Packet loss rate can be obtained using the ping command. The ping command sends an ICMP type 8 response request from the network node under test to at least one receiver. If an ICMP type 0 response is received, the ICMP packet is considered intact; otherwise, it is lost. After continuously sending ICMP type 8 response requests for a period of time, the packet loss rate can be calculated. This method is called ping packet loss rate. Packet loss rate can also be tested by sending TCP packets from the network node under test. The node sends TCP packets to at least one receiver. If no acknowledgment message is received, the TCP packets are considered lost. After a period of statistical analysis, the packet loss rate can be calculated. This method of calculating packet loss rate is called TCP packet loss rate.
[0043] Round-trip time (RTD) can also be obtained using ICMP. The network node under test sends an ICMP type 13 timestamp request message to at least one receiver, and then receives an ICMP type 14 timestamp acknowledgment message from the receiver. The timestamps in these two messages can be used to calculate the round-trip transmission time of a datagram between the network node under test and the receiver. In practice, at least one of packet loss rate and RTD can be chosen to determine network quality as needed. Of course, other network transmission parameters can also be used to determine network quality, which will not be elaborated upon here.
[0044] Round-trip time (RTT) is related to the location of the receiver, so RTT can be measured under various conditions. For example, the RTT generated when a network node sends data to a network address belonging to the same geographical region, and / or the RTT generated when a network node sends data to a network address not belonging to the same geographical region. The geographical region referred to here can be different provinces or different cities, etc. The RTT generated when sending data to different network addresses may be different; for example, the RTT sent to other provinces may have a larger RTT, while the RTT sent to the same province may have a smaller RTT. Therefore, corresponding RTT requirements can be determined for different data receiver network addresses for use in the network quality assessment in step S208.
[0045] Step S208: Determine whether the network quality of the network node meets the requirements at the specified rate based on the network transmission parameters.
[0046] Network quality requirements can be predetermined, with conditions set for each network parameter. Meeting these conditions indicates that the network quality meets the requirements. These requirements can also be flexibly adjusted; for example, they can differ for different types of network nodes being tested, or for different time periods. In this step, different speeds can correspond to different network quality requirements. For instance, if the speed exceeds a first threshold, condition A is met, and the network quality is considered to meet the requirements; if the speed exceeds a second threshold, condition B is met, and so on.
[0047] In the above steps, by sending data from the network node under test at a certain rate, the working conditions of the network node in a real-world scenario can be simulated. Then, the network quality is tested during the data transmission process of the network node under test, which can provide a relatively accurate assessment of the network quality. Therefore, the above steps solve the problem in the prior art where the data traffic is too small when testing the network quality of a network node, making it impossible to obtain the network quality under conditions where bandwidth is occupied to a certain extent. This allows for the simulation of various bandwidth occupancy scenarios and the testing of whether the network quality meets the requirements under these scenarios.
[0048] It should be noted that the bandwidth of the network node under test is generally fixed. For example, the owner of the network node under test may have purchased 1000 Mbps of bandwidth from an operator. When selling this bandwidth, the operator will promise certain network quality, such as a packet loss rate of no more than 1% when the bandwidth is 90% utilized. In this case, the bandwidth and the network quality promised by the operator can be used for testing. In this optional implementation, determining the data transmission rate of the network node under test may include the following steps: obtaining the bandwidth of the network node under test; determining the data transmission rate based on the bandwidth of the network node under test, wherein the rate is less than or equal to the bandwidth. In this example, the operator promised a packet loss rate when the bandwidth is 90% utilized. Therefore, 90% of the bandwidth can be used as the data transmission rate, i.e., 1000 Mbps * 90% = 900 Mbps.
[0049] In another alternative implementation, if the operator does not provide corresponding network quality data, network quality can be tested at multiple rates. Determining the data transmission rate based on the bandwidth can include the following steps: determining multiple data transmission rates based on the bandwidth, wherein the multiple rates include: a first rate to an Nth rate, increasing sequentially from the first rate to the Nth rate, where the Nth rate is less than or equal to the bandwidth; measuring the network transmission parameters of the network node can include the following steps: during the sequential transmission of data using the first rate to the Nth rate, measuring and saving the network transmission parameters corresponding to each of the multiple rates. For example, if 10 data transmission rates need to be tested, representing 10%, 20%, and up to 100% of the bandwidth, the data transmission rates would be 100 Mbps, 200 Mbps, and up to 1000 Mbps. In another example, the difference between the transmission rates of different data types does not need to be constant; the smaller the difference, the closer it is to the bandwidth. For example, the following transmission rates for obtaining network transmission parameters can be determined: 100 Mbps, 500 Mbps, 800 Mbps, 900 Mbps, 950 Mbps, 980 Mbps, and 1000 Mbps. Considering that the bandwidth is not fully utilized, the difference in network transmission parameters should not be significant. As the bandwidth is gradually occupied, the network transmission parameters will change considerably. Therefore, this rate layout is beneficial for obtaining more accurate network quality.
[0050] After testing at multiple rates to obtain the network transmission parameters for each rate, it can be determined whether the network meets the requirements at each rate. In one optional implementation, determining whether the network quality of the network node meets the requirements at a given rate based on the network transmission parameters may include the following steps: comparing the value of the network transmission parameter corresponding to each rate with a pre-obtained numerical range; if the value of the network transmission parameter falls within the numerical range, it is determined that the network quality of the network node meets the requirements at that rate; if the value of the network transmission parameter does not fall within the numerical range, it is determined that the network quality of the network node does not meet the requirements at that rate. In an optional approach, the pre-obtained numerical range may be obtained by testing when the network node is idle. When the network node is idle, its bandwidth is not occupied, and the network transmission parameters obtained under these conditions best represent the network quality requirements.
[0051] In the above example, the packet loss rates for 100 Mbps, 500 Mbps, 800 Mbps, 900 Mbps, 950 Mbps, 980 Mbps, and 1000 Mbps can be obtained respectively, and then it can be determined which rates meet the network quality requirements. It should be noted that different rates can correspond to the same packet loss rate or different packet loss rates. For example, if the packet loss rate at 100 Mbps, 500 Mbps, and 800 Mbps is less than 1%, the network quality is considered acceptable; if the packet loss rate at 900 Mbps and 950 Mbps is less than 3%, the network quality is considered acceptable; and if the packet loss rate at 980 Mbps and 1000 Mbps is less than 5%, the network quality is considered acceptable, and so on.
[0052] In another example, the intervals between the data transmission rates of the network nodes under test can be smaller. For example, starting from 100 Mbits per second, the network transmission parameter values can be measured at intervals of 5 Mbits per second, up to 1000 Mbits per second. This allows for obtaining network transmission parameter values for many different rates. These values can then be plotted as curves. Points where the values on the curve suddenly change (e.g., the difference between two points exceeds a threshold; or the slope of the curve at a point can also indicate a trend, with a slope exceeding a threshold suggesting a sudden change in data) can be identified. The rate value corresponding to that point is then obtained. At this rate value, it indicates that the network transmission quality has begun to deteriorate, and the rate corresponding to that point can be taken as the maximum rate that allows the network node to meet the required network quality. Figure 3 This is a schematic diagram of the packet loss rate versus rate curve according to an embodiment of this application, as shown below. Figure 3 As shown, with the rate of data transmission (at Figure 3 As the bandwidth (also known as the water level) increases, the Ping packet loss rate and TCP packet loss rate also increase. It is important to note that at 22:00, the slope of the Ping packet loss rate and TCP packet loss rate curves suddenly increased, corresponding to a data transmission rate of 75% of the bandwidth. This indicates that the network quality is reliable before 75% of the bandwidth is occupied, but becomes unreliable after 75% of the bandwidth is occupied. Figure 3 The packet loss rate in the internal network can be understood as Figure 1 The packet loss rate between servers is called the intranet packet loss rate because these servers are on an intranet. Since the transmission of data between servers on the intranet does not consume bandwidth, the intranet packet loss rate does not change significantly.
[0053] Figure 3In the process, after determining whether the network quality of the network node meets the requirements at the specified rate based on the network transmission parameters, the method further includes: obtaining the maximum rate that meets the quality requirements. It should be noted that if the data transmission rate exceeds the maximum rate, the network quality cannot be guaranteed. Therefore, in actual use, the bandwidth usage of the network node should preferably not exceed the maximum rate, that is, the maximum rate can be used as the actual bandwidth of the network node that meets the quality requirements. Figure 3 The actual bandwidth meeting quality requirements is 75% of the bandwidth provided by the operator. It's important to note that the safety threshold is the bandwidth usage promised by the operator to guarantee network quality; that is, network quality is guaranteed when 85% of the bandwidth is occupied. However, tests show that network quality significantly declines after 75% bandwidth is used, which is still some distance from the operator's promised 85%. In another implementation, the maximum speed can be compared with the bandwidth of the network node to determine the difference between the maximum speed and the bandwidth. Through these implementations, not only can network quality be obtained, but also the maximum amount of bandwidth required to maintain network quality. By comparing the tested values with the operator's promised values, it can be discovered whether the network bandwidth actually provided by the operator is less than the actual sold bandwidth, leading to serious quality changes when the bandwidth is not reached.
[0054] In the above optional implementation, network quality is tested by having the network node under test send data to occupy bandwidth. Typically, bandwidth can be divided into uplink bandwidth and downlink bandwidth. For the network node under test, the bandwidth used for sending data is the downlink bandwidth, and the bandwidth used for receiving data is the uplink bandwidth. Since the network node provides services externally, its downlink bandwidth is more important. The above implementation mainly tests network quality when downlink bandwidth is occupied. To avoid interfering with other users when the network node under test sends data, it can send data to unused network addresses. Sending data from the network node under test at the specified rate can include the following steps: searching for unused network addresses; selecting one or more network addresses from the found unused network addresses; and sending data from the network node to the one or more network addresses at the specified rate. Sending data to unused IP addresses avoids interfering with other network nodes during the test. These unused IP addresses can belong to the same network operator, and sending data to unused IP addresses within the same network operator ensures the data transmission rate. To further prevent interference with other users, selecting one or more network addresses from the found network addresses may include: obtaining information about the owner of the network node; and selecting one or more network addresses belonging to the owner from the found network addresses based on the owner's information. In this way, the network node under test uses its own IP address for testing, completely avoiding interference with other users.
[0055] It should be noted that although these IP addresses are unused, they still have their own uplink bandwidth. In an optional implementation, when there are multiple network addresses, sending data from the network node to multiple network addresses according to the rate may include the following steps: obtaining the uplink bandwidth of each of the multiple network addresses, where the uplink bandwidth is the bandwidth for receiving data at that network address; determining the rate for sending data to each network address based on the proportion of the uplink bandwidth of each network address to the sum of the uplink bandwidths of the multiple network addresses; and sending data from the network node to each network address according to the rate for sending data to each network address. In this optional approach, a self-owned node belonging to the same network operator as the network node under test is selected as the target node (i.e., the data receiver). Then, the target node is analyzed to find unused IP addresses, and the IP address distribution of the target target node is calculated according to the bandwidth weight of the self-owned node. Data is sent to each target target node through a UDP quantitative and targeted packet sending program, so that the UDP data puts a certain amount of pressure (e.g., 85%) on the egress of the network node under test. Then, evaluate the trends of RTT and Loss before and after the UDP stress test. If there is a significant change in quality, find the quality inflection point by adjusting the stress test intensity (i.e., the rate at which data is sent) and evaluate the node overselling ratio, which is the ratio between the actual usable bandwidth and the bandwidth promised by the operator.
[0056] In addition, the total bandwidth of the selected target addresses that need to receive data must be N times the bandwidth of the node under test. The optimal value of N is greater than or equal to 3, with no upper limit requirement. This ensures that the network node where the network address receiving the data is located will not have any problems.
[0057] Figure 4 This is a schematic diagram illustrating data transmission and reception according to an embodiment of this application, such as... Figure 4 As shown, the downlink bandwidth of the network node under test is 200Gbps (bits per second). Assuming 95% downlink bandwidth is used, the data transmission rate is 190Gbps. The uplink bandwidths of the five receivers are 40Gbps, 80Gbps, 60Gbps, 100Gbps, and 160Gbps, respectively. Based on the proportion of uplink bandwidth, the data transmission rates to these five receivers are 17.3Gbps, 34.5Gbps, 25.9Gbps, 43.2Gbps, and 69.1Gbps, respectively. Figure 4 The method shown can better utilize the uplink bandwidth of each receiver.
[0058] In the above implementation, stress testing is achieved by having the network node under test send data itself. This involves the network node actively sending packets outwards to fill the egress bandwidth to a certain percentage (e.g., 95%), and then observing the trend of ping command metrics over a long period. This implementation allows for precise control of the bandwidth congestion ratio by controlling the data transmission rate, thus enabling the determination of the reasonable bandwidth for the quality inflection point. Different time periods can be selected for testing as needed. Data can be sent as long as the correct target IP address is entered. Even if the target IP address is unassigned, it does not affect the stress test because entering the correct IP address ensures that traffic reaches the egress route of the network node under test. The entire stress test process does not require actual access traffic and will not affect service provision due to node problems.
[0059] In this embodiment, an electronic device is provided, including a memory and a processor. The memory stores a computer program, and the processor is configured to run the computer program to perform the methods described in the above embodiments.
[0060] The aforementioned program can run on a processor or be stored in memory (or computer-readable medium). Computer-readable medium includes both permanent and non-permanent, removable and non-removable media, and information storage can be achieved by any method or technology. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable medium does not include transient computer-readable media, such as modulated data signals and carrier waves.
[0061] These computer programs may also be loaded onto a computer or other programmable data processing equipment, causing a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes can be implemented using different modules, and different steps can be implemented using different modules.
[0062] This embodiment provides such an apparatus. The apparatus, referred to as a network quality testing apparatus, includes: a first determining module for determining the data transmission rate of a network node under test; a transmitting module for transmitting data from the network node under test at the stated rate; a measuring module for measuring network transmission parameters of the network node during the data transmission process at the stated rate, wherein the network transmission parameters indicate the network quality of the network node; and a second determining module for determining, based on the network transmission parameters, whether the network quality of the network node at the stated rate meets the requirements.
[0063] The system or apparatus is used to implement the functions of the methods in the above embodiments. Each module in the system or apparatus corresponds to each step in the method, as has been described in the method and will not be repeated here.
[0064] Optionally, the first determining module is configured to obtain the bandwidth of the network node to be tested; and determine the data transmission rate based on the bandwidth of the network node to be tested, wherein the rate is less than or equal to the bandwidth.
[0065] Optionally, the first determining module is configured to determine multiple data transmission rates based on the bandwidth, wherein the multiple rates include: a first rate to an Nth rate, which increases sequentially from the first rate to the Nth rate, and the Nth rate is less than or equal to the bandwidth; the measuring module is configured to measure and save the network transmission parameters corresponding to each of the multiple rates during the process of transmitting data sequentially using the first rate to the Nth rate.
[0066] Optionally, the second determining module is used to compare the value of the network transmission parameter corresponding to each rate with a pre-obtained numerical range; if the value of the network transmission parameter falls within the numerical range, it is determined that the network quality of the network node meets the requirements at that rate; if the value of the network transmission parameter does not fall within the numerical range, it is determined that the network quality of the network node does not meet the requirements at that rate.
[0067] Optionally, the pre-obtained data range is obtained through testing when the bandwidth of the network node is not occupied.
[0068] Optionally, the apparatus further includes: a processing module, configured to compare the maximum rate with the bandwidth of the network node; and determine the difference between the maximum rate and the bandwidth.
[0069] Optionally, the network transmission parameters include at least one of the following: packet loss rate, round-trip time, wherein the round-trip time includes at least one of the following: the round-trip time generated when the network node sends data to a network address belonging to the same geographical region, the round-trip time generated when the network node sends data to a network address not belonging to the same geographical region; and / or, the network node under test sends the data via User Datagram Protocol.
[0070] Optionally, the sending module is used to find unused network addresses; obtain information about the owner of the network node, and select one or more network addresses belonging to the owner from the found unused network addresses based on the owner's information; and send the data from the network node to the one or more network addresses at the rate specified.
[0071] Optionally, the sending module is configured to, when there are multiple network addresses, obtain the uplink bandwidth of each of the multiple network addresses, wherein the uplink bandwidth is the bandwidth for receiving data at that network address; determine the rate at which data is sent to each network address based on the proportion of the uplink bandwidth of each network address in the sum of the uplink bandwidths of the multiple network addresses; and send data from the network node to each network address according to the rate at which data is sent to each network address.
[0072] The above implementation method solves the problem in the prior art that when testing the network quality of network nodes, the data traffic is too small, making it impossible to obtain the network quality under the condition that the bandwidth is occupied to a certain extent. It can simulate various situations where the bandwidth is occupied and test whether the network quality meets the requirements under various situations where the bandwidth is occupied.
[0073] The above are merely embodiments of this application and are not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.
Claims
1. A network quality testing method, comprising: The target node is identified as a self-owned node belonging to the same network operator as the network node to be tested, and the unused IP address in the target node is identified as the target IP address. The data transmission rate is determined based on the bandwidth corresponding to the target IP address; Data is sent from the network node under test to the target IP address via UDP at the stated rate; During the process of the network node under test sending data to the target IP address via UDP at the specified rate, the network transmission parameters of the network node are measured, wherein the network transmission parameters are used to indicate the network quality of the network node. Based on the network transmission parameters, determine whether the network quality of the network node meets the requirements at the given rate.
2. The method according to claim 1, wherein, Determining the data transmission rate of the network node under test includes: Obtain the bandwidth of the network node to be tested; The rate at which the data is sent is determined based on the bandwidth of the network node to be tested, wherein the rate is less than or equal to the bandwidth.
3. The method according to claim 2, wherein, Determining the data transmission rate based on the bandwidth includes: determining multiple data transmission rates based on the bandwidth, wherein the multiple rates include: a first rate to an Nth rate, which increases sequentially from the first rate to the Nth rate, and the Nth rate is less than or equal to the bandwidth; Measuring the network transmission parameters of the network node includes: measuring and saving the network transmission parameters corresponding to each of the plurality of rates during the process of sending data sequentially using the first rate to the Nth rate.
4. The method according to claim 3, wherein, Determining whether the network quality of the network node meets the requirements at the given rate based on the network transmission parameters includes: The values of the network transmission parameters corresponding to each rate are compared with a pre-obtained range of values. If the value of the network transmission parameter falls within the pre-obtained range of values, the network quality of the network node at that rate is determined to meet the requirements. If the value of the network transmission parameter does not fall within the pre-obtained range of values, the network quality of the network node at that rate is determined to not meet the requirements.
5. The method according to claim 4, wherein, The pre-obtained numerical range was obtained through testing under the condition that the bandwidth of the network node was not occupied.
6. The method according to claim 4, wherein, After determining whether the network quality of the network node meets the requirements at the stated rate based on the network transmission parameters, the method further includes: Obtain the maximum speed that meets the stated quality requirements; The maximum rate is compared with the bandwidth of the network node obtained; Determine the difference between the maximum rate and the bandwidth.
7. The method according to any one of claims 1 to 6, wherein, The network transmission parameters include at least one of the following: packet loss rate, round-trip time; wherein the round-trip time includes at least one of the following: the round-trip time incurred when the network node sends data to a network address belonging to the same geographical region, the round-trip time incurred when the network node sends data to a network address not belonging to the same geographical region; and / or, The network node under test sends the data via the User Datagram Protocol (UDP).
8. The method according to any one of claims 1 to 6, wherein, Sending the data from the network node under test at the said rate includes: Find unused network addresses; Obtain the owner information of the network node, and select one or more network addresses belonging to the owner from the found unused network addresses based on the owner information; The data is sent from the network node to the one or more network addresses at the stated rate.
9. The method according to claim 8, wherein, When there are multiple network addresses, sending the data from the network node to the multiple network addresses according to the rate includes: Obtain the uplink bandwidth of each of the plurality of network addresses, wherein the uplink bandwidth is the bandwidth for receiving data at that network address; The rate at which data is sent to each network address is determined based on the proportion of the uplink bandwidth of each network address to the sum of the uplink bandwidths of the multiple network addresses. Data is sent from the network node to each network address according to the rate at which data is sent to each network address.
10. A network quality testing device, comprising: The first determining module is used to determine a self-owned node belonging to the same network operator as the network node to be tested as a target node, and to determine an unused IP address in the target node as a target IP address to determine the data transmission rate of the network node to be tested; and to determine the data transmission rate based on the bandwidth corresponding to the target IP address. The sending module is used to send data from the network node to be tested to the target IP address via UDP at the said rate. The measurement module is used to measure the network transmission parameters of the network node during the process of the network node under test sending data to the target IP address via UDP at the rate, wherein the network transmission parameters are used to indicate the network quality of the network node. The second determining module is used to determine whether the network quality of the network node meets the requirements at the given rate based on the network transmission parameters.
11. An electronic device comprising a memory and a processor; wherein, The memory is used to store one or more computer instructions, wherein the one or more computer instructions are executed by the processor to implement the steps of the method according to any one of claims 1 to 9.
12. A readable storage medium having computer instructions stored thereon, wherein, When executed by a processor, the computer instructions implement the steps of the method described in any one of claims 1 to 9.
Citation Information
Patent Citations
Bandwidth measurement method and device, computer readable storage medium and computer equipment
CN109921962A
Network node acceptance method and system
CN111200537A