CN105264845B - 数据传输控制节点、通信系统及数据传输管理方法 - Google Patents
数据传输控制节点、通信系统及数据传输管理方法 Download PDFInfo
- Publication number
- CN105264845B CN105264845B CN201480029919.1A CN201480029919A CN105264845B CN 105264845 B CN105264845 B CN 105264845B CN 201480029919 A CN201480029919 A CN 201480029919A CN 105264845 B CN105264845 B CN 105264845B
- Authority
- CN
- China
- Prior art keywords
- tcp
- mptcp
- tcp subflow
- data transmission
- subflow
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/19—Flow control; Congestion control at layers above the network layer
- H04L47/193—Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
- H04L43/0841—Round trip packet loss
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/122—Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/14—Multichannel or multilink protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种数据传输控制节点、系统及数据传输管理方法,依据系统运行需求选择需要进行数据分流的TCP子流,通过改变MPTCP拥塞控制算法的输入项,使选择出的TCP子流上数据能够迁移到预期的属于同一MPTCP连接的其他TCP子流上。通过在接入网侧增加对MPTCP数据传输的管控措施,使TCP子流上数据分流结果能够适应系统运行的预期需求,优化系统性能,提升MPTCP拥塞控制算法的实用性。
Description
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种数据传输控制节点、通信系统及数据传输管理方法。
背景技术
多种无线宽带接入技术的日益发展,使得一个用户设备(UE,User Equipment)可以同时具有到目标节点的多条数据传输链路。多路径数据传输协议(MPTCP,Multi-PathTransmission Control Protocol)在传统TCP协议的基础上发展而来,可以为用户终端提供端到端的多链路通信,以资源共享的方式,把数据流分发到多条链路上来提高网络带宽。
为了提升数据传输质量,MPTCP协议中定义了一种称为耦合的拥塞控制(CoupledCongestion Control)的拥塞控制算法,其预期目标之一就是平衡拥塞,即尽可能将数据从最拥塞的链路上分流到其他链路上。采用现有协议规定的端到端的拥塞控制算法,虽然可以在不同通信链路间进行数据分流,但数据分流结果不能充分适应系统运行的各种预期需求,进而无法使得系统性能达到最优化,拥塞控制算法的实用性较差。
发明内容
本发明实施例提供了一种数据传输控制节点、系统及数据传输管理方法,能够使得MPTCP数据分流结果适应系统运行的预期需求。
第一方面,本发明实施例提供了一种数据传输控制节点,用于控制多路径传输控制协议MPTCP连接的通信两端之间的数据传输,所述MPTCP连接包含多条传输控制协议TCP子流,所述数据传输控制节点包括,处理单元,用于在所述多条TCP子流中选择需要进行数据传输控制的至少一条TCP子流;所述处理单元还用于,确定MPTCP拥塞控制算法的输入项的调整策略;发送单元,用于将所述调整策略发送给所述至少一条TCP子流对应的网络节点,所述调整策略用于指示所述网络节点调整所述至少一条TCP子流上的数据传输过程,触发所述通信两端执行所述MPTCP拥塞控制算法,所述MPTCP拥塞控制算法的输出结果包括确定在所述至少一条TCP子流上传输的数据部分或全部迁移到属于所述MPTCP连接的其他TCP子流上,其中,所述网络节点位于所述通信两端的通信链路中。
在第一方面的第一种可能的实现方式中,所述处理单元用于确定MPTCP拥塞控制算法的输入项的调整策略,包括,确定降低所述至少一条TCP子流的数据传输速率以及所述数据传输速率降低的幅度。
结合第一方面的以上任意一种可能的实现方式,所述MPTCP拥塞控制算法的输入项包括,所述至少一条TCP子流的数据往返时延RTT和/或丢包率。
结合第一方面的以上任意一种可能的实现方式,所述发送单元用于指示所述网络节点调整所述至少一条TCP子流上的数据传输过程以获得调整后的输入项,包括,指示所述网络节点延迟发送所述至少一条TCP子流上的数据包以增大所述RTT,延迟时间与所述数据传输速率降低的幅度对应;和/或,指示所述网络节点丢弃所述至少一条TCP子流上的业务数据包以增大所述丢包率,丢弃所述业务数据包的数量与所述数据传输速率降低的幅度对应。
结合第一方面的以上任意一种可能的实现方式,所述处理单元用于在所述多条TCP子流中选择需要进行数据传输控制的至少一条TCP子流,包括,根据运营商管控策略选择所述至少一条TCP子流。
结合第一方面的以上任意一种可能的实现方式,所述处理单元用于在所述多条TCP子流中选择需要进行数据传输控制的至少一条TCP子流,包括,根据所述多条TCP子流对应的网络节点的无线资源状况确定需要进行数据传输控制的网络节点,选择所述网络节点对应的正在进行数据传输的至少一条TCP子流。
结合第一方面的以上任意一种可能的实现方式,所述处理单元用于在所述多条TCP子流中选择需要进行数据传输控制的至少一条TCP子流,包括,判断所述多条TCP子流所在的通信链路的链路状况是否满足预设条件,在不满足所述预设条件的TCP子流中,选择正在进行数据传输的至少一条TCP子流。
结合第一方面的以上任意一种可能的实现方式,还包括接收单元,用于接收所述网络节点上报的测量报告,所述测量报告用于指示所述多条TCP子流的通信链路的链路状况和/或所述多条TCP子流对应的网络节点的无线资源状况;所述处理单元具体用于根据所述测量报告,选择所述至少一条TCP子流。
结合第一方面的以上任意一种可能的实现方式,还包括信息管理单元,用于根据MPTCP连接消息,将所述多条TCP子流与所述MPTCP连接相关联,使得所述MPTCP连接包含所述多条TCP子流,所述MPTCP连接消息用于指示所述MPTCP连接的状态。
结合第一方面的以上任意一种可能的实现方式,所述信息管理单元还用于,存储并更新MPTCP连接信息表,所述MPTCP连接信息表中包括所述网络节点上报的MPTCP连接消息中携带的MPTCP连接信息,所述MPTCP连接信息用于将所述多条TCP子流与所述MPTCP连接相关联。
结合第一方面的以上任意一种可能的实现方式,所述通信两端中的一端是接入所述网络节点的用户设备UE,另一端是服务器;所述网络节点支持所述UE与所述服务器相通信。
第二方面,本发明实施例提供了一种网络节点,用于控制多路径传输控制协议MPTCP连接的通信两端之间的数据传输,所述MPTCP连接包含多条传输控制协议TCP子流,所述网络节点位于所述通信两端的通信链路中,包括,
接收单元,用于接收数据传输控制节点在所述多条TCP子流中选择得到的至少一条TCP子流的信息;
所述接收单元还用于,接收所述数据传输控制节点指示的调整策略,所述调整策略为针对MPTCP拥塞控制算法的输入项的调整策略。
策略执行单元,用于根据所述调整策略,调整所述至少一条TCP子流上的数据传输过程,触发所述通信两端执行所述MPTCP拥塞控制算法,所述MPTCP拥塞控制算法的输出结果包括确定在所述至少一条TCP子流上传输的数据部分或全部迁移到属于所述MPTCP连接的其他TCP子流上。
在第二方面的第一种可能的实现方式中,所述网络节点还包括发送单元,用于将调整后的输入项发送给所述通信两端,所述调整后的输入项由所述策略执行单元调整所述至少一条TCP子流上的数据传输过程后获得,用于触发所述通信两端执行所述MPTCP拥塞控制算法。
结合第二方面的以上任意一种可能的实现方式,所述MPTCP拥塞控制算法的输入项的调整策略包括,降低所述至少一条TCP子流的数据传输速率以及所述数据传输速率降低的幅度。
结合第二方面的以上任意一种可能的实现方式,所述MPTCP拥塞控制算法的输入项包括,所述至少一条TCP子流的数据往返时延RTT和/或丢包率。
结合第二方面的以上任意一种可能的实现方式,所述策略执行单元用于调整所述至少一条TCP子流上的数据传输过程,包括,延迟发送所述至少一条TCP子流上的数据包以增大所述RTT,延迟时间与所述数据传输速率降低的幅度对应;和/或,丢弃所述至少一条TCP子流上的业务数据包以增大所述丢包率,丢弃所述业务数据包的数量与所述数据传输速率降低的幅度对应。
结合第二方面的以上任意一种可能的实现方式,所述发送单元还用于,向所述数据传输控制节点上报测量报告,所述测量报告用于指示所述多条TCP子流的通信链路的链路状况和/或所述多条TCP子流对应的网络节点的无线资源状况,所述测量报告用于所述数据传输控制节点选择所述至少一条TCP子流。
结合第二方面的以上任意一种可能的实现方式,所述发送单元还用于,向所述数据传输控制节点上报MPTCP连接消息,所述MPTCP连接消息用于指示所述MPTCP连接的状态,所述MPTCP连接消息中携带MPTCP连接信息,所述MPTCP连接信息用于所述数据传输控制节点将所述多条TCP子流与所述MPTCP连接相关联,使得所述MPTCP连接包含所述多条TCP子流。
结合第二方面的以上任意一种可能的实现方式,所述通信两端中的一端是接入所述网络节点的用户设备UE,另一端是服务器;所述网络节点支持所述UE与所述服务器相通信。
第三方面,本发明实施例提供了一种通信系统,包括,
数据传输控制节点,用于在所述多条TCP子流中选择需要进行数据传输控制的至少一条TCP子流;确定MPTCP拥塞控制算法的输入项的调整策略;将所述调整策略发送给所述至少一条TCP子流对应的网络节点,所述调整策略用于指示所述网络节点调整所述至少一条TCP子流上的数据传输过程,触发所述通信两端执行所述MPTCP拥塞控制算法,所述MPTCP拥塞控制算法的输出结果包括确定在所述至少一条TCP子流上传输的数据部分或全部迁移到属于所述MPTCP连接的其他TCP子流上;
网络节点,位于所述通信两端的通信链路中,用于接收数据传输控制节点在所述多条TCP子流中选择得到的至少一条TCP子流的信息;接收所述数据传输控制节点指示的调整策略,所述调整策略为针对MPTCP拥塞控制算法的输入项的调整策略。
第四方面,本发明实施例还提供了一种数据传输管理方法,其特征在于,用于控制多路径传输控制协议MPTCP连接的通信两端之间的数据传输,所述MPTCP连接包含多条传输控制协议TCP子流,所述方法包括,数据传输控制节点在所述多条TCP子流中选择需要进行数据传输控制的至少一条TCP子流;所述数据传输控制节点确定MPTCP拥塞控制算法的输入项的调整策略;所述数据传输控制节点指示所述至少一条TCP子流对应的网络节点根据所述调整策略,调整所述至少一条TCP子流上的数据传输过程,触发所述通信两端执行所述MPTCP拥塞控制算法,所述MPTCP拥塞控制算法的输出结果包括确定在所述至少一条TCP子流上传输的数据部分或全部迁移到属于所述MPTCP连接的其他TCP子流上。
在第四方面的第一种可能的实现方式中,所述数据传输控制节点确定MPTCP拥塞控制算法的输入项的调整策略包括,所述数据传输控制节点确定降低所述至少一条TCP子流的数据传输速率以及所述数据传输速率降低的幅度。
结合第四方面的任意一种可能的实现方式,所述MPTCP拥塞控制算法的输入项包括,所述至少一条TCP子流的数据往返时延RTT和/或丢包率。
结合第四方面的任意一种可能的实现方式,所述数据传输控制节点指示所述网络节点调整所述至少一条TCP子流上的数据传输过程包括,所述数据传输控制节点指示所述网络节点延迟发送所述至少一条TCP子流上的数据包以增大所述RTT,延迟时间与所述数据传输速率降低的幅度对应;和/或,所述数据传输控制节点指示所述网络节点丢弃所述至少一条TCP子流上的业务数据包以增大所述丢包率,丢弃所述业务数据包的数量与所述数据传输速率降低的幅度对应。
结合第四方面的任意一种可能的实现方式,所述数据传输控制节点在所述多条TCP子流中选择需要进行数据传输控制的至少一条TCP子流,包括,所述数据传输控制节点根据运营商管控策略选择所述至少一条TCP子流。
结合第四方面的任意一种可能的实现方式,所述数据传输控制节点在所述多条TCP子流中选择需要进行数据传输控制的至少一条TCP子流,包括,所述数据传输控制节点根据所述多条TCP子流对应的网络节点的无线资源状况确定需要进行数据传输控制的网络节点,选择所述网络节点对应的正在进行数据传输的至少一条TCP子流。
结合第四方面的任意一种可能的实现方式,所述数据传输控制节点在所述多条TCP子流中选择需要进行数据传输控制的至少一条TCP子流包括,所述数据传输控制节点判断所述多条TCP子流所在的通信链路的链路状况是否满足预设条件,在不满足所述预设条件的TCP子流中,选择正在进行数据传输的至少一条TCP子流。
结合第四方面的任意一种可能的实现方式,所述数据传输控制节点在所述多条TCP子流中选择需要进行数据传输控制的至少一条TCP子流,包括,所述数据传输控制节点接收所述网络节点上报的测量报告,所述测量报告用于指示所述多条TCP子流的通信链路的链路状况和/或所述多条TCP子流对应的网络节点的无线资源状况;所述数据传输控制节点根据所述测量报告,选择所述至少一条TCP子流。
结合第四方面的任意一种可能的实现方式,所述方法进一步包括,所述数据传输控制节点根据MPTCP连接消息,将所述多条TCP子流与所述MPTCP连接相关联,使得所述MPTCP连接包含所述多条TCP子流,所述MPTCP连接消息用于指示所述MPTCP连接的状态。
结合第四方面的任意一种可能的实现方式,所述数据传输控制节点存储并更新MPTCP连接信息表,所述MPTCP连接信息表中包括所述网络节点上报的MPTCP连接消息中携带的MPTCP连接信息,所述MPTCP连接信息用于将所述多条TCP子流与所述MPTCP连接相关联。
结合第四方面的以上任意一种可能的实现方式,所述通信两端中的一端是接入所述网络节点的用户设备UE,另一端是服务器;所述网络节点支持所述UE与所述服务器相通信。
第五方面,本发明实施例还提供了一种数据传输管理方法,其特征在于,用于控制多路径传输控制协议MPTCP连接的通信两端之间的数据传输,所述MPTCP连接包含多条传输控制协议TCP子流,网络节点位于所述通信两端的通信链路中,所述方法包括,所述网络节点接收数据传输控制节点在所述多条TCP子流中选择得到的至少一条TCP子流的信息,所述网络节点根据数据传输控制节点指示的调整策略,调整所述至少一条TCP子流上的数据传输过程,触发所述通信两端执行所述MPTCP拥塞控制算法,所述MPTCP拥塞控制算法的输出结果包括确定在所述至少一条TCP子流上传输的数据部分或全部迁移到属于所述MPTCP连接的其他TCP子流上,其中,所述调整策略为针对MPTCP拥塞控制算法的输入项的调整策略。
在第五方面的第一种可能的实现方式中,在所述网络节点调整所述至少一条TCP子流上的数据传输过程之后还包括,所述网络节点将调整后的输入项发送给所述通信两端,所述调整后的输入项由所述网络节点调整所述至少一条TCP子流上的数据传输过程后获得,用于触发所述通信两端执行所述MPTCP拥塞控制算法。
结合第五方面的以上任意一种可能的实现方式,所述MPTCP拥塞控制算法的输入项的调整策略包括,降低所述至少一条TCP子流的数据传输速率以及所述数据传输速率降低的幅度。
结合第五方面的以上任意一种可能的实现方式,所述MPTCP拥塞控制算法的输入项包括,所述至少一条TCP子流的数据往返时延RTT和/或丢包率。
结合第五方面的以上任意一种可能的实现方式,所述网络节点调整所述至少一条TCP子流上的数据传输过程包括,所述网络节点延迟发送所述至少一条TCP子流上的数据包以增大所述RTT,延迟时间与所述数据传输速率降低的幅度对应;和/或,所述网络节点丢弃所述至少一条TCP子流上的业务数据包以增大所述丢包率,丢弃所述业务数据包的数量与所述数据传输速率降低的幅度对应。
结合第五方面的以上任意一种可能的实现方式,所述方法还包括,所述网络节点向所述数据传输控制节点上报测量报告,所述测量报告用于指示所述多条TCP子流的通信链路的链路状况和/或所述多条TCP子流对应的网络节点的无线资源状况,所述测量报告用于所述数据传输控制节点选择所述至少一条TCP子流。
结合第五方面的以上任意一种可能的实现方式,所述方法进一步包括,所述网络节点向所述数据传输控制节点上报MPTCP连接消息,所述MPTCP连接消息用于指示所述MPTCP连接的状态,所述MPTCP连接消息中携带MPTCP连接信息,所述MPTCP连接信息用于所述数据传输控制节点将所述多条TCP子流与所述MPTCP连接相关联,使得所述MPTCP连接包含所述多条TCP子流。
结合第五方面的以上任意一种可能的实现方式,所述通信两端中的一端是接入所述网络节点的用户设备UE,另一端是服务器;所述网络节点支持所述UE与所述服务器相通信。
采用本发明实施例提供的技术方案,依据系统运行需求选择需要进行数据分流的TCP子流,通过改变MPTCP拥塞控制算法的输入项,使选择出的TCP子流上数据能够迁移到预期的属于同一MPTCP连接的其他TCP子流上。通过在接入网侧增加对MPTCP数据传输的管控措施,使TCP子流上数据分流结果能够适应系统运行的预期需求,优化系统性能,提升MPTCP拥塞控制算法的实用性。
附图说明
图1是一种MPTCP协议栈的示意图;
图2是本发明实施例的一种应用场景示意图;
图3是本发明实施例提供的一种数据传输控制节点的示意框图;
图4是一种MPTCP初始连接建立过程与TCP子流新建过程的信令流程的示意图;
图5是本发明实施例提供的一种数据传输控制节点的示意框图;
图6是本发明实施例提供的另一种数据传输控制节点的示意框图;
图7是本发明实施例提供的另一种网络节点的示意框图;
图8是本发明实施例提供的一种通信系统示意图;
图9是本发明实施例提供的一种数据传输管理方法流程示意图;
图10是本发明实施例提供的一种将TCP子流关联到MPTCP连接的方法流程示意图;
图11是本发明实施例提供的另一种数据传输管理方法流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步详细描述。
本文中描述的各种技术可用于多种通信系统,例如当前2G、3G通信系统和下一代通信系统,例如全球移动通信系统(GSM,Global System for Mobile Communication),码分多址(CDMA,Code Division Multiple Access)系统,时分多址(TDMA,Time DivisionMultiple Access)系统,宽带码分多址(WCDMA,Wideband Code Division MultipleAccess)系统,长期演进(LTE,Long Term Evolution)系统及后续演进系统等;以及无线局域网(WLAN,Wireless Local Area Network)、全球微波互联接入(WiMax,WorldwideInteroperability for Microwave Access)系统等其他无线宽带接入网络。
需要说明的是,本发明实施例中所述的网络节点可以是接入设备,例如可以是GSM或CDMA中的基站收发台(BTS,Base Transceiver Station),也可以是WCDMA中的节点B(NodeB),也可以是LTE中的演进型节点B(e-NodeB,evolved NodeB),还可以是WLAN中的接入点(AP,Access Point),或者其他通信或无线网络系统中具有类似功能的网元,本发明实施例对此不做任何限定。网络节点也可以是接入控制设备,例如可以是GSM或CDMA中的基站控制器(BSC,Base Station Controller),可以是WCDMA中的无线网络控制器(RNC,RadioNetwork Controller),也可以是WLAN中的接入控制器(AC,Access Controller),也可以是其他具有类似功能的网元,本发明实施例对此不做任何限定。
需要说明的是,本发明实施例中提出的数据传输控制节点是表示接入网侧用于管控MPTCP数据传输的单元,其部署位置不限,可以单独部署,也可以与网管、接入控制设备、接入设备共同部署,换言之,该控制节点可以是独立的设备,也可以部署在其他通信设备中,本发明实施例对此不做任何限定。
例如,数据传输控制节点可以作为一个控制单元部署在上述BSC、RNC或AC等接入控制设备中;数据传输控制节点也可以作为一个控制单元部署在上述BTS、NodeB、e-NodeB、AP等接入设备中。又例如,数据传输控制节点也可以是独立部署的设备,并能够与作为网络节点的上述基站设备或基站控制设备进行信息交互。
本发明实施例出现的用户设备(UE,User Equipment)可以是以无线方式接入接入网进行数据传输的用户设备,例如移动电话,具备无线通信功能的个人计算机等。
需要说明的是,本发明实施例中所述的接入网包括由BTS与BSC、或NodeB与RNC、或e-NodeB等设备组成的无线接入网(RAN,Radio Access Network),以及由AP与AC等设备组成的宽带接入网。其中,AC与RNC可以进行融合,即AC的功能集成在RNC上,并与AP进行通信。
图1是MPTCP协议栈的示意图,相对标准TCP(standard TCP)而言,MPTCP协议栈主要是将TCP层分为MPTCP层和TCP子流(TCP Subflow)层,通过如下方式实现数据并发传输,包括:建立多个TCP子流,相当于建立多条TCP连接;由MPTCP层对多个TCP子流进行数据分流或汇聚等处理。TCP子流与所属的MPTCP连接可以通过令牌(Token)联系起来。Token是MPTCP连接的标识,只具有本地意义和唯一性,MPTCP初始连接建立过程的发起端和响应端均要生成一个Token,Token可以看作是MPTCP连接标识(MPTCP Connection ID)。
MPTCP连接可以由多条TCP子流构成。TCP子流是在某一特定的传输路径(path)上进行传输的TCP数据流。其中,传输路径是指存在于MPTCP连接的通信两端之间的通路,可以通过所述通信两端的一对地址,例如IP地址,和/或端口号(port)来标识,每条TCP子流都有对应的路径。
MPTCP是一个端到端的协议,因此通信两端需要交互控制信令来完成诸如MPTCP初始连接建立、TCP子流增加或删除、地址通知等功能。这些控制信令都是通过TCP选项(TCPOption)来传输的。
需要说明的是,本发明实施例中涉及到的具体MPTCP信令的含义及功能可以参见RFC6824协议的规定,本说明书中不做过多赘述。
图2是本发明实施例的一种应用场景示意图。如图2所示,UE与Server间的MPTCP连接有2条TCP子流,一条TCP子流在LTE链路上传输,该LTE链路上包括接入网侧节点e-NodeB、核心网侧节点独立业务网关(SGW,Service Gateway)及分组数据网网关(PGW,Packet DataNetwork Gateway)。另外一条TCP子流在Wi-Fi链路上传输,该Wi-Fi链路上包括接入网侧节点AP及AC;核心网侧节点宽带远程接入服务器(BRAS,Broadband Remote Access Server)。如图2所示,本发明实施例提供的数据传输控制节点可以独立设置,并分别与e-NodeB及AC之间存在链路连接,便于进行信息交互。e-NodeB和AP可以分别向数据传输控制节点上报MPTCP连接消息,MPTCP连接消息由e-NodeB或AP解析UE与Server之间的MPTCP信令交互过程获得,例如解析接入用户的携带有MPTCP信令的TCP数据包获得,数据传输控制节点根据MPTCP连接消息将属于该MPTCP连接的不同TCP子流关联起来,并可以根据运营商策略、或接入用户接入的接入网侧节点的无线资源状况、或接入用户所在的链路状况等条件来确定数据在不同TCP子流间的分配策略,最终将分配策略下发给e-NodeB及AP执行。
本发明实施例提供了一种数据传输控制节点,可以用于控制MPTCP连接的通信两端之间的数据传输,所述MPTCP连接包含多条传输控制协议TCP子流。
其中,MPTCP连接的通信两端可以是空口上行或空口下行数据传输过程中的两端通信设备,任意一端均可以发起或响应MPTCP连接的相关过程,包括MPTCP初始连接建立过程、TCP子流新建过程、TCP子流删除过程、TCP子流优先级更新过程等。例如,由接入某无线接入点的UE发起MPTCP初始连接建立过程,网络侧的Server进行响应,则UE与Server成为MPTCP连接的通信两端;类似地,也可以由Server发起MPTCP初始连接建立过程,UE进行响应。需要说明的是,所述MPTCP初始连接建立过程的发起端或响应端与TCP子流新建过程的发起端或响应端、及后续数据传输过程的发送端或接收端相互之间不存在对应关系,例如,MPTCP初始连接建立过程的发起端或响应端均可以发起TCP子流新建过程,MPTCP初始连接建立过程的发起端或响应端、TCP子流新建过程的发起端或响应端中的任意一端均可以发送数据。
该数据传输控制节点的示意框图如图3所示,主要包括:
处理单元301,可以用于在所述多条TCP子流中选择需要进行数据传输控制的至少一条TCP子流。
具体地,处理单元301可以决定选择哪些TCP子流上的空口下行或上行的数据迁移到同属一个MPTCP连接的其他TCP子流上,并将需要进行数据迁移的TCP子流按数据传输方向归入空口下行或上行管控子流集。
所述处理单元301还可以用于,确定MPTCP拥塞控制算法的输入项的调整策略。
发送单元302,用于将所述调整策略发送给所述至少一条TCP子流对应的网络节点,所述调整策略用于指示所述网络节点调整所述至少一条TCP子流上的数据传输过程,触发所述通信两端执行所述MPTCP拥塞控制算法,所述MPTCP拥塞控制算法的输出结果包括确定在所述至少一条TCP子流上传输的数据部分或全部迁移到属于所述MPTCP连接的其他TCP子流上。
其中,所述网络节点位于所述通信两端的通信链路中。
上述调整策略的发送过程包括,遍历空口下行或上行管控子流集,向管控子流集中的每个TCP子流所在的网络节点下发调整策略。
可选地,可以有多种途径决定选择哪些TCP子流上的空口下行或上行的数据迁移到同属一个MPTCP连接的其他TCP子流上,本发明实施例对此不做特别限定。例如可以采用以下两种方法:
方法一:首先,根据MPTCP连接信息表中的无线接入点的空口下行或上行无线资源状态,得到需要控制的无线接入点,例如选择空口下行或上行负载拥塞的无线接入点,可选地,可以结合运营商管控策略进行判断。其次,遍历每个需要控制的无线接入点下的所有TCP子流,如果当前TCP子流所属的MPTCP连接存在空口下行或上行Backup标识位为0的其他TCP子流,且其他TCP子流所在无线接入点非当前无线接入点,且其他TCP子流所在无线接入点的空口下行或上行无线资源状态为空闲,则选定当前TCP子流进入空口下行或上行管控子流集。
方法二:遍历MPTCP连接信息表中所有的TCP子流。如果当前子流所属接入用户的空口链路信息表明此链路的空口下行或上行不适合数据传输,例如当前TCP子流所在的链路质量差或者接入用户处于小区边缘,且当前TCP子流所属的MPTCP连接存在空口下行或上行Backup标识位为0的其他TCP子流,且其他TCP子流所在无线接入点非当前TCP子流的无线接入点,且其他TCP子流所属的接入用户的空口链路信息表明空口下行或上行适合数据传输,则选定当前TCP子流进入空口下行或上行管控子流集。
可选地,可以限定管控子流集中的TCP子流的数量。
可选地,可以参考用户优先级来优先选择当前无线接入点上高优先级用户对应的TCP子流进入管控子流集。
数据迁移可以是将TCP子流的一部分数据转移到同属于一个MPTCP连接的其他TCP子流上,也可是将TCP子流的全部数据转移到同属于一个MPTCP连接的其他TCP子流上,对数据迁移的比例可以按照系统运行的优化目的确定,本发明实施例不做特别限定。
可选地,作为本发明的另一个实施例,处理单元301用于确定确定MPTCP拥塞控制算法的输入项的调整策略,包括确定降低所述至少一条TCP子流的数据传输速率以及所述数据传输速率降低的幅度。
具体地,当某条通信两端正在使用TCP子流的速度降低到一定程度后,该TCP子流将不满足数据传输的性能要求,通信两端可以自行检测或由网络节点处获取该TCP子流的速率信息,并启动MPTCP拥塞控制算法,切换TCP子流。
可选地,可以由处理单元301确定所述调整策略的具体实施形式,由发送单元302下发给对应的网络节点直接执行;处理单元301也可以仅给出TCP子流迁移策略并下发给对应的网络节点,由网络节点自行决定采取何种具体形式来执行数据迁移。例如,分流策略可以仅包括某一个TCP子流的速率需要降低到哪种程度,可以由网络节点自行决定采用何种具体形式,例如延时发送或增大丢包率等方法来满足该分流策略;类似地,调整策略中也可以直接指示网络节点通过延时发送或增大丢包率来降低TCP子流的速率。
可选地,可以改变作为MPTCP拥塞控制算法输入项的TCP层的往返时延(RTT,RoundTrip Time)和/或丢包率,将调整后的RTT和/或丢包率作为MPTCP拥塞算法的输入项,影响算法的输出结果,使得各条TCP子流上的数据能够完成满足预期需求的迁移过程。
可选地,调整策略可以包括指示所述网络节点延迟发送所述至少一条TCP子流上的数据包以增大RTT,延迟时间与所述数据传输速率降低的幅度对应。
可选地,调整策略可以包括指示所述网络节点丢弃所述至少一条TCP子流上的业务数据包以增大丢包率,丢弃所述业务数据包的数量与所述数据传输速率降低的幅度对应。
上述改变RTT和丢包率的处理过程可以同时进行,即综合运用RTT和丢包率改变TCP子流的数据传输速率;或者单独进行,本发明实施例对此不做特别限定。
具体地,现有协议规定的MPTCP拥塞控制算法的数据分流调度结果主要取决于RTT和丢包率。因此,可以以各通信链路的RTT和丢包率作为输入来影响MPTCP拥塞控制算法输出结果,例如通过增大某条链路上的丢包率,使得在所述拥塞控制算法的作用下将数据迁移到另一条链路上。因此,上述调整策略可以通过改变TCP层的RTT和/或丢包率,间接影响上述算法的输出结果,使得数据的分流结果能够满足系统运行的不同需求。
可以理解,本发明实施例所使用的MPTCP拥塞控制算法是现有协议规定的CoupledCongestion Control算法,算法运算过程可以参照协议相关内容,例如每个TCP子流中的慢启动、快速重传、快速恢复等项目与现有算法一致,具体参见RFC6356,在此不做赘述。
以下描述几种改变丢包率或RTT的具体方法,仅作示意之用,不构成对本发明实施例的任何限定,本领域的普通技术人员可以了解到采取其他方式也可以改变丢包率或RTT。
例如,可以指示网络节点通过主动丢弃TCP子流上的空口下行或上行的业务数据包来增大丢包率,例如增大丢包率到某一指定比例,或每隔多少个数据包主动丢弃一个数据包。
例如,可以指示网络节点通过延迟发送子流上的空口上行或下行ACK包来增大TCP层的RTT,例如指定子流上的空口上行或下行ACK包延迟一定时间再发送。
例如,可以指示网络节点通过推迟子流上的空口下行或上行数据包进入调度器来增大TCP层的RTT,例如指定TCP子流上的数据延迟一段时间后进入调度器。
例如,可以指示网络节点影响调度器行为来增大TCP层的RTT,例如通过不调度TCP子流的空口下行或上行数据,或者是降低TCP子流的空口下行或上行调度优先级到某一程度,或者将调度器感知TCP子流的下行或上行数据调度需求的时间点延迟一定数值。
作为本发明的另一个实施例,所述处理单元301可以具体用于,根据运营商管控策略、通信链路的链路状况、无线资源状况中的至少一个条件选择TCP子流。
可选地,所述处理单元301用于根据运营商管控策略选择所述至少一条TCP子流。
其中,所述运营商管控策略包括系统负载平衡,链路资源利用效率以及计费策略等体现运营商对整个网络的管控倾向的项目。以LTE和Wi-Fi数据并发的场景举例说明:处于LTE网络边缘的UE的通信链路质量不好,运营商可能倾向于在频谱效率较高的Wi-Fi链路上传输更多的数据,但通信链路质量及频谱效率与链路的RTT或丢包率没有直接的对应关系,因此仅凭LTE链路和Wi-Fi链路上客观存在的RTT和丢包率作为数据分流调度的依据,不能保证数据准确分流到Wi-Fi链路上;再例如,考虑到分类计费的原因,运营商可能希望UE尽可能在LTE链路上传输更多的数据,如上例所述,以客观的RTT和丢包率作为分流依据,不能保证实现运营商的管控目的。因此,通过改变LTE链路和Wi-Fi链路的RTT和/或丢包率并达到一定的值,可以影响MPTCP拥塞控制算法输出,将数据迁移到相应链路上,满足运营商的管控需求。
上述运营商策略的可以直接在数据传输控制节点上进行配置,或者通过其他网元下发,例如由核心网中的控制设备制定并下发,本发明实施例对此不做特别限定。
可选地,处理单元301还可以用于根据所述多条TCP子流对应的网络节点的无线资源状况确定需要进行数据传输控制的网络节点,选择所述网络节点对应的正在进行数据传输的至少一条TCP子流。
可选地,处理单元301还可以用于判断所述多条TCP子流所在的通信链路的链路状况是否满足预设条件,在不满足所述预设条件的TCP子流中,选择正在进行数据传输的至少一条TCP子流。
可选地,数据传输控制节点还可以包括接收单元303,用于接收所述网络节点上报的测量报告,所述测量报告用于指示所述多条TCP子流的通信链路的链路状况和/或所述多条TCP子流对应的网络节点的无线资源状况;所述处理单元301具体用于根据所述测量报告,选择所述至少一条TCP子流。
具体地,所述无线资源状况可以根据网络节点上报的面向无线接入点的测量报告分析得到,测量报告中可以包括该无线接入点的资源状态。所述通信链路的链路状况可以根据网络节点上报的面向接入用户的测量报告分析得到,测量报告中可以包括接入用户的空口链路信息。
其中,接入用户是指通过接入网成功接入通信网络的UE在接入网中对应的逻辑对象,作为MPTCP连接的一端的UE接入通信网络并进行实际通信时,可以将该UE视为接入用户,特别地,接入不同通信网络并在不同通信网络均存在TCP子流的同一个UE被认为是在相应的通信网络下对应不同的接入用户,在相应的通信网络中有各自的用户标识。例如,UE在3GPP网络中存在无线链路,则UE在3GPP网络中对应一个接入用户,可以采用IMSI或GUTI或GCI+小区内用户标识等方法来标识此接入用户;UE在WLAN网络中存在无线链路,则UE在WLAN网络中对应一个接入用户,可以采用MAC地址或AP ID+IP地址或AC ID+IP地址或SSID+IP地址等方法来标识此接入用户。
可以了解,上述三种条件可以任意组合,或者单独作为选择TCP子流的依据。同时,选择何条TCP子流进行分流处理并不限定在上述三种条件,可以根据系统运行的需求选择合适的参考量作为制定依据,本发明实施例对此不做特别限定。
可选地,作为本发明的另一个实施例,该数据传输控制节点还可以包括信息管理单元304,可以用于根据MPTCP连接消息,将属于同一个MPTCP连接的多条TCP子流与该MPTCP连接相关联,所述MPTCP连接消息用于指示所述MPTCP连接的状态。
所述MPTCP连接消息可以包括,指示MPTCP初始连接建立过程完成的MPTCP初始连接建立通知消息;以及指示在MPTCP初始连接建立过程完成后新建属于该MPTCP连接的TCP子流的新建TCP子流通知消息。
可选地,还可以包括增加可用地址的地址增加通知消息;还可以包括,指示删除当前使用的某一条或多条TCP子流的删除TCP子流通知消息;还可以包括,指示改变TCP子流的使用优先级的TCP子流优先级更新通知消息等,其中,改变TCP子流使用优先级是指改变某一条或多条TCP子流的备份状态。
接收单元303还可以用于,接收网络节点上报的MPTCP连接消息,所述MPTCP连接消息由所述网络节点解析接入用户的携带MPTCP信令的TCP数据包获得。
不同类型的MPTCP连接消息携带了与对应的MPTCP连接状态相关的信息。
例如,所述MPTCP初始连接建立通知消息的携带内容可以包括但不限于以下信息:
当前TCP子流所在的无线接入类型,例如是3GPP网络或WLAN网络;当前TCP子流所在的无线接入点的标识,例如对于无线接入类型是3GPP网络,可以用全球小区标识(GCI,Global Cell Identity)表示,对于无线接入类型是WLAN网络,可以用AP ID或AC ID表示;当前TCP子流所属的接入用户的全球唯一标识,例如,对于3GPP网络中的接入用户来说,可以采用IMSI或GUTI或GCI+小区内用户标识等方法来标识;对于WLAN网络中的接入用户来说,可以采用MAC地址或AP ID+IP地址或AC ID+IP地址或SSID+IP地址等方法来标识;当前TCP子流的地址信息,此信息的表现形式可以是当前TCP子流的两端地址,即从接入用户的TCP数据包的包头中获取到的IP地址与端口号(Port);当前TCP子流的两端的Key或由Key计算得到的Token。
所述新建TCP子流通知消息的携带内容可以包括但不限于以下信息:
当前TCP子流所在的无线接入的类型;当前TCP子流所在的无线接入点的标识;当前TCP子流所属的接入用户的全球唯一标识;当前TCP子流的地址信息,此信息的表现形式可以是当前TCP子流的两端地址;当前TCP子流的两端的Address_ID;TCP子流新建过程的响应端的Token,即TCP SYN包中MP_JOIN选项携带的Token;当前TCP子流的哪一端发起子流新建过程,例如,Server与UE建立了MPTCP连接,网络节点如果识别出是Server发送的携带MP_JOIN选项的TCP SYN包,则指示是Server发起子流新建过程,反之则指示是UE发起TCP子流新建过程;当前TCP子流的空口下行和空口上行的Backup标识,Backup标志位由携带MP_JOIN选项的MPTCP信令所指示,表示该MPTCP信令的发送端是否希望对端在向该MPTCP信令发送端发送数据时将该TCP子流用作备份。因此,当前TCP子流的空口上行的Backup标识指的是TCP子流新建过程中携带MP_JOIN选项的空口下行信令所指示的Backup标识;当前TCP子流的空口下行的Backup标识指的是TCP子流新建过程中携带MP_JOIN选项的空口上行信令所指示的Backup标识。以上述Server发起TCP子流新建过程为例,Server向UE发送的携带MP_JOIN选项的SYN包指示了Backup标识位为1,代表TCP子流的空口上行的Backup标识位为1,表明Server指示UE在后续向Server发送数据时,将该条新建TCP子流视为备份子流。类似地,在UE向Server反馈的SYN/ACK消息中也会携带Backup标识位,用以指示Server向UE发送数据时使用的TCP子流的备份状态。
所述地址增加通知消息的携带内容可以包括但不限于以下信息:从ADD_ADDR选项中解析出来的需要增加的地址信息,ADD_ADDR选项由当前TCP子流的一端发送,此地址信息的形式是ADDRESS_ID+可用地址,可以是ADDRESS_ID+IP地址及Port,或者是ADDRESS_ID+IP地址,哪种形式取决于ADD_ADDR选项中的内容格式是否携带Port;当前TCP子流的地址信息,此信息的表现形式可以是当前TCP子流的两端地址;当前TCP子流所属的MPTCP连接的哪一端需要增加可用地址,例如,Server与UE建立了MPTCP连接,网络节点识别出是Server发送的ADD_ADDR选项,则指示Server需要增加可用地址。
所述删除TCP子流通知消息按照网络节点判定MPTCP子流删除过程完成的方法不同可以携带不同的信息内容,包括:
通过获取并解析TCP RST包或TCP FIN包判定MPTCP子流删除过程完成,则删除TCP子流通知消息携带的内容可以包括但不限于以下信息,当前TCP子流,即承载TCP RST包或者是TCP FIN包的TCP子流的地址信息,此信息的表现形式可以是当前TCP子流的两端地址。
通过获取并解析TCP数据包的REMOVE_ADDR选项判定MPTCP子流删除过程完成,则删除TCP子流通知消息携带的内容可以包括但不限于以下信息,从REMOVE_ADDR选项中解析出来的需要删除的ADDRESS_ID集合;当前TCP子流,即承载REMOVE_ADDR选项的TCP子流的地址信息,此信息的表现形式可以是当前TCP子流的两端地址;当前TCP子流所属的MPTCP连接的哪一端需要删除地址,例如,Server与UE建立了MPTCP连接,如果网络节点识别出是Server发送的REMOVE_ADDR选项,则指示是Server需要删除可用地址。
所述TCP子流优先级更新通知消息按照网络节点根据接入用户的TCP数据包中的MP_PRIO选项判定MPTCP子流优先级更新过程完成情况,可以携带不同的信息内容,包括,
情况一:如果MP_PRIO选项如果不带ADDRESS_ID,则说明需要改变当前TCP子流,即承载MP_PRIO选项的子流的优先级,此时TCP子流优先级更新通知消息携带内容可以包括但不限于以下信息,当前TCP子流的地址信息;表明子流的优先级更新方向的信息,此信息的表现形式可以为指示当前TCP子流的某一端发送的MP_PRIO选项,也可以直接为指示需要更新的是空口下行或空口上行Backup标识;从MP_PRIO选项中解析出来的Backup标识位的取值。例如,如果是Server发送的MP_PRIO选项,则指示上行Backup标识需要更新,所述更新后的上行Backup标识用于表示Server指示UE在后续向Server发送数据时,是否将当前TCP子流视为备份子流;如果是UE发送的MP_PRIO选项,则指示下行Backup标识需要更新,所述更新后的下行Backup标识用于表示UE指示Server在后续向UE发送数据时,是否将当前TCP子流视为备份子流。
情况二:MP_PRIO选项如果携带了ADDRESS_ID,则是说明优先级更新应用于此MPTCP连接上所有使用了ADDRESS_ID所对应地址的TCP子流,此时TCP子流优先级更新通知消息携带内容可以包括但不限于以下信息:当前TCP子流,即承载MP_PRIO选项的TCP子流的地址信息,此信息的表现形式可以是当前TCP子流的两端的地址;从MP_PRIO选项中解析出来的ADDRESS_ID;表明子流的优先级更新方向的信息,此信息的表现形式可以为指示是当前TCP子流的某一端发送的MP_PRIO选项,也可以直接为指示需要更新的是空口下行或空口上行Backup标识;从MP_PRIO选项中解析出来的Backup标识位的取值。具体过程与情况一类似,在此不做赘述。
应理解,承载TCP子流的空口链路的类型可以相同,也可以不相同,假设某个MPTCP连接包含两条TCP子流,则这两条TCP子流可以都建立在LTE链路上,或者一条TCP子流建立在LTE链路上,另一条TCP子流建立在Wi-Fi链路上。本发明实施例对同一MPTCP连接包含的TCP子流的数量及链路类型不做特别限定,可以根据网络实际运行需求确定。
可选地,接收单元303可以接收多个不同类型的网络节点上报的属于同一个MPTCP连接的多个不同TCP子流的MPTCP消息。例如同时接收BTS、NodeB与AP上报的经过该网络节点的至少一条TCP子流的MPTCP消息。可选地,网络节点可以是基站设备,则管理不同网络节点的基站控制设备与所述数据传输控制节点之间可以建立通信链路,用于传输测量信息和控制信息。例如,假设数据传输控制节点集成在RNC中,则NodeB可以直接上报经NodeB解析的MPTCP连接消息给RNC,而BTS或AP则可以将各自获取的MPTCP连接消息上报给对应的BSC及AC,由BSC及AC根据与上述RNC之间的链接关系,将接收到的MPTCP连接消息转发给上述RNC,由RNC完成对该MPTCP连接的管理。可选地,也可以直接在各网络节点与数据传输控制节点之间建立通信链路,则各网络节点可以直接向数据传输控制节点上报相关消息,无需通过相关控制设备转发。此外,如果网络节点与数据传输控制节点集成在一个网络设备中,例如集成在e-NodeB中,与上述场景类似,只需在与e-NodeB对应层级的其他网络设备之间建立通信链路以进行信息交互,在此不再赘述。
图4是MPTCP初始连接建立过程与TCP子流新建过程的信令流程图。其中,MPTCP初始连接建立过程包括建立属于该MPTCP连接的第一条TCP子流,经过三次握手过程建立MPTCP连接,与建立普通TCP连接的区别在于,TCP SYN包、SYN/ACK包、ACK包会携带MP-CAPABLE选项,且选项中会携带64bit键值(Key)。
在MPTCP初始连接建立过程完成后,MPTCP连接的任意一端可以采用一对当前没有使用的地址来新建一个TCP子流。如图4所示,HostA和HostB之间新建了一条A2<->B1的TCP子流,A2是HostA的可用地址,B1是HostB的可用地址。新建TCP子流过程会携带MP_JOIN选项完成图4中后4步的信令交互过程,其中TCP SYN包中携带的MP_JOIN选项的包含32位(bit)的Token、32bit随机数、ADDRESS_ID和Backup标识。其中,Token-B是TCP子流新建过程的发起端用响应端的64bit键值通过一定的加密算法,例如哈希算法生成的32bit值,TCP子流新建过程的发起端通过在TCP SYN包中携带此参数来标识该TCP子流期望加入哪个MPTCP连接。TCP子流新建过程的发起端在TCP SYN包中携带的32bit随机数R-A和TCP子流新建过程的响应端在SYN/ACK包中携带的32bit随机数R-B用于进一步保证子流建立过程的安全性。ADDRESS_ID只具有本地意义,且具有唯一性,TCP子流新建过程的发起端在TCP SYN包中携带的ADDRESS_ID用于标识发起端在当前新建TCP子流中用到的IP地址,TCP子流新建过程的响应端在SYN/ACK包中携带的ADDRESS_ID用于标识响应端在当前新建子流中用到的IP地址。Backup标志位用于代表此信息的发送端是否希望对端将该TCP子流用作备份,通过置1,发送端请求对端仅在没有可用的即Backup标志位为0的子流时才在此Backup标志位为1的备份子流上发数据,例如图4中TCP子流的发起端HostA在SYN包中携带的Backup标志位就是用于代表HostA是否希望HostB将该TCP子流用作备份,图中TCP子流的响应端HostB在SYN/ACK包中携带的Backup标志位就是用于代表HostB是否希望HostA将该TCP子流用作备份。
可选地,所述数据传输控制节点可以同时管理多个MPTCP连接,对所述多个MPTCP连接的通信两端的设备类型、各MPTCP连接包含的TCP子流所在的通信链路类型、UE接入的无线接入点的类型等项目都不做任何限定。
可选地,作为本发明的另一个实施例,所述信息管理单元304还可以包括存储子单元3011,用于存储并更新MPTCP连接信息表,所述MPTCP连接信息表中包括所述网络节点上报的MPTCP连接消息中携带的MPTCP连接信息。
具体地,信息管理单元304解析出接收到的各类MPTCP连接消息中携带的相关MPTCP连接信息,并整理成MPTCP连接信息表,所述MPTCP连接信息包括与当前MPTCP连接状态相关的接入用户信息、无线接入点信息等信息。
可选地,所述MPTCP连接信息表可以包括不同网络节点上报的关于同一个MPTCP连接的MPTCP连接信息;也可以包括不同网络节点上报的关于不同MPTCP连接的MPTCP连接信息。信息管理单元304可以以MPTCP连接为分类依据,对各条TCP子流进行管理。
可选地,信息管理单元304如果收到MPTCP初始连接建立通知消息(以下简称“通知消息1”),可以通过以下操作来维护MPTCP连接信息表,包括:
如果通知消息1中携带的是MPTCP初始连接建立过程所建立的TCP子流(本段中称为“当前TCP子流”)的两端的键值,则数据传输控制节点可以将上述键值计算成Token后保存在与当前TCP子流相关的MPTCP连接信息(本段中称为“当前MPTCP连接信息”)中;如果通知消息1中携带的是当前TCP子流的两端的Token,则直接保存在当前MPTCP连接信息中;将通知消息1中携带的当前TCP子流所在的无线接入类型、无线接入点的标识、所属无线接入用户的全球唯一标识等信息保存在当前MPTCP连接信息中;将通知消息1中携带的当前TCP子流的地址信息保存在当前MPTCP连接信息中,并且将当前MPTCP连接的当前TCP子流的空口下行和上行的Backup标识位置为0,并且将当前TCP子流的两端地址对应的ADDRESS_ID置为0。
可选地,信息管理单元304如果收到新建TCP子流通知消息(以下简称“通知消息2”),可以通过以下操作来维护MPTCP连接信息表,包括:
将TCP子流新建过程建立的新建TCP子流关联到对应的MPTCP连接上;将通知消息2中携带的新建TCP子流所在的无线接入类型、无线接入点的标识、所属无线接入用户的全球唯一标识保存在新建TCP子流所属的MPTCP连接对应的MPTCP连接信息中;将通知消息2中携带的新建TCP子流的地址信息、新建TCP子流的空口下行及空口上行的Backup标识保存在上述对应的MPTCP连接信息中,并且将通知消息2中携带的新建TCP子流的两端地址和对应的ADDRESS_ID保存在所属的MPTCP连接的通信两端的可用地址信息中。
可选地,信息管理单元304如果收到地址增加通知消息,可以通过以下操作来维护MPTCP连接信息表,包括:根据当前TCP子流的地址信息找到当前TCP子流所属的MPTCP连接,在所属的MPTCP连接中保存新增的可用地址信息。
可选地,信息管理单元304如果收到删除TCP子流通知消息(以下简称“通知消息3”),可以通过以下操作来维护MPTCP连接信息表,包括:
如果通知消息3中携带的是当前TCP子流的地址信息,即发送REMOVE_ADDR选项的TCP子流,且未携带ADDRRESS_ID,则根据当前TCP子流的地址信息找到所属的MPTCP连接,在所属的MPTCP连接中删除该TCP子流的相关信息;如果消息中携带了需要删除的ADDRESS_ID选项集合、当前TCP子流的地址信息、当前TCP子流的哪一端需要删除地址等信息,则根据上述地址信息去找到当前TCP子流所属的MPTCP连接;根据当前TCP子流所属的MPTCP连接的哪一端需要删除地址以及需要删除的ADDRESS_ID集合,删除当前TCP子流所属的MPTCP连接的两端的可用地址,并且删除当前TCP子流所属的MPTCP连接中使用了上述ADDRESS_ID对应地址的所有TCP子流的相关信息。
可选地,信息管理单元304如果收到TCP子流优先级更新通知消息(以下简称“通知消息4”),可以通过以下操作来维护MPTCP连接信息表,包括:
如果通知消息4中携带的是当前TCP子流的地址信息、表明子流优先级更新方向的信息、Backup标识,则根据当前TCP子流的地址信息去找到当前TCP子流所属的MPTCP连接;刷新该MPTCP连接中待更新子流的空口下行或者上行的Backup标识。
上述刷新所属的MPTCP连接中待更新子流的下行或者上行的Backup标识包括:根据通知消息4中的子流优先级更新方向、ADDRESS_ID、Backup标识去确定所属的MPTCP连接中哪些TCP子流需要更新优先级以及如何更新。例如,如果子流优先级更新方向指示表现为空口下行数据发送端例如Server发送的MP_PRIO选项,则搜索当前TCP子流所属的MPTCP连接包含的所有TCP子流的信息,如果搜索到某条TCP子流的某一端的地址与ADDRESS_ID相匹配,则用通知消息4中的Backup标识刷新此TCP子流的空口上行Backup标识。
可选地,除了基于MP_PRIO选项可以识别TCP子流是否是备份子流之外,数据传输节点还可以通过监控数据流进行备份子流识别,如果网络节点发现某个MPTCP用户通过该网络节点的某个TCP子流在空口下行或上行一段时间内没有数据,则可以认为这条TCP子流在空口下行或上行方向的Backup标识是1。该步骤可以由信息管理单元304执行。
所述信息管理单元304还可以包括TCP子流关联子单元3012,可以用于在接收到网络节点上报新建TCP子流通知消息后,将属于某一MPTCP连接的新建TCP子流关联到该MPTCP连接。
具体地,包括,解析所述新建TCP子流通知消息,判断所述TCP子流新建过程的发起端为所述MPTCP连接的通信两端中的哪一端,获得当前TCP子流的地址以及子流新建过程的两端Token,进而判断TCP子流新建过程的响应端是上述MPTCP连接的通信两端中另一端,并获得响应端地址。搜索MPTCP连接信息表,如果搜索到所述TCP子流新建过程的响应端Token与某MPTCP连接的一端的Token相等,且所述TCP子流新建过程的响应端地址与该MPTCP连接的一端的可用地址集中的一个地址相等,则所述新建TCP子流属于所述MPTCP连接。其中,所述可用地址集中包括至少一个可用地址,用于建立TCP子流。
可选地,如果在搜索MPTCP连接信息表前已经确定TCP子流新建过程的响应端是MPTCP连接的通信两端的其中一端,并获取该端地址,则在进行MPTCP连接信息搜索时,可以只搜索该响应端的相关MPTCP连接信息,无需再对对端进行搜索,节约系统计算资源,提升搜索效率。
可选地,在MPTCP连接的通信两端为一方多址、一方单址或者双方多址的场景中,在MPTCP初始建立过程完成后,多址端可以向对端发起地址增加通知过程,告知对端其可用地址。网络节点上报给数据传输控制节点的地址增加通知消息中包括MPTCP连接的哪一端需要增加可用地址、需要增加的地址信息和其对应的ADDRESS_ID。可选地,MPTCP连接的单址端可以根据获悉的对端可用地址来发起TCP子流新建过程。
TCP子流关联子单元3012可以对由数据传输控制节点管理的每条新建TCP子流进行上述处理过程,则可以将属于同一MPTCP连接的多条TCP子流关联到该MPTCP连接上,包括将上述新建TCP子流关联到所属的MPTCP连接上。
可选地,在MPTCP连接的一端的IP地址冲突的场景下,此处的地址冲突指的是不同子网下的通信节点的IP地址相同,例如,Host A和Host A’各自分别属于不同的WLAN A及WLAN A’网络,WLAN A及WLAN A’网络分别给Host A及Host A’分配私有IP地址。这样Host A和Host A’的IP地址可能相同,这种情况即称为地址冲突。由于数据传输控制节点可能会同时连接到WLAN A和WLAN A’网络,这样,捕获到的WLAN A或WLAN A’网络中的Host A和HostA’的地址可能相同。这种情况下,为了能在数据传输控制节点中区分不同的MPTCP连接,信息管理单元304可以用于,接收网络节点上报的携带网络标识的MPTCP连接消息,网络标识可以包括接入点名称(APN,Access Point Name)、无线接入点标识等;在针对MPTCP连接中根据地址所做的检索操作中,如果对同样一个IP地址检索到多条MPTCP信息记录,则可以用上述网络标识进行匹配检索。
对MPTCP连接上传输的数据进行管控的前提是将属于同一个MPTCP连接的TCP子流与MPTCP连接相关联,即需要明确当前UE进行数据通信可使用的TCP子流是属于哪个MPTCP连接以及从哪个网络节点接入等信息,并确认TCP子流的状态,才能对属于同一个MPTCP连接的不同TCP子流进行拥塞控制,包括在不同TCP子流之间进行数据分流,得到预期的分流效果。
本发明实施例提供了一种网络节点,用于控制多路径传输控制协议MPTCP连接的通信两端之间的数据传输,所述MPTCP连接包含多条传输控制协议TCP子流,所述网络节点位于所述通信两端的通信链路中,结构如图5所示,包括:
接收单元501,用于接收数据传输控制节点在所述多条TCP子流中选择得到的至少一条TCP子流的信息。
接收单元501,还用于接收所述数据传输控制节点指示的调整策略,所述调整策略为针对MPTCP拥塞控制算法的输入项的调整策略。
可选地,所述MPTCP拥塞控制算法的输入项包括,所述至少一条TCP子流的数据往返时延RTT和/或丢包率。
策略执行单元502,用于根据上述调整策略,调整所述至少一条TCP子流上的数据传输过程,触发所述通信两端执行所述MPTCP拥塞控制算法,所述MPTCP拥塞控制算法的输出结果包括确定在所述至少一条TCP子流上传输的数据部分或全部迁移到属于所述MPTCP连接的其他TCP子流上。
可选地,该网络节点还可以包括发送单元503,用于将调整后的输入项发送给所述通信两端,所述调整后的输入项由所述策略执行单元调整所述至少一条TCP子流上的数据传输过程后获得,用于触发所述通信两端执行所述MPTCP拥塞控制算法。
所述MPTCP拥塞控制算法的输入项的调整策略包括,降低所述至少一条TCP子流的数据传输速率以及所述数据传输速率降低的幅度。
可选地,策略执行单元502用于调整所述至少一条TCP子流上的数据传输过程,包括,延迟发送所述至少一条TCP子流上的数据包以增大所述RTT,延迟时间与所述数据传输速率降低的幅度对应。
可选地,策略执行单元502还可以用于丢弃所述至少一条TCP子流上的业务数据包以增大所述丢包率,丢弃所述业务数据包的数量与所述数据传输速率降低的幅度对应。
在另一个实施例中,也可以由通信两端自行检测RTT及丢包率等算法输入项,本发明实施例对此不做特别限定。
可选地,发送单元503还可以用于,向所述数据传输控制节点上报测量报告,所述测量报告用于指示所述多条TCP子流的通信链路的链路状况和/或所述多条TCP子流对应的网络节点的无线资源状况,所述测量报告用于所述数据传输控制节点选择所述至少一条TCP子流。
可选地,所述测量报告可以是面向UE接入的网络节点的测量报告,上报内容可以但不限于以下信息:无线接入类型、无线接入点标识、无线接入点的资源状态,例如系统负载信息等。
可选地,所述测量报告可以是面向接入用户的测量报告,上报内容可以但不限于以下信息:无线接入类型、无线接入点标识、接入用户的全球唯一标识、UE的空口链路信息,例如链路质量、用户分布情况例如是小区中心用户还是边缘用户等。
可选地,可以仅在该网络节点处有与某MPTCP连接相关的TCP子流时才上报面向该网络节点的测量报告,或者仅在接入用户有与某MPTCP连接相关的TCP子流时才上报面向该接入用户的测量报告,可以减少测量报告上报的频度。
可选地,在UE稳定存在某一个网络节点的场景下,测量报告的上报方式可以是:周期上报或者是事件触发上报,其中,事件触发上报包括但不限于以下几种:
测量量发生变化时上报;或者,测量量满足一定条件才上报例如无线接入点的负载超过一定门限才上报;或者,收到数据传输控制节点发送的测量上报请求消息后按照该请求消息上报测量结果。
可选地,如果UE发生了网络节点切换,测量报告的生成及上报过程可以包括:
源无线接入点在发现用户成功切换后,上报接入切换通知消息给数据传输控制节点,携带内容可以包括但不限于以下信息:切换的接入用户的全球唯一用户标识、无线接入点类型、源无线接入点标识,目标无线接入点标识。
目标无线接入点在发现接入用户成功切换后,将面向此接入用户的测量报告按照上述相关实施例中所述的方式上报给数据传输控制节点。
数据传输控制节点的信息管理单元304收到接入切换通知消息后,将MPTCP连接信息表中此源无线接入点下此接入用户的所有TCP子流的无线接入点信息由源无线接入点信息改为目标无线接入点信息。
可选地,作为本发明的另一个实施例,发送单元503还可以用于,向所述数据传输控制节点上报MPTCP连接消息,所述MPTCP连接消息用于指示所述MPTCP连接的状态,所述MPTCP连接消息中携带MPTCP连接信息,所述MPTCP连接信息用于所述数据传输控制节点将所述多条TCP子流与所述MPTCP连接相关联,使得所述MPTCP连接包含所述多条TCP子流。
可选地,发送单元503中还可以包括用户识别子单元5011,用于识别接入用户的MPTCP连接状态,生成与MPTCP连接状态对应的MPTCP连接消息。
具体地,用户识别子单元5011可以具体用于,解析接入用户的携带MPTCP信令的TCP数据包,通过数据包中的特殊字段,识别出哪些接入用户是MPTCP用户,获得接入用户的MPTCP连接消息。具体地,可以获得接入用户的MPTCP连接的相关信令,解析该信令并组成相应的MPTCP连接消息。所述MPTCP连接消息用于指示所述MPTCP连接的状态。
可选地,用户识别子单元5011解析当前接入用户的携带MPTCP信令的TCP数据包,如果发现该接入用户完成了MPTCP初始连接建立过程,则由发送单元503上报MPTCP初始连接建立通知消息给数据传输控制节点。
网络节点判定MPTCP初始连接建立过程完成的方法可以是:由网络节点获取并解析携带MP_CAPABLE选项的确认消息(ACK,Acknowledgement);或者由网络节点获取并解析携带MP_CAPABLE选项的三步握手过程,即先后依次承载到携带MP_CAPABLE选项的TCP SYN包、与TCP SYN包对应的携带MP_CAPABLE选项的SYN/ACK、与SYN/ACK对应的携带MP_CAPABLE选项的ACK。该判定流程可以由用户识别子单元5011执行。
可选地,用户识别子单元5011解析当前接入用户的携带MPTCP信令的TCP数据包,如果发现接入用户完成了MPTCP连接的地址增加通告过程,则发送单元503上报所述地址增加通知消息给数据传输控制节点。
网络节点判定MPTCP地址增加通告过程完成的方法可以是:获取接入用户的TCP数据包并解析出其中的ADD_ADDR选项。该判定流程可以由用户识别子单元5011执行。
可选地,用户识别子单元5011解析当前接入用户的携带MPTCP信令的TCP数据包,如果发现某用户完成了MPTCP子流新建过程,则发送单元503上报所述新建TCP子流通知消息给数据传输控制节点。
网络节点判定MPTCP子流新建过程完成的方法可以是依次获取并解析携带MP_JOIN选项的TCP SYN包、以及与之对应的ACK消息;也可以是获取并解析携带MP_JOIN选项的4步握手过程,即依次捕获到携带MP_JOIN选项的TCP SYN包、与TCP SYN包对应的携带MP_JOIN选项的SYN/ACK、与SYN/ACK对应的携带MP_JOIN选项的ACK、与携带MP_JOIN选项的ACK对应的ACK。该判定流程可以由用户识别子单元5011执行。
可选地,用户识别子单元5011解析当前接入用户的TCP数据包,如果发现某接入用户完成了MPTCP子流删除过程,则发送单元503上报删除TCP子流通知消息给数据传输控制节点。
网络节点判定MPTCP子流删除过程完成的方法可以是:获取并解析TCP RST包;也可以获取并解析TCP FIN包;也可以是获取并解析TCP数据包中REMOVE_ADDR选项。
可选地,用户识别子单元5011解析当前接入用户的携带MPTCP信令的TCP数据包,如果发现某接入用户完成了MPTCP子流优先级更新过程,则发送单元503上报TCP子流优先级更新通知消息给数据传输控制节点。
网络节点判定MPTCP子流优先级更新过程完成的方法可以是:获取并解析接入用户的TCP数据包中包含的MP_PRIO选项。
需要说明的是,以上各类与MPTCP连接相关的通知消息携带的具体内容可以参照图3所示实施例中相关描述,在此不再赘述。
采用本发明实施例提供的数据传输控制节点及网络节点,依据系统运行需求选择需要进行数据分流的TCP子流,通过改变MPTCP拥塞控制算法的输入项,使选择出的TCP子流上数据能够迁移到预期的属于同一MPTCP连接的其他TCP子流上,包括满足运营商的管控策略,反映承载TCP子流的数据传输链路的拥塞状况、以及无线资源状况等。通过在接入网侧增加对MPTCP数据传输的管控措施,使数据分流结果能够适应系统运行的预期需求,优化系统性能,提升MPTCP拥塞控制算法的实用性。同时不需要改变现有协议的拥塞控制算法,通过改变算法的输入间接影响算法输出,得到预期的数据分流结果,流程简单,易于实现。
图6是本发明另一实施例提供的数据传输控制节点的示意框图,所述数据传输控制节点用于控制MPTCP连接的通信两端之间的数据传输,所述MPTCP连接包含多条传输控制协议TCP子流,该数据传输控制节点包括存储器601、处理器602、收发器603。
存储器601存储使得处理器602执行以下操作的指令:
在所述多条TCP子流中选择需要进行数据传输控制的至少一条TCP子流;确定MPTCP拥塞控制算法的输入项的调整策略;指示所述至少一条TCP子流对应的网络节点根据所述调整策略,调整所述至少一条TCP子流上的数据传输过程,触发所述通信两端执行所述MPTCP拥塞控制算法,所述MPTCP拥塞控制算法的输出结果包括确定在所述至少一条TCP子流上传输的数据部分或全部迁移到属于所述MPTCP连接的其他TCP子流上。
收发器603可以用于,将所述调整策略发送给所述至少一条TCP子流对应的网络节点。
上述调整策略的发送过程包括,遍历空口下行或上行管控子流集,向管控子流集中的每个TCP子流所在的网络节点下发调整策略。
可选地,可以有多种途径决定选择哪些TCP子流上的空口下行或上行的数据迁移到同属一个MPTCP连接的其他TCP子流上,本发明实施例对此不做特别限定。具体内容可以参照图3所示实施例的相关描述,在此不做赘述。
可选地,存储器601还可以存储使得处理器602执行以下操作的指令:确定降低所述至少一条TCP子流的数据传输速率以及所述数据传输速率降低的幅度。
具体地,当某条通信两端正在使用TCP子流的速度降低到一定程度后,该TCP子流将不满足数据传输的性能要求,通信两端可以自行检测或由网络节点处获取该TCP子流的速率信息,并启动MPTCP拥塞控制算法,切换TCP子流。具体内容可以参照图3所示实施例的相关描述,在此不做赘述。
可选地,存储器601还可以存储使得处理器602执行以下操作的指令:指示所述网络节点延迟发送所述至少一条TCP子流上的数据包以增大RTT,延迟时间与所述数据传输速率降低的幅度对应。
可选地,存储器601还可以存储使得处理器602执行以下操作的指令:调整策略可以包括指示所述网络节点丢弃所述至少一条TCP子流上的业务数据包以增大丢包率,丢弃所述业务数据包的数量与所述数据传输速率降低的幅度对应。
上述改变RTT和丢包率的处理过程可以同时进行,即综合运用RTT和丢包率改变TCP子流的数据传输速率;或者单独进行,本发明实施例对此不做特别限定。
通过改变TCP层的往返时延和/或丢包率,调整后的RTT和/或丢包率作为MPTCP拥塞算法的输入项,影响算法的输出结果,使得各条TCP子流上的数据能够完成满足预期需求的迁移过程。
改变丢包率或RTT的具体方法可以参照图3所示实施例中的相关描述,在此不做赘述。
可选地,存储器601还可以存储使得处理器602执行以下操作的指令:根据运营商管控策略、通信链路的链路状况、MPTCP连接下的各条TCP子流对应的网络节点的无线资源状况中的至少一个条件选择TCP子流。具体判断方式及过程可以参照图3所示实施例的相关描述,在此不做赘述。
可选地,收发器603开可以用于,接收网络节点上报的测量报告,获取各条TCP子流的通信链路的链路状况,和/或各条TCP子流对应的网络节点的无线资源状况,测量报告的具体内容可以参照图3所示实施例中的相关描述,在此不做赘述。
可选地,作为本发明的另一个实施例,
存储器601还可以存储使得处理器602执行以下操作的指令:根据MPTCP连接消息,将属于同一个MPTCP连接的多条TCP子流与该MPTCP连接相关联,所述MPTCP连接消息用于指示所述MPTCP连接的状态。
其中,所述MPTCP连接消息可以包括,指示MPTCP初始连接建立过程完成的MPTCP初始连接建立通知消息;以及指示在MPTCP初始连接建立过程完成后新建属于该MPTCP连接的TCP子流的新建TCP子流通知消息。
可选地,还可以包括增加可用地址的地址增加通知消息;还可以包括,指示删除当前使用的某一条或多条TCP子流的删除TCP子流通知消息;还可以包括,指示改变TCP子流的使用优先级的TCP子流优先级更新通知消息等,其中,改变TCP子流使用优先级是指改变某一条或多条TCP子流的备份状态。
可选地,还可以包括,指示删除当前使用的某条TCP子流的删除TCP子流通知消息、指示改变TCP子流使用优先级的TCP子流优先级更新通知消息等,其中,改变TCP子流使用优先级是指更改当前使用的TCP子流的备份状态。
可选地,数据传输控制节点可以接收多个不同类型的网络节点上报的属于同一个MPTCP连接的多个不同TCP子流的MPTCP信息。例如同时接收BTS、NodeB与AP上报的经过该网络节点的至少一条TCP子流的MPTCP信息。具体的上报方式可以参照图3所示实施例中的相关内容,在此不再赘述。
存储器601还可以存储使得处理器602执行以下操作的指令:
存储并更新MPTCP连接信息表,所述MPTCP连接信息表中包括所述网络节点上报的MPTCP连接消息中携带的MPTCP连接信息。
可选地,所述MPTCP连接信息表可以包括不同网络节点上报的关于同一个MPTCP连接的MPTCP连接消息;也可以包括不同网络节点上报的关于不同MPTCP连接的MPTCP连接消息,则可以以MPTCP连接为分类依据,对各条TCP子流进行管理。
可选地,当数据传输控制节点接收到包含不同内容的MPTCP连接消息时,可以对上述MPTCP连接表进行相应的维护,对应包含不同内容的MPTCP连接消息的具体维护过程可以参照图3所示实施例中的相关描述,在此不做赘述。
通过查找上述MPTCP连接表,匹配表中的信息,可以将各条TCP子流与MPTCP连接相关联,具体的关联过程可以参照图3所示实施例中的相关描述,在此不做赘述。
此外,该数据传输控制节点还可以包括天线604、以及总线系统605等。处理器602控制该装置的操作,处理器602还可以称为CPU(Central Processing Unit,中央处理单元)。存储器601可以包括只读存储器和随机存取存储器,并向处理器602提供指令和数据。存储器601的一部分还可以包括非易失性随机存取存储器(NVRAM)。具体的应用中,收发器603可以耦合到天线604。该装置的各个组件通过总线系统605耦合在一起,其中总线系统605除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统605。
图7是本发明实施例提供的一种网络节点的示意框图,包括存储器701、处理器702、收发器703。
收发器703,用于接收数据传输控制节点在所述多条TCP子流中选择得到的至少一条TCP子流的信息。以及,用于接收所述数据传输控制节点指示的调整策略,所述调整策略为针对MPTCP拥塞控制算法的输入项的调整策略。
可选地,所述MPTCP拥塞控制算法的输入项包括,所述至少一条TCP子流的数据往返时延RTT和/或丢包率。
存储器701还可以存储使得处理器702执行以下操作的指令:
根据数据传输控制节点发送的上述调整策略,调整所述至少一条TCP子流上的数据传输过程,触发所述通信两端执行所述MPTCP拥塞控制算法,所述MPTCP拥塞控制算法的输出结果包括确定在所述至少一条TCP子流上传输的数据部分或全部迁移到属于所述MPTCP连接的其他TCP子流上。
可选地,存储器701还可以存储使得处理器702执行以下操作的指令:降低所述至少一条TCP子流的数据传输速率以及所述数据传输速率降低的幅度。
可选地,存储器701还可以存储使得处理器702执行以下操作的指令:丢弃所述至少一条TCP子流上的业务数据包以增大所述丢包率,丢弃所述业务数据包的数量与所述数据传输速率降低的幅度对应。
通过改变RTT和/或丢包率,可以降低特定TCP子流的数据传输速率,触发通信两端改变数据传输路径,通过其他TCP子流传输数据,保证数据传输质量。
可选地,收发器703还可以用于,将调整后的输入项发送给所述通信两端,所述调整后的输入项由处理器702调整所述至少一条TCP子流上的数据传输过程后获得,用于触发所述通信两端执行所述MPTCP拥塞控制算法。
在另一个实施例中,也可以由通信两端自行检测RTT及丢包率等算法输入项,本发明实施例对此不做特别限定。
存储器701还可以存储使得处理器702执行以下操作的指令:
解析所述接入用户的TCP数据包,获得所述接入用户的MPTCP连接状态,所述MPTCP连接消息用于指示所述MPTCP连接的状态。
其中,MPTCP连接消息包含的具体内容以及MPTCP连接状态的具体判断方法可以参照图6所示实施例中的相关描述,在此不再赘述。
存储器701还可以存储使得处理器702执行以下操作的指令:
向所述数据传输控制节点上报测量报告,所述测量报告用于指示所述多条TCP子流的通信链路的链路状况和/或所述多条TCP子流对应的网络节点的无线资源状况,所述测量报告用于所述数据传输控制节点选择所述至少一条TCP子流。
具体的测量报告内容以及上报方式可以参照图5所示实施例中的相关描述,在此不做赘述。
可选地,作为本发明的另一实施例,收发器703还可以用于,向所述数据传输控制节点上报MPTCP连接消息,所述MPTCP连接消息用于指示所述MPTCP连接的状态,所述MPTCP连接消息中携带MPTCP连接信息,所述MPTCP连接信息用于所述数据传输控制节点将所述多条TCP子流与所述MPTCP连接相关联,使得所述MPTCP连接包含所述多条TCP子流。
可选地,处理器702还可以用于识别接入用户的MPTCP连接状态,生成与MPTCP连接状态对应的MPTCP连接消息。
具体的识别方式、MPTCP连接消息的类型、内容及上报方式可以参照本发明其他实施例的相关描述,在此不做赘述。
网络节点还可以包括天线704、以及总线系统705等,具体的连接关系可以参照图6所示实施例中相关描述,在此不再赘述。
采用本发明实施例提供的数据传输控制节点及网络节点,依据系统运行需求选择需要进行数据分流的TCP子流,通过改变MPTCP拥塞控制算法的输入项,使选择出的TCP子流上数据能够迁移到预期的属于同一MPTCP连接的其他TCP子流上,包括满足运营商的管控策略,反映承载TCP子流的数据传输链路的拥塞状况、以及无线资源状况等。通过在接入网侧增加对MPTCP数据传输的管控措施,使数据分流结果能够适应系统运行的预期需求,优化系统性能,提升MPTCP拥塞控制算法的实用性。同时不需要改变现有协议的拥塞控制算法,通过改变算法的输入间接影响算法输出,得到预期的数据分流结果,流程简单,易于实现。
图8是本发明实施例提供的一种通信系统示意图,所述通信系统包括,数据传输控制节点801,网络节点802,两者可以通过有线或无线链路进行直接或间接通信。
数据传输控制节点801,用于在所述多条TCP子流中选择需要进行数据传输控制的至少一条TCP子流;确定MPTCP拥塞控制算法的输入项的调整策略;将所述调整策略发送给所述至少一条TCP子流对应的网络节点,所述调整策略用于指示所述网络节点调整所述至少一条TCP子流上的数据传输过程,触发所述通信两端执行所述MPTCP拥塞控制算法,所述MPTCP拥塞控制算法的输出结果包括确定在所述至少一条TCP子流上传输的数据部分或全部迁移到属于所述MPTCP连接的其他TCP子流上;
网络节点802,位于所述通信两端的通信链路中,用于接收数据传输控制节点在所述多条TCP子流中选择得到的至少一条TCP子流的信息;接收所述数据传输控制节点指示的调整策略,所述调整策略为针对MPTCP拥塞控制算法的输入项的调整策略。
该通信系统中的数据传输控制节点801可以是图3或图6所示实施例中的数据传输控制节点,网络节点802可以是图5或图7所示实施例中的网络节点,在该通信系统中,可以执行图9-图11所示实施例中的数据传输控制方法及TCP子流关联方法,详细内容可以参照本发明其他实施例的相关描述,在此不做赘述。
采用本发明实施例提供的通信系统,依据系统运行需求选择需要进行数据分流的TCP子流,通过改变MPTCP拥塞控制算法的输入项,使选择出的TCP子流上数据能够迁移到预期的属于同一MPTCP连接的其他TCP子流上。通过在接入网侧增加对MPTCP数据传输的管控措施,使TCP子流上数据分流结果能够适应系统运行的预期需求,优化系统性能,提升MPTCP拥塞控制算法的实用性。
本发明实施例提供了一种数据传输管理方法,可以由图3或图6所示实施例中的数据传输控制节点执行,用于控制多路径传输控制协议MPTCP连接的通信两端之间的数据传输,所述MPTCP连接包含多条传输控制协议TCP子流。图9是该方法的流程示意图,包括步骤S901-S903:
S901,数据传输控制节点在所述多条TCP子流中选择需要进行数据传输控制的至少一条TCP子流。
具体地,数据传输控制节点可以决定选择哪些TCP子流上的空口下行或上行的数据迁移到同属一个MPTCP连接的其他TCP子流上,并将需要进行数据迁移的TCP子流按数据传输方向归入空口下行或上行管控子流集。
S902,数据传输控制节点确定MPTCP拥塞控制算法的输入项的调整策略。
可选地,S902中所述数据传输控制节点确定MPTCP拥塞控制算法的输入项的调整策略包括,所述数据传输控制节点确定降低所述至少一条TCP子流的数据传输速率以及所述数据传输速率降低的幅度。
可选地,可以改变作为MPTCP拥塞控制算法输入项的TCP层的往返时延(RTT,RoundTrip Time)和/或丢包率,调整后的RTT和/或丢包率作为算法的输入,影响算法的输出结果,使得各条TCP子流上的数据能够完成满足预期需求的迁移过程。
可选地,调整策略可以包括指示所述网络节点延迟发送所述至少一条TCP子流上的数据包以增大RTT,延迟时间与所述数据传输速率降低的幅度对应。
可选地,调整策略可以包括指示所述网络节点丢弃所述至少一条TCP子流上的业务数据包以增大丢包率,丢弃所述业务数据包的数量与所述数据传输速率降低的幅度对应。
上述改变RTT和丢包率的处理过程可以同时进行,即综合运用RTT和丢包率改变TCP子流的数据传输速率;或者单独进行,本发明实施例对此不做特别限定。
改变丢包率或RTT的具体方法可以参照图3所示实施例的相关内容,在此不做赘述。
S903,数据传输控制节点指示所述至少一条TCP子流对应的网络节点根据所述调整策略,调整所述至少一条TCP子流上的数据传输过程,触发所述通信两端执行所述MPTCP拥塞控制算法,所述MPTCP拥塞控制算法的输出结果包括确定在所述至少一条TCP子流上传输的数据部分或全部迁移到属于所述MPTCP连接的其他TCP子流上。
可选地,上述调整策略的下发过程包括,遍历空口下行或上行管控子流集,向管控子流集中的每个TCP子流所在的网络节点下发调整策略。可以有多种途径决定选择哪些TCP子流上的空口下行或上行的数据迁移到同属一个MPTCP连接的其他TCP子流上,本发明实施例对此不做特别限定。具体的数据迁移方法可以参照图3所示实施例的相关描述,在此不做赘述。
作为本发明的另一个实施例,S901中,数据传输控制节点在所述多条TCP子流中选择需要进行数据传输控制的至少一条TCP子流包括,根据运营商管控策略、通信链路的链路状况、MPTCP连接下的各条TCP子流对应的网络节点的无线资源状况中的至少一个条件选择TCP子流进行分流。其中,通信链路的链路状况和/或无线资源状况可以由网络节点上报的测量报告中的相关信息获取。具体内容可以参照图3所示实施例的相关描述,在此不做赘述。
可选地,作为本发明的另一个实施例,所述数据传输控制节点根据MPTCP连接消息,将所述多条TCP子流与所述MPTCP连接相关联,使得所述MPTCP连接包含所述多条TCP子流,所述MPTCP连接消息用于指示所述MPTCP连接的状态。
其中,所述MPTCP连接消息可以包括,指示MPTCP初始连接建立过程完成的MPTCP初始连接建立通知消息;以及指示在MPTCP初始连接建立过程完成后新建属于该MPTCP连接的TCP子流的新建TCP子流通知消息。
可选地,还可以包括指示在MPTCP初始连接建立过程完成后,为新建TCP子流的多址响应端增加可用地址的地址增加通知消息。
可选地,还可以包括,指示删除当前使用的某条TCP子流的删除TCP子流通知消息、指示改变TCP子流使用优先级的TCP子流优先级更新通知消息等,其中,改变TCP子流使用优先级是指更改当前使用的TCP子流的备份(Backup)状态。
具体地,为数据传输控制节点管理的每条TCP子流关联对应的MPTCP连接的过程如图10所示,包括步骤S1001-1004:
S1001,解析网络节点上报的MPTCP初始连接建立通知消息,获得当前MPTCP连接的通信两端的地址及Token。
S1002,解析网络节点上报的新建TCP子流通知消息,判断所述TCP子流新建过程的发起端为所述MPTCP连接的通信两端中的哪一端,获得当前TCP子流的地址以及子流新建过程的两端Token。
S1003,根据TCP子流新建过程的发起端的Token及当前TCP子流的地址,确定TCP子流新建过程的响应端是上述MPTCP连接的通信两端中的另一端,并获得响应端地址。
S1004,搜索MPTCP连接信息表中与该MPTCP连接对应的信息,确定新建TCP子流所属的MPTCP连接。
具体地,如果搜索到所述TCP子流新建过程的响应端Token与某MPTCP连接的一端的Token相等,且所述TCP子流新建过程的响应端地址与该MPTCP连接的一端的可用地址集中的一个地址相等,则所述新建TCP子流属于所述MPTCP连接。
对数据传输控制节点管理的每条TCP子流都可以进行步骤S1001-S1004的判断过程,从而将属于同一MPTCP连接的多条TCP子流关联到该MPTCP连接上。
采用本发明实施例提供的数据传输控制方法,依据系统运行需求选择需要进行数据分流的TCP子流,通过改变MPTCP拥塞控制算法的输入项,使选择出的TCP子流上数据能够迁移到预期的属于同一MPTCP连接的其他TCP子流上。通过在接入网侧增加对MPTCP数据传输的管控措施,使TCP子流上数据分流结果能够适应系统运行的预期需求,优化系统性能,提升MPTCP拥塞控制算法的实用性。
本发明实施例还提供了一种数据传输管理方法,用于控制多路径传输控制协议MPTCP连接的通信两端之间的数据传输,所述MPTCP连接包含多条传输控制协议TCP子流。图11是该方法的流程示意图,如图所示,通信两端可以是用户设备及服务器,包括步骤S1101-S1107:
S1101,网络节点识别接入用户是否属于MPTCP连接的发起端或接收端。
其中,解析所述接入用户的TCP数据包,获得所述接入用户的MPTCP连接状态,所述MPTCP连接消息用于指示所述MPTCP连接的状态,通过数据包中的特殊字段,可以识别接入用户是否是MPTCP用户。接入用户是指UE通过接入网接入通信网络后对应的逻辑单元。
其中,MPTCP连接消息包含的具体内容以及MPTCP连接状态的具体判断方法可以参照对应装置实施例中的相关描述,在此不再赘述。
S1102,网路节点向所述数据传输控制节点上报MPTCP连接消息,所述MPTCP连接消息用于指示所述MPTCP连接的状态,所述MPTCP连接消息中携带MPTCP连接信息,所述MPTCP连接信息用于所述数据传输控制节点将所述多条TCP子流与所述MPTCP连接相关联,使得所述MPTCP连接包含所述多条TCP子流。
可选地,可以接收多个不同类型的网络节点上报的属于同一个MPTCP连接的多条不同TCP子流的MPTCP信息。例如同时接收BTS、NodeB与AP上报的经过该网络节点的至少一条TCP子流的MPTCP信息。具体的上报方式可以参照装置实施例中的相关内容,在此不再赘述。
可选地,在本发明的另一个实施例中,还可以包括步骤S1102’:网络节点向所述数据传输管理节点上报测量报告,所述测量报告用于指示通信链路的链路状况和/或无线资源状况。
可选地,可以仅在该网络节点处有与某MPTCP连接相关的TCP子流时才上报面向网络节点的测量报告,或者仅在接入用户有与某MPTCP连接相关的TCP子流时上报面向接入用户的测量报告。
具体的测量报告内容以及上报方式可以参照对应装置实施例中的相关描述,在此不做赘述。
步骤S1102与S1102’没有执行顺序的限制,也可以先执行S1102’再执行S1102。
S1103,数据传输控制节点存储MPTCP连接信息表,并根据获取的MPTCP连接消息更新,所述MPTCP连接信息表中包括所述网络节点上报的MPTCP连接消息。
可选地,所述MPTCP连接信息表可以包括不同网络节点上报的关于同一个MPTCP连接的MPTCP连接消息;也可以包括不同网络节点上报的关于不同MPTCP连接的MPTCP连接消息。以MPTCP连接为分类依据,对各条TCP子流进行管理。
可选地,当接收到包含不同内容的MPTCP连接消息时,可以对上述MPTCP连接表进行相应的维护,对应各类MPTCP连接消息的具体处理过程可以参照装置实施例中的相关描述,在此不做赘述。
可选地,当接收到网络节点上报的关于通信链路的链路状况和/网络节点的无线资源状况的测量报告时,可以更新存储的MPTCP连接信息表中相关的网络节点信息和/或接入用户信息。
S1104,数据传输控制节点根据接收到的MPTCP连接消息将属于所述MPTCP连接的多条TCP子流与所述MPTCP连接相关联。
将TCP子流与对应的MPTCP连接关联的具体方法与流程可以参照本发明其他实施例中的相关描述,在此不再赘述。
可选地,所述MPTCP连接消息还包括删除TCP子流通知消息和/或TCP子流优先级更新通知消息。对应的删除TCP子流过程及TCP子流优先级更新过程可以参照装置实施例中的相关描述,在此不再赘述。
可选地,在MPTCP连接的通信两端为一方多址、一方单址,且由单址方发起TCP子流新建过程的场景,或者两端均为多址的场景中,在MPTCP连接的一端发起新建TCP子流过程之前,多址一端可以先发起地址增加通过过程,告知对端在新建TCP子流时自身需要增加的可用地址。如果网络节点解析出接入用户完成了上述地址增加通告过程,则上报地址增加通知消息给数据传输控制节点,包括多址的新建TCP子流响应端需要增加的可用地址。对应地,在步骤S1004之前还可以包括,步骤S1104’:在MPTCP连接信息表中增加新建TCP子流的响应端的可用地址,该响应端为MPTCP初始连接的多址发起端或多址响应端。
对TCP子流的拥塞控制的前提是将属于同一个MPTCP连接的TCP子流与MPTCP连接相关联,即需要明确当前UE进行数据通信可使用的TCP子流是属于哪个MPTCP连接以及从哪个网络节点接入等信息,并确认TCP子流的状态,才能对属于同一个MPTCP连接的不同TCP子流进行拥塞控制,在不同TCP子流之间进行数据分流。
S1105,数据传输控制节点在所述多条TCP子流中选择需要进行数据传输控制的至少一条TCP子流。
S1106,数据传输控制节点将确定的调整策略下发至网络节点。
S1107,网络节点执行上述调整策略,调整所述至少一条TCP子流上的数据传输过程。
可选地,网络节点可以延迟发送所述至少一条TCP子流上的数据包以增大所述RTT,延迟时间与所述数据传输速率降低的幅度对应;和/或,丢弃所述至少一条TCP子流上的业务数据包以增大所述丢包率,丢弃所述业务数据包的数量与所述数据传输速率降低的幅度对应。
S1108,网络节点将调整TCP子流的数据传输过程后得到的输入项发送给通信两端,触发通信两端执行MPTCP拥塞控制算法。
其中,调整后的输入项由所述网络节点调整所述至少一条TCP子流上的数据传输过程后获得。
上述通信两端执行的MPTCP拥塞控制算法的输出结果包括确定在所述至少一条TCP子流上传输的数据部分或全部迁移到属于所述MPTCP连接的其他TCP子流上,其中,所述调整策略为针对MPTCP拥塞控制算法的输入项的调整策略。
可选地,可以由数据传输控制节点确定上述调整策略的具体实施形式,下发给对应的网络节点直接执行;也可以由数据传输控制节点仅给出TCP子流迁移策略下发给对应的网络节点,由网络节点自行决定采取何种具体形式来执行数据迁移。
该实施例中各步骤的具体描述可以参照本发明其他实施例的相关内容,在此不做赘述。
采用本发明实施例提供的数据传输控制方法,依据系统运行需求选择需要进行数据分流的TCP子流,通过改变MPTCP拥塞控制算法的输入项,使选择出的TCP子流上数据能够迁移到预期的属于同一MPTCP连接的其他TCP子流上,包括满足运营商的管控策略,反映承载TCP子流的数据传输链路的拥塞状况、以及无线资源状况等。通过在接入网侧增加对MPTCP数据传输的管控措施,使数据分流结果能够适应系统运行的预期需求,优化系统性能,提升MPTCP拥塞控制算法的实用性。同时不需要改变现有协议的拥塞控制算法,通过改变算法的输入间接影响算法输出,得到预期的数据分流结果,流程简单,易于实现。
本所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置及方法的具体工作过程,可以互相参考,在此不再赘述。
通过以上的实施例的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置、系统和方法,在没有超过本申请的范围内,可以通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
另外,所描述装置、系统和方法以及不同实施例的示意图,在不超出本申请的范围内,可以与其它系统,模块,技术或方法结合或集成。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,基站或单元的间接耦合或通信连接,可以是电子、机械或其它的形式。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (42)
1.一种数据传输控制节点,其特征在于,用于控制多路径传输控制协议MPTCP连接的通信两端之间的数据传输,所述MPTCP连接包含多条传输控制协议TCP子流,所述数据传输控制节点包括,
处理单元,用于在所述多条TCP子流中选择需要进行数据传输控制的至少一条TCP子流;
所述处理单元还用于,确定MPTCP拥塞控制算法的输入项的调整策略;
发送单元,用于将所述调整策略发送给所述至少一条TCP子流对应的网络节点,所述调整策略用于指示所述网络节点调整所述至少一条TCP子流上的数据传输过程,触发所述通信两端执行所述MPTCP拥塞控制算法,所述MPTCP拥塞控制算法的输出结果包括确定在所述至少一条TCP子流上传输的数据部分或全部迁移到属于所述MPTCP连接的其他TCP子流上;所述其他TCP子流所在无线接入点的空口下行或上行无线资源状态为空闲;
其中,所述网络节点位于所述通信两端的通信链路中。
2.根据权利要求1所述的数据传输控制节点,其特征在于,所述处理单元用于确定MPTCP拥塞控制算法的输入项的调整策略,包括,确定降低所述至少一条TCP子流的数据传输速率以及所述数据传输速率降低的幅度。
3.根据权利要求1或2所述的数据传输控制节点,其特征在于,所述MPTCP拥塞控制算法的输入项包括,所述至少一条TCP子流的数据往返时延RTT和/或丢包率。
4.根据权利要求3所述的数据传输控制节点,其特征在于,所述发送单元用于指示所述网络节点调整所述至少一条TCP子流上的数据传输过程以获得调整后的输入项,包括,
指示所述网络节点延迟发送所述至少一条TCP子流上的数据包以增大所述RTT,延迟时间与所述数据传输速率降低的幅度对应;和/或,
指示所述网络节点丢弃所述至少一条TCP子流上的业务数据包以增大所述丢包率,丢弃所述业务数据包的数量与所述数据传输速率降低的幅度对应。
5.根据权利要求1或2所述的数据传输控制节点,其特征在于,所述处理单元用于在所述多条TCP子流中选择需要进行数据传输控制的至少一条TCP子流,包括,根据运营商管控策略选择所述至少一条TCP子流。
6.根据权利要求1或2所述的数据传输控制节点,其特征在于,所述处理单元用于在所述多条TCP子流中选择需要进行数据传输控制的至少一条TCP子流,包括,
根据所述多条TCP子流对应的网络节点的无线资源状况确定需要进行数据传输控制的网络节点,选择所述网络节点对应的正在进行数据传输的至少一条TCP子流;或者,
判断所述多条TCP子流所在的通信链路的链路状况是否满足预设条件,在不满足所述预设条件的TCP子流中,选择正在进行数据传输的至少一条TCP子流。
7.根据权利要求6所述的数据传输控制节点,其特征在于,还包括接收单元,用于接收所述网络节点上报的测量报告,所述测量报告用于指示所述多条TCP子流的通信链路的链路状况和/或所述多条TCP子流对应的网络节点的无线资源状况;
所述处理单元具体用于根据所述测量报告,选择所述至少一条TCP子流。
8.根据权利要求1或2所述的数据传输控制节点,其特征在于,还包括信息管理单元,用于根据MPTCP连接消息,将所述多条TCP子流与所述MPTCP连接相关联,使得所述MPTCP连接包含所述多条TCP子流,所述MPTCP连接消息用于指示所述MPTCP连接的状态。
9.根据权利要求8所述的数据传输控制节点,其特征在于,所述信息管理单元还用于,存储并更新MPTCP连接信息表,所述MPTCP连接信息表中包括所述网络节点上报的MPTCP连接消息中携带的MPTCP连接信息,所述MPTCP连接信息用于将所述多条TCP子流与所述MPTCP连接相关联。
10.根据权利要求1或2所述的数据传输控制节点,其特征在于,所述通信两端中的一端是接入所述网络节点的用户设备UE,另一端是服务器;
所述网络节点支持所述UE与所述服务器相通信。
11.根据权利要求1或2所述的数据传输控制节点,其特征在于,所述其他TCP子流的空口下行或上行Backup标识位为0,且所述其他TCP子流所在无线接入点非当前无线接入点。
12.一种网络节点,其特征在于,用于控制多路径传输控制协议MPTCP连接的通信两端之间的数据传输,所述MPTCP连接包含多条传输控制协议TCP子流,所述网络节点位于所述通信两端的通信链路中,包括,
接收单元,用于接收数据传输控制节点在所述多条TCP子流中选择得到的至少一条TCP子流的信息;
所述接收单元还用于,接收所述数据传输控制节点指示的调整策略,所述调整策略为针对MPTCP拥塞控制算法的输入项的调整策略;
策略执行单元,用于根据所述调整策略,调整所述至少一条TCP子流上的数据传输过程,触发所述通信两端执行所述MPTCP拥塞控制算法,所述MPTCP拥塞控制算法的输出结果包括确定在所述至少一条TCP子流上传输的数据部分或全部迁移到属于所述MPTCP连接的其他TCP子流上;所述其他TCP子流所在无线接入点的空口下行或上行无线资源状态为空闲。
13.根据权利要求12所述的网络节点,其特征在于,所述网络节点还包括发送单元,用于将调整后的输入项发送给所述通信两端,所述调整后的输入项由所述策略执行单元调整所述至少一条TCP子流上的数据传输过程后获得,用于触发所述通信两端执行所述MPTCP拥塞控制算法。
14.根据权利要求12或13所述的网络节点,其特征在于,所述MPTCP拥塞控制算法的输入项的调整策略包括,降低所述至少一条TCP子流的数据传输速率以及所述数据传输速率降低的幅度。
15.根据权利要求14所述的网络节点,其特征在于,所述MPTCP拥塞控制算法的输入项包括,所述至少一条TCP子流的数据往返时延RTT和/或丢包率。
16.根据权利要求15所述的网络节点,其特征在于,所述策略执行单元用于调整所述至少一条TCP子流上的数据传输过程,包括,延迟发送所述至少一条TCP子流上的数据包以增大所述RTT,延迟时间与所述数据传输速率降低的幅度对应;和/或,
丢弃所述至少一条TCP子流上的业务数据包以增大所述丢包率,丢弃所述业务数据包的数量与所述数据传输速率降低的幅度对应。
17.根据权利要求13所述的网络节点,其特征在于,所述发送单元还用于,向所述数据传输控制节点上报测量报告,
所述测量报告用于指示所述多条TCP子流的通信链路的链路状况和/或所述多条TCP子流对应的网络节点的无线资源状况,所述测量报告用于所述数据传输控制节点选择所述至少一条TCP子流。
18.根据权利要求13或17所述的网络节点,其特征在于,所述发送单元还用于,向所述数据传输控制节点上报MPTCP连接消息,所述MPTCP连接消息用于指示所述MPTCP连接的状态,
所述MPTCP连接消息中携带MPTCP连接信息,所述MPTCP连接信息用于所述数据传输控制节点将所述多条TCP子流与所述MPTCP连接相关联,使得所述MPTCP连接包含所述多条TCP子流。
19.根据权利要求12、13或17任一所述的网络节点,其特征在于,所述通信两端中的一端是接入所述网络节点的用户设备UE,另一端是服务器;
所述网络节点支持所述UE与所述服务器相通信。
20.根据权利要求12、13或17任一项所述的网络节点,其特征在于,所述其他TCP子流的空口下行或上行Backup标识位为0,且所述其他TCP子流所在无线接入点非当前无线接入点。
21.一种网络系统,其特征在于,包括,
数据传输控制节点,用于在多条TCP子流中选择需要进行数据传输控制的至少一条TCP子流;确定MPTCP拥塞控制算法的输入项的调整策略;将所述调整策略发送给所述至少一条TCP子流对应的网络节点,所述调整策略用于指示所述网络节点调整所述至少一条TCP子流上的数据传输过程,触发通信两端执行所述MPTCP拥塞控制算法,所述MPTCP拥塞控制算法的输出结果包括确定在所述至少一条TCP子流上传输的数据部分或全部迁移到属于所述MPTCP连接的其他TCP子流上;所述其他TCP子流所在无线接入点的空口下行或上行无线资源状态为空闲;
网络节点,位于所述通信两端的通信链路中,用于接收数据传输控制节点在所述多条TCP子流中选择得到的至少一条TCP子流的信息;接收所述数据传输控制节点指示的调整策略,所述调整策略为针对MPTCP拥塞控制算法的输入项的调整策略。
22.根据权利要求21所述的网络系统,其特征在于,所述其他TCP子流的空口下行或上行Backup标识位为0,且所述其他TCP子流所在无线接入点非当前无线接入点。
23.一种数据传输管理方法,其特征在于,用于控制多路径传输控制协议MPTCP连接的通信两端之间的数据传输,所述MPTCP连接包含多条传输控制协议TCP子流,所述方法包括,
数据传输控制节点在所述多条TCP子流中选择需要进行数据传输控制的至少一条TCP子流;
所述数据传输控制节点确定MPTCP拥塞控制算法的输入项的调整策略;
所述数据传输控制节点指示所述至少一条TCP子流对应的网络节点根据所述调整策略,调整所述至少一条TCP子流上的数据传输过程,触发所述通信两端执行所述MPTCP拥塞控制算法,所述MPTCP拥塞控制算法的输出结果包括确定在所述至少一条TCP子流上传输的数据部分或全部迁移到属于所述MPTCP连接的其他TCP子流上;所述其他TCP子流所在无线接入点的空口下行或上行无线资源状态为空闲。
24.根据权利要求23所述的方法,其特征在于,所述数据传输控制节点确定MPTCP拥塞控制算法的输入项的调整策略包括,
所述数据传输控制节点确定降低所述至少一条TCP子流的数据传输速率以及所述数据传输速率降低的幅度。
25.根据权利要求24所述的方法,其特征在于,所述MPTCP拥塞控制算法的输入项包括,所述至少一条TCP子流的数据往返时延RTT和/或丢包率。
26.根据权利要求25所述的方法,其特征在于,所述数据传输控制节点指示所述网络节点调整所述至少一条TCP子流上的数据传输过程包括,
所述数据传输控制节点指示所述网络节点延迟发送所述至少一条TCP子流上的数据包以增大所述RTT,延迟时间与所述数据传输速率降低的幅度对应;和/或,
所述数据传输控制节点指示所述网络节点丢弃所述至少一条TCP子流上的业务数据包以增大所述丢包率,丢弃所述业务数据包的数量与所述数据传输速率降低的幅度对应。
27.根据权利要求23-26任一所述的方法,其特征在于,所述数据传输控制节点在所述多条TCP子流中选择需要进行数据传输控制的至少一条TCP子流,包括,
所述数据传输控制节点根据运营商管控策略选择所述至少一条TCP子流。
28.根据权利要求23-26任一所述的方法,其特征在于,所述数据传输控制节点在所述多条TCP子流中选择需要进行数据传输控制的至少一条TCP子流,包括,
所述数据传输控制节点根据所述多条TCP子流对应的网络节点的无线资源状况确定需要进行数据传输控制的网络节点,选择所述网络节点对应的正在进行数据传输的至少一条TCP子流;或者,
所述数据传输控制节点判断所述多条TCP子流所在的通信链路的链路状况是否满足预设条件,在不满足所述预设条件的TCP子流中,选择正在进行数据传输的至少一条TCP子流。
29.根据权利要求28所述的方法,其特征在于,所述数据传输控制节点在所述多条TCP子流中选择需要进行数据传输控制的至少一条TCP子流,包括,
所述数据传输控制节点接收所述网络节点上报的测量报告,所述测量报告用于指示所述多条TCP子流的通信链路的链路状况和/或所述多条TCP子流对应的网络节点的无线资源状况;
所述数据传输控制节点根据所述测量报告,选择所述至少一条TCP子流。
30.根据权利要求23-26任一所述的方法,其特征在于,所述方法进一步包括,
所述数据传输控制节点根据MPTCP连接消息,将所述多条TCP子流与所述MPTCP连接相关联,使得所述MPTCP连接包含所述多条TCP子流,所述MPTCP连接消息用于指示所述MPTCP连接的状态。
31.根据权利要求30所述的方法,其特征在于,还包括,所述数据传输控制节点存储并更新MPTCP连接信息表,所述MPTCP连接信息表中包括所述网络节点上报的MPTCP连接消息中携带的MPTCP连接信息,所述MPTCP连接信息用于将所述多条TCP子流与所述MPTCP连接相关联。
32.根据权利要求23-26任一所述的方法,其特征在于,
所述通信两端中的一端是接入所述网络节点的用户设备UE,另一端是服务器;
所述网络节点支持所述UE与所述服务器相通信。
33.根据权利要求23-26任一项所述的方法,其特征在于,所述其他TCP子流的空口下行或上行Backup标识位为0,且所述其他TCP子流所在无线接入点非当前无线接入点。
34.一种数据传输管理方法,其特征在于,用于控制多路径传输控制协议MPTCP连接的通信两端之间的数据传输,所述MPTCP连接包含多条传输控制协议TCP子流,网络节点位于所述通信两端的通信链路中,所述方法包括,
所述网络节点接收数据传输控制节点在所述多条TCP子流中选择得到的至少一条TCP子流的信息,
所述网络节点根据数据传输控制节点指示的调整策略,调整所述至少一条TCP子流上的数据传输过程,触发所述通信两端执行所述MPTCP拥塞控制算法,所述MPTCP拥塞控制算法的输出结果包括确定在所述至少一条TCP子流上传输的数据部分或全部迁移到属于所述MPTCP连接的其他TCP子流上;其中,所述调整策略为针对MPTCP拥塞控制算法的输入项的调整策略;所述其他TCP子流所在无线接入点的空口下行或上行无线资源状态为空闲。
35.根据权利要求34所述的方法,其特征在于,在所述网络节点调整所述至少一条TCP子流上的数据传输过程之后还包括,
所述网络节点将调整后的输入项发送给所述通信两端,所述调整后的输入项由所述网络节点调整所述至少一条TCP子流上的数据传输过程后获得,用于触发所述通信两端执行所述MPTCP拥塞控制算法。
36.根据权利要求34或35所述的方法,其特征在于,所述MPTCP拥塞控制算法的输入项的调整策略包括,降低所述至少一条TCP子流的数据传输速率以及所述数据传输速率降低的幅度。
37.根据权利要求36所述的方法,其特征在于,所述MPTCP拥塞控制算法的输入项包括,所述至少一条TCP子流的数据往返时延RTT和/或丢包率。
38.根据权利要求37所述的方法,其特征在于,所述网络节点调整所述至少一条TCP子流上的数据传输过程包括,
所述网络节点延迟发送所述至少一条TCP子流上的数据包以增大所述RTT,延迟时间与所述数据传输速率降低的幅度对应;和/或,
所述网络节点丢弃所述至少一条TCP子流上的业务数据包以增大所述丢包率,丢弃所述业务数据包的数量与所述数据传输速率降低的幅度对应。
39.根据权利要求34或35所述的方法,其特征在于,所述方法还包括,所述网络节点向所述数据传输控制节点上报测量报告,
所述测量报告用于指示所述多条TCP子流的通信链路的链路状况和/或所述多条TCP子流对应的网络节点的无线资源状况,所述测量报告用于所述数据传输控制节点选择所述至少一条TCP子流。
40.根据权利要求34或35所述的方法,其特征在于,所述方法进一步包括,
所述网络节点向所述数据传输控制节点上报MPTCP连接消息,所述MPTCP连接消息用于指示所述MPTCP连接的状态,
所述MPTCP连接消息中携带MPTCP连接信息,所述MPTCP连接信息用于所述数据传输控制节点将所述多条TCP子流与所述MPTCP连接相关联,使得所述MPTCP连接包含所述多条TCP子流。
41.根据权利要求34或35所述的方法,其特征在于,
所述通信两端中的一端是接入所述网络节点的用户设备UE,另一端是服务器;
所述网络节点支持所述UE与所述服务器相通信。
42.根据权利要求34或35所述的方法,其特征在于,所述其他TCP子流的空口下行或上行Backup标识位为0,且所述其他TCP子流所在无线接入点非当前无线接入点。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2014/077061 WO2015168909A1 (zh) | 2014-05-08 | 2014-05-08 | 数据传输控制节点、通信系统及数据传输管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105264845A CN105264845A (zh) | 2016-01-20 |
CN105264845B true CN105264845B (zh) | 2019-04-12 |
Family
ID=54391995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480029919.1A Active CN105264845B (zh) | 2014-05-08 | 2014-05-08 | 数据传输控制节点、通信系统及数据传输管理方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10511535B2 (zh) |
EP (1) | EP3133784B1 (zh) |
CN (1) | CN105264845B (zh) |
WO (1) | WO2015168909A1 (zh) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3133784B1 (en) * | 2014-05-08 | 2019-07-03 | Huawei Technologies Co., Ltd. | Data transmission control node, communication system and data transmission management method |
CN109921988B (zh) | 2014-07-21 | 2021-08-03 | 华为技术有限公司 | 链路控制节点、链路控制方法及通信系统 |
EP3151504B1 (en) * | 2015-09-30 | 2018-06-06 | Tessares SA | Method and device for establishing multipath network connections |
US10505848B2 (en) * | 2015-12-24 | 2019-12-10 | Intel Corporation | Congestion management techniques for communication networks |
WO2019000374A1 (zh) * | 2017-06-30 | 2019-01-03 | 北京小米移动软件有限公司 | 数据分流指示方法及装置、数据分流方法及装置和接入点 |
WO2019034258A1 (en) * | 2017-08-18 | 2019-02-21 | Nokia Technologies Oy | TRAFFIC DISTRIBUTION CONTROL FOR WIRELESS HYBRID ACCESS NETWORKS |
US10389541B1 (en) | 2017-10-19 | 2019-08-20 | Amdocs Development Limited | System, method, and computer program for implementing rating, charging and policy control of multipath communication services |
KR101929995B1 (ko) * | 2017-11-30 | 2018-12-17 | 울산과학기술원 | 무선통신 시스템의 단말 및 그의 데이터 전송 방법 |
US10931587B2 (en) * | 2017-12-08 | 2021-02-23 | Reniac, Inc. | Systems and methods for congestion control in a network |
CN111837371A (zh) * | 2018-01-26 | 2020-10-27 | Idac控股公司 | 基于增强mptcp的应用移动性 |
CN108366104B (zh) * | 2018-01-29 | 2020-11-13 | 北京奇艺世纪科技有限公司 | 一种数据下载控制方法和装置 |
ES2786632T3 (es) * | 2018-02-28 | 2020-10-13 | Deutsche Telekom Ag | Técnicas para la gestión de la política de protocolos de red de conectividad múltiple |
EP3579500B1 (en) * | 2018-06-07 | 2021-11-17 | Deutsche Telekom AG | A communication system for transmitting a transmission control protocol segment over a communication network using a multipath transmission control protocol, corresponding method and computer program |
US11258877B2 (en) | 2018-07-26 | 2022-02-22 | Netapp, Inc. | Methods for managing workloads in a storage system and devices thereof |
CN109150743B (zh) * | 2018-09-14 | 2021-11-26 | 清华大学 | 一种网络拥塞控制策略切换方法及系统 |
WO2020076331A1 (en) * | 2018-10-11 | 2020-04-16 | Nokia Technologies Oy | Active mode traffic steering and switching between cellular and non-cellular systems |
US10659569B1 (en) * | 2019-01-18 | 2020-05-19 | Hewlett Packard Enterprise Development Lp | End-to-end multipath TCP through network gateways |
EP3912430A4 (en) * | 2019-01-18 | 2022-03-02 | ZTE Corporation | METHOD AND DEVICE FOR REMOVAL OF USER PLANE CONNECTIONS IN MULTICONNECTIVITY SYSTEMS |
US11558733B2 (en) * | 2019-07-10 | 2023-01-17 | Samsung Electronics Co., Ltd. | Managing sub-flow communications in user equipment |
US11228963B2 (en) * | 2019-07-12 | 2022-01-18 | Qualcomm Incorporated | Multi-link communication |
CN110417650B (zh) * | 2019-08-02 | 2021-12-10 | 广东中兴新支点技术有限公司 | 多链路数据分配方法、装置及电子设备 |
CN110475315B (zh) * | 2019-08-19 | 2021-05-14 | Oppo广东移动通信有限公司 | 网络连接控制方法及相关产品 |
CN110730470B (zh) * | 2019-10-24 | 2020-10-27 | 北京大学 | 一种融合多接入技术的移动通信设备 |
CN111064704B (zh) * | 2019-11-19 | 2021-02-09 | 中国科学院计算技术研究所 | 一种基于mptcp启动窗口自适应的数据传输方法、装置和介质 |
TWI793399B (zh) * | 2020-02-14 | 2023-02-21 | 緯創資通股份有限公司 | 使用者裝置及資料流量傳遞之排程方法 |
CN113965516B (zh) * | 2020-07-03 | 2023-10-13 | 华为技术有限公司 | 传输数据的方法和装置 |
CN111970334A (zh) * | 2020-07-30 | 2020-11-20 | 杭州超级科技有限公司 | 基于tcp的数据传输方法、装置、电子设备及介质 |
CN112054966B (zh) * | 2020-09-01 | 2023-11-07 | 首都师范大学 | 多路传输数据调度方法、装置及设备 |
CN114039926B (zh) * | 2021-11-05 | 2023-10-03 | 北京字节跳动网络技术有限公司 | 传输控制协议确定方法、装置、可读介质及电子设备 |
US11962488B2 (en) | 2022-07-01 | 2024-04-16 | Cisco Technology, Inc. | Supporting multipath transmission control protocol subflows using multipath links |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014044333A1 (en) * | 2012-09-24 | 2014-03-27 | Telefonaktiebolaget L M Ericsson (Publ) | Traffic shaping and steering for a multipath transmission control protocol connection |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9503223B2 (en) * | 2011-03-04 | 2016-11-22 | Blackberry Limited | Controlling network device behavior |
US20130064198A1 (en) * | 2011-09-14 | 2013-03-14 | Qualcomm Incorporated | Multipath transport tunnel over multiple air interfaces connecting wireless stations |
CN102404077B (zh) * | 2011-11-30 | 2013-11-27 | 清华大学 | 基于喷泉码的多径传输控制方法 |
US9537759B2 (en) * | 2012-01-31 | 2017-01-03 | Massachusetts Institute Of Technology | Multi-path data transfer using network coding |
CN103346963A (zh) * | 2013-06-26 | 2013-10-09 | 南京昭视畅网络科技有限公司 | 一种基于预测到达时间的mptcp数据调度方法 |
WO2015094043A1 (en) * | 2013-12-18 | 2015-06-25 | Telefonaktiebolaget L M Ericsson (Publ) | Multipath tcp subflow establishing on single ip connection |
EP3133784B1 (en) * | 2014-05-08 | 2019-07-03 | Huawei Technologies Co., Ltd. | Data transmission control node, communication system and data transmission management method |
-
2014
- 2014-05-08 EP EP14891549.9A patent/EP3133784B1/en active Active
- 2014-05-08 CN CN201480029919.1A patent/CN105264845B/zh active Active
- 2014-05-08 WO PCT/CN2014/077061 patent/WO2015168909A1/zh active Application Filing
-
2016
- 2016-11-07 US US15/345,022 patent/US10511535B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014044333A1 (en) * | 2012-09-24 | 2014-03-27 | Telefonaktiebolaget L M Ericsson (Publ) | Traffic shaping and steering for a multipath transmission control protocol connection |
Also Published As
Publication number | Publication date |
---|---|
WO2015168909A9 (zh) | 2016-03-17 |
WO2015168909A1 (zh) | 2015-11-12 |
EP3133784A4 (en) | 2017-04-26 |
US20170078206A1 (en) | 2017-03-16 |
EP3133784B1 (en) | 2019-07-03 |
CN105264845A (zh) | 2016-01-20 |
EP3133784A1 (en) | 2017-02-22 |
US10511535B2 (en) | 2019-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105264845B (zh) | 数据传输控制节点、通信系统及数据传输管理方法 | |
CN105900390B (zh) | 链路控制节点、链路控制方法及通信系统 | |
CN104813725B (zh) | 数据传输装置和方法 | |
JP2021530135A (ja) | パス変更方法および装置 | |
CN104754748A (zh) | 一种d2d资源分配方法、数据传输方法及装置 | |
CN109392004A (zh) | 通信方法、基站、终端设备和系统 | |
KR20170060102A (ko) | 소프트웨어 정의 네트워킹에서의 데이터 전달 방법, 기기 및 시스템 | |
CN110121867A (zh) | 一种传输数据包的方法、发送设备及接收设备 | |
CN102857491A (zh) | 集管理方案 | |
CN104982006A (zh) | 用于提供软件定义协议栈的系统和方法 | |
JP2012253750A (ja) | MiAN及びMiAN帯域幅集約方法並びに集約システム | |
CN101998296B (zh) | 一种空口服务质量QoS的控制方法和系统 | |
CN114189908B (zh) | 通信方法、装置、设备及存储介质 | |
CN107615729A (zh) | 数据传输方法及通信装置 | |
WO2019141239A1 (zh) | 通信方法、装置和系统 | |
CN102695291A (zh) | 多网接入系统和多模无线终端 | |
CN104380835B (zh) | 用于操作无线通信网络的网络元件的方法及网络元件 | |
CN105874756B (zh) | 控制信令的传输方法及设备 | |
CN107079524A (zh) | 一种数据转发的方法和控制器 | |
JP6609645B2 (ja) | ワイヤレスネットワーク機能設定方法、ワイヤレス・ネットワーク・ノード、およびコア・ネットワーク・デバイス | |
CN106465387A (zh) | 多跳能力的发现和每链路基础上的路由 | |
Hakiri et al. | Software-defined wireless mesh networking for reliable and real-time smart city cyber physical applications | |
CN103249054B (zh) | 业务数据的传输方法、装置及系统 | |
US20220191951A1 (en) | Method and apparatus for establishing radio bearer | |
Abdulshakoor et al. | Joint Network and Mode Selection in 5G Multi RAT Heterogeneous Networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |