WO2019153931A1 - Data transmission control method and apparatus, and network transmission device and storage medium - Google Patents

Data transmission control method and apparatus, and network transmission device and storage medium Download PDF

Info

Publication number
WO2019153931A1
WO2019153931A1 PCT/CN2018/124103 CN2018124103W WO2019153931A1 WO 2019153931 A1 WO2019153931 A1 WO 2019153931A1 CN 2018124103 W CN2018124103 W CN 2018124103W WO 2019153931 A1 WO2019153931 A1 WO 2019153931A1
Authority
WO
WIPO (PCT)
Prior art keywords
data stream
tcp data
packet
tcp
packet loss
Prior art date
Application number
PCT/CN2018/124103
Other languages
French (fr)
Chinese (zh)
Inventor
开毅
李吉
朱夏
陈建
何健飞
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2019153931A1 publication Critical patent/WO2019153931A1/en

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/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • 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/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • 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/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • H04L47/326Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames with random discard, e.g. random early discard [RED]

Definitions

  • the present invention relates to the field of communications technologies, and in particular, to a data transmission control method and apparatus, and a network transmission apparatus and a storage medium.
  • TCP Transmission Control Protocol
  • IP Internet Protocol
  • Network traffic has obvious burstiness, that is, the amount of traffic is not uniform over time.
  • Network transmission equipment such as routers, switches, optical line terminals (OLTs), and Digital Subscriber Line Access Multiplexers (DSLAMs), generally use buffers and absorb them in the form of queues. A burst of traffic.
  • the device When the network traffic exceeds the processing capacity of the network device, the device will cache the data packet to prevent packet loss. If the network traffic continues to be longer than the processing capacity of the device, the length of the cache queue will continue to rise until it overflows.
  • tail drop When a network transmission device overflows, it will not be able to receive newly arrived packets, that is, packets will be discarded. This phenomenon is called tail drop.
  • the main hazard of tail drop is the global synchronization between TCP flows, resulting in low device utilization. This is because, when the network device is in the tail drop state, the TCP stream passing through the device will be dropped, and the TCP streams will synchronously enter the cycle of "drop packet-down-speed-retransmission-speed increase". When the synchronous speed is increased, the network device is overloaded. When the data is slowed down synchronously, the network device utilization is low.
  • Active Queue Management is a widely used technology for tail drop.
  • the basic idea is to actively manage the queue when it starts to accumulate, instead of tail-dropping when the queue is passively overflowing.
  • the packet loss behavior in the active packet loss process in AQM technology is blind. It only judges whether packet loss is performed with a certain probability. The consequence of this is that there are many TCP data streams that are lost packets, and users affected by packet loss. many.
  • the present application provides a network data transmission control method and apparatus, and a network transmission device and a storage medium, which can reduce the number of TCP data streams affected by packet loss and improve the overall user experience.
  • the present application provides a data transmission control method, where the method is performed by a network transmission device, the method includes: receiving an IP data packet to be processed; and determining first TCP data to which the to-be-processed IP data packet belongs Whether the flow meets the preset packet loss screening condition; if the first TCP data flow satisfies the packet loss screening condition, when the IP data packet is to be discarded according to the preset packet loss policy, the And processing the IP data packet to be discarded; if the first TCP data flow does not satisfy the packet loss screening condition, storing the to-be-processed IP data packet in a queue cache of the network transmission device.
  • the TCP data stream to which the received IP data packet belongs is filtered by setting a packet loss filtering condition, and further determining whether to drop the IP data packet when the TCP data flow to which the IP data packet belongs satisfies the packet loss filtering condition.
  • the packet loss screening condition includes: the flow state information of the TCP data stream meets a preset condition; and the determining the first TCP to which the IP data packet belongs Whether the data stream meets the preset packet loss screening condition includes: determining whether the flow state information of the first TCP data stream meets the preset condition; wherein, the flow state information of the first TCP data stream includes the A rate characterization value of the first TCP data stream, the preset condition comprising a rate characterization value greater than a set value, the rate characterization value of the first TCP data stream being used to characterize a transmission rate of the first TCP data stream.
  • the rate representation value is greater than the set value, and the TCP data stream that is lost is selected on the large stream, which reduces the packet loss triggering TCP retransmission timeout (Retransmission Timeout). , RTO), thereby reducing the occurrence of window down, and reducing the impact of packet loss on the transmission performance of the device network.
  • RTO Transmission Timeout
  • the rate characterization value of the first TCP data stream is stored in the queue cache within a preset duration The amount of data of the IP packet belonging to the first TCP data stream.
  • the data quantity of the IP data packet belonging to the first TCP data stream belongs to the first The number of bytes of the IP data packet of the TCP data stream and/or the number of IP data packets; the rate representation value is greater than the set value.
  • the number of bytes of the IP data packet is greater than the set number of bytes and/or the number of IP data packets. The number is greater than the set number.
  • the flow state information of the first TCP data stream further includes that the first TCP data stream is selected last time.
  • the preset condition further includes that the selected time difference is greater than the first set duration; wherein the first TCP data stream is selected to mean that the first TCP data stream satisfies the packet loss screening condition, the first The selected time difference of the TCP data stream is the difference between the reception time of the IP packet to be processed and the time when the first TCP data stream is last selected.
  • the same TCP data stream is prevented from being selected multiple times in one packet protection period, thereby avoiding excessive packet loss due to the same data stream.
  • the situation in which the retransmission packet of the data stream is discarded causes the triggering of the TCP RTO.
  • the flow state information of the first TCP data stream further includes that the first TCP data stream is continuously selected
  • the preset condition further includes that the duration of the TCP data stream being continuously selected is less than the second set duration; wherein the first TCP data stream is selected to indicate that the first TCP data stream satisfies the packet loss screening condition
  • the duration of the first TCP data stream being continuously selected, the earliest time of the receiving time of the to-be-processed IP data packet and the first TCP data stream being consecutively selected before the receiving time of the to-be-processed IP data packet The length of time between times selected.
  • each TCP data stream for example, for the first TCP data stream, each time an IP data packet belonging to the first TCP data stream is received, it is necessary to determine the IP data received at this time. Whether the first TCP data stream to which the packet belongs meets the packet loss filtering condition. If the packet loss filtering condition is met, the first TCP data stream is selected. The first TCP data stream is continuously selected, indicating that the plurality of IP data packets belonging to the first TCP data stream are received before the receiving time of the IP data packet to be processed, and the TCP data to which the multiple IP data packets belong The stream (i.e., the first TCP data stream) is continuously determined to satisfy the packet loss filtering condition.
  • the first TCP data stream is continuously selected, that is, the IP data is received.
  • the packet it is determined that the first TCP data stream to which the one IP data packet belongs satisfies the packet loss filtering condition.
  • the latest receiving The first TCP data stream to which the IP packet belongs belongs to the packet filtering condition.
  • the method further includes: determining, according to a first preset period, a cache queue length in the queue cache; The buffer queue length adjusts the set value, wherein the set value is negatively correlated with the buffer queue length.
  • the periodic adjustment of the screening condition can be implemented according to the cache queue length in the queue buffer of the network transmission device, so that the filtering condition is more consistent with the actual storage state of the cache in the device, so that the control effect of the data transmission is more in line with the actual network state.
  • the determining whether the first TCP data flow to which the to-be-processed IP data packet belongs meets a preset packet loss And the filtering condition includes: querying the flow state information table according to the unique identifier of the first TCP data flow to which the to-be-processed IP data packet belongs, and obtaining flow state information of the first TCP data flow, where the flow state information table is used for And storing, by the unique identifier of the TCP data stream, flow state information of each TCP data stream; determining, according to the flow state information of the first TCP data flow, whether the first TCP data flow satisfies the packet loss screening condition.
  • the flow state information table for recording the flow state information of the TCP data flow may be configured, so that when the network transmission device receives the IP data packet to be processed, the IP address to be processed can be quickly determined by means of table lookup.
  • the flow state information of the first TCP data stream to which the data packet belongs improves the processing efficiency of the IP data packet.
  • the method further includes: using the first TCP data stream in the flow state information table The last selected time is updated to determine whether the first TCP data stream to which the to-be-processed IP data packet belongs meets the packet loss screening condition or is updated to the reception time of the to-be-processed IP data packet.
  • the packet loss filtering condition includes: the unique identifier of the TCP data stream is one of the preset data stream identifiers,
  • the pre-configured data flow identifier includes a unique identifier of at least one of the TCP data streams stored in the queue cache.
  • the data flow identifier may be directly used as a packet blanking condition, and the TCP data stream that needs to be lost is concentrated into the TCP data corresponding to the preset data stream identifier. On the flow, reduce the number of TCP data streams affected by packet loss.
  • the method further includes: rotating the selected pre-configured ha according to a preset time interval and a preset selection rule Setting a hash index of the number in the hash table and marking the currently selected hash index; the packet filtering condition includes one of the hash indexes of the current data tag of the TCP data stream, wherein the TCP data
  • the hash value of the stream is a value obtained by hashing the unique identifier of the TCP data stream through a hash function corresponding to the hash table.
  • the hash value of the TCP data stream to which the IP data packet belongs may be compared with the currently selected hash index, and the fast judgment is performed. Whether the TCP data stream to which the IP packet belongs meets the packet loss filtering condition.
  • the method further includes: determining, according to a second preset period, a cache queue length in the queue cache; The buffer queue length adjusts the set number, wherein the set number is positively correlated with the buffer queue length.
  • the selection rule comprises a sequential loop selection.
  • the unique identifier of the TCP data stream is a quintuple of the TCP data stream, or the TCP data stream according to a preset algorithm.
  • the quintuple is calculated to obtain a unique identifier.
  • the method further includes: determining, according to the quintuple of the to-be-processed IP data packet, the first TCP data stream to which the IP data packet belongs.
  • the packet loss policy includes a random early detection (RED) algorithm.
  • the method when determining that the to-be-processed IP data packet is not to be discarded, the method further includes: the to-be-processed IP packets are stored in the queue cache.
  • the present application provides a data transmission control apparatus, where the apparatus includes: a data receiving module, configured to receive an Internet Protocol IP data packet to be processed; and a data processing module, configured to determine that the to-be-processed IP data packet belongs to Whether the first TCP data stream meets the preset packet loss filtering condition, and if the first TCP data stream satisfies the packet loss filtering condition, determining to discard the to-be-processed IP data according to the preset packet loss policy And deleting the to-be-processed IP data packet, if the first TCP data flow does not satisfy the packet loss screening condition, storing the to-be-processed IP data packet in a queue cache of the network transmission device .
  • the packet loss filtering condition includes: the flow state information of the TCP data stream meets a preset condition; and the data processing module determines the to-be-processed IP data.
  • the method is specifically configured to: determine whether the flow state information of the first TCP data stream meets the preset condition; wherein, the first TCP The flow state information of the data stream includes a rate characterization value of the first TCP data stream, the preset condition includes a rate characterization value greater than a set value, and the rate characterization value of the first TCP data stream is used to characterize the first The transmission rate of a TCP data stream.
  • the rate characterization value of the first TCP data stream is stored in the queue cache within a preset duration The amount of data of the IP packet belonging to the first TCP data stream.
  • the flow state information of the first TCP data stream further includes that the first TCP data stream is selected last time
  • the preset condition further includes that the selected time difference is greater than the first set duration, wherein the first TCP data stream is selected to mean that the first TCP data stream satisfies the packet loss screening condition, the first The selected time difference of the TCP data stream is the difference between the reception time of the IP packet to be processed and the time when the first TCP data stream is last selected.
  • the flow state information of the first TCP data stream further includes that the first TCP data stream is continuously selected
  • the preset condition further includes that the duration of the TCP data stream being continuously selected is less than the second set duration; wherein the first TCP data stream is selected to indicate that the first TCP data stream satisfies the packet loss screening condition
  • the duration of the first TCP data stream being continuously selected, the earliest time of the receiving time of the to-be-processed IP data packet and the first TCP data stream being consecutively selected before the receiving time of the to-be-processed IP data packet The length of time between times selected.
  • the device further includes: a first condition adjustment module, configured to determine the queue according to a first preset period The length of the cache queue in the cache; the set value is adjusted according to the length of the cache queue, wherein the set value is negatively correlated with the length of the cache queue.
  • a first condition adjustment module configured to determine the queue according to a first preset period The length of the cache queue in the cache; the set value is adjusted according to the length of the cache queue, wherein the set value is negatively correlated with the length of the cache queue.
  • the data processing module determines whether the first TCP data flow to which the to-be-processed IP data packet belongs is satisfied
  • the method is specifically configured to: query the flow state information table according to the unique identifier of the first TCP data flow to which the to-be-processed IP data packet belongs, to obtain flow state information of the first TCP data flow, where
  • the flow state information table is configured to store, by using a unique identifier of the TCP data stream, flow state information of each TCP data stream; and determining, according to the flow state information of the first TCP data flow, whether the first TCP data flow is satisfied
  • the packet loss screening condition is specifically configured to: query the flow state information table according to the unique identifier of the first TCP data flow to which the to-be-processed IP data packet belongs, to obtain flow state information of the first TCP data flow, where
  • the flow state information table is configured to store, by using a unique identifier of the TCP data stream, flow state information of each TCP data stream; and determining, according
  • the device further includes: a flow state information table update module, configured to be in the first TCP data stream
  • the flow state information includes the time when the first TCP data stream is selected last time, after determining that the first TCP data flow to which the to-be-processed IP data packet belongs meets a preset packet loss screening condition, the flow state is The latest selected time of the first TCP data stream in the information table is updated to determine whether the TCP data stream to which the to-be-processed IP data packet belongs meets the packet loss screening condition or is updated to the to-be-processed IP data. The receiving time of the packet.
  • the packet loss filtering condition includes: the unique identifier of the TCP data stream is one of the preset data stream identifiers,
  • the pre-configured data flow identifier includes a unique identifier of at least one of the TCP data streams stored in the queue cache.
  • the device further includes: a hash index rounding module, configured according to a preset time interval and a preset Selecting a rule, rotating a hash index of a set number in the pre-configured hash table, and marking the currently selected hash index;
  • the packet filtering condition includes a hash of the TCP data stream as a hash of the current tag One of the indexes, wherein the hash value of the TCP data stream is a value obtained by hashing the unique identifier of the TCP data stream by using a hash function corresponding to the hash table.
  • the device further includes: a second condition adjustment module, configured to determine the queue according to a second preset period The length of the cache queue in the cache; the set number is adjusted according to the length of the cache queue, wherein the set number is positively correlated with the length of the cache queue.
  • a second condition adjustment module configured to determine the queue according to a second preset period The length of the cache queue in the cache; the set number is adjusted according to the length of the cache queue, wherein the set number is positively correlated with the length of the cache queue.
  • the selecting rule includes a sequential loop selection.
  • the unique identifier of the TCP data stream is a quintuple of the TCP data stream, or the TCP data stream is according to a preset algorithm.
  • the quintuple is calculated to obtain a unique identifier.
  • the device further includes: an associated TCP data flow determining module, configured to determine the to-be-processed IP data packet Before the first TCP data stream belongs to the preset packet loss screening condition, the first TCP data stream to which the IP data packet belongs is determined according to the quintuple of the to-be-processed IP data packet.
  • the packet loss policy includes a RED algorithm.
  • the data processing module is further configured to: when determining that the to-be-processed IP data packet is not to be discarded, The processing IP packet is stored in the queue cache.
  • the present application provides a network transmission device, the device comprising a memory and a processor; the memory for storing computer program code; the processor for reading the computer program code to run with the computer A computer program corresponding to the program code for performing the data transmission control method in any one of the first aspect or the first aspect.
  • the present application provides a computer readable storage medium having stored therein computer instructions that, when executed on a computer, cause the computer to perform the first aspect or the first aspect A data transmission control method in any of the embodiments.
  • the application provides a computer program product, comprising: readable computer instructions, when the computer product is run on a computer, causing the computer to perform any of the first aspect or the first aspect described above A data transmission control method in an embodiment.
  • the present application provides a computer program that, when run on a computer, causes the computer to perform the data transfer control method of any of the above first aspect or the first aspect.
  • FIG. 1 is a schematic diagram of a network transmission architecture to which an embodiment of the invention applies;
  • FIG. 2 is a schematic flowchart diagram of a data transmission control method according to an embodiment of the present invention
  • FIG. 1 A schematic diagram of a hash table is shown in FIG. 1
  • FIG. 4 is a schematic diagram showing determining an active packet loss rate according to an average length of a cache queue
  • FIG. 5 is a schematic diagram showing a comparison between the network transmission effect of the embodiment of the present invention and the existing packet loss mode
  • FIG. 6 is a schematic diagram of a frame of a data transmission control apparatus according to an embodiment of the invention.
  • FIG. 7 is a schematic diagram of a frame of a data transmission control apparatus according to another embodiment of the present invention.
  • FIG. 8 is a block diagram showing a data transmission control apparatus according to still another embodiment of the present invention.
  • FIG. 9 is a schematic block diagram of a network transmission device according to an embodiment of the present invention.
  • the embodiments of the present invention provide a data transmission control method, device, device, and storage medium, which are applicable to an application scenario in which IP data packets are lost due to excessive network traffic in all IP networks.
  • FIG. 1 is a schematic diagram of a typical network transmission architecture of a metropolitan area network according to an embodiment of the present invention.
  • the network transmission architecture may include a core router (CR), a broadband remote access server (BRAS), an LSW, an OLT, and the like.
  • Each network transmission device may be provided with a queue buffer for buffering IP data packets received by the device.
  • the network transmission device stores the received IP data packets in a queue to the queue cache. , such as the queue buffer of each network transmission device shown in FIG. 1 and the cache queue (the queue of stored IP data packets) in each queue cache, as shown for the CR device, as shown schematically in FIG. Cache a and cache queue b.
  • the data transmission control method of the embodiment of the present invention is applicable to any of the CR, BRAS, LSW, and OLT shown in FIG. 1, that is, CR, BRAS, LSW, and OLT may all be implemented by the present invention.
  • the execution body of the data transmission control method of the example is applicable to any of the CR, BRAS, LSW, and OLT shown in FIG. 1, that is, CR, BRAS, LSW, and OLT may all be implemented by the present invention.
  • the execution body of the data transmission control method of the example is applicable to any of the CR, BRAS, LSW, and OLT shown in FIG. 1, that is, CR, BRAS, LSW, and OLT may all be implemented by the present invention.
  • LSW is generally not equipped with a large queue cache due to cost considerations, so packet loss is likely to occur when network traffic is suddenly congested.
  • the embodiment of the present invention pre-configures the packet loss filtering condition on the LSW.
  • the LWS When receiving the IP data packet, the LWS first determines whether the TCP data stream to which the IP data packet belongs is first. The packet loss filtering condition is met. When the TCP data stream to which the IP data packet belongs meets the packet loss filtering condition, the IP packet is further discarded according to the preset packet loss policy.
  • the LSG concentrates the discarded IP data packets on the TCP data stream that satisfies the above-mentioned packet loss screening condition, and implements a targeted selective packet loss, thereby reducing the TCP affected by the packet loss.
  • the number of data streams reduces the number of users affected by packet loss and improves the overall user experience of network users.
  • FIG. 2 is a schematic flowchart diagram of a data transmission control method according to an embodiment of the present invention, where the method may be specifically performed by a network transmission device. As shown in FIG. 2, the data transmission control method may mainly include the following steps:
  • Step S11 Receive an IP data packet.
  • IP data packet received in step S11 is hereinafter referred to as an IP data packet to be processed.
  • Step S12 Determine whether the TCP data stream to which the IP data packet to be processed belongs meets the preset packet loss screening condition.
  • the TCP data stream to which the IP packet to be processed belongs is referred to as the first TCP data stream.
  • the method before determining whether the first TCP data stream to which the to-be-processed IP data packet belongs meets the preset packet loss filtering condition, the method further includes:
  • the first TCP data stream to which the to-be-processed IP data packet belongs is determined according to the quintuple of the IP data packet to be processed.
  • the network transmission device In order to reduce the number of TCP data streams affected by packet loss, and thereby reduce the number of affected users, the network transmission device first determines the IP to be processed when receiving the IP data packets to be processed sent by other network transmission devices or user terminal devices.
  • the first TCP data stream to which the data packet belongs is determined according to whether the first TCP data stream satisfies the packet loss screening condition to determine whether the to-be-processed IP data packet is an alternate IP data packet to be discarded, that is, the network transmission device determines the need IP packets to be discarded when packet loss occurs.
  • the quintuple of the IP data packet refers to the source IP address, source port, destination IP address, destination port, and transport layer protocol of the IP data packet.
  • the quintuple can distinguish different sessions, and the corresponding session is unique, that is, one session.
  • the quintuple can uniquely identify the TCP data stream to which the IP data packet belongs, and the same IP data packet of the quintuple belongs to the same TCP data stream.
  • the foregoing packet loss screening condition is a data stream for determining whether the TCP data stream is an alternative and needs to be discarded by the IP data packet for the TCP data stream. Based on the packet loss screening condition, the IP data packets discarded by the network transmission device are concentrated only on the TCP data stream that satisfies the packet loss screening condition.
  • the packet loss screening condition includes that the flow state information of the TCP data stream meets a preset condition.
  • determining whether the first TCP data flow to which the to-be-processed IP data packet belongs meets the preset packet loss screening condition specifically:
  • the flow state information of the first TCP data stream includes a rate characterization value of the first TCP data stream, and the preset condition includes that the rate characterization value is greater than a set value, and the rate characterization value of the first TCP data stream is used to represent the first TCP data.
  • the transmission rate of the stream includes a rate characterization value of the first TCP data stream, and the preset condition includes that the rate characterization value is greater than a set value, and the rate characterization value of the first TCP data stream is used to represent the first TCP data.
  • the “to-be-processed” in the above-mentioned IP data packet to be processed is only to distinguish the received IP data packet from the IP data packet involved in describing the packet loss screening condition or the preset condition.
  • the “first” in the foregoing first TCP data stream is only used to compare the TCP data stream to which the received IP data packet to be processed belongs to the TCP data involved in describing the packet loss filtering condition or the preset condition. The flow is separated and no other has a specific order or relationship definition.
  • the transmission rate of the TCP data stream may be the transmission rate of the TCP data stream or the receiving rate of the TCP data stream.
  • the rate characterization value of the TCP data stream may be the transmission rate itself of the TCP data stream, for example, may be the reception rate or transmission rate of the TCP data stream.
  • the rate representation value of the TCP data stream may also be the amount of data of the IP data packet belonging to the TCP data stream received or transmitted within a preset duration.
  • the data volume of the IP data packet that belongs to the TCP data stream received within the preset duration may be received by the TCP data stream that is received within the preset duration.
  • the data amount of the IP data packet indicates that the data amount of the IP data packet belonging to the TCP data stream sent within the preset time length can be used for the data of the IP data packet belonging to the TCP data stream stored in the queue buffer within a preset time period.
  • the quantity indicates that, at this time, the traffic of the TCP data stream is the amount of data of the IP data packet belonging to the TCP data stream stored in the queue buffer within a preset duration.
  • the rate representative value of the first TCP data stream may be the data amount of the IP data packet belonging to the first TCP data stream stored in the queue buffer within a preset duration.
  • the data volume of the IP data packet belonging to the TCP data stream may be the number of bytes of the IP data packet belonging to the TCP data stream and/or the IP data packet.
  • the number, correspondingly, the rate of the TCP data stream is greater than the set value.
  • the number of bytes of the IP packet belonging to the TCP stream is greater than the set number of bytes and/or the IP packet belonging to the TCP stream. The number is greater than the set number.
  • the network transmission device When the network transmission device sends an IP packet, it adjusts the transmission rate by adjusting the size of the transmission window according to the state of the network.
  • the transmission window When the network is in a light load state, the transmission window will be continuously expanded, the transmission rate will be increased, and the network capacity will be tested.
  • the transmission window When the network is judged to be in a congested state (generally, packet loss is used as a signal for network congestion), the transmission window will be narrowed (referred to as window down). ), reduce the transmission rate to alleviate network congestion.
  • the network transmission device will only perform a window down (retransmission packet is discarded or the entire transmission window), regardless of whether multiple packets are dropped or one packet is dropped.
  • the dropped packet will trigger the TCP RTO, and the TCP send window will drop to the initial value, which will have a greater impact on the transmission performance of the TCP data stream.
  • the sender device that has dropped the packet can retransmit the discarded packet based on the Selective Acknowledgments (SACK) feature of TCP.
  • SACK Selective Acknowledgments
  • the SACK feature refers to the TCP receiving device to describe the receiving information in more detail, including which packets, that is, IP packets have been received and which packets have not been received, so that the sending device can only discard the packets.
  • the packet is retransmitted.
  • the TCP data is not triggered under the premise of not triggering the TCP RTO.
  • the performance of the stream has almost no effect.
  • the large number of packets that can be tolerated by the large stream is larger, and the packet loss is concentrated on the large stream, which can better control the packet loss. influences.
  • the large stream refers to a TCP data stream whose transmission rate is greater than a set rate in a TCP data stream transmitted by the network transmission device, where the transmission rate may be a reception rate or a transmission rate, and TCP
  • the receiving rate of the data stream may be represented by the amount of data of the IP data packet that belongs to the TCP data stream received within the preset duration, and the sending rate may be the TCP data that belongs to the queue buffer within a preset duration.
  • the amount of data of the stream indicates that, for example, for a TCP data stream, if the amount of data of the IP data packet belonging to the TCP data stream stored in the queue buffer within a preset duration is greater than the set data amount, the The TCP data stream is a large stream.
  • the preset condition may be set such that the rate representation value of the TCP data stream is greater than the set value.
  • the network transmission device may determine, according to the traffic of the first TCP data flow to which the IP data packet to be processed belongs and the set value, the first TCP data flow to which the to-be-processed IP data packet belongs. Whether the preset conditions are met.
  • the preset duration is configured to be 2 seconds
  • the rate representation value of the TCP data stream is represented by the number of IP data packets belonging to the TCP data stream stored in the queue buffer within 2 seconds, and the number is set. Is 8. Assume that there are 21 IP data packets stored in the queue buffer within the current 2 seconds. Five of the 21 data packets belong to TCP data stream A, seven belong to TCP data stream B, and nine belong to TCP data stream C. Then, the rate characterization value of the TCP data stream A is 5, the rate characterization value of the TCP data stream B is 7, and the rate characterization value of the TCP data stream C is 9, and the pending IP belonging to the TCP data stream C is currently received.
  • the TCP data stream C to which the to-be-processed IP data packet belongs satisfies the preset condition.
  • the flow state information may further include a time when the first TCP data stream is last selected, that is, a time when the first TCP data stream is last determined to meet the packet loss screening condition, and corresponding
  • the preset condition further includes that the selected time difference is greater than the first set duration, wherein the first TCP data stream is selected to indicate that the first TCP data stream satisfies the packet loss screening condition, and the selected time difference of the first TCP data stream is to be processed. The difference between the reception time of the IP packet and the time when the first TCP stream was last selected.
  • the same TCP time can be avoided by recording the time when the TCP data stream is last selected, and setting the packet protection period, that is, the first setting duration.
  • the data stream is selected for multiple times in a packet loss protection period, thereby avoiding the situation that the TCP RTO is triggered due to the excessive number of lost packets of the same data stream.
  • each time an IP data packet belonging to the TCP data stream is received it is determined whether the TCP data stream satisfies the packet loss filtering condition, and if it is satisfied, the TCP data stream is described.
  • the time is selected, if not, the TCP stream is not selected at this time.
  • the time when the TCP data stream is selected may be the time for determining whether the TCP data stream satisfies the packet loss filtering condition, or the time when the TCP data stream is selected to receive the IP data packet of the TCP data stream.
  • the network transmission device receives an IP data packet s
  • the reception time of the packet s is t
  • the packet s belongs to the TCP data stream a.
  • the network transmission device has successively received three IP data packets belonging to the TCP data stream a.
  • the three IP data packets are respectively recorded as the packet 1, the packet 2, and the packet 3 according to the receiving time.
  • the TCP data stream to which the packet 2 belongs (ie, the TCP data stream a) satisfies the packet loss filtering condition, and then the TCP data stream is selected, and when the packet 3 is received, the TCP data stream to which the packet 3 belongs is determined (ie, the TCP data stream a)
  • the TCP data stream is also selected at this time, and when the network transmitting device receives the packet s, the TCP data stream a is selected last time, and when the packet 3 is received, it is determined that the packet 3 belongs.
  • the TCP data stream satisfies the packet loss filtering condition.
  • the time when the TCP data stream a is selected last time may be the time for determining that the TCP data stream to which the packet 3 belongs meets the packet filtering condition, or the receiving time of the packet 3.
  • the selected time difference of the TCP data stream a to which the packet s belongs is between the reception time of the packet s and the time when the TCP data stream a was last selected before the reception time of the packet s.
  • the difference between the reception time of the packet s and the time at which the TCP data stream to which the packet 3 belongs satisfies the packet loss screening condition, or the difference between the reception time of the packet s and the reception time of the packet 3 .
  • the flow state information of the first TCP data stream may further include a duration in which the first TCP data stream is continuously selected.
  • the preset condition further includes that the duration of the TCP data stream is continuously selected is less than The second set time.
  • the first TCP data stream is selected to mean that the first TCP data stream satisfies the packet loss screening condition, and the duration of the first TCP data stream is continuously selected, which is the receiving time of the IP data packet to be processed and the first TCP data.
  • the TCP data stream a is continuously selected before the reception time of the packet s, which means that for the TCP data stream a, the TCP data is continuously received.
  • packet 2 and packet 3 of stream a are selected, the two TCP data streams are selected.
  • the duration of the first TCP data stream is continuously selected, and the reception time of the packet s and the reception of the TCP data stream a in the packet s are received.
  • the difference between the time when the first time is selected consecutively before the time is selected (when the packet 2 is received, the TCP data stream a to which the packet 2 belongs is determined to satisfy the packet loss filtering condition), specifically, the receiving time and the determination of the packet s
  • the difference between the time when the TCP data stream to which the packet 2 belongs satisfies the packet loss screening condition, or the difference between the reception time of the packet s and the reception time of the packet 2.
  • the first TCP data stream is selected one by one in the consecutively selected operations before the receiving time of the IP packet to be processed, which means that the first TCP is received before the IP data to be processed is received.
  • the IP data packet of the data stream determines that the first TCP data stream is selected (ie, the packet loss filtering condition is satisfied).
  • the packet loss rotation period that is, the second setting duration
  • the IP data packet from the TCP data stream may be received when the IP data packet of the TCP data stream is discarded.
  • the discarding time starts, and the duration of the continuous loss of the TCP data stream (the length of time that the IP data packets belonging to the TCP data stream are continuously discarded) is counted.
  • the determining whether the first TCP data stream to which the IP data packet to be processed belongs to meet the preset packet filtering condition may include:
  • the flow state information table Querying the flow state information table according to the unique identifier of the first TCP data flow to which the IP data packet to be processed belongs, and obtaining flow state information of the TCP data flow to which the IP data packet belongs; wherein the flow state information table is used to uniquely use the TCP data flow Identifying, as an index, storing flow state information of each TCP data stream;
  • the flow state information table may be set to record each TCP data flow in the cache queue of the network transmission device. The latest flow state information, so that when the network transmission device receives the to-be-processed IP data packet, the flow state information of the first TCP data flow to which the to-be-processed IP data packet belongs can be directly queried in the flow state information table. Then, it is quickly determined whether the first TCP data stream to which the to-be-processed IP data packet belongs meets the packet loss screening condition.
  • the flow state information of the TCP data stream stored in the flow state information table is also different for the specific information included in the flow state information. For example, if the flow state information includes a rate characterization value of the TCP data stream, the flow state information stored in the flow state information table by using the unique identifier of the TCP data stream as an index includes a rate characterization value of the TCP data stream; The status information also includes the time when the TCP data stream was last selected, and the stream status information stored in the flow status information table also includes the time when the TCP data stream was last selected.
  • the flow state information of each TCP data stream received within the preset duration may be counted according to the preset duration, and the statistics may be updated into the flow state information table to implement the convection state information. Update of the flow state information of the TCP data stream stored in the table.
  • the flow state information to be counted is different according to the specific information included in the flow state information. For example, for any TCP data stream, if the rate characterization value of the TCP data stream is the amount of data of the IP data packet belonging to the TCP data stream stored in the queue buffer within a preset duration, the required statistical stream state information is The amount of data of the IP data packet belonging to the TCP data stream stored in the queue buffer within a preset duration; if the rate of the TCP data stream is an IP packet that is received within the preset duration and belongs to the TCP data stream The amount of data, the flow state information that needs to be counted is the amount of data of the IP packet belonging to the TCP data stream received within the preset duration.
  • the unique identifier of a TCP data stream stored in the queue buffer does not exist in the current state information table within the current preset duration, the unique identifier of the TCP data stream can be directly indexed.
  • the flow state information corresponding to the TCP data stream may be stored in the flow state information table; if the unique identifier of a TCP data flow already exists in the flow state information table before the current preset duration is set, the The stream state information of the TCP stream that is newly counted in the current preset duration replaces the stream state information of the TCP stream that is counted by the previously set duration, and the flow state information of the TCP stream is updated.
  • the flow state information includes a rate representation value of the TCP data stream (characterized by the number of IP data packets of the TCP data stream stored in the queue buffer in a preset time) and a time when the TCP data stream was last selected ( The time when the TCP data stream was last selected), where the stream sequence number represents the unique identifier of the TCP stream.
  • the network transmission device when the network transmission device receives an IP data packet, it can find the corresponding flow state information in the table according to the flow sequence number of the TCP data flow to which the IP data packet belongs. For example, if the received stream number of the TCP data stream to which an IP data packet belongs is 1, the rate of the TCP data stream is represented by m_1, and the last time selected (most recently selected) is t_1.
  • the data transmission control method may further include: determining the IP data packet to be processed.
  • the rate characterization value of the associated first TCP data stream is zero.
  • the unique identifier of the first TCP data stream to which the IP data packet to be processed belongs (such as the stream sequence number in Table 1) is not found in the flow state information table, the number of the pending IP data packet belongs to A TCP data stream does not exist in the queue cache.
  • the currently received IP data packet is the first data packet of the first TCP data stream to which the IP data packet belongs in the current state of the network transmission device.
  • the traffic of the TCP data stream to which the IP packet to be processed belongs belongs to zero.
  • the unique identifier of the first TCP data stream to which the IP data packet to be processed belongs does not exist in the flow state information table, it indicates that the first TCP data stream to which the to-be-processed IP data packet belongs does not satisfy the packet loss screening. condition.
  • the data transmission control method of the embodiment of the present invention further includes:
  • Updating the last selected time of the first TCP data stream in the flow state information table specifically, updating the last selected time of the first TCP data stream in the flow state information table to determine that the pending IP data packet belongs to The first TCP data stream satisfies the time of discarding the screening condition or is updated to the receiving time of the IP packet to be processed.
  • the stream state information of the first TCP data stream to be updated is different.
  • the flow state information in the packet loss filtering condition includes the time when the TCP data stream is last selected, and after the TCP data stream is selected, the latest selected time of the first TCP data stream needs to be updated to be determined.
  • the flow state information in the packet loss filtering condition includes the duration in which the TCP data stream is continuously selected
  • the statistics need to be started. The length of time during which a TCP data stream is continuously selected or the length of time that the already counted first TCP data stream is continuously selected.
  • the data transmission control method may further include:
  • the set value in the preset condition is adjusted according to the length of the buffer queue, wherein the set value is negatively correlated with the buffer queue length.
  • the network transmission device can implement periodic adjustment of the set value in the first screening condition according to the buffer queue length in the queue cache, so that the packet loss filtering condition is more consistent with the actual storage state of the cache in the device.
  • the length of the cache queue refers to the length of the IP data packet stored in the queue cache.
  • the length of the cache queue may be represented by the number of bytes of the IP data packet stored in the queue cache, or may be in the queue cache. Characterized by the number of stored IP packets.
  • the corresponding adjustment rule when the set value is adjusted according to the length of the cache queue, the corresponding adjustment rule may be pre-configured, for example, the correspondence between the length of the cache queue and the set value is configured. After the cache queue length is calculated, the configuration may be configured according to the configuration. This correspondence adjusts the set value.
  • adjusting the set value in the preset condition according to the length of the cache queue may include:
  • the set value is adjusted according to the active packet loss rate, wherein the active packet loss rate has a negative correlation with the set value.
  • the set value can be adjusted according to the current active packet loss rate of the network transmission device.
  • the set value is lowered to make the number of selected TCP data streams more and more. It conforms to the actual application scenario of packet loss.
  • the first set duration and/or the second set duration in the preset condition may be adjusted according to the buffer queue length.
  • the cache queue length can be configured to have a negative correlation change with the first set duration and/or the second set duration.
  • the network transmission device may select the TCP data stream based on the preset condition. It is difficult. For example, maintaining a flow state information table requires a certain amount of storage space, and the complexity of maintaining the flow state information in the table may be unbearable for some network transmission devices. Therefore, in order to avoid the problem, in the embodiment of the present invention, the screening of the TCP data stream may be implemented based on the unique identifier of the TCP data stream.
  • the unique identifier of the TCP data stream may be a quintuple corresponding to the TCP data stream, or a unique stream identifier calculated by calculating a quintuple corresponding to the TCP data stream according to a preset algorithm, or may be another unique identifier.
  • the identifier of a TCP data stream may be a quintuple corresponding to the TCP data stream, or a unique stream identifier calculated by calculating a quintuple corresponding to the TCP data stream according to a preset algorithm, or may be another unique identifier.
  • the identifier of a TCP data stream may be a quintuple corresponding to the TCP data stream, or a unique stream identifier calculated by calculating a quintuple corresponding to the TCP data stream according to a preset algorithm, or may be another unique identifier.
  • the identifier of a TCP data stream may be a quintuple corresponding to the TCP data stream,
  • the foregoing packet loss filtering condition may include: the unique identifier of the TCP data stream is one of the preset data stream identifiers, where the pre-configured data stream identifier includes the TCP data stream stored in the queue cache. The unique identifier of at least one of the TCP data streams.
  • the data flow identifier of the TCP data stream may be pre-set in the network transmission device, and the possible identifier may be matched by matching the unique identifier of the first TCP data stream to which the received IP data packet belongs to the preset data stream identifier. TCP data stream that needs to be dropped. The number of the pre-configured data stream identifiers may be selected according to requirements. If the unique identifier of the first TCP data stream to which the received IP data packet belongs is one of the preset data stream identifiers, the first A TCP data stream satisfies the packet loss filtering condition.
  • the foregoing preset data stream identifier may be a unique identifier of one or more TCP data streams in the TCP data stream to which the IP data packet stored in the cache belongs. Further, the preset data stream identifier may be selected according to the size of the data stream in the TCP data stream. For example, the identifier of the TCP stream of the large stream is preferably used as a preset data stream identifier. In addition, the preset data stream identifier may be Periodic adjustments are made based on changes in the data stored in the cache.
  • the data transmission control method of the embodiment of the present invention may further include:
  • the hash index of the set number in the pre-configured hash table is rotated, and the currently selected hash index is marked;
  • the corresponding packet loss filtering condition includes: the hash value of the TCP data stream is one of the hash indexes of the current label, wherein the hash value of the TCP data stream is a hash function corresponding to the hash table, The unique identifier of the TCP data stream is hashed to obtain the value.
  • the TCP data stream that may need to drop the data packet may be selected by pre-configuring the hash table and periodically selecting the hash index in the hash table according to a preset time interval. Therefore, when the IP data packet to be processed is received, the first TCP may be quickly determined according to whether the hash value of the first TCP data stream to which the IP data packet to be processed belongs is one of the currently selected hash indexes. Whether the data stream satisfies the packet loss filtering condition. In this manner, when packet loss is required, the discarded IP data packet is concentrated on the TCP data stream corresponding to each selected hash index, and other unselected ha The TCP data stream corresponding to the index is not lost.
  • the hash function corresponding to the above hash table refers to a hash function used when initializing the hash table, and the specific selection of the hash function can be determined according to actual needs.
  • the hash table may be used to create a hash table.
  • the hash function may directly modulate the keyword pair with a number that is not greater than the length of the hash table.
  • the keyword is a TCP data stream.
  • Uniquely identifies When the unique identifier of the TCP data stream is the quintuple corresponding to the data stream, the quintuple of the received IP data packet may be directly hashed according to the hash function, and the calculated hash value is IP.
  • the hash value of the TCP data stream to which the data packet belongs is determined by determining whether the hash value belongs to one of the marked hash indexes, and quickly determines whether the TCP data stream to which the IP data packet belongs satisfies the packet loss filtering condition.
  • the time interval, the number of settings, and the selection rule can be set and adjusted according to actual application requirements.
  • the selection rules include sequential cycle selection.
  • the data transmission control method may further include:
  • the number of the above settings is adjusted according to the length of the buffer queue, wherein the set number is positively correlated with the length of the buffer queue.
  • the number of hash indexes selected in each queue may be adjusted according to the length of the cache queue in the queue buffer of the network transmission device.
  • the specific adjustment policy for adjusting the number of settings according to the length of the cache queue may be set according to actual application requirements. For example, in one specific example, adjusting the number of settings according to the length of the cache queue may include:
  • the number of settings is adjusted, wherein the active packet loss rate is positively correlated with the set number.
  • the number of settings is adjusted.
  • the higher the active packet loss rate the larger the value of the set number, and the more hash indexes are selected each time.
  • FIG. 1 a schematic diagram of a hash table is shown in FIG.
  • the hash function corresponding to the hash table directly modulates the number p of the keyword pair not greater than the hash table table length (ie, the number of indexes), and the hash table includes N hash indexes, the table 1, 2, ..., N schematically show N hash values, that is, hash indexes.
  • the rotation may be performed according to a preset time interval, and the number of settings may be selected according to actual application requirements.
  • the hash index is The TCP data stream of 1, 2 is selected.
  • the TCP data stream with the hash index of 3, 4, and 5 is selected, and when a round selection reaches the last Nth hash index. Then, you can go back to the first hash index to achieve the loopable selection.
  • the unique index of the first TCP data stream to which the IP data packet to be processed belongs is modulo, if the modulo result is one of the currently selected hash indexes, Quickly determine that the TCP data stream of the IP data packet satisfies the packet loss filtering condition.
  • Step S131 If the first TCP data stream meets the packet loss screening condition, the IP data packet to be processed is discarded when it is determined that the IP data packet to be processed is to be discarded according to the preset packet loss policy.
  • Step S132 If the first TCP data stream does not meet the packet loss filtering condition, the IP data packet to be processed is stored in a queue cache of the network transmission device.
  • different packet loss policies may be configured according to actual application requirements to determine whether IP data packets satisfying the packet loss screening condition need to be discarded.
  • the packet loss policy may be directly configured as a RED algorithm.
  • the active packet loss rate of the network transmission device needs to be determined. If the active packet loss rate is not less than the first packet loss rate threshold, the IP data packet is discarded. If the packet loss rate is greater than the second packet loss threshold and is less than the first packet loss threshold, the IP packet is randomly generated. If the random number is not less than the pre-configured packet threshold, the IP packet is discarded. If the packet rate is not greater than the second packet loss threshold, the IP packet is not discarded. The first packet loss rate threshold is greater than the second packet loss rate threshold, and the first packet loss rate threshold may be set as needed.
  • the corresponding packet loss threshold may be pre-configured for the active packet loss rate that is greater than the second packet loss threshold and smaller than the first packet loss threshold.
  • the packet loss threshold is not less than the second packet loss threshold.
  • the packet loss threshold corresponding to the active packet loss rate of the first packet loss rate threshold may be configured as X, and the active packet loss rate of the device at this time is met when the TCP data stream of the received IP packet satisfies the packet loss screening condition. If the second packet loss rate threshold is greater than the first packet loss rate threshold, a random number Y is generated for the IP data packet, and if Y is not less than X, the IP data packet is determined to be discarded.
  • the first packet loss rate threshold may be set to 100%
  • the second packet loss rate threshold may be set to 0%
  • the packet loss threshold may be configured to be 60
  • the active packet loss rate is 100%
  • the IP data packet that meets the packet loss filtering condition is directly discarded. If the active packet loss rate is greater than or equal to 60% and less than 100%, a random number between 1 and 100 is randomly generated for the IP data packet, and the generated random number is assumed to be 50. Since 50 is smaller than the packet loss threshold 60, the IP data packet is not discarded. If the generated random number is 70, since 70 is greater than the packet loss threshold 60, the IP data packet is discarded.
  • the RED packet loss method measures the congestion level according to the length of the cache queue of the network transmission device. The longer the queue length, the more serious the congestion degree and the higher the active packet loss rate.
  • FIG. 4 shows a specific example of determining the active packet loss rate according to the average queue length in the RED.
  • the abscissa ave_qlen represents the buffer queue length of the device's queue buffer
  • the ordinate ⁇ represents the active packet loss rate.
  • the active packet loss rate is 0 when no packet loss occurs, and the active packet loss rate is linear according to the length of the buffer queue when the buffer queue length is between the threshold min_thr and the threshold max_thr.
  • the maximum active packet loss rate is max_p.
  • max_thr When the cache queue length exceeds the threshold max_thr, the active packet loss rate is 1.
  • the active packet loss rate of the device is 1, the filtered IP packet is directly discarded. If the active packet loss rate is 0, the IP packet is stored in the queue cache. If the packet loss rate is greater than 0 and less than 1, the random number is used to determine whether to discard.
  • the active data packet is discarded, and the IP data packet of the TCP data stream that meets the packet loss filtering condition is used as an alternative IP packet to be discarded, and then
  • the packet policy (such as the RED algorithm) determines whether to discard the candidate IP packets to be discarded that are filtered by the packet loss filtering condition.
  • the method of the embodiment of the present invention achieves that the packet loss is concentrated on part of the TCP data stream, which is reduced.
  • the number of users affected by packet loss ensures the transmission of other TCP data streams without further deteriorating the user experience, which improves the experience of other users and thus improves the user experience statistically.
  • FIG. 5 is a schematic diagram showing a data transmission control method, a random drop method based on AQM technology, and a throughput change of a network transmission device based on a tail drop method without using AQM, according to an embodiment of the present invention
  • the abscissa represents time
  • the ordinate represents port utilization of the device
  • the curve S1 in the figure is a device port utilization curve according to the data transmission control method of the embodiment of the present invention
  • the curve S2 is a random discarding method based on the AQM technology.
  • the device port utilization curve, and curve S3 is a device port utilization curve based on the tail drop method that does not use AQM.
  • the method of the embodiment of the present invention can significantly improve the port utilization rate when the network is lightly loaded, because congestion occurs in the network transmission, and window down occurs.
  • the number of affected TCP data streams is reduced, the number of windowed TCP data streams is small. Under the same congestion level, the port utilization rate of the embodiment of the present invention is significantly improved.
  • FIG. 6 is a schematic diagram of a frame of a data transmission control apparatus 100 according to an embodiment of the present invention.
  • the data transmission control apparatus 100 may be implemented as a processor or directly. Deployed in a network transport device.
  • the network transmission control apparatus 100 may include a data receiving module 110 and a data processing module 120. among them:
  • the data receiving module 110 is configured to receive an IP data packet to be processed.
  • the data processing module 120 is configured to determine whether the first TCP data stream to which the to-be-processed IP data packet belongs meets a preset packet loss screening condition, and if the first TCP data stream satisfies the packet loss filtering condition, the data packet according to the preset packet loss When the policy determines that the IP packet to be processed is to be discarded, the IP packet to be processed is discarded. If the first TCP data stream does not meet the packet filtering condition, the IP packet to be processed is stored in the queue buffer of the network transmission device.
  • the network transmission control apparatus 100 when receiving the IP data packet to be processed, the network transmission control apparatus 100 first determines whether the first TCP data stream to which the received IP data packet belongs belongs to the packet loss screening condition, and only meets the lost condition.
  • the packet filtering condition is further determined according to the packet loss policy whether the IP packet to be processed needs to be discarded.
  • the network transmission control apparatus 100 concentrates the IP data packets that need to be discarded into the TCP data flow that meets the packet loss screening condition, thereby reducing the number of TCP data streams affected by the lost packet and reducing the packet loss. The number of users affected increases the overall user experience.
  • the packet loss screening condition includes that the flow state information of the TCP data stream meets a preset condition.
  • the data processing module 120 is specifically configured to: when determining whether the first TCP data stream to which the to-be-processed IP data packet belongs meets the preset packet loss filtering condition, specifically:
  • the rate characterization value of the first TCP data stream is used to characterize the transmission rate of the first TCP data stream.
  • the rate characterization value of the first TCP data stream is the amount of data of the IP data packet belonging to the first TCP data stream stored in the queue buffer within a preset duration.
  • the flow state information of the first TCP data stream further includes a time when the first TCP data stream is last selected, and the preset condition further includes that the selected time difference is greater than the first set duration, where the first TCP When the data stream is selected, the first TCP data stream satisfies the packet loss screening condition, and the selected time difference of the first TCP data stream is the difference between the receiving time of the IP packet to be processed and the time when the first TCP data stream is last selected.
  • the flow state information of the first TCP data stream further includes a duration in which the IP data packet of the first TCP data stream is continuously selected, and the preset condition further includes that the IP data packet of the TCP data stream is continuously selected.
  • the length of time is less than the second set duration, wherein the first TCP data stream is selected to mean that the first TCP data stream satisfies the packet loss screening condition, and the duration of the first TCP data stream is continuously selected.
  • the data transmission control apparatus 100 may further include a first condition adjustment module.
  • the first condition adjustment module is configured to determine a buffer queue length in the queue cache according to the first preset period; and adjust the set value according to the buffer queue length, wherein the set value is negatively correlated with the buffer queue length.
  • the data processing module 120 is specifically configured to: when determining whether the first TCP data stream to which the IP data packet to be processed belongs meets the preset packet loss screening condition, specifically:
  • the flow state information table Querying the flow state information table according to the unique identifier of the first TCP data stream to which the IP data packet to be processed belongs, and obtaining flow state information of the first TCP data flow, where the flow state information table is used to store the unique identifier of the TCP data flow as an index.
  • the flow state information of the TCP data stream determining, according to the flow state information of the first TCP data flow, whether the first TCP data flow satisfies the packet loss filtering condition.
  • the data transmission control apparatus 100 may further include a flow state information table update module 121, as shown in FIG.
  • the flow state information table update module 121 is configured to: when the flow state information of the first TCP data flow includes the time when the first TCP data flow is last selected, determine that the first TCP data flow to which the to-be-processed IP data packet belongs meets the pre- After the packet filtering condition is set, the latest selected time of the first TCP data stream in the flow state information table is updated to determine whether the first TCP data flow to which the pending IP data packet belongs meets the discarding screening condition or is updated to The receiving time of the pending IP packet.
  • the packet loss filtering condition includes: the unique identifier of the TCP data stream is one of the preset data stream identifiers, and the pre-configured data stream identifier includes at least one of the TCP data streams stored in the queue cache. A unique identifier for the TCP data stream.
  • the data transmission control apparatus 100 may further include a hash index rounding module 122, as shown in FIG.
  • the hash index rounding module 122 is configured to: rotate the selected hash index in the pre-configured hash table according to the preset time interval and the preset selection rule, and mark the currently selected hash index;
  • the packet loss filtering condition includes: the hash value of the TCP data stream is one of the currently marked hash indexes, wherein the hash value of the TCP data stream is a hash function corresponding to the hash table, and the TCP data stream is used.
  • the unique identifier is hashed to get the value.
  • the data transmission control apparatus 100 further includes a second condition adjustment module.
  • the second condition adjustment module is configured to determine a buffer queue length in the queue cache according to the second preset period, and adjust the set number according to the buffer queue length, wherein the set number is positively correlated with the buffer queue length.
  • the selection rules include sequential cycle selection.
  • the unique identifier of the TCP data stream is a quintuple of the TCP data stream, or a unique identifier calculated by calculating a quintuple of the TCP data stream according to a preset algorithm.
  • the data transmission control apparatus 100 further includes an associated TCP data flow determining module.
  • the TCP data flow determining module is configured to determine, according to the quintuple of the IP data packet, the TCP data flow to which the IP data packet belongs before determining whether the TCP data flow to which the IP data packet belongs meets the preset packet loss filtering condition.
  • the packet loss policy includes a RED algorithm.
  • the data processing module 120 is further configured to store the IP data packet into the queue cache when it is determined that the IP data packet is not discarded.
  • the data transmission control apparatus 100 can correspond to the execution body in the data transmission control method according to the embodiment of the present invention, and the operations and/or functions of the respective modules in the data transmission control apparatus 100 are respectively implemented.
  • the corresponding processes in the data transmission control method of the embodiment of the present invention are implemented. For brevity, details are not described herein again.
  • FIG. 9 is a schematic block diagram of a network transmission device 200 in accordance with an embodiment of the present invention.
  • the network transmission device 200 includes a processor 201, a memory 202 for storing executable program code, and a communication interface 203.
  • the processor 201 operates by reading executable program code stored in the memory 202.
  • a program corresponding to the executable program code for performing the data transfer control method of any of the above embodiments of the present invention.
  • the communication interface 203 is used for communication with an external device.
  • the network transmission device 200 may further include a bus 204 for connecting the processor 201, the memory 202, and the communication interface 203, so that the processor 201, the memory 202, and the communication interface 203 pass through the bus 204. Communicate with each other.
  • the network transmission device 200 may correspond to an execution subject in a data transmission control method according to an embodiment of the present invention, and operations and/or functions of respective modules in the network transmission device 200 are respectively implemented to implement the present invention. Corresponding processes of the method in the embodiment are not described herein for brevity.
  • the embodiment of the invention further provides a computer readable storage medium, wherein the readable storage medium stores computer instructions, when the computer instructions are run on a computer, causing the computer to execute the data in any of the above embodiments of the present invention.
  • Transmission control method
  • the above embodiments it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof.
  • software it may be implemented in whole or in part in the form of a computer program product.
  • the computer program product includes one or more computer instructions.
  • the computer program instructions When the computer program instructions are loaded and executed on a computer, the processes or functions described in accordance with embodiments of the present invention are generated in whole or in part.
  • the computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable device.
  • the computer instructions can be stored in a computer readable storage medium or transferred from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions can be from a website site, computer, server or data center Transfer to another website site, computer, server, or data center by wire (eg, coaxial cable, fiber optic, digital subscriber line (DSL), or wireless (eg, infrared, wireless, microwave, etc.).
  • the computer readable storage medium can be any available media that can be accessed by a computer or a data storage device such as a server, data center, or the like that includes one or more available media.
  • the usable medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (eg, a DVD), or a semiconductor medium such as a Solid State Disk (SSD) or the like.

Landscapes

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

Abstract

Disclosed are a data transmission control method and apparatus, and a network transmission device and a storage medium. The data transmission control method comprises: receiving an Internet protocol (IP) data packet to be processed; determining whether a first TCP data stream to which the IP data packet to be processed belongs satisfies a pre-set packet loss screening condition; if the first TCP data stream satisfies the packet loss screening condition, dropping the IP data packet to be processed when determining, according to a pre-set packet loss strategy, that the IP data packet to be processed is to be dropped; and if the first TCP data stream does not satisfy the packet loss screening condition, storing the IP data packet to be processed in a queue cache of a network transmission device. According to the embodiments of the present invention, by determining whether a TCP data stream to which an IP data packet belongs satisfies a packet loss screening condition, a lost packet is centralized on the TCP data stream satisfying the packet loss screening condition, such that the quantity of TCP data streams affected by packet loss is reduced, and the number of users affected by the packet loss is thus reduced.

Description

数据传输控制方法和装置、以及网络传输设备和存储介质Data transmission control method and device, and network transmission device and storage medium
本申请要求于2018年2月8日提交中国专利局、申请号为201810129482.9、申请名称为“数据传输控制方法和装置、以及网络传输设备和存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of the Chinese Patent Application filed on February 8, 2018, the Chinese Patent Office, Application No. 201101129482.9, the application of the name of "Data Transmission Control Method and Apparatus, and Network Transmission Equipment and Storage Medium", the entire contents of which are hereby incorporated by reference. This is incorporated herein by reference.
技术领域Technical field
本发明涉及通信技术领域,具体涉及一种数据传输控制方法和装置、以及网络传输设备和存储介质。The present invention relates to the field of communications technologies, and in particular, to a data transmission control method and apparatus, and a network transmission apparatus and a storage medium.
背景技术Background technique
传输控制协议(Transmission Control Protocol,TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP的流量在因特网协议(Internet Protocol,IP)网络中占据统治地位。TCP通过确认与重传来保证传输的可靠性,使用拥塞控制算法来控制发送速率,在充分利用网络资源的同时又避免造成网络拥塞。The Transmission Control Protocol (TCP) is a connection-oriented, reliable, byte stream-based transport layer communication protocol. TCP traffic dominates the Internet Protocol (IP) network. TCP guarantees the reliability of transmission by acknowledgment and retransmission, and uses congestion control algorithm to control the transmission rate, making full use of network resources while avoiding network congestion.
网络流量具有明显的突发性,即在时间上流量的大小是不均匀的。网络传输设备中,例如路由器、交换机、光线路终端(Optical Line Terminal,OLT)和数字用户线路接入复用器(Digital Subscriber Line Access Multiplexer,DSLAM)等,一般使用缓存并以队列的形式来吸收流量的突发。当网络流量超过网络设备的处理能力时,设备将缓存数据包,以防止丢包。若网络流量持续大于设备处理能力的时间较长,则缓存队列的长度将不断上升,直至溢出。Network traffic has obvious burstiness, that is, the amount of traffic is not uniform over time. Network transmission equipment, such as routers, switches, optical line terminals (OLTs), and Digital Subscriber Line Access Multiplexers (DSLAMs), generally use buffers and absorb them in the form of queues. A burst of traffic. When the network traffic exceeds the processing capacity of the network device, the device will cache the data packet to prevent packet loss. If the network traffic continues to be longer than the processing capacity of the device, the length of the cache queue will continue to rise until it overflows.
网络传输设备发生缓存溢出时,将无法接收新到达的数据包,即数据包都将被丢弃,这种现象被称为尾丢弃。尾丢弃的主要危害是TCP流之间的全局同步,从而造成设备利用率低。这是因为,在网络设备处于尾丢弃状态时,经过该设备的TCP流都会被丢包,这些TCP流会同步的进入“丢包—降速—重传—增速”的周期。同步增速时,容易导致网络设备负载过重,而同步降速时,会导致网络设备利用率低。When a network transmission device overflows, it will not be able to receive newly arrived packets, that is, packets will be discarded. This phenomenon is called tail drop. The main hazard of tail drop is the global synchronization between TCP flows, resulting in low device utilization. This is because, when the network device is in the tail drop state, the TCP stream passing through the device will be dropped, and the TCP streams will synchronously enter the cycle of "drop packet-down-speed-retransmission-speed increase". When the synchronous speed is increased, the network device is overloaded. When the data is slowed down synchronously, the network device utilization is low.
主动队列管理(Active Queue Management,AQM)是针对尾丢弃所被广泛采用的现有技术,其基本思想是在队列开始堆积时就主动治理,而不是等队列被动溢出时尾丢弃。但是AQM技术中的主动丢包过程中丢包行为是盲目的,只是以一定的概率进行判断是否丢包,其所带来的后果就是被丢包的TCP数据流多,受丢包影响的用户多。Active Queue Management (AQM) is a widely used technology for tail drop. The basic idea is to actively manage the queue when it starts to accumulate, instead of tail-dropping when the queue is passively overflowing. However, the packet loss behavior in the active packet loss process in AQM technology is blind. It only judges whether packet loss is performed with a certain probability. The consequence of this is that there are many TCP data streams that are lost packets, and users affected by packet loss. many.
发明内容Summary of the invention
本申请提供了一种网络数据传输控制方法和装置、以及网络传输设备和存储介质,能够减少丢包所影响的TCP数据流的数量,提升总体用户体验。The present application provides a network data transmission control method and apparatus, and a network transmission device and a storage medium, which can reduce the number of TCP data streams affected by packet loss and improve the overall user experience.
第一方面,本申请提供了一种数据传输控制方法,所述方法由网络传输设备执行,所述方法包括:接收待处理IP数据包;确定所述待处理IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件;若所述第一TCP数据流满足所述丢包筛选条件, 则在根据预设的丢包策略确定要丢弃所述IP数据包时,将所述待处理IP数据包丢弃;若所述第一TCP数据流不满足所述丢包筛选条件,则将所述待处理IP数据包存储到所述网络传输设备的队列缓存中。In a first aspect, the present application provides a data transmission control method, where the method is performed by a network transmission device, the method includes: receiving an IP data packet to be processed; and determining first TCP data to which the to-be-processed IP data packet belongs Whether the flow meets the preset packet loss screening condition; if the first TCP data flow satisfies the packet loss screening condition, when the IP data packet is to be discarded according to the preset packet loss policy, the And processing the IP data packet to be discarded; if the first TCP data flow does not satisfy the packet loss screening condition, storing the to-be-processed IP data packet in a queue cache of the network transmission device.
本申请中,通过设置丢包筛选条件,对接收到的IP数据包所属的TCP数据流进行筛选,在IP数据包所属的TCP数据流满足丢包筛选条件时再进一步确定是否将IP数据包丢弃。可见,采用本申请第一方面的实施方式,在需要主动丢包时,将要丢弃的IP数据包集中到了满足丢包筛选条件TCP数据流上,减少了受丢包影响的TCP数据流的数量,从而减少了受丢包影响的用户数量,提升了总体用户体验。In the present application, the TCP data stream to which the received IP data packet belongs is filtered by setting a packet loss filtering condition, and further determining whether to drop the IP data packet when the TCP data flow to which the IP data packet belongs satisfies the packet loss filtering condition. . It can be seen that, in the implementation manner of the first aspect of the present application, when the active packet loss is required, the IP data packet to be discarded is concentrated on the TCP data stream that meets the packet loss screening condition, and the number of TCP data streams affected by the packet loss is reduced. This reduces the number of users affected by packet loss and improves the overall user experience.
结合第一方面,在第一方面的一种可能的实施方式中,所述丢包筛选条件包括TCP数据流的流状态信息满足预设条件;所述确定所述IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件,包括:确定所述第一TCP数据流的流状态信息是否满足所述预设条件;其中,所述第一TCP数据流的流状态信息包括所述第一TCP数据流的速率表征值,所述预设条件包括速率表征值大于设定值,所述第一TCP数据流的速率表征值用于表征所述第一TCP数据流的传输速率。With reference to the first aspect, in a possible implementation manner of the first aspect, the packet loss screening condition includes: the flow state information of the TCP data stream meets a preset condition; and the determining the first TCP to which the IP data packet belongs Whether the data stream meets the preset packet loss screening condition includes: determining whether the flow state information of the first TCP data stream meets the preset condition; wherein, the flow state information of the first TCP data stream includes the A rate characterization value of the first TCP data stream, the preset condition comprising a rate characterization value greater than a set value, the rate characterization value of the first TCP data stream being used to characterize a transmission rate of the first TCP data stream.
本申请中,通过将丢包筛选条件设置为TCP数据流的速率表征值大于设定值,将被丢包的TCP数据流选择在大流上,降低了丢包触发TCP重传超时(Retransmission Timeout,RTO)的可能性,从而减少了降窗的发生,减少了丢包对设备网络传输性能的影响。In the present application, by setting the packet loss screening condition to the TCP data stream, the rate representation value is greater than the set value, and the TCP data stream that is lost is selected on the large stream, which reduces the packet loss triggering TCP retransmission timeout (Retransmission Timeout). , RTO), thereby reducing the occurrence of window down, and reducing the impact of packet loss on the transmission performance of the device network.
结合第一方面或第一方面的上述实施方式,在第一方面的一种可能的实施方式中,所述第一TCP数据流的速率表征值为预设时长内存储到所述队列缓存中的属于所述第一TCP数据流的IP数据包的数据量。With the first aspect or the foregoing implementation manner of the first aspect, in a possible implementation manner of the first aspect, the rate characterization value of the first TCP data stream is stored in the queue cache within a preset duration The amount of data of the IP packet belonging to the first TCP data stream.
结合第一方面或第一方面的上述实施方式,在第一方面的一种可能的实施方式中,所述属于所述第一TCP数据流的IP数据包的数据量,为属于所述第一TCP数据流的IP数据包的字节数和/或IP数据包的个数;速率表征值大于设定值为IP数据包的字节数大于设定字节数和/或IP数据包的个数大于设定数。With reference to the first aspect or the foregoing implementation manner of the first aspect, in a possible implementation manner of the first aspect, the data quantity of the IP data packet belonging to the first TCP data stream belongs to the first The number of bytes of the IP data packet of the TCP data stream and/or the number of IP data packets; the rate representation value is greater than the set value. The number of bytes of the IP data packet is greater than the set number of bytes and/or the number of IP data packets. The number is greater than the set number.
结合第一方面或第一方面的上述实施方式,在第一方面的一种可能的实施方式中,所述第一TCP数据流的流状态信息还包括所述第一TCP数据流最近一次被选中的时间,所述预设条件还包括选中时差大于第一设置时长;其中,所述第一TCP数据流被选中是指所述第一TCP数据流满足所述丢包筛选条件,所述第一TCP数据流的选中时差为所述待处理IP数据包的接收时间与所述第一TCP数据流最近一次被选中的时间的差值。With the first aspect or the foregoing implementation manner of the first aspect, in a possible implementation manner of the first aspect, the flow state information of the first TCP data stream further includes that the first TCP data stream is selected last time. The preset condition further includes that the selected time difference is greater than the first set duration; wherein the first TCP data stream is selected to mean that the first TCP data stream satisfies the packet loss screening condition, the first The selected time difference of the TCP data stream is the difference between the reception time of the IP packet to be processed and the time when the first TCP data stream is last selected.
本申请中,通过设置上述第一设置时长作为丢包保护周期,避免了同一条TCP数据流在一个丢包保护周期内被多次选中,从而避免由于同一条数据流的丢包数量过多,造成该数据流的重传包被丢弃导致触发TCP RTO的情况出现。In the present application, by setting the first set duration as the packet loss protection period, the same TCP data stream is prevented from being selected multiple times in one packet protection period, thereby avoiding excessive packet loss due to the same data stream. The situation in which the retransmission packet of the data stream is discarded causes the triggering of the TCP RTO.
结合第一方面或第一方面的上述实施方式,在第一方面的一种可能的实施方式中,所述第一TCP数据流的流状态信息还包括所述第一TCP数据流被连续选中的时长,所述预设条件还包括TCP数据流被连续选中的时长小于第二设置时长;其中,所述第一TCP数据流被选中是指所述第一TCP数据流满足所述丢包筛选条件,所述第一TCP数据流被连续选中的时长,为所述待处理IP数据包的接收时间与所述第一TCP数据 流在所述待处理IP数据包的接收时间之前被连续选中的最早一次被选中时间之间的时长。With the first aspect or the foregoing implementation manner of the first aspect, in a possible implementation manner of the first aspect, the flow state information of the first TCP data stream further includes that the first TCP data stream is continuously selected The preset condition further includes that the duration of the TCP data stream being continuously selected is less than the second set duration; wherein the first TCP data stream is selected to indicate that the first TCP data stream satisfies the packet loss screening condition The duration of the first TCP data stream being continuously selected, the earliest time of the receiving time of the to-be-processed IP data packet and the first TCP data stream being consecutively selected before the receiving time of the to-be-processed IP data packet The length of time between times selected.
需要说明的是,对于每一个TCP数据流而言,例如对于上述第一TCP数据流,每次接收到一个属于第一TCP数据流的IP数据包时,都需要确定此时接收到的IP数据包所属的第一TCP数据流是否满足丢包筛选条件,若满足丢包筛选条件,则说明此次第一TCP数据流被选中。第一TCP数据流被连续选中,表明在所述待处理IP数据包的接收时间之前,接收到的多个属于第一TCP数据流的IP数据包时,该多个IP数据包所属的TCP数据流(即第一TCP数据流)连续被确定为满足丢包筛选条件。此外,若在所述待处理IP数据包的接收时间之前,只接收到了属于第一TCP数据流的一个IP数据包,则第一TCP数据流被连续选中则是指在接收到这一个IP数据包时,确定该一个IP数据包所属的第一TCP数据流满足丢包筛选条件。It should be noted that, for each TCP data stream, for example, for the first TCP data stream, each time an IP data packet belonging to the first TCP data stream is received, it is necessary to determine the IP data received at this time. Whether the first TCP data stream to which the packet belongs meets the packet loss filtering condition. If the packet loss filtering condition is met, the first TCP data stream is selected. The first TCP data stream is continuously selected, indicating that the plurality of IP data packets belonging to the first TCP data stream are received before the receiving time of the IP data packet to be processed, and the TCP data to which the multiple IP data packets belong The stream (i.e., the first TCP data stream) is continuously determined to satisfy the packet loss filtering condition. In addition, if only one IP data packet belonging to the first TCP data stream is received before the receiving time of the to-be-processed IP data packet, the first TCP data stream is continuously selected, that is, the IP data is received. When the packet is used, it is determined that the first TCP data stream to which the one IP data packet belongs satisfies the packet loss filtering condition.
可以理解的是,上述第一TCP数据流被连续选中是包括所述待处理IP数据包的接收时间之前最近一次接收到的属于所述第一TCP数据流的IP数据包时,该最近一次接收到的IP数据包所属的第一TCP数据流也是满足丢包筛选条件的。It can be understood that, when the first TCP data stream is continuously selected, including the IP packet belonging to the first TCP data stream that was received last time before the receiving time of the IP packet to be processed, the latest receiving The first TCP data stream to which the IP packet belongs belongs to the packet filtering condition.
结合第一方面或第一方面的上述实施方式,在第一方面的一种可能的实施方式中,所述方法还包括:按照第一预设周期确定所述队列缓存中的缓存队列长度;根据所述缓存队列长度调整所述设定值,其中,所述设定值与所述缓存队列长度呈负相关变化。With the first aspect or the foregoing implementation manner of the first aspect, in a possible implementation manner of the first aspect, the method further includes: determining, according to a first preset period, a cache queue length in the queue cache; The buffer queue length adjusts the set value, wherein the set value is negatively correlated with the buffer queue length.
本申请中,可以根据网络传输设备的队列缓存中缓存队列长度实现筛选条件的周期性调整,从而使筛选条件更符合设备中缓存的实际存储状态,使数据传输的控制效果更符合实际的网络状态。In this application, the periodic adjustment of the screening condition can be implemented according to the cache queue length in the queue buffer of the network transmission device, so that the filtering condition is more consistent with the actual storage state of the cache in the device, so that the control effect of the data transmission is more in line with the actual network state. .
结合第一方面或第一方面的上述实施方式,在第一方面的一种可能的实施方式中,所述确定所述待处理IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件,包括:根据所述待处理IP数据包所属的第一TCP数据流的唯一标识查询流状态信息表,得到所述第一TCP数据流的流状态信息,所述流状态信息表用于以TCP数据流的唯一标识为索引存储每个TCP数据流的流状态信息;根据所述第一TCP数据流的流状态信息,确定所述第一TCP数据流是否满足所述丢包筛选条件。With the first aspect or the foregoing implementation manner of the first aspect, in a possible implementation manner of the first aspect, the determining whether the first TCP data flow to which the to-be-processed IP data packet belongs meets a preset packet loss And the filtering condition includes: querying the flow state information table according to the unique identifier of the first TCP data flow to which the to-be-processed IP data packet belongs, and obtaining flow state information of the first TCP data flow, where the flow state information table is used for And storing, by the unique identifier of the TCP data stream, flow state information of each TCP data stream; determining, according to the flow state information of the first TCP data flow, whether the first TCP data flow satisfies the packet loss screening condition.
本申请中,可以通过配置用于记录TCP数据流的流状态信息的流状态信息表,从而使的网络传输设备接收到待处理IP数据包时,能够通过查表的方式快速确定出待处理IP数据包所属第一TCP数据流的流状态信息,提高了IP数据包的处理效率。In this application, the flow state information table for recording the flow state information of the TCP data flow may be configured, so that when the network transmission device receives the IP data packet to be processed, the IP address to be processed can be quickly determined by means of table lookup. The flow state information of the first TCP data stream to which the data packet belongs improves the processing efficiency of the IP data packet.
结合第一方面或第一方面的上述实施方式,在第一方面的一种可能的实施方式中,若所述第一TCP数据流的流状态信息包括所述第一TCP数据流最近一次被选中的时间,确定所述待处理IP数据包所属的第一TCP数据流满足预设的丢包筛选条件之后,所述方法还包括:将所述流状态信息表中所述第一TCP数据流的最近一次被选中的时间更新为确定所述待处理IP数据包所属的第一TCP数据流满足所述丢包筛选条件的时间或者更新为所述待处理IP数据包的接收时间。With the first aspect or the foregoing implementation manner of the first aspect, in a possible implementation manner of the first aspect, if the flow state information of the first TCP data stream includes the first TCP data stream is selected last time After determining that the first TCP data stream to which the to-be-processed IP data packet belongs meets a preset packet loss screening condition, the method further includes: using the first TCP data stream in the flow state information table The last selected time is updated to determine whether the first TCP data stream to which the to-be-processed IP data packet belongs meets the packet loss screening condition or is updated to the reception time of the to-be-processed IP data packet.
结合第一方面或第一方面的上述实施方式,在第一方面的一种可能的实施方式中,所述丢包筛选条件包括TCP数据流的唯一标识为预设置的数据流标识中的一个,所述预配置的数据流标识包括所述队列缓存中存储的TCP数据流中的至少一个TCP数据流的唯一标识。With the first aspect or the foregoing implementation manner of the first aspect, in a possible implementation manner of the first aspect, the packet loss filtering condition includes: the unique identifier of the TCP data stream is one of the preset data stream identifiers, The pre-configured data flow identifier includes a unique identifier of at least one of the TCP data streams stored in the queue cache.
本申请中,为了减少对网络传输设备的存储及资源的占用,可以直接采用数据流标识作为丢包筛选条件,将需要丢包的TCP数据流集中到预设置的数据流标识所对应的TCP数据流上,减少受丢包影响的TCP数据流的数量。In this application, in order to reduce the storage and resource occupation of the network transmission device, the data flow identifier may be directly used as a packet blanking condition, and the TCP data stream that needs to be lost is concentrated into the TCP data corresponding to the preset data stream identifier. On the flow, reduce the number of TCP data streams affected by packet loss.
结合第一方面或第一方面的上述实施方式,在第一方面的一种可能的实施方式中,所述方法还包括:按照预设时间间隔和预设的选择规则,轮换选择预配置的哈希表中设定个数的哈希索引,并标记当前选择的哈希索引;所述丢包筛选条件包括TCP数据流的哈希值为当前标记的哈希索引中的一个,其中,TCP数据流的哈希值为通过所述哈希表所对应的哈希函数,对TCP数据流的唯一标识进行哈希计算得到的值。With the first aspect or the foregoing implementation manner of the first aspect, in a possible implementation manner of the first aspect, the method further includes: rotating the selected pre-configured ha according to a preset time interval and a preset selection rule Setting a hash index of the number in the hash table and marking the currently selected hash index; the packet filtering condition includes one of the hash indexes of the current data tag of the TCP data stream, wherein the TCP data The hash value of the stream is a value obtained by hashing the unique identifier of the TCP data stream through a hash function corresponding to the hash table.
本申请中,通过预配置上述哈希表,在接收到IP数据包时,即可根据IP数据包所属的TCP数据流的哈希值与当前被选择的哈希索引相比对,快速的判断出IP数据包所属的TCP数据流是否满足丢包筛选条件。In the present application, by pre-configuring the hash table, when the IP data packet is received, the hash value of the TCP data stream to which the IP data packet belongs may be compared with the currently selected hash index, and the fast judgment is performed. Whether the TCP data stream to which the IP packet belongs meets the packet loss filtering condition.
结合第一方面或第一方面的上述实施方式,在第一方面的一种可能的实施方式中,所述方法还包括:按照第二预设周期确定所述队列缓存中的缓存队列长度;根据所述缓存队列长度调整所述设定个数,其中,所述设定个数与所述缓存队列长度呈正相关变化。With the first aspect or the foregoing implementation manner of the first aspect, in a possible implementation manner of the first aspect, the method further includes: determining, according to a second preset period, a cache queue length in the queue cache; The buffer queue length adjusts the set number, wherein the set number is positively correlated with the buffer queue length.
结合第一方面或第一方面的上述实施方式,在第一方面的一种可能的实施方式中,所述选择规则包括顺序循环选择。In conjunction with the first aspect or the above embodiment of the first aspect, in a possible implementation of the first aspect, the selection rule comprises a sequential loop selection.
结合第一方面或第一方面的上述实施方式,在第一方面的一种可能的实施方式中,TCP数据流的唯一标识为TCP数据流的五元组,或根据预设算法对TCP数据流的五元组进行计算得到的唯一标识。With reference to the first aspect or the foregoing implementation manner of the first aspect, in a possible implementation manner of the first aspect, the unique identifier of the TCP data stream is a quintuple of the TCP data stream, or the TCP data stream according to a preset algorithm. The quintuple is calculated to obtain a unique identifier.
结合第一方面或第一方面的上述实施方式,在第一方面的一种可能的实施方式中,所述确定所述待处理IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件之前,还包括:根据所述待处理IP数据包的五元组确定所述IP数据包所属的第一TCP数据流。With the first aspect or the foregoing implementation manner of the first aspect, in a possible implementation manner of the first aspect, the determining whether the first TCP data flow to which the to-be-processed IP data packet belongs meets a preset packet loss Before the screening condition, the method further includes: determining, according to the quintuple of the to-be-processed IP data packet, the first TCP data stream to which the IP data packet belongs.
结合第一方面或第一方面的上述实施方式,在第一方面的一种可能的实施方式中,所述丢包策略包括随机早检测(Random Early Detection,RED)算法。With the first aspect or the foregoing implementation manner of the first aspect, in a possible implementation manner of the first aspect, the packet loss policy includes a random early detection (RED) algorithm.
结合第一方面或第一方面的上述实施方式,在第一方面的一种可能的实施方式中,在确定不丢弃所述待处理IP数据包时,所述方法还包括:将所述待处理IP数据包存储到所述队列缓存中。With the first aspect or the foregoing implementation manner of the first aspect, in a possible implementation manner of the first aspect, when determining that the to-be-processed IP data packet is not to be discarded, the method further includes: the to-be-processed IP packets are stored in the queue cache.
第二方面,本申请提供了一种数据传输控制装置,所述装置包括:数据接收模块,用于接收待处理因特网协议IP数据包;数据处理模块,用于确定所述待处理IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件,若所述第一TCP数据流满足所述丢包筛选条件,则在根据预设的丢包策略确定要丢弃所述待处理IP数据包时,将所述待处理IP数据包丢弃,若所述第一TCP数据流不满足所述丢包筛选条件,则将所述待处理IP数据包存储到所述网络传输设备的队列缓存中。In a second aspect, the present application provides a data transmission control apparatus, where the apparatus includes: a data receiving module, configured to receive an Internet Protocol IP data packet to be processed; and a data processing module, configured to determine that the to-be-processed IP data packet belongs to Whether the first TCP data stream meets the preset packet loss filtering condition, and if the first TCP data stream satisfies the packet loss filtering condition, determining to discard the to-be-processed IP data according to the preset packet loss policy And deleting the to-be-processed IP data packet, if the first TCP data flow does not satisfy the packet loss screening condition, storing the to-be-processed IP data packet in a queue cache of the network transmission device .
结合第二方面,在第二方面的一种可能的实施方式中,所述丢包筛选条件包括TCP数据流的流状态信息满足预设条件;所述数据处理模块在确定所述待处理IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件时,具体用于:确定所述第一TCP数据流的流状态信息是否满足所述预设条件;其中,所述第一TCP数据流的流状态信 息包括所述第一TCP数据流的速率表征值,所述预设条件包括速率表征值大于设定值,所述第一TCP数据流的速率表征值用于表征所述第一TCP数据流的传输速率。With reference to the second aspect, in a possible implementation manner of the second aspect, the packet loss filtering condition includes: the flow state information of the TCP data stream meets a preset condition; and the data processing module determines the to-be-processed IP data. When the first TCP data stream to which the packet belongs meets the preset packet filtering condition, the method is specifically configured to: determine whether the flow state information of the first TCP data stream meets the preset condition; wherein, the first TCP The flow state information of the data stream includes a rate characterization value of the first TCP data stream, the preset condition includes a rate characterization value greater than a set value, and the rate characterization value of the first TCP data stream is used to characterize the first The transmission rate of a TCP data stream.
结合第二方面或第二方面的上述实施方式,在第二方面的一种可能的实施方式中,所述第一TCP数据流的速率表征值为预设时长内存储到所述队列缓存中的属于所述第一TCP数据流的IP数据包的数据量。With the second aspect or the foregoing implementation manner of the second aspect, in a possible implementation manner of the second aspect, the rate characterization value of the first TCP data stream is stored in the queue cache within a preset duration The amount of data of the IP packet belonging to the first TCP data stream.
结合第二方面或第二方面的上述实施方式,在第二方面的一种可能的实施方式中,所述第一TCP数据流的流状态信息还包括所述第一TCP数据流最近一次被选中的时间,所述预设条件还包括选中时差大于第一设置时长,其中,所述第一TCP数据流被选中是指所述第一TCP数据流满足所述丢包筛选条件,所述第一TCP数据流的选中时差为所述待处理IP数据包的接收时间与所述第一TCP数据流最近一次被选中的时间的差值。With the second aspect or the foregoing implementation manner of the second aspect, in a possible implementation manner of the second aspect, the flow state information of the first TCP data stream further includes that the first TCP data stream is selected last time The preset condition further includes that the selected time difference is greater than the first set duration, wherein the first TCP data stream is selected to mean that the first TCP data stream satisfies the packet loss screening condition, the first The selected time difference of the TCP data stream is the difference between the reception time of the IP packet to be processed and the time when the first TCP data stream is last selected.
结合第二方面或第二方面的上述实施方式,在第二方面的一种可能的实施方式中,所述第一TCP数据流的流状态信息还包括所述第一TCP数据流被连续选中的时长,所述预设条件还包括TCP数据流被连续选中的时长小于第二设置时长;其中,所述第一TCP数据流被选中是指所述第一TCP数据流满足所述丢包筛选条件,所述第一TCP数据流被连续选中的时长,为所述待处理IP数据包的接收时间与所述第一TCP数据流在所述待处理IP数据包的接收时间之前被连续选中的最早一次被选中时间之间的时长。With the second aspect or the foregoing implementation manner of the second aspect, in a possible implementation manner of the second aspect, the flow state information of the first TCP data stream further includes that the first TCP data stream is continuously selected The preset condition further includes that the duration of the TCP data stream being continuously selected is less than the second set duration; wherein the first TCP data stream is selected to indicate that the first TCP data stream satisfies the packet loss screening condition The duration of the first TCP data stream being continuously selected, the earliest time of the receiving time of the to-be-processed IP data packet and the first TCP data stream being consecutively selected before the receiving time of the to-be-processed IP data packet The length of time between times selected.
结合第二方面或第二方面的上述实施方式,在第二方面的一种可能的实施方式中,所述装置还包括:第一条件调整模块,用于按照第一预设周期确定所述队列缓存中的缓存队列长度;根据所述缓存队列长度调整所述设定值,其中,所述设定值与所述缓存队列长度呈负相关变化。With the second aspect or the foregoing implementation manner of the second aspect, in a possible implementation manner of the second aspect, the device further includes: a first condition adjustment module, configured to determine the queue according to a first preset period The length of the cache queue in the cache; the set value is adjusted according to the length of the cache queue, wherein the set value is negatively correlated with the length of the cache queue.
结合第二方面或第二方面的上述实施方式,在第二方面的一种可能的实施方式中,所述数据处理模块在确定所述待处理IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件时,具体用于:根据所述待处理IP数据包所属的第一TCP数据流的唯一标识查询流状态信息表,得到所述第一TCP数据流的流状态信息,所述流状态信息表用于以TCP数据流的唯一标识为索引存储每个TCP数据流的流状态信息;根据所述第一TCP数据流的流状态信息,确定所述第一TCP数据流是否满足所述丢包筛选条件。With the second aspect or the foregoing implementation manner of the second aspect, in a possible implementation manner of the second aspect, the data processing module determines whether the first TCP data flow to which the to-be-processed IP data packet belongs is satisfied When the packet filtering condition is set, the method is specifically configured to: query the flow state information table according to the unique identifier of the first TCP data flow to which the to-be-processed IP data packet belongs, to obtain flow state information of the first TCP data flow, where The flow state information table is configured to store, by using a unique identifier of the TCP data stream, flow state information of each TCP data stream; and determining, according to the flow state information of the first TCP data flow, whether the first TCP data flow is satisfied The packet loss screening condition.
结合第二方面或第二方面的上述实施方式,在第二方面的一种可能的实施方式中,所述装置还包括:流状态信息表更新模块,用于在所述第一TCP数据流的流状态信息包括所述第一TCP数据流最近一次被选中的时间时,在确定所述待处理IP数据包所属的第一TCP数据流满足预设的丢包筛选条件之后,将所述流状态信息表中所述第一TCP数据流的最近一次被选中的时间更新为确定所述待处理IP数据包所属的TCP数据流满足所述丢包筛选条件的时间或者更新为所述待处理IP数据包的接收时间。With the second aspect or the foregoing implementation manner of the second aspect, in a possible implementation manner of the second aspect, the device further includes: a flow state information table update module, configured to be in the first TCP data stream When the flow state information includes the time when the first TCP data stream is selected last time, after determining that the first TCP data flow to which the to-be-processed IP data packet belongs meets a preset packet loss screening condition, the flow state is The latest selected time of the first TCP data stream in the information table is updated to determine whether the TCP data stream to which the to-be-processed IP data packet belongs meets the packet loss screening condition or is updated to the to-be-processed IP data. The receiving time of the packet.
结合第二方面或第二方面的上述实施方式,在第二方面的一种可能的实施方式中,所述丢包筛选条件包括TCP数据流的唯一标识为预设置的数据流标识中的一个,所述预配置的数据流标识包括所述队列缓存中存储的TCP数据流中的至少一个TCP数据流的唯一标识。With the second aspect or the foregoing implementation manner of the second aspect, in a possible implementation manner of the second aspect, the packet loss filtering condition includes: the unique identifier of the TCP data stream is one of the preset data stream identifiers, The pre-configured data flow identifier includes a unique identifier of at least one of the TCP data streams stored in the queue cache.
结合第二方面或第二方面的上述实施方式,在第二方面的一种可能的实施方式中,所述装置还包括:哈希索引轮选模块,用于按照预设时间间隔和预设的选择规则,轮换选择预配置的哈希表中设定个数的哈希索引,并标记当前选择的哈希索引;所述丢包筛选条件包括TCP数据流的哈希值为当前标记的哈希索引中的一个,其中,TCP数据流的哈希值为通过所述哈希表对应的哈希函数,对TCP数据流的唯一标识进行哈希计算得到的值。With the second aspect or the foregoing implementation manner of the second aspect, in a possible implementation manner of the second aspect, the device further includes: a hash index rounding module, configured according to a preset time interval and a preset Selecting a rule, rotating a hash index of a set number in the pre-configured hash table, and marking the currently selected hash index; the packet filtering condition includes a hash of the TCP data stream as a hash of the current tag One of the indexes, wherein the hash value of the TCP data stream is a value obtained by hashing the unique identifier of the TCP data stream by using a hash function corresponding to the hash table.
结合第二方面或第二方面的上述实施方式,在第二方面的一种可能的实施方式中,所述装置还包括:第二条件调整模块,用于按照第二预设周期确定所述队列缓存中的缓存队列长度;根据所述缓存队列长度调整所述设定个数,其中,所述设定个数与所述缓存队列长度呈正相关变化。With the second aspect or the foregoing implementation manner of the second aspect, in a possible implementation manner of the second aspect, the device further includes: a second condition adjustment module, configured to determine the queue according to a second preset period The length of the cache queue in the cache; the set number is adjusted according to the length of the cache queue, wherein the set number is positively correlated with the length of the cache queue.
结合第二方面或第二方面的上述实施方式,在第二方面的一种可能的实施方式中,所述选择规则包括顺序循环选择。With reference to the second aspect or the foregoing implementation manner of the second aspect, in a possible implementation manner of the second aspect, the selecting rule includes a sequential loop selection.
结合第二方面或第二方面的上述实施方式,在第二方面的一种可能的实施方式中,TCP数据流的唯一标识为TCP数据流的五元组,或根据预设算法对TCP数据流的五元组进行计算得到的唯一标识。With the second aspect or the foregoing implementation manner of the second aspect, in a possible implementation manner of the second aspect, the unique identifier of the TCP data stream is a quintuple of the TCP data stream, or the TCP data stream is according to a preset algorithm. The quintuple is calculated to obtain a unique identifier.
结合第二方面或第二方面的上述实施方式,在第二方面的一种可能的实施方式中,所述装置还包括:所属TCP数据流确定模块,用于在确定所述待处理IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件之前,根据所述待处理IP数据包的五元组确定所述IP数据包所属的第一TCP数据流。With the second aspect or the foregoing implementation manner of the second aspect, in a possible implementation manner of the second aspect, the device further includes: an associated TCP data flow determining module, configured to determine the to-be-processed IP data packet Before the first TCP data stream belongs to the preset packet loss screening condition, the first TCP data stream to which the IP data packet belongs is determined according to the quintuple of the to-be-processed IP data packet.
结合第一方面或第一方面的上述实施方式,在第一方面的一种可能的实施方式中,所述丢包策略包括RED算法。With the first aspect or the foregoing implementation manner of the first aspect, in a possible implementation manner of the first aspect, the packet loss policy includes a RED algorithm.
结合第一方面或第一方面的上述实施方式,在第一方面的一种可能的实施方式中,所述数据处理模块还用于,在确定不丢弃所述待处理IP数据包时,将所述待处理IP数据包存储到所述队列缓存中。With the first aspect or the foregoing implementation manner of the first aspect, in a possible implementation manner of the first aspect, the data processing module is further configured to: when determining that the to-be-processed IP data packet is not to be discarded, The processing IP packet is stored in the queue cache.
第三方面,本申请提供一种网络传输设备,所述设备包括存储器和处理器;所述存储器用于存储计算机程序代码;所述处理器用于读取所述计算机程序代码来运行与所述计算机程序代码对应的计算机程序,以用于执行如第一方面或第一方面的任一种实施方式中的数据传输控制方法。In a third aspect, the present application provides a network transmission device, the device comprising a memory and a processor; the memory for storing computer program code; the processor for reading the computer program code to run with the computer A computer program corresponding to the program code for performing the data transmission control method in any one of the first aspect or the first aspect.
第四方面,本申请提供了一种计算机可读存储介质,所述可读存储介质中存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如第一方面或第一方面的任一种实施方式中的数据传输控制方法。In a fourth aspect, the present application provides a computer readable storage medium having stored therein computer instructions that, when executed on a computer, cause the computer to perform the first aspect or the first aspect A data transmission control method in any of the embodiments.
第五方面,本申请提供了一种计算机程序产品,所述计算机产品包括可读计算机指令,当所述计算机产品在计算机上运行时,使得计算机执行上述第一方面或第一方面的任一种实施方式中的数据传输控制方法。In a fifth aspect, the application provides a computer program product, comprising: readable computer instructions, when the computer product is run on a computer, causing the computer to perform any of the first aspect or the first aspect described above A data transmission control method in an embodiment.
第六方面,本申请提供了一种计算机程序,当所述计算机程序在计算机上运行时,使得计算机执行上述第一方面或第一方面的任一种实施方式中的数据传输控制方法。In a sixth aspect, the present application provides a computer program that, when run on a computer, causes the computer to perform the data transfer control method of any of the above first aspect or the first aspect.
附图说明DRAWINGS
图1示出了发明实施例适用的一种网络传输架构的示意图;1 is a schematic diagram of a network transmission architecture to which an embodiment of the invention applies;
图2示出了根据本发明实施例的一种数据传输控制方法的流程示意图;FIG. 2 is a schematic flowchart diagram of a data transmission control method according to an embodiment of the present invention; FIG.
图3中示出了一个哈希表的示意图;A schematic diagram of a hash table is shown in FIG.
图4示出了根据缓存队列平均长度确定主动丢包率的示意图;FIG. 4 is a schematic diagram showing determining an active packet loss rate according to an average length of a cache queue;
图5示出了本发明实施例与现有丢包方式的网络传输效果的对比示意图;FIG. 5 is a schematic diagram showing a comparison between the network transmission effect of the embodiment of the present invention and the existing packet loss mode;
图6示出了根据本发明一实施例的一种数据传输控制装置的框架示意图;FIG. 6 is a schematic diagram of a frame of a data transmission control apparatus according to an embodiment of the invention; FIG.
图7示出了根据本发明另一实施例的一种数据传输控制装置的框架示意图;FIG. 7 is a schematic diagram of a frame of a data transmission control apparatus according to another embodiment of the present invention; FIG.
图8示出了根据本发明又一实施例的一种数据传输控制装置的框架示意图;FIG. 8 is a block diagram showing a data transmission control apparatus according to still another embodiment of the present invention; FIG.
图9示出了根据本发明实施例提供的一种网络传输设备的示意性框图。FIG. 9 is a schematic block diagram of a network transmission device according to an embodiment of the present invention.
具体实施方式Detailed ways
由于网络流量的不可预知性,流量的突发程度和持续时间也不可预知,而网络传输设备的缓存都是有限的,因此,端到端传输路径上的所有网络传输设备都存在丢包的风险,尤其是缓存较小的交换机、接入网设备等设备。Due to the unpredictability of network traffic, the burstiness and duration of traffic are not predictable, and the cache of network transmission equipment is limited. Therefore, all network transmission equipment on the end-to-end transmission path is at risk of packet loss. In particular, it is a device that caches smaller switches and access network devices.
本发明实施例提供了一种数据传输控制方法、装置、设备和存储介质,适用于所有IP网络中由于网络流量过大引起IP数据包丢包的应用场景中。The embodiments of the present invention provide a data transmission control method, device, device, and storage medium, which are applicable to an application scenario in which IP data packets are lost due to excessive network traffic in all IP networks.
图1示出了本发明实施例适用的一种典型的城域网的网络传输架构示意图。如图1所示,该网络传输架构可以包括核心路由器(Core Router,CR)、宽带远程接入服务器(Broadband Remote Access Server,BRAS)、LSW、OLT等网络传输设备。每个网络传输设备上都可以设有用于缓存设备所接收到的IP数据包的队列缓存,在网络流量突发时,网络传输设备将接收到的IP数据包以队列的形式存储到队列缓存中,如图1中所示的各网络传输设备的队列缓存以及各队列缓存中缓存队列(所存储的IP数据包的队列),如对于CR设备,如图1中示意性的示出了其队列缓存a和缓存队列b。本发明实施例的数据传输控制方法适用于图1中所示的CR、BRAS、LSW和OLT中的任一网络传输设备中,也就是说,CR、BRAS、LSW和OLT都可以是本发明实施例的数据传输控制方法的执行主体。FIG. 1 is a schematic diagram of a typical network transmission architecture of a metropolitan area network according to an embodiment of the present invention. As shown in FIG. 1 , the network transmission architecture may include a core router (CR), a broadband remote access server (BRAS), an LSW, an OLT, and the like. Each network transmission device may be provided with a queue buffer for buffering IP data packets received by the device. When the network traffic bursts, the network transmission device stores the received IP data packets in a queue to the queue cache. , such as the queue buffer of each network transmission device shown in FIG. 1 and the cache queue (the queue of stored IP data packets) in each queue cache, as shown for the CR device, as shown schematically in FIG. Cache a and cache queue b. The data transmission control method of the embodiment of the present invention is applicable to any of the CR, BRAS, LSW, and OLT shown in FIG. 1, that is, CR, BRAS, LSW, and OLT may all be implemented by the present invention. The execution body of the data transmission control method of the example.
下面以图1中的LSW为例对本发明实施例的数据传输控制方法进行进一步说明。LSW从成本考虑,一般不会配备较大的队列缓存,因此在网络流量突发拥塞时容易产生丢包。The data transmission control method of the embodiment of the present invention is further described below by taking the LSW in FIG. 1 as an example. LSW is generally not equipped with a large queue cache due to cost considerations, so packet loss is likely to occur when network traffic is suddenly congested.
为了减少丢包时受影响的TCP数据流的数量,本发明实施例通过在LSW上预配置丢包筛选条件,LSW在接收到IP数据包时,首先判断该IP数据包所属的TCP数据流是否满足该丢包筛选条件,在IP数据包所属的TCP数据流满足该丢包筛选条件时,再进一步根据预设的丢包策略来确定是否将该IP数据包丢弃。通过该方法,LSW在需要丢包时,将丢弃的IP数据包集中在了满足上述丢包筛选条件的TCP数据流上,实现了有目的的选择性丢包,从而减少受丢包影响的TCP数据流数量,减少了受丢包影响的用户数量,提升了网络用户的总体用户体验。In order to reduce the number of affected TCP data streams when the packet is lost, the embodiment of the present invention pre-configures the packet loss filtering condition on the LSW. When receiving the IP data packet, the LWS first determines whether the TCP data stream to which the IP data packet belongs is first. The packet loss filtering condition is met. When the TCP data stream to which the IP data packet belongs meets the packet loss filtering condition, the IP packet is further discarded according to the preset packet loss policy. With this method, when the LSW needs to drop packets, the LSG concentrates the discarded IP data packets on the TCP data stream that satisfies the above-mentioned packet loss screening condition, and implements a targeted selective packet loss, thereby reducing the TCP affected by the packet loss. The number of data streams reduces the number of users affected by packet loss and improves the overall user experience of network users.
图2示出了本发明实施例提供的一种数据传输控制方法的流程示意图,该方法具体可以由网络传输设备执行。如图2所示,该数据传输控制方法主要可以包括以下几个步骤:FIG. 2 is a schematic flowchart diagram of a data transmission control method according to an embodiment of the present invention, where the method may be specifically performed by a network transmission device. As shown in FIG. 2, the data transmission control method may mainly include the following steps:
步骤S11:接收IP数据包。Step S11: Receive an IP data packet.
为便于表述,后续将步骤S11中接收的IP数据包称为待处理IP数据包。For convenience of description, the IP data packet received in step S11 is hereinafter referred to as an IP data packet to be processed.
步骤S12:确定待处理IP数据包所属的TCP数据流是否满足预设的丢包筛选条件。Step S12: Determine whether the TCP data stream to which the IP data packet to be processed belongs meets the preset packet loss screening condition.
为便于表述,后续将待处理IP数据包所属的TCP数据流称为第一TCP数据流。For convenience of description, the TCP data stream to which the IP packet to be processed belongs is referred to as the first TCP data stream.
本发明一可选实施例中,确定待处理IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件之前,还包括:In an optional embodiment of the present invention, before determining whether the first TCP data stream to which the to-be-processed IP data packet belongs meets the preset packet loss filtering condition, the method further includes:
根据待处理IP数据包的五元组确定待处理IP数据包所属的第一TCP数据流。The first TCP data stream to which the to-be-processed IP data packet belongs is determined according to the quintuple of the IP data packet to be processed.
为了减少丢包所影响的TCP数据流的数量,进而减少受影响的用户数量,网络传输设备在接收到其它网络传输设备或用户终端设备发送来的待处理IP数据包时,首先确定待处理IP数据包所属的第一TCP数据流,再依据第一TCP数据流是否满足丢包筛选条件来确定该待处理IP数据包是否为作为备选的待丢弃IP数据包,即网络传输设备在确定需要进行丢包时要丢弃的IP数据包。In order to reduce the number of TCP data streams affected by packet loss, and thereby reduce the number of affected users, the network transmission device first determines the IP to be processed when receiving the IP data packets to be processed sent by other network transmission devices or user terminal devices. The first TCP data stream to which the data packet belongs is determined according to whether the first TCP data stream satisfies the packet loss screening condition to determine whether the to-be-processed IP data packet is an alternate IP data packet to be discarded, that is, the network transmission device determines the need IP packets to be discarded when packet loss occurs.
IP数据包的五元组是指IP数据包的源IP地址、源端口、目的IP地址、目的端口和传输层协议,五元组能够区分不同会话,且对应的会话是唯一的,即一个会话对应一个TCP链接、一条TCP数据流,因此,五元组能够唯一的标识IP数据包所属的TCP数据流,五元组相同的IP数据包即属于同一条TCP数据流。The quintuple of the IP data packet refers to the source IP address, source port, destination IP address, destination port, and transport layer protocol of the IP data packet. The quintuple can distinguish different sessions, and the corresponding session is unique, that is, one session. Corresponding to a TCP link and a TCP data stream, therefore, the quintuple can uniquely identify the TCP data stream to which the IP data packet belongs, and the same IP data packet of the quintuple belongs to the same TCP data stream.
其中,上述丢包筛选条件是对于TCP数据流而言的,用于判断TCP数据流是否为备选的、需要进行IP数据包丢弃的数据流。基于该丢包筛选条件,实现了网络传输设备所丢弃的IP数据包只集中在满足该丢包筛选条件的TCP数据流上。The foregoing packet loss screening condition is a data stream for determining whether the TCP data stream is an alternative and needs to be discarded by the IP data packet for the TCP data stream. Based on the packet loss screening condition, the IP data packets discarded by the network transmission device are concentrated only on the TCP data stream that satisfies the packet loss screening condition.
本发明一可选实施例中,丢包筛选条件包括TCP数据流的流状态信息满足预设条件。相应的,上述确定待处理IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件,具体包括:In an optional embodiment of the present invention, the packet loss screening condition includes that the flow state information of the TCP data stream meets a preset condition. Correspondingly, determining whether the first TCP data flow to which the to-be-processed IP data packet belongs meets the preset packet loss screening condition, specifically:
确定第一TCP数据流的流状态信息是否满足上述预设条件。Determining whether the flow state information of the first TCP data stream satisfies the foregoing preset condition.
其中,第一TCP数据流的流状态信息包括第一TCP数据流的速率表征值,预设条件包括速率表征值大于设定值,第一TCP数据流的速率表征值用于表征第一TCP数据流的传输速率。The flow state information of the first TCP data stream includes a rate characterization value of the first TCP data stream, and the preset condition includes that the rate characterization value is greater than a set value, and the rate characterization value of the first TCP data stream is used to represent the first TCP data. The transmission rate of the stream.
需要说明的是,上述待处理IP数据包中的“待处理”仅仅是为了将所接收到的IP数据包与在描述丢包筛选条件或预设条件时所涉及的IP数据包区分开来,同样的,上述第一TCP数据流中的“第一”也仅仅是用来将接收的待处理IP数据包所属的TCP数据流与在描述丢包筛选条件或预设条件时所涉及的TCP数据流区分开来,并没有其它具有特定的顺序或关系限定。It should be noted that the “to-be-processed” in the above-mentioned IP data packet to be processed is only to distinguish the received IP data packet from the IP data packet involved in describing the packet loss screening condition or the preset condition. Similarly, the “first” in the foregoing first TCP data stream is only used to compare the TCP data stream to which the received IP data packet to be processed belongs to the TCP data involved in describing the packet loss filtering condition or the preset condition. The flow is separated and no other has a specific order or relationship definition.
本发明实施例中,对于任一TCP数据流,TCP数据流的传输速率可以是TCP数据流的发送速率,也可以是TCP数据流的接收速率。TCP数据流的速率表征值可以是TCP数据流的传输速率本身,例如,可以是TCP数据流的接收速率或发送速率。对于任一TCP数据流,TCP数据流的速率表征值也可以是预设时长内接收的或发送的属于该TCP数据流的IP数据包的数据量。In the embodiment of the present invention, for any TCP data stream, the transmission rate of the TCP data stream may be the transmission rate of the TCP data stream or the receiving rate of the TCP data stream. The rate characterization value of the TCP data stream may be the transmission rate itself of the TCP data stream, for example, may be the reception rate or transmission rate of the TCP data stream. For any TCP data stream, the rate representation value of the TCP data stream may also be the amount of data of the IP data packet belonging to the TCP data stream received or transmitted within a preset duration.
本发明一可选实施例中,对于任一TCP数据流,预设时长内接收的属于该TCP数据流的IP数据包的数据量可以用该预设时长内接收到的属于该TCP数据流的IP数据包的数据量表示;预设时长内发送的属于该TCP数据流的IP数据包的数据量可以用在预设时长内存储到队列缓存中的属于该TCP数据流的IP数据包的数据量来表示, 此时,该TCP数据流的流量即为预设时长内存储到队列缓存中的属于该TCP数据流的IP数据包的数据量。In an optional embodiment of the present invention, for any TCP data stream, the data volume of the IP data packet that belongs to the TCP data stream received within the preset duration may be received by the TCP data stream that is received within the preset duration. The data amount of the IP data packet indicates that the data amount of the IP data packet belonging to the TCP data stream sent within the preset time length can be used for the data of the IP data packet belonging to the TCP data stream stored in the queue buffer within a preset time period. The quantity indicates that, at this time, the traffic of the TCP data stream is the amount of data of the IP data packet belonging to the TCP data stream stored in the queue buffer within a preset duration.
对于上述第一TCP数据流而言,第一TCP数据流的速率表征值可以为预设时长内存储到队列缓存中的属于第一TCP数据流的IP数据包的数据量。For the first TCP data stream, the rate representative value of the first TCP data stream may be the data amount of the IP data packet belonging to the first TCP data stream stored in the queue buffer within a preset duration.
本发明一可选实施例中,对于任一TCP数据流,属于该TCP数据流的IP数据包的数据量可以为属于该TCP数据流的IP数据包的字节数和/或IP数据包的个数,对应的,该TCP数据流的速率表征值大于设定值为属于该TCP数据流的IP数据包的字节数大于设定字节数和/或属于该TCP数据流的IP数据包的个数大于设定数。In an optional embodiment of the present invention, for any TCP data stream, the data volume of the IP data packet belonging to the TCP data stream may be the number of bytes of the IP data packet belonging to the TCP data stream and/or the IP data packet. The number, correspondingly, the rate of the TCP data stream is greater than the set value. The number of bytes of the IP packet belonging to the TCP stream is greater than the set number of bytes and/or the IP packet belonging to the TCP stream. The number is greater than the set number.
网络传输设备在发送IP数据包时,会根据网络的状态,通过调整发送窗口的大小来调整发送速率。在网络处于轻载状态时,将不断扩大发送窗口,增加发送速率,试探网络容量,当判断网络处于拥塞状态(一般以丢包作为网络拥塞的信号)时,将缩小发送窗口(称为降窗),降低发送速率,以缓解网络拥塞。When the network transmission device sends an IP packet, it adjusts the transmission rate by adjusting the size of the transmission window according to the state of the network. When the network is in a light load state, the transmission window will be continuously expanded, the transmission rate will be increased, and the network capacity will be tested. When the network is judged to be in a congested state (generally, packet loss is used as a signal for network congestion), the transmission window will be narrowed (referred to as window down). ), reduce the transmission rate to alleviate network congestion.
在当前的TCP降窗机制中,只要不触发TCP RTO,在一段时间内,无论丢多个包还是丢一个包,网络传输设备都仅会进行一次降窗(重传包被丢弃或整个发送窗口的包被丢弃则会触发TCP RTO,而此时TCP发送窗口将降到初始值,对该TCP数据流的传输性能造成较大影响)。在发生丢包时,被丢弃数据包的发送端设备能够基于TCP的选择性重传(Selective Acknowledgments,SACK)特性,将所丢弃的数据包重传。SACK特性是指TCP接收端设备进行TCP确认时,会描述更详细的接收信息,包括哪些报文即IP数据包已收到、哪些报文未收到,从而使发送端设备能够只对丢弃的数据包进行重传。In the current TCP window-down mechanism, as long as the TCP RTO is not triggered, the network transmission device will only perform a window down (retransmission packet is discarded or the entire transmission window), regardless of whether multiple packets are dropped or one packet is dropped. The dropped packet will trigger the TCP RTO, and the TCP send window will drop to the initial value, which will have a greater impact on the transmission performance of the TCP data stream. When a packet loss occurs, the sender device that has dropped the packet can retransmit the discarded packet based on the Selective Acknowledgments (SACK) feature of TCP. The SACK feature refers to the TCP receiving device to describe the receiving information in more detail, including which packets, that is, IP packets have been received and which packets have not been received, so that the sending device can only discard the packets. The packet is retransmitted.
由TCP的降窗机制和SACK特性可知,对于同一条TCP数据流而言,在一个发送窗口内,无论是丢一个包还是丢多个包,在不触发TCP RTO的前提下,对该TCP数据流的性能几乎没有影响。但为了避免触发TCP RTO,需要控制每条数据流的丢包数量,而大流所能容忍的丢包数量更大,将丢包集中在大流上,能够更好的控制丢包所造成的影响。本发明实施例中,大流是指在网络传输设备所传输的TCP数据流中,传输速率大于设定速率的TCP数据流,其中,传输速率可以是接收速率,也可以是发送速率,而TCP数据流的接收速率可以通过在预设时长内所接收到的属于该TCP数据流的IP数据包的数据量表示,发送速率可以通过在预设时长内所存储到队列缓存中的属于该TCP数据流的数据量表示,例如,对于一条TCP数据流而言,若在预设时长内存储到队列缓存中的属于该TCP数据流的IP数据包的数据量大于设定数据量,则可以认为该TCP数据流为大流。According to the window-down mechanism and the SACK feature of the TCP, for the same TCP data stream, in a transmission window, whether a packet is dropped or multiple packets are dropped, the TCP data is not triggered under the premise of not triggering the TCP RTO. The performance of the stream has almost no effect. However, in order to avoid triggering the TCP RTO, you need to control the number of lost packets in each data stream. The large number of packets that can be tolerated by the large stream is larger, and the packet loss is concentrated on the large stream, which can better control the packet loss. influences. In the embodiment of the present invention, the large stream refers to a TCP data stream whose transmission rate is greater than a set rate in a TCP data stream transmitted by the network transmission device, where the transmission rate may be a reception rate or a transmission rate, and TCP The receiving rate of the data stream may be represented by the amount of data of the IP data packet that belongs to the TCP data stream received within the preset duration, and the sending rate may be the TCP data that belongs to the queue buffer within a preset duration. The amount of data of the stream indicates that, for example, for a TCP data stream, if the amount of data of the IP data packet belonging to the TCP data stream stored in the queue buffer within a preset duration is greater than the set data amount, the The TCP data stream is a large stream.
因此,本发明实施例中,预设条件可以设置为TCP数据流的速率表征值大于设定值。网络传输设备在接收到待处理IP数据包时,即可根据待处理IP数据包所属的第一TCP数据流的流量和上述设定值判断出该待处理IP数据包所属的第一TCP数据流是否满足预设条件。Therefore, in the embodiment of the present invention, the preset condition may be set such that the rate representation value of the TCP data stream is greater than the set value. When receiving the IP data packet to be processed, the network transmission device may determine, according to the traffic of the first TCP data flow to which the IP data packet to be processed belongs and the set value, the first TCP data flow to which the to-be-processed IP data packet belongs. Whether the preset conditions are met.
作为一个具体示例,例如配置上述预设时长为2秒,TCP数据流的速率表征值以2秒内存储到队列缓存中的属于该TCP数据流的IP数据包的个数来表示,设定数为8。假设在当前2秒内存储到队列缓存中的IP数据包共21个,这21个数据包中有5个属于TCP数据流A,7个属于TCP数据流B,9个属于TCP数据流C,则此时TCP数据 流A的速率表征值为5,TCP数据流B的速率表征值为7,TCP数据流C的速率表征值为9,则在当前接收到属于TCP数据流C的待处理IP数据包时,由于该待处理IP数据包所属的TCP数据流C的流量为9,大于设定数8,该待处理IP数据包所属的TCP数据流C满足预设条件。As a specific example, for example, the preset duration is configured to be 2 seconds, and the rate representation value of the TCP data stream is represented by the number of IP data packets belonging to the TCP data stream stored in the queue buffer within 2 seconds, and the number is set. Is 8. Assume that there are 21 IP data packets stored in the queue buffer within the current 2 seconds. Five of the 21 data packets belong to TCP data stream A, seven belong to TCP data stream B, and nine belong to TCP data stream C. Then, the rate characterization value of the TCP data stream A is 5, the rate characterization value of the TCP data stream B is 7, and the rate characterization value of the TCP data stream C is 9, and the pending IP belonging to the TCP data stream C is currently received. In the case of the data packet, since the traffic of the TCP data stream C to which the to-be-processed IP data packet belongs is 9, which is greater than the set number 8, the TCP data stream C to which the to-be-processed IP data packet belongs satisfies the preset condition.
本发明一可选实施例中,流状态信息还可以包括第一TCP数据流的最近一次被选中的时间,即第一TCP数据流最近一次被确定为满足丢包筛选条件的时间,相对应的,上述预设条件还包括选中时差大于第一设置时长,其中,第一TCP数据流被选中是指第一TCP数据流满足所述丢包筛选条件,第一TCP数据流的选中时差为待处理IP数据包的接收时间与第一TCP数据流最近一次被选中的时间的差值。In an optional embodiment of the present invention, the flow state information may further include a time when the first TCP data stream is last selected, that is, a time when the first TCP data stream is last determined to meet the packet loss screening condition, and corresponding The preset condition further includes that the selected time difference is greater than the first set duration, wherein the first TCP data stream is selected to indicate that the first TCP data stream satisfies the packet loss screening condition, and the selected time difference of the first TCP data stream is to be processed. The difference between the reception time of the IP packet and the time when the first TCP stream was last selected.
本发明实施例中,在一个TCP数据流发生丢包时,通过记录该TCP数据流最近一次即上一次被选中的时间,并设置丢包保护周期即上述第一设置时长,能够避免同一条TCP数据流在一个丢包保护周期内被多次选中丢包,从而避免了由于同一条数据流的丢包数量过多,造成该数据流的重传包被丢弃导致触发TCP RTO的情况出现。In the embodiment of the present invention, when a TCP data stream is lost, the same TCP time can be avoided by recording the time when the TCP data stream is last selected, and setting the packet protection period, that is, the first setting duration. The data stream is selected for multiple times in a packet loss protection period, thereby avoiding the situation that the TCP RTO is triggered due to the excessive number of lost packets of the same data stream.
需要说明的是,对于同一条TCP数据流,每接收到一个属于该TCP数据流的IP数据包时,都需要确定该TCP数据流是否满足丢包筛选条件,如果满足则说明该TCP数据流此次被选中,如果不满足则此时该TCP数据流未被选中。TCP数据流被选中的时间可以是指确定TCP数据流满足丢包筛选条件的时间,也可以是指TCP数据流被选中时所对应的该TCP数据流的IP数据包的接收时间。It should be noted that, for the same TCP data stream, each time an IP data packet belonging to the TCP data stream is received, it is determined whether the TCP data stream satisfies the packet loss filtering condition, and if it is satisfied, the TCP data stream is described. The time is selected, if not, the TCP stream is not selected at this time. The time when the TCP data stream is selected may be the time for determining whether the TCP data stream satisfies the packet loss filtering condition, or the time when the TCP data stream is selected to receive the IP data packet of the TCP data stream.
作为一个具体示例,假设网络传输设备接收到了一IP数据包s,包s的接收时间为t,包s属于TCP数据流a。而在时间t之前,网络传输设备已经依次接收到了属于TCP数据流a的三个IP数据包,为描述方便,三个IP数据包按照接收时间先后分别记为包1、包2和包3,而在接收到包1时,确定包1所属的TCP数据流(即TCP数据流a)不满足丢包筛选条件,则此时TCP数据流a未被选中,此后在接收到包2时,确定包2所属的TCP数据流(即TCP数据流a)满足丢包筛选条件,则此时TCP数据流被选中,再接收到包3时,确定包3所属的TCP数据流(即TCP数据流a)满足丢包筛选条件,则此时TCP数据流也被选中,则网来传输设备在接收到包s时,TCP数据流a最近一次被选中则为在接收到包3时确定包3所属的TCP数据流满足丢包筛选条件,TCP数据流a最近一次被选中的时间则可以为确定包3所属的TCP数据流满足丢包筛选条件的时间,也可以为包3的接收时间。在该具体示例中,对于包s而言,包s所属的TCP数据流a的选中时差则为包s的接收时间与TCP数据流a在包s的接收时间之前最近一次被选中的时间之间的差值,即包s的接收时间与确定包3所属的TCP数据流满足丢包筛选条件的时间之间的差值,或者是包s的接收时间与包3的接收时间之间的差值。As a specific example, it is assumed that the network transmission device receives an IP data packet s, the reception time of the packet s is t, and the packet s belongs to the TCP data stream a. Before the time t, the network transmission device has successively received three IP data packets belonging to the TCP data stream a. For the convenience of description, the three IP data packets are respectively recorded as the packet 1, the packet 2, and the packet 3 according to the receiving time. When receiving the packet 1, it is determined that the TCP data stream to which the packet 1 belongs (ie, the TCP data stream a) does not satisfy the packet loss filtering condition, and then the TCP data stream a is not selected, and then when the packet 2 is received, it is determined. The TCP data stream to which the packet 2 belongs (ie, the TCP data stream a) satisfies the packet loss filtering condition, and then the TCP data stream is selected, and when the packet 3 is received, the TCP data stream to which the packet 3 belongs is determined (ie, the TCP data stream a) When the packet data filtering condition is met, the TCP data stream is also selected at this time, and when the network transmitting device receives the packet s, the TCP data stream a is selected last time, and when the packet 3 is received, it is determined that the packet 3 belongs. The TCP data stream satisfies the packet loss filtering condition. The time when the TCP data stream a is selected last time may be the time for determining that the TCP data stream to which the packet 3 belongs meets the packet filtering condition, or the receiving time of the packet 3. In this specific example, for the packet s, the selected time difference of the TCP data stream a to which the packet s belongs is between the reception time of the packet s and the time when the TCP data stream a was last selected before the reception time of the packet s. The difference between the reception time of the packet s and the time at which the TCP data stream to which the packet 3 belongs satisfies the packet loss screening condition, or the difference between the reception time of the packet s and the reception time of the packet 3 .
本发明一可选实施例中,第一TCP数据流的流状态信息还可以包括第一TCP数据流被连续选中的时长,相对应的,预设条件还包括TCP数据流被连续选中的时长小于第二设置时长。In an optional embodiment of the present invention, the flow state information of the first TCP data stream may further include a duration in which the first TCP data stream is continuously selected. Correspondingly, the preset condition further includes that the duration of the TCP data stream is continuously selected is less than The second set time.
由前文描述可知,第一TCP数据流被选中是指第一TCP数据流满足丢包筛选条件,第一TCP数据流被连续选中的时长,为待处理IP数据包的接收时间与第一TCP数据流在待处理IP数据包的接收时间之前被连续选中的最早一次被选中时间之间的时长。 例如,对于前文中TCP数据流a的具体示例中,对于包s而言,TCP数据流a在包s的接收时间之前被连续选中则是指对于TCP数据流a而言,连续接收到TCP数据流a的包2和包3时,这两次TCP数据流均被选中,此时第一TCP数据流被连续选中的时长,则为包s的接收时间与TCP数据流a在包s的接收时间之前被连续选中的最早一次被选中(接收到包2时,确定包2所属的TCP数据流a满足丢包筛选条件)的时间之间的差值,具体可以为包s的接收时间与确定包2所属的TCP数据流满足丢包筛选条件的时间之间的差值,或者也可以为包s的接收时间与包2的接收时间之间的差值。As can be seen from the foregoing description, the first TCP data stream is selected to mean that the first TCP data stream satisfies the packet loss screening condition, and the duration of the first TCP data stream is continuously selected, which is the receiving time of the IP data packet to be processed and the first TCP data. The length of time between the earliest selected time that the stream is continuously selected before the reception time of the IP packet to be processed. For example, for the specific example of the TCP data stream a in the foregoing, for the packet s, the TCP data stream a is continuously selected before the reception time of the packet s, which means that for the TCP data stream a, the TCP data is continuously received. When packet 2 and packet 3 of stream a are selected, the two TCP data streams are selected. At this time, the duration of the first TCP data stream is continuously selected, and the reception time of the packet s and the reception of the TCP data stream a in the packet s are received. The difference between the time when the first time is selected consecutively before the time is selected (when the packet 2 is received, the TCP data stream a to which the packet 2 belongs is determined to satisfy the packet loss filtering condition), specifically, the receiving time and the determination of the packet s The difference between the time when the TCP data stream to which the packet 2 belongs satisfies the packet loss screening condition, or the difference between the reception time of the packet s and the reception time of the packet 2.
可以理解的是,第一TCP数据流在待处理IP数据包的接收时间之前被连续选中的操作中最近进一次被选中指的是在接收到待处理IP数据之前最近一次接收到属于第一TCP数据流的IP数据包时确定第一TCP数据流被选中(即满足丢包筛选条件)。It can be understood that the first TCP data stream is selected one by one in the consecutively selected operations before the receiving time of the IP packet to be processed, which means that the first TCP is received before the IP data to be processed is received. The IP data packet of the data stream determines that the first TCP data stream is selected (ie, the packet loss filtering condition is satisfied).
本发明实施例中,可以通过设置丢包轮换周期即上述第二设设置时长,保证了同一条TCP数据流被连续丢包的时长不会大于上述第二设置时长,即一条TCP数据流被连续丢包的时长不小于第二设置时长时,需要将丢包从该条TCP数据流轮换到另一条TCP数据流,以减小了TCP RTO被触发的可能性。In the embodiment of the present invention, by setting the packet loss rotation period, that is, the second setting duration, it is ensured that the duration of consecutive packet loss of the same TCP data stream is not greater than the second setting duration, that is, one TCP data stream is continuous. When the length of the packet loss is not less than the second set duration, the packet loss needs to be rotated from the TCP data stream to another TCP data stream to reduce the possibility that the TCP RTO is triggered.
在实际应用中,为了确定一条TCP数据流的IP数据包正在被丢弃且被连续丢包的时长,可以在该TCP数据流的IP数据包被丢弃时,从该TCP数据流的IP数据包被丢弃时刻开始,统计该TCP数据流被连续丢包的时长(属于该TCP数据流的IP数据包被连续丢弃的时长)。In practical applications, in order to determine the length of time that an IP packet of a TCP data stream is being discarded and continuously lost, the IP data packet from the TCP data stream may be received when the IP data packet of the TCP data stream is discarded. The discarding time starts, and the duration of the continuous loss of the TCP data stream (the length of time that the IP data packets belonging to the TCP data stream are continuously discarded) is counted.
本发明一可选实施例中,为了提高IP数据包的处理效率,上述确定待处理IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件,具体可以包括:In an optional embodiment of the present invention, in order to improve the processing efficiency of the IP data packet, the determining whether the first TCP data stream to which the IP data packet to be processed belongs to meet the preset packet filtering condition may include:
根据待处理IP数据包所属的第一TCP数据流的唯一标识查询流状态信息表,得到IP数据包所属的TCP数据流的流状态信息;其中,流状态信息表用于以TCP数据流的唯一标识为索引存储每个TCP数据流的流状态信息;Querying the flow state information table according to the unique identifier of the first TCP data flow to which the IP data packet to be processed belongs, and obtaining flow state information of the TCP data flow to which the IP data packet belongs; wherein the flow state information table is used to uniquely use the TCP data flow Identifying, as an index, storing flow state information of each TCP data stream;
根据第一TCP数据流的流状态信息,确定第一TCP数据流是否满足丢包筛选条件。And determining, according to the flow state information of the first TCP data stream, whether the first TCP data flow satisfies the packet loss screening condition.
本发明实施例中,在丢包筛选条件包括TCP数据流的流状态信息满足预设条件时,可以通过设置上述流状态信息表,来记录网络传输设备的缓存队列中的每个TCP数据流的最近的流状态信息,从而在网络传输设备接收到待处理IP数据包时,即可通过在流状态信息表中直接查询出该待处理IP数据包所属的第一TCP数据流的流状态信息,进而快速判断出待处理IP数据包所属的第一TCP数据流是否满足丢包筛选条件。In the embodiment of the present invention, when the packet loss screening condition includes the flow state information of the TCP data flow meeting the preset condition, the flow state information table may be set to record each TCP data flow in the cache queue of the network transmission device. The latest flow state information, so that when the network transmission device receives the to-be-processed IP data packet, the flow state information of the first TCP data flow to which the to-be-processed IP data packet belongs can be directly queried in the flow state information table. Then, it is quickly determined whether the first TCP data stream to which the to-be-processed IP data packet belongs meets the packet loss screening condition.
可以理解的是,对于流状态信息所包括的具体信息的不同,流状态信息表中所存储的TCP数据流的流状态信息也不同。例如,若流状态信息包括的TCP数据流的速率表征值,则以TCP数据流的唯一标识为索引存储到流状态信息表中所存储的流状态信息包括TCP数据流的速率表征值;若流状态信息还包括TCP数据流最近一次被选中的时间,则流状态信息表中所存储的流状态信息还包括TCP数据流最近一次被选中的时间。It can be understood that the flow state information of the TCP data stream stored in the flow state information table is also different for the specific information included in the flow state information. For example, if the flow state information includes a rate characterization value of the TCP data stream, the flow state information stored in the flow state information table by using the unique identifier of the TCP data stream as an index includes a rate characterization value of the TCP data stream; The status information also includes the time when the TCP data stream was last selected, and the stream status information stored in the flow status information table also includes the time when the TCP data stream was last selected.
在实际应用中,可以按照上述预设时长,对预设时长内所接收到的每个TCP数据流的流状态信息进行统计,并将统计结果更新到流状态信息表中,从而实现对流状态 信息表中所存储的TCP数据流的流状态信息的更新。In actual applications, the flow state information of each TCP data stream received within the preset duration may be counted according to the preset duration, and the statistics may be updated into the flow state information table to implement the convection state information. Update of the flow state information of the TCP data stream stored in the table.
同样的,在统计预设时长内所接收到的每个TCP数据流的流状态信息时,根据流状态信息所包括的具体信息的不同,所需要统计的流状态信息也就不同。例如,对于任一TCP数据流,若该TCP数据流的速率表征值为预设时长内存储到队列缓存中的属于该TCP数据流的IP数据包的数据量,则所需要统计流状态信息则为预设时长内存储到队列缓存中的属于该TCP数据流的IP数据包的数据量;若该TCP数据流的速率表征值为预设时长内接收到的属于该TCP数据流的IP数据包的数据量,则所需要统计的流状态信息则为预设时长内接收到的属于该TCP数据流的IP数据包的数据量。Similarly, when the flow state information of each TCP data stream received within the preset duration is counted, the flow state information to be counted is different according to the specific information included in the flow state information. For example, for any TCP data stream, if the rate characterization value of the TCP data stream is the amount of data of the IP data packet belonging to the TCP data stream stored in the queue buffer within a preset duration, the required statistical stream state information is The amount of data of the IP data packet belonging to the TCP data stream stored in the queue buffer within a preset duration; if the rate of the TCP data stream is an IP packet that is received within the preset duration and belongs to the TCP data stream The amount of data, the flow state information that needs to be counted is the amount of data of the IP packet belonging to the TCP data stream received within the preset duration.
可以理解的是,若在当前预设时长内,所统计的存储到队列缓存中的一个TCP数据流的唯一标识在流状态信息表中不存在,则可以直接以TCP数据流的唯一标识为索引,将该TCP数据流对应的流状态信息存储到流状态信息表中即可;若在当前预设时长之前的设定时长一个TCP数据流的唯一标识在流状态信息表中已经存在,则以当前预设时长内最新统计到的该TCP数据流的流状态信息替代之前设定时长所统计到的该TCP数据流的流状态信息,完成该TCP数据流的流状态信息的更新。It can be understood that if the unique identifier of a TCP data stream stored in the queue buffer does not exist in the current state information table within the current preset duration, the unique identifier of the TCP data stream can be directly indexed. The flow state information corresponding to the TCP data stream may be stored in the flow state information table; if the unique identifier of a TCP data flow already exists in the flow state information table before the current preset duration is set, the The stream state information of the TCP stream that is newly counted in the current preset duration replaces the stream state information of the TCP stream that is counted by the previously set duration, and the flow state information of the TCP stream is updated.
作为一个具体的示例,表1中示出了一个流状态信息表的示意图。该示例中,流状态信息包括TCP数据流的速率表征值(以预设时间内存储到队列缓存中的TCP数据流的IP数据包的个数表征)和TCP数据流上次被选中的时间(TCP数据流最近一次被选中的时间),其中,流序号即表示TCP数据流的唯一标识。As a specific example, a schematic diagram of a flow state information table is shown in Table 1. In this example, the flow state information includes a rate representation value of the TCP data stream (characterized by the number of IP data packets of the TCP data stream stored in the queue buffer in a preset time) and a time when the TCP data stream was last selected ( The time when the TCP data stream was last selected), where the stream sequence number represents the unique identifier of the TCP stream.
表1Table 1
流序号Flow number 流大小(包个数)Stream size (number of packets) 上次被选中时间Last selected time
11 m_1 M_1 t_1T_1
22 m_2M_2 t_2T_2
……...... ……...... ……......
NN m_Nm_N t_Nt_N
基于表1中所示的流状态信息表,网络传输设备在接收到一IP数据包时,即可根据IP数据包所属的TCP数据流的流序号,在该表中查找到对应的流状态信息,例如,接收到的某一IP数据包所属的TCP数据流的流序号为1,则该TCP数据流的速率表征值为m_1,上次被选中(最近一次被选中)时间为t_1。Based on the flow state information table shown in Table 1, when the network transmission device receives an IP data packet, it can find the corresponding flow state information in the table according to the flow sequence number of the TCP data flow to which the IP data packet belongs. For example, if the received stream number of the TCP data stream to which an IP data packet belongs is 1, the rate of the TCP data stream is represented by m_1, and the last time selected (most recently selected) is t_1.
本发明一可选实施例中,若待接收IP数据包所属的第一TCP数据流的唯一标识在流状态信息表中不存在,则该数据传输控制方法还可以包括:确定待处理IP数据包所属的第一TCP数据流的速率表征值为零。In an optional embodiment of the present invention, if the unique identifier of the first TCP data stream to which the IP data packet to be received belongs does not exist in the flow state information table, the data transmission control method may further include: determining the IP data packet to be processed. The rate characterization value of the associated first TCP data stream is zero.
也就是说,若待处理IP数据包所属的第一TCP数据流的唯一标识(如表1中的流序号)在流状态信息表中未查找到,则说明该待处理IP数据包所属的第一TCP数据流在队列缓存中不存在,当前接收到的该待处理IP数据包是网络传输设备当前状态下该IP数据包所属的第一TCP数据流的第一个数据包,此时可以直接将待处理IP数据包所属的TCP数据流的流量确定为零。That is, if the unique identifier of the first TCP data stream to which the IP data packet to be processed belongs (such as the stream sequence number in Table 1) is not found in the flow state information table, the number of the pending IP data packet belongs to A TCP data stream does not exist in the queue cache. The currently received IP data packet is the first data packet of the first TCP data stream to which the IP data packet belongs in the current state of the network transmission device. The traffic of the TCP data stream to which the IP packet to be processed belongs belongs to zero.
可以理解的是,若待处理IP数据包所属的第一TCP数据流的唯一标识在流状态信息表中不存在,则说明该待处理IP数据包所属的第一TCP数据流不满足丢包筛选条 件。It can be understood that if the unique identifier of the first TCP data stream to which the IP data packet to be processed belongs does not exist in the flow state information table, it indicates that the first TCP data stream to which the to-be-processed IP data packet belongs does not satisfy the packet loss screening. condition.
本发明一可选实施例中,若第一TCP数据流流状态信息还包括第一次TCP数据流最近一次被选中的时间,则确定待处理IP数据包所属的第一TCP数据流满足预设的丢包筛选条件之后,本发明实施例的数据传输控制方法还包括:In an optional embodiment of the present invention, if the first TCP data stream state information further includes a time when the first TCP data stream is last selected, determining that the first TCP data stream to which the to-be-processed IP data packet belongs meets a preset. After the packet loss screening condition, the data transmission control method of the embodiment of the present invention further includes:
对流状态信息表中第一TCP数据流的最近一次被选中的时间进行更新,具体的,将流状态信息表中第一TCP数据流的最近一次被选中的时间更新为确定待处理IP数据包所属的第一TCP数据流满足丢弃筛选条件的时间或者更新为待处理IP数据包的接收时间。Updating the last selected time of the first TCP data stream in the flow state information table, specifically, updating the last selected time of the first TCP data stream in the flow state information table to determine that the pending IP data packet belongs to The first TCP data stream satisfies the time of discarding the screening condition or is updated to the receiving time of the IP packet to be processed.
可以理解的是,在确定接收到的待处理IP数据包所属的第一TCP数据流是否满足丢包筛选条件时,若所设置的丢包筛选条件不同,则在确定待处理IP数据包所属的第一TCP数据流满足丢包筛选条件之后,所要更新的第一TCP数据流的流状态信息也就不同。例如,丢包筛选条件中的流状态信息包括TCP数据流最近一次被选中的时间,则在将一TCP数据流被选中之后,需要将第一TCP数据流的最近一次被选中时间更新为确定待处理IP数据包所属的第一TCP数据流满足丢弃筛选条件的时间或者更新为待处理IP数据包的接收时间。再例如,若丢包筛选条件中的流状态信息包括TCP数据流被被连续选中的时长,则在确定待处理IP数据包所属的第一TCP数据流满足丢包筛选条件之后,需要开始统计第一TCP数据流被连续选中的时长或者对已经统计的第一TCP数据流被连续选中的时长进行更新。It can be understood that, when determining whether the received first TCP data stream to which the to-be-processed IP data packet belongs meets the packet loss filtering condition, if the set packet filtering condition is different, determining that the to-be-processed IP data packet belongs to After the first TCP data stream satisfies the packet loss screening condition, the stream state information of the first TCP data stream to be updated is different. For example, the flow state information in the packet loss filtering condition includes the time when the TCP data stream is last selected, and after the TCP data stream is selected, the latest selected time of the first TCP data stream needs to be updated to be determined. Processing the time when the first TCP data stream to which the IP data packet belongs meets the discarding filter condition or is updated to the receiving time of the IP packet to be processed. For example, if the flow state information in the packet loss filtering condition includes the duration in which the TCP data stream is continuously selected, after determining that the first TCP data flow to which the to-be-processed IP data packet belongs meets the packet loss filtering condition, the statistics need to be started. The length of time during which a TCP data stream is continuously selected or the length of time that the already counted first TCP data stream is continuously selected.
本发明一可选实施例中,该数据传输控制方法还可以包括:In an optional embodiment of the present invention, the data transmission control method may further include:
按照第一预设周期计算队列缓存中的缓存队列长度;Calculating the length of the cache queue in the queue cache according to the first preset period;
根据缓存队列长度调整上述预设条件中的设定值,其中,设定值与缓存队列长度呈负相关变化。The set value in the preset condition is adjusted according to the length of the buffer queue, wherein the set value is negatively correlated with the buffer queue length.
本发明实施例中,网络传输设备可以根据其队列缓存中缓存队列长度实现对第一筛选条件中的设定值的周期性调整,从而使丢包筛选条件更符合设备中缓存的实际存储状态。其中,缓存队列长度指的是队列缓存中所存储的IP数据包的长度,其中,缓存队列长度具体可以以队列缓存中所存储的IP数据包的字节数来表征,也可以以队列缓存中所存储的IP数据包的个数来表征。In the embodiment of the present invention, the network transmission device can implement periodic adjustment of the set value in the first screening condition according to the buffer queue length in the queue cache, so that the packet loss filtering condition is more consistent with the actual storage state of the cache in the device. The length of the cache queue refers to the length of the IP data packet stored in the queue cache. The length of the cache queue may be represented by the number of bytes of the IP data packet stored in the queue cache, or may be in the queue cache. Characterized by the number of stored IP packets.
可以理解的是,根据缓存队列长度调整设定值时,可以预先配置相应的调整规则,例如,配置缓存队列长度与设定值的对应关系,在计算出上述缓存队列长度后,即可根据配置的该对应关系对设定值进行调整。当前,在实际应用中,还可以在计算出缓存队列长度后,基于计算出的缓存队列长度进行其它处理后,依据处理结果对设定值进行调整。例如,在一具体实施例中,根据缓存队列长度调整预设条件中的设定值,可以包括:It can be understood that, when the set value is adjusted according to the length of the cache queue, the corresponding adjustment rule may be pre-configured, for example, the correspondence between the length of the cache queue and the set value is configured. After the cache queue length is calculated, the configuration may be configured according to the configuration. This correspondence adjusts the set value. Currently, in the actual application, after calculating the length of the buffer queue, after performing other processing based on the calculated buffer queue length, the set value is adjusted according to the processing result. For example, in a specific embodiment, adjusting the set value in the preset condition according to the length of the cache queue may include:
根据缓存队列长度计算网络传输设备的主动丢包率;Calculating the active packet loss rate of the network transmission device according to the length of the cache queue;
根据主动丢包率调整设定值,其中,主动丢包率与设定值呈负相关变化。The set value is adjusted according to the active packet loss rate, wherein the active packet loss rate has a negative correlation with the set value.
即可以根据网络传输设备的当前主动丢包率对设定值进行调整,在主动丢包率较高时,通过调低设定值,以使被选中的满足TCP数据流的数量更多,更符合丢包的实际应用场景。That is, the set value can be adjusted according to the current active packet loss rate of the network transmission device. When the active packet loss rate is high, the set value is lowered to make the number of selected TCP data streams more and more. It conforms to the actual application scenario of packet loss.
可以理解的是,在实际应用中,除了可以根据缓存队列长度调整设定值,还可以 根据缓存队列长度对预设条件中的上述第一设置时长和/或第二设置时长进行相应的调整,具体的,可以配置缓存队列长度与第一设置时长和/或第二设置时长可以呈负相关变化。It can be understood that, in actual applications, in addition to adjusting the set value according to the length of the cache queue, the first set duration and/or the second set duration in the preset condition may be adjusted according to the buffer queue length. Specifically, the cache queue length can be configured to have a negative correlation change with the first set duration and/or the second set duration.
在实际应用场景中,由于网络传输设备的存储空间和计算能力有限,且网络中所传输的数据量又很大时,很可能会导致网络传输设备在基于上述预设条件来选择TCP数据流的难度较大,例如,维护一张流状态信息表需要占用一定的存储空间,且需要对表中的流状态信息进行维护的复杂度对一些网络传输设备来说可能是难以承受的。因此,为了避免该问题,本发明实施例中,可以基于TCP数据流的唯一标识来实现对TCP数据流的筛选。In the actual application scenario, because the storage space and computing power of the network transmission device are limited, and the amount of data transmitted in the network is large, the network transmission device may select the TCP data stream based on the preset condition. It is difficult. For example, maintaining a flow state information table requires a certain amount of storage space, and the complexity of maintaining the flow state information in the table may be unbearable for some network transmission devices. Therefore, in order to avoid the problem, in the embodiment of the present invention, the screening of the TCP data stream may be implemented based on the unique identifier of the TCP data stream.
其中,TCP数据流的唯一标识可以为TCP数据流所对应的五元组,或根据预设算法对TCP数据流所对应的五元组进行计算得到的唯一流标识、还可以是其它能够唯一标识一条TCP数据流的标识。The unique identifier of the TCP data stream may be a quintuple corresponding to the TCP data stream, or a unique stream identifier calculated by calculating a quintuple corresponding to the TCP data stream according to a preset algorithm, or may be another unique identifier. The identifier of a TCP data stream.
本发明一可选实施例中,上述丢包筛选条件可以包括TCP数据流的唯一标识为预设置的数据流标识中的一个,其中,预配置的数据流标识包括队列缓存中存储的TCP数据流中的至少一个TCP数据流的唯一标识中。In an optional embodiment of the present invention, the foregoing packet loss filtering condition may include: the unique identifier of the TCP data stream is one of the preset data stream identifiers, where the pre-configured data stream identifier includes the TCP data stream stored in the queue cache. The unique identifier of at least one of the TCP data streams.
即可以在网络传输设备中预设置TCP数据流的数据流标识,通过将接收到的待处理IP数据包所属的第一TCP数据流的唯一标识与预设置的数据流标识相匹配,来筛选可能需要丢包的TCP数据流。其中,预配置的数据流标识的个数可以根据需要选择,如果接收到的待处理IP数据包所属的第一TCP数据流的唯一标识为预设置的数据流标识中的一个,则说明该第一TCP数据流满足丢包筛选条件。That is, the data flow identifier of the TCP data stream may be pre-set in the network transmission device, and the possible identifier may be matched by matching the unique identifier of the first TCP data stream to which the received IP data packet belongs to the preset data stream identifier. TCP data stream that needs to be dropped. The number of the pre-configured data stream identifiers may be selected according to requirements. If the unique identifier of the first TCP data stream to which the received IP data packet belongs is one of the preset data stream identifiers, the first A TCP data stream satisfies the packet loss filtering condition.
可以理解的是,上述预设置的数据流标识可以是缓存中存储的IP数据包所属的TCP数据流中的一个或多个TCP数据流的唯一标识。进一步的,可以根据TCP数据流中数据流的大小选择预设置的数据流标识,例如优选将大流的TCP数据流的标识作为预设置的数据流标识,此外,该预设置的数据流标识可以根据缓存中所存储的数据的变化进行周期性的调整。It can be understood that the foregoing preset data stream identifier may be a unique identifier of one or more TCP data streams in the TCP data stream to which the IP data packet stored in the cache belongs. Further, the preset data stream identifier may be selected according to the size of the data stream in the TCP data stream. For example, the identifier of the TCP stream of the large stream is preferably used as a preset data stream identifier. In addition, the preset data stream identifier may be Periodic adjustments are made based on changes in the data stored in the cache.
本发明一可选实施例中,本发明实施例的数据传输控制方法还可以包括:In an optional embodiment of the present invention, the data transmission control method of the embodiment of the present invention may further include:
按照预设时间间隔和预设的选择规则,轮换选择预配置的哈希表中设定个数的哈希索引,并标记当前选择的哈希索引;According to the preset time interval and the preset selection rule, the hash index of the set number in the pre-configured hash table is rotated, and the currently selected hash index is marked;
此时,对应的丢包筛选条件包括TCP数据流的哈希值为当前标记的哈希索引中的一个,其中,TCP数据流的哈希值为通过哈希表所对应的哈希函数,对TCP数据流的唯一标识进行哈希计算得到的值。At this time, the corresponding packet loss filtering condition includes: the hash value of the TCP data stream is one of the hash indexes of the current label, wherein the hash value of the TCP data stream is a hash function corresponding to the hash table, The unique identifier of the TCP data stream is hashed to obtain the value.
本发明实施例中,可以通过预配置上述哈希表,并按照预设时间间隔对哈希表中的哈希索引进行周期性轮换选择的方式,来选择可能需要丢弃数据包的TCP数据流,从而在接收到待处理IP数据包时,即可根据待处理IP数据包所属的第一TCP数据流的哈希值是否是当前选中的哈希索引中的一个,来快速确定出该第一TCP数据流是否满足丢包筛选条件,通过该方式,在需要丢包时,将丢弃的IP数据包集中在了每次所选中的哈希索引对应的TCP数据流上,而其他没被选中的哈希索引所对应的TCP数据流则不会被丢包。In the embodiment of the present invention, the TCP data stream that may need to drop the data packet may be selected by pre-configuring the hash table and periodically selecting the hash index in the hash table according to a preset time interval. Therefore, when the IP data packet to be processed is received, the first TCP may be quickly determined according to whether the hash value of the first TCP data stream to which the IP data packet to be processed belongs is one of the currently selected hash indexes. Whether the data stream satisfies the packet loss filtering condition. In this manner, when packet loss is required, the discarded IP data packet is concentrated on the TCP data stream corresponding to each selected hash index, and other unselected ha The TCP data stream corresponding to the index is not lost.
可以理解的是,上述哈希表所对应的哈希函数指的是初始化创建哈希表时所采用 的哈希函数,哈希函数的具体选择可以根据需要实际需要确定。例如,可以采用除留余数法创建哈希表,哈希函数对应可以将关键字对不大于哈希表表长的数直接取模,在本发明实施例中,关键字即为TCP数据流的唯一标识。在TCP数据流的唯一标识为该数据流所对应的五元组时,可以直接根据哈希函数对接收到的IP数据包的五元组进行哈希计算,计算出的哈希值即为IP数据包所属的TCP数据流的哈希值,通过判断该哈希值是否属于所标记的哈希索引中的一个,快速确定出IP数据包所属的TCP数据流是否满足丢包筛选条件。It can be understood that the hash function corresponding to the above hash table refers to a hash function used when initializing the hash table, and the specific selection of the hash function can be determined according to actual needs. For example, the hash table may be used to create a hash table. The hash function may directly modulate the keyword pair with a number that is not greater than the length of the hash table. In the embodiment of the present invention, the keyword is a TCP data stream. Uniquely identifies. When the unique identifier of the TCP data stream is the quintuple corresponding to the data stream, the quintuple of the received IP data packet may be directly hashed according to the hash function, and the calculated hash value is IP. The hash value of the TCP data stream to which the data packet belongs is determined by determining whether the hash value belongs to one of the marked hash indexes, and quickly determines whether the TCP data stream to which the IP data packet belongs satisfies the packet loss filtering condition.
其中,上述时间间隔、设定个数和选择规则均可以根据实际应用需要进行设置和调整。本发明一可选实施例中,选择规则包括顺序循环选择。The time interval, the number of settings, and the selection rule can be set and adjusted according to actual application requirements. In an alternative embodiment of the invention, the selection rules include sequential cycle selection.
本发明一可选实施例中,该数据传输控制方法还可以还包括:In an optional embodiment of the present invention, the data transmission control method may further include:
按照第二预设周期计算队列缓存中的缓存队列长度;Calculating the length of the cache queue in the queue cache according to the second preset period;
根据缓存队列长度调整上述设定个数,其中,设定个数与缓存队列长度呈正相关变化。The number of the above settings is adjusted according to the length of the buffer queue, wherein the set number is positively correlated with the length of the buffer queue.
本发明实施例中,可以依据网络传输设备的队列缓存中的缓存队列长度对每次所选中的哈希索引的数量进行调整,缓存队列长度越长,设定个数越大,被选中可能要丢包的TCP数据流的数量越多,接收到的待处理IP数据包被选中丢弃的概率越大,从而使数据传输控制更符合网络传输设备的队列缓存中的实际存储状态。其中,根据缓存队列长度调整设定个数的具体调整策略可以根据实际应用需要进行设置。例如,在一个具体示例中,根据缓存队列长度调整设定个数,可以包括:In the embodiment of the present invention, the number of hash indexes selected in each queue may be adjusted according to the length of the cache queue in the queue buffer of the network transmission device. The longer the queue queue length is, the larger the number of settings is, and the selected number may be selected. The greater the number of dropped TCP streams, the greater the probability that the received IP packets are selected to be discarded, so that the data transmission control is more in line with the actual storage state in the queue buffer of the network transmission device. The specific adjustment policy for adjusting the number of settings according to the length of the cache queue may be set according to actual application requirements. For example, in one specific example, adjusting the number of settings according to the length of the cache queue may include:
根据缓存队列长度计算网络传输设备的主动丢包率;Calculating the active packet loss rate of the network transmission device according to the length of the cache queue;
根据主动丢包率调整设定个数,其中,主动丢包率与设定个数呈正相关变化。According to the active packet loss rate, the number of settings is adjusted, wherein the active packet loss rate is positively correlated with the set number.
即根据主动丢包率对设定个数进行调整,主动丢包率越高,设定个数的数值越大,每次选择的哈希索引越多。That is, according to the active packet loss rate, the number of settings is adjusted. The higher the active packet loss rate, the larger the value of the set number, and the more hash indexes are selected each time.
作为一个具体的示例,图3中示出了一个哈希表的示意图。该示例中,哈希表对应的哈希函数为将关键字对不大于哈希表表长(即索引个数)的数p直接取模,该哈希表中包括N个哈希索引,表中1、2、……、N示意性的示出了N个哈希值即哈希索引。在对哈希表中的哈希索引进行顺序循环选择时,可以按照预设时间间隔进行轮换,设定个数可以根据实际应用需要进行选择,例如,在第i轮选择时,哈希索引为1、2的TCP数据流被选中,在第i+1轮选择时,哈希索引为3、4、5的TCP数据流被选中,在某轮选择到达最后一个即第N个哈希索引时,再轮回到第1个哈希索引即可,从而实现选择的可循环。在接收到的待处理IP数据包,将待处理IP数据包所属的第一TCP数据流的唯一索引对p进行取模后,若取模结果为当前选中的哈希索引中的一个,即可快速确定出该IP数据包的TCP数据流是满足丢包筛选条件的。As a specific example, a schematic diagram of a hash table is shown in FIG. In this example, the hash function corresponding to the hash table directly modulates the number p of the keyword pair not greater than the hash table table length (ie, the number of indexes), and the hash table includes N hash indexes, the table 1, 2, ..., N schematically show N hash values, that is, hash indexes. When the hash index in the hash table is sequentially cycled, the rotation may be performed according to a preset time interval, and the number of settings may be selected according to actual application requirements. For example, in the ith round selection, the hash index is The TCP data stream of 1, 2 is selected. When the i+1th round is selected, the TCP data stream with the hash index of 3, 4, and 5 is selected, and when a round selection reaches the last Nth hash index. Then, you can go back to the first hash index to achieve the loopable selection. After receiving the modulo IP data packet, the unique index of the first TCP data stream to which the IP data packet to be processed belongs is modulo, if the modulo result is one of the currently selected hash indexes, Quickly determine that the TCP data stream of the IP data packet satisfies the packet loss filtering condition.
步骤S131:若第一TCP数据流满足丢包筛选条件,则在根据预设的丢包策略确定要丢弃待处理IP数据包时,将待处理IP数据包丢弃。Step S131: If the first TCP data stream meets the packet loss screening condition, the IP data packet to be processed is discarded when it is determined that the IP data packet to be processed is to be discarded according to the preset packet loss policy.
步骤S132:若第一TCP数据流不满足丢包筛选条件,则将待处理IP数据包存储到网络传输设备的队列缓存中。Step S132: If the first TCP data stream does not meet the packet loss filtering condition, the IP data packet to be processed is stored in a queue cache of the network transmission device.
本发明实施例中,可以根据实际应用需要,配置不同的丢包策略来确定是否需要将满足丢包筛选条件的IP数据包进行丢弃。In the embodiment of the present invention, different packet loss policies may be configured according to actual application requirements to determine whether IP data packets satisfying the packet loss screening condition need to be discarded.
本发明一可选实施例中,上述丢包策略可以直接配置为RED算法。In an optional embodiment of the present invention, the packet loss policy may be directly configured as a RED algorithm.
此时,可以直接根据RED算法确定出是否需要将符合丢包筛选条件的TCP数据流的IP数据包丢弃。具体的,在采用RED算法确定是否需要丢弃IP数据包时,需要确定网络传输设备的主动丢包率,若主动丢包率不小于第一丢包率阈值,则将IP数据包丢弃,若主动丢包率大于第二丢包率阈值且小于第一丢包率阈值,则为IP数据包生成随机数,若随机数不小于预配置的丢包阈值,则将IP数据包丢弃,若主动丢包率不大于第二丢包率阈值,则不丢弃IP数据包。其中,第一丢包率阈值大于第二丢包率阈值,第一丢包率阈值和第二丢包率阈值可以根据需要设置。At this time, it is possible to directly determine, according to the RED algorithm, whether IP packets of the TCP data stream that meet the packet loss screening condition need to be discarded. Specifically, when the RED algorithm is used to determine whether the IP packet needs to be discarded, the active packet loss rate of the network transmission device needs to be determined. If the active packet loss rate is not less than the first packet loss rate threshold, the IP data packet is discarded. If the packet loss rate is greater than the second packet loss threshold and is less than the first packet loss threshold, the IP packet is randomly generated. If the random number is not less than the pre-configured packet threshold, the IP packet is discarded. If the packet rate is not greater than the second packet loss threshold, the IP packet is not discarded. The first packet loss rate threshold is greater than the second packet loss rate threshold, and the first packet loss rate threshold and the second packet loss rate threshold may be set as needed.
本发明实施例中,可以为大于第二丢包率阈值且小于第一丢包率阈值的主动丢包率预配置相对应的丢包阈值,例如,将不小于第二丢包率阈值且小于第一丢包率阈值的主动丢包率相对应的丢包阈值可以配置为X,则在接收到的IP数据包的TCP数据流满足丢包筛选条件时,若此时设备的主动丢包率大于第二丢包率阈值且小于第一丢包率阈值,则为该IP数据包生成一随机数Y,若Y不小于X,则确定要丢弃该IP数据包。在一个示例中,第一丢包率阈值可以设置为100%,第二丢包率阈值可以设置为0%,上述丢包阈值可以配置为60,,则在主动丢包率为100%时,直接将满足丢包筛选条件的IP数据包丢弃,若主动丢包率大于等于60%且小于100%时,则为IP数据包随机生成1至100之间的随机数,假设生成的随机数为50,由于50小于丢包阈值60,则不丢弃该IP数据包,若生成的随机数为70,由于70大于丢包阈值60,则丢弃该IP数据包。In the embodiment of the present invention, the corresponding packet loss threshold may be pre-configured for the active packet loss rate that is greater than the second packet loss threshold and smaller than the first packet loss threshold. For example, the packet loss threshold is not less than the second packet loss threshold. The packet loss threshold corresponding to the active packet loss rate of the first packet loss rate threshold may be configured as X, and the active packet loss rate of the device at this time is met when the TCP data stream of the received IP packet satisfies the packet loss screening condition. If the second packet loss rate threshold is greater than the first packet loss rate threshold, a random number Y is generated for the IP data packet, and if Y is not less than X, the IP data packet is determined to be discarded. In an example, the first packet loss rate threshold may be set to 100%, the second packet loss rate threshold may be set to 0%, and the packet loss threshold may be configured to be 60, and when the active packet loss rate is 100%, The IP data packet that meets the packet loss filtering condition is directly discarded. If the active packet loss rate is greater than or equal to 60% and less than 100%, a random number between 1 and 100 is randomly generated for the IP data packet, and the generated random number is assumed to be 50. Since 50 is smaller than the packet loss threshold 60, the IP data packet is not discarded. If the generated random number is 70, since 70 is greater than the packet loss threshold 60, the IP data packet is discarded.
RED丢包方式是根据网络传输设备的缓存队列长度来衡量拥塞程度,队列长度越长,拥塞程度越严重,主动丢包率越高。图4示出了RED中根据平均队列长度确定主动丢包率的一个具体示例,图中横坐标ave_qlen表示设备的队列缓存的缓存队列长度,纵坐标ρ表示主动丢包率。如图4中所示,当缓存队列长度小于阈值min_thr时,不丢包即主动丢包率为0,当缓存队列长度在阈值min_thr和阈值max_thr之间时,主动丢包率按缓存队列长度线性计算,此时主动丢包率最大值为max_p,当缓存队列长度超过阈值max_thr时,则主动丢包率为1。在接收到IP数据包时,如果设备的主动丢包率为1,则直接将筛选出的IP数据包丢弃,如果主动丢包率为0,则将IP数据包存储到队列缓存中,若主动丢包率大于0小于1,则采用生成随机数的方式来确定是否丢弃。The RED packet loss method measures the congestion level according to the length of the cache queue of the network transmission device. The longer the queue length, the more serious the congestion degree and the higher the active packet loss rate. FIG. 4 shows a specific example of determining the active packet loss rate according to the average queue length in the RED. In the figure, the abscissa ave_qlen represents the buffer queue length of the device's queue buffer, and the ordinate ρ represents the active packet loss rate. As shown in FIG. 4, when the buffer queue length is less than the threshold min_thr, the active packet loss rate is 0 when no packet loss occurs, and the active packet loss rate is linear according to the length of the buffer queue when the buffer queue length is between the threshold min_thr and the threshold max_thr. The maximum active packet loss rate is max_p. When the cache queue length exceeds the threshold max_thr, the active packet loss rate is 1. When receiving an IP packet, if the active packet loss rate of the device is 1, the filtered IP packet is directly discarded. If the active packet loss rate is 0, the IP packet is stored in the queue cache. If the packet loss rate is greater than 0 and less than 1, the random number is used to determine whether to discard.
本发明实施例的数据传输控制方法,在进行主动丢包,通过丢包筛选条件,将满足丢包筛选条件的TCP数据流的IP数据包作为备选的待丢弃IP数据包,之后再根据丢包策略(如RED算法)确定是否丢弃通过丢包筛选条件筛选出的备选的待丢弃IP数据包,通过本发明实施例的方法,实现了将丢包集中在部分TCP数据流上,减少了受丢包影响的用户数量,在不进一步恶化该部分用户体验的基础上,保障了其它TCP数据流的传输,提升了其它用户的体验,从而在统计上提升了用户体验。In the data transmission control method of the embodiment of the present invention, the active data packet is discarded, and the IP data packet of the TCP data stream that meets the packet loss filtering condition is used as an alternative IP packet to be discarded, and then The packet policy (such as the RED algorithm) determines whether to discard the candidate IP packets to be discarded that are filtered by the packet loss filtering condition. The method of the embodiment of the present invention achieves that the packet loss is concentrated on part of the TCP data stream, which is reduced. The number of users affected by packet loss ensures the transmission of other TCP data streams without further deteriorating the user experience, which improves the experience of other users and thus improves the user experience statistically.
在一个具体示例中,图5示出了基于本发明实施例的数据传输控制方法、基于AQM技术的随机丢弃方法、以及基于未使用AQM的尾丢弃方法的网络传输设备的吞吐量变化的示意图,其中,横坐标表示时间,纵坐标表示设备的端口利用率,图中曲线S1为基于本发明实施例的数据传输控制方法的设备端口利用率变化曲线,曲线S2 为基于AQM技术的随机丢弃方法的设备端口利用率变化曲线,曲线S3为基于未使用AQM的尾丢弃方法的设备端口利用率变化曲线。由曲线S1、S2和S3可以看出,与现有两种方式相比,本发明实施例的方法能够明显提升网络轻载时的端口利用率,这是因为在网络传输发生拥塞、发生降窗时,由于受影响的TCP数据流的数量减少,因此发生降窗的TCP数据流的数量较少,在同样拥塞程度下,本发明实施例的端口利用率明显提升。In a specific example, FIG. 5 is a schematic diagram showing a data transmission control method, a random drop method based on AQM technology, and a throughput change of a network transmission device based on a tail drop method without using AQM, according to an embodiment of the present invention, Wherein, the abscissa represents time, the ordinate represents port utilization of the device, the curve S1 in the figure is a device port utilization curve according to the data transmission control method of the embodiment of the present invention, and the curve S2 is a random discarding method based on the AQM technology. The device port utilization curve, and curve S3 is a device port utilization curve based on the tail drop method that does not use AQM. As can be seen from the curves S1, S2, and S3, the method of the embodiment of the present invention can significantly improve the port utilization rate when the network is lightly loaded, because congestion occurs in the network transmission, and window down occurs. When the number of affected TCP data streams is reduced, the number of windowed TCP data streams is small. Under the same congestion level, the port utilization rate of the embodiment of the present invention is significantly improved.
与图2中所示的数据传输控制方法相对应,图6示出了本发明实施例提供的一种数据传输控制装置100的框架示意图,该数据传输控制装置100具体可以实现为处理器或直接部署在网络传输设备中。如图6所示,该网络传输控制装置100可以包括数据接收模块110和数据处理模块120。其中:Corresponding to the data transmission control method shown in FIG. 2, FIG. 6 is a schematic diagram of a frame of a data transmission control apparatus 100 according to an embodiment of the present invention. The data transmission control apparatus 100 may be implemented as a processor or directly. Deployed in a network transport device. As shown in FIG. 6, the network transmission control apparatus 100 may include a data receiving module 110 and a data processing module 120. among them:
数据接收模块110,用于接收待处理IP数据包。The data receiving module 110 is configured to receive an IP data packet to be processed.
数据处理模块120,用于确定待处理IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件,若第一TCP数据流满足丢包筛选条件,则在根据预设的丢包策略确定要丢弃待处理IP数据包时,将待处理IP数据包丢弃,若第一TCP数据流不满足丢包筛选条件,则将待处理IP数据包存储到网络传输设备的队列缓存中。The data processing module 120 is configured to determine whether the first TCP data stream to which the to-be-processed IP data packet belongs meets a preset packet loss screening condition, and if the first TCP data stream satisfies the packet loss filtering condition, the data packet according to the preset packet loss When the policy determines that the IP packet to be processed is to be discarded, the IP packet to be processed is discarded. If the first TCP data stream does not meet the packet filtering condition, the IP packet to be processed is stored in the queue buffer of the network transmission device.
本发明实施例中,网络传输控制装置100在接收到待处理IP数据包时,首先判断该接收到的待处理IP数据包所属的第一TCP数据流是否满足丢包筛选条件,只有在满足丢包筛选条件时才会进一步根据丢包策略判断是否需要丢弃该待处理IP数据包。通过本发明实施例,网络传输控制装置100将需要丢弃的IP数据包集中到了满足丢包筛选条件的TCP数据流时,从而减少了受丢包影响的TCP数据流的数量,减少了受丢包影响的用户数量,提升了总体用户体验。In the embodiment of the present invention, when receiving the IP data packet to be processed, the network transmission control apparatus 100 first determines whether the first TCP data stream to which the received IP data packet belongs belongs to the packet loss screening condition, and only meets the lost condition. The packet filtering condition is further determined according to the packet loss policy whether the IP packet to be processed needs to be discarded. Through the embodiment of the present invention, the network transmission control apparatus 100 concentrates the IP data packets that need to be discarded into the TCP data flow that meets the packet loss screening condition, thereby reducing the number of TCP data streams affected by the lost packet and reducing the packet loss. The number of users affected increases the overall user experience.
本发明一可选实施例中,上述丢包筛选条件包括TCP数据流的流状态信息满足预设条件。相应的,数据处理模块120在确定待处理IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件时,具体用于:In an optional embodiment of the present invention, the packet loss screening condition includes that the flow state information of the TCP data stream meets a preset condition. Correspondingly, the data processing module 120 is specifically configured to: when determining whether the first TCP data stream to which the to-be-processed IP data packet belongs meets the preset packet loss filtering condition, specifically:
确定第一TCP数据流的流状态信息是否满足预设条件;其中,第一TCP数据流的流状态信息包括第一TCP数据流的速率表征值,预设条件包括速率表征值大于设定值,第一TCP数据流的速率表征值用于表征第一TCP数据流的传输速率。Determining whether the flow state information of the first TCP data stream meets a preset condition; wherein the flow state information of the first TCP data flow includes a rate representation value of the first TCP data flow, and the preset condition includes that the rate representation value is greater than a set value, The rate characterization value of the first TCP data stream is used to characterize the transmission rate of the first TCP data stream.
本发明一可选实施例中,第一TCP数据流的速率表征值为预设时长内存储到队列缓存中的属于第一TCP数据流的IP数据包的数据量。In an optional embodiment of the present invention, the rate characterization value of the first TCP data stream is the amount of data of the IP data packet belonging to the first TCP data stream stored in the queue buffer within a preset duration.
本发明一可选实施例中,第一TCP数据流的流状态信息还包括第一TCP数据流最近一次被选中的时间,预设条件还包括选中时差大于第一设置时长,其中,第一TCP数据流被选中是指第一TCP数据流满足丢包筛选条件,第一TCP数据流的选中时差为待处理IP数据包的接收时间与第一TCP数据流最近一次被选中的时间的差值。In an optional embodiment of the present invention, the flow state information of the first TCP data stream further includes a time when the first TCP data stream is last selected, and the preset condition further includes that the selected time difference is greater than the first set duration, where the first TCP When the data stream is selected, the first TCP data stream satisfies the packet loss screening condition, and the selected time difference of the first TCP data stream is the difference between the receiving time of the IP packet to be processed and the time when the first TCP data stream is last selected.
本发明一可选实施例中,第一TCP数据流的流状态信息还包括第一TCP数据流的IP数据包被连续选中的时长,预设条件还包括TCP数据流的IP数据包被连续选中的时长小于第二设置时长,其中,所述第一TCP数据流被选中是指所述第一TCP数据流满足所述丢包筛选条件,所述第一TCP数据流被连续选中的时长,为所述待处理IP数据包的接收时间与所述第一TCP数据流在所述待处理IP数据包的接收时间之前被连续选中的最早一次被选中时间之间的时长。In an optional embodiment of the present invention, the flow state information of the first TCP data stream further includes a duration in which the IP data packet of the first TCP data stream is continuously selected, and the preset condition further includes that the IP data packet of the TCP data stream is continuously selected. The length of time is less than the second set duration, wherein the first TCP data stream is selected to mean that the first TCP data stream satisfies the packet loss screening condition, and the duration of the first TCP data stream is continuously selected. The length of time between the reception time of the to-be-processed IP data packet and the earliest selected time of the first TCP data stream that is consecutively selected before the reception time of the to-be-processed IP data packet.
本发明一可选实施例中,数据传输控制装置100还可以包括第一条件调整模块。In an optional embodiment of the present invention, the data transmission control apparatus 100 may further include a first condition adjustment module.
第一条件调整模块,用于按照第一预设周期确定队列缓存中的缓存队列长度;根据缓存队列长度调整设定值,其中,设定值与缓存队列长度呈负相关变化。The first condition adjustment module is configured to determine a buffer queue length in the queue cache according to the first preset period; and adjust the set value according to the buffer queue length, wherein the set value is negatively correlated with the buffer queue length.
本发明一可选实施例中,数据处理模块120在确定待处理IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件时,具体用于:In an optional embodiment of the present invention, the data processing module 120 is specifically configured to: when determining whether the first TCP data stream to which the IP data packet to be processed belongs meets the preset packet loss screening condition, specifically:
根据待处理IP数据包所属的第一TCP数据流的唯一标识查询流状态信息表,得到第一TCP数据流的流状态信息,流状态信息表用于以TCP数据流的唯一标识为索引存储每个TCP数据流的流状态信息;根据第一TCP数据流的流状态信息,确定第一TCP数据流是否满足丢包筛选条件。Querying the flow state information table according to the unique identifier of the first TCP data stream to which the IP data packet to be processed belongs, and obtaining flow state information of the first TCP data flow, where the flow state information table is used to store the unique identifier of the TCP data flow as an index. The flow state information of the TCP data stream; determining, according to the flow state information of the first TCP data flow, whether the first TCP data flow satisfies the packet loss filtering condition.
本发明一可选实施例中,数据传输控制装置100还可以包括流状态信息表更新模块121,如图7所示。In an optional embodiment of the present invention, the data transmission control apparatus 100 may further include a flow state information table update module 121, as shown in FIG.
流状态信息表更新模块121,用于在第一TCP数据流的流状态信息包括第一TCP数据流最近一次被选中的时间时,在确定待处理IP数据包所属的第一TCP数据流满足预设的丢包筛选条件之后,将流状态信息表中第一TCP数据流的最近一次被选中的时间更新为确定待处理IP数据包所属的第一TCP数据流满足丢弃筛选条件的时间或者更新为待处理IP数据包的接收时间。The flow state information table update module 121 is configured to: when the flow state information of the first TCP data flow includes the time when the first TCP data flow is last selected, determine that the first TCP data flow to which the to-be-processed IP data packet belongs meets the pre- After the packet filtering condition is set, the latest selected time of the first TCP data stream in the flow state information table is updated to determine whether the first TCP data flow to which the pending IP data packet belongs meets the discarding screening condition or is updated to The receiving time of the pending IP packet.
本发明一可选实施例中,丢包筛选条件包括TCP数据流的唯一标识为预设置的数据流标识中的一个,预配置的数据流标识包括队列缓存中存储的TCP数据流中的至少一个TCP数据流的唯一标识。In an optional embodiment of the present invention, the packet loss filtering condition includes: the unique identifier of the TCP data stream is one of the preset data stream identifiers, and the pre-configured data stream identifier includes at least one of the TCP data streams stored in the queue cache. A unique identifier for the TCP data stream.
本发明一可选实施例中,数据传输控制装置100还可以包括哈希索引轮选模块122,如图8所示。In an optional embodiment of the present invention, the data transmission control apparatus 100 may further include a hash index rounding module 122, as shown in FIG.
哈希索引轮选模块122,用于按照预设时间间隔和预设的选择规则,轮换选择预配置的哈希表中设定个数的哈希索引,并标记当前选择的哈希索引;所述丢包筛选条件包括TCP数据流的哈希值为当前标记的哈希索引中的一个,其中,TCP数据流的哈希值为通过所述哈希表对应的哈希函数,对TCP数据流的唯一标识进行哈希计算得到的值。The hash index rounding module 122 is configured to: rotate the selected hash index in the pre-configured hash table according to the preset time interval and the preset selection rule, and mark the currently selected hash index; The packet loss filtering condition includes: the hash value of the TCP data stream is one of the currently marked hash indexes, wherein the hash value of the TCP data stream is a hash function corresponding to the hash table, and the TCP data stream is used. The unique identifier is hashed to get the value.
本发明一可选实施例中,数据传输控制装置100还包括第二条件调整模块。In an optional embodiment of the present invention, the data transmission control apparatus 100 further includes a second condition adjustment module.
第二条件调整模块,用于按照第二预设周期确定队列缓存中的缓存队列长度,根据缓存队列长度调整设定个数,其中,设定个数与缓存队列长度呈正相关变化。The second condition adjustment module is configured to determine a buffer queue length in the queue cache according to the second preset period, and adjust the set number according to the buffer queue length, wherein the set number is positively correlated with the buffer queue length.
本发明一可选实施例中,选择规则包括顺序循环选择。In an alternative embodiment of the invention, the selection rules include sequential cycle selection.
本发明一可选实施例中,TCP数据流的唯一标识为TCP数据流的五元组,或根据预设算法对TCP数据流的五元组进行计算得到的唯一标识。In an optional embodiment of the present invention, the unique identifier of the TCP data stream is a quintuple of the TCP data stream, or a unique identifier calculated by calculating a quintuple of the TCP data stream according to a preset algorithm.
本发明一可选实施例中,数据传输控制装置100还包括所属TCP数据流确定模块。In an optional embodiment of the present invention, the data transmission control apparatus 100 further includes an associated TCP data flow determining module.
所属TCP数据流确定模块,用于在确定IP数据包所属的TCP数据流是否满足预设的丢包筛选条件之前,根据IP数据包的五元组确定IP数据包所属的TCP数据流。The TCP data flow determining module is configured to determine, according to the quintuple of the IP data packet, the TCP data flow to which the IP data packet belongs before determining whether the TCP data flow to which the IP data packet belongs meets the preset packet loss filtering condition.
本发明一可选实施例中,丢包策略包括RED算法。In an optional embodiment of the present invention, the packet loss policy includes a RED algorithm.
本发明一可选实施例中,数据处理模块120,还用于在确定不丢弃IP数据包时,将IP数据包存储到队列缓存中。In an optional embodiment of the present invention, the data processing module 120 is further configured to store the IP data packet into the queue cache when it is determined that the IP data packet is not discarded.
可以理解的是,根据本发明数据传输控制装置100,可对应于根据本发明实施例 的数据传输控制方法中的执行主体,实现数据传输控制装置100中的各个模块的操作和/或功能是分别是为了实现本发明实施例的数据传输控制方法中的相应流程,为了简洁,在此不再赘述。It can be understood that the data transmission control apparatus 100 according to the present invention can correspond to the execution body in the data transmission control method according to the embodiment of the present invention, and the operations and/or functions of the respective modules in the data transmission control apparatus 100 are respectively implemented. The corresponding processes in the data transmission control method of the embodiment of the present invention are implemented. For brevity, details are not described herein again.
图9是根据本发明一实施例的网络传输设备200的示意性框图。如图9所示,网络传输设备200包括处理器201、存储器202和通信接口203,存储器202用于存储可执行的程序代码,处理器201通过读取存储器202中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行本发明上述任一实施例的数据传输控制方法。通信接口203用于与外部设备通信,网络传输设备200还可以包括总线204,总线204用于连接处理器201、存储器202和通信接口203,使处理器201、存储器202和通信接口203通过总线204进行相互通信。FIG. 9 is a schematic block diagram of a network transmission device 200 in accordance with an embodiment of the present invention. As shown in FIG. 9, the network transmission device 200 includes a processor 201, a memory 202 for storing executable program code, and a communication interface 203. The processor 201 operates by reading executable program code stored in the memory 202. A program corresponding to the executable program code for performing the data transfer control method of any of the above embodiments of the present invention. The communication interface 203 is used for communication with an external device. The network transmission device 200 may further include a bus 204 for connecting the processor 201, the memory 202, and the communication interface 203, so that the processor 201, the memory 202, and the communication interface 203 pass through the bus 204. Communicate with each other.
根据本发明实施例的网络传输设备200,可对应于根据本发明实施例的数据传输控制方法中的执行主体,并且网络传输设备200中的各个模块的操作和/或功能分别为了实现本发明各实施例中的方法的相应流程,为了简洁,在此不再赘述。The network transmission device 200 according to an embodiment of the present invention may correspond to an execution subject in a data transmission control method according to an embodiment of the present invention, and operations and/or functions of respective modules in the network transmission device 200 are respectively implemented to implement the present invention. Corresponding processes of the method in the embodiment are not described herein for brevity.
本发明实施例还提供了一种计算机可读存储介质,该可读存储介质中存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行本发明上述任一实施例中的数据传输控制方法。The embodiment of the invention further provides a computer readable storage medium, wherein the readable storage medium stores computer instructions, when the computer instructions are run on a computer, causing the computer to execute the data in any of the above embodiments of the present invention. Transmission control method.
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质例如,固态硬盘(Solid State Disk,SSD)等。In the above embodiments, it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented in software, it may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions described in accordance with embodiments of the present invention are generated in whole or in part. The computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer readable storage medium or transferred from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions can be from a website site, computer, server or data center Transfer to another website site, computer, server, or data center by wire (eg, coaxial cable, fiber optic, digital subscriber line (DSL), or wireless (eg, infrared, wireless, microwave, etc.). The computer readable storage medium can be any available media that can be accessed by a computer or a data storage device such as a server, data center, or the like that includes one or more available media. The usable medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (eg, a DVD), or a semiconductor medium such as a Solid State Disk (SSD) or the like.

Claims (25)

  1. 一种数据传输控制方法,所述方法由网络传输设备执行,其特征在于,所述方法包括:A data transmission control method, the method being performed by a network transmission device, wherein the method comprises:
    接收待处理因特网协议IP数据包;Receiving an IP protocol IP packet to be processed;
    确定所述待处理IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件;Determining whether the first TCP data flow to which the to-be-processed IP data packet belongs meets a preset packet loss screening condition;
    若所述第一TCP数据流满足所述丢包筛选条件,则在根据预设的丢包策略确定要丢弃所述IP数据包时,将所述待处理IP数据包丢弃;And if the first TCP data stream meets the packet loss screening condition, when the IP data packet is to be discarded according to the preset packet loss policy, the to-be-processed IP data packet is discarded;
    若所述第一TCP数据流不满足所述丢包筛选条件,则将所述待处理IP数据包存储到所述网络传输设备的队列缓存中。And if the first TCP data stream does not satisfy the packet loss screening condition, storing the to-be-processed IP data packet in a queue cache of the network transmission device.
  2. 根据权利要求1所述的方法,其特征在于,The method of claim 1 wherein
    所述确定所述待处理IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件,包括:Determining whether the first TCP data flow to which the to-be-processed IP data packet belongs meets a preset packet loss screening condition, including:
    确定所述第一TCP数据流的流状态信息是否满足预设条件;Determining whether the flow state information of the first TCP data stream meets a preset condition;
    其中,所述第一TCP数据流的流状态信息包括所述第一TCP数据流的速率表征值,所述预设条件包括速率表征值大于设定值,所述第一TCP数据流的速率表征值用于表征所述第一TCP数据流的传输速率。The flow state information of the first TCP data stream includes a rate characterization value of the first TCP data stream, and the preset condition includes a rate characterization value greater than a set value, and a rate characterization of the first TCP data stream The value is used to characterize the transmission rate of the first TCP data stream.
  3. 根据权利要求2所述的方法,其特征在于,所述第一TCP数据流的速率表征值为预设时长内存储到所述队列缓存中的属于所述第一TCP数据流的IP数据包的数据量。The method according to claim 2, wherein the rate characterization value of the first TCP data stream is an IP data packet belonging to the first TCP data stream stored in the queue buffer within a preset duration The amount of data.
  4. 根据权利要求2或3所述的方法,其特征在于,所述第一TCP数据流的流状态信息还包括所述第一TCP数据流最近一次被选中的时间,所述预设条件还包括选中时差大于第一设置时长;The method according to claim 2 or 3, wherein the flow state information of the first TCP data stream further includes a time when the first TCP data stream is last selected, and the preset condition further includes selecting The time difference is greater than the first set time length;
    其中,所述第一TCP数据流被选中是指所述第一TCP数据流满足所述丢包筛选条件,所述第一TCP数据流的选中时差为所述待处理IP数据包的接收时间与所述第一TCP数据流最近一次被选中的时间的差值。The first TCP data stream is selected to be that the first TCP data stream meets the packet loss screening condition, and the selected time difference of the first TCP data stream is the receiving time of the to-be-processed IP data packet. The difference in time when the first TCP data stream was last selected.
  5. 根据权利要求2或3中任一项所述的方法,其特征在于,A method according to any one of claims 2 or 3, wherein
    所述第一TCP数据流的流状态信息还包括所述第一TCP数据流被连续选中的时长,所述预设条件还包括TCP数据流被连续选中的时长小于第二设置时长;The flow state information of the first TCP data stream further includes a duration of the first TCP data stream being continuously selected, and the preset condition further includes that the duration of the TCP data stream being continuously selected is less than the second set duration;
    其中,所述第一TCP数据流被选中是指所述第一TCP数据流满足所述丢包筛选条件,所述第一TCP数据流被连续选中的时长,为所述待处理IP数据包的接收时间与所述第一TCP数据流在所述待处理IP数据包的接收时间之前被连续选中的最早一次被选中时间之间的时长。The first TCP data stream is selected to be that the first TCP data stream satisfies the packet loss screening condition, and the first TCP data stream is continuously selected for the duration of the pending IP data packet. The length of time between the reception time and the earliest selected time that the first TCP data stream is continuously selected before the reception time of the IP packet to be processed.
  6. 根据权利要求2至5中任一项所述的方法,其特征在于,所述方法还包括:The method according to any one of claims 2 to 5, wherein the method further comprises:
    按照第一预设周期确定所述队列缓存中的缓存队列长度;Determining a cache queue length in the queue cache according to a first preset period;
    根据所述缓存队列长度调整所述设定值,其中,所述设定值与所述缓存队列长度呈负相关变化。And adjusting the set value according to the buffer queue length, wherein the set value is negatively correlated with the buffer queue length.
  7. 根据权利要求2至6中任一项所述的方法,其特征在于,所述确定所述待处理IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件,包括:The method according to any one of claims 2 to 6, wherein the determining whether the first TCP data stream to which the to-be-processed IP data packet belongs meets a preset packet loss screening condition includes:
    根据所述待处理IP数据包所属的第一TCP数据流的唯一标识查询流状态信息表, 得到所述第一TCP数据流的流状态信息,所述流状态信息表用于以TCP数据流的唯一标识为索引存储每个TCP数据流的流状态信息;And querying the flow state information table according to the unique identifier of the first TCP data flow to which the to-be-processed IP data packet belongs, to obtain flow state information of the first TCP data flow, where the flow state information table is used for the TCP data flow. Uniquely identified as an index to store flow state information for each TCP data stream;
    根据所述第一TCP数据流的流状态信息,确定所述第一TCP数据流是否满足所述丢包筛选条件。Determining, according to the flow state information of the first TCP data stream, whether the first TCP data flow satisfies the packet loss screening condition.
  8. 根据权利要求7所述的方法,其特征在于,若所述第一TCP数据流的流状态信息包括所述第一TCP数据流最近一次被选中的时间,确定所述待处理IP数据包所属的第一TCP数据流满足预设的丢包筛选条件之后,所述方法还包括:The method according to claim 7, wherein if the flow state information of the first TCP data stream includes a time when the first TCP data stream is last selected, determining that the to-be-processed IP data packet belongs to After the first TCP data stream meets the preset packet loss screening condition, the method further includes:
    将所述流状态信息表中所述第一TCP数据流的最近一次被选中的时间更新为确定所述待处理IP数据包所属的第一TCP数据流满足所述丢弃筛选条件的时间或者更新为所述待处理IP数据包的接收时间。Updating a last selected time of the first TCP data stream in the flow state information table to a time for determining that the first TCP data flow to which the to-be-processed IP data packet belongs meets the discard filter condition or updating to The receiving time of the IP packet to be processed.
  9. 根据权利要求1所述的方法,其特征在于,所述丢包筛选条件包括TCP数据流的唯一标识为预设置的数据流标识中的一个,所述预配置的数据流标识包括所述队列缓存中存储的TCP数据流中的至少一个TCP数据流的唯一标识。The method according to claim 1, wherein the packet loss filtering condition comprises: the unique identifier of the TCP data stream is one of preset data stream identifiers, and the pre-configured data stream identifier includes the queue cache. A unique identifier of at least one TCP data stream in the stored TCP data stream.
  10. 根据权利要求1所述的方法,其特征在于,所述方法还包括:The method of claim 1 further comprising:
    按照预设时间间隔和预设的选择规则,轮换选择预配置的哈希表中设定个数的哈希索引,并标记当前选择的哈希索引;According to the preset time interval and the preset selection rule, the hash index of the set number in the pre-configured hash table is rotated, and the currently selected hash index is marked;
    所述丢包筛选条件包括TCP数据流的哈希值为当前标记的哈希索引中的一个,其中,TCP数据流的哈希值为通过所述哈希表所对应的哈希函数,对TCP数据流的唯一标识进行哈希计算得到的值。The packet loss filtering condition includes: the hash value of the TCP data stream is one of the hash indexes of the current label, wherein the hash value of the TCP data stream is a hash function corresponding to the hash table, and is used for TCP. The unique identifier of the data stream is hashed to get the value.
  11. 根据权利要求10所述的方法,其特征在于,所述方法还包括:The method of claim 10, wherein the method further comprises:
    按照第二预设周期确定所述队列缓存中的缓存队列长度;Determining a cache queue length in the queue cache according to a second preset period;
    根据所述缓存队列长度调整所述设定个数,其中,所述设定个数与所述缓存队列长度呈正相关变化。And adjusting the set number according to the length of the buffer queue, wherein the set number is positively correlated with the length of the buffer queue.
  12. 根据权利要求10所述的方法,其特征在于,所述选择规则包括顺序循环选择。The method of claim 10 wherein said selection rules comprise sequential loop selection.
  13. 根据权利要求7至12中任一项所述的方法,其特征在于,TCP数据流的唯一标识为TCP数据流的五元组,或根据预设算法对TCP数据流的五元组进行计算得到的唯一标识。The method according to any one of claims 7 to 12, wherein the unique identifier of the TCP data stream is a quintuple of the TCP data stream, or the quintuple of the TCP data stream is calculated according to a preset algorithm. Unique identifier.
  14. 根据权利要求1至13中任一项所述的方法,其特征在于,所述确定所述待处理IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件之前,还包括:The method according to any one of claims 1 to 13, wherein before the determining whether the first TCP data stream to which the to-be-processed IP data packet belongs meets a preset packet loss screening condition, the method further includes:
    根据所述待处理IP数据包的五元组确定所述IP数据包所属的第一TCP数据流。Determining, according to the quintuple of the to-be-processed IP data packet, the first TCP data stream to which the IP data packet belongs.
  15. 根据权利要求1至14中任一项所述的方法,其特征在于,所述丢包策略包括随机早检测RED算法。The method according to any one of claims 1 to 14, wherein the packet loss policy comprises a random early detection RED algorithm.
  16. 一种数据传输控制装置,其特征在于,所述装置包括:A data transmission control device, characterized in that the device comprises:
    数据接收模块,用于接收待处理因特网协议IP数据包;a data receiving module, configured to receive an Internet Protocol IP data packet to be processed;
    数据处理模块,用于确定所述待处理IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件,若所述第一TCP数据流满足所述丢包筛选条件,则在根据预设的丢包策略确定要丢弃所述待处理IP数据包时,将所述待处理IP数据包丢弃,若所述第一TCP数据流不满足所述丢包筛选条件,则将所述待处理IP数据包存储到所述网络传输设备的队列缓存中。a data processing module, configured to determine whether the first TCP data stream to which the to-be-processed IP data packet belongs meets a preset packet loss screening condition, and if the first TCP data stream meets the packet loss screening condition, When the preset packet loss policy determines that the to-be-processed IP data packet is to be discarded, the to-be-processed IP data packet is discarded, and if the first TCP data flow does not satisfy the packet loss screening condition, the to-be-processed The processing IP data packet is stored in a queue buffer of the network transmission device.
  17. 根据权利要求16所述的装置,其特征在于,所述数据处理模块在确定所述待处理IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件时,具体用于:The device according to claim 16, wherein the data processing module is configured to: when determining whether the first TCP data stream to which the to-be-processed IP data packet belongs meets a preset packet loss screening condition, specifically:
    确定所述第一TCP数据流的流状态信息是否满足预设条件;Determining whether the flow state information of the first TCP data stream meets a preset condition;
    其中,所述第一TCP数据流的流状态信息包括所述第一TCP数据流的速率表征值,所述预设条件包括速率表征值大于设定值,所述第一TCP数据流的速率表征值用于表征所述第一TCP数据流的传输速率。The flow state information of the first TCP data stream includes a rate characterization value of the first TCP data stream, and the preset condition includes a rate characterization value greater than a set value, and a rate characterization of the first TCP data stream The value is used to characterize the transmission rate of the first TCP data stream.
  18. 根据权利要求17所述的装置,其特征在于,所述第一TCP数据流的速率表征值为预设时长内存储到所述队列缓存中的属于所述第一TCP数据流的IP数据包的数据量。The apparatus according to claim 17, wherein the rate characterization value of the first TCP data stream is an IP data packet belonging to the first TCP data stream stored in the queue buffer within a preset duration The amount of data.
  19. 根据权利要求17或18所述的装置,其特征在于,所述第一TCP数据流的流状态信息还包括所述第一TCP数据流最近一次被选中的时间,所述预设条件还包括选中时差大于第一设置时长;The device according to claim 17 or 18, wherein the flow state information of the first TCP data stream further includes a time when the first TCP data stream is last selected, and the preset condition further includes selecting The time difference is greater than the first set time length;
    其中,所述第一TCP数据流被选中是指所述第一TCP数据流满足所述丢包筛选条件,所述第一TCP数据流的选中时差为所述待处理IP数据包的接收时间与所述第一TCP数据流最近一次被选中的时间的差值。The first TCP data stream is selected to be that the first TCP data stream meets the packet loss screening condition, and the selected time difference of the first TCP data stream is the receiving time of the to-be-processed IP data packet. The difference in time when the first TCP data stream was last selected.
  20. 根据权利要求17或18所述的装置,其特征在于,Device according to claim 17 or 18, characterized in that
    所述第一TCP数据流的流状态信息还包括所述第一TCP数据流被连续选中的时长,所述预设条件还包括TCP数据流被连续选中的时长小于第二设置时长;The flow state information of the first TCP data stream further includes a duration of the first TCP data stream being continuously selected, and the preset condition further includes that the duration of the TCP data stream being continuously selected is less than the second set duration;
    其中,所述第一TCP数据流被选中是指所述第一TCP数据流满足所述丢包筛选条件,所述第一TCP数据流被连续选中的时长,为所述待处理IP数据包的接收时间与所述第一TCP数据流在所述待处理IP数据包的接收时间之前被连续选中的最早一次被选中时间之间的时长。The first TCP data stream is selected to be that the first TCP data stream satisfies the packet loss screening condition, and the first TCP data stream is continuously selected for the duration of the pending IP data packet. The length of time between the reception time and the earliest selected time that the first TCP data stream is continuously selected before the reception time of the IP packet to be processed.
  21. 根据权利要求17至20中任一项所述的装置,其特征在于,所述数据处理模块在确定所述待处理IP数据包所属的第一TCP数据流是否满足预设的丢包筛选条件时,具体用于:The device according to any one of claims 17 to 20, wherein the data processing module determines whether the first TCP data stream to which the to-be-processed IP data packet belongs meets a preset packet loss screening condition Specifically for:
    根据所述待处理IP数据包所属的第一TCP数据流的唯一标识查询流状态信息表,得到所述第一TCP数据流的流状态信息,所述流状态信息表用于以TCP数据流的唯一标识为索引存储每个TCP数据流的流状态信息;And querying the flow state information table according to the unique identifier of the first TCP data flow to which the to-be-processed IP data packet belongs, to obtain flow state information of the first TCP data flow, where the flow state information table is used for the TCP data flow. Uniquely identified as an index to store flow state information for each TCP data stream;
    根据所述第一TCP数据流的流状态信息,确定所述第一TCP数据流是否满足所述丢包筛选条件。Determining, according to the flow state information of the first TCP data stream, whether the first TCP data flow satisfies the packet loss screening condition.
  22. 根据权利要求16所述的装置,其特征在于,所述丢包筛选条件包括TCP数据流的唯一标识为预设置的数据流标识中的一个,所述预配置的数据流标识包括所述队列缓存中存储的TCP数据流中的至少一个TCP数据流的唯一标识。The apparatus according to claim 16, wherein the packet loss filtering condition comprises: the unique identifier of the TCP data stream is one of preset data stream identifiers, and the pre-configured data stream identifier includes the queue cache. A unique identifier of at least one TCP data stream in the stored TCP data stream.
  23. 根据权利要求16所述的装置,其特征在于,所述装置还包括:The device according to claim 16, wherein the device further comprises:
    哈希索引轮选模块,用于按照预设时间间隔和预设的选择规则,轮换选择预配置的哈希表中设定个数的哈希索引,并标记当前选择的哈希索引;The hash index rounding module is configured to: rotate the selected hash index in the pre-configured hash table according to the preset time interval and the preset selection rule, and mark the currently selected hash index;
    所述丢包筛选条件包括TCP数据流的哈希值为当前标记的哈希索引中的一个,其中,TCP数据流的哈希值为通过所述哈希表对应的哈希函数,对TCP数据流的唯一标识进行哈希计算得到的值。The packet loss filtering condition includes: the hash value of the TCP data stream is one of the hash indexes of the current label, wherein the hash value of the TCP data stream is a hash function corresponding to the hash table, and the TCP data is used. The unique identifier of the stream is hashed to get the value.
  24. 一种网络传输设备,其特征在于,所述设备包括存储器和处理器;A network transmission device, characterized in that the device comprises a memory and a processor;
    所述存储器用于存储可执行的计算机程序代码;The memory is for storing executable computer program code;
    所述处理器用于读取所述计算机程序代码来运行与所述计算机程序代码对应的计算机程序,以用于执行如权利要求1至15中任一项所述的数据传输控制方法。The processor is configured to read the computer program code to execute a computer program corresponding to the computer program code for performing the data transfer control method according to any one of claims 1 to 15.
  25. 一种计算机可读存储介质,其特征在于,所述可读存储介质中存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如权利要求1至15中任一项所述的数据传输控制方法。A computer readable storage medium, wherein the readable storage medium stores computer instructions that, when executed on a computer, cause the computer to perform the method of any one of claims 1 to Data transmission control method.
PCT/CN2018/124103 2018-02-08 2018-12-27 Data transmission control method and apparatus, and network transmission device and storage medium WO2019153931A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810129482.9A CN110138678B (en) 2018-02-08 2018-02-08 Data transmission control method and device, network transmission equipment and storage medium
CN201810129482.9 2018-02-08

Publications (1)

Publication Number Publication Date
WO2019153931A1 true WO2019153931A1 (en) 2019-08-15

Family

ID=67547899

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/124103 WO2019153931A1 (en) 2018-02-08 2018-12-27 Data transmission control method and apparatus, and network transmission device and storage medium

Country Status (2)

Country Link
CN (1) CN110138678B (en)
WO (1) WO2019153931A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115550250A (en) * 2022-11-17 2022-12-30 鹏城实验室 Small flow message retransmission method, system, electronic equipment and storage medium

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112235829A (en) * 2020-10-15 2021-01-15 展讯通信(上海)有限公司 Data transmission method, device and storage medium
CN114615151A (en) * 2020-11-25 2022-06-10 华为技术有限公司 Message processing method and device
CN112532444B (en) * 2020-11-26 2023-02-24 上海阅维科技股份有限公司 Data flow sampling method, system, medium and terminal for network mirror flow
CN115085890A (en) * 2022-06-23 2022-09-20 杭州云合智网技术有限公司 Method for optimizing TCP RTO retransmission waiting time by data center network chip

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1852134A (en) * 2005-07-05 2006-10-25 华为技术有限公司 Method for controlling BT client end data transmission
CN101527679A (en) * 2009-03-12 2009-09-09 上海交通大学 Interference method based on adaptive random-relayed TCP/IP network hidden-time signal path
US7729249B2 (en) * 2007-07-16 2010-06-01 Microsoft Corporation Systems and methods for improving TCP-friendliness of delay-based congestion control
CN102868576A (en) * 2012-09-26 2013-01-09 电子科技大学 Method for measuring downlink packet loss rate of access link of broadband network user
US20140092741A1 (en) * 2012-10-03 2014-04-03 LiveQoS Inc. System and method for a tcp mapper

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6515963B1 (en) * 1999-01-27 2003-02-04 Cisco Technology, Inc. Per-flow dynamic buffer management
CN102904826B (en) * 2012-09-28 2016-06-29 华为技术有限公司 The method and apparatus of flow load sharing
CN103229466B (en) * 2012-12-27 2016-03-09 华为技术有限公司 A kind of method of data packet transmission and device
US8978138B2 (en) * 2013-03-15 2015-03-10 Mehdi Mahvi TCP validation via systematic transmission regulation and regeneration
CN103188166A (en) * 2013-03-20 2013-07-03 苏州云初网络技术有限公司 Flow control method utilizing TCP (Transmission Control Protocol)-self-consciousness Random Early Detection (RED)
US9661657B2 (en) * 2013-11-27 2017-05-23 Intel Corporation TCP traffic adaptation in wireless systems
CN105472532B (en) * 2014-09-09 2020-11-17 中兴通讯股份有限公司 Method and device for transmitting data
CN104394090B (en) * 2014-11-14 2017-08-25 北京航空航天大学 A kind of use DPI carries out the SDN controllers of network flow classification to packet

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1852134A (en) * 2005-07-05 2006-10-25 华为技术有限公司 Method for controlling BT client end data transmission
US7729249B2 (en) * 2007-07-16 2010-06-01 Microsoft Corporation Systems and methods for improving TCP-friendliness of delay-based congestion control
CN101527679A (en) * 2009-03-12 2009-09-09 上海交通大学 Interference method based on adaptive random-relayed TCP/IP network hidden-time signal path
CN102868576A (en) * 2012-09-26 2013-01-09 电子科技大学 Method for measuring downlink packet loss rate of access link of broadband network user
US20140092741A1 (en) * 2012-10-03 2014-04-03 LiveQoS Inc. System and method for a tcp mapper

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115550250A (en) * 2022-11-17 2022-12-30 鹏城实验室 Small flow message retransmission method, system, electronic equipment and storage medium
CN115550250B (en) * 2022-11-17 2023-04-07 鹏城实验室 Small flow message retransmission method, system, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN110138678B (en) 2023-02-24
CN110138678A (en) 2019-08-16

Similar Documents

Publication Publication Date Title
WO2019153931A1 (en) Data transmission control method and apparatus, and network transmission device and storage medium
US8665892B2 (en) Method and system for adaptive queue and buffer control based on monitoring in a packet network switch
US8443444B2 (en) Mitigating low-rate denial-of-service attacks in packet-switched networks
CN106062726B (en) Flow aware buffer management for data center switches
Ahammed et al. Anakyzing the performance of active queue management algorithms
US9276852B2 (en) Communication system, forwarding node, received packet process method, and program
US8717885B2 (en) Link aggregation methods and devices
US8509074B1 (en) System, method, and computer program product for controlling the rate of a network flow and groups of network flows
US8891543B1 (en) Method and system for processing packets in a network device
US9438523B2 (en) Method and apparatus for deriving a packet select probability value
KR100875739B1 (en) Apparatus and method for packet buffer management in IP network system
CN109714267B (en) Transmission control method and system for managing reverse queue
US8989011B2 (en) Communication over multiple virtual lanes using a shared buffer
CN112242965A (en) Telemetry event aggregation
US20210105659A1 (en) Systems and methods for congestion control on mobile edge networks
CN111224888A (en) Method for sending message and message forwarding equipment
US9001839B2 (en) Communication control device and method
US20050185581A1 (en) Active flow management with hysteresis
WO2021143913A1 (en) Congestion control method, apparatus and system, and storage medium
US7391785B2 (en) Method for active queue management with asymmetric congestion control
CN114095448A (en) Method and equipment for processing congestion flow
Irawan et al. Performance evaluation of queue algorithms for video-on-demand application
Szilágyi et al. Efficient LTE PDCP buffer management
US20200145340A1 (en) Packet-content based WRED protection
TWI831622B (en) Apparatus for managing network flow congestion and method thereof

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18905097

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18905097

Country of ref document: EP

Kind code of ref document: A1