9) European Patent Office (11) EP3499820B1 (12) EUROPEAN PATENT SPECIFICATION (45)Date of publication and mention (51)Int CL.: of the grant of the patent: H04L12/8252013.0W H04L12/8512013.00 29.07.2020 Bulletin2020/31 H04L127072013.0) H04L12/8012013.01) H04L12/8072013.00 H04L12/8912013.0W (21)Application number:16916429.0 H04L12/26200601 (22)Date of filing:20.09.2016 (86)International application number: PCT/CN2016/099466 (87)International publication number: W02018/053688(29.03.2018 Gazette2018/13) (54) CONGESTION CONTROL METHOD,APPARATUS,AND SYSTEM UBERLASTUNGSSTEUERUNGSVERFAHREN,-VORRICHTUNG UND -SYSTEM PROCEDE,APPAREIL,ET SYSTEME DE CONTROLE D'ENCOMBREMENT (84)Designated Contracting States: (56)References cited: AL AT BE BG CH CY CZ DE DK EE ES FI FR GB W0-A1-2015/174901 CN-A-102318312 GR HR HU IEISIT LILT LU LV MC MK MT NL NO CN-A-103581035 CN-A-103973587 PL PT RO RS SE SI SK SM TR CN-A-104796350 (43)Date of publication of application: FERLIN SIMONE ET AL:"Revisiting congestion 19.06.2019 Bulletin2019/25 control for multipath TCP with shared bottleneck detection",IEEE INFOCOM 2016-THE 35TH (73)Proprietors: ANNUAL IEEE INTERNATIONAL CONFERENCE Huawei Technologies Co.,Ltd ON COMPUTER COMMUNICATIONS,IEEE,10 Longgang District April2016(2016-04-10),pages1-9,XP032930233, Shenzhen,Guangdong 518129(CN) DOI:10.1109/INFOCOM.2016.7524599 [retrieved University of Science and Technology of China on2016-07-27刀 Anhui 230026(CN) RAMAKRISHNAN TERAOPTIC NETWORKS S FLOYD ACIRI D BLACK EMC K:"The Addition of (72)Inventors: Explicit Congestion Notification(ECN)to IP; ·XuE,Kaiping rfc3168.txt",THE ADDITION OF EXPLICIT Shenzhen CONGESTION NOTIFICATION(ECN)TO IP: Guangdong 518129(CN) RFC3168.TXT,INTERNET ENGINEERING TASK ·WEl,Wenjia FORCE,IETF:STANDARD,INTERNET SOCIETY Shenzhen (ISOC)4,RUE DES FALAISES CH-1205 GENEVA, Guangdong 518129(CN) SWITZERLAND,30 September 2001(2001-09-30). ·XU,Qing XP015008949, Shenzhen B Braden:"RFC 2309-Recommendations on Guangdong 518129(CN) Queue Management and Congestion Avoidance in the Internet",IETF,30 April 1998(1998-04-30), (74)Representative:Thun,Clemens XP055604783,Retrieved from the Internet: Mitscherlich PartmbB URL:https://tools.ietf.org/html/rfc2309 [retrieved 面 Patent-und Rechtsanwalte on2019-07-11] SonnenstraBe 33 80331 Munchen(DE) 岛 66g Note:Within nine months of the publication of the mention of the grant of the European patent in the European Patent 9 Bulletin,any person may give notice to the European Patent Office of opposition to that patent,in accordance with the Implementing Regulations.Notice of opposition shall not be deemed to have been filed until the opposition fee has been 品 paid.(Art.99(1)European Patent Convention). Printed by Jouve,75001 PARIS(FR) (Cont.next page)
Note: Within nine months of the publication of the mention of the grant of the European patent in the European Patent Bulletin, any person may give notice to the European Patent Office of opposition to that patent, in accordance with the Implementing Regulations. Notice of opposition shall not be deemed to have been filed until the opposition fee has been paid. (Art. 99(1) European Patent Convention). Printed by Jouve, 75001 PARIS (FR) (19) EP 3 499 820 B1 (Cont. next page) *EP003499820B1* (11) EP 3 499 820 B1 (12) EUROPEAN PATENT SPECIFICATION (45) Date of publication and mention of the grant of the patent: 29.07.2020 Bulletin 2020/31 (21) Application number: 16916429.0 (22) Date of filing: 20.09.2016 (51) Int Cl.: H04L 12/825 (2013.01) H04L 12/851 (2013.01) H04L 12/707 (2013.01) H04L 12/801 (2013.01) H04L 12/807 (2013.01) H04L 12/891 (2013.01) H04L 12/26 (2006.01) (86) International application number: PCT/CN2016/099466 (87) International publication number: WO 2018/053688 (29.03.2018 Gazette 2018/13) (54) CONGESTION CONTROL METHOD, APPARATUS, AND SYSTEM ÜBERLASTUNGSSTEUERUNGSVERFAHREN, -VORRICHTUNG UND -SYSTEM PROCÉDÉ, APPAREIL, ET SYSTÈME DE CONTRÔLE D’ENCOMBREMENT (84) Designated Contracting States: AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR (43) Date of publication of application: 19.06.2019 Bulletin 2019/25 (73) Proprietors: • Huawei Technologies Co., Ltd. Longgang District Shenzhen, Guangdong 518129 (CN) • University of Science and Technology of China Anhui 230026 (CN) (72) Inventors: • XUE, Kaiping Shenzhen Guangdong 518129 (CN) • WEI, Wenjia Shenzhen Guangdong 518129 (CN) • XU, Qing Shenzhen Guangdong 518129 (CN) (74) Representative: Thun, Clemens Mitscherlich PartmbB Patent- und Rechtsanwälte Sonnenstraße 33 80331 München (DE) (56) References cited: WO-A1-2015/174901 CN-A- 102 318 312 CN-A- 103 581 035 CN-A- 103 973 587 CN-A- 104 796 350 • FERLIN SIMONE ET AL: "Revisiting congestion control for multipath TCP with shared bottleneck detection", IEEE INFOCOM 2016 - THE 35TH ANNUAL IEEE INTERNATIONAL CONFERENCE ON COMPUTER COMMUNICATIONS, IEEE, 10 April 2016 (2016-04-10), pages 1-9, XP032930233, DOI: 10.1109/INFOCOM.2016.7524599 [retrieved on 2016-07-27] • RAMAKRISHNAN TERAOPTIC NETWORKS S FLOYD ACIRI D BLACK EMC K: "The Addition of Explicit Congestion Notification (ECN) to IP; rfc3168.txt", THE ADDITION OF EXPLICIT CONGESTION NOTIFICATION (ECN) TO IP; RFC3168.TXT, INTERNET ENGINEERING TASK FORCE, IETF; STANDARD, INTERNET SOCIETY (ISOC) 4, RUE DES FALAISES CH- 1205 GENEVA, SWITZERLAND, 30 September 2001 (2001-09-30), XP015008949, • B Braden: "RFC 2309 - Recommendations on Queue Management and Congestion Avoidance in the Internet", IETF, 30 April 1998 (1998-04-30), XP055604783, Retrieved from the Internet: URL:https://tools.ietf.org/html/rfc2309 [retrieved on 2019-07-11]
EP3499820B1 FLOYD S ET AL:"RANDOM EARLY DETECTION XU,MINGWEI et al.:"Delay-based Congestion GATEWAYS FOR CONGESTION AVOIDANCE", Control for MPTCP",,3 July 2016(2016-07-03). IEEE/ACM TRANSACTIONS ON NETWORKING. XP032329241, IEEE/ACM,NEW YORK,NY,US,vol.1,no.4,31 RAICIU,C.et al.:"Coupled Congestion Control August1993(1993-08-31),pages397-413, for Multipath Transport Protocols",IETF Request XP000415363,ISSN:1063-6692,DO: for Comments:6356,31 October 2011 10.1109/90.251892 (2011-10-31),XP055195762, FLOYD,S.et al.:"Random Early Detection Gateways for Congestion Avoidance",IEEE/ACM Transactions on Networking,vol.1,no.4,31 August1993(1993-08-31),XP000415363,D0: doi:10.1109/90.251892 XUE,KAIPING et al.:"Migrating Unfairness Among Subflows in MPTCP with Network Coding for Wired-Wireless Networks",IEEE Transactions on Vehicular Technology,vol.66, no.1,18 March2016(2016-03-18),XP055353393
2 EP 3 499 820 B1 • FLOYD S ET AL: "RANDOM EARLY DETECTION GATEWAYS FOR CONGESTION AVOIDANCE", IEEE / ACM TRANSACTIONS ON NETWORKING, IEEE / ACM, NEW YORK, NY, US, vol. 1, no. 4, 31 August 1993 (1993-08-31) , pages 397-413, XP000415363, ISSN: 1063-6692, DOI: 10.1109/90.251892 • FLOYD, S. et al.: "Random Early Detection Gateways for Congestion Avoidance", IEEE /ACM Transactions on Networking, vol. 1, no. 4, 31 August 1993 (1993-08-31) , XP000415363, DOI: doi:10.1109/90.251892 • XUE, KAIPING et al.: "Migrating Unfairness Among Subflows in MPTCP with Network Coding for Wired-Wireless Networks", IEEE Transactions on Vehicular Technology, vol. 66, no. 1, 18 March 2016 (2016-03-18) , XP055353393, • XU, MINGWEI et al.: "Delay-based Congestion Control for MPTCP", , 3 July 2016 (2016-07-03), XP032329241, • RAICIU, C. et al.: "Coupled Congestion Control for Multipath Transport Protocols", IETF Request for Comments: 6356, 31 October 2011 (2011-10-31), XP055195762
7 EP3499820B1 2 Description tions on Queue Management and Congestion Avoidance in the Internet"in IETF RFC2309 by B.Braden,IETF,30 TECHNICAL FIELD April 1998,refers to recommendations on Queue Man- agmenet and Congestion Avoidance. [0001]The presentinvention relates to the field of com- 5 [0008]Further,the prior art document"Random Early munications technologies,and in particular,to a conges- Detection Gateways for Congestion Avoidance"by tion control method,an apparatus,and a system Floyd.S.et.al.IEEE/ACM Transactions on networking IEEE/ACM,New York,31.August 1993 refers to random BACKGROUND early detection gateways for congestion avoidance. o [0002]In a communications system,the Multipath SUMMARY Transmission Control Protocol(Multipath Transmission Control Protocol,MPTCP)can implement multipath par- [0009]This application provides a congestion control allel data transmission. method,an apparatus,and a system,to significantly im- [0003]Currently,to improve a throughput during data 15 prove a congestion control effect. transmission performed by using the MPTCP,when data [0010]This problem is solved by the subject matter of transmission is performed between a transmit end and the independent claims.Further implemenation forms a receive end by using the MPTCP,congestion control are provided in the dependent claims. (for example,adjusting bandwidth occupied by each sub [0011]To achieve the foregoing objective,this appli- stream)needs to be performed on a plurality of data 20 cation uses the following technical solutions.According streams (a data stream transmitted on each transmission to a first aspect,a congestion control method is provided path is referred to as a sub data stream,hereinafter re- The method is applied to a process in which data trans- ferred to as a sub stream)transmitted on a plurality of mission is performed between a first device and a second transmission paths(a connection over which data trans- device by using the MPTCP.The method may include mission is performed by using the plurality of transmis- 25 receiving.by the first device,a first acknowledgement sion paths may be referred to as an MPTCP connection) packet that is from the second device and that includes between the transmit end and the receive end.When an ECE identifier used to instruct the first device to per- congestion control is performed on the plurality of data form congestion control,where the first acknowledge- streams,to ensure fairness between an MPTCP connec- ment packet is an acknowledgement packet of a first data tion and a Transmission Control Protocol (Transmission 30 packet of a first sub stream in a plurality of data streams Control Protocol.TCP)connection(when data transmis- (hereinafter referred to as a plurality of sub streams) sion is performed between the transmit end and the re transmitted on a plurality of transmission paths between ceive end by using the TCP,a connection over which the first device and the second device;determining,by data transmission is performed between the transmit end the first device based on indication of the ECE identifier. and the receive end by using a single transmission path 35 a first sub stream set that includes the first sub stream is referred to as a TCP connection)in a network,a and a plurality of second sub streams that meet a con- throughput of each MPTCP connection usually needs to gestion control condition in sub streams other than the be equal to a throughput of each TCP connection. first sub stream in the plurality of sub streams;and per- [0004]However,a plurality of sub streams are trans- forming congestion control on sub streams in the first sub mitted on each MPTCP connection,and possibly only 40 stream set. some of the plurality of sub streams share bandwidth.If [0012]In this application,the first device may use a set congestion control is simultaneously performed on the congestion control method to perform congestion control plurality of sub streams according to the foregoing meth- on the sub streams in the first sub stream set od,because it can be only ensured that a throughput of [0013]In the congestion control method provided in each MPTCP connection is equal to a throughput of each 45 this application,when data transmission is performed be- TCP connection,a throughput of the MPTCP connection tween the first device and the second device by using may not be significantly improved. the MPTCP,the first device may group,into one sub [0005]Prior art document "Revisiting congestion con- stream set,sub streams that meet the congestion control trol for multipath TCP with shared bottleneck detection" condition in the plurality of sub streams transmitted on by Ferlin Simone et al,IEEE INFOCOM 2016,10.April 50 the plurality of transmission paths between the first de- 2016 refers to a congestion control for multipath TCP vice and the second device.These sub streams that meet with a shared bottleneck detection. the congestion control condition may be bandwidth- [0006]Further,the prior art document"The Addition of shared sub streams to a specific degree.To be specific Explicit Congestion Notification (ECN)to IP"in IETF in this application,a plurality of bandwidth-shared sub RFC3168 by Ramakrishnan et.al.,Teraoptic networks, 55 streams can be grouped into one sub stream set to a 30.September 2001 refers to an addition of an explicit specific degree,and then congestion control can be per- congestion notification. formed on the sub streams in the set.In this way,a con- [0007]Further,the prior art document"Recommenda- gestion control effect can be significantly improved,to 3
EP 3 499 820 B1 3 5 10 15 20 25 30 35 40 45 50 55 Description TECHNICAL FIELD [0001] The present invention relates to the field of communications technologies, and in particular, to a congestion control method, an apparatus, and a system. BACKGROUND [0002] In a communications system, the Multipath Transmission Control Protocol (Multipath Transmission Control Protocol, MPTCP) can implement multipath parallel data transmission. [0003] Currently, to improve a throughput during data transmission performed by using the MPTCP, when data transmission is performed between a transmit end and a receive end by using the MPTCP, congestion control (for example, adjusting bandwidth occupied by each sub stream) needs to be performed on a plurality of data streams (a data stream transmitted on each transmission path is referred to as a sub data stream, hereinafter referred to as a sub stream) transmitted on a plurality of transmission paths (a connection over which data transmission is performed by using the plurality of transmission paths may be referred to as an MPTCP connection) between the transmit end and the receive end. When congestion control is performed on the plurality of data streams, to ensure fairness between an MPTCP connection and a Transmission Control Protocol (Transmission Control Protocol, TCP) connection (when data transmission is performed between the transmit end and the receive end by using the TCP, a connection over which data transmission is performed between the transmit end and the receive end by using a single transmission path is referred to as a TCP connection) in a network, a throughput of each MPTCP connection usually needs to be equal to a throughput of each TCP connection. [0004] However, a plurality of sub streams are transmitted on each MPTCP connection, and possibly only some of the plurality of sub streams share bandwidth. If congestion control is simultaneously performed on the plurality of sub streams according to the foregoing method, because it can be only ensured that a throughput of each MPTCP connection is equal to a throughput of each TCP connection, a throughput of the MPTCP connection may not be significantly improved. [0005] Prior art document "Revisiting congestion control for multipath TCP with shared bottleneck detection" by Ferlin Simone et al, IEEE INFOCOM 2016, 10. April 2016 refers to a congestion control for multipath TCP with a shared bottleneck detection. [0006] Further, the prior art document "The Addition of Explicit Congestion Notification (ECN) to IP" in IETF RFC3168 by Ramakrishnan et.al., Teraoptic networks, 30. September 2001 refers to an addition of an explicit congestion notification. [0007] Further, the prior art document "Recommendations on Queue Management and Congestion Avoidance in the Internet" in IETF RFC2309 by B. Braden, IETF, 30. April 1998, refers to recommendations on Queue Managmenet and Congestion Avoidance. [0008] Further, the prior art document "Random Early Detection Gateways for Congestion Avoidance" by Floyd. S. et. al. IEEE/ACM Transactions on networking, IEEE/ACM, New York, 31. August 1993 refers to random early detection gateways for congestion avoidance. SUMMARY [0009] This application provides a congestion control method, an apparatus, and a system, to significantly improve a congestion control effect. [0010] This problem is solved by the subject matter of the independent claims. Further implemenation forms are provided in the dependent claims. [0011] To achieve the foregoing objective, this application uses the following technical solutions. According to a first aspect, a congestion control method is provided. The method is applied to a process in which data transmission is performed between a first device and a second device by using the MPTCP. The method may include: receiving, by the first device, a first acknowledgement packet that is from the second device and that includes an ECE identifier used to instruct the first device to perform congestion control, where the first acknowledgement packet is an acknowledgement packet of a first data packet of a first sub stream in a plurality of data streams (hereinafter referred to as a plurality of sub streams) transmitted on a plurality of transmission paths between the first device and the second device; determining, by the first device based on indication of the ECE identifier, a first sub stream set that includes the first sub stream and a plurality of second sub streams that meet a congestion control condition in sub streams other than the first sub stream in the plurality of sub streams; and performing congestion control on sub streams in the first sub stream set. [0012] In this application, the first device may use a set congestion control method to perform congestion control on the sub streams in the first sub stream set. [0013] In the congestion control method provided in this application, when data transmission is performed between the first device and the second device by using the MPTCP, the first device may group, into one sub stream set, sub streams that meet the congestion control condition in the plurality of sub streams transmitted on the plurality of transmission paths between the first device and the second device. These sub streams that meet the congestion control condition may be bandwidthshared sub streams to a specific degree. To be specific, in this application, a plurality of bandwidth-shared sub streams can be grouped into one sub stream set to a specific degree, and then congestion control can be performed on the sub streams in the set. In this way, a congestion control effect can be significantly improved, to 1 2
3 EP3499820B1 further improve MPTCP transmission performance. control on the sub stream that is not in the second sub [0014]In a first optional implementation of the first as stream set. pect,after the determining,by the first device,a first sub [0022]In this application,the first device may perform stream set,and before the performing,by the first device. congestion control on the sub streams in the second sub congestion control on sub streams in the first sub stream 5 stream set,and may further perform congestion control set,the congestion control method provided in this ap- on the sub stream that is not in the second sub stream plication may further include:receiving,by the first de- set.In this way,the first device may perform congestion vice,a second acknowledgement packet that is of a data control on all of the plurality of sub streams transmitted packet (hereinafter referred to as a second data packet) on the plurality of transmission paths between the first of a sub stream in the first sub stream set,that is from 10 device and the second device,so that a congestion con- the second device,and that includes the ECE identifier; trol effect can be more significantly improved. determining,based on indication of the ECE identifier,a [0023]In a fourth optional implementation of the first second sub stream set including the sub stream,where aspect,a method for determining,by the first device,the the second sub stream set is a subset of the first sub first sub stream set based on indication of the ECE iden- stream set;and performing congestion control on sub 15 tifier may include:monitoring,by the first device,the sub streams in the second sub stream set. streams other than the first sub stream in the plurality of [0015]In this application,the first device may use the sub streams in a preset time period based on indication set congestion control method to perform congestion of the ECE identifier;determining,as the plurality of sec- control on the sub streams in the second sub stream set. ond sub streams,sub streams that meet the congestion [0016]In this application,after the first device deter- 20 control condition in the sub streams other than the first mines the first sub stream set,the first device may further sub stream in the plurality of sub streams;and determin- determine the second sub stream set from the first sub ing the first sub stream and the plurality of second sub stream set,and perform congestion control on the sub streams as the first sub stream set. streams in the second sub stream set.In this way,the [0024]In this application,by monitoring the sub first device can determine,in relatively high accuracy,a 25 streams other than the first sub stream in the plurality of sub stream set on which congestion control is to be per- sub streams in the preset time period,the first device formed,so that a congestion control effect can be signif- may learn congestion statuses of the plurality of sub icantly improved. streams on the plurality of transmission paths between [0017]In a second optional implementation of the first the first device and the second device,and group,into aspect,the congestion control method provided in this 30 the first sub stream set,the sub streams that meet the application may further include:performing,by the first congestion control condition.These sub streams that device,congestion control on a sub stream (hereinafter meet the congestion control condition may be bandwidth- referred to as a sub stream that is not in the first sub shared sub streams to a specific degree.To be specific, stream set)that is other than the sub streams in the first in this application,a plurality of bandwidth-shared sub sub stream set and that is in the plurality of sub streams 35 streams can be grouped into one sub stream set to a [0018]In this application,the first device may specifi- specific degree,and congestion control can be per- cally use a separate congestion control method to per- fommed on the sub streams in the sub stream set.In this form congestion control on the sub stream that is not in way,a congestion control effect can be significantly im- the first sub stream set. proved. [0019]In this application,the first device may perform 40 [0025]In a fifth optional implementation of the first as congestion control on the sub streams in the first sub pect,a method for determining,by the first device,the stream set,and may further perform congestion control second sub stream set based on indication of the ECE on the sub stream that is not in the first sub stream set identifier may include:monitoring,by the first device in In this way,the first device may perform congestion con- the preset time period based on indication of the ECE trol on all of the plurality of sub streams transmitted on 45 identifier,sub streams in the first sub stream set that are the plurality of transmission paths between the first de. other than a third sub stream in which the second data vice and the second device,so that a congestion control packet is located in the set;determining,as a plurality of effect can be more significantly improved. fourth sub streams,sub streams that meetthe congestion [0020]In a third optional implementation of the first as- control condition in the sub streams other than the third pect,the congestion control method provided in this ap- 50 sub stream in the first sub stream set:and determining plication may further include:performing,by the first de- the third sub stream and the plurality of fourth sub vice,congestion control on a sub stream (hereinafter re- streams as the second sub stream set. ferred to as a sub stream that is not in the second sub [0026]In this application,the first device may monitor stream set)that is other than the sub streams in the sec- the sub streams other than the third sub stream in the ond sub stream set and that is in the plurality of sub 55 first sub stream set in the preset time period,and deter- streams. mine,as the second sub stream set,the third sub stream [0021]The first device may specifically use the sepa- and the sub streams that meet the congestion control rate congestion control method to perform congestion condition in these sub streams
EP 3 499 820 B1 4 5 10 15 20 25 30 35 40 45 50 55 further improve MPTCP transmission performance. [0014] In a first optional implementation of the first aspect, after the determining, by the first device, a first sub stream set, and before the performing, by the first device, congestion control on sub streams in the first sub stream set, the congestion control method provided in this application may further include: receiving, by the first device, a second acknowledgement packet that is of a data packet (hereinafter referred to as a second data packet) of a sub stream in the first sub stream set, that is from the second device, and that includes the ECE identifier; determining, based on indication of the ECE identifier, a second sub stream set including the sub stream, where the second sub stream set is a subset of the first sub stream set; and performing congestion control on sub streams in the second sub stream set. [0015] In this application, the first device may use the set congestion control method to perform congestion control on the sub streams in the second sub stream set. [0016] In this application, after the first device determines the first sub stream set, the first device may further determine the second sub stream set from the first sub stream set, and perform congestion control on the sub streams in the second sub stream set. In this way, the first device can determine, in relatively high accuracy, a sub stream set on which congestion control is to be performed, so that a congestion control effect can be significantly improved. [0017] In a second optional implementation of the first aspect, the congestion control method provided in this application may further include: performing, by the first device, congestion control on a sub stream (hereinafter referred to as a sub stream that is not in the first sub stream set) that is other than the sub streams in the first sub stream set and that is in the plurality of sub streams. [0018] In this application, the first device may specifically use a separate congestion control method to perform congestion control on the sub stream that is not in the first sub stream set. [0019] In this application, the first device may perform congestion control on the sub streams in the first sub stream set, and may further perform congestion control on the sub stream that is not in the first sub stream set. In this way, the first device may perform congestion control on all of the plurality of sub streams transmitted on the plurality of transmission paths between the first device and the second device, so that a congestion control effect can be more significantly improved. [0020] In a third optional implementation of the first aspect, the congestion control method provided in this application may further include: performing, by the first device, congestion control on a sub stream (hereinafter referred to as a sub stream that is not in the second sub stream set) that is other than the sub streams in the second sub stream set and that is in the plurality of sub streams. [0021] The first device may specifically use the separate congestion control method to perform congestion control on the sub stream that is not in the second sub stream set. [0022] In this application, the first device may perform congestion control on the sub streams in the second sub stream set, and may further perform congestion control on the sub stream that is not in the second sub stream set. In this way, the first device may perform congestion control on all of the plurality of sub streams transmitted on the plurality of transmission paths between the first device and the second device, so that a congestion control effect can be more significantly improved. [0023] In a fourth optional implementation of the first aspect, a method for determining, by the first device, the first sub stream set based on indication of the ECE identifier may include: monitoring, by the first device, the sub streams other than the first sub stream in the plurality of sub streams in a preset time period based on indication of the ECE identifier; determining, as the plurality of second sub streams, sub streams that meet the congestion control condition in the sub streams other than the first sub stream in the plurality of sub streams; and determining the first sub stream and the plurality of second sub streams as the first sub stream set. [0024] In this application, by monitoring the sub streams other than the first sub stream in the plurality of sub streams in the preset time period, the first device may learn congestion statuses of the plurality of sub streams on the plurality of transmission paths between the first device and the second device, and group, into the first sub stream set, the sub streams that meet the congestion control condition. These sub streams that meet the congestion control condition may be bandwidthshared sub streams to a specific degree. To be specific, in this application, a plurality of bandwidth-shared sub streams can be grouped into one sub stream set to a specific degree, and congestion control can be performed on the sub streams in the sub stream set. In this way, a congestion control effect can be significantly improved. [0025] In a fifth optional implementation of the first aspect, a method for determining, by the first device, the second sub stream set based on indication of the ECE identifier may include: monitoring, by the first device in the preset time period based on indication of the ECE identifier, sub streams in the first sub stream set that are other than a third sub stream in which the second data packet is located in the set; determining, as a plurality of fourth sub streams, sub streams that meet the congestion control condition in the sub streams other than the third sub stream in the first sub stream set; and determining the third sub stream and the plurality of fourth sub streams as the second sub stream set. [0026] In this application, the first device may monitor the sub streams other than the third sub stream in the first sub stream set in the preset time period, and determine, as the second sub stream set, the third sub stream and the sub streams that meet the congestion control condition in these sub streams. 3 4
EP3499820B1 6 [0027]In a sixth optional implementation of the first vice and the second device.These sub streams that meet aspect,before the first device sends a data packet to a the congestion control condition may be bandwidth routing device,the congestion control method provided shared sub streams to a specific degree.To be specific. in this application may further include:marking,by the in this application,a plurality of bandwidth-shared sub first device,the to-be-sent data packet. 5 streams can be grouped into one sub stream set to a [0028]Before sending the data packet to the routing specific degree,and congestion control can be per- device,the first device may first mark the to-be-sent data formed on the sub streams in the sub stream set.In this packet,to be specific,set an ECN identifier of the data way,a congestion control effect can be significantly im- packet to an ECN-supported identifier.The ECNidentifier proved,to further improve MPTCP transmission perform- is used to indicate,to the routing device,that the data 10 ance packet supports an ECN function.Then,the routing de- [0031]In a first optional implementation of the second vice sends the data packet with the ECN identifier to the aspect,the congestion control method provided in this second device.After receiving the data packet,the sec- application may further include:receiving,by the routing ond device sends,to the first device,an acknowledge- device,a second data packet from the first device;de- ment packet(for example,the first acknowledgement 15 termining,by the routing device,that an average queue packet or the second acknowledgement packet)for length of a data packet queue (the data packet queue which an ECE identifier is set.After receiving the ac- includes a data packet that is to be from the routing de- knowledgement packet,the first device may learn that a vice)is greater than or equal to the first preset threshold sub stream in which the data packet is located may be and is less than or equal to the second preset threshold; congested,and determine,from the plurality of sub 20 making a congestion mark for the second data packet. streams based on indication of the ECE identifier in the and adding the second data packet to the data packet acknowledgement packet based on the congestion con- queue;and successively sending data packets in the da- trol condition,sub streams(for example,the sub streams ta packet queue to the second device. in the first sub stream set or the sub streams in the second [0032]In this application,the first device sends a plu- sub stream set)that may be congested,so that the first 25 rality of data packets to the routing device.The second device implements congestion control on these sub data packet is a data packet of a sub stream in a first sub streams that may be congested stream set.After receiving the second data packet from [0029]According to a second aspect,a congestion the first device,the routing device may make the con- control method is provided.The method is applied to a gestion mark for the data packet that may encounter con- process in which data transmission is performed between 名 gestion,and then send the second data packet to the a first device and a second device by using the MPTCP. second device.After receiving the second data packet The method may include:receiving,by a routing device, with the congestion mark,the second device makes an a first data packet from the first device;determining,by ECE mark for a second acknowledgement packet with the routing device,that an average queue length of a which the second device is to reply to the first device data packet queue(the data packet queue includes a 35 Therefore,after the first device receives the second ac data packet that is to be from the routing device)is greater knowledgement packet including the ECE identifier,the than or equal to a first preset threshold and is less than first device may group,into a second sub stream set,sub or equal to a second preset threshold;making a conges- streams that meet the congestion control condition in the tion mark for the first data packet,and adding the first first sub stream set.In other words,the first device may data packet to the data packet queue;and successively 40 further determine the second sub stream set (the second sending data packets in the data packet queue to the sub stream set is a subset of the first sub stream set) second device. from the first sub stream set.In this way,the first device [0030]In the congestion control method provided in can determine,in relatively high accuracy,a sub stream this application,when data transmission is performed be- set on which congestion control is to be performed,so tween the first device and the second device by using 45 that a congestion control effect can be significantly im- the MPTCP,after receiving the first data packet from the proved. first device,the routing device may make the congestion [0033]According to a third aspect,a congestion control mark for the data packet that may encounter congestion. method is provided.The method is applied to a process and then send the first data packet to the second device. in which data transmission is performed between a first After receiving the first data packet with the congestion 50 device and a second device by using the MPTCP.The mark,the second device makes an ECE mark for a first method may include:receiving,by the second device,a acknowledgement packet with which the second device first data packet from a routing device;making an ECE is to reply to the first device.Therefore,after the first mark for a first acknowledgement packet with which the device receives the first acknowledgement packet includ- second device is to reply to the first device:and sending ing the ECE identifier,the first device may group,into 55 the first acknowledgement packet to the first device. one sub stream set,sub streams that meet a congestion [0034]In the congestion control method provided in control condition in a plurality of sub streams transmitted this application,when data transmission is performed be- on a plurality of transmission paths between the first de- tween the first device and the second device by using 5
EP 3 499 820 B1 5 5 10 15 20 25 30 35 40 45 50 55 [0027] In a sixth optional implementation of the first aspect, before the first device sends a data packet to a routing device, the congestion control method provided in this application may further include: marking, by the first device, the to-be-sent data packet. [0028] Before sending the data packet to the routing device, the first device may first mark the to-be-sent data packet, to be specific, set an ECN identifier of the data packet to an ECN-supported identifier. The ECN identifier is used to indicate, to the routing device, that the data packet supports an ECN function. Then, the routing device sends the data packet with the ECN identifier to the second device. After receiving the data packet, the second device sends, to the first device, an acknowledgement packet (for example, the first acknowledgement packet or the second acknowledgement packet) for which an ECE identifier is set. After receiving the acknowledgement packet, the first device may learn that a sub stream in which the data packet is located may be congested, and determine, from the plurality of sub streams based on indication of the ECE identifier in the acknowledgement packet based on the congestion control condition, sub streams (for example, the sub streams in the first sub stream set or the sub streams in the second sub stream set) that may be congested, so that the first device implements congestion control on these sub streams that may be congested. [0029] According to a second aspect, a congestion control method is provided. The method is applied to a process in which data transmission is performed between a first device and a second device by using the MPTCP. The method may include: receiving, by a routing device, a first data packet from the first device; determining, by the routing device, that an average queue length of a data packet queue (the data packet queue includes a data packet that is to be from the routing device) is greater than or equal to a first preset threshold and is less than or equal to a second preset threshold; making a congestion mark for the first data packet, and adding the first data packet to the data packet queue; and successively sending data packets in the data packet queue to the second device. [0030] In the congestion control method provided in this application, when data transmission is performed between the first device and the second device by using the MPTCP, after receiving the first data packet from the first device, the routing device may make the congestion mark for the data packet that may encounter congestion, and then send the first data packet to the second device. After receiving the first data packet with the congestion mark, the second device makes an ECE mark for a first acknowledgement packet with which the second device is to reply to the first device. Therefore, after the first device receives the first acknowledgement packet including the ECE identifier, the first device may group, into one sub stream set, sub streams that meet a congestion control condition in a plurality of sub streams transmitted on a plurality of transmission paths between the first device and the second device. These sub streams that meet the congestion control condition may be bandwidthshared sub streams to a specific degree. To be specific, in this application, a plurality of bandwidth-shared sub streams can be grouped into one sub stream set to a specific degree, and congestion control can be performed on the sub streams in the sub stream set. In this way, a congestion control effect can be significantly improved, to further improve MPTCP transmission performance. [0031] In a first optional implementation of the second aspect, the congestion control method provided in this application may further include: receiving, by the routing device, a second data packet from the first device; determining, by the routing device, that an average queue length of a data packet queue (the data packet queue includes a data packet that is to be from the routing device) is greater than or equal to the first preset threshold and is less than or equal to the second preset threshold; making a congestion mark for the second data packet, and adding the second data packet to the data packet queue; and successively sending data packets in the data packet queue to the second device. [0032] In this application, the first device sends a plurality of data packets to the routing device. The second data packet is a data packet of a sub stream in a first sub stream set. After receiving the second data packet from the first device, the routing device may make the congestion mark for the data packet that may encounter congestion, and then send the second data packet to the second device. After receiving the second data packet with the congestion mark, the second device makes an ECE mark for a second acknowledgement packet with which the second device is to reply to the first device. Therefore, after the first device receives the second acknowledgement packet including the ECE identifier, the first device may group, into a second sub stream set, sub streams that meet the congestion control condition in the first sub stream set. In other words, the first device may further determine the second sub stream set (the second sub stream set is a subset of the first sub stream set) from the first sub stream set. In this way, the first device can determine, in relatively high accuracy, a sub stream set on which congestion control is to be performed, so that a congestion control effect can be significantly improved. [0033] According to a third aspect, a congestion control method is provided. The method is applied to a process in which data transmission is performed between a first device and a second device by using the MPTCP. The method may include: receiving, by the second device, a first data packet from a routing device; making an ECE mark for a first acknowledgement packet with which the second device is to reply to the first device; and sending the first acknowledgement packet to the first device. [0034] In the congestion control method provided in this application, when data transmission is performed between the first device and the second device by using 5 6