CN116155823A - Network congestion data processing method, device, system and computer equipment - Google Patents

Network congestion data processing method, device, system and computer equipment Download PDF

Info

Publication number
CN116155823A
CN116155823A CN202111402603.0A CN202111402603A CN116155823A CN 116155823 A CN116155823 A CN 116155823A CN 202111402603 A CN202111402603 A CN 202111402603A CN 116155823 A CN116155823 A CN 116155823A
Authority
CN
China
Prior art keywords
window
information
current
data
initial
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111402603.0A
Other languages
Chinese (zh)
Inventor
叶君宏
金峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202111402603.0A priority Critical patent/CN116155823A/en
Publication of CN116155823A publication Critical patent/CN116155823A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

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

Abstract

The application relates to a network congestion data processing method, a device, a system, computer equipment and a storage medium, wherein the method comprises the following steps: acquiring an initial data packet which is sent by data sending equipment and carries initial window information and initial window adjustment information; updating historical window statistical information based on the initial window information to obtain current window statistical information; obtaining current window adjustment information based on the current load information, the current window statistical information and the initial window information; updating the initial data packet based on the current window adjustment information to obtain a middle data packet, and sending the middle data packet to the data receiving equipment; the intermediate data packet carries target window adjustment information determined based on the current window adjustment information and the initial window adjustment information; and transmitting a response data packet which is returned from the data receiving device and carries the target window adjustment information to the data transmitting device, so that the data transmitting device adjusts the congestion window based on the target window adjustment information. By adopting the method, the window adjustment accuracy can be improved.

Description

Network congestion data processing method, device, system and computer equipment
Technical Field
The present disclosure relates to the field of computer technologies, and in particular, to a method, an apparatus, a system, a computer device, and a storage medium for processing network congestion data.
Background
With the development of computer technology, more and more data is transmitted over a network, and the network environment becomes more complex and variable. If too much data needs to be transmitted in the network, network transmission performance is reduced due to limited network bandwidth resources, and network congestion occurs.
In the conventional technology, the congestion window is usually adjusted based on the transmission delay of the data packet in the network. However, window adjustment based solely on transmission delay may result in inaccurate congestion window adjustment.
Disclosure of Invention
In view of the foregoing, it is desirable to provide a network congestion data processing method, apparatus, system, computer device, and storage medium capable of improving accuracy of congestion window adjustment.
A network congestion data processing method applied to a data transfer device, the method comprising:
acquiring an initial data packet sent by data sending equipment; the initial data packet carries initial window information and initial window adjustment information;
updating historical window statistical information based on the initial window information to obtain current window statistical information;
Obtaining current window adjustment information based on the current load information, the current window statistical information and the initial window information;
updating the initial data packet based on the current window adjustment information to obtain a middle data packet, and sending the middle data packet to data receiving equipment; the intermediate data packet carries target window adjustment information determined based on the current window adjustment information and the initial window adjustment information;
and transmitting a response data packet which is returned from the data receiving device and carries the target window adjustment information to the data transmitting device so that the data transmitting device adjusts a congestion window based on the target window adjustment information.
A network congestion data processing apparatus, the apparatus comprising:
the data packet acquisition module is used for acquiring an initial data packet sent by the data sending equipment; the initial data packet carries initial window information and initial window adjustment information;
the window statistics module is used for updating historical window statistics information based on the initial window information to obtain current window statistics information;
the window adjustment information determining module is used for obtaining current window adjustment information based on the current load information, the current window statistical information and the initial window information;
The data packet updating module is used for updating the initial data packet based on the current window adjustment information to obtain a middle data packet, and sending the middle data packet to data receiving equipment; the intermediate data packet carries target window adjustment information determined based on the current window adjustment information and the initial window adjustment information;
and the data packet sending module is used for sending a response data packet which is returned from the data receiving equipment and carries the target window adjustment information to the data sending equipment so that the data sending equipment can adjust the congestion window based on the target window adjustment information.
A computer device comprising a memory storing a computer program and a processor which when executing the computer program performs the steps of:
acquiring an initial data packet sent by data sending equipment; the initial data packet carries initial window information and initial window adjustment information;
updating historical window statistical information based on the initial window information to obtain current window statistical information;
obtaining current window adjustment information based on the current load information, the current window statistical information and the initial window information;
Updating the initial data packet based on the current window adjustment information to obtain a middle data packet, and sending the middle data packet to data receiving equipment; the intermediate data packet carries target window adjustment information determined based on the current window adjustment information and the initial window adjustment information;
and transmitting a response data packet which is returned from the data receiving device and carries the target window adjustment information to the data transmitting device so that the data transmitting device adjusts a congestion window based on the target window adjustment information.
A computer readable storage medium having stored thereon a computer program which when executed by a processor performs the steps of:
acquiring an initial data packet sent by data sending equipment; the initial data packet carries initial window information and initial window adjustment information;
updating historical window statistical information based on the initial window information to obtain current window statistical information;
obtaining current window adjustment information based on the current load information, the current window statistical information and the initial window information;
updating the initial data packet based on the current window adjustment information to obtain a middle data packet, and sending the middle data packet to data receiving equipment; the intermediate data packet carries target window adjustment information determined based on the current window adjustment information and the initial window adjustment information;
And transmitting a response data packet which is returned from the data receiving device and carries the target window adjustment information to the data transmitting device so that the data transmitting device adjusts a congestion window based on the target window adjustment information.
A network congestion data processing method applied to a data transmitting device, the method comprising:
acquiring an initial data packet; the initial data packet carries initial window information and initial window adjustment information;
transmitting the initial data packet to a data transfer device, so that the data transfer device transmits the initial data packet to a data receiving device;
acquiring a response data packet returned by the data receiving equipment; the response data packet carries target window adjustment information; the target window adjustment information is determined by the data transfer equipment based on current window adjustment information and initial window adjustment information, the current window adjustment information is obtained based on current load information, current window statistical information and the initial window information, and the current window statistical information is obtained by updating historical window statistical information based on the initial window information;
And adjusting the current congestion window based on the target window adjustment information to obtain a target congestion window.
A network congestion data processing apparatus, the apparatus comprising:
the initial data packet acquisition module is used for acquiring an initial data packet; the initial data packet carries initial window information and initial window adjustment information;
the initial data packet sending module is used for sending the initial data packet to the data transfer equipment so that the data transfer equipment sends the initial data packet to the data receiving equipment;
the response data packet acquisition module is used for acquiring a response data packet returned by the data receiving equipment; the response data packet carries target window adjustment information; the target window adjustment information is determined by the data transfer equipment based on current window adjustment information and initial window adjustment information, the current window adjustment information is obtained based on current load information, current window statistical information and the initial window information, and the current window statistical information is obtained by updating historical window statistical information based on the initial window information;
and the window adjusting module is used for adjusting the current congestion window based on the target window adjusting information to obtain a target congestion window.
A computer device comprising a memory storing a computer program and a processor which when executing the computer program performs the steps of:
acquiring an initial data packet; the initial data packet carries initial window information and initial window adjustment information;
transmitting the initial data packet to a data transfer device, so that the data transfer device transmits the initial data packet to a data receiving device;
acquiring a response data packet returned by the data receiving equipment; the response data packet carries target window adjustment information; the target window adjustment information is determined by the data transfer equipment based on current window adjustment information and initial window adjustment information, the current window adjustment information is obtained based on current load information, current window statistical information and the initial window information, and the current window statistical information is obtained by updating historical window statistical information based on the initial window information;
and adjusting the current congestion window based on the target window adjustment information to obtain a target congestion window.
A computer readable storage medium having stored thereon a computer program which when executed by a processor performs the steps of:
Acquiring an initial data packet; the initial data packet carries initial window information and initial window adjustment information;
transmitting the initial data packet to a data transfer device, so that the data transfer device transmits the initial data packet to a data receiving device;
acquiring a response data packet returned by the data receiving equipment; the response data packet carries target window adjustment information; the target window adjustment information is determined by the data transfer equipment based on current window adjustment information and initial window adjustment information, the current window adjustment information is obtained based on current load information, current window statistical information and the initial window information, and the current window statistical information is obtained by updating historical window statistical information based on the initial window information;
and adjusting the current congestion window based on the target window adjustment information to obtain a target congestion window.
A network congestion data processing system, the system comprising:
the data transmission equipment is used for acquiring an initial data packet and transmitting the initial data packet to the data transfer equipment; the initial data packet carries initial window information and initial window adjustment information;
The data transfer device is used for updating the initial data packet based on the current window adjustment information to obtain a middle data packet, and sending the middle data packet to the data receiving device; the intermediate data packet carries target window adjustment information determined based on current window adjustment information and initial window adjustment information, the current window adjustment information is obtained based on current load information, current window statistical information and the initial window information, and the current window statistical information is obtained based on the initial window information by updating historical window statistical information;
the data sending device is further used for obtaining a response data packet which is returned by the data receiving device and carries the target window adjustment information, and adjusting a congestion window based on the target window adjustment information.
According to the network congestion data processing method, the device, the system, the computer equipment and the storage medium, the data transfer equipment obtains an initial data packet sent by the data sending equipment, the initial data packet carries initial window information and initial window adjustment information, historical window statistical information is updated based on the initial window information to obtain current window statistical information, current load information, current window statistical information and initial window information are based on the current window statistical information, the initial data packet is updated based on the current window adjustment information to obtain a middle data packet, the middle data packet is sent to the data receiving equipment, the middle data packet carries target window adjustment information determined based on the current window adjustment information and the initial window adjustment information, the data transfer equipment sends a response data packet which is returned from the data receiving equipment and carries the target window adjustment information to the data sending equipment, and the data sending equipment adjusts congestion windows based on the target window adjustment information. In this way, when window adjustment information is calculated, historical window statistics information can reflect window average values of other data packets, current window statistics information can reflect window average values of all data packets, current load information can reflect current network state, initial window information can reflect window size of data transmission equipment, window information and current network state of all current data packets are comprehensively considered based on current load information, current window statistics information and initial window information, the window adjustment information is helpful for improving accuracy and fairness of window adjustment, so that different data packets and data streams can reach fairness state when network congestion is improved, and after response data packets are received by data transmission equipment, current congestion window can be accurately adjusted based on the latest acquired window adjustment information.
Drawings
FIG. 1 is an application environment diagram of a network congestion data processing method in one embodiment;
FIG. 2 is a flow chart of a method of processing network congestion data in one embodiment;
FIG. 3 is a schematic diagram of the structure of a data packet in one embodiment;
fig. 4 is a flow chart of a method for processing network congestion data in another embodiment;
FIG. 5 is a schematic diagram of a network congestion data processing method in one embodiment;
FIG. 6 is a flow diagram of a network congestion data processing system in one embodiment;
FIG. 7 is a timing diagram of a method of processing network congestion data in one embodiment;
FIG. 8 is a schematic diagram of the architecture of a data center network in one embodiment;
figure 9A is a schematic diagram of simulation results of a conventional congestion control algorithm in one embodiment;
fig. 9B is a schematic diagram of simulation results of a conventional congestion control algorithm in another embodiment;
FIG. 9C is a schematic diagram of simulation results of a congestion control algorithm of the present application in one embodiment;
FIG. 10 is a block diagram of a network congestion data processing apparatus in one embodiment;
FIG. 11 is a block diagram of a network congestion data processing apparatus in one embodiment;
FIG. 12 is an internal block diagram of a computer device in one embodiment;
Fig. 13 is an internal structural view of a computer device in one embodiment.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the present application will be further described in detail with reference to the accompanying drawings and examples. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the present application.
Cloud technology (Cloud technology) refers to a hosting technology for integrating hardware, software, network and other series resources in a wide area network or a local area network to realize calculation, storage, processing and sharing of data.
Cloud computing (closed computing) refers to the delivery and usage mode of an IT infrastructure, meaning that required resources are obtained in an on-demand, easily scalable manner through a network; generalized cloud computing refers to the delivery and usage patterns of services, meaning that the required services are obtained in an on-demand, easily scalable manner over a network. Such services may be IT, software, internet related, or other services. Cloud Computing is a product of fusion of traditional computer and network technology developments such as Grid Computing (Grid Computing), distributed Computing (Distributed Computing), parallel Computing (Parallel Computing), utility Computing (Utility Computing), network storage (Network Storage Technologies), virtualization (Virtualization), load balancing (Load balancing), and the like.
With the development of the internet, real-time data flow and diversification of connected devices, and the promotion of demands of search services, social networks, mobile commerce, open collaboration and the like, cloud computing is rapidly developed. Unlike the previous parallel distributed computing, the generation of cloud computing will promote the revolutionary transformation of the whole internet mode and enterprise management mode in concept.
Big data (Big data) refers to a data set which cannot be captured, managed and processed by a conventional software tool within a certain time range, and is a massive, high-growth-rate and diversified information asset which needs a new processing mode to have stronger decision-making ability, insight discovery ability and flow optimization ability. With the advent of the cloud age, big data has attracted more and more attention, and special techniques are required for big data to effectively process a large amount of data within a tolerant elapsed time. Technologies applicable to big data include massively parallel processing databases, data mining, distributed file systems, distributed databases, cloud computing platforms, the internet, and scalable storage systems.
The scheme provided by the embodiment of the application relates to cloud technology, and is specifically described through the following embodiments:
The network congestion data processing method provided by the application can be applied to an application environment shown in figure 1. Wherein the data transmitting device 102 communicates with the data relay device 104 via a network, and the data relay device 104 communicates with the data receiving device 106 via a network. The data transmitting device 102 may acquire an initial data packet, and transmit the initial data packet to the data relay device 104, where the initial data packet carries initial window information and initial window adjustment information. The data relay device 104 updates the history window statistics based on the initial window information to obtain current window statistics, and obtains current window adjustment information based on the current load information, the current window statistics, and the initial window information. The data relay device 104 updates the initial data packet based on the current window adjustment information to obtain a middle data packet, where the middle data packet carries the target window adjustment information determined based on the initial window adjustment information and the current window adjustment information. The data relay device 104 transmits the intermediate data packet to the data receiving device 106. The data receiving apparatus 106 generates a response packet carrying the target window adjustment information, and transmits the response packet to the data transmitting apparatus 102 through the data relay terminal 104. The data transmitting device 102 obtains target window adjustment information from the response data packet, and adjusts the current congestion window based on the target window adjustment information to obtain a target congestion window.
The data transmitting device 102, the data transferring device 104, and the data receiving device 106 may be terminals or servers. The terminal may be, but not limited to, various personal computers, notebook computers, smartphones, tablet computers, vehicle-mounted terminals and portable wearable devices, and the server may be implemented by a stand-alone server or a server cluster or cloud server composed of a plurality of servers. It will be appreciated that there may be at least one data transmitting device, at least one data relay device, and at least one data receiving device. The data transmitting device may transmit data packets to different data receiving devices, and the data receiving device may also receive data packets transmitted by different data transmitting devices, where the same data packet may reach the data receiving device through at least one data transfer device.
In one embodiment, the data forwarding device may be a network forwarding device such as a switch, router, or the like.
In one embodiment, as shown in fig. 2, a network congestion data processing method is provided, which is described by taking the application of the method to the data relay device in fig. 1 as an example, and includes the following steps:
Step S202, obtaining an initial data packet sent by data sending equipment; the initial data packet carries initial window information and initial window adjustment information.
The initial data packet is a data packet generated and transmitted by the data transmitting device and is used for transmitting data to the data receiving device. The data packet sent by the data sending device may be used to request to obtain information from the data receiving device, or may be used to actively send information to the data receiving device.
The window information is used to describe the window size of the congestion window. The initial window information is used to describe the congestion window size of the data transmission device when generating and transmitting the data packet. The window adjustment information is used to describe the adjustment magnification of the congestion window. The initial window adjustment information refers to initialized window adjustment information, and an adjustment magnification with no adjustment effect or little adjustment effect can be used as the initial window adjustment information, for example, the initial window adjustment information can be 1, and when the adjustment magnification is 1, the original congestion window is kept unchanged. It will be appreciated that the initial window information and the initial window adjustment information may be placed in the header portion of the data packet or in the body portion of the data packet.
Specifically, after determining the data to be transmitted and the receiver, the data transmitting device may generate an initial data packet, further send the initial data packet to the network, and finally transmit the initial data packet to the data receiving device through the data transfer device in the network, where after receiving the initial data packet, the data receiving device returns a response data packet to the data transmitting device, so as to indicate that the initial data packet is successfully received. The data transmitting device is an initial sender of an initial data packet, the data receiving device is a target receiver of the initial data packet, and the data transferring device is a forwarding device passing in the transmission process of the initial data packet. In the data transmission process, the data transfer device in the network can receive an initial data packet sent by the data sending device, wherein the initial data packet carries initial window information and initial window adjustment information.
In one embodiment, referring to fig. 3, a header recording window information and window adjustment information may be embedded after a standard header, which may be 32 bits in length, before transmitting an initial data packet. The header recording the window information and the window Adjustment information is shown as AH (Adjustment Header) in fig. 3, in which 16 bits are used to record the window information, i.e., W, and the other 16 bits are used to record the window Adjustment information, i.e., AR (Adjustment Ratio). ETH (related information for recording ethernet protocol), IP (related information for recording IP protocol), UDP (related information for recording UDP protocol), payload (Payload for recording key information), conventional structure of data packet, conventional components. It will be appreciated that the length of W and AR in AH may be represented by 8 bits, 6 bits, etc., AH may be represented by 16 bits, 8 bits, etc., and the position of AH may be in the header or in the body. It will be appreciated that W and AR may not be immediately adjacent. In one embodiment, the unit of W may be 16 bytes, and the range of expression is 16×1-65535=16-1048560 bytes. When a data packet is sent from the sending end, W may be set as: w=cwnd/16 (CWND units in bytes, CWND representing the actual size of the congestion window). Further, the magnification 1 may be mapped to 512 and the ar may be initialized to 512.
Step S204, updating the historical window statistical information based on the initial window information to obtain the current window statistical information.
The window statistical information is obtained by counting initial window information of a plurality of data packets. The historical window statistics are obtained by counting the initial window information in the received data packet before the initial data packet is received, for example, the historical window statistics may be an arithmetic average value, a weighted average value, and the like of each initial window information. The historical window statistical information can reflect the average level of initial window information of each data packet received by the data transfer device at the historical time, and the historical window statistical information can also reflect the average window level of most data streams and data transmission links because the data packets are related to the data streams and the data transmission links. The current window statistical information is obtained by fusing initial window information and historical window statistical information, and can reflect the average level of the initial window information of each data packet received by the data transfer equipment from the past to the present and can reflect the average level of the windows of all current data streams and data transmission links.
Specifically, after receiving the initial data packet, the data transfer device may update the historical window statistics based on the initial window information, and fuse the initial window information with the historical window statistics to obtain the current window statistics fused with the initial window information of all the data packets currently received. In the merging, an arithmetic average value of the initial window information and the history window statistical information may be calculated, or a weighted average value of the initial window information and the history window statistical information may be calculated.
Step S206, obtaining current window adjustment information based on the current load information, the current window statistical information and the initial window information.
The load information is used for describing the load conditions of the data transmission link and the network, and the load information can be specifically represented by load rate and load capacity. The current load information refers to load information corresponding to the current time period, and is used for representing the current time period and even network load conditions from the current time period to the future. It will be appreciated that the larger the current load information, the more congested the network.
The current window adjustment information is window adjustment information calculated based on the current load information, the current window statistics information, and the initial window information. It can be understood that the current window adjustment information integrates current load information reflecting network load conditions, current window statistical information reflecting window average levels of all data packets so far and initial window information reflecting a window of a transmitting end, and window adjustment based on the window adjustment information is beneficial to balancing window sizes among different data streams while improving network congestion conditions.
Specifically, after the data transfer device acquires the initial data packet, current load information may be acquired, current window adjustment information may be calculated based on the current load information, the current window statistics information, and the initial window information, for example, a ratio of the initial window information to the current window statistics information may be calculated, the current window adjustment information may be obtained based on the ratio and the initial window information, a difference between the initial window information and the current window statistics information may be calculated, and the current window adjustment information may be obtained based on the difference and the initial window information. The data transfer device may calculate the current window adjustment information based on the current load information, the current window statistics information, and the initial window information according to a custom formula or algorithm.
In one embodiment, the data relay device may acquire at least one data of a data reception amount, a data transmission amount, and a data queuing variation amount of the current time period to calculate the current load information. It can be understood that the data receiving amount, the data sending amount and the data queuing variation amount can reflect the network condition to a certain extent, for example, if the network is relatively congested, more data is accumulated on the data transfer device, and the data amount which can be received by the data transfer device is relatively less in a certain time, so that if the data receiving amount is relatively less, the current network congestion can be reflected. If the network is congested, the data transfer device can send less data in a certain time, so that if the data sending amount is less, the congestion of the current network can be reflected. If the network is congested, the data accumulated on the data transfer device is reduced slowly, and the data queuing variation in the data transfer device is less in a certain time, so that if the data queuing variation is less, the congestion of the current network can be reflected. The data transfer device can calculate the current load information based on at least one data of the data receiving amount, the data transmitting amount and the data queuing variation according to a self-defined formula or algorithm. The data transfer device may calculate the current network load based on at least one data of the data receiving amount, the data transmitting amount, and the data queuing variable amount in the current time period, and then calculate the current load information based on the current network load and the reference network load. The current network load is an actual network load, the reference network load is an ideal network load, and the current load information calculated based on the current network load and the reference network load can be used for representing the load rate.
It may be appreciated that the data relay device may calculate the current load information in advance before receiving the initial data packet, for example, the data relay device periodically calculates the load information, and after receiving the initial data packet, uses the load information that has been calculated newly as the current load information. The data relay device may also calculate the current load information immediately after receiving the initial data packet, for example, the data relay device may calculate the load information as the current load information based on the relevant data obtained by statistics in the current time period, with the time period with the receiving time as the time end as the current time period after receiving the initial data packet.
Step S208, updating the initial data packet based on the current window adjustment information to obtain a middle data packet, and sending the middle data packet to the data receiving equipment; the intermediate data packet carries target window adjustment information determined based on the current window adjustment information and the initial window adjustment information.
After the initial window adjustment information and the current window adjustment information are obtained, the data transfer device can determine target window adjustment information based on the initial window adjustment information and the current window adjustment information, and replace the initial window adjustment information in the initial data packet with the target window adjustment information, so that the intermediate data packet is obtained. For example, the data relay device may directly replace the initial window adjustment information in the initial data packet with the current window adjustment information to obtain the intermediate data packet, directly use the current window adjustment information as the target window adjustment information, and may also compare the current window adjustment information with the initial window adjustment information, and determine the target window adjustment information from the current window adjustment information and the initial window adjustment information according to the comparison result. The data transfer device sends the intermediate data packet carrying the target window adjustment information to the data receiving device, the data receiving device generates a response data packet after receiving the intermediate data packet, and returns the response data packet to the data sending device, wherein the response data packet also carries the target window adjustment information.
Step S210, transmitting the response data packet carrying the target window adjustment information returned from the data receiving apparatus to the data transmitting apparatus, so that the data transmitting apparatus adjusts the congestion window based on the target window adjustment information.
The congestion window is a slidable window on the data sending end and is used for controlling the sending speed of the data packet. For example, the congestion window may control the number of concurrent bytes at the data sender, and control the packet transmission rate based on the number of concurrent bytes.
Specifically, the data relay device may acquire the response data packet returned by the data receiving device, and forward the response data packet to the data transmitting device. The data sending device can extract the target window adjusting information from the obtained response packet, adjust the congestion window according to the target window adjusting information, dynamically adjust the congestion window according to the congestion degree of the network, and avoid the network from having more serious congestion conditions. The data sending device may determine a window adjustment parameter based on the target window adjustment information, adjust a current congestion window based on the window adjustment parameter to obtain a target congestion window, and control a speed of a subsequent sending data packet through the target congestion window. For a specific procedure of adjusting the congestion window, reference may be made to related embodiments of a network congestion data processing method applied to the data transmission apparatus.
In one embodiment, the reply packet may not carry window information, but may also carry preset meaningless window information, for example, W in the reply packet is set to 0. And if the data transfer equipment receives the data packet with w=0, directly ignoring the data packet, and not updating window adjustment information in the data packet.
In the network congestion data processing method, the data transfer device obtains the current window statistical information by obtaining the initial data packet sent by the data sending device, wherein the initial data packet carries initial window information and initial window adjustment information, updates historical window statistical information based on the initial window information, obtains the current window statistical information, obtains the current window adjustment information based on the current load information, the current window statistical information and the initial window information, updates the initial data packet based on the current window adjustment information, obtains the middle data packet, sends the middle data packet to the data receiving device, and the middle data packet carries the target window adjustment information determined based on the current window adjustment information and the initial window adjustment information. In this way, when window adjustment information is calculated, historical window statistics information can reflect window average values of other data packets, current window statistics information can reflect window average values of all data packets, current load information can reflect current network state, initial window information can reflect window size of data transmission equipment, window information and current network state of all current data packets are comprehensively considered based on current load information, current window statistics information and initial window information, the window adjustment information is helpful for improving accuracy and fairness of window adjustment, so that different data packets and data streams can reach fairness state when network congestion is improved, and after response data packets are received by data transmission equipment, current congestion window can be accurately adjusted based on the latest acquired window adjustment information.
In one embodiment, updating historical window statistics based on initial window information to obtain current window statistics includes:
the attention weight corresponding to the initial window information and the historical window statistical information is obtained; the attention weight corresponding to the initial window information is smaller than the attention weight corresponding to the historical window statistical information; based on the attention weight corresponding to the initial window information and the historical window statistical information, fusing the initial window information and the historical window statistical information to obtain the current window statistical information.
Specifically, the data relay device may perform weighted summation on the initial window information and the historical window statistical information to obtain the current window statistical information. Because the data transfer device continuously receives the data packets sent by each sending end, the data transfer device usually receives a large number of other data packets before receiving the initial data packet, and more window information is fused based on the historical window statistical information obtained by counting the initial window information of the received data packet, when the weighted summation is performed after receiving the initial data packet, the attention weight corresponding to the historical window statistical information can be larger than the attention weight corresponding to the initial window information. The data transfer device can fuse the initial window information and the historical window statistical information based on the attention weight corresponding to the initial window information and the historical window statistical information to obtain the current window statistical information. The specific value of the attention weight can be set as required.
In one embodiment, different transfer ports may be disposed on the data transfer device, where the transfer ports have a corresponding relationship with the data flow and the data transmission link, and the initial data packet corresponding to a certain data transmission link may be forwarded through a specific transfer port to ensure network order, so that the historical window statistics information counted by the target transfer port corresponding to the initial data packet may be updated based on the initial window information, thereby obtaining the current window statistics information.
In one embodiment, the calculation formula for the current window statistics is as follows:
W m =W m′ *(1-η)+W*η
wherein W is m Representing current window statistics, W m′ Representation ofHistorical window statistics, W represents initial window information, eta represents attention weight corresponding to the initial window information, 1-eta represents attention weight corresponding to the historical window statistics, eta<1-η。
In one embodiment, the attention weight corresponding to the initial window information may be determined based on the number of data packets received by the data relay device during a preset period of time. For example, the ratio of the preset parameter to the number of data packets received in the preset time period is used as the attention weight corresponding to the initial window information. In one embodiment, the preset parameter may be 1, and the preset period may be set as a data Round Trip delay (RTT) when the network is idle, i.e. a Round-Trip Time (Round Trip delay). For example, η=1/(number of packets acquired within one network idle RTT). The attention weight corresponding to the initial window information is determined based on the number of data packets received in the network idle RTT, so that the window statistical information can be quickly converged to the average value of all data stream windows flowing through the data transfer equipment, and the window statistical information can be quickly converged to the average value of all data stream windows flowing through the target transfer port of the data transfer equipment.
In the above embodiment, based on the attention weights corresponding to the initial window information and the historical window statistics information, the current window statistics information is obtained by fusing the initial window information and the historical window statistics information, and the attention weight corresponding to the initial window information is smaller than the attention weight corresponding to the historical window statistics information, so that the accuracy of the current window statistics information can be improved, the accuracy of the current window adjustment information can be further improved, and the accuracy of the congestion window adjustment can be improved.
In one embodiment, obtaining current window adjustment information based on current load information, current window statistics, and initial window information includes:
obtaining window proportion based on the ratio of the initial window information and the current window statistical information; and fusing the current load information and the window proportion to obtain current window adjustment information.
Specifically, when calculating the current window adjustment information, the data transfer device may calculate a ratio of the initial window information to the current window statistics information, calculate a ratio of the current window to the average window to obtain a window ratio, and then fuse the current load information and the window ratio to obtain the current window adjustment information, for example, take a product of the current load information and the window ratio as the current window adjustment information.
In one embodiment, the calculation formula for the current window adjustment information is as follows:
Figure BDA0003364565090000151
PL=L*64
wherein FAR represents current window adjustment information, W represents initial window information, W m Representing current window statistics, L represents current load information, which may also be referred to as load factor. It can be understood that, since the data carried by the data packet is binary data, the calculated load rate is a floating point number, and in order to place the load rate into the data packet, the floating point number needs to be converted into the corresponding binary data. For example, if the PL length is 8 bits, the calculated load factor L may be amplified by 64 times and then the integer part may be taken as the current load information, and of course, other multiples, such as 128 times or 100 times, may be also amplified. The magnification may be determined specifically based on the bit length of PL.
In the above embodiment, the window proportion is obtained based on the ratio of the initial window information and the current window statistical information, and the current load information and the window proportion are fused to obtain the current window adjustment information. Thus, the current window adjustment information is an innovative index of comprehensive efficiency and fairness, and reflects not only the current load state, but also the relative sizes of the flows where the current data packet is located to all average flow values, and window adjustment can be performed based on the current window adjustment information so that windows (bandwidth allocation) of all flows can reach the fairness state, and meanwhile, the network bandwidth reaches the highest utilization rate.
In one embodiment, the acquisition of the current load information includes the steps of:
obtaining the current network load based on the data transmission quantity and the data queuing variation quantity of the target transfer port corresponding to the initial data packet in the current time period; the target transfer port is a port used for sending the data packet on the data transfer equipment; and obtaining current load information based on the current network load and the reference network load of the target transfer port in the current time period.
The current time period refers to the currently used data statistics and monitoring time period. The current time period may be a time period including the current time, or may be a historical time period closest to the current time, for example, periodically counting the relevant data of the port, and counting the relevant data at regular intervals, and then the current time period may be a time period in which data statistics is performed last time, and the current load information is calculated by using the data obtained by the last statistics. It will be appreciated that the data statistics may be taken in a periodic statistical manner or may be taken in an unscheduled statistical manner. The time length of the current time period may be set as needed.
Different transfer ports can be arranged on the data transfer equipment, different transfer ports can correspond to different data transmission links, and different data transmission links can also correspond to the same transfer port. Different data transmission links may be used to transmit data to different data recipients, and different data transmission links may also transmit data to data recipients based on different transmission protocols. The data packets transmitted on the same data transmission link may include the same quintuple information, which specifically includes a source IP address, a source port, a destination IP address, a destination port, and a transport layer protocol. The source IP address represents an IP address of the data transmission device, the source port represents a transmission port of the data transmission device for transmitting the data packet, the destination IP address represents an IP address of the data reception device, and the destination port represents a reception port of the data reception device for receiving the data packet. The target transfer port is a port on the data transfer device for transmitting the data packet, specifically, a port on the data transfer device for transmitting the initial data packet, and the target transfer port is a port on the data transmission link for performing data transfer on the initial data packet.
The data transmission amount of the target transit port in the current time period refers to a data packet statistical value transmitted from the target transit port of the data transit device in the current time period, and the data packet statistical value is obtained by counting the data packet transmitted from the target transit port of the data transit device in the current time period, for example, the number of bytes, the number of bits, the number of data packets and the like transmitted by the target transit port in the current time period can be counted.
The data queuing variable quantity of the target transfer port in the current time period refers to the queuing variable quantity of the data packet in the target transfer port, wherein the data queuing variable quantity is obtained by carrying out statistical analysis on the queuing variable condition of the data packet in the target transfer port, for example, the data height variable quantity, the data packet quantity variable quantity and the like of a queuing team can be counted. It can be understood that the data transfer device is responsible for forwarding a large number of data packets in the network, and the data packets need to be queued in order and sent out in order in the data transfer device due to the limited capability of the data transfer device and the order of data forwarding. Different transfer ports are arranged on the data transfer equipment, and data packets transmitted on different data transmission links need to be queued and sent in the corresponding transfer ports. The data transfer device continuously transmits the data packets, and if the data queuing variable quantity is reduced, the network state is improved, the idle state and the underload state are changed, and if the data queuing quantity is increased, the network state is deteriorated, and the busy state and the overload state are changed.
The current network load amount refers to the data amount actually born and loaded by the target transfer port in the network in the current time period. The reference network load amount refers to the amount of data that the target transit port can bear and load in the network of the current time period. The reference network load can be determined according to port attribute information of the target transit port, wherein the port attribute information is used for describing basic attributes and basic capabilities of the port. The port attribute information can be set manually in advance according to actual needs.
Specifically, after the data transfer device obtains the initial data packet, a target transfer port corresponding to the initial data packet may be determined according to specific information of the initial data packet, so as to obtain a data transmission amount and a data queuing variation amount of the target transfer port, which are obtained through statistics in a current time period, and calculate a current network load amount based on the data transmission amount and the data queuing variation amount, for example, calculate a sum of the data transmission amount and the data queuing variation amount as a current network load amount, and calculate a weighted sum of the data transmission amount and the data queuing variation amount as a current network load amount. The data transfer device can calculate the current network load based on the data transmission amount and the data queuing variation according to a self-defined formula or algorithm. Further, the data transfer device needs to acquire the reference network load capacity of the target transfer port in the current time period, calculate current load information based on the current network load capacity and the reference network load capacity, for example, calculate a ratio of the current network load capacity to the reference network load capacity as the current load information, calculate a difference between the current network load capacity and the reference network load capacity, and obtain the current load information based on the ratio of the difference to the reference network load capacity. The data transfer device may calculate the current network load based on the current network load and the reference network load according to a self-defined formula or algorithm.
In one embodiment, the length of time of the current time period may be set to the network idle RTT. Setting the current time period as the network idle RTT can enable the data transfer equipment to update the load information in time, and the timeliness of the load information is guaranteed.
In the above embodiment, when calculating the current load information, the data transmission amount may reflect the current network state of the target transfer port, the data queuing variation amount may reflect the variation trend of the network state, the reference network load amount may reflect the reference network state, the current load information calculated based on the data transmission amount, the data queuing variation amount and the reference network load amount may reflect the current to future comprehensive network state of the target transfer port, the accuracy of the load information is higher, and the current window adjustment information calculated based on such load information is helpful for reducing data accumulation in the network during window adjustment, and improving the network bandwidth utilization.
In one embodiment, obtaining the current network load based on the data transmission amount and the data queuing variation of the target transit port corresponding to the initial data packet in the current time period includes:
acquiring an initial queuing height and a target queuing height of a target transfer port in a current time period; based on the difference between the initial queuing height and the target queuing height, obtaining data queuing variable quantity, and merging the data queuing variable quantity and the data transmission quantity to obtain intermediate network load; and obtaining the current network load based on the intermediate network load and the target queuing height.
The initial queuing height refers to the queuing height in the target transit port at the starting time of the current time period. The target queuing height refers to the queuing height in the target transit port at the end time of the current time period. The queuing height may reflect the amount of data queued.
Specifically, the data transfer device may acquire an initial queuing height and a target queuing height of the target transfer port in the current time period, and use a difference value between the initial queuing height and the target queuing height as a data queuing variable quantity, and may reflect a change trend of the port network state through a first-order difference of the queuing heights. The data transfer device merges the calculated data queuing variable amount and the calculated data transmission amount, for example, takes the sum of the data queuing variable amount and the data transmission amount as an intermediate network load amount, and takes the weighted sum of the data queuing variable amount and the data transmission amount as the intermediate network load amount. The data transfer device may directly use the intermediate network load as the current network load. However, considering that the existing data accumulation amount in the target transit port may also affect the current and future network states, the data transit device may further obtain the current network load amount based on the intermediate network load amount and the target queuing height, for example, taking the sum of the intermediate network load amount and the target queuing height as the current network load amount and taking the weighted sum of the intermediate network load amount and the target queuing height as the current network load amount. It can be appreciated that the target queuing height is used as a component of the current network load, and the target queuing height can be used as a penalty term to avoid that the current load information obtained by calculation is smaller when the target transfer port has a higher queuing height, and the penalty term helps to gradually reduce the data queuing amount in the target transfer port.
In the above embodiment, the data queuing variable is obtained by obtaining the initial queuing height and the target queuing height of the target transfer port in the current time period based on the difference between the initial queuing height and the target queuing height, the data queuing variable and the data transmission amount are integrated to obtain the intermediate network load, and the current network load is obtained based on the intermediate network load and the target queuing height. Thus, the accuracy of the current network load calculated based on the data queuing variable quantity, the data transmission quantity and the target queuing height is higher, and the current window adjustment information calculated based on the current network load is beneficial to reducing data accumulation in the network during window adjustment and improving the network bandwidth utilization rate.
In one embodiment, obtaining the current network load based on the intermediate network load and the target queuing height comprises:
the method comprises the steps of obtaining attention weights respectively corresponding to the load capacity of an intermediate network and a target queuing height; the attention weight corresponding to the intermediate network load is greater than the attention weight corresponding to the target queuing height; and merging the intermediate network load and the target queuing height based on the attention weights respectively corresponding to the intermediate network load and the target queuing height to obtain the current network load.
Specifically, when the current network load is calculated, the influence degree of the intermediate network load and the target queuing height on the network state of the target transfer port is different, because the intermediate network load is obtained based on the data transmission amount and the data queuing change amount of the target transfer port in the current time period, the data receiving condition of the target transfer port in the current time period can be reflected, the real load data amount of the target transfer port in the current time period can be directly reflected, the target queuing height is the data monitored at the last moment of the current time period, and the influence of the intermediate network load on the network state is larger in a determining degree to a certain extent. Thus, the attention weight corresponding to the intermediate network load amount is greater than the attention weight corresponding to the target queuing height. The data transfer device can acquire the attention weights respectively corresponding to the intermediate network load capacity and the target queuing height, and performs data weighted fusion based on the attention weights, so that the current network load capacity is obtained. The specific value of the attention weight can be set as required.
In one embodiment, the attention weight corresponding to the target queuing height is determined based on a reference network load and a preset queuing height. The difference between the preset queuing height and the maximum queuing height is smaller than a preset threshold, namely, the preset queuing height represents the queuing height when the queuing data volume is large. For example, the ratio of the reference network load amount and the preset queuing height may be regarded as the attention weight corresponding to the target queuing height, that is, the product of the attention weight corresponding to the preset queuing height and the target queuing height is equal to the reference network load amount. That is, when the target queuing height is higher, the penalty of the target queuing height on the current load information is the maximum bearable load capacity of the port, and the current load information obtained by calculation can represent that the network is in an overload state. When the target queuing height is higher, the data quantity receivable by the target transfer port is smaller, the data is easy to fall into an overload state, and the congestion window can be quickly reduced after the data transmitting end acquires the current load information, so that the data queuing condition in the target transfer port is relieved.
In the above embodiment, based on the attention weights respectively corresponding to the intermediate network load amount and the target queuing height, the intermediate network load amount and the target queuing height are fused to obtain the current network load amount, and the attention weight corresponding to the intermediate network load amount is greater than the attention weight corresponding to the target queuing height, so that the accuracy of the current network load amount can be improved, and the current window adjustment information obtained by calculating based on the current network load amount is beneficial to reducing data accumulation in the network during window adjustment, and improving the network bandwidth utilization rate.
In one embodiment, obtaining current load information based on a current network load of the target transit port in a current time period and a reference network load includes:
obtaining a reference network load based on bandwidth information corresponding to the target transfer port and the current time period; and obtaining current load information based on the ratio of the current network load and the reference network load.
The bandwidth information refers to the data quantity which can be transmitted by the target transit port in unit time.
Specifically, when calculating the reference network load, the data transfer device may acquire bandwidth information corresponding to the target transfer port, and take the product of the bandwidth information corresponding to the target transfer port and the current time period as the reference network load. When calculating the current load information, the data transfer device may calculate a ratio of the current network load amount to the reference network load amount as the current load information.
In the above embodiment, accurate reference network load capacity can be obtained based on bandwidth information corresponding to the target transit port and the current time period, and current load information can be obtained based on the ratio of the current network load capacity to the reference network load capacity, and the current load information can more intuitively reflect the network state of the target transit port.
In one embodiment, obtaining current load information based on a ratio of a current network load amount and a reference network load amount includes:
adjusting the reference network load based on the bandwidth utilization ratio to obtain updated network load; and obtaining current load information based on the ratio of the current network load to the updated network load.
The bandwidth utilization ratio is used for representing the bandwidth utilization ratio of the data transfer device to the target transfer port. The bandwidth utilization ratio may be set as desired.
Specifically, each data transfer port on the data transfer device can operate in full quantity, data transfer can be performed by utilizing all bandwidth resources, and part of bandwidth resources can be idle, so that the data transmission speed is improved by reducing the data transmission quantity to reduce the data quantity in the network. Therefore, the data transfer device can adjust the reference network load capacity based on the bandwidth utilization ratio to obtain the updated network load capacity, and the ratio of the current network load capacity to the updated network load capacity is used as the current load information. The bandwidth utilization ratio corresponding to different transfer ports on the data transfer device can be the same or different.
In one embodiment, the bandwidth utilization ratio may be determined according to the task type, task nature of the data transmission task. For example, for data streams requiring low latency, data transmission links, the bandwidth utilization may be less than a preset ratio, e.g., for real-time interactive talk tasks, the bandwidth utilization may be set to 0.95. The bandwidth utilization ratio may be greater than a preset ratio for a data stream requiring a high bandwidth, a data transmission link, for example, the bandwidth utilization ratio may be set to 1 for a task of transmitting a large-capacity video.
In the above embodiment, the reference network load is adjusted based on the bandwidth utilization ratio to obtain the updated network load, the current load information is obtained based on the ratio of the current network load to the updated network load, and the current window adjustment information calculated based on such current load information can cause the network state to be gradually adjusted to the expected state during window adjustment, so that the bandwidth utilization in the port gradually reaches the preset bandwidth utilization ratio, and finally the high network bandwidth utilization is realized.
In one embodiment, the calculation formula for the current load information is as follows:
Figure BDA0003364565090000211
I=TxBytes+Qlen-LastQlen
where L represents current load information, which may also be referred to as load factor. I represents the intermediate network load. T represents the current time period and may also be referred to as a measurement period. B represents bandwidth information, which may also be referred to as port bandwidth. Qlen represents the target queue height for the current time period and can also be considered the queue height at this measurement. LastQlen represents the initial queuing height at the current time period and can also be considered the queuing height at the last measurement. Qlen and LastQlen may be in bytes. Gamma represents the attention weight corresponding to the target queuing height, and gamma is less than 1. Alpha represents the bandwidth utilization ratio. TxBytes represents the data transmission amount in the current period and can be considered as the number of bytes transmitted by the port from the last measurement to the time of this measurement. It can be appreciated that at full bandwidth, no queuing, l=1.
The data transfer device can periodically calculate a load rate for each transfer port, wherein the load rate is a network state index combining the data transmission quantity TxBytes, the target queuing height Qlen and a first-order differential value (Qlen-LastQlen) of the queuing height, the network state index can accurately reflect the current state of the ports of the data transfer device, the state change trend of the ports of the data transfer device can be reflected through the first-order differential of the queuing height, congestion window adjustment is carried out based on the load rate, the change trend of network traffic can be effectively considered in the adjustment range, thus insufficient adjustment or excessive adjustment cannot be caused, and no or low data packet accumulation and high network bandwidth utilization rate in a network can be finally realized.
In one embodiment, the measurement period may be set to the network idle RTT. In one embodiment, γ may be set to 0.2-0.4 and α may be set to 0.95-1.
In one embodiment, updating the initial data packet based on the current window adjustment information to obtain the intermediate data packet includes:
when the current window adjusting information is larger than the initial window adjusting information, replacing the initial window adjusting information in the initial data packet based on the current window adjusting information to obtain a middle data packet, wherein the target window adjusting information is the current window adjusting information; when the current window adjustment information is smaller than or equal to the initial window adjustment information, the initial data packet is used as a middle data packet, and the target window adjustment information is the initial window adjustment information.
Specifically, the target window adjustment information may be determined according to a comparison result of the current window adjustment information and the initial window adjustment information. When the current window adjusting information is larger than the initial window adjusting information, the current window adjusting information is used as target window adjusting information, and the initial window adjusting information in the initial data packet is replaced based on the current window adjusting information to obtain the intermediate data packet. When the current window adjustment information is smaller than or equal to the initial window adjustment information, the initial window adjustment information is used as target window adjustment information, and the initial data packet is directly used as a middle data packet.
It may be appreciated that the data packet may pass through at least one data transfer device during the process of being transmitted from the data transmitting end to the data receiving end, for example, a transmission path of the data in the network is: data transmitting device-data relay device 1-data relay device 2-data relay device 3-data receiving device. If a plurality of data transfer devices pass through in the data transmission process, each data transfer device can calculate load information based on relevant data of each transfer port, and the data packet can always acquire window adjustment information with larger value as target window adjustment information to be transmitted in the process of passing through each data transfer device in a data comparison mode, for example, if the window adjustment information calculated by the data transfer device 1 is larger than the initial window adjustment information, the data transfer device 1 can replace the initial window adjustment information in the data packet with the calculated window adjustment information, the calculated window adjustment information is transmitted as new initial window adjustment information, if the window adjustment information calculated by the data transfer device 2 is larger than the window adjustment information calculated by the data transfer device 1, the data transfer device 2 can replace the window adjustment information calculated by the data transfer device 1 in the data packet with the window adjustment information calculated by the data transfer device 2, and the window adjustment information calculated by the data transfer device 2 is continuously transmitted as new initial window adjustment information, and so on. Finally, the data packet can collect the strongest adjustment requirement along the way, collect window adjustment information which can reflect the congestion state of the most congested port, and take the window adjustment information as target window adjustment information received by the data receiving end. The target window adjustment information received by the data sending end is the path bottleneck point detected by the data packet in the whole transmission path, and the data sending end can quickly eliminate the accumulation of the data packet in the network by performing window adjustment based on the window adjustment information of the most congested port.
In the above embodiment, when the current window adjustment information is greater than the initial window adjustment information, the current window adjustment information is used as the target window adjustment information, and when the current window adjustment information is less than or equal to the initial window adjustment information, the initial window adjustment information is used as the target window adjustment information, so that it can be ensured that the window adjustment information reflecting the more congested network state and more strongly adjusting requirements is always transmitted in the whole transmission process. Subsequently, the data transmitting end carries out window adjustment based on the received target window adjustment information, so that accumulation of data packets in the network can be rapidly eliminated.
In one embodiment, the initial data packet carries a target data flow identifier, the data transfer device includes at least one candidate transfer port corresponding to the candidate data flow identifier, and each candidate transfer port includes at least one data queue corresponding to the candidate data flow identifier.
Updating historical window statistics information based on initial window information to obtain current window statistics information, and obtaining current window adjustment information based on current load information, current window statistics information and initial window information, wherein the method comprises the following steps:
taking a candidate transit port corresponding to the target data flow identifier as a target transit port; in the target transfer port, taking a data queue corresponding to the target data flow identifier as a target queue; updating historical window statistical information corresponding to the target queue based on the initial window information to obtain current window statistical information; and obtaining current window adjustment information based on the current load information, the current window statistical information and the initial window information of the target queue in the current time period.
Wherein the data stream identifier is used to identify the data transmission link of the data packet, for example, quintuple information of the data packet can be used as the data stream identifier. The target data flow identifier refers to a data volume identifier corresponding to the initial data packet. The data transfer device includes at least one candidate transfer port corresponding to the candidate data flow identifier, that is, the same data transfer device may be used as transfer devices on different data transmission links at the same time, and different data transmission links may pass through the same data transfer device. Each candidate transfer port on the data transfer device comprises at least one data queue corresponding to the candidate data flow identifier, that is, the same transfer port can be used as a port for data transfer of different data transmission links at the same time, data packets transmitted on different data transmission links can be stored on different data queues of the same port, and different flows are isolated through the data queues.
Specifically, after the data transfer device acquires the initial data packet, a target transfer port corresponding to the initial data packet can be determined according to a target data flow identifier carried by the initial data packet, the data transfer device can calculate current window statistics information and current load information of a port level based on data of the port level, calculate current window adjustment information of the port level based on the current window statistics information, the current load information and the initial window information of the port level, determine target window adjustment information of the port level based on the current window adjustment information and the initial window adjustment information of the port level, and subsequently, the data sending device can adjust congestion windows based on the target window adjustment information of the port level. The port-level data is comprehensive data obtained by statistics according to related data of all queues on the port, for example, historical window statistical information is obtained by statistics on initial window information of a data packet to be sent, which is received by a target transfer port in historical time. The queuing height is the data quantity of the whole port, which is obtained by integrating the queuing data quantity of all queues on the same port, and the bandwidth information is the port bandwidth.
Of course, after determining the target transit port corresponding to the initial data packet, the data transit device may also calculate current window statistics information and current load information of the queue level based on the data of the queue level, calculate current window adjustment information of the queue level based on the current window statistics information, the current load information and the initial window information of the queue level, determine target window adjustment information of the queue level based on the current window adjustment information of the queue level and the initial window adjustment information, and subsequently, the data transmission device may perform congestion window adjustment based on the target window adjustment information of the queue level. The data of the queue level is obtained according to the statistics of the related data of the single queue, for example, the historical window statistics information is obtained by counting the initial window information of the data packet to be sent, which is received by the target queue in the historical time. The queuing height is the queuing data quantity of the queue where the data packet is located, and the bandwidth information is the queue bandwidth allocated to the queue where the data packet is located.
When calculating the current window statistical information of the queue level, the data transfer device may use the candidate transfer port corresponding to the target data flow identifier as the target transfer port corresponding to the initial data packet, and in the target transfer port, use the data queue corresponding to the target data flow identifier as the target queue corresponding to the initial data packet, so as to obtain the historical window statistical information corresponding to the target queue, and update the historical window statistical information based on the initial window information to obtain the current window statistical information. The data transfer device can acquire current load information of the target queue in a current time period, and acquire current window adjustment information based on the calculated current window statistical information, the acquired current load information and the initial window information. For example, when calculating the current load information, the data transmission amount and the data queuing variation of the target queue in the current time period may be obtained, the current network load amount is calculated based on the obtained data transmission amount and the data queuing variation, the reference network load amount of the target queue in the current time period is obtained, and the current load information is calculated based on the current network load amount and the reference network load amount of the target queue in the current time period.
In the scenario of multi-protocol traffic mixed running/coexistence, a network operator can use queues to isolate each protocol traffic, and preset bandwidths are allocated to the queues occupied by each protocol, so that all indexes involved in the calculation process of window statistical information and load information can be of a queue level, and the whole port needs to maintain window statistical information and load information corresponding to each queue respectively. Subsequently, the data transmitting end adjusts the congestion window based on the window adjustment information of the queue level, so that the throughput of each queue can be controlled on a preset bandwidth, and the queue accumulation is close to 0.
It will be appreciated that the specific calculation of the current window adjustment information and the current load information may refer to the methods described in the foregoing related embodiments.
In the above embodiment, different flows are isolated through the data queue, the current load information and the current window adjustment information are calculated based on the related data of the queue level, and such current window adjustment information can accurately represent the network state corresponding to a single flow and a data flow, and can accurately represent the relative size of all flow average values of the single flow and the data flow which directly affect the single flow and the data flow, so that the data transmission device can pertinently adjust the corresponding congestion window, thereby realizing accurate adjustment, and finally achieving the aims of eliminating network congestion and simultaneously maintaining high bandwidth utilization rate and flow fairness.
In one embodiment, as shown in fig. 4, a network congestion data processing method is provided, and the method is applied to the data transmission device in fig. 1 for illustration, and includes the following steps:
step S402, obtaining an initial data packet; the initial data packet carries initial window information and initial window adjustment information.
In step S404, the initial data packet is sent to the data relay device, so that the data relay device sends the initial data packet to the data receiving device.
Specifically, the data transmitting device may generate an initial data packet, transmit the initial data packet to the data relay device, and the data relay device may forward the initial data packet to the data receiving device.
Step S406, obtaining a response data packet returned by the data receiving device; the response data packet carries target window adjustment information; the target window adjustment information is determined by the data transfer device based on current window adjustment information and initial window adjustment information, the current window adjustment information is obtained based on current load information, current window statistics information and initial window information, and the current window statistics information is obtained based on initial window information to update historical window statistics information.
Specifically, when forwarding an initial data packet, the data receiving device may acquire historical window statistics information and current load information, update the historical window statistics information based on initial window information carried by the initial data packet to obtain current window statistics information, calculate based on the current load information, the current window statistics information and the initial window information carried by the initial data packet to obtain current window adjustment information, and update initial window adjustment information in the initial data packet based on the current window adjustment information. The data transfer device sends the updated initial data packet to the data receiving device, wherein the updated initial data packet carries target window adjustment information obtained through data updating. After receiving the initial data packet, the data receiving device may generate a response data packet, and feed back the response data packet to the data sending device, where the response data packet carries the target window adjustment information.
The specific generation process of the current window adjustment information, the current load information and the current window statistics information can refer to the methods described in the foregoing related embodiments.
Step S408, the current congestion window is adjusted based on the target window adjustment information, and the target congestion window is obtained.
Specifically, after the data sending device obtains the target window adjustment information fed back by the data receiving device, the current congestion window can be adjusted based on the target window adjustment information, so as to obtain a target congestion window, for example, window adjustment parameters can be determined based on the target window adjustment information, then the current congestion window can be adjusted based on the window adjustment parameters, the window adjustment parameters and the current congestion window can be multiplied, or the current congestion window can be adjusted based on the target window adjustment information through a custom formula or algorithm. When the data transmitting device transmits the subsequent data packets, the data transmitting device can control the transmitting speed of the data packets according to the target congestion window, so that the network congestion is relieved or the network resource utilization rate is improved.
In one embodiment, the data sending end can also set a window adjustment period, and adjust the congestion window based on the window adjustment period at regular time, so as to avoid frequent updating of the congestion window and influence on network stability. For example, the time length of the network idle RTT may be used as a window adjustment period and a window update period, the data transmitting end monitors the update time of the congestion window, and once the interval time reaches the network idle RTT, the current congestion window is adjusted by using the latest received target window adjustment information, and if the interval time does not reach the network idle RTT, the current congestion window is kept unchanged.
According to the network congestion data processing method, the device, the computer equipment and the storage medium, the data transfer equipment obtains an initial data packet sent by the data sending equipment, the initial data packet carries initial window information and initial window adjustment information, historical window statistical information is updated based on the initial window information to obtain current window statistical information, current load information, current window statistical information and initial window information are based on the current window statistical information and initial window information to obtain current window adjustment information, the initial data packet is updated based on the current window adjustment information corresponding to the current time period to obtain a middle data packet, the middle data packet is sent to the data receiving equipment, the middle data packet carries target window adjustment information determined based on the current window adjustment information and the initial window adjustment information, and the data transfer equipment sends a response data packet which is returned from the data receiving equipment and carries the target window adjustment information to the data sending equipment so that the data sending equipment adjusts a congestion window based on the target window adjustment information. In this way, when window adjustment information is calculated, historical window statistics information can reflect window average values of other data packets, current window statistics information can reflect window average values of all data packets, current load information can reflect current network state, initial window information can reflect window size of data transmission equipment, window information and current network state of all current data packets are comprehensively considered based on current load information, current window statistics information and initial window information, the window adjustment information is helpful for improving accuracy and fairness of window adjustment, so that different data packets and data streams can reach fairness state when network congestion is improved, and after response data packets are received by data transmission equipment, current congestion window can be accurately adjusted based on the latest acquired window adjustment information.
In one embodiment, adjusting the current congestion window based on the target window adjustment information to obtain the target congestion window includes:
when the time interval between the current time and the adjacent congestion window adjustment time is larger than the preset time interval, obtaining a target congestion window based on the ratio of the current congestion window to the target window adjustment information; and when the time interval between the current time and the adjacent congestion window adjustment time is smaller than or equal to the preset time interval, taking the current congestion window as a target congestion window.
The preset time interval may be set as required, for example, the preset time interval may be set as a network idle RTT. The adjacent congestion window adjustment time refers to the time when the congestion window adjustment was last performed. It may be understood that the data sending end may periodically adjust the congestion window, and the adjacent congestion window adjustment time may refer to the time of congestion window adjustment in the previous period.
In particular, the data sender may adjust the congestion window periodically. When the time interval between the current time and the adjacent congestion window adjustment time is larger than the preset time interval, that is, the current time reaches the congestion window update period, the data sending device performs window adjustment, at this time, the data sending device can calculate the ratio of the current congestion window to the target window adjustment information, and obtain the target congestion window based on the ratio. When the time interval between the current time and the adjacent congestion window adjustment time is smaller than or equal to the preset time interval, namely the current time does not reach the congestion window update period, keeping the current congestion window unchanged, namely the target congestion window is the current congestion window.
In one embodiment, window adjustment may be made according to the following formula:
Figure BDA0003364565090000281
if no-update time is less than or equal to network idle RTT, W=W C
Wherein now represents the current time, updated time represents the adjacent congestion window adjustment time, W represents the target congestion window, W C Representing the current congestion window, AR represents the target window adjustment information.
In one embodiment, referring to fig. 5, the transmitting end controls the data flow based on windows, switches in the network continually update the average window and periodically update the port load rate. When transmitting the data packet, the transmitting end inserts window information and initial window adjustment rate into the data packet. When a switch in a network forwards a data packet, calculating an adjustment rate (also called a stream adjustment rate) based on window information, an average window and a load rate, selectively updating the adjustment rate in the data packet by using the calculated adjustment rate, taking out the adjustment rate after a receiving end receives the data packet and carrying the adjustment rate back to a transmitting end through a response packet, and performing multiplicative window adjustment according to the adjustment rate carried by the response packet after the transmitting end receives the response packet, so that the total rate of all streams is matched to the bandwidth of a link bottleneck.
In the above embodiment, when the time interval between the current time and the adjacent congestion window adjustment time is greater than the preset time interval, the target congestion window is obtained based on the ratio of the current congestion window and the target window adjustment information, and the sending end performs multiplicatively window adjustment according to the target window adjustment information, so that the total rate of all flows can be quickly matched to the bandwidth of the link bottleneck. Further, because the target window adjustment information considers the current window statistical information, the window adjustment is performed based on the target window adjustment information, the flow larger than the average window can be reduced, the flow smaller than the average window can be increased, the adjustment amplitude is in direct proportion to the ratio of the flow window to the average window, so that all flows can obtain the bandwidth which is fairly distributed finally, the target window adjustment information also considers the current load information, the network congestion can be gradually eliminated by performing the window adjustment based on the target window adjustment information, and meanwhile, the high bandwidth utilization rate is maintained.
In one embodiment, the initial data packet and the response data packet carry a target data flow identifier, and the current congestion window is adjusted based on the target window adjustment information to obtain a target congestion window, which includes:
and adjusting the current congestion window corresponding to the target data flow identifier based on the target window adjustment information to obtain the target congestion window corresponding to the target data flow identifier.
Specifically, in the data sending device, different data flows may correspond to different congestion windows, so when the congestion windows are adjusted, the corresponding congestion windows may be adjusted based on the corresponding target window adjustment information, so as to realize accurate adjustment. The data sending device can determine the current congestion window corresponding to the target data flow identifier based on the target data flow identifier carried by the response data packet, and further adjust the current congestion window corresponding to the target data flow identifier based on the target window adjustment information carried by the response data packet, so as to obtain the target congestion window corresponding to the target data flow identifier. The adjustment process of the congestion window may refer to the content of the foregoing related embodiments.
For example, the user a sends a session message on the social application of the terminal and the user a requests to browse the web page through the browser on the terminal corresponds to different data streams, and the session message and the browse request reach respective data receivers through different data transmission links. In general, data packets sent by different applications on the terminal may correspond to different data flows and data transmission links.
In the above embodiment, the adjustment of the current congestion window corresponding to the target data flow identifier based on the window adjustment parameter may achieve accurate and targeted adjustment.
In one embodiment, as shown in FIG. 6, a network congestion data processing system is provided that includes a data transmitting device 602, a data translating device 604, and a data receiving device 606.
The data transmitting device 602 is configured to acquire an initial data packet, and transmit the initial data packet to the data transfer device; the initial data packet carries initial window information and initial window adjustment information.
The data transfer device 604 is configured to update the initial data packet based on the current window adjustment information, obtain a middle data packet, and send the middle data packet to the data receiving device; the intermediate data packet carries target window adjustment information determined based on current window adjustment information and initial window adjustment information, the current window adjustment information is obtained based on current load information, current window statistics information and initial window information, and the current window statistics information is obtained based on initial window information to update historical window statistics information.
The data sending device 602 is further configured to obtain a response data packet that is returned by the data receiving device and carries the target window adjustment information, and adjust the congestion window based on the target window adjustment information.
It will be appreciated that the specific data processing procedures of the data transmission apparatus and the data relay apparatus may be as described with reference to the respective related embodiments described above.
According to the network congestion data processing system, when window adjustment information is calculated, the historical window statistical information can reflect window average values of other data packets, the current window statistical information can reflect window average values of all data packets, the current load information can reflect the current network state of a target transit port, the window average values and the current network state of all data packets are comprehensively considered based on the current load information, the current window statistical information and the current window adjustment information obtained by calculation of initial window information, the window adjustment information is beneficial to improving accuracy and fairness of window adjustment, so that when network congestion is improved, different data packets and data streams can reach fairness, and after receiving a response data packet, a data transmitting device can accurately adjust a current congestion window based on the latest acquired window adjustment information.
In a specific embodiment, the network congestion data processing method can be applied to a data center network and used for controlling the rate of data flows in the network so as to achieve the purposes of high bandwidth utilization, low network queuing and fairness of bandwidth allocation among the data flows.
Referring to fig. 7, the solution of the present application is deployed on both an end side server and a network switch of a network, achieving the intended objective through cooperation of the end side and the network. On the end side server, the scheme is deployed in the transport layer and is used for controlling the sending rate of the data flow by adjusting the congestion window. The network congestion data processing method specifically comprises the following steps:
1. when the data packet is sent out from the sending end, a specific AH (Adjustment Header) adjustment rate packet header is inserted into the data packet, wherein W is used for recording initial window information, and AR is used for recording initial window adjustment rate.
2. When a data packet is sent from an outlet port of the switch, the switch calculates a current window adjustment rate FAR according to a load rate PL of the port, a current average window Wm and initial window information W, compares the FAR with an initial window adjustment rate AR of a data packet header, and if the FAR is greater than the AR, updates the AR with the FAR.
Specifically, the switch in the network calculates FAR based on the following formula.
Figure BDA0003364565090000301
PL=L*64
Figure BDA0003364565090000311
I=TxBytes+Qlen-LastQlen
W m =W m′ *(1-η)+W*η
The switch port load rate L is a network state index combining the transmission data amount TxBytes, the queue height Qlen and a first-order differential value (Qlen-LastQlen) of the queue height, so that the network state index not only can accurately reflect the current state of a port of the data transfer device, but also can reflect the state change trend thereof through the first-order differential of the queue height, congestion window adjustment is performed based on the load rate, and the change trend of network traffic can be effectively considered in the adjustment range, thereby not causing insufficient adjustment or excessive adjustment, and finally realizing no or low data packet accumulation and high network bandwidth utilization rate in the network.
If the FAR is greater than the AR, the AR is updated by the FAR, so that the maximum adjustment rate of the data packet along the path can be collected to obtain the congestion state of the bottleneck node, the data packet can be effectively collected to the strongest adjustment requirement on the network path, the congestion state of the bottleneck node reflecting the congestion state of the most congested port can be effectively collected, and the accumulation of the data packet can be quickly eliminated in the network by adjusting the congestion state based on the congestion state.
Furthermore, when the adjustment rate is calculated, the average window and the load rate are integrated, the adjustment rate is an innovative index of comprehensive efficiency and fairness, the load state of the port is reflected, the relative size of the current data packet stream to all flow average values is reflected, window adjustment can be carried out based on the adjustment rate, the optimization of two dimensions can be simultaneously and rapidly achieved, namely, the window (bandwidth allocation) of the stream reaches the fairness state, and meanwhile, the network bandwidth reaches the highest utilization rate.
3. After the data packet arrives at the receiving end, the receiving end extracts the AR of the data packet.
4. The receiving end generates a response packet (Ack packet) and writes the AR extracted in the step 3 into the AR area of the response packet.
5. The response packet arrives at the transmitting end, and the transmitting end extracts the AR of the response packet and adjusts the congestion window according to the AR.
Specifically, the sender may adjust the congestion window based on the following formula.
Figure BDA0003364565090000312
if no-update time is less than or equal to network idle RTT, W=W C
It can be understood that if the window size is a floating point number, the sending end extracts the adjustment rate AR of the packet header after receiving the response packet, maps the adjustment rate AR back to the floating point number, and then performs window adjustment based on the mapped AR. For example, if the initial AR is to map the magnification 1.0 to 512 and initialize the AR to 512, then the sending end needs to map the AR back to the floating point number by dividing the AR by 512.
After receiving the response data packet, the sender directly and multiplicatively adjusts the congestion window according to the adjustment rate without introducing constant parameters, and the adjustment method can be well adapted to scenes with very large flow quantity and quickly adjusted to be optimal.
In summary, the congestion state in the network can be accurately perceived by the scheme, and further, the network queuing can be controlled to be extremely low under the help of window-based control and window-based accurate adjustment, meanwhile, the bandwidth utilization rate close to 100% and excellent data flow fairness are maintained, the problem of performance reduction caused by serious queuing is not caused, and meanwhile, the performance of a large-scale networking is guaranteed.
The scheme can reach the optimal in three dimensions of the bandwidth utilization rate, the queue accumulation amount and the stream fairness at the same time, and realizes the high bandwidth utilization rate, the low queue accumulation amount and the excellent stream fairness. In particular, we compare the performance of DCQCN (Data Center Quantized Congestion Notification, a data center quantized congestion control algorithm), HPCC (High Precision Congestion Control, a high precision congestion control algorithm) and the present solution by simulation. We performed an Incast test of 8 dozen 1 in a Fattree-like data center network, referring to fig. 8, from nodes 40-47 (i.e., servers 0-7), each one stream is beaten 55. The data center network adopts a 3-layer topological structure to carry out switch cascading, the access switches and the aggregation switches are divided into different clusters, each access switch in the clusters is connected with each aggregation switch, and each aggregation switch is connected with part of core switches. In this case, incast is a common many-to-one communication mode in a data center network, in which multiple senders simultaneously answer a request of a client and send data packets, and if the data packets transmitted simultaneously exceed the buffer of a switch, a large amount of data packets are lost to cause timeout, which makes the link bandwidth underutilized and causes a rapid decrease in throughput.
Performance results of simulation referring to fig. 9A, 9B, and 9C, fig. 9A is a simulation result of DCQCN, fig. 9B is a simulation result of HPCC, and fig. 9C is a simulation result of the present embodiment. The rate/window variation of the flows, bottleneck bandwidth and bottleneck queue height are shown in fig. 9A, 9B, 9C, in sequence from left to right. It will be appreciated that with respect to rate/window changes in the streams, fig. 9A, 9B, and 9C show only rate changes in some of the node data streams, and only 4 streams from servers 0, 2, 4, 6 (i.e., nodes 40, 42, 44, 46) are selected for discrimination. Regarding the bottleneck bandwidth and the bottleneck queue height, since the node to be beaten is 55 nodes, the 38 switch and the 39 switch are closest to the 55 nodes, and the 38 switch and the 39 switch need to summarize the data forwarding of the upper layer switch to the 55 nodes, the 38 switch and the 39 switch can be regarded as the bottleneck point on the data transmission link, and fig. 9A, 9B and 9C only show the bottleneck bandwidth and the bottleneck queue height of the 38 switch.
From simulation results, the flow rate of the DCQCN has very large change amplitude, the rate distribution is unfair, the bandwidth is obviously insufficient near the end, and the whole-process switch data packet accumulation fluctuates between 100KB and 500 KB. The data flow rate of the HPCC scheme is slightly fair compared with that of the DCQCN, the switch bandwidth of the HPCC scheme has obvious fluctuation, so that throughput is lost, meanwhile, the switch queue is piled up to be maintained above 250KB for a long time, still higher, and then is maintained to fluctuate around 30 KB. In contrast, the size of the data stream window under the control of the scheme is very uniform, and the fairness is very good. While switch bandwidth is always maintained at 100% and switch queue pile-up is maintained fluctuating around 8 KB. In addition, the scheme can not only control the switch queue very low, but also set a specific target bandwidth utilization, i.e. a bandwidth utilization ratio, for example, the bandwidth utilization ratio is set to 95%, i.e. α in the formula is set to 95%, and the queue pile-up is completely eliminated.
It should be understood that, although the steps in the flowcharts of fig. 2 and 4 are shown in order as indicated by the arrows, these steps are not necessarily performed in order as indicated by the arrows. The steps are not strictly limited to the order of execution unless explicitly recited herein, and the steps may be executed in other orders. Moreover, at least a portion of the steps in fig. 2, 4 may include a plurality of steps or stages, which are not necessarily performed at the same time, but may be performed at different times, and the order of the steps or stages is not necessarily sequential, but may be performed in rotation or alternatively with at least a portion of the steps or stages in other steps or other steps.
In one embodiment, as shown in fig. 10, there is provided a network congestion data processing apparatus, which may employ software modules or hardware modules, or a combination of both, as part of a computer device, and specifically includes: a data packet acquisition module 1002, a window statistics module 1004, a window adjustment information determination module 1006, a data packet update module 1008, and a data packet transmission module 1010, wherein:
A data packet obtaining module 1002, configured to obtain an initial data packet sent by a data sending device; the initial data packet carries initial window information and initial window adjustment information.
The window statistics module 1004 is configured to update the historical window statistics based on the initial window information to obtain the current window statistics.
The window adjustment information determining module 1006 is configured to obtain current window adjustment information based on the current load information, the current window statistics information, and the initial window information.
A data packet updating module 1008, configured to update the initial data packet based on the current window adjustment information, obtain a middle data packet, and send the middle data packet to the data receiving device; the intermediate data packet carries target window adjustment information determined based on the current window adjustment information and the initial window adjustment information.
And a data packet sending module 1010, configured to send, to the data sending device, a response data packet that is returned from the data receiving device and carries the target window adjustment information, so that the data sending device adjusts the congestion window based on the target window adjustment information.
According to the network congestion data processing device, when window adjustment information is calculated, the historical window statistical information can reflect window average values of other data packets, the current window statistical information can reflect window average values of all data packets, the current load information can reflect the current network state, the initial window information can reflect the window size of the data transmission equipment, the window information and the current network state of all current data packets are comprehensively considered based on the current window adjustment information obtained through calculation based on the current load information, the current window statistical information and the initial window information, the window adjustment information is beneficial to improving the accuracy and fairness of window adjustment, so that the fairness state between different data packets and data streams is achieved while the network congestion condition is improved, and after the data transmission equipment receives the response data packet, the current congestion window can be accurately adjusted based on the latest acquired window adjustment information.
In one embodiment, the window statistics module is further configured to obtain attention weights corresponding to the initial window information and the historical window statistics, and fuse the initial window information and the historical window statistics based on the attention weights corresponding to the initial window information and the historical window statistics, so as to obtain the current window statistics.
In one embodiment, the window adjustment information determining module is further configured to obtain a window ratio based on a ratio of the initial window information and the current window statistics, and fuse the current load information and the window ratio to obtain the current window adjustment information.
In one embodiment, the window adjustment information determination module includes:
the load information acquisition unit is used for obtaining current network load capacity based on the data transmission amount and the data queuing change amount of the target transfer port corresponding to the initial data packet in the current time period, wherein the target transfer port is a port used for transmitting the data packet on the data transfer equipment, and obtaining current load information based on the current network load capacity and the reference network load capacity of the target transfer port in the current time period.
In one embodiment, the load information obtaining unit is further configured to obtain an initial queuing height and a target queuing height of the target transfer port in the current time period, obtain a data queuing variable based on a difference between the initial queuing height and the target queuing height, obtain an intermediate network load by integrating the data queuing variable and the data transmission amount, and obtain the current network load based on the intermediate network load and the target queuing height.
In one embodiment, the load information obtaining unit is further configured to obtain attention weights corresponding to the intermediate network load amount and the target queuing height respectively, and the attention weights corresponding to the intermediate network load amount are greater than the attention weights corresponding to the target queuing height, and fuse the intermediate network load amount and the target queuing height based on the attention weights corresponding to the intermediate network load amount and the target queuing height respectively, so as to obtain the current network load amount.
In one embodiment, the load information obtaining unit is further configured to obtain a reference network load amount based on bandwidth information corresponding to the target transit port and the current time period, and obtain current load information based on a ratio of the current network load amount to the reference network load amount.
In one embodiment, the load information obtaining unit is further configured to adjust a reference network load based on the bandwidth utilization ratio, obtain an updated network load, and obtain the current load information based on a ratio of the current network load to the updated network load.
In one embodiment, the data packet updating module is further configured to replace the initial window adjustment information in the initial data packet based on the current window adjustment information when the current window adjustment information is greater than the initial window adjustment information, to obtain a middle data packet, wherein the target window adjustment information is the current window adjustment information, and when the current window adjustment information is less than or equal to the initial window adjustment information, the initial data packet is used as the middle data packet, and the target window adjustment information is the initial window adjustment information.
In one embodiment, the initial data packet carries a target data flow identifier, the data transfer device includes at least one candidate transfer port corresponding to the candidate data flow identifier, and each candidate transfer port includes at least one data queue corresponding to the candidate data flow identifier. The window statistics module is further configured to use a candidate transit port corresponding to the target data flow identifier as a target transit port, and in the target transit port, use a data queue corresponding to the target data flow identifier as a target queue, update historical window statistics information corresponding to the target queue based on the initial window information, and obtain current window statistics information. The window adjustment information determining module is further configured to obtain current window adjustment information based on current load information, current window statistics information and initial window information of the target queue in a current time period.
In one embodiment, as shown in fig. 11, there is provided a network congestion data processing apparatus, which may employ software modules or hardware modules, or a combination of both, as part of a computer device, and specifically includes: an initial packet acquisition module 1102, an initial packet transmission module 1104, a response packet acquisition module 1106, and a window adjustment module 1108, wherein:
an initial data packet obtaining module 1102, configured to obtain an initial data packet; the initial data packet carries initial window information and initial window adjustment information.
The initial data packet sending module 1104 is configured to send an initial data packet to the data relay device, so that the data relay device sends the initial data packet to the data receiving device.
A response data packet obtaining module 1106, configured to obtain a response data packet returned by the data receiving apparatus; the response data packet carries target window adjustment information; the target window adjustment information is determined by the data transfer device based on current window adjustment information and initial window adjustment information, the current window adjustment information is obtained based on current load information, current window statistics information and initial window information, and the current window statistics information is obtained based on initial window information to update historical window statistics information.
The window adjustment module 1108 is configured to adjust the current congestion window based on the target window adjustment information, to obtain a target congestion window.
According to the network congestion data processing device, when window adjustment information is calculated, the historical window statistical information can reflect window average values of other data packets, the current window statistical information can reflect window average values of all data packets, the current load information can reflect the current network state, the initial window information can reflect the window size of the data transmission equipment, the window information and the current network state of all current data packets are comprehensively considered based on the current window adjustment information obtained through calculation based on the current load information, the current window statistical information and the initial window information, the window adjustment information is beneficial to improving the accuracy and fairness of window adjustment, so that the fairness state between different data packets and data streams is achieved while the network congestion condition is improved, and after the data transmission equipment receives the response data packet, the current congestion window can be accurately adjusted based on the latest acquired window adjustment information.
In one embodiment, the window adjustment module is further configured to obtain a target congestion window based on a ratio of the current congestion window and the target window adjustment information when the time interval between the current time and the adjacent congestion window adjustment time is greater than a preset time interval, and take the current congestion window as the target congestion window when the time interval between the current time and the adjacent congestion window adjustment time is less than or equal to the preset time interval.
In one embodiment, the initial data packet and the response data packet carry a target data flow identifier, and the window adjustment module is further configured to adjust a current congestion window corresponding to the target data flow identifier based on the target window adjustment information, so as to obtain a target congestion window corresponding to the target data flow identifier.
The specific limitation regarding the network congestion data processing apparatus may be referred to the limitation regarding the network congestion data processing method hereinabove, and will not be described herein. The various modules in the network congestion data processing apparatus described above may be implemented in whole or in part by software, hardware, or a combination thereof. The above modules may be embedded in hardware or may be independent of a processor in the computer device, or may be stored in software in a memory in the computer device, so that the processor may call and execute operations corresponding to the above modules.
In one embodiment, a computer device is provided, which may be a server, and the internal structure of which may be as shown in fig. 12. The computer device includes a processor, a memory, and a network interface connected by a system bus. Wherein the processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, computer programs, and a database. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage media. The database of the computer equipment is used for storing data such as historical window statistical information, data transmission quantity, data queuing change quantity and the like. The network interface of the computer device is used for communicating with an external terminal through a network connection. The computer program is executed by a processor to implement a network congestion data processing method.
In one embodiment, a computer device is provided, which may be a terminal, and the internal structure thereof may be as shown in fig. 13. The computer device includes a processor, a memory, a communication interface, a display screen, and an input device connected by a system bus. Wherein the processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage media. The communication interface of the computer device is used for carrying out wired or wireless communication with an external terminal, and the wireless mode can be realized through WIFI, an operator network, NFC (near field communication) or other technologies. The computer program is executed by a processor to implement a network congestion data processing method. The display screen of the computer equipment can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer equipment can be a touch layer covered on the display screen, can also be keys, a track ball or a touch pad arranged on the shell of the computer equipment, and can also be an external keyboard, a touch pad or a mouse and the like.
It will be appreciated by those skilled in the art that the structures shown in fig. 12 and 13 are block diagrams of only some of the structures associated with the aspects of the present application and are not intended to limit the computer device to which the aspects of the present application may be applied, and that a particular computer device may include more or less components than those shown, or may combine some of the components, or may have a different arrangement of components.
In an embodiment, there is also provided a computer device comprising a memory and a processor, the memory having stored therein a computer program, the processor implementing the steps of the method embodiments described above when the computer program is executed.
In one embodiment, a computer-readable storage medium is provided, storing a computer program which, when executed by a processor, implements the steps of the method embodiments described above.
In one embodiment, a computer program product or computer program is provided that includes computer instructions stored in a computer readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device performs the steps in the above-described method embodiments.
Those skilled in the art will appreciate that implementing all or part of the above described methods may be accomplished by way of a computer program stored on a non-transitory computer readable storage medium, which when executed, may comprise the steps of the embodiments of the methods described above. Any reference to memory, storage, database, or other medium used in embodiments provided herein may include at least one of non-volatile and volatile memory. The nonvolatile Memory may include Read-Only Memory (ROM), magnetic tape, floppy disk, flash Memory, optical Memory, or the like. Volatile memory can include random access memory (Random Access Memory, RAM) or external cache memory. By way of illustration, and not limitation, RAM can be in the form of a variety of forms, such as static random access memory (Static Random Access Memory, SRAM) or dynamic random access memory (Dynamic Random Access Memory, DRAM), and the like.
The technical features of the above embodiments may be arbitrarily combined, and all possible combinations of the technical features in the above embodiments are not described for brevity of description, however, as long as there is no contradiction between the combinations of the technical features, they should be considered as the scope of the description.
The above examples merely represent a few embodiments of the present application, which are described in more detail and are not to be construed as limiting the scope of the invention. It should be noted that it would be apparent to those skilled in the art that various modifications and improvements could be made without departing from the spirit of the present application, which would be within the scope of the present application. Accordingly, the scope of protection of the present application is to be determined by the claims appended hereto.

Claims (19)

1. A network congestion data processing method, applied to a data transfer device, the method comprising:
acquiring an initial data packet sent by data sending equipment; the initial data packet carries initial window information and initial window adjustment information;
updating historical window statistical information based on the initial window information to obtain current window statistical information;
obtaining current window adjustment information based on the current load information, the current window statistical information and the initial window information;
updating the initial data packet based on the current window adjustment information to obtain a middle data packet, and sending the middle data packet to data receiving equipment; the intermediate data packet carries target window adjustment information determined based on the current window adjustment information and the initial window adjustment information;
And transmitting a response data packet which is returned from the data receiving device and carries the target window adjustment information to the data transmitting device so that the data transmitting device adjusts a congestion window based on the target window adjustment information.
2. The method of claim 1, wherein updating the historical window statistics based on the initial window information to obtain the current window statistics comprises:
the attention weight corresponding to the initial window information and the historical window statistical information is obtained; the attention weight corresponding to the initial window information is smaller than the attention weight corresponding to the historical window statistical information;
and fusing the initial window information and the historical window statistical information based on the attention weight corresponding to the initial window information and the historical window statistical information to obtain the current window statistical information.
3. The method of claim 1, wherein the obtaining current window adjustment information based on the current load information, the current window statistics, and the initial window information comprises:
obtaining window proportion based on the ratio of the initial window information and the current window statistical information;
And fusing the current load information and the window proportion to obtain the current window adjustment information.
4. The method according to claim 1, wherein the obtaining of the current load information comprises the steps of:
obtaining the current network load based on the data transmission quantity and the data queuing variation quantity of the target transfer port corresponding to the initial data packet in the current time period; the target transfer port is a port used for sending data packets on the data transfer equipment;
and obtaining the current load information based on the current network load and the reference network load of the target transfer port in the current time period.
5. The method of claim 4, wherein the obtaining the current network load based on the data transmission amount and the data queuing variation of the target transit port corresponding to the initial data packet in the current time period includes:
acquiring an initial queuing height and a target queuing height of the target transfer port in a current time period;
based on the difference between the initial queuing height and the target queuing height, obtaining a data queuing variable quantity, and merging the data queuing variable quantity and the data transmission quantity to obtain an intermediate network load quantity;
And obtaining the current network load based on the intermediate network load and the target queuing height.
6. The method of claim 5, wherein the deriving the current network capacity based on the intermediate network capacity and the target queuing height comprises:
the attention weights respectively corresponding to the intermediate network load capacity and the target queuing height are obtained; the attention weight corresponding to the intermediate network load is greater than the attention weight corresponding to the target queuing height;
and merging the intermediate network load and the target queuing height based on the attention weights respectively corresponding to the intermediate network load and the target queuing height to obtain the current network load.
7. The method of claim 4, wherein the obtaining the current load information based on the current network load and the reference network load of the target transit port in the current time period includes:
obtaining the reference network load based on the bandwidth information corresponding to the target transfer port and the current time period;
and obtaining the current load information based on the ratio of the current network load to the reference network load.
8. The method of claim 7, wherein the deriving the current load information based on the ratio of the current network load and the reference network load comprises:
adjusting the reference network load based on the bandwidth utilization ratio to obtain updated network load;
and obtaining the current load information based on the ratio of the current network load to the updated network load.
9. The method of claim 1, wherein updating the initial packet based on the current window adjustment information to obtain a middle packet comprises:
when the current window adjustment information is larger than the initial window adjustment information, replacing the initial window adjustment information in the initial data packet based on the current window adjustment information to obtain the intermediate data packet, wherein the target window adjustment information is the current window adjustment information;
and when the current window adjustment information is smaller than or equal to the initial window adjustment information, the initial data packet is used as the middle data packet, and the target window adjustment information is the initial window adjustment information.
10. The method according to any one of claims 1 to 9, wherein the initial data packet carries a target data flow identifier, the data transfer device comprises at least one candidate transfer port corresponding to the candidate data flow identifier, and each candidate transfer port comprises at least one data queue corresponding to the candidate data flow identifier;
The step of updating the historical window statistical information based on the initial window information to obtain current window statistical information, and obtaining current window adjustment information based on current load information, the current window statistical information and the initial window information, comprises the following steps:
taking the candidate transit port corresponding to the target data flow identifier as the target transit port;
in the target transfer port, taking a data queue corresponding to the target data flow identifier as a target queue;
updating historical window statistical information corresponding to the target queue based on the initial window information to obtain the current window statistical information;
and obtaining the current window adjustment information based on the current load information of the target queue in the current time period, the current window statistical information and the initial window information.
11. A network congestion data processing method, applied to a data transmission device, the method comprising:
acquiring an initial data packet; the initial data packet carries initial window information and initial window adjustment information;
transmitting the initial data packet to a data transfer device, so that the data transfer device transmits the initial data packet to a data receiving device;
Acquiring a response data packet returned by the data receiving equipment; the response data packet carries target window adjustment information; the target window adjustment information is determined by the data transfer equipment based on current window adjustment information and initial window adjustment information, the current window adjustment information is obtained based on current load information, current window statistical information and the initial window information, and the current window statistical information is obtained by updating historical window statistical information based on the initial window information;
and adjusting the current congestion window based on the target window adjustment information to obtain a target congestion window.
12. The method of claim 11, wherein adjusting the current congestion window based on the target window adjustment information results in a target congestion window, comprising:
when the time interval between the current time and the adjacent congestion window adjustment time is larger than the preset time interval, obtaining the target congestion window based on the ratio of the current congestion window to the target window adjustment information;
and when the time interval between the current time and the adjacent congestion window adjustment time is smaller than or equal to a preset time interval, taking the current congestion window as the target congestion window.
13. The method according to claim 11 or 12, wherein the initial data packet and the response data packet carry a target data flow identifier, and the adjusting the current congestion window based on the target window adjustment information to obtain a target congestion window includes:
and adjusting the current congestion window corresponding to the target data flow identifier based on the target window adjustment information to obtain a target congestion window corresponding to the target data flow identifier.
14. A network congestion data processing system, the system comprising:
the data transmission equipment is used for acquiring an initial data packet and transmitting the initial data packet to the data transfer equipment; the initial data packet carries initial window information and initial window adjustment information;
the data transfer device is used for updating the initial data packet based on the current window adjustment information to obtain a middle data packet, and sending the middle data packet to the data receiving device; the intermediate data packet carries target window adjustment information determined based on current window adjustment information and initial window adjustment information, the current window adjustment information is obtained based on current load information, current window statistical information and the initial window information, and the current window statistical information is obtained based on the initial window information by updating historical window statistical information;
The data sending device is further used for obtaining a response data packet which is returned by the data receiving device and carries the target window adjustment information, and adjusting a congestion window based on the target window adjustment information.
15. A network congestion data processing apparatus, the apparatus comprising:
the data packet acquisition module is used for acquiring an initial data packet sent by the data sending equipment; the initial data packet carries initial window information and initial window adjustment information;
the window statistics module is used for updating historical window statistics information based on the initial window information to obtain current window statistics information;
the window adjustment information determining module is used for obtaining current window adjustment information based on the current load information, the current window statistical information and the initial window information;
the data packet updating module is used for updating the initial data packet based on the current window adjustment information to obtain a middle data packet, and sending the middle data packet to data receiving equipment; the intermediate data packet carries target window adjustment information determined based on the current window adjustment information and the initial window adjustment information;
and the data packet sending module is used for sending a response data packet which is returned from the data receiving equipment and carries the target window adjustment information to the data sending equipment so that the data sending equipment can adjust the congestion window based on the target window adjustment information.
16. A network congestion data processing apparatus, the apparatus comprising:
the initial data packet acquisition module is used for acquiring an initial data packet; the initial data packet carries initial window information and initial window adjustment information;
the initial data packet sending module is used for sending the initial data packet to the data transfer equipment so that the data transfer equipment sends the initial data packet to the data receiving equipment;
the response data packet acquisition module is used for acquiring a response data packet returned by the data receiving equipment; the response data packet carries target window adjustment information; the target window adjustment information is determined by the data transfer equipment based on current window adjustment information and initial window adjustment information, the current window adjustment information is obtained based on current load information, current window statistical information and the initial window information, and the current window statistical information is obtained by updating historical window statistical information based on the initial window information;
and the window adjusting module is used for adjusting the current congestion window based on the target window adjusting information to obtain a target congestion window.
17. A computer device comprising a memory and a processor, the memory storing a computer program, characterized in that the processor implements the steps of the method of any one of claims 1 to 10 or 11 to 13 when the computer program is executed.
18. A computer readable storage medium storing a computer program, characterized in that the computer program when executed by a processor implements the steps of the method of any one of claims 1 to 10 or 11 to 13.
19. A computer program product comprising a computer program, characterized in that the computer program, when executed by a processor, implements the steps of the method of any one of claims 1 to 10 or 11 to 13.
CN202111402603.0A 2021-11-19 2021-11-19 Network congestion data processing method, device, system and computer equipment Pending CN116155823A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111402603.0A CN116155823A (en) 2021-11-19 2021-11-19 Network congestion data processing method, device, system and computer equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111402603.0A CN116155823A (en) 2021-11-19 2021-11-19 Network congestion data processing method, device, system and computer equipment

Publications (1)

Publication Number Publication Date
CN116155823A true CN116155823A (en) 2023-05-23

Family

ID=86372441

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111402603.0A Pending CN116155823A (en) 2021-11-19 2021-11-19 Network congestion data processing method, device, system and computer equipment

Country Status (1)

Country Link
CN (1) CN116155823A (en)

Similar Documents

Publication Publication Date Title
Oueslati et al. Flow-aware traffic control for a content-centric network
US9185047B2 (en) Hierarchical profiled scheduling and shaping
Rozhnova et al. An effective hop-by-hop interest shaping mechanism for ccn communications
Wang et al. Implementation of multipath network virtualization with SDN and NFV
CN110650099B (en) Queuing system for predicting packet lifetime in a computing device
CN104092625B (en) A kind of self adaptation being used in DCN asks dispatching method in batches
Lu SED: An SDN-based explicit-deadline-aware TCP for cloud Data Center Networks
WO2024012065A1 (en) Data transmission control method and apparatus, computer-readable storage medium, computer device, and computer program product
Fu et al. An effective congestion control scheme in content-centric networking
CN113328953B (en) Method, device and storage medium for network congestion adjustment
Jiawei et al. PDMR: priority‐based dynamic multi‐path routing algorithm for a software defined network
Zinner et al. Performance evaluation of packet reordering on concurrent multipath transmissions for transport virtualisation
Patel et al. Comparative analysis of congestion control algorithms using ns-2
CN116155823A (en) Network congestion data processing method, device, system and computer equipment
CN114448838B (en) System reliability evaluation method
CN116155824A (en) Network congestion data processing method, device, system and computer equipment
Honda et al. Cooperated traffic shaping with traffic estimation and path reallocation to mitigate microbursts in IoT backhaul network
Wang Rural financial service promotion mechanism based on data center network
Rezaei et al. Smartbuf: An agile memory management for shared-memory switches in datacenters
CN116455819A (en) Network congestion data processing method, device, system and computer equipment
CN112019443A (en) Multi-path data transmission method and device
CN116155811A (en) Network congestion data processing method, device, system and computer equipment
Gao et al. HPLB: High precision load balancing based on in-band network telemetry in data center networks
Hao et al. Distributed MQTT Brokers at Network Edges: A Study on Message Dissemination
Yan et al. A Survey of RoCEv2 Congestion Control

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40087249

Country of ref document: HK