| CPC H04L 47/27 (2013.01) [H04L 47/10 (2013.01); H04L 47/127 (2013.01); H04L 47/193 (2013.01); H04L 47/30 (2013.01)] | 20 Claims |

|
1. A method comprising:
determining, by a forwarding device that forwards a Transmission Control Protocol (TCP) flow, based on a buffer status of the forwarding device, that pre-congestion occurs in a forwarding direction of the TCP flow, wherein the buffer status of the forwarding device depends on one or more of following: a quantity of packets buffered in the forwarding device, or a data volume of the packets buffered in the forwarding device, or a ratio of the data volume of the packets buffered in the forwarding device to a buffer area, and wherein it is determined that the pre-congestion occurs in the forwarding direction of the TCP flow when one or more of following are met:
a quantity of packets buffered in the forwarding device in the forwarding direction of the TCP flow is greater than a preset quantity; or
a data volume of the packets buffered in the forwarding device in the forwarding direction of the TCP flow is greater than a preset data volume; or
a ratio of the data volume of the packets buffered in the forwarding device in the forwarding direction of the TCP flow to the buffer area is greater than a preset ratio; and
when the pre-congestion occurs in the forwarding direction of the TCP flow on the forwarding device that forwards the TCP flow, reducing, by the forwarding device, a value of a receive window (RWND) field in an acknowledge (ACK) packet of a packet in the TCP flow, and wherein:
the ACK packet acknowledges receipt of the packet and is in an opposite direction to the forwarding direction of the TCP flow; and
the preset quantity or the preset data volume or the preset ratio is determined by the forwarding device based on a current throughput in the forwarding direction of the TCP flow and the quantity of packets buffered in the forwarding device or the data volume of the packets buffered in the forwarding device.
|