一种多径TCP拥塞控制的方法、装置及系统转让专利

申请号 : CN201210271599.3

文献号 : CN103581035B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 何宁朱雷

申请人 : 华为技术有限公司

摘要 :

本发明实施例提供了一种多径TCP拥塞控制的方法、装置及系统,涉及通信领域,用以在拥塞发生之前,进行拥塞控制,提高数据传输的效率。所述方法,包括:接收端接收发送端在第一接入网已建立的至少一个多径传输控制协议TCP子流中,经第一接入网的网络节点发送的数据包;若检测到所述数据包的支持显式拥塞通知ECN的传输ECT标志位用第一标识符标识;拥塞预警CE标志位用第二标识符标识,则所述接收端进行拥塞控制;其中,所述数据包的ECN反馈ECE标志位用第三标识符标识;拥塞窗口减半CWR标志位用第四标识符标识。本发明适用于网络的拥塞控制。

权利要求 :

1.一种多径TCP拥塞控制的方法,其特征在于,包括:

接收端接收发送端在第一接入网已建立的至少一个多径传输控制协议TCP子流中,经第一接入网的网络节点发送的数据包;

若检测到所述数据包的支持显式拥塞通知ECN的传输ECT标志位用第一标识符标识;拥塞预警CE标志位用第二标识符标识,则所述接收端进行拥塞控制;其中,所述数据包的ECN反馈ECE标志位用第三标识符标识;拥塞窗口减半CWR标志位用第四标识符标识。

2.根据权利要求1所述的方法,其特征在于,所述进行拥塞控制包括:在所述发送端通过第二接入网接入所述接收端的情况下,若所述发送端与所述接收端没有在第二接入网中建立多径TCP子流,则在第二接入网中,所述接收端向所述发送端发送第一同步序列编号SYN数据包;所述第一SYN数据包的所述ECE标志位用第五标识符标识;所述CWR用第六标识符标识;且所述ECT标志位与所述CE标志位不同;所述第一SYN数据包中还携带有多径添加MP_JOIN信息;所述MP_JOIN表示添加一条多径TCP子流;

所述接收端接收所述发送端发送的第一同步序列编号及确认SYN-ACK数据包;所述第一SYN-ACK数据包中的所述ECE标志位用第五标识符标识;所述CWR用第四标识符标识;且所述ECT标志位与所述CE标志位不同;所述SYN-ACK数据包中携带MP_JOIN信息;

所述接收端向所述发送端发送确认ACK数据包;所述ACK数据包中携带有MP_JOIN信息。

3.根据权利要求2所述的方法,其特征在于,在所述接收端向所述发送端发送建立多径TCP子流的消息之前,还包括:所述接收端接收所述发送端发送的包含添加地址ADD_ADDR信息的地址信息,并根据所述地址信息获取所述发送端在第二接入网中的互联网协议IP地址。

4.根据权利要求1所述的方法,其特征在于,所述进行拥塞控制包括:所述接收端向所述发送端发送第一响应数据包,以使得所述发送端进行拥塞控制;所述第一响应数据包的ECT标志位用第一标识符标识,所述CE标志位用第七标识符标识;所述ECE标志位用第五标识符标识;所述CWR标志位用第四标识符标识。

5.根据权利要求4所述的方法,其特征在于,在所述接收端向所述发送端发送第一响应数据包之后,还包括:在第二接入网中,所述接收端接收所述发送端发送的第一SYN数据包;

所述接收端向所述发送端发送第一SYN-ACK数据包;

所述接收端接收所述发送端发送的ACK数据包。

6.根据权利要求1所述的方法,其特征在于,所述进行拥塞控制包括:对已建立的多径TCP子流进行拥塞控制,并向发送端发送第二响应数据包;所述第二响应数据包的ECT标志位用第一标识符标识,所述CE标志位用七标识符标识;所述ECE标志位用第三标识符标识;

所述CWR标志位用第六标识符标识。

7.根据权利要求1、2、4-5任一项所述的方法,其特征在于,在所述接收端接收发送端在第一接入网已建立的至少一个多径传输控制协议TCP子流中,经第一接入网的网络节点发送的数据包之前,还包括:所述接收端接收所述发送端在第一接入网中发送的第二SYN数据包,记录所述发送端的MP_CAPABLE的相关信息,端口号,及IP地址;并转发所述第二SYN数据包至通信对端的服务器;所述第二SYN数据包中的ECE标志位用第五标识符标识,所述的CWR标志位用六标识符标识;且所述ECT标志位与所述CE标志位不同;所述第二SYN数据包中携带有多径能力MP_CAPABLE信息;所述MP_CAPABLE用于标识发送端支持多径TCP;

所述接收端接收所述通信对端的服务器发送的第二SYN-ACK数据包;所述第二SYN-ACK数据包的所述ECE标志位用第五标识符标识;CWR标志位第四标识符标识;且所述ECT标志位与所述CE标志位不同;

若所述接收端检测到所述第二SYN-ACK数据包中未携带MP_CAPABLE信息,则将所述MP_CAPABLE添加至所述第二SYN-ACK数据包中,用第八标识符标识所述第二SYN-ACK数据包的P标志位;

所述接收端将所述第二SYN-ACK数据包发送至所述发送端;

所述接收端接收所述发送端发送的ACK数据包,并将所述ACK数据包发送至通信对端的服务器。

8.根据权利要求1-6任一项所述的方法,其特征在于,在所述接收端接收发送端在第一接入网已建立的至少一个多径传输控制协议TCP子流中,经第一接入网的网络节点发送的数据包之前,还包括:所述接收端接收所述发送端在第一接入网中发送的第二SYN数据包;

所述接收端发送第三SYN-ACK数据包至所述发送端;所述第三SYN-ACK数据包中的所述ECE标志位用第五标识符标识,所述CWR用第四标识符标识;且所述ECT标志位与所述CE标志位不同;所述第三SYN-ACK数据包中还携带有MP_CAPABLE;

所述接收端接收所述发送端发送的ACK数据包。

9.一种多径TCP拥塞控制的方法,其特征在于,包括:

发送端在第一接入网已建立的至少一个多径传输控制协议TCP子流中向接收端发送数据包;所述数据包的支持显式拥塞通知ECN的传输ECT标志位用第一标识符标识,拥塞预警CE标志位用第七标识符标识;ECN反馈ECE标志位用第三标识符标识;拥塞窗口减半CWR标志位用第四标识符标识,以便第一接入网的网络节点在检测到网络即将拥塞或第一接入网链路质量变差时,网络节点通过将数据包的CE标志位由第七标识符标识更改为第二标识符标识通知所述接收端网络即将拥塞或第一接入网链路质量变差,以使得所述接收端进行拥塞控制;

若接收端进行拥塞控制,则所述发送端进行相应的拥塞控制。

10.根据权利要求9所述的方法,其特征在于,所述发送端进行相应的拥塞控制包括:在所述发送端通过第二接入网接入所述接收端的情况下,若所述发送端与所述接收端没有在第二接入网中建立多径TCP子流,则在第二接入网中,所述发送端接收所述接收端发送的第一同步序列编号SYN数据包;所述第一SYN数据包的所述ECE标志位用第五标识符标识;所述CWR用第六标识符标识;且所述ECT标志位与所述CE标志位不同;所述第一SYN数据包中还携带有多径添加MP_JOIN信息;所述MP_JOIN表示添加一条多径TCP子流;

所述发送端向所述接收端发送第一同步序列编号及确认SYN-ACK数据包;所述第一SYN-ACK数据包中的所述ECE标志位用第五标识符标识;所述CWR用第四标识符标识;且所述ECT标志位与所述CE标志位不同;所述SYN-ACK数据包中携带有MP_JOIN信息;

所述发送端接收所述接收端发送的确认ACK数据包;所述ACK数据包中携带有MP_JOIN信息。

11.根据权利要求10所述的方法,其特征在于,在所述发送端接收所述接收端发送的多径TCP子流的消息之前,还包括:所述发送端向接收端发送包含添加地址ADD_ADDR信息的地址信息,以使得所述接收端根据所述地址信息获取所述发送端在第二接入网中的互联网协议IP地址。

12.根据权利要求9所述的方法,其特征在于,所述发送端进行相应的拥塞控制包括:所述发送端接收所述接收端发送的第一响应数据包;所述第一响应数据包的ECT标志位用第一标识符标识,所述CE标志位用第七标识符标识;所述ECE标志位用第五标识符标识;所述CWR标志位用第四标识符标识。

13.根据权利要求12所述的方法,其特征在于,在所述发送端接收所述接收端发送的第一响应数据之后,还包括:在所述发送端通过第二接入网接入所述接收端的情况下,若所述发送端与所述接收端没有在第二接入网中建立多径TCP子流,则在第二接入网中,所述发送端向所述接收端发送第一SYN数据包;

所述发送端接收所述接收端发送的第一SYN-ACK数据包;

所述发送端向所述接收端发送ACK数据包。

14.根据权利要求12所述的方法,其特征在于,在所述发送端接收所述接收端发送的第一响应数据之后,还包括:所述发送端对已建立的多径TCP子流进行拥塞控制。

15.根据权利要求9所述的方法,其特征在于,所述发送端进行相应的拥塞控制包括:所述发送端接收所述接收端发送的第二响应数据包;所述第二响应数据包的ECT标志位用第一标识符标识,所述CE标志位用七标识符标识;所述ECE标志位用第三标识符标识;

所述CWR标志位用第六标识符标识。

16.根据权利要求9-15任一项所述的方法,其特征在于,在所述发送端在第一接入网已建立的多径传输控制协议TCP子流中向接收端发送数据包之前,还包括:所述发送端向所述接收端发送第二SYN数据包;所述第二SYN数据包中的ECE标志位用第五标识符标识,所述的CWR标志位用六标识符标识;且所述ECT标志位与所述CE标志位不同;所述第二SYN数据包中携带有多径能力MP_CAPABLE信息;所述MP_CAPABLE用于标识发送端支持多径TCP;

所述发送端接收所述接收端发送的第二SYN-ACK数据包或第三SYN-ACK数据包;所述第二SYN-ACK数据包的所述ECE标志位用第五标识符标识;CWR标志位第四标识符标识;且所述ECT标志位与所述CE标志位不同;所述第二SYN-ACK数据包中还携带有MP_CAPABLE信息;所述第二SYN-ACK数据包的P标志位用地八标识符标识;所述第三SYN-ACK数据包中的所述ECE标志位用第五标识符标识,所述CWR用第四标识符标识;且所述ECT标志位与所述CE标志位不同;所述第三SYN-ACK数据包中还携带有MP_CAPABLE信息;

所述发送端向所述接收端发送ACK数据包。

17.一种多径TCP拥塞控制的装置,其特征在于,包括:

接收单元,用于接收发送端在第一接入网已建立的至少一个多径传输控制协议TCP子流中,经第一接入网的网络节点发送的数据包;

处理单元,用于在检测到所述数据包的支持显式拥塞通知ECN的传输ECT标志位用第一标识符标识;拥塞预警CE标志位用第二标识符标识的情况下,所述接收端进行拥塞控制;其中,所述数据包的ECN反馈ECE标志位用第三标识符标识;拥塞窗口减半CWR标志位用第四标识符标识。

18.根据权利要求17所述的装置,其特征在于,所述处理单元具体包括:第一发送模块,第一接收模块;

所述第一发送模块,用于在所述发送端通过第二接入网接入所述装置的情况下,若所述发送端与所述装置没有在第二接入网中建立多径TCP子流,则在第二接入网中,向所述发送端发送第一同步序列编号SYN数据包;所述第一SYN数据包的所述ECE标志位用第五标识符标识;所述CWR用第六标识符标识;且所述ECT标志位与所述CE标志位不同;所述第一SYN数据包中还携带有多径添加MP_JOIN信息;所述MP_JOIN信息表示添加一条多径TCP子流;

所述第一接收模块,用于接收所述发送端发送的第一同步序列编号及确认SYN-ACK数据包;所述第一SYN-ACK数据包中的所述ECE标志位用第五标识符标识;所述CWR用第四标识符标识;且所述ECT标志位与所述CE标志位不同;所述SYN-ACK数据包中携带MP_JOIN信息;

所述第一发送模块,还用于向所述发送端发送确认ACK数据包;所述ACK数据包中携带有MP_JOIN信息。

19.根据权利要求18所述的装置,其特征在于,

所述接收单元,还用于接收所述发送端发送的包含添加地址ADD_ADDR信息的地址信息;

所述装置,还包括:

获取单元,用于根据所述接收单元接收的所述地址信息获取所述发送端在第二接入网中的互联网协议IP地址。

20.根据权利要求17所述的装置,其特征在于,所述处理单元具体用于,向所述发送端发送第一响应数据包,以使得所述发送端进行拥塞控制;所述第一响应数据包的ECT标志位用第一标识符标识,所述CE标志位用第七标识符标识;所述ECE标志位用第五标识符标识;

所述CWR标志位用第四标识符标识。

21.根据权利要求20所述的装置,其特征在于,所述接收单元,还用于在第二接入网中,接收所述发送端发送的第一SYN数据包;

所述装置,还包括:

第一发送单元,用于向所述发送端发送第一SYN-ACK数据包;

所述接收单元,还用于接收所述发送端发送的ACK数据包。

22.根据权利要求17所述的装置,其特征在于,所述处理单元具体用于,对已建立的多径TCP子流进行拥塞控制,并向发送端发送第二响应数据包;所述第二响应数据包的ECT标志位用第一标识符标识,所述CE标志位用七标识符标识;所述ECE标志位用第三标识符标识;所述CWR标志位用第六标识符标识。

23.根据权利要求17、18、20-22任一项所述的装置,其特征在于,所述接收单元,还用于接收所述发送端在第一接入网中发送的第二SYN数据包;所述第二SYN数据包中的ECE标志位用第五标识符标识,所述的CWR标志位用六标识符标识;且所述ECT标志位与所述CE标志位不同;所述第二SYN数据包中携带有多径能力MP_CAPABLE信息;所述MP_CAPABLE用于标识发送端支持多径TCP;

所述装置,还包括:

记录单元,用于记录所述发送端的MP_CAPABLE的相关信息,端口号,及IP地址;

第二发送单元,用于发送所述第二SYN数据包至通信对端的服务器;

所述接收单元,还用于接收所述通信对端的服务器发送的第二SYN-ACK数据包;所述第二SYN-ACK数据包的所述ECE标志位用第五标识符标识;CWR标志位第四标识符标识;且所述ECT标志位与所述CE标志位不同;

所述装置,还包括:

检测单元,用于检测所述第二SYN-ACK数据包中是否携带有MP_CAPABLE信息;

所述处理单元,还用于在检测单元检测到所述第二SYN-ACK数据包中未携带有MP_CAPABLE信息时,将所述MP_CAPABLE添加至所述第二SYN-ACK数据包中,用第八标识符标识所述第二SYN-ACK数据包的P标志位;

所述第一发送单元,还用于将所述第二SYN-ACK数据包发送至所述发送端;

所述接收单元,还用于接收所述发送端发送的ACK数据包;

所述第二发送单元,还用于将所述ACK数据包发送至通信对端的服务器。

24.根据权利要求17-22任一项所述的装置,其特征在于,还包括:

所述接收单元,还用于接收所述发送端在第一接入网中发送的第二SYN数据包;

所述第一发送单元,还用于发送第三SYN-ACK数据包至所述发送端;所述第三SYN-ACK数据包中的所述ECE标志位用第五标识符标识,所述CWR用第四标识符标识;且所述ECT标志位与所述CE标志位不同;所述第三SYN-ACK数据包中还携带有MP_CAPABLE;

所述接收单元,还用于接收所述发送端发送的ACK数据包。

25.一种多径TCP拥塞控制的装置,其特征在于,包括:

发送单元,用于在第一接入网已建立的至少一个多径传输控制协议TCP子流中向接收端发送数据包;所述数据包的支持显式拥塞通知ECN的传输ECT标志位用第一标识符标识,拥塞预警CE标志位用第七标识符标识;ECN反馈ECE标志位用第三标识符标识;拥塞窗口减半CWR标志位用第四标识符标识;以便第一接入网的网络节点在检测到网络即将拥塞或第一接入网链路质量变差时,网络节点通过将数据包的CE标志位由第七标识符标识更改为第二标识符标识通知所述接收端网络即将拥塞或第一接入网链路质量变差,以使得所述接收端进行拥塞控制;

处理单元,用于接收端进行拥塞控制的情况下,进行相应的拥塞控制。

26.根据权利要求25所述的装置,其特征在于,所述处理单元包括:接收模块和发送模块;

所述接收模块,用于在所述发送端通过第二接入网接入所述接收端的情况下,若所述装置与所述接收端没有在第二接入网中建立多径TCP子流,则在第二接入网中,接收所述接收端发送的第一同步序列编号SYN数据包;所述第一SYN数据包的所述ECE标志位用第五标识符标识;所述CWR用第六标识符标识;且所述ECT标志位与所述CE标志位不同;所述第一SYN数据包中还携带有多径添加MP_JOIN信息;所述MP_JOIN表示添加一条多径TCP子流;

所述发送模块,用于向所述接收端发送第一同步序列编号及确认SYN-ACK数据包;所述第一SYN-ACK数据包中的所述ECE标志位用第五标识符标识;所述CWR用第四标识符标识;且所述ECT标志位与所述CE标志位不同;所述SYN-ACK数据包中携带有MP_JOIN信息;

所述接收模块,还用于接收所述接收端发送的确认ACK数据包;所述ACK数据包中携带有MP_JOIN信息。

27.根据权利要求26所述的装置,其特征在于,

所述发送单元,还用于向接收端发送包含添加地址ADD_ADDR信息的地址信息,以使得所述接收端根据所述地址信息获取所述发送端在第二接入网中的互联网协议IP地址。

28.根据权利要求25所述的装置,其特征在于,所述处理单元具体用于,接收所述接收端发送的第一响应数据包;所述第一响应数据包的ECT标志位用第一标识符标识,所述CE标志位用第七标识符标识;所述ECE标志位用第五标识符标识;所述CWR标志位用第四标识符标识。

29.根据权利要求28所述的装置,其特征在于,

所述发送单元,还用于在所述发送端通过第二接入网接入所述接收端的情况下,若所述发送端与所述接收端没有在第二接入网中建立多径TCP子流,则在第二接入网中,向所述接收端发送第一SYN数据包;

所述装置,还包括:

接收单元,用于接收所述接收端发送的第一SYN-ACK数据包;

所述发送单元,还用于向所述接收端发送ACK数据包。

30.根据权利要求28所述的装置,其特征在于,

所述处理单元,还用于对已建立的多径TCP子流进行拥塞控制。

31.根据权利要求25所述的装置,其特征在于,所述处理单元具体用于,接收所述接收端发送的第二响应数据包;所述第二响应数据包的ECT标志位用第一标识符标识,所述CE标志位用七标识符标识;所述ECE标志位用第三标识符标识;所述CWR标志位用第六标识符标识。

32.根据权利要求25-31任一项所述的装置,其特征在于,

所述发送单元,还用于向所述接收端发送第二SYN数据包;所述第二SYN数据包中的ECE标志位用第五标识符标识,所述的CWR标志位用六标识符标识;且所述ECT标志位与所述CE标志位不同;所述第二SYN数据包中携带有多径能力MP_CAPABLE信息;所述MP_CAPABLE用于标识发送端支持多径TCP;

所述接收单元,还用于接收所述接收端发送的第二SYN-ACK数据包或第三SYN-ACK数据包;所述第二SYN-ACK数据包的所述ECE标志位用第五标识符标识;CWR标志位第四标识符标识;且所述ECT标志位与所述CE标志位不同;所述第二SYN-ACK数据包中还携带有MP_CAPABLE信息;所述第二SYN-ACK数据包的P标志位用地八标识符标识;所述第三SYN-ACK数据包中的所述ECE标志位用第五标识符标识,所述CWR用第四标识符标识;且所述ECT标志位与所述CE标志位不同;所述第三SYN-ACK数据包中还携带有MP_CAPABLE信息;

所述发送单元,还用于向所述接收端发送ACK数据包。

33.一种多径TCP拥塞控制的装置,其特征在于,包括:

接收器,用于接收端接收发送端在第一接入网已建立的至少一个多径传输控制协议TCP子流中,经第一接入网的网络节点发送的数据包;

处理器,用于若检测到所述数据包的支持显式拥塞通知ECN的传输ECT标志位用第一标识符标识;拥塞预警CE标志位用第二标识符标识,则所述接收端进行拥塞控制;其中,所述数据包的ECN反馈ECE标志位用第三标识符标识;拥塞窗口减半CWR标志位用第四标识符标识。

34.一种多径TCP拥塞控制的装置,其特征在于,包括:

发送器,用于发送端在第一接入网已建立的至少一个多径传输控制协议TCP子流中向接收端发送数据包;所述数据包的支持显式拥塞通知ECN的传输ECT标志位用第一标识符标识,拥塞预警CE标志位用第七标识符标识;ECN反馈ECE标志位用第三标识符标识;拥塞窗口减半CWR标志位用第四标识符标识;以便第一接入网的网络节点在检测到网络即将拥塞时,通过改变CE标志位通知所述接收端,以使得所述接收端进行拥塞控制;

处理器,用于在接收端进行拥塞控制的情况下,进行相应的拥塞控制。

35.一种多径TCP拥塞控制的系统,其特征在于,包括:发送端,网络节点,接收端;

所述发送端为权利要求17-24任一项所述的一种多径TCP拥塞控制的装置;

所述接收端为权利要求25-32任一项所述的一种多径TCP拥塞控制的装置。

36.一种多径TCP拥塞控制的系统,其特征在于,包括:发送端,网络节点,接收端;

所述发送端为权利要求33所述的一种多径TCP拥塞控制的装置;

所述接收端为权利要求34所述的一种多径TCP拥塞控制的装置。

说明书 :

一种多径TCP拥塞控制的方法、装置及系统

技术领域

[0001] 本发明涉及通信领域,尤其涉及一种多径TCP拥塞控制的方法、装置及系统。

背景技术

[0002] MPTCP(Multipath Transport Control Protocol,多径传输控制协议)建立在TCP(Transport Control Protocol,传输控制协议)基础上,其主要有两个功能:包调度和路径管理。MPTCP对应用层是透明的。MPTCP将发送方应用层的数据分发到各个子流传输,将接收方接收的各个子流传输的数据按序递交给应用层。MPTCP通过提供多路径实现提高资源的利用率,从而提升网络的容量。
[0003] MPTCP依靠子流发送及接收数据,在子流发生拥塞时,MPTCP需对子流进行拥塞控制。在现有技术中,MPTCP通过调整拥塞窗口大小,实现对子流进行拥塞控制。具体的,MPTCP通过公式 调整拥塞窗口大小。其中,cwnd_i表示第i个子流的拥塞窗口;cwnd_total表示所有子流的拥塞窗口之和,MSS_i表示第i个子流的最大分段值;bytes_acked表示在一个往返时延内已被接收端确认的字节的大小;alpha为系数,通过公式 计算
得到;rtt_i表示往返时延。
[0004] 在实现上述拥塞控制的过程中,发明人发现现有技术中至少存在如下问题:数据的发送端只有在发生拥塞之后才能进行拥塞控制,这时网络节点可能已经丢弃了一些数据包,降低了数据传输的效率。

发明内容

[0005] 本发明的实施例提供一种多径TCP拥塞控制的方法、装置及系统,用以在拥塞发生之前,进行拥塞控制,提高数据传输的效率。
[0006] 为达到上述目的,本发明的实施例采用如下技术方案:
[0007] 第一方面,本发明实施例提供了一种多径TCP拥塞控制的方法,包括:接收端接收发送端在第一接入网已建立的至少一个多径传输控制协议TCP子流中,经第一接入网的网络节点发送的数据包;
[0008] 若检测到所述数据包的支持显式拥塞通知ECN的传输ECT标志位用第一标识符标识;拥塞预警CE标志位用第二标识符标识,则所述接收端进行拥塞控制;其中,所述数据包的ECN反馈ECE标志位用第三标识符标识;拥塞窗口减半CWR标志位用第四标识符标识。
[0009] 在第一种可能的实现方式中,所述进行拥塞控制包括:在所述发送端通过第二接入网接入所述接收端的情况下,若所述发送端与所述接收端没有在第二接入网中建立多径TCP子流,则在第二接入网中,所述接收端向所述发送端发送第一同步序列编号SYN数据包;所述第一SYN数据包的所述ECE标志位用第五标识符标识;所述CWR用第六标识符标识;且所述ECT标志位与所述CE标志位不同;所述第一SYN数据包中还携带有多径添加MP_JOIN信息;
所述MP_JOIN表示添加一条多径TCP子流;所述接收端接收所述发送端发送的第一同步序列编号及确认SYN-ACK数据包;所述第一SYN-ACK数据包中的所述ECE标志位用第五标识符标识;所述CWR用第四标识符标识;且所述ECT标志位与所述CE标志位不同;所述SYN-ACK数据包中携带MP_JOIN信息;所述接收端向所述发送端发送确认ACK数据包;所述ACK数据包中携带有MP_JOIN信息。
[0010] 结合第一方面,在第二种可能的实现方式中,所述进行拥塞控制包括:所述接收端向所述发送端发送第一响应数据包,以使得所述发送端进行拥塞控制;所述第一响应数据包的ECT标志位用第一标识符标识,所述CE标志位用第七标识符标识;所述ECE标志位用第五标识符标识;所述CWR标志位用第四标识符标识。
[0011] 结合第一方面,在第三种可能的实现方式中,所述进行拥塞控制包括:对已建立的多径TCP子流进行拥塞控制,并向发送端发送第二响应数据包;所述第二响应数据包的ECT标志位用第一标识符标识,所述CE标志位用七标识符标识;所述ECE标志位用第三标识符标识;所述CWR标志位用第六标识符标识。
[0012] 第二方面,本发明实施例提供了一种多径TCP拥塞控制的方法,包括:发送端在第一接入网已建立的至少一个多径传输控制协议TCP子流中向接收端发送数据包;所述数据包的支持显式拥塞通知ECN的传输ECT标志位用第一标识符标识,拥塞预警CE标志位用第七标识符标识;ECN反馈ECE标志位用第三标识符标识;拥塞窗口减半CWR标志位用第四标识符标识;以便第一接入网的网络节点在检测到网络即将拥塞时,通过改变CE标志位的标识通知所述接收端,以使得所述接收端进行拥塞控制;若接收端进行拥塞控制,则所述发送端进行相应的拥塞控制。
[0013] 在第一种可能的实现方式中,所述发送端进行相应的拥塞控制包括:在所述发送端通过第二接入网接入所述接收端的情况下,若所述发送端与所述接收端没有在第二接入网中建立多径TCP子流,则在第二接入网中,所述发送端接收所述接收端发送的第一同步序列编号SYN数据包;所述第一SYN数据包的所述ECE标志位用第五标识符标识;所述CWR用第六标识符标识;且所述ECT标志位与所述CE标志位不同;所述第一SYN数据包中还携带有多径添加MP_JOIN信息;所述MP_JOIN表示添加一条多径TCP子流;所述发送端向所述接收端发送第一同步序列编号及确认SYN-ACK数据包;所述第一SYN-ACK数据包中的所述ECE标志位用第五标识符标识;所述CWR用第四标识符标识;且所述ECT标志位与所述CE标志位不同;所述SYN-ACK数据包中携带有MP_JOIN信息;所述发送端接收所述接收端发送的确认ACK数据包;所述ACK数据包中携带有MP_JOIN信息。
[0014] 结合第二方面,在第二种可能的实现方式中,所述发送端进行相应的拥塞控制包括:所述发送端接收所述接收端发送的第一响应数据包;所述第一响应数据包的ECT标志位用第一标识符标识,所述CE标志位用第七标识符标识;所述ECE标志位用第五标识符标识;所述CWR标志位用第四标识符标识。
[0015] 结合第二方面或第二方面的第二种可能的实现方式,在第三种可能的实现方式中,在所述发送端接收所述接收端发送的第一响应数据之后,还包括:在所述发送端通过第二接入网接入所述接收端的情况下,若所述发送端与所述接收端没有在第二接入网中建立多径TCP子流,则在第二接入网中,所述发送端向所述接收端发送所述第一SYN数据包;所述发送端接收所述接收端发送的所述第一SYN-ACK数据包;所述发送端向所述接收端发送所述ACK数据包。
[0016] 结合第二方面或第二方面的第二种可能的实现方式,在第四种可能的实现方式中,在所述发送端接收所述接收端发送的第一响应数据之后,还包括:所述发送端对已建立的多径TCP子流进行拥塞控制。
[0017] 结合第二方面,第五种可能的实现方式中,所述发送端进行相应的拥塞控制包括:所述发送端接收所述接收端发送的第二响应数据包;所述第二响应数据包的ECT标志位用第一标识符标识,所述CE标志位用七标识符标识;所述ECE标志位用第三标识符标识;所述CWR标志位用第六标识符标识。
[0018] 第三方面,本发明实施例提供了一种多径TCP拥塞控制的装置,包括:
[0019] 接收单元,用于接收发送端在第一接入网已建立的至少一个多径传输控制协议TCP子流中,经第一接入网的网络节点发送的数据包;处理单元,用于在检测到所述数据包的支持显式拥塞通知ECN的传输ECT标志位用第一标识符标识;拥塞预警CE标志位用第二标识符标识的情况下,所述接收端进行拥塞控制;其中,所述数据包的ECN反馈ECE标志位用第三标识符标识;拥塞窗口减半CWR标志位用第四标识符标识。
[0020] 在第一种可能的实现方式中,所述处理单元具体包括:第一发送模块,第一接收模块;所述第一发送模块,用于在所述发送端通过第二接入网接入所述装置的情况下,若所述发送端与所述装置没有在第二接入网中建立多径TCP子流,则在第二接入网中,向所述发送端发送第一同步序列编号SYN数据包;所述第一SYN数据包的所述ECE标志位用第五标识符标识;所述CWR用第六标识符标识;且所述ECT标志位与所述CE标志位不同;所述第一SYN数据包中还携带有多径添加MP_JOIN信息;所述MP_JOIN信息表示添加一条多径TCP子流;所述第一接收模块,用于接收所述发送端发送的第一同步序列编号及确认SYN-ACK数据包;所述第一SYN-ACK数据包中的所述ECE标志位用第五标识符标识;所述CWR用第四标识符标识;且所述ECT标志位与所述CE标志位不同;所述SYN-ACK数据包中携带MP_JOIN信息;所述第一发送模块,还用于向所述发送端发送确认ACK数据包;所述ACK数据包中携带有MP_JOIN信息。
[0021] 结合第三方面,在第二种可能的实现方式中,所述处理单元具体用于,向所述发送端发送第一响应数据包,以使得所述发送端进行拥塞控制;所述第一响应数据包的ECT标志位用第一标识符标识,所述CE标志位用第七标识符标识;所述ECE标志位用第五标识符标识;所述CWR标志位用第四标识符标识。
[0022] 结合第三方面,在第三种可能的实现方式中,所述处理单元具体用于,对已建立的多径TCP子流进行拥塞控制,并向发送端发送第二响应数据包;所述第二响应数据包的ECT标志位用第一标识符标识,所述CE标志位用七标识符标识;所述ECE标志位用第三标识符标识;所述CWR标志位用第六标识符标识。
[0023] 第四方面,本发明实施例提供了一种多径TCP拥塞控制的装置,包括:发送单元,用于在第一接入网已建立的至少一个多径传输控制协议TCP子流中向接收端发送数据包;所述数据包的支持显式拥塞通知ECN的传输ECT标志位用第一标识符标识,拥塞预警CE标志位用第七标识符标识;ECN反馈ECE标志位用第三标识符标识;拥塞窗口减半CWR标志位用第四标识符标识;以便第一接入网的网络节点在检测到网络即将拥塞时,通过改变CE标志位的标识通知所述接收端,以使得所述接收端进行拥塞控制;处理单元,用于接收端进行拥塞控制的情况下,进行相应的拥塞控制。
[0024] 在第一种可能的实现方式中,所述处理单元包括:接收模块和发送模块;所述接收模块,用于在所述发送端通过第二接入网接入所述接收端的情况下,若所述装置与所述接收端没有在第二接入网中建立多径TCP子流,则在第二接入网中,接收所述接收端发送的第一同步序列编号SYN数据包;所述第一SYN数据包的所述ECE标志位用第五标识符标识;所述CWR用第六标识符标识;且所述ECT标志位与所述CE标志位不同;所述第一SYN数据包中还携带有多径添加MP_JOIN信息;所述MP_JOIN表示添加一条多径TCP子流;所述发送模块,用于向所述接收端发送第一同步序列编号及确认SYN-ACK数据包;所述第一SYN-ACK数据包中的所述ECE标志位用第五标识符标识;所述CWR用第四标识符标识;且所述ECT标志位与所述CE标志位不同;所述SYN-ACK数据包中携带有MP_JOIN信息;所述接收模块,还用于接收所述接收端发送的确认ACK数据包;所述ACK数据包中携带有MP_JOIN信息。
[0025] 结合第四方面,在第二种可能的实现方式中,所述处理单元具体用于,接收所述接收端发送的第一响应数据包;所述第一响应数据包的ECT标志位用第一标识符标识,所述CE标志位用第七标识符标识;所述ECE标志位用第五标识符标识;所述CWR标志位用第四标识符标识。
[0026] 结合第四方面或第四方面的第二种可能的实现方式,在第三种可能的实现方式中,所述发送单元,还用于在所述发送端通过第二接入网接入所述接收端的情况下,若所述发送端与所述接收端没有在第二接入网中建立多径TCP子流,则在第二接入网中,向所述接收端发送所述第一SYN数据包;所述装置,还包括:接收单元,用于接收所述接收端发送的所述第一SYN-ACK数据包;所述发送单元,还用于向所述接收端发送所述ACK数据包。
[0027] 结合第四方面或第四方面的第二种可能的实现方式,在第四种可能的实现方式中,所述处理单元,还用于对已建立的多径TCP子流进行拥塞控制。
[0028] 结合第四方面,在第五种可能的实现方式中,所述处理单元具体用于,接收所述接收端发送的第二响应数据包;所述第二响应数据包的ECT标志位用第一标识符标识,所述CE标志位用七标识符标识;所述ECE标志位用第三标识符标识;所述CWR标志位用第六标识符标识。
[0029] 第五方面,本发明实施例提供了一种多径TCP拥塞控制的装置,包括:接收器,用于接收端接收发送端经第一接入网的网络节点在已建立的至少一个多径传输控制协议TCP子流中发送的数据包;所述数据包的支持显式拥塞通知ECN的传输ECT标志位用第一标识符标识,拥塞预警CE标志位用第二标识符标识;ECN反馈ECE标志位用第三标识符标识;拥塞窗口减半CWR标志位用第四标识符标识;处理器,用于在检测到所述数据包的所述CE标志位为第二标识符的情况下,进行拥塞控制。
[0030] 第六方面,本发明实施例提供了一种多径TCP拥塞控制的装置,包括:发送器,用于发送端在第一接入网已建立的至少一个多径传输控制协议TCP子流中向接收端发送数据包;所述数据包的支持显式拥塞通知ECN的传输ECT标志位用第一标识符标识,拥塞预警CE标志位用第七标识符标识;ECN反馈ECE标志位用第三标识符标识;拥塞窗口减半CWR标志位用第四标识符标识;以便第一接入网的网络节点在检测到网络即将拥塞时,通过改变CE标志位通知所述接收端,以使得所述接收端进行拥塞控制;处理器,用于在接收端进行拥塞控制的情况下,进行相应的拥塞控制。
[0031] 第七方面,本发明实施例提供了一种多径TCP拥塞控制的系统,包括:发送端,网络节点,接收端;所述发送端为上述第三方面所述的一种多径TCP拥塞控制的装置;所述接收端为上述第四方面所述的一种多径TCP拥塞控制的装置。
[0032] 第八方面,本发明实施例提供了一种多径TCP拥塞控制的系统,包括:发送端,网络节点,接收端;所述发送端为上述第五方面所述的一种多径TCP拥塞控制的装置;所述接收端为第六方面所述的一种多径TCP拥塞控制的装置。
[0033] 本方面实施例提供了一种多径TCP拥塞控制的方法、装置及系统,发送端在第一接入网的已建立的至少一个多径TCP子流中发送数据包,若第一接入网的网络节点检测到网络即将拥塞,则将数据包中的ECT标志位用第一标识符标识,CE标志位用第二标识符标识,ECE标志位用第三标识符标识,CWR标志位用第四标识符标识发送至接收端,接收端接收到数据包后,检测到数据包的CE标志位用第二标识符标识,则进行拥塞控制。这样,实现了在拥塞发生之前,进行拥塞控制,提高了数据传输的效率。

附图说明

[0034] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0035] 图1为本发明实施例提供的一种多径TCP拥塞控制的方法示意图;
[0036] 图2为本发明实施例提供的另一种多径TCP拥塞控制的方法示意图;
[0037] 图3为本发明实施例提供的另一种多径TCP拥塞控制的方法示意图;
[0038] 图4为本发明实施例提供的另一种多径TCP拥塞控制的方法示意图;
[0039] 图5为本发明实施例提供的另一种多径TCP拥塞控制的方法示意图;
[0040] 图6为本发明实施例提供的另一种多径TCP拥塞控制的方法示意图;
[0041] 图7为本发明实施例提供的一种多径TCP拥塞控制的装置的结构示意图;
[0042] 图8为图7所示的一种多径TCP拥塞控制的装置的处理单元的结构示意图;
[0043] 图9为本发明实施例提供的另一种多径TCP拥塞控制的装置的结构示意图;
[0044] 图10为本发明实施例提供的另一种多径TCP拥塞控制的装置的结构示意图;
[0045] 图11为本发明实施例提供的另一种多径TCP拥塞控制的装置的结构示意图;
[0046] 图12为本发明实施例提供的另一种多径TCP拥塞控制的装置的结构示意图;
[0047] 图13为图12所示的一种多径TCP拥塞控制的装置的处理单元的结构示意图;
[0048] 图14为本发明实施例提供的另一种多径TCP拥塞控制的装置的结构示意图;
[0049] 图15为本发明实施例提供的另一种多径TCP拥塞控制的装置的结构示意图;
[0050] 图16为本发明实施例提供的另一种多径TCP拥塞控制的装置的结构示意图;
[0051] 图17为本发明实施例提供的另一种多径TCP拥塞控制的装置的结构示意图;
[0052] 图18为本发明实施例提供的另一种多径TCP拥塞控制的装置的结构示意图;
[0053] 图19为本发明实施例提供的一种多径TCP拥塞控制的系统的结构示意图;
[0054] 图20为本发明实施例提供的另一种多径TCP拥塞控制的系统的结构示意图。

具体实施方式

[0055] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0056] 本发明实施例提供了一种多径TCP拥塞控制的方法,如图1所示,包括:
[0057] 101、接收端接收发送端在第一接入网已建立的至少一个多径传输控制协议TCP子流中,经第一接入网的网络节点发送的数据包。
[0058] 具体的,发送端通过第一接入网和第二接入网接入接收端,在第一接入网中,发送端与接收端之间建立了至少一个多径TCP(Transport Control Protocol,传输控制协议)子流,发送端通过所述至少一个多径TCP子流向接收端发送数据包,则接收端在第一接入网的至少一个多径TCP子流中接收经第一接入网的网络节点传输的数据包。
[0059] 例如,第一接入网为3Gpp网络,则网络节点为eNB(E-UTRAN Node B,演进的UMTS陆地无线接入网节点)或SGW(Serving Gateway,服务网关),或网络中的路由器,发送端通过3Gpp网络与接收端建立了至少一个多径TCP子流。发送端通过3Gpp网络的至少一个多径TCP子流向接收端发送数据包,数据包经网络节点eNB、SGW转发至接收端,接收端接收数据包。
其中,当网络即将拥塞时,网络节点会将数据包中CE标志位更改为第二标识符标识;或者当接入网链路质量变差的情况下,eNB会将数据包中CE标志位更改为第二标识符标识。
[0060] 另外,第一接入网也可以是非3Gpp网络,例如WLAN,则网络节点为AGW(Access Gateway,接入网关)或PDG(packet data gateway,分组数据网关)或ePDG(evolved packet data gateway,演进的分组数据网关),或网络中的路由器。发送端通过非3Gpp网络与接收端建立了至少一个多径TCP子流。发送端通过非3Gpp网络的至少一个多径TCP子流向接收端发送数据包,数据包经网络节点转发至接收端,接收端接收数据包。当网络即将拥塞或者当接入网链路质量变差的情况下,网络节点会将数据包中CE标志位更改为第二标识符标识。
[0061] 102、若检测到所述数据包的支持显式拥塞通知ECN的传输ECT标志位用第一标识符标识;拥塞预警CE标志位用第二标识符标识,则所述接收端进行拥塞控制。
[0062] 其中,所述数据包的ECN反馈ECE标志位用第三标识符标识;拥塞窗口减半CWR标志位用第四标识符标识。
[0063] 进一步的,ECT(ECN-Capable Transport,支持显式拥塞通知ECN的传输)标志位用于表明是否支持ECN(Explicit Congestion Notification,显式拥塞通知)。CE(Congestion Experienced,拥塞预警)标志位用于表明网络是否即将拥塞。ECE(ECN-Echo,ECN反馈)用于表明是否接收到一个CE数据包。CWR(Congestion Window Reduced,拥塞窗口减半)用于表明是否拥塞窗口已减半。
[0064] 可选的,第一标识符与第二标识符用1表示,第三标识符与第四标识符用0表示。
[0065] 需要说明的是,第一标识符用于表示ECT标志位被选中,即表示支持ECN;第二标识符用于表示CE标志位被选中,即表示网络即将发生拥塞;第三标识符用于表示ECE标志位未被选中,即表示未接收到一个CE数据包;第四标识符用于表示CWR未被选中,即表示拥塞窗口未减半。
[0066] 需要说明的是,第一标识符、第二标识符、第三标识符与第四标识符也可用其他字符表示,只要能表示出其各自的作用即可,本发明对此不做限制。
[0067] 具体的,接收端接收到数据包后,检测数据包的各标志位,以获知是否要发生拥塞。若检测到ECT标志位用第一标识符标识,则获知发送端支持ECN,CE用第二标识符标识,则获知网络中即将发生拥塞,此时接收端需进行拥塞控制。
[0068] 进行拥塞控制的方法有三种,下面对三种方法分别进行详述。
[0069] 第一种方法,在发送端接入接收端的至少两个网络中,在未建立多径TCP子流的网络中,接收端新建多径TCP子流,如图2所示,具体如下所述。
[0070] 201、在所述发送端通过第二接入网接入所述接收端的情况下,若所述发送端与所述接收端没有在第二接入网中建立多径TCP子流,则在第二接入网中,所述接收端向所述发送端发送第一同步序列编号SYN数据包。
[0071] 其中,所述第一SYN数据包的所述ECE标志位用第五标识符标识;所述CWR用第六标识符标识;且所述ECT标志位与所述CE标志位不同;所述第一SYN数据包中还携带有多径添加MP_JOIN信息。所述MP_JOIN表示添加一条多径TCP子流。
[0072] 具体的,接收端在第二接入网中建立多径TCP子流时,需先与发送端协商ECN机制,接收端通过将第一SYN数据包的ECE标志位用第五标识符标识和CWR用第六标识符标识,且ECT标志位与所述CE标志位不同的方法,向发送端协商ECN机制。第一SYN数据包中还携带有MP_JOIN信息,用于表明在第二接入网中添加一条多径TCP子流。由于接收端与发送端已在第一接入网中建立了多径TCP子流,所以在第二接入网建立多径TCP子流时,需携带MP_JOIN信息,表示建立的为一条多径TCP子流。
[0073] 需要说的是,第五标识符用于表示ECE标志位被选中;第六标识符用于表示CWR被选中。可选的,第五标识符与第六标识符用1表示。
[0074] 需要说明的是,在本发明所有实施例中,所述ECT标志位与所述CE标志位不同是指ECT标志位与CE标志位的标识符的值不同,例如,ECT标志位用1标识,则CE标志位用0标识;或者,ECT标志位用0标识,则CE标志位用1标识。
[0075] 202、所述接收端接收所述发送端发送的第一同步序列编号及确认SYN-ACK数据包。
[0076] 其中,所述第一SYN-ACK数据包中的所述ECE标志位用第五标识符标识;所述CWR用第四标识符标识;且所述ECT标志位与所述CE标志位不同。所述SYN-ACK数据包中携带MP_JOIN信息。
[0077] 具体的,第一SYN-ACK数据包中的ECE标志位用第五标识符标识,CWR用第四标识符标识,且所述ECT标志位与所述CE标志位不同表示发送端支持ECN机制。SYN-ACK数据包中携带MP_JOIN信息,表示发送端同意添加多径TCP子流。第一SYN-ACK数据包为第一SYN数据包的响应数据包。
[0078] 203、所述接收端向所述发送端发送确认ACK数据包。
[0079] 其中,所述ACK数据包中携带有MP_JOIN信息。
[0080] 具体的,接收端接收到第一SYN-ACK数据包后向发送端发送ACK数据包,对第一SYN-ACK数据包的响应。完成在第二接入网中进行三次握手过程的多径TCP子流的建立。
[0081] 需要说的是,在本发明所有实施例中,第二接入网是与第一接入网不同的网络。例如,第一接入网为3Gpp网络,第二接入网为非3Gpp网络。
[0082] 第二种方法,接收端通知发送端接收到一个CE数据包,让发送端进行拥塞控制,具体如下。
[0083] 所述接收端向所述发送端发送第一响应数据包,以使得所述发送端进行拥塞控制。
[0084] 其中,所述第一响应数据包的ECT标志位用第一标识符标识,所述CE标志位用第七标识符标识;所述ECE标志位用第五标识符标识;所述CWR标志位用第四标识符标识。
[0085] 具体的,CE标志位用第七标识符标识表示CE标志位未被选中,ECE标志位用第五标识符标识表示ECE被选中,即接收到一个CE数据包。接收端通过标识第一响应数据包的各个标志位通知发送端网络即将发生拥塞,使得发送端进行拥塞控制。
[0086] 其中,发送端进行拥塞控制的方式有两种,一种是发送端在未建立多径TCP子流的网络中,发起建立多径TCP子流的流程,则接收端相应的处理具体如下。
[0087] 在第二接入网中,所述接收端接收所述发送端发送的所述第一SYN数据包。
[0088] 其中,所述第一SYN数据包的所述ECE标志位用第五标识符标识;所述CWR用第六标识符标识;且所述ECT标志位与所述CE标志位不同;所述第一SYN数据包中还携带有多径添加MP_JOIN信息。所述MP_JOIN表示添加一条多径TCP子流。
[0089] 所述接收端向所述发送端发送所述第一SYN-ACK数据包。
[0090] 其中,所述第一SYN-ACK数据包中的所述ECE标志位用第五标识符标识;所述CWR用第四标识符标识;且所述ECT标志位与所述CE标志位不同。所述SYN-ACK数据包中携带MP_JOIN信息,表示接收端同意添加多径TCP子流。
[0091] 所述接收端接收所述发送端发送的ACK数据包;所述ACK数据包中携带有MP_JOIN信息。
[0092] 具体的,接收端接收到发送端发送的第一SYN-ACK数据包的响应数据包ACK数据包,则表明在第二接入网中完成了建立多径TCP子流,发送端可利用此新建的多径TCP子流进行数据的传输,从而减缓网络的拥塞。
[0093] 第二种方式是,发送端对已建立的多径TCP子流进行拥塞控制,从而减缓网络的拥塞。
[0094] 第三种方法,接收端对已建立的多径TCP子流进行拥塞控制,具体如下。
[0095] 接收端对已建立的多径TCP子流进行拥塞控制,并向发送端发送第二响应数据包。
[0096] 其中,所述第二响应数据包的ECT标志位用第一标识符标识,所述CE标志位用七标识符标识;所述ECE标志位用第三标识符标识;所述CWR标志位用第六标识符标识。
[0097] 具体的,接收端对在第一接入网中已建立的多径TCP子流进行拥塞控制,例如,将多径TCP子流的拥塞窗口减半,并将CWR标志位用第六标识符标识,表示CWR标志位被选中,即表示拥塞窗口已经减半,通过标识第二响应数据包的各个标志位通知发送端已对已建立的多径TCP子流进行了拥塞控制。
[0098] 需要说明的是,在发送端只通过第一接入网接入到接收端,并没有通过其他网络接入到接收端的情况下,接收端进行拥塞控制的方法可以是第二种通知发送端网络即将发生拥塞,使发送端进行拥塞控制。也可是第三种,接收端对已建立的多径TCP子流进行拥塞控制。
[0099] 本发明实施例提供了一种多径TCP拥塞控制的方法,接收端接收到数据包后,若检测到数据包的ECT标志位用第一标识符标识,CE标志位用第二标识符标识,则进行拥塞控制。这样,实现了在拥塞发生之前,进行拥塞控制,提高了数据传输的效率。
[0100] 本发明实施例提供了一种多径TCP拥塞控制的方法,如图3所示,包括:
[0101] 301、发送端在第一接入网已建立的至少一个多径传输控制协议TCP子流中向接收端发送数据包。
[0102] 其中,所述数据包的支持显式拥塞通知ECN的传输ECT标志位用第一标识符标识,拥塞预警CE标志位用第七标识符标识;ECN反馈ECE标志位用第三标识符标识;拥塞窗口减半CWR标志位用第四标识符标识,以便第一接入网的网络节点在检测到网络即将拥塞或第一接入网链路质量变差时,网络节点通过将数据包的CE标志位由第七标识符标识更改为第二标识符标识通知所述接收端网络即将拥塞或第一接入网链路质量变差,以使得所述接收端进行拥塞控制。
[0103] 进一步的,ECT(ECN-Capable Transport,支持显式拥塞通知ECN的传输)标志位用于表明是否支持ECN(Explicit Congestion Notification,显式拥塞通知)。CE(Congestion Experienced,拥塞预警)标志位用于表明网络是否即将拥塞。ECE(ECN-Echo,ECN反馈)用于表明是否接收到一个CE数据包。CWR(Congestion Window Reduced,拥塞窗口减半)用于表明是否拥塞窗口已减半。
[0104] 可选的,第一标识符和第二标识符用1表示,第七标识符、第三标识符与第四标识符用0表示。
[0105] 需要说明的是,第一标识符用于表示ECT标志位被选中,即表示支持ECN;第七标识符用于表示CE标志位未被选中,即表示网络不会即将发生拥塞;第三标识符用于表示ECE标志位未被选中,即表示未接收到一个CE数据包;第四标识符用于表示CWR未被选中,即表示拥塞窗口未减半。
[0106] 需要说明的是,第一标识符、第二标识符、第七标识符、第三标识符与第四标识符也可用其他字符表示,只要能表示出其各自的作用即可,本发明对此不做限制。
[0107] 具体的,发送端在第一接入网已建立的至少一个多径传输控制协议TCP子流中,经第一接入网的网络节点向接收端发送数据包。发送端将数据包发送至第一接入网的网络节点时,若网络节点检测到网络即将发生拥塞,则将数据包中的CE标志位由第七标识符标识修改为第二标识符标识,并将修改了CE标志位的数据包发送至接收端,以通知接收端网络即将发生拥塞,使得接收端进行拥塞控制。
[0108] 需要说明的是,CE标志位用第二标识符标识表示CE标志位被选中,即网络即将发生拥塞。
[0109] 302、若接收端进行拥塞控制,则所述发送端进行相应的拥塞控制。
[0110] 具体的,在接收端进行拥塞控制的情况下,发送端根据接收端进行的拥塞控制,进行拥塞控制,由于接收端进行拥塞控制有三种方法,则发送端进行拥塞控制的方法可以分为三种。
[0111] 第一种方法,在发送端接入接收端的至少两个网络中,在未建立多径TCP子流的网络中,由接收端新建多径TCP子流,具体如下所述。
[0112] 在所述发送端通过第二接入网接入所述接收端的情况下,若所述发送端与所述接收端没有在第二接入网中建立多径TCP子流,则在第二接入网中,所述发送端接收所述接收端发送的第一同步序列编号SYN数据包。
[0113] 其中,所述第一SYN数据包的所述ECE标志位用第五标识符标识;所述CWR用第六标识符标识;且所述ECT标志位与所述CE标志位不同;所述第一SYN数据包中还携带有多径添加MP_JOIN信息;所述MP_JOIN表示添加一条多径TCP子流。
[0114] 具体的,接收端在第二接入网中建立多径TCP子流时,需先与发送端协商ECN机制,接收端通过将第一SYN数据包的ECE标志位用第五标识符标识和CWR用第六标识符标识,且所述ECT标志位与所述CE标志位不同的方法,向发送端协商ECN机制。第一SYN数据包中还携带有MP_JOIN信息,用于表明在第二接入网中添加一条多径TCP子流。
[0115] 需要说的是,第五标识符用于表示ECE标志位被选中;第六标识符用于表示CWR被选中。可选的,第五标识符与第六标识符用1表示。
[0116] 所述发送端向所述接收端发送第一同步序列编号及确认SYN-ACK数据包。
[0117] 其中,所述第一SYN-ACK数据包中的所述ECE标志位用第五标识符标识;所述CWR用第四标识符标识;且所述ECT标志位与所述CE标志位不同;所述SYN-ACK数据包中携带有MP_JOIN信息。
[0118] 具体的,发送端支持ECN机制,则将第一SYN的响应数据包即第一SYN-ACK数据包的ECE标志位用第五标识符标识,CWR用第四标识符标识,且所述ECT标志位与所述CE标志位不同。SYN-ACK数据包中携带有MP_JOIN信息表明同意在第二接入网中建立多径TCP子流。
[0119] 所述发送端接收所述接收端发送的确认ACK数据包;所述ACK数据包中携带有MP_JOIN信息。
[0120] 具体的,发送端接收到接收端发送的第一SYN-ACK数据包的响应数据包ACK数据包,则表明在第二接入网中完成建立多径TCP子流,可利用此新建的多径TCP子流进行数据的传输,从而降低网络的拥塞。
[0121] 第二种方法,由接收端通知发送端接收到一个CE数据包,由发送端进行拥塞控制,具体如下。
[0122] 所述发送端接收所述接收端发送的第一响应数据包。
[0123] 其中,所述第一响应数据包的ECT标志位用第一标识符标识,所述CE标志位用第七标识符标识;所述ECE标志位用第五标识符标识;所述CWR标志位用第四标识符标识。
[0124] 具体的,ECE标志位用第五标识符标识表示ECE被选中,即接收到一个CE数据包。发送端接收到第一响应数据包,检测到ECE用第五标识符标识,则说明网络即将拥塞,发送端进行拥塞控制。
[0125] 可选的,第五标识符用1表示。
[0126] 进一步的,接收端通知发送端网络即将发生拥塞,发送端进行拥塞控制的方式有两种。一种方式是,发送端在未建立多径TCP子流的网络中,发起建立多径TCP子流的流程。下面做具体说明,如图4所示,包括:
[0127] 401、在所述发送端通过第二接入网接入所述接收端的情况下,若所述发送端与所述接收端没有在第二接入网中建立多径TCP子流,则在第二接入网中,所述发送端向所述接收端发送所述第一SYN数据包。
[0128] 其中,所述第一SYN数据包的所述ECE标志位用第五标识符标识;所述CWR用第六标识符标识;且所述ECT标志位与所述CE标志位不同;所述第一SYN数据包中还携带有多径添加MP_JOIN信息;所述MP_JOIN表示添加一条多径TCP子流。
[0129] 具体的,发送端在第二接入网中建立多径TCP子流时,需先与接收端协商ECN机制,发送端通过将第一SYN数据包的ECE标志位用第五标识符标识和CWR用第六标识符标识,且所述ECT标志位与所述CE标志位不同的方法,向接收端协商ECN机制。第一SYN数据包中还携带有MP_JOIN信息,用于表明在第二接入网中添加一条多径TCP子流。由于发送端与接收端已在第一接入网中建立了多径TCP子流,所以在第二接入网建立多径TCP子流时,需携带MP_JOIN信息,表示建立的为一条多径TCP子流。
[0130] 402、所述发送端接收所述接收端发送的所述第一SYN-ACK数据包。
[0131] 其中,所述第一SYN-ACK数据包中的所述ECE标志位用第五标识符标识;所述CWR用第四标识符标识,且所述ECT标志位与所述CE标志位不同。所述SYN-ACK数据包中携带MP_JOIN信息。
[0132] 具体的,第一SYN-ACK数据包中的ECE标志位用第五标识符标识,CWR用第四标识符标识,且所述ECT标志位与所述CE标志位不同表示接收端支持ECN机制。SYN-ACK数据包中携带MP_JOIN信息,表示接收端同意添加多径TCP子流。第一SYN-ACK数据包为第一SYN数据包的响应数据包。
[0133] 403、所述发送端向所述接收端发送所述ACK数据包。
[0134] 其中,所述ACK数据包中携带有MP_JOIN信息。
[0135] 具体的,发送端接收到第一SYN-ACK数据包后向接收端发送ACK数据包,对第一SYN-ACK数据包的响应。完成在第二接入网中进行三次握手过程的多径TCP子流的建立。
[0136] 另一种方式是,发送端对已建立的多径TCP子流进行拥塞控制,具体如下。
[0137] 具体的,发送端对在第一接入网中已建立的多径TCP子流进行拥塞控制,例如,将多径TCP子流的拥塞窗口减半,发送端根据减半后的拥塞窗口在多径TCP子流中传输数据包,从而减少了发送数据包的个数,能够有效的减缓网络拥塞。
[0138] 需要说明的是,在由接收端通知发送端接收到一个CE数据包,由发送端进行拥塞控制的情况下,若发送端只通过第一接入网接入接收端,并没有通过其他网络接入接收端时,发送端可以先向接收端发送第二接入网连接消息,使得发送端通过第二接入网接入接收端,再进行相应的拥塞控制,例如,第二种拥塞控制方法的第一种方式。发送端也可直接对已建立的多径TCP子流进行拥塞控制,例如,第二种拥塞控制方法的第二种方式。
[0139] 第三种方法,发送端获知接收端已将拥塞窗口减半,具体如下。
[0140] 所述发送端接收所述接收端发送的第二响应数据包。
[0141] 其中,所述第二响应数据包的ECT标志位用第一标识符标识,所述CE标志位用七标识符标识;所述ECE标志位用第三标识符标识;所述CWR标志位用第六标识符标识。
[0142] 具体的,CWR用第六标识符标识,表示CWR被选中,即表示接收端已经将已建立的多径TCP子流的拥塞窗口减半。发送端根据已建立的多径TCP子流的拥塞窗口的大小,在已建立的多径TCP子流传输数据包,从而减少了发送数据包的个数,能够有效的减缓网络拥塞。
[0143] 本发明实施例提供了一种多径TCP拥塞控制的方法,发送端在第一接入网的已建立的至少一个多径TCP子流中发送数据包,若第一接入网的网络节点检测到网络即将拥塞,则将数据包中的ECT标志位用第一标识符标识,CE标志位用第二标识符标识,ECE标志位用第三标识符标识,CWR标志位用第四标识符标识发送至接收端,以使得接收端接收到数据包后,检测到数据包的CE标志位用第二标识符标识,则进行拥塞控制。这样,实现了在拥塞发生之前,进行拥塞控制,提高了数据传输的效率。
[0144] 本发明实施例提供了一种多径TCP拥塞控制的方法,如图5所示,包括:
[0145] 501、所述发送端向所述接收端发送第二SYN数据包,接收端接收所述发送端在第一接入网中发送的第二SYN数据包,记录所述发送端的MP_CAPABLE的相关信息,端口号,及IP地址;并转发所述第二SYN数据包至通信对端的服务器。
[0146] 其中,所述第二SYN数据包中的ECE标志位用第五标识符标识,所述的CWR标志位用六标识符标识;且所述ECT标志位与所述CE标志位不同;所述第二SYN数据包中携带有多径能力MP_CAPABLE信息;所述MP_CAPABLE用于标识发送端支持多径TCP。
[0147] 可选的,第五标识符与第六标识符用1表示。
[0148] 具体的,发送端在第一接入网中初始建立多径TCP子流时,需先与接收端协商ECN机制,发送端通过将第二SYN数据包的ECE标志位用第五标识符标识和CWR用第六标识符标识,且所述ECT标志位与所述CE标志位不同的方法,向接收端协商ECN机制。第一SYN数据包中还携带有MP_CAPABLE信息,用于表明发送端支持多径TCP,并在第一接入网中建立一条多径TCP子流。
[0149] 502、所述接收端接收所述通信对端的服务器发送的第二SYN-ACK数据包。
[0150] 具体的,所述第二SYN-ACK数据包的所述ECE标志位用第五标识符标识;CWR标志位第四标识符标识;且所述ECT标志位与所述CE标志位不同。
[0151] 503、若所述接收端检测到所述第二SYN-ACK数据包中未携带MP_CAPABLE信息,则将所述MP_CAPABLE添加至所述第二SYN-ACK数据包中,用第八标识符标识所述第二SYN-ACK数据包的P标志位。
[0152] 具体的,接收端检测到第二SYN-ACK数据包中未携带MP_CAPABLE信息,则说明通信对端的服务器不支持多径TCP,则接收端将MP_CAPABLE添加至所述第二SYN-ACK数据包中,并用第八标识符标识此第二SYN-ACK数据包的P标志位,以使得发送端通过此P标志位获知通信对端的服务器不支持多径TCP,由接收端与发送端建立多径TCP子流。
[0153] 接收端记录发送端的端口号,IP地址,及发送端的MP_CAPABLE的相关信息,以便于多径TCP子流的建立。
[0154] 可选的,第八标识符用1表示。
[0155] 需要说明的是,第八标识符用于表示P标志位被选中,第八标识符也可用其他字符表示,只要能表示出其各自的作用即可,本发明对此不做限制。
[0156] 504、接收端将所述第二SYN-ACK数据包发送至所述发送端,所述发送端接收所述接收端发送的第二SYN-ACK数据包。
[0157] 其中,所述第二SYN-ACK数据包的所述ECE标志位用第五标识符标识;CWR标志位第四标识符标识;且所述ECT标志位与所述CE标志位不同;所述第二SYN-ACK数据包中还携带有MP_CAPABLE信息;所述第二SYN-ACK数据包的P标志位用第八标识符标识。
[0158] 505、所述发送端向所述接收端发送ACK数据包,所述接收端接收所述发送端发送的ACK数据包,并将所述ACK数据包发送至通信对端的服务器。
[0159] 具体的,发送端接收到第二SYN-ACK数据包后,发送响应数据包ACK数据包至接收端,接收端并将此ACK数据包发送至通信对端的服务器,这样,发送端与接收端间在第一接入网中建立了多径TCP子流,接收端与通信对端的服务器建立了TCP连接。
[0160] 506、与步骤301相同,在此不再赘述。
[0161] 507、与步骤101相同,在此不再赘述。
[0162] 508、与步骤102相同,在此不再赘述。
[0163] 509、与步骤302相同,在此不再赘述。
[0164] 需要说明的是,接收端为支持多径TCP的代理服务器,发送端的通信对端的服务器不支持多径TCP。
[0165] 需要说明的是,接收端与通信对端的服务器进行拥塞控制与现有技术中TCP连接进行拥塞控制的方法相同,在此不作详述。
[0166] 需要说明的是,在本发明所有实施例中,在第一接入网已建立了多径TCP子流的情况下,若在第一接入网中新建多径TCP子流时,新建多径TCP子流的方法与上述实施例中在第二接入网中新建多径TCP子流的步骤相同,在此不作赘述。
[0167] 本发明实施例提供了一种多径TCP拥塞控制的方法,发送端在第一接入网的已建立的至少一个多径TCP子流中发送数据包,若第一接入网的网络节点检测到网络即将拥塞,则将数据包中的ECT标志位用第一标识符标识,CE标志位用第二标识符标识,ECE标志位用第三标识符标识,CWR标志位用第四标识符标识发送至接收端,接收端接收到数据包后,检测到数据包的CE标志位用第二标识符标识,则进行拥塞控制,即为在未建立TCP子流的第二接入网中新建多径TCP子流或对已建立的TCP子流进行拥塞控制。这样,实现了在拥塞发生之前,进行拥塞控制,提高了数据传输的效率,并且通过在第二接入网中新建多径TCP子流,减缓第一接入网中的网络拥塞。
[0168] 本发明实施例提供了一种多径TCP拥塞控制的方法,如图6所示,包括:
[0169] 601、所述发送端向所述接收端发送第二SYN数据包,所述接收端接收所述发送端在第一接入网中发送的所述第二SYN数据包。
[0170] 其中,所述第二SYN数据包中的ECE标志位用第五标识符标识,所述的CWR标志位用六标识符标识;且所述ECT标志位与所述CE标志位不同;所述第二SYN数据包中携带有多径能力MP_CAPABLE信息;所述MP_CAPABLE用于标识发送端支持多径TCP。
[0171] 具体的,发送端在第一接入网中初始建立多径TCP子流时,需先与接收端协商ECN机制,发送端通过将第二SYN数据包的ECE标志位用第五标识符标识和CWR用第六标识符标识,且所述ECT标志位与所述CE标志位不同的方法,向接收端协商ECN机制。第一SYN数据包中还携带有MP_CAPABLE信息,用于表明在第一接入网中建立一条多径TCP子流。
[0172] 可选的,第五标识符与第六标识符用1表示。
[0173] 602、所述接收端发送第三SYN-ACK数据包至所述发送端,所述发送端接收所述接收端发送的第三SYN-ACK数据包。
[0174] 其中,所述第三SYN-ACK数据包中的所述ECE标志位用第五标识符标识,所述CWR用第四标识符标识;且所述ECT标志位与所述CE标志位不同;所述第三SYN-ACK数据包中还携带有MP_CAPABLE。
[0175] 603、所述发送端向所述接收端发送ACK数据包,所述接收端接收所述发送端发送的ACK数据包。
[0176] 具体的,发送端接收到第二SYN-ACK数据包后,发送响应数据包ACK数据包至接收端,这样,发送端与接收端间在第一接入网中建立了多径TCP子流。
[0177] 604、所述发送端向接收端发送包含添加地址ADD_ADDR信息的地址信息,以使得所述接收端根据所述地址信息获取所述发送端在第二接入网中的互联网协议IP地址。
[0178] 具体的,ADD_ADDR信息中有发送端在第二接入网中的互联网协议IP地址。
[0179] 605、所述接收端接收所述发送端发送的包含添加地址ADD_ADDR信息的地址信息,并根据所述地址信息获取所述发送端在第二接入网中的互联网协议IP地址。
[0180] 具体的,接收端通过地址信息的ADD_ADDR信息获取所述发送端在第二接入网中的互联网协议IP地址。
[0181] 606、与步骤301相同,在此不再赘述。
[0182] 607、与步骤101相同,在此不再赘述。
[0183] 608、与步骤102相同,在此不再赘述。
[0184] 609、与步骤302相同,在此不再赘述。
[0185] 需要说明的是,接收端为通信对端的服务器,即为通信对端的服务器支持多径TCP。
[0186] 需要说明的是,步骤605在步骤608之前,与步骤606、607间的顺序不做限制。
[0187] 本发明实施例提供了一种多径TCP拥塞控制的方法,发送端在第一接入网的已建立的至少一个多径TCP子流中发送数据包,若第一接入网的网络节点检测到网络即将拥塞,则将数据包中的ECT标志位用第一标识符标识,CE标志位用第二标识符标识,ECE标志位用第三标识符标识,CWR标志位用第四标识符标识发送至接收端,接收端接收到数据包后,检测到数据包的CE标志位用第二标识符标识,则进行拥塞控制,即为在未建立TCP子流的第二接入网中新建多径TCP子流或对已建立的TCP子流进行拥塞控制。这样,实现了在拥塞发生之前,进行拥塞控制,提高了数据传输的效率,并且通过在第二接入网中新建多径TCP子流,减缓第一接入网中的网络拥塞。
[0188] 本发明实施例提供了一种多径TCP拥塞控制的装置,如图7所示,包括:
[0189] 接收单元701,用于接收发送端在第一接入网已建立的至少一个多径传输控制协议TCP子流中,经第一接入网的网络节点发送的数据包。
[0190] 处理单元702,用于在检测到所述数据包的支持显式拥塞通知ECN的传输ECT标志位用第一标识符标识;拥塞预警CE标志位用第二标识符标识的情况下,所述接收端进行拥塞控制。
[0191] 其中,所述数据包的ECN反馈ECE标志位用第三标识符标识;拥塞窗口减半CWR标志位用第四标识符标识。
[0192] 具体的,处理单元702,如图8所示,具体包括:第一发送模块7021,第一接收模块7022。
[0193] 所述第一发送模块7021,用于在所述发送端通过第二接入网接入所述装置的情况下,若所述发送端与所述装置没有在第二接入网中建立多径TCP子流,则在第二接入网中,向所述发送端发送第一同步序列编号SYN数据包。
[0194] 其中,所述第一SYN数据包的所述ECE标志位用第五标识符标识;所述CWR用第六标识符标识;且所述ECT标志位与所述CE标志位不同;所述第一SYN数据包中还携带有多径添加MP_JOIN信息;所述MP_JOIN信息表示添加一条多径TCP子流。
[0195] 所述第一接收模块7022,用于接收所述发送端发送的第一同步序列编号及确认SYN-ACK数据包。
[0196] 其中,所述第一SYN-ACK数据包中的所述ECE标志位用第五标识符标识;所述CWR用第四标识符标识;且所述ECT标志位与所述CE标志位不同;所述SYN-ACK数据包中携带MP_JOIN信息。
[0197] 所述第一发送模块7021,还用于向所述发送端发送确认ACK数据包。
[0198] 其中,所述ACK数据包中携带有MP_JOIN信息。
[0199] 上述接收单元701,还用于接收所述发送端发送的包含添加地址ADD_ADDR信息的地址信息。
[0200] 所述装置,如图9所示,还包括:
[0201] 获取单元703,用于根据所述接收单元701接收的所述地址信息获取所述发送端在第二接入网中的互联网协议IP地址。
[0202] 或者,所述处理单元702具体用于,向所述发送端发送第一响应数据包,以使得所述发送端进行拥塞控制。
[0203] 其中,所述第一响应数据包的ECT标志位用第一标识符标识,所述CE标志位用第七标识符标识;所述ECE标志位用第五标识符标识;所述CWR标志位用第四标识符标识。
[0204] 此时,所述接收单元701,还用于在第二接入网中,接收所述发送端发送的所述第一SYN数据包。
[0205] 所述装置,如图10所示,还包括:
[0206] 第一发送单元704,用于向所述发送端发送所述第一SYN-ACK数据包。
[0207] 所述接收单元701,还用于接收所述发送端发送的ACK数据包。
[0208] 或者,所述处理单元702具体用于,对已建立的多径TCP子流进行拥塞控制,并向发送端发送第二响应数据包。
[0209] 其中,所述第二响应数据包的ECT标志位用第一标识符标识,所述CE标志位用七标识符标识;所述ECE标志位用第三标识符标识;所述CWR标志位用第六标识符标识。
[0210] 上述接收单元701,还用于接收所述发送端在第一接入网中发送的第二SYN数据包。
[0211] 其中,所述第二SYN数据包中的ECE标志位用第五标识符标识,所述的CWR标志位用六标识符标识;且所述ECT标志位与所述CE标志位不同;所述第二SYN数据包中携带有多径能力MP_CAPABLE信息;所述MP_CAPABLE用于标识发送端支持多径TCP。
[0212] 所述装置,如图11所示,还包括:
[0213] 记录单元707,用于记录所述发送端的MP_CAPABLE的相关信息,端口号,及IP地址。
[0214] 第二发送单元705,用于发送所述第二SYN数据包至通信对端的服务器。
[0215] 所述接收单元701,还用于接收所述通信对端的服务器发送的第二SYN-ACK数据包。
[0216] 其中,所述第二SYN-ACK数据包的所述ECE标志位用第五标识符标识;CWR标志位第四标识符标识;且所述ECT标志位与所述CE标志位不同。
[0217] 所述装置,参考图11所示,还包括:
[0218] 检测单元706,用于检测所述第二SYN-ACK数据包中是否携带有MP_CAPABLE信息。
[0219] 所述处理单元702,还用于在检测单元706检测到所述第二SYN-ACK数据包中未携带有MP_CAPABLE信息时,将所述MP_CAPABLE添加至所述第二SYN-ACK数据包中,用第八标识符标识所述第二SYN-ACK数据包的P标志位。
[0220] 所述第一发送单元704,还用于将所述第二SYN-ACK数据包发送至所述发送端。
[0221] 所述接收单元701,还用于接收所述发送端发送的ACK数据包。
[0222] 所述第二发送单元705,还用于将所述ACK数据包发送至通信对端的服务器。
[0223] 上述接收单元701,还用于接收所述发送端在第一接入网中发送的所述第二SYN数据包。
[0224] 所述第一发送单元704,还用于发送第三SYN-ACK数据包至所述发送端。
[0225] 其中。所述第三SYN-ACK数据包中的所述ECE标志位用第五标识符标识,所述CWR用第四标识符标识;且所述ECT标志位与所述CE标志位不同;所述第三SYN-ACK数据包中还携带有MP_CAPABLE。
[0226] 所述接收单元701,还用于接收所述发送端发送的ACK数据包。
[0227] 本发明实施例提供了一种多径TCP拥塞控制的装置,接收端接收到数据包后,检测到数据包的CE标志位用第二标识符标识,则进行拥塞控制,即为在未建立TCP子流的第二接入网中新建多径TCP子流或对已建立的TCP子流进行拥塞控制。这样,实现了在拥塞发生之前,进行拥塞控制,提高了数据传输的效率,并且通过在第二接入网中新建多径TCP子流,减缓第一接入网中的网络拥塞。
[0228] 本发明实施例提供了一种多径TCP拥塞控制的装置,如图12所示,包括:
[0229] 发送单元111,用于在第一接入网已建立的至少一个多径传输控制协议TCP子流中向接收端发送数据包。
[0230] 其中,所述数据包的支持显式拥塞通知ECN的传输ECT标志位用第一标识符标识,拥塞预警CE标志位用第七标识符标识;ECN反馈ECE标志位用第三标识符标识;拥塞窗口减半CWR标志位用第四标识符标识;以便第一接入网的网络节点在检测到网络即将拥塞或第一接入网链路质量变差时,网络节点通过将数据包的CE标志位由第七标识符标识更改为第二标识符标识通知所述接收端网络即将拥塞或第一接入网链路质量变差,以使得所述接收端进行拥塞控制。
[0231] 处理单元112,用于接收端进行拥塞控制的情况下,进行相应的拥塞控制。
[0232] 具体的,所述处理单元112,如图13所示,包括:接收模块1121和发送模块1122。
[0233] 其中,所述接收模块1121,用于在所述发送端通过第二接入网接入所述接收端的情况下,若所述装置与所述接收端没有在第二接入网中建立多径TCP子流,则在第二接入网中,接收所述接收端发送的第一同步序列编号SYN数据包。
[0234] 其中,所述第一SYN数据包的所述ECE标志位用第五标识符标识;所述CWR用第六标识符标识;且所述ECT标志位与所述CE标志位不同;所述第一SYN数据包中还携带有多径添加MP_JOIN信息;所述MP_JOIN表示添加一条多径TCP子流。
[0235] 所述发送模块1122,用于向所述接收端发送第一同步序列编号及确认SYN-ACK数据包。
[0236] 其中,所述第一SYN-ACK数据包中的所述ECE标志位用第五标识符标识;所述CWR用第四标识符标识;且所述ECT标志位与所述CE标志位不同;所述SYN-ACK数据包中携带有MP_JOIN信息。
[0237] 所述接收模块1121,还用于接收所述接收端发送的确认ACK数据包。
[0238] 其中,所述ACK数据包中携带有MP_JOIN信息。
[0239] 此时,所述发送单元111,还用于向接收端发送包含添加地址ADD_ADDR信息的地址信息,以使得所述接收端根据所述地址信息获取所述发送端在第二接入网中的互联网协议IP地址。
[0240] 或者,所述处理单元112具体用于,接收所述接收端发送的第一响应数据包。
[0241] 其中,所述第一响应数据包的ECT标志位用第一标识符标识,所述CE标志位用第七标识符标识;所述ECE标志位用第五标识符标识;所述CWR标志位用第四标识符标识。
[0242] 此时,所述发送单元111,还用于在所述发送端通过第二接入网接入所述接收端的情况下,若所述发送端与所述接收端没有在第二接入网中建立多径TCP子流,则在第二接入网中,向所述接收端发送所述第一SYN数据包。
[0243] 所述装置,如图14所示,还包括:
[0244] 接收单元113,用于接收所述接收端发送的所述第一SYN-ACK数据包。
[0245] 所述发送单元111,还用于向所述接收端发送所述ACK数据包。
[0246] 所述处理单元112,还用于对已建立的多径TCP子流进行拥塞控制。
[0247] 或者,所述处理单元112具体用于,接收所述接收端发送的第二响应数据包。
[0248] 其中,所述第二响应数据包的ECT标志位用第一标识符标识,所述CE标志位用七标识符标识;所述ECE标志位用第三标识符标识;所述CWR标志位用第六标识符标识。
[0249] 上述发送单元111,还用于向所述接收端发送第二SYN数据包。
[0250] 其中,所述第二SYN数据包中的ECE标志位用第五标识符标识,所述的CWR标志位用六标识符标识;且所述ECT标志位与所述CE标志位不同;所述第二SYN数据包中携带有多径能力MP_CAPABLE信息;所述MP_CAPABLE用于标识发送端支持多径TCP。
[0251] 所述接收单元113,还用于接收所述接收端发送的第二SYN-ACK数据包或第三SYN-ACK数据包。
[0252] 其中,所述第二SYN-ACK数据包的所述ECE标志位用第五标识符标识;CWR标志位第四标识符标识;且所述ECT标志位与所述CE标志位不同;所述第二SYN-ACK数据包中还携带有MP_CAPABLE信息;所述第二SYN-ACK数据包的P标志位用地八标识符标识;所述第三SYN-ACK数据包中的所述ECE标志位用第五标识符标识,所述CWR用第四标识符标识;且所述ECT标志位与所述CE标志位不同;所述第三SYN-ACK数据包中还携带有MP_CAPABLE信息。
[0253] 所述发送单元111,还用于向所述接收端发送ACK数据包。
[0254] 本发明实施例提供了一种多径TCP拥塞控制的装置,发送端在第一接入网的已建立的至少一个多径TCP子流中发送数据包,若第一接入网的网络节点检测到网络即将拥塞,则将数据包中的ECT标志位用第一标识符标识,CE标志位用第二标识符标识,ECE标志位用第三标识符标识,CWR标志位用第四标识符标识发送至接收端,以使得接收端接收到数据包后,检测到数据包的CE标志位用第二标识符标识,则进行拥塞控制。这样,实现了在拥塞发生之前,进行拥塞控制,提高了数据传输的效率。
[0255] 本发明实施例提供了一种多径TCP拥塞控制的装置,如图15所示,包括:
[0256] 接收器121,用于接收端接收发送端在第一接入网已建立的至少一个多径传输控制协议TCP子流中,经第一接入网的网络节点发送的数据包。
[0257] 处理器122,用于若检测到所述数据包的支持显式拥塞通知ECN的传输ECT标志位用第一标识符标识;拥塞预警CE标志位用第二标识符标识,则所述接收端进行拥塞控制。
[0258] 其中,所述数据包的ECN反馈ECE标志位用第三标识符标识;拥塞窗口减半CWR标志位用第四标识符标识。
[0259] 具体的,所述处理器具体用于,在所述发送端通过第二接入网接入所述接收端的情况下,若所述发送端与所述接收端没有在第二接入网中建立多径TCP子流,则在第二接入网中,向所述发送端发送第一同步序列编号SYN数据包。
[0260] 其中,所述第一SYN数据包的所述ECE标志位用第五标识符标识;所述CWR用第六标识符标识;且所述ECT标志位与所述CE标志位不同;所述第一SYN数据包中还携带有多径添加MP_JOIN信息;所述MP_JOIN表示添加一条多径TCP子流。
[0261] 所述接收器121,还用于接收所述发送端发送的第一同步序列编号及确认SYN-ACK数据包。
[0262] 其中,所述第一SYN-ACK数据包中的所述ECE标志位用第五标识符标识;所述CWR用第四标识符标识;且所述ECT标志位与所述CE标志位不同;所述SYN-ACK数据包中携带MP_JOIN信息。
[0263] 所述处理器122还用于,向所述发送端发送确认ACK数据包。
[0264] 其中,所述ACK数据包中携带有MP_JOIN信息。
[0265] 所述接收器121还用于,接收所述发送端发送的包含添加地址ADD_ADDR信息的地址信息。
[0266] 所述处理器122还用于,根据接收器121接收的所述地址信息获取所述发送端在第二接入网中的互联网协议IP地址。
[0267] 或者,上述处理器122,具体用于所述接收端向所述发送端发送第一响应数据包,以使得所述发送端进行拥塞控制。
[0268] 其中,所述第一响应数据包的ECT标志位用第一标识符标识,所述CE标志位用第七标识符标识;所述ECE标志位用第五标识符标识;所述CWR标志位用第四标识符标识。
[0269] 上述接收器121还用于,在第二接入网中,接收所述发送端发送的所述第一SYN数据包。
[0270] 所述处理器122还用于,向所述发送端发送所述第一SYN-ACK数据包。
[0271] 上述接收器121还用于,接收所述发送端发送的ACK数据包。
[0272] 或者,上述处理器122,具体用于对已建立的多径TCP子流进行拥塞控制,并向发送端发送第二响应数据包。
[0273] 其中,所述第二响应数据包的ECT标志位用第一标识符标识,所述CE标志位用七标识符标识;所述ECE标志位用第三标识符标识;所述CWR标志位用第六标识符标识。
[0274] 上述接收器121,还用于接收所述发送端在第一接入网中发送的第二SYN数据包。
[0275] 其中,所述第二SYN数据包中的ECE标志位用第五标识符标识,所述的CWR标志位用六标识符标识;且所述ECT标志位与所述CE标志位不同;所述第二SYN数据包中携带有多径能力MP_CAPABLE信息;所述MP_CAPABLE用于标识发送端支持多径TCP。
[0276] 所述处理器122,还用于;记录所述发送端的MP_CAPABLE的相关信息,端口号,及IP地址。
[0277] 上述装置,如图16所示,还包括:
[0278] 发送器123,用于发送所述第二SYN数据包至通信对端的服务器。
[0279] 上述接收器121还用于,接收所述通信对端的服务器发送的第二SYN-ACK数据包。
[0280] 其中,所述第二SYN-ACK数据包的所述ECE标志位用第五标识符标识;CWR标志位第四标识符标识;且所述ECT标志位与所述CE标志位不同。
[0281] 所述处理器122还用于,检测所述第二SYN-ACK数据包中是否携带有MP_CAPABLE信息。
[0282] 所述处理器122还用于,在检测到所述第二SYN-ACK数据包中未携带有MP_CAPABLE信息时,将所述MP_CAPABLE添加至所述第二SYN-ACK数据包中,用第八标识符标识所述第二SYN-ACK数据包的P标志位。
[0283] 所述发送器123还用于,将所述第二SYN-ACK数据包发送至所述发送端。
[0284] 所述接收器122还用于,接收所述发送端发送的ACK数据包。
[0285] 所述发送器123还用于,用于将所述ACK数据包发送至通信对端的服务器。
[0286] 上述接收器122还用于,接收所述发送端在第一接入网中发送的所述第二SYN数据包。
[0287] 上述发送器122还用于,发送第三SYN-ACK数据包至所述发送端。
[0288] 其中,所述第三SYN-ACK数据包中的所述ECE标志位用第五标识符标识,所述CWR用第四标识符标识;且所述ECT标志位与所述CE标志位不同;所述第三SYN-ACK数据包中还携带有MP_CAPABLE。
[0289] 上述接收器122还用于,接收所述发送端发送的ACK数据包。
[0290] 本发明实施例提供了一种多径TCP拥塞控制的装置,接收端接收到数据包后,检测到数据包的CE标志位用第二标识符标识,则进行拥塞控制,即为在未建立TCP子流的第二接入网中新建多径TCP子流或对已建立的TCP子流进行拥塞控制。这样,实现了在拥塞发生之前,进行拥塞控制,提高了数据传输的效率,并且通过在第二接入网中新建多径TCP子流,减缓第一接入网中的网络拥塞。
[0291] 本发明实施例提供了一种多径TCP拥塞控制的装置,如图17所示,包括:
[0292] 发送器141,用于在第一接入网已建立的至少一个多径传输控制协议TCP子流中向接收端发送数据包。
[0293] 其中,所述数据包的支持显式拥塞通知ECN的传输ECT标志位用第一标识符标识,拥塞预警CE标志位用第七标识符标识;ECN反馈ECE标志位用第三标识符标识;拥塞窗口减半CWR标志位用第四标识符标识;以便第一接入网的网络节点在检测到网络即将拥塞或第一接入网链路质量变差时,网络节点通过将数据包的CE标志位由第七标识符标识更改为第二标识符标识通知所述接收端网络即将拥塞或第一接入网链路质量变差,以使得所述接收端进行拥塞控制。
[0294] 处理器142,用于接收端进行拥塞控制的情况下,进行相应的拥塞控制。
[0295] 具体的,所述处理器142,用于在所述发送端通过第二接入网接入所述接收端的情况下,若所述装置与所述接收端没有在第二接入网中建立多径TCP子流,则在第二接入网中,接收所述接收端发送的第一同步序列编号SYN数据包。
[0296] 其中,所述第一SYN数据包的所述ECE标志位用第五标识符标识;所述CWR用第六标识符标识;且所述ECT标志位与所述CE标志位不同;所述第一SYN数据包中还携带有多径添加MP_JOIN信息;所述MP_JOIN表示添加一条多径TCP子流。
[0297] 所述处理器142,还用于向所述接收端发送第一同步序列编号及确认SYN-ACK数据包。
[0298] 其中,所述第一SYN-ACK数据包中的所述ECE标志位用第五标识符标识;所述CWR用第四标识符标识;且所述ECT标志位与所述CE标志位不同;所述SYN-ACK数据包中携带有MP_JOIN信息。
[0299] 所述处理器142,还用于接收所述接收端发送的确认ACK数据包。
[0300] 其中,所述ACK数据包中携带有MP_JOIN信息。
[0301] 上述发送器141还用于,向接收端发送包含添加地址ADD_ADDR信息的地址信息,以使得所述接收端根据所述地址信息获取所述发送端在第二接入网中的互联网协议IP地址。
[0302] 或者,所述处理器142具体用于,接收所述接收端发送的第一响应数据包。
[0303] 其中,所述第一响应数据包的ECT标志位用第一标识符标识,所述CE标志位用第七标识符标识;所述ECE标志位用第五标识符标识;所述CWR标志位用第四标识符标识。
[0304] 上述发送器141还用于,在所述发送端通过第二接入网接入所述接收端的情况下,若所述发送端与所述接收端没有在第二接入网中建立多径TCP子流,则在第二接入网中,向所述接收端发送所述第一SYN数据包。
[0305] 所述装置,如图18所示,还包括:
[0306] 接收器143,用于接收所述接收端发送的所述第一SYN-ACK数据包。
[0307] 上述发送器141还用于,向所述接收端发送所述ACK数据包。
[0308] 所述处理器142还用于,对已建立的多径TCP子流进行拥塞控制。
[0309] 或者,所述处理器142具体用于,接收所述接收端发送的第二响应数据包。
[0310] 其中,所述第二响应数据包的ECT标志位用第一标识符标识,所述CE标志位用七标识符标识;所述ECE标志位用第三标识符标识;所述CWR标志位用第六标识符标识。
[0311] 上述发送器141还用于,向所述接收端发送第二SYN数据包。
[0312] 其中,所述第二SYN数据包中的ECE标志位用第五标识符标识,所述的CWR标志位用六标识符标识;且所述ECT标志位与所述CE标志位不同;所述第二SYN数据包中携带有多径能力MP_CAPABLE信息;所述MP_CAPABLE用于标识发送端支持多径TCP。
[0313] 所述接收器143还用于,接收所述接收端发送的第二SYN-ACK数据包或第三SYN-ACK数据包。
[0314] 其中,所述第二SYN-ACK数据包的所述ECE标志位用第五标识符标识;CWR标志位第四标识符标识;且所述ECT标志位与所述CE标志位不同;所述第二SYN-ACK数据包中还携带有MP_CAPABLE信息;所述第二SYN-ACK数据包的P标志位用地八标识符标识。所述第三SYN-ACK数据包中的所述ECE标志位用第五标识符标识,所述CWR用第四标识符标识;且所述ECT标志位与所述CE标志位不同;所述第三SYN-ACK数据包中还携带有MP_CAPABLE信息。
[0315] 上述发送器141还用于,向所述接收端发送ACK数据包。
[0316] 本发明实施例提供了一种多径TCP拥塞控制的装置,接收端接收到数据包后,检测到数据包的CE标志位用第二标识符标识,则进行拥塞控制,即为在未建立TCP子流的第二接入网中新建多径TCP子流或对已建立的TCP子流进行拥塞控制。这样,实现了在拥塞发生之前,进行拥塞控制,提高了数据传输的效率,并且通过在第二接入网中新建多径TCP子流,减缓第一接入网中的网络拥塞。
[0317] 本发明实施例提供了一种多径TCP拥塞控制的系统,如图19所示,包括:发送端161,网络节点162,接收端163。
[0318] 所述发送端161为上述实施例所述的一种多径TCP拥塞控制的装置的发送端。
[0319] 所述接收端163为上述实施例提供的一种多径TCP拥塞控制的装置的接收端。
[0320] 本发明实施例提供了另一种多径TCP拥塞控制的系统,如图20所示,包括:发送端201,网络节点202,接收端203。
[0321] 所述发送端201为上述实施例所述的另一种多径TCP拥塞控制的装置。
[0322] 所述接收端203为上述实施例所述的另一种多径TCP拥塞控制的装置。
[0323] 本发明实施例提供了一种多径TCP拥塞控制的方法、装置及系统,发送端在第一接入网的已建立的至少一个多径TCP子流中发送数据包,若第一接入网的网络节点检测到网络即将拥塞,则将数据包中的ECT标志位用第一标识符标识,CE标志位用第二标识符标识,ECE标志位用第三标识符标识,CWR标志位用第四标识符标识发送至接收端,接收端接收到数据包后,检测到数据包的CE标志位用第二标识符标识,则进行拥塞控制,即为在未建立TCP子流的第二接入网中新建多径TCP子流或对已建立的TCP子流进行拥塞控制。这样,实现了在拥塞发生之前,进行拥塞控制,提高了数据传输的效率,并且通过在第二接入网中新建多径TCP子流,减缓第一接入网中的网络拥塞。
[0324] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。