A network congestion control method, wherein the method comprises: sending (S110-S130), by a transmit end device, forward probe packets to a destination device at a preset initialized rate, wherein all of the forward probe packets arrive at the destination device after being forwarded by an intermediate device in a network by using a reserved bandwidth of an egress port of the intermediate device; wherein the intermediate device reserves a percentage of bandwidth to transmit the probe packets, and the remaining bandwidth is used to transmit the data packets; receiving (S140-S150) return probe packets returned by the destination device, wherein the return probe packets correspond to forward probe packets received by the destination device; and determining a data packet sending rate based on the received return probe packets, and sending a data packet at the sending rate; wherein the determining a data packet sending rate based on the received return probe packets, and sending a data packet at the sending rate comprises: calculating, based on a predetermined average packet length of data packets in the network, a packet length of the return probe packet, and a percentage of the reserved bandwidth of the egress port of the intermediate device in the network in a total bandwidth of the egress port of the intermediate device, a quantity n of data packets corresponding to each return probe packet, wherein n is a natural number, and the packet length of the return probe packet is the same as a packet length of the forward probe packet; and sending, by the transmit end device, n data packets each time one return probe packet is received; wherein n is calculated according to a formula n = ⌈ S credit S data ⋅ r tar ⌉, wherein r tar is the percentage of the reserved bandwidth of the egress port of the intermediate device in the network in the total bandwidth of the egress port of the intermediate device, S data is the predetermined average packet length of the data packets in the network, S credit is the packet length of the return probe packet, and ⌈ S credit S data ⋅ r tar ⌉ indicates that S credit S data ⋅ r tar is rounded up. sending (S110-S130), by a transmit end device, forward probe packets to a destination device at a preset initialized rate, wherein all of the forward probe packets arrive at the destination device after being forwarded by an intermediate device in a network by using a reserved bandwidth of an egress port of the intermediate device; wherein the intermediate device reserves a percentage of bandwidth to transmit the probe packets, and the remaining bandwidth is used to transmit the data packets; receiving (S140-S150) return probe packets returned by the destination device, wherein the return probe packets correspond to forward probe packets received by the destination device; and determining a data packet sending rate based on the received return probe packets, and sending a data packet at the sending rate; wherein the determining a data packet sending rate based on the received return probe packets, and sending a data packet at the sending rate comprises: calculating, based on a predetermined average packet length of data packets in the network, a packet length of the return probe packet, and a percentage of the reserved bandwidth of the egress port of the intermediate device in the network in a total bandwidth of the egress port of the intermediate device, a quantity n of data packets corresponding to each return probe packet, wherein n is a natural number, and the packet length of the return probe packet is the same as a packet length of the forward probe packet; and sending, by the transmit end device, n data packets each time one return probe packet is received; wherein n is calculated according to a formula n = ⌈ S credit S data ⋅ r tar ⌉, wherein r tar is the percentage of the reserved bandwidth of the egress port of the intermediate device in the network in the total bandwidth of the egress port of the intermediate device, S data is the predetermined average packet length of the data packets in the network, S credit is the packet length of the return probe packet, and ⌈ S credit S data ⋅ r tar ⌉ indicates that S credit S data ⋅ r tar is rounded up. calculating, based on a predetermined average packet length of data packets in the network, a packet length of the return probe packet, and a percentage of the reserved bandwidth of the egress port of the intermediate device in the network in a total bandwidth of the egress port of the intermediate device, a quantity n of data packets corresponding to each return probe packet, wherein n is a natural number, and the packet length of the return probe packet is the same as a packet length of the forward probe packet; and sending, by the transmit end device, n data packets each time one return probe packet is received; wherein n is calculated according to a formula n = ⌈ S credit S data ⋅ r tar ⌉, wherein r tar is the percentage of the reserved bandwidth of the egress port of the intermediate device in the network in the total bandwidth of the egress port of the intermediate device, S data is the predetermined average packet length of the data packets in the network, S credit is the packet length of the return probe packet, and ⌈ S credit S data ⋅ r tar ⌉ indicates that S credit S data ⋅ r tar is rounded up.