CN109729007B - 一种传输数据的方法、装置和设备 - Google Patents
一种传输数据的方法、装置和设备 Download PDFInfo
- Publication number
- CN109729007B CN109729007B CN201711094016.3A CN201711094016A CN109729007B CN 109729007 B CN109729007 B CN 109729007B CN 201711094016 A CN201711094016 A CN 201711094016A CN 109729007 B CN109729007 B CN 109729007B
- Authority
- CN
- China
- Prior art keywords
- path
- transmission mode
- redundant
- paths
- multipath
- 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
Images
Classifications
-
- 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
- H04L45/245—Link aggregation, e.g. trunking
-
- 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/41—Flow control; Congestion control by acting on aggregated flows or links
-
- 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/16—Multipoint routing
-
- 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
-
- 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
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- 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/70—Routing based on monitoring results
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请通过冗余传输模式测量多路径连接在这种传输模式下的一种或多种用于表示路径特征的参数,与使用多路径传输模式测量的该连接在此时的聚合路径的路径特征进行比较,这样就可以使用路径特征较好的方式,例如多路径传输模式或者最优单路径传输数据,从而获得更好的传输性能。
Description
技术领域
本申请涉及通信领域,尤其涉及一种传输数据的方法、装置和设备。
背景技术
自2013年1月,国际互联网工程任务组(IETF,Inernet Engineering Task)制定了第一个多路径传输模式控制协议(MPTCP,Multiple Path Transmission ControlProtocol)以来,关于MPTCP技术的研究已遍布框架制定、安全分析、coupled拥塞控制(RFC6356)、接口分析、用例讨论以及中间件使能等方面。目前,MPTCP技术是通过多条路径并行传输来实现吞吐量的提升,例如三星公司与韩国电信布局的手机到网关MPTCP代理这一段网络;或者通过多路径来实现业务的连续性及可靠性,例如Apple公司的siri业务。MPTCP可以支持多路径传输模式,也就是将一连接传输的数据在多条子流上传输,一条子流被称为一条路径。事实上,这些子流可以使用相同或者不同的传输协议,例如TCP(传输控制协议,Path Transmission Control Protocol)、SCTP(流控制传输协议,Stream ControlTransmission Protocol)或者QUIC(快速UDP网络连线,Quick UDP InternetConnections)等,那么从MPTCP就可以引申出多种多路径传输的技术,可以统称为MP技术,其包括多条路径的连接称为MP连接。这多条路径可以使用不同的网络,如WiFi网络和蜂窝网络,蜂窝网络可以是5G网络,4G网络,如长期演进网络(LTE,Long Term Evolution)、或者3G网络,如码分多址(CDMA,Code Division Multiple Access)网络,或者2G网络等。
但是,MP连接却存在使用多条路径传输数据反而传输性能低于使用多条子流中的某一单路径的情况,该传输性能例如是时延,或者是吞吐量(即负增益现象)。这是由于该多条子流的路径特征不同,其中,用于衡量路径特征的参数可以是传输速率,往返时延(RTT,Round-time Trip),丢包率,拥塞窗口(CWND,congestion window)以及带宽等参数中的一个或多个,该多条子流在上述的参数上都可能存在差异,例如WiFi的RTT较为稳定,LTE的RTT抖动大,一般LTE的RTT远大于WiFi的RTT。那么在有些时候,更适合使用该连接中的一条路径传输数据。
现有技术为了避免上述情况,例如会在MPTCP连接建立之前,使用基于UDP(UserDatagram Protocol,用户数据报协议)的PCP(Port Control Protocol,端口控制协议)估计路径特征,以及根据估计出的用于表征路径特征的参数的值确定是否要使用MPTCP技术建立新的子流。然而,使用PCP估计的路径特征与连接真实的路径特征差距明显,且这种测量只能在连接建立之前测量,否则就会中断业务,而网络中的路径特征都是动态变化的,也使得测量值无法准确反映连接真实的路径特征,故而无法满足选择低时延或者抑制负增益的路径选择的要求,传输性能差。
发明内容
有鉴于此,本申请实施例提供了一种传输数据的方法、装置和设备,能够更准确地测量多路径传输模式中的路径特征,从而随路径特征的变化确定出包括多条路径的连接中的单条或者多条路径,更好地保障传输性能。
第一方面,本申请实施例提供一种传输数据方法,该方法用于包括多条路径的连接,所述路径为所述连接的发端与收端之间的链路,该方法包括:在冗余传输模式下,测量所述冗余传输模式下所述多条路径的路径特征,其中,所述冗余传输模式为在所述多个路径上传输相同的数据的传输模式;在多路径传输模式下,测量所述多路径传输模式下的聚合路径的路径特征,其中,所述多路径传输模式为在所述多条路径上传输不同的数据的传输模式,所述聚合路径的路径特征为将所述多个路径等价为一个单路径时,所述单路径的路径特征;在最优单路径的路径特征优于所述多路径传输模式下聚合路径的路径特征的情况下,通过最优单路径传输所述连接的数据,其中,所述最优单路径为所述冗余传输模式下测得的所述多条路径中路径特征最优的路径;在所述多路径传输模式下的聚合路径的路径特征优于所述最优单路径的路径特征的情况下,通过所述多路径传输模式传输所述连接的数据。
其中,不限定在冗余传输模式下和在多路径传输模式下测量的顺序。
在从冗余传输模式切换到多路径传输模式,或者从多路径传输模式切换到冗余传输模式的过程中,由于总有子流在传输数据,也就是说,实际上测量过程是执行在数据传输过程中的,传输路径的切换和传输模式的切换也都是执行在数据传输过程中的,连接并没有断开,并不会中断业务,影响用户的使用,另外,本申请通过冗余传输模式测量路径特征参数,并不会依赖冗余传输模式传输数据,这样,就不会给收发端的设备造成太大的负担,也不会挤占收发端设备过多的资源处理冗余传输模式的数据,这样有效控制了冗余数据对收发端的影响。还有,使用冗余传输模式进行测量,无需专门构造其他的包(extrapackets),测量过程传输的也都是该连接本要传输的数据包。且一个连接在冗余传输模式与多路径传输模式的传输模式下,子流使用的传输协议不会发生改变,测量结果更贴合实际情况下的路径特征,根据这样的结果使用的传输路径能比现有的技术手段更能保障对传输性能的提升。
一种实现方式下,在冗余传输模式下,还可以测量冗余传输模式下的聚合路径的路径特征。这样,就可以比较两种传输模式下的聚合路径的路径特征,以选择是否使用多路径传输模式。
一种实现方式下,用于表示所述路径特征的参数为时延,带宽,吞吐量,丢包率,丢包范围以及拥塞窗口值中的至少一种。
其中,测量哪些参数是由需要保障的传输性能决定的。例如,需要使连接有高吞吐,实际上是要求连接能更多的利用带宽。则可测量吞吐量,这样就可以根据吞吐量估计出带宽,或者测量拥塞窗口的值和往返时延,通过计算可估计带宽,或者通过发送携带特殊信息的包来测量带宽。再例如,需要连接有低时延,那么就可测量与时延有关的参数,例如RTT。
一种实现方式下,所述方法还包括:从所述最优单路径或者所述多路径传输模式下变更到冗余传输模式;重新测量所述冗余传输模式下所述多条路径的路径特征;使用该重新测量得到的最优单路径和所述多路径传输模式中,路径特征较优的方式传输所述连接的数据。
一种实现方式下,还可以在使用多路径传输模式传输数据的过程中重新测量该多路径传输模式下的聚合路径的路径特征,使用该重新测量得到的最优单路径和重新测量的所述多路径传输模式中,路径特征较优的传输方式传输数据。
一种实现方式下,所述表示路径特征的参数为吞吐量,则吞吐量越大表示路径特征越优,所述在冗余传输模式下,测量所述冗余传输模式下所述多条路径的路径特征,包括:在一段时间内,在所述冗余传输模式下多轮测量所述多条路径的吞吐量以得到多轮测量结果;对所述多条路径中的每条路径,将该路径的多轮测量结果的平均值作为该路径在冗余传输测量得到的吞吐量。
这是减少负增益的场景,这样就可以在缓冲区大小、带宽和丢包率都未知的情况下,就能使用吞吐量更高的方式传输数据,避免多路径传输聚合吞吐量小于最优单路径吞吐量,即多路径传输负增益。以及,实现本方案中路径特征参数的测量和路径的切换是实时的(real-time),且只需要在单端(即发端)进行改进。
其中,两轮(round)测试之间可以间隔一段设定的时长,例如可用在连接建立一段时间后的拥塞避免阶段,比如可规定为1秒;两轮测试之间也可以是间隔从发送一个数据包到接收到这个数据包的ACK的时间,即该数据包的RTT,例如在初始阶段。其中,该设定的时长,以及测量的轮数都可以固定,或者变化,例如取按照某种分布的随机数、按照某种规律变化的数列、或者按照某种自学习算法自动学习的结果,本申请不做限制。一般一轮测试就是指测量一遍路径特征参数的值。
其中,可以是预设一段时间,计算该段时间内测量的多轮测量值的平均值,或者预设该求平均值的轮数,又如,计算平均值,可以是加权平均,简单算术平均或者几何平均等等,本申请不做限制。再比如,可以使用机器学习,或者数据拟合的方式处理多轮测量值。
一种实现方式下,所述发送端设置有多路径传输模式计时器以及冗余传输模式计时器;以及所述发送端设置有更新冗余测量值标记位以及更新多路径测量值标记位,所述更新冗余测量值标记位用于表示是否使用冗余传输模式进行测量,所述更新多路径测量值标记位用于表示是否使用多路径传输模式进行测量,所述方法还包括:在所述多路径传输模式计时器超时的情况下重置所述多路径传输模式计时器;在所述冗余传输模式计时器超时的情况下重置所述冗余传输模式计时器。
一种实现方式下,所述方法还包括在所述多路径传输模式计时器超时的情况下,将所述更新多路径测量值标记位置1;在所述冗余传输模式计时器超时的情况下,将所述更新冗余测量值标记位置1;在测量所述多路径传输模式下的聚合路径的路径特征后,将所述更新多路径测量值标记位置0以及重置所述多路径传输模式计时器;在测量所述冗余传输模式下所述多条路径的路径特征后,将所述更新冗余测量值标记位置0以及重置所述冗余传输模式计时器。
一种实现方式下,在所述在冗余传输模式下,测量所述冗余传输模式下所述多条路径的路径特征包括:在所述更新冗余测量值标记位置1的情况下,测量所述冗余传输模式下所述多条路径的路径特征;以及,所述在多路径传输模式下,测量所述多路径传输模式下的聚合路径的路径特征,包括:在所述更新多路径测量值标记位置1的情况下,测量所述多路径传输模式下的聚合路径的路径特征。
一种实现方式下,所述方法还包括:在使用任一路径传输数据包前,检查所述更新冗余测量值标记位以及在所述更新多路径测量值标记位;在所述更新冗余测量值标记位置0以及在所述更新多路径测量值标记位置0的情况下,保持使用当前的路径传输数据。
一种实现方式下,所述连接为MPTCP连接,所述方法还包括:在所述MPTCP连接的慢启动阶段,使用所述冗余传输模式传输数据;在所述冗余传输模式下,测量多轮所述冗余传输模式下的聚合路径的路径特征;在多次确定一轮测量的路径特征与上一轮测量的路径特征之间变化率小于预设值的情况下,测量所述冗余传输模式下所述多条路径的路径特征。
这样,就可以在连接的拥塞避免阶段进行测量和路径选择,且在慢启动阶段使用冗余传输,也可以保障这个阶段的传输性能。
第二方面,本申请一种传输数据的方法,其特征在于,所述方法用于包括多条路径的连接,所述路径为所述连接的发端与收端之间的链路,所述方法包括:在冗余传输模式下,测量所述冗余传输模式下所述多条路径的路径特征,其中,所述冗余传输模式为在所述多个路径上传输相同的数据的传输模式;使用所述多条路径中包括所述最优单路径在内的一条或多于一条的路径传输所述连接的数据,其中,所述最优单路径为所述冗余传输模式下测得的所述多条路径中路径特征最优的路径。
这样就可以方便地找出最优单路径以传输数据,保障传输性能,具体的有益效果请参见第一方面和说明书。其中,由于第二方面中采用冗余传输模式测量路径特征的方法和第一方面中类似,故以下各种实现方式中涉及的说明和有益效果请参见第一方面的相应内容,此处不再赘述。
一种实现方式下,用于表示所述路径特征的参数为时延,带宽,吞吐量,丢包率,丢包范围以及拥塞窗口值中的至少一种。
一种实现方式下,该方法还包括从所述包括所述最优单路径在内的一条或多于一条的路径变更到冗余传输模式;重新测量所述冗余传输模式下所述多条路径的路径特征;使用包括该重新测量得到的最优单路径在内的一条或多于一条的路径传输所述连接的数据。
由于网络状态会随时间变化,这样再次测量以刷新测量结果从而调整传输路径,能更好的保障传输性能。
一种实现方式下,所述表示路径特征的参数为吞吐量,则吞吐量越大表示路径特征越优,所述在冗余传输模式下,测量所述冗余传输模式下所述多条路径的路径特征,包括:在一段时间内,在所述冗余传输模式下多轮测量所述多条路径的吞吐量以得到多轮测量结果;对所述多条路径中的每条路径,将该路径的多轮测量结果的平均值作为该路径在冗余传输测量得到的吞吐量。
一种实现方式下,所述表示路径特征的参数为时延,则时延越小表示路径特征越优,所述在冗余传输模式下,测量所述冗余传输模式下所述多条路径的路径特征,包括:在一段时间内,在在所述冗余传输模式下多轮测量所述多条路径的往返时延以得到多轮测量结果;对所述多条路径中的每条路径,将该路径的多轮测量结果的平均值作为该路径在冗余传输测量得到的时延。
第三方面,本申请记载一种传输数据的装置,所述装置用于传输包括多条路径的连接的数据,所述路径为所述连接的发端与收端之间的链路,所述装置包括:测量模块,所述测量模块用于在冗余传输模式下,测量所述冗余传输模式下所述多条路径的路径特征,其中,所述冗余传输模式为在所述多个路径上传输相同的数据的传输模式;所述测量模块还用于在多路径传输模式下,测量所述多路径传输模式下的聚合路径的路径特征,其中,所述多路径传输模式为在所述多条路径上传输不同的数据的传输模式,所述聚合路径的路径特征为将所述多个路径等价为一个单路径时,所述单路径的路径特征;传输模块,所述传输模块用于在最优单路径的路径特征优于所述多路径传输模式下聚合路径的路径特征的情况下,通过最优单路径传输所述连接的数据,其中,所述最优单路径为所述冗余传输模式下测得的所述多条路径中路径特征最优的路径;所述传输模块还用于在所述多路径传输模式下的聚合路径的路径特征优于所述最优单路径的路径特征的情况下,通过所述多路径传输模式传输所述连接的数据。
第四方面,本申请描述一种传输数据的设备,所述设备用于传输包括多条路径的连接的数据,所述设备包括处理电路、通信接口和存储介质,所述存储介质中存储有协议栈程序,所述通信接口用于通过所述存储介质中的指令与其他设备收发数据包,所述处理器用于运行所述存储介质中的指令控制所述通信接口,以实现第一方面及第一方面任一种实现方式所述的方法。
一种实现方式下,该设备可以是终端,服务器或者网络中的传输设备如网关路由器等。
应理解,第三方面和第四方面是第一方面对应的装置和设备,故,其各种具体的实现方式、说明以及技术效果请参见第一方面的相关段落,此处不再赘述。
第五方面,本申请描述一种传输数据的装置,所述装置用于传输包括多条路径的连接的数据,所述路径为所述连接的发端与收端之间的链路,所述装置包括:测试模块,所述测试模块用于在冗余传输模式下,测量所述冗余传输模式下所述多条路径的路径特征,其中,所述冗余传输模式为在所述多个路径上传输相同的数据的传输模式;传输模块,所述传输模块用于使用所述多条路径中包括所述最优单路径在内的一条或多于一条的路径传输所述连接的数据,其中,所述最优单路径为所述冗余传输模式下测得的所述多条路径中路径特征最优的路径。
第六方面,本申请描述一种传输数据的设备,所述设备用于传输包括多条路径的连接的数据,所述设备包括处理电路、通信接口和存储介质,所述存储介质中存储有协议栈程序,所述通信接口用于通过所述存储介质中的指令与其他设备收发数据包,所述处理器用于运行所述存储介质中的指令控制所述通信接口,以实现第二方面及第二方面任一种实现方式所述的方法。
一种实现方式下,该设备可以是终端,服务器或者网络中的传输设备如网关路由器等。
应理解,第五方面和第六方面是第二方面对应的装置和设备,故,其各种具体的实现方式、说明以及技术效果请参见第二方面的相关段落,此处不再赘述。
第七方面,提供一种计算机程序产品,所述计算机程序产品中存储有用于存储可以实现第一方面中各种实现方式中任意一种的方法的程序代码,或者用于存储可以实现第二方面中各种实现方式中任意一种的方法的程序代码。
第八方面,提供一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使得所述计算机执行第一方面中各种实现方式中任意一种的方法,或者第二方面中各种实现方式中任意一种的方法。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为三种可使用本申请实施例所记载的方法组网系统;
图2为三种可能的MP层和子流层的架构示意图;
图3为本申请提供的一种支持MPTCP技术的终端架构示意图;
图4为本申请提供的终端与服务器之间通过MPTCP技术进行通信的示意图;
图5为本申请提供的一种传输数据的方法流程图;
图6为本申请提供的一种传输数据的装置的示意图;
图7为本申请提供的一种传输数据的装置的示意图;
图8为本申请提供的一种传输数据的设备的示意图。
具体实施方式
本申请实施例提供了一种终端的数据传输方法和装置,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面解释本申请出现的一些名词。
负增益:指对一连接使用多条子流传输数据,该多条子流聚合后的吞吐量反而低于仅使用该多条子流中具有最大单路径吞吐量的子流的现象;其中最大单路径吞吐量是指,单独使用该连接的多条子流中的某一条子流传输数据所具有的最大吞吐量。
A和/或B:表示A和B,或者A或B。
主机(host):用于发起或者接收一MP连接的端节点,即一个MP连接的发端或者收端。例如,该主机可以运行在终端或者网络设备(如服务器)上。例如,也可以是运行在终端或者网络设备上的虚拟机(virtual machine)。
路径(path):路径是发端(sender)与收端(reciever)之间的链路(link)。路径可以用四元组来标识,该四元组用于表示源地址(和/或端口)和目的地址(和/或端口)对。应理解,支持MP技术的收端和发端,都可以在其主机(host)中准备多个地址,以便标识多条路径。以及,一对收端和发端之间的多条路径可以共享一个或者多个路由器(router)。
子流(subflow):在单个路径(path)上运行的TCP段(segment)的流。子流是一MP连接的一部分。子流的启动(start)和终止(terminate)与常规(regular)的TCP连接相似。本文中一条子流就对应一条路径。
MP(multiple path)连接:通过(over)一个应用,在两个主机(host)间可以通信的一组子流,该组子流包括多个子流。其中,连接和应用的接口(socket)之间有一一映射。MP连接就是使用多个路径传输数据的连接,每个路径(即子流)可以使用不同的传输协议,例如路径使用TCP协议,则MP连接为MPTCP连接。其中,通过(over)一个应用,在两个主机(host)间可以通信的链路也称为连接,只是MP连接包括多路径,而一般的连接只有一个路径。
包(packet):带有头部(header)的一包(package)数据,该头部可以是逻辑上完整或者不完整的。通常,是一物理上打包(physical packaging of data)的数据,当然,也可以是一逻辑上打包的数据(logical packaging of data)。包这个概念用于描述数据在一主机(host)以及与该主机相连的网络之间的交互。
ACK包:也称为确认包、确认报文、ACK(Acknowledgement)、ACK包,反馈报文、通知。确认包中包括ACK信息,例如某一数据包的序列号,通常用于表示收端通知发端已已接收到该数据包。
关于主机(host)、路径(path)、链路(link)、子流(subflow)的相关内容,可以参考IETF标准组织的文件RFC.6824。
拥塞窗口,指TCP数据传输中,数据的源端在拥塞控制情况下一次最多能发送的数据包的数量。应理解,拥塞窗口简写为cwnd或者CWND都是可以的。例如在某些代码中,使用cwnd来表示。
RTT(Round-robin Transmit Time),往返时延。表示发送端从发送数据开始,到接收到接收端发送的对应该数据的接收确认信息(如ACK)的过程,所经历的时延。应理解,在一种实现方式下,接收端收到数据后便立即发送该数据对应的确认信息,其中,“立即”应理解为包括接收端从接收到数据直至发送确认消息的必要的处理时间。应理解,往返时延简写为RTT或者rtt都可以。例如在某些代码中,使用rtt表示。
路径特征:用于表示路径特征的参数可以是传输速率,往返时延(RTT,Round-timeTrip),丢包率,丢包范围,拥塞窗口(CWND,congestion window)以及带宽等参数中的一个或多个。可以认为路径特征用于描述一条路径的网络状态。
目前常见的多路径传输模式场景,往往是两条子流,也就是蜂窝网络和WIFI网络,但是,可以预见,多于两条子流的传输场景会越来越普及。例如,可以是在广域网中,某个区域有多个运营商,导致该区域支持多于两条子流进行数据传输,再例如,一个数据中心中,也可以通过等价多路径(Equal-Cost MultiPath routing,ECMP)路由技术实现支持三条及以上子流进行多路径的TCP数据传输。
多路径传输技术可以用在多种组网系统中,通常,若要通过多路径传输技术传递信息,信息的发送端和接收端之间应至少有一段链路支持多路径传输技术。图1简单列举了三种可使用该技术的组网系统,为了描述方便,图1中示意性画出了该多路径系统中的两条路径,分别使用WiFi技术(以路由器表示)和蜂窝网络(以基站表示),其中,云端示意性地画出了几个云端服务器,应理解,图中只示意性表示云端与其他设备的连接,不明确表示云端的哪个服务器与其他设备连接。图1中的系统一是终端与云端之间进行通信,云端中与终端通信的设备不支持多路径传输技术,而终端支持该技术,或者则云端的设备支持多路径传输技术,而终端不支持,则要使用该技术,不支持该技术的一侧就需要通过支持多路径传输技术的代理设备(proxy,例如网关),与另一侧交互。图1中的系统二中,云端与终端均支持多路径传输技术。图1中的系统三中,描述的是两个云端之间进行通信的场景,这两个云端中,可以均支持该多径传输技术,也可以有至少有一端不支持该技术,不支持该技术的一端借助支持多路径传输技术的代理设备(例如网关)即可,如图1中,示意的就是两个云端都借助支持多路径传输技术的代理设备,使得两侧网关之间使用该技术进行通信。其中,云端可以包括多种设备,例如服务器等,通常,对一个涉及云端的连接,是该云端的某一设备与对端进行通信。
实际上,在使用多路径传输连接传输数据的不同场景下,往往对传输性能有不同的要求,例如低时延或者高吞吐量或者高可靠性(即丢包率低)等等。例如手机使用支持WiFi和LTE网络的多路径传输连接从网络硬盘下载文件,或者从云端到云端使用多路径传输连接进行大文件搬运,通常希望该连接有更高吞吐量,而如果是使用多路径传输连接进行实时的数据传输,例如语音,电话会议等,则希望该连接能低时延。手机使用多路径传输连接通过视频网站尤其是直播的视频网站观看视频,或者玩游戏,通常希望多路径传输连接有更低的时延和更高吞吐量。
本申请的描述的技术方案用于多路径传输连接中数据的发端,也就是一个连接中的多路径传输报文的产生端。该发端可以是在支持多路径传输技术的端设备上,如果一端端设备不支持多路径传输,要使用多路径传输技术传递报文,则必然会使用支持多路径传输技术的代理设备,则本申请的技术方案就用在支持多路径传输的代理设备上。具体可以参考图1的几种组网形式。具体就是用在支持多路径传输协议的云端设备,例如服务器;支持多路径传输协议的终端,例如台式机、笔记本电脑、平板电脑、蜂窝电话、智能手表、智能手机或PDA等等;以及支持多路径传输协议的网元,例如网关、接入路由器、核心路由器、前端路由器或者负载均衡器。
图2简单描述了从软件架构上,本申请涉及的各种设备所通用的一部分架构,包括应用(APP)层,多路径传输层和IP层,其中多路径传输层可以认为替代的是目前较常见的TCP层,在运行有各种应用的APP层与IP层之间。多路径传输层中一部分运行在操作系统的用户态,一部分运行在操作系统的内核态。由于子流可以使用多种传输协议,如TCP,SCTP以及QUIC等。本申请的技术方案实施在设备的软件中,例如可以是内核态的MP层或者用户态的MP层。更进一步的,本申请的一些技术方案使用到了MP层中用于实现冗余传输模式的模块和用于实现多路径传输模式的模块,以及,用于实现本申请的方法的代码在运行时,可以认为是使得MP层添加了一个新的模块。该新的模块可以用于通过冗余模式测量多条子流中最优路径的路径特征,以确定合适的传输模式或者传输路径来保障多路径传输连接的传输性能。图2示意了三种多路径传输层的实现方式,本申请的方案可实施在这三种实现方式中的MP层,每种实现方式中包括了一个连接中MP层和子流层,其中MP层运行有多路径传输协议,子流层示意了2个子流。上述的设备中可以包括该三种多路径传输层任一种,且由于应用层和IP层三种实现方式下类似,没有重复描绘。其中,左侧示意内核态的多路径传输层,其子流使用TCP/SCTP协议;中间示意用户态的MP层,其子流使用QUIC协议且内核态使用UDP协议;以及右侧示意用户态多路径传输层,其子流使用TCP/SCTP协议。
图3以终端为例,详细描述为本申请实施例所涉及的支持多路径传输技术的终端的总体架构图,其中按照逻辑架构的层次关系示意性地包括了终端软件和硬件的架构层次,其中也包括实现虚拟网卡技术的部件或者模块。需要说明的是,虚拟网卡技术可以基于一个无线电硬件虚拟出多个虚拟网卡,并可以用在各种终端设备或者网关等网络通信设备上,可扩展到任何操作系统。应理解,图3所示的架构,尤其是对所涉及的传输层的描述,对云端设备以及一些支持多路径传输技术的网元同样适用。本申请描述的方法可以代码形式存储在图3的存储器中,通过处理器的调用在传输层实施。
物理层,包括一个或多个无线电硬件设备,如天线等射频器件,用于完成物理层通信,无线电硬件设备是终端实现通过多个无线网络与服务器进行数据传输的硬件基础。需要说明的是,这些终端可以具有两个或者两个以上的无线电硬件设备,但是仍然可以通过配置,优选其中一个无线电设备参与通信和数据传输。物理层还包括存储器和处理器等其他硬件设备。
硬件驱动层,例如可以采用微软虚拟网卡技术,安装了微型端口驱动器,该驱动包括MP播放器,用于控制驱动器与操作系统之间的交互;MP端口接口,用于处理MP层与多个端口之间的通信;其中每个端口对应一个虚拟网卡(Virtual Network Interface Card,VNIC),每一个端口可以与对应的无线网络相关联,且因此控制无线电硬件与网络之间的通信,每个端口维持终端与对应的网络连接所需的介质访问控制层(Media Access Control,MAC)状态,该MAC状态相对于其它端口是唯一的;VNIC提供其对应端口需要的所有硬件层服务,一个VNIC对应的端口打开则这个VNIC也打开,VNIC与硬件虚拟化层(Hardware VirtualLayer,HVL)通信,该层多路复用或者多路分解各VNIC与物理无线电之间的信号,以允许将信号从VNIC传送到无线电硬件,并将无线电硬件用于端口与对应网络进之间的无线通信。综上,在图3所示的硬件驱动层中,微型端口驱动器可以将一个无线电硬件虚拟出多个虚拟网卡VNIC和多个端口,不同的端口和VNIC可以接入不同的接入节点,从而终端可以同时保持与多个接入节点的连接。当然,终端也可以在硬件上配备多块网卡。应理解,图3只是硬件驱动层的一个示例,本申请实施例对硬件驱动层具体的实现不做限定。
传输层,即图2所示的除APP层的部分,用于运行传输协议,维护与网络侧服务器建立的连接,其中运行有多路径传输协议。
应用层,即图2所示的APP层,用于操控和协调其他层的结构或模块完成任务及实现功能,包括终端上安装的应用软件及客户端,如通讯录、时钟、Yutube客户端、微信(Wechat)客户端等。
本申请中发送的数据,就是从发端的应用层下发到传输层,通过传输层中的多路径传输技术将数据分配到各个子流上,发端的硬件驱动层使用物理层的无线电硬件,将数据发送到网络,再经过网络的传输,由支持多路径传输技术的对端硬件接收后上报传输层,在传输层解析和整合后上报给对端应用层,从而完成数据的传输。
以下以子流使用TCP协议为例描述多路径传输连接的建立过程。多路径传输层可以将传统的TCP连接分流,分别在不同的路径上传输,多个路径就意味着多个TCP子流。一旦检测到有多个可用的网卡已经接入了网络,则多路径传输协议将连接的数据分流成多个子流对应到多个到可用的网卡,从而实现了单个连接下的多条传输链路的聚合。例如图4所示,终端的应用层客户端与服务器的应用层之间建立了多路径传输连接,终端应用层通过端口1,接入节点1到服务器端口1’到服务器应用层,可以认为是路径1,以及终端应用层通过端口2,接入节点2到服务器端口2’到服务器应用层,可以认为是路径2。多路径传输协议是与TCP协议完全兼容的协议,多路径传输连接的所有管理信息都是通过TCP选项字段来传输,所以只要数据交互双方设备均支持多路径传输协议,则初始连接时交换MP_CAP(Multipath Capable)选项。也就是说,多路径传输连接建立的流程与TCP连接类似,为三次握手,在三次握手的报文中都携带有MP_CAP(Multipath Capable),双方交换以示收发两端设备均支持多路径传输协议。
多路径传输技术是为了提高一个连接的传输性能,例如吞吐量,因此从设计上,要求一个多路径传输模式的实际吞吐量不能低于最优单路径(the best single path)传输的最大吞吐量。然而正如前文所述,实际上很多情况下,对于支持多路径传输技术的通信双方,使用某一单路径传输数据的传输性能反而优于多路径传输模式,例如负增益(inversegain)等,这显然是要克服的问题。这是由于,多路径传输连接的多条路径通常是异质(heterogeneous)的,例如该多条路径可以包括数字用户电路(Digital Subscriber Line,DSL),WiFi,无线蜂窝网(如LTE)和卫星链路中的至少两种,这样一多路径传输连接的多条路径的路径特征(path characteristics)往往不同。其中,用于表征路径特征的参数可以是时延(例如RTT),吞吐量(throughput),丢包率(Packet Loss Rate,PLR),丢包范围、拥塞窗口CWND的值和带宽(BandWidth,BW)等参数。各路径间的差异越大,越容易产生负增益问题。负增益问题甚至会影响多路径传输技术在全球的部署。例如在标准[RFC6182]中,描述说,推荐的接收缓冲区(buffer)为2*sum(BW_i)*RTT_max,且还记载了,在某些场景下,例如路径1100Mb/s,RTT为10ms;路径2∶1Mb/s,RTT为1000ms,那么应当只使用一多路径传输连接中可用的最快的路径。然而智能设备如智能手机,笔记本电脑或者个人电脑的缓冲区是有限的,该缓冲区的大小同样是一个引起负增益的原因,故在智能终端设备中,负增益更容易出现,但是有些时候,该缓冲区的大小在协议层是未知的。本申请描述的方法,通过在数据传输中测量路径特征,就可以知道何时切换到最优单路径传输数据,何时使用多路径传输模式数据,减少负增益。
多路径传输技术使用多条路径传输数据,该多条路径可以是两条或者两条以上的路径。通常该多条路径传输的数据是不同的,也就是上文反复描述的,多路径传输协议会将连接的数据分流到多个子流上,该多个子流都传输该连接的一部分数据,为了便于描述,本申请中称这种传输模式为多路径传输模式(multiple path transmission mode),也简称为多路径模式(MP mode)。但是,某些特殊场景下,例如对数据的可靠性要求很高的场景,或者对时延要求较为苛刻的场景,也可以使用另一种传输模式,即冗余传输模式(redundanttransmission mode),也简称为冗余模式(redundant mode)。冗余传输模式是指在一多路径传输连接的所有子流上,都传输相同的数据,即一个连接的数据被多个子流重复传输。这种传输模式显然不能发挥多路径传输技术的优势,而且需要数据的发端和收端的设备提供更高的硬件配置以供处理至少一份多出的冗余的数据,这也就意味着更高的设备配置成本。还有,需要指明的是,例如对一个多路径传输连接,支持n条路径传输数据,其中n大于1,默认的多路径传输模式就是使用这n条路径传输数据,但是可以使用该n条路径中的一条或者多条路径阐述数据。
本申请通过冗余传输模式测量多路径传输连接在这种情况下的一种或多种用于表示路径特征的参数,与使用多路径传输模式测量的该连接在此时的聚合(aggregated)路径的路径特征进行比较,这样就可以使用路径特征较好的方式(单路径或者多路径)传输数据,能够获得更好的传输性能。其中,聚合路径的路径特征是指将一个多路径传输连接将多个子流等价为一个单路径时,该等价的单路径的路径特征。或者,通过冗余传输模式测量多路径传输连接中多条子流的路径特征,来选择该多条子流中的一条或者多条子流进行数据传输,这样能够更好地发挥多路径传输模式的性能,并且,在从冗余传输模式切换到多路径传输模式,或者从多路径传输模式切换到冗余传输模式的过程中,由于总有子流在传输数据,也就是说,实际上测量过程是执行在数据传输过程中的,传输路径的切换和传输模式的切换也都是执行在数据传输过程中的,连接并没有断开,并不会中断业务,影响用户的使用,另外,本申请通过冗余传输模式测量路径特征参数,并不会依赖冗余传输模式传输数据,这样,就不会给收发端的设备造成太大的负担,也不会挤占收发端设备过多的资源处理冗余传输模式的数据,这样有效控制了冗余数据对收发端的影响。还有,使用冗余传输模式进行测量,无需专门构造其他的包(extra packets),测量过程传输的也都是该连接本要传输的数据包。且一个连接在冗余传输模式与多路径传输模式的传输模式下,子流使用的传输协议不会发生改变,测量结果更贴合实际情况下的路径特征,根据这样的结果使用的传输路径能比现有的技术手段更能保障对传输性能的提升。以及,测量表示什么路径特征的参数,是该连接的业务对传输性能的要求决定的,例如,下文分别以高吞吐(即减小负增益)和低时延为例进行了说明。
本申请中数据传输过程中阶段性地进行测量过程,即通过测量选定传输的子流,之后用选定的一条子流或者多条子流进行多路径传输模式。在冗余传输模式或者多路径传输模式的传输模式下,都可以开始测量。另外,由于网络状态是变化的,为了保障连接在传输数据的一段时间内都具有更优的传输性能,可以以事件触发或者周期性地使多路径传输模式的连接使用冗余传输模式,以确定该连接是否需要调整传输的路径,这也是本申请描述方案的一个优势,可以反复测量,更能提高测量的准确性,不断开业务,该测量过程是自适应动态网络环境(self-adapted to dynamic network environment)的。其中,事件例如可以是聚合路径的某些路径特征低于或者某个阈值,或者超出某个阈值范围,或者设置的计时器超时,或者某些业务的页面无法显示,或者视频出现卡顿,或者到了某个预置时间,例如北京时间早上8点到8点十分中秒数能整除15的时间等等。本申请对周期的时长设置,以及使用何种事件触发测量均不做限制。为便于描述,下文的实施例均描述在某种传输模式下的一次测量的过程。
由于浪费带宽,冗余传输模式普遍被认为是不利于多路径传输连接的聚合的,并且虽然冗余传输模式有利于降低数据的时延(例如RTT),但是却伴随着高昂的成本,故在提高链路的传输性能方面,并不会想到使用冗余传输模式。而本申请中,冗余传输模式下,测量出的该多路径传输连接的用于表征路径特征的参数值,被用于表征该多路径传输连接的最优单路径的对应的参数的值。且冗余传输模式下,测量出该多路径传输连接中各子流的用于表征路径特征的参数的值,更能反映各子流的路径特征的优劣,便于使用其中一部分路径特征较优的子流传输数据。这样,本申请的技术方案就巧妙地在传输过程中,使用冗余传输模式能测量出最优单路径的路径特征,这样就可以根据需求,与多路径传输模式情况下聚合路径的路径特征比较,从而使用多条子流或者最优单路径传输数据;甚至,可以确定使用该多条子流中的哪几条子流传输数据,测量的实时性和准确性都优于现有的方案,更能选出能保障较优的传输性能的子流。对负增益场景,取得的技术效果为:在缓冲区大小、带宽和丢包率都未知的情况下,就能使用吞吐量更高的方式传输数据,避免多路径传输聚合吞吐量小于最优单路径吞吐量,即多路径传输负增益。以及,实现本方案中路径特征参数的测量和路径的切换是实时的(real-time),且只需要在单端(即发端)进行改进。
下文的实施例中,测量的用于表征路径特征的参数可以是时延(例如RTT),吞吐量(throughput),丢包率(Packet Loss Rate,PLR),丢包范围、拥塞窗口CWND的值和带宽等参数中的至少一种。测量哪些参数是由需要保障的传输性能决定的。例如,需要使连接有高吞吐,实际上是要求连接能更多的利用带宽。则可测量吞吐量,这样就可以根据吞吐量估计出带宽,或者测量拥塞窗口的值和往返时延,通过计算可估计带宽,或者通过发送携带特殊信息的包来测量带宽。再例如,需要连接有低时延,那么就可测量与时延有关的参数,例如RTT。下文中,为了表述方便,将一实现方式下测量的用于表征路径特征的参数简称为路径特征参数。
正如上文所说,可以以事件触发或者周期性地触发冗余传输模式进行测量,那么也就可以在初始阶段,即建立连接的阶段,就开始周期性或者不定期地进行测量,这样,就无需单独设置开始测量的时机,也可以更快速地调整传输数据的链路,使传输性能更快地得到优化。而对于一个连接,初始阶段(即建立连接的阶段,又称慢启动阶段,slow startstage)和连接建立一段时间后的拥塞避免阶段,路径特征的参数值变化很大,初始阶段这些参数值的波动较大,并不能反映拥塞避免阶段的取值。例如,在初始阶段,连接的CWND值呈指数增长,而拥塞避免阶段连接的CWND值较为稳定地保持在一个范围内。使用本申请描述的方式测量,需要尽量保证测量数据能够较为客观地反映路径的网络状态,因此,使用冗余传输模式或者多路径传输模式测量参数值的过程中,可以采用下述的方式提高测量值的有效性,即保障测量出的值是连接在拥塞避免阶段的值,当然,对一次测量,这个提高有效性过程是可选的。例如,在连接稳定传输数据的阶段,就可以无需这个过程。
一种实现方式下,在一次测量过程中,测量多轮(round)路径特征参数,如果该多轮测量得到的路径特征参数值的变化小于给定的阈值,则认为当前网络状态下测得的路径特征参数值有效,可以使用这些测得的值,或者继续测量一轮或多轮。例如,该变化可以用方差来指示,也可以用两轮测量的路径参数值的变化率或者差值指示,具体方式本申请不做限制。例如定义阈值h,其中h∈(0,1),e.g.h=0.2,经过Nr轮测试,如果Nr(Nr>1)轮测量结果(如一路径的吞吐量)的变化率总小于h,则可认为测量结果是有效的。例如有效的测量值可以是最后一轮的测量结果,也可以是这Nr轮测量结果中某几轮测量结果的平均值。
其中,一次测量过程是指使用某一传输模式通过测量和处理,最终得到本次用于选择传输路径的一个或一组目标参数的过程。例如,在多径传输模式中,测量聚合路径的路径特征参数,又切换到冗余传输模式进行测量,到根据多径传输模式和冗余传输模式测量的路径特征参数调整传输路径为单路或多路,可认为这个过程中在多径传输和冗余传输模式中各进行了一次测量过程。
其中,两轮(round)测试之间可以间隔一段设定的时长,例如可用在连接建立一段时间后的拥塞避免阶段,比如可规定为1秒;两轮测试之间也可以是间隔从发送一个数据包到接收到这个数据包的ACK的时间,即该数据包的RTT,例如在初始阶段。其中,该设定的时长,以及测量的轮数都可以固定,或者变化,例如取按照某种分布的随机数、按照某种规律变化的数列、或者按照某种自学习算法自动学习的结果,本申请不做限制。一般一轮测试就是指测量一遍路径特征参数的值。
一种实现方式下,一旦获得一次测量过程的值,可以使用计时器(timer)来计量到再一次测量过程的时间间隔,还可以定义标记位(indicator),通过更新标记位的值来指示进行下一次测量过程。
又如,为减小路径特征参数的测量值的系统误差,可对测量值做一些处理以得到用于比较的参数值。比如可以计算多轮测量值的平均值,其中,可以是预设一段时间,计算该段时间内测量的多轮测量值的平均值,或者预设该求平均值的轮数,又如,计算平均值,可以是加权平均,简单算术平均或者几何平均等等,本申请不做限制。再比如,可以使用机器学习,或者数据拟合的方式处理多轮测量值。
当然,这些处理也可以认为是得到有效的测量值的方法,上述方式都只是一些举例,本申请并不限定提高测量值稳定性的方法。或者,可以在上述的确定得到有效的测量值后使用,即再用多轮测量值确定测量值是有效的之后,再测量多轮值进一步提高测量值的准确性,这些处理也是可选的。
初始建立连接时,可以默认使用冗余传输模式或者多路径传输模式,这样测量就可以从默认的传输模式开始,更加方便。以及,多路径传输模式使用现有的调度方案(scheduling scheme)分配数据包,例如调度方案可以是轮询调度(round-robin),最小往返时延算法(多路径传输′s default scheduler,minRTT)也可以是自定义的算法,本申请不做限制。下面描述使用冗余传输模式以确定使用最优路径进行单路径传输或者使用多路径传输模式这种场景下的一种实现流程。该实现方式以默认的传输模式为冗余传输模式为例来描述,初始默认使用冗余传输模式,可以保障慢启动阶段(slow start stage)的传输性能,且后续通过测量选择出合适的路径后,也不依赖冗余传输模式来传输数据,故不会给设备和网络带来太多负担。冗余传输模式下,吞吐量可以用一轮发送的数据总量除以该轮的时长表示。
发送端在冗余传输模式下,测量在冗余传输模式下,该多路径传输连接的多个子流的至少一个路径特征参数。这样通过比较测量结果或者比较计算结果就可以确定出最优单路径,该计算结果是根据测量结果计算出的,如RTT最短,带宽最宽或者吞吐量最大等,这是由需要保障哪方面的传输性能决定的。其中可以每个路径特征参数只测量一次,也可使用上述的任一种方式保障
一种实现方式下,还可以测量该多路径传输连接的聚合路径的至少一个路径特征参数,以此作为该多路径传输连接中的最优单路径的至少一个路径特征参数。
测量值的有效性。当然发送端可保存这次测量确定出的路径特征参数以及最优单路径。
上述的各种说明适用于图5所示的传输数据的方法流程图,其中包括S501和S502,是对实现流程的概括,关于图5对应的方法的解释说明还可以参考发明内容的第一方面和第一方面的各种实现方式。下面的描述可以视为符合图5对应的流程的几种具体实现。
确定是否需要测量多路径传输模式下的聚合路径的路径特征参数。例如,检测发送端保存的多路径传输模式下的聚合路径的路径特征参数是否过期,或者确定是否满足触发测量这些路径特征参数的条件。如果需要,则切换到多路径传输模式下,测量多路径传输连接的聚合路径的至少一个路径特征参数,其中可以每个路径特征参数只测量一次,也可使用上述的任一种方式保障测量值的有效性。以及,可以再次确定发送端在保存的最优单路径的路径特征参数是否过期,过期则进入冗余传输模式进行测量。使用最优单路径传输和多路径传输模式中传输性能好的传输数据,其中传输性能可以是时延,带宽或者吞吐量,这是由链路承载的业务的需求决定的,传输性能是由测量得到的路径特征参数或者由测量值所得的计算结果来表征。这样就可以保障在不同传输模式下测量的路径特征参数都能实时更新,从而能确保传输数据的路径能够维持较好的传输性能。
如果不需要,即发送端保存的多路径传输模式下聚合路径的路径特征参数无需更新,则可以直接从冗余传输模式切换到最优单路径传输和多路径传输模式中,测量结果指示的传输性能好的一种来传输数据。经过一段时间或者由事件触发的,可以再次使用冗余传输模式重复上述过程,当然,如果切换到的是多路径传输模式,也可以在经过一段时间或者特定事件触发后,先获取多路径传输模式下聚合路径的路径特征参数,再使用冗余传输模式更新冗余传输模式下的路径特征参数,根据新的测量结果切换到最优单路径传输和多路径传输模式中,由测量结果指示的传输性能好的一种来传输数据。当然,在获取多路径传输模式下聚合路径的路径特征参数后,可以判断一下是否需要更新该路径的最优单路径的路径特征参数,如果需要则使用冗余传输模式测量新的数据,如果不需要可以使用终端中保存的之前在冗余传输模式下测量的数据。
上述实现方式描述的是在冗余传输模式和多路径传输模式都测量聚合路径的路径特征参数。上述的实现方式可以认为对应图5。
当然,也可以只在冗余传输模式下进行测量以确定路径,仅在冗余传输模式下测量可以确定出多路径传输连接的最优单路径,这种情况下测冗余传输模式下的聚合路径的路径特征是可选的。这也就是发明内容的第二方面,权利要求10到14对应的部分,前文的各种说明仍然适用。例如希望多路径传输连接始终使用子流中的最优单路径传输数据,或者希望多路径传输连接使用子流中多条路径特征较优的子流传输数据,或者希望从多路径传输连接的某几条子流中选出一条或多条路径特征较优的子流。
其对应的流程可以是,使一多路径传输连接进入冗余传输模式,在冗余传输模式下测量各条子流的一个或多个路径特征参数,其中,可选的,可以使用上述方法确保得到的路径特征参数的有效性。使用最优单路径或者较优的多条子流传输数据,其中该最优单路径或者较优的多条是根据测量的多条子流的路径特征参数得到的。其中较优的子流的数目可以是提前预置的。例如,最优的子流可以是时延最短的,带宽最宽的或者吞吐量最大的等等,那么相应的,较优的多条子流例如是一多路径传输连接的四条子流中时延较短的两条。其中,可以是比较测得的路径特征参数,选出最优的子流;也可以是根据测得的路径特征参数进行计算,根据计算结果选出最优的子流。另一方面,可以周期或者事件触发地进入冗余传输模式,重复上述过程以更新测量结果,使用根据更新的测量结果确定出的最优单路径或者较优的多条子流传输数据,那么更新的测量结果可以导致传输数据的路径的改变,也有可能维持原路径。这样可以实时更新传输数据的路径,能够更好地适应网络状态的变化,更好地保障传输性能。这一流程中涉及的与上述的在冗余传输模式和多路径传输模式下都测量的流程中类似描述的解释和实现,请参照上文。
为了便于理解,下面以需求为减少多路径传输模式下的负增益为例,描述通过上述的测量方法来使用传输性能较优的路径传输数据的一个具体实现。该具体实现可以认为是图5对应的方法流程的一种具体实现。该过程中,关注的传输性能为吞吐量,传输性能优表现为吞吐量大,具体比较的是路径1秒内的吞吐量。该实现方式中,改进在内核态MP(Multiple Path)层,从而驱动现有的冗余传输模块和多路传输模块实施网络测量,根据测量结果得到最优单路径的吞吐量、聚合路径的吞吐量、确定最优单路径,其中最优单路径为吞吐量最大的路径,使用吞吐量较大的方式传输数据,从而适时避免负增益产生。该实施方式下,路径使用TCP协议或者SCTP协议,以及该实施方式中涉及的与前文相同的名词或步骤,请参见前文描述,此处不再赘述。例如,如图6所示的传输数据的装置600,实际上就可以理解为对应设备的传输层,具体是MP层。其中,本申请在减少负增益场景下的改进可以认为在负增益避免模块601,该负增益避免模块601通过驱动现有的冗余传输模块602和多路传输模块603实施网络测量以及切换传输路径,也就是执行本申请发明内容和具体实现方式中描述的各种方法。
多路径传输连接建立的初始阶段,内核MP层通过冗余方式发送报文,每经过一轮传输,计算一次聚合路径的吞吐量,其中聚合路径的吞吐量等于MP层一轮成功发送的数据量除以本轮花费的时间。如果本次吞吐量的测量值大于上次吞吐量测量值a%(例如a=20),则继续保持冗余传输模式,并设置吞吐量测量计数器为0;否则,保持冗余传输模式,且吞吐量测量计数器加1。其中,一轮传输表示从发送一个数据包到接收到该数据包的ACK的过程。
待吞吐量测量计数器等于3(该值可取其他),MP层在冗余模式下测量吞吐量,以及初始化吞吐量测量计时器A的超时时间为10秒、设置吞吐量测量标记位A为1,初始化吞吐量测量计时器B的超时时间为10秒、设置吞吐量测量标记位B为1。这样就跳过了连接不稳定的初始阶段,这个阶段连接的各种路径特征变化大,传输的数据量又不多,维持初始默认的路径传输即可。
其中,吞吐量测量计数器是一个计数器,通过上述的设置,该计数器可用于指示该多路径传输连接处于连接建立的初始阶段还是连接的拥塞避免阶段(congestionavoidance stage)。在上述的设置中,可以认为该吞吐量测量计数器等于3后,该连接为拥塞避免阶段。吞吐量测量计时器A(也称冗余模式计时器,the timer for redundant mode)和吞吐量测量计时器B(也称多路径模式计时器,the timer for MP mode)是两个计时器,例如上述的吞吐量测量计每次超时后都需要重新设置超时时间,吞吐量测量计时器A可用于触发在冗余传输模式下的测量,吞吐量测量计时器B可用于触发在多路传输下的测量。吞吐量测量标记位A,也称更新冗余测量值标记位(indicator of updating redundantmeasurement value),简称冗余标记位,(ndicator of redundant)用于表示是否使用冗余传输模式进行测量;吞吐量测量标记位B,也称更新多路径测量值标记位(the indicatorof updating MP measurement value),简称多路径标记位,(indicator of MP)用于表示是否使用多路径传输模式进行测量。上述的冗余标记位和多路径标记位,置1为需要测量,置0为无需测量,也就是可以使用发端保存的先前测量得到的值。当然也可以反过来设置。应理解,重新测量后会更新发端保存的之前相应的传输模式下的测量值。这种实现方式下,将是否要重新测量(吞吐量测量标记位)和隔多久进行测量(吞吐量测量计时器)这两个逻辑分开实现,这样需要更改测量之间的时间间隔就比较容易,只需修改计时器的超时时间,而不会影响本过程中的其他逻辑,当然,其他实现方式下,也可以将上述两个逻辑合一设置,本申请并不限制。应理解,上述逻辑中,各种计时器超时时间可人为规定,两个计时器的超时时间可设为不同。
在冗余传输模式下测量该多条路径的吞吐量,这样就可以根据测量得到的多条路径的吞吐量比较得到最优单路径。当然,可选的,在冗余模式下可测量聚合路径的吞吐量,可得冗余模式下聚合路径的吞吐量与最优单路径的吞吐量最接近。可选的,该测量过程可包括前文所说的用于得到有效的测量值的过程,例如具体包括在一段时间内(如1秒内)多轮测量所述多条路径的吞吐量以得到多轮测量结果;对多条路径中的每条路径,将该路径的多轮测量结果的平均值作为该路径在冗余传输测量得到的吞吐量。获得本次测量的值后,设置吞吐量测量计时器A的超时时间为10秒、设置吞吐量测量标记位A为0。测量结束后,每次发送数据时,检查吞吐量测量标记位B是否为1。如果是1,则切换到多路径传输模式测量聚合路径的吞吐量,以及使用最优单路径和多路径传输模式下聚合路径中吞吐量大的方式传输数据,其中多路径传输模式下聚合路径的吞吐量使用切换后测量获得的数据,例如可以通过比较上述的两个吞吐量来确定是使用最优单路径还是多路径传输模式下的聚合路径。如果为0,使用最优单路径和多路径传输模式下的聚合路径中吞吐量大的方式传输数据。例如多路径传输模式下聚合路径的吞吐量使用发端保存的最近一次测量的数据。
在多路径传输模式下测量聚合路径的吞吐量,具体包括采用多路径传输模式数据,并测量1秒钟内聚合路径的平均吞吐量作为吞吐量估计值,可选的,该测量过程可包括前文所说的用于得到有效的测量值的过程。例如具体包括在一段时间内(如1秒内)多轮测量所述聚合路径的吞吐量以得到多轮测量结果;该多轮测量结果的平均值作为在多路径传输模式下测量聚合路径的吞吐量。获得本次测量的值后,设置吞吐量测量计时器B的超时时间为10秒、设置吞吐量测量标记位B为0。测量结束后,每次发送数据时,检查吞吐量测量标记位A是否为1。如果是1,则切换到冗余传输模式测量最优单路径的吞吐量,以及使用最优单路径和多路径传输模式下聚合路径中吞吐量大的方式传输数据,其中冗余传输模式下聚合路径的吞吐量使用切换后测量获得的数据,例如可以通过比较上述的两个吞吐量来确定是使用最优单路径还是聚合路径。如果为0,使用最优单路径和多路径传输模式下的聚合路径中吞吐量大的方式传输数据。例如多路径传输模式下聚合路径的吞吐量使用发端保存的最近一次测量的数据。
一种实现方式下,通过比较冗余传输模式下吞吐量的测量值和多路径传输下吞吐量的测量值,具有较大测量值的传输模式被选为接下来传输数据所使用的传输模式,如果冗余传输模式被选中,那么具有更大测量值的路径被作为最优单路径用于数据传输,并且检查吞吐量测量标记位A和吞吐量测量标记位B的值。另一方面,如果多路径传输模式被选中,使用现有的调度方案(如minRTT)选择多条路径进行数据传输,并且检查吞吐量测量标记位A和吞吐量测量标记位B的值。
由于网络中各参数是实时变化的,为了保障始终能够使用吞吐量较宽的方式传输数据,上述的测量过程伴随连接传输数据的过程中。故,在每次发送数据之前,应检测吞吐量测量标记位A以及吞吐量测量标记位B的值,在这两个值都为0的情况下保持使用现有的路径传输数据,若吞吐量测量标记位A置1,则进入冗余传输模式进行测量;若吞吐量测量标记位B置1,则进入多路径传输模式进行测量。具体实现可参见本申请前述的相关内容。
其中,在上述过程中,吞吐量测量计时器A超时,则置吞吐量测量标记位A的值为1,并重置吞吐量测量计时器A的超时时间为10s。吞吐量测量计时器B超时,则置吞吐量测量标记位B的值为1,并重置吞吐量测量计时器A的超时时间为10s。也就是说,在使用相应的计时器使相应的标记位置1,以及,计时器超时或者得到该计时器对应的传输模式下的传输结果,计时器都重置超时时间。
这样,上述实现方式通过交替使用冗余传输模式和多路径传输模式测量最佳路径和MP聚合吞吐量,从而使用传输性能较好的方式传输数据。取得的技术效果为:在缓冲区大小、带宽和丢包率都未知的情况下,就能使用吞吐量更高的方式传输数据,避免多路径传输聚合吞吐量小于最优单路径吞吐量,即多路径传输负增益。以及,实现本方案中路径特征参数的测量和路径选择是实时的(real-time),且都只需要在单端进行改进。
正如前文所说,可以通过在冗余传输模式测量多路径传输连接的多条路径的时延,以使用其中的最优单路径或者多条较优的路径传输数据。下面再以需求为低时延为例,描述一个通过冗余传输模式使用多路径传输连接中的最优单路径传输数据的实现。
其中,该例子中,每条路径的时延以多个包的平均RTT表示,最优单路径为平均RTT最小的路径。该实施方式同样在协议栈的MP层,同样使用一测量计时器以及测量标记位以周期性地使用冗余传输模式测量以重新确定最优单路径,该实施方式中涉及的与前文相同的名词或步骤,请参见前文描述,此处不再赘述。
一多路径传输连接可在初始阶段任意使用一路径传输数据,或者使用冗余传输模式的传输方式传输数据。使用冗余传输模式测量该多路径传输连接的多条路径的时延,初始化测量计时器的超时时间为3秒(该数字可预置为其他值),测量标记位为1,测量使用冗余传输模式发送的10个数据包(该数字可预置为其他值)在该多条路径上的RTT,重置测量标记位为0,重置测量计时器的超时时间为3秒,计算该多条路径的平均时延,其中,一条路径的平均时延等于在该条路径上传输的这10个数据包的平均RTT,使用该多条路径中平均时延最小的一条传输数据。
以及,在每次发送数据包前,判断测量标记位的值,如果值为0,则使用当前的路径发送数据,如果值为1,则使用冗余传输模式测量多条路径的平均时延,再使用在新的测量结果下平均时延最小的一条传输数据。
另外,测量计时器超时,则重置测量标记位为1,重置测量计时器超时时间为3秒。
使用冗余传输模式的有益效果请参见前文相关的论述,此处不再赘言。
图7描述了本申请实施例提供的装置的结构示意图,该装置用于传输包括多条路径的连接的数据,所述路径为所述连接的发端与收端之间的链路。该装置包括测量模块701和传输模块702。该装置可以实现本申请记载的任一种方法。
一个实施例对应图5的方法,其中,测量模块701用于在冗余传输模式下,测量所述冗余传输模式下所述多条路径的路径特征,其中,所述冗余传输模式为在所述多个路径上传输相同的数据的传输模式;以及在多路径传输模式下,测量所述多路径传输模式下的聚合路径的路径特征,其中,所述多路径传输模式为在所述多条路径上传输不同的数据的传输模式,所述聚合路径的路径特征为将所述多个路径等价为一个单路径时,所述单路径的路径特征。
传输模块702用于在最优单路径的路径特征优于所述多路径传输模式下聚合路径的路径特征的情况下,通过最优单路径传输所述连接的数据,其中,所述最优单路径为所述冗余传输模式下测得的所述多条路径中路径特征最优的路径;以及在所述多路径传输模式下的聚合路径的路径特征优于所述最优单路径的路径特征的情况下,通过所述多路径传输模式传输所述连接的数据。
关于这个实施例下的各种解释说明,各种实现方式和有益效果,请参见申请文件其他部分的描述,这里不再重复。
另一个实施例对应使用冗余传输测量以使用最优单路径传输的情况。其中,测量模块701用于在冗余传输模式下,测量所述冗余传输模式下所述多条路径的路径特征,其中,所述冗余传输模式为在所述多个路径上传输相同的数据的传输模式;传输模块702用于使用所述多条路径中包括所述最优单路径在内的一条或多于一条的路径传输所述连接的数据,其中,所述最优单路径为所述冗余传输模式下测得的所述多条路径中路径特征最优的路径。
关于这个实施例下的各种解释说明,各种实现方式和有益效果,请参见申请文件其他部分的描述,例如对该情况下方法实施的说明,这里不再重复。
另外,在减少负增益的场景下,图7中的测量模块701可以认为对应图6中的负增益避免模块601,传输模块702可以认为对应图6中的冗余传输模块602和多路径传输模块603。
图8描述了本申请实施例提供的设备的结构示意图。该设备900包括:至少一个处理电路901,通信接口904,通信接口904包括至少一个物理网卡,存储介质905,至少一个通信总线902。通信总线902用于实现这些组件之间的连接通信。其中,存储介质905中保存有用于执行本申请记载的任一种方法的代码。
一种实现方式下,该设备900可以是终端设备,在是终端设备的情况下,可选的包含用户接口903,包括显示器(例如,触摸屏、LCD、CRT、全息成像(Holographic)或者投影(Proiector)等),键盘或者点击设备(例如,鼠标,轨迹球(trackball),触感板或者触摸屏等)。存储介质905可以包括只读存储器和随机存取存储器,并向处理电路901提供指令和数据。存储介质905的一部分还可以包括非易失性随机存取存储器(NVRAM)。
在一些实施方式中,例如该设备为终端或服务器的情况下,存储介质905存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:操作系统9051,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;应用程序模块9052,包含各种应用程序,例如桌面(launcher)、媒体播放器(Media Player)、浏览器(Browser)等,用于实现各种应用业务。而在该设备为网关的情况下,该存储介质905可以只存储用于执行上文所述的方法所需要的程序代码。
以及,该设备为终端的情况下,一种实现方式可以是参考图3对应的终端架构图和相关说明。该设备可以通过处理电路901调用存储介质905中的程序,使得处理电路901通过通信接口904,执行前文的各种方法。具体的实现方式、相关说明和有益效果,请参见上文,此处不再赘述。例如,处理电路901通过通信接口904,可以实现图6和图7所示的装置中的各模块的功能。例如,冗余传输模块602、多路径传输模块603,以及传输模块702可以是由不同的进程或者线程调用的通信接口实现的。
本申请的另一个实施例还记载一种芯片或者存储介质,这种芯片或者存储介质可以放置在上文所述的发端,用于执行本申请中描述的方法,或者保存有用于执行本申请描述的方法的代码。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件(例如处理器)来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例之一的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上为本申请实施例所提供的一种数据传输方法和装置,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。
Claims (20)
1.一种传输数据方法,其特征在于,所述方法用于包括多条路径的连接,所述路径为所述连接的发端与收端之间的链路,所述方法包括:
在冗余传输模式下,测量所述冗余传输模式下所述多条路径的路径特征,其中,所述冗余传输模式为在所述多条路径上传输相同的数据的传输模式;
在多路径传输模式下,测量所述多路径传输模式下的聚合路径的路径特征,其中,所述多路径传输模式为在所述多条路径上传输不同的数据的传输模式,所述聚合路径的路径特征为将所述多条路径等价为一个单路径时,所述单路径的路径特征;
在最优单路径的路径特征优于所述多路径传输模式下聚合路径的路径特征的情况下,通过最优单路径传输所述连接的数据,其中,所述最优单路径为所述冗余传输模式下测得的所述多条路径中路径特征最优的路径;
在所述多路径传输模式下的聚合路径的路径特征优于所述最优单路径的路径特征的情况下,通过所述多路径传输模式传输所述连接的数据。
2.根据权利要求1所述的方法,其特征在于,用于表示所述路径特征的参数为时延,带宽,吞吐量,丢包率,丢包范围以及拥塞窗口值中的至少一种。
3.根据权利要求1或2任一权要所述的方法,其特征在于,所述方法还包括:
从所述最优单路径或者所述多路径传输模式下变更到冗余传输模式;
重新测量所述冗余传输模式下所述多条路径的路径特征;
使用该重新测量得到的最优单路径和所述多路径传输模式中,路径特征较优的方式传输所述连接的数据。
4.根据权利要求1所述的方法,其特征在于,用于表示所述路径特征的参数为吞吐量,则吞吐量越大表示路径特征越优,所述在冗余传输模式下,测量所述冗余传输模式下所述多条路径的路径特征,包括:
在一段时间内,在所述冗余传输模式下多轮测量所述多条路径的吞吐量以得到多轮测量结果;
对所述多条路径中的每条路径,将该路径的多轮测量结果的平均值作为该路径在冗余传输测量得到的吞吐量。
5.根据权利要求1所述的方法,其特征在于,发送端设置有多路径传输模式计时器以及冗余传输模式计时器;以及所述发送端设置有更新冗余测量值标记位以及更新多路径测量值标记位,所述更新冗余测量值标记位用于表示是否使用冗余传输模式进行测量,所述更新多路径测量值标记位用于表示是否使用多路径传输模式进行测量,所述方法还包括:
在所述多路径传输模式计时器超时的情况下重置所述多路径传输模式计时器;在所述冗余传输模式计时器超时的情况下重置所述冗余传输模式计时器。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在所述多路径传输模式计时器超时的情况下,将所述更新多路径测量值标记位置1;
在所述冗余传输模式计时器超时的情况下,将所述更新冗余测量值标记位置1;
在测量所述多路径传输模式下的聚合路径的路径特征后,将所述更新多路径测量值标记位置0以及重置所述多路径传输模式计时器;
在测量所述冗余传输模式下所述多条路径的路径特征后,将所述更新冗余测量值标记位置0以及重置所述冗余传输模式计时器。
7.根据权利要求6所述的方法,其特征在于,所述在冗余传输模式下,测量所述冗余传输模式下所述多条路径的路径特征,包括:在所述更新冗余测量值标记位置1的情况下,测量所述冗余传输模式下所述多条路径的路径特征;
以及,所述在多路径传输模式下,测量所述多路径传输模式下的聚合路径的路径特征,包括:在所述更新多路径测量值标记位置1的情况下,测量所述多路径传输模式下的聚合路径的路径特征。
8.根据权利要求6或7所述的方法,其特征在于,所述方法还包括:
在使用任一路径传输数据包前,检查所述更新冗余测量值标记位以及在所述更新多路径测量值标记位;
在所述更新冗余测量值标记位置0以及在所述更新多路径测量值标记位置0的情况下,保持使用当前的路径传输数据。
9.根据权利要求1、2、4、6、7中任一所述的方法,其特征在于,所述连接为MPTCP连接,所述方法还包括:
在所述MPTCP连接的慢启动阶段,使用所述冗余传输模式传输数据;
在所述冗余传输模式下,测量多轮所述冗余传输模式下的聚合路径的路径特征;
在多次确定一轮测量的路径特征与上一轮测量的路径特征之间变化率小于预设值的情况下,测量所述冗余传输模式下所述多条路径的路径特征。
10.一种传输数据的装置,其特征在于,所述装置用于传输包括多条路径的连接的数据,所述路径为所述连接的发端与收端之间的链路,所述装置包括:
测量模块,所述测量模块用于在冗余传输模式下,测量所述冗余传输模式下所述多条路径的路径特征,其中,所述冗余传输模式为在所述多条路径上传输相同的数据的传输模式;
所述测量模块还用于在多路径传输模式下,测量所述多路径传输模式下的聚合路径的路径特征,其中,所述多路径传输模式为在所述多条路径上传输不同的数据的传输模式,所述聚合路径的路径特征为将所述多条路径等价为一个单路径时,所述单路径的路径特征;
传输模块,所述传输模块用于在最优单路径的路径特征优于所述多路径传输模式下聚合路径的路径特征的情况下,通过最优单路径传输所述连接的数据,其中,所述最优单路径为所述冗余传输模式下测得的所述多条路径中路径特征最优的路径;
所述传输模块还用于在所述多路径传输模式下的聚合路径的路径特征优于所述最优单路径的路径特征的情况下,通过所述多路径传输模式传输所述连接的数据。
11.根据权利要求10所述的装置,其特征在于,用于表示所述路径特征的参数为时延,带宽,吞吐量,丢包率,丢包范围以及拥塞窗口值中的至少一种。
12.根据权利要求10或11所述的装置,其特征在于,所述测量模块还用于从所述最优单路径或者所述多路径传输模式下变更到冗余传输模式,以及重新测量所述冗余传输模式下所述多条路径的路径特征;
所述传输模块还用于使用该重新测量得到的最优单路径和所述多路径传输模式中,路径特征较优的方式传输所述连接的数据。
13.根据权利要求10所述的装置,其特征在于,用于表示所述路径特征的参数为吞吐量,则吞吐量越大表示路径特征越优,在所述在冗余传输模式下,测量所述冗余传输模式下所述多条路径的路径特征的方面,所述测量模块还用于在一段时间内,在所述冗余传输模式下多轮测量所述多条路径的吞吐量以得到多轮测量结果;对所述多条路径中的每条路径,将该路径的多轮测量结果的平均值作为该路径在冗余传输测量得到的吞吐量。
14.根据权利要求10所述的装置,其特征在于,所述装置设置有多路径传输模式计时器以及冗余传输模式计时器;以及发送端设置有更新冗余测量值标记位以及更新多路径测量值标记位,所述更新冗余测量值标记位用于表示是否使用冗余传输模式进行测量,所述更新多路径测量值标记位用于表示是否使用多路径传输模式进行测量,所述装置还包括重置模块,所述重置模块用于在所述多路径传输模式计时器超时的情况下重置所述多路径传输模式计时器;在所述冗余传输模式计时器超时的情况下重置所述冗余传输模式计时器。
15.根据权利要求14所述的装置,其特征在于,所述重置模块还用于
在所述多路径传输模式计时器超时的情况下,将所述更新多路径测量值标记位置1;
在所述冗余传输模式计时器超时的情况下,将所述更新冗余测量值标记位置1;
在测量所述多路径传输模式下的聚合路径的路径特征后,将所述更新多路径测量值标记位置0以及重置所述多路径传输模式计时器;
在测量所述冗余传输模式下所述多条路径的路径特征后,将所述更新冗余测量值标记位置0以及重置所述冗余传输模式计时器。
16.根据权利要求15所述的装置,其特征在于,所述在冗余传输模式下,测量所述冗余传输模式下所述多条路径的路径特征的方面,所述测量模块用于在所述更新冗余测量值标记位置1的情况下,测量所述冗余传输模式下所述多条路径的路径特征;
以及,在所述在多路径传输模式下,测量所述多路径传输模式下的聚合路径的路径特征的方面,所述测量模块用于在所述更新多路径测量值标记位置1的情况下,测量所述多路径传输模式下的聚合路径的路径特征。
17.根据权利要求15或16所述的装置,其特征在于,所述传输模块还用于在使用任一路径传输数据包前,检查所述更新冗余测量值标记位以及在所述更新多路径测量值标记位;在所述更新冗余测量值标记位置0以及在所述更新多路径测量值标记位置0的情况下,保持使用当前的路径传输数据。
18.根据权利要求10、11、13、14中任一所述的装置,其特征在于,所述连接为MPTCP连接,传输模块还用于在所述MPTCP连接的慢启动阶段,使用所述冗余传输模式传输数据;
所述测量模块还用于在所述冗余传输模式下,测量多轮所述冗余传输模式下的聚合路径的路径特征;在多次确定一轮测量的路径特征与上一轮测量的路径特征之间变化率小于预设值的情况下,测量所述冗余传输模式下所述多条路径的路径特征。
19.一种传输数据的设备,其特征在于,所述设备用于传输包括多条路径的连接的数据,所述设备包括处理电路、通信接口和存储介质,所述存储介质中存储有协议栈程序,所述通信接口用于通过所述存储介质中的指令与其他设备收发数据包,所述处理器用于运行所述存储介质中的指令控制所述通信接口,以实现如权利要求1到9任一项所述的方法。
20.根据权利要求19所述的设备,其特征在于,所述设备为终端。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711094016.3A CN109729007B (zh) | 2017-10-28 | 2017-10-28 | 一种传输数据的方法、装置和设备 |
PCT/CN2018/112250 WO2019080938A1 (zh) | 2017-10-28 | 2018-10-27 | 一种传输数据的方法、装置和设备 |
EP18870460.5A EP3694160B1 (en) | 2017-10-28 | 2018-10-27 | Date transmission method, apparatus and device |
US16/859,534 US11271848B2 (en) | 2017-10-28 | 2020-04-27 | Data transmission method, apparatus, and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711094016.3A CN109729007B (zh) | 2017-10-28 | 2017-10-28 | 一种传输数据的方法、装置和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109729007A CN109729007A (zh) | 2019-05-07 |
CN109729007B true CN109729007B (zh) | 2022-07-22 |
Family
ID=66247755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711094016.3A Active CN109729007B (zh) | 2017-10-28 | 2017-10-28 | 一种传输数据的方法、装置和设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11271848B2 (zh) |
EP (1) | EP3694160B1 (zh) |
CN (1) | CN109729007B (zh) |
WO (1) | WO2019080938A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
CN115442452A (zh) * | 2019-01-08 | 2022-12-06 | 华为技术有限公司 | 一种数据传输方法及电子设备 |
CN110768900B (zh) * | 2019-09-18 | 2021-06-22 | 华为技术有限公司 | 一种数据传输方法及电子设备 |
TWI793399B (zh) * | 2020-02-14 | 2023-02-21 | 緯創資通股份有限公司 | 使用者裝置及資料流量傳遞之排程方法 |
CN113301000B (zh) * | 2020-02-24 | 2023-04-18 | 贵州白山云科技股份有限公司 | 数据传输方法、装置、介质及设备 |
CN113572684B (zh) * | 2020-04-28 | 2022-11-08 | 中国移动通信集团安徽有限公司 | 端口流量确定方法、装置和计算设备 |
US11606118B2 (en) * | 2020-08-27 | 2023-03-14 | Connectify, Inc. | Data transfer with multiple threshold actions |
CN112291366B (zh) * | 2020-11-13 | 2023-06-20 | Oppo广东移动通信有限公司 | 数据传输方法、装置、存储介质及电子设备 |
CN112398943B (zh) * | 2020-11-13 | 2022-10-21 | Oppo广东移动通信有限公司 | 信息互通方法、装置、存储介质及电子设备 |
CN113518040B (zh) * | 2021-04-30 | 2022-12-09 | 东北大学 | 一种面向时延敏感业务的多径耦合拥塞控制方法 |
US20220400074A1 (en) * | 2021-06-09 | 2022-12-15 | Microsoft Technology Licensing, Llc | System to transmit messages using multiple network paths |
CN113676404A (zh) * | 2021-08-23 | 2021-11-19 | 北京字节跳动网络技术有限公司 | 数据传输方法、装置、设备、存储介质及程序 |
TWI818347B (zh) * | 2021-11-04 | 2023-10-11 | 台北富邦商業銀行股份有限公司 | 資料傳輸路徑選擇系統 |
CN116192694A (zh) * | 2023-03-03 | 2023-05-30 | 中国互联网络信息中心 | 一种时延测量方法和相关装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101895466A (zh) * | 2010-07-02 | 2010-11-24 | 北京交通大学 | 一种降低sctp多路径传输数据包乱序影响的方法 |
EP2763362A1 (en) * | 2013-01-31 | 2014-08-06 | Thomson Licensing | A method for connecting a multi-homed and MPTCP capable client with a regular TCP server |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7664032B2 (en) * | 2003-11-10 | 2010-02-16 | Oki Electric Industry Co., Ltd. | Communication terminal and communication network |
US9264353B2 (en) * | 2011-09-22 | 2016-02-16 | Qualcomm Incorporated | Dynamic subflow control for a multipath transport connection in a wireless communication network |
CN103580773A (zh) * | 2012-07-18 | 2014-02-12 | 中兴通讯股份有限公司 | 数据帧的传输方法及装置 |
CN102843257B (zh) * | 2012-08-15 | 2016-08-03 | 无锡北邮感知技术产业研究院有限公司 | 一种路径评估方法及装置 |
CN103281252B (zh) * | 2013-05-14 | 2017-04-26 | 华为技术有限公司 | 一种基于多路径传输的报文流量控制方法和装置 |
EP3039837B1 (en) | 2013-08-29 | 2019-07-24 | Telefonaktiebolaget LM Ericsson (publ) | Mptcp scheduling |
US20150281367A1 (en) * | 2014-03-26 | 2015-10-01 | Akamai Technologies, Inc. | Multipath tcp techniques for distributed computing systems |
CN103905463B (zh) | 2014-04-21 | 2017-02-15 | 北京邮电大学 | 一种适用于多路径传输的连接管理与控制方法 |
CN104202243A (zh) * | 2014-09-06 | 2014-12-10 | 国家电网公司 | 广域后备保护中多路径同时传输的方法 |
US9775019B2 (en) * | 2014-10-27 | 2017-09-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Carrier aggregation in an integrated wireless communications network having a WLAN and a cellular communications network |
FR3032852A1 (fr) * | 2015-02-13 | 2016-08-19 | Orange | Procede de selection de concentrateurs de connexions reseau |
CN104994036B (zh) | 2015-06-09 | 2018-04-24 | 北京邮电大学 | 一种多路径传输协议中的动态数据调度方法 |
CN105025524B (zh) * | 2015-06-09 | 2018-11-13 | 北京邮电大学 | 一种多路径并行传输数据调度方法及传输控制协议 |
CN106507696B (zh) | 2015-06-26 | 2018-10-12 | 瑞典爱立信有限公司 | 用于确定是否要发起第二多路径传输控制协议连接的第一网络节点及其中的方法 |
US10020918B2 (en) * | 2015-12-28 | 2018-07-10 | Alcatel Lucent | Fast coupled retransmission for multipath communications |
CN105873096B (zh) * | 2016-03-24 | 2019-05-10 | 重庆邮电大学 | 一种多路径并行传输系统有效吞吐量的优化方法 |
US10193781B2 (en) * | 2016-04-14 | 2019-01-29 | At&T Intellectual Property I, L.P. | Facilitation of multipath transmission control protocols |
CN105915466B (zh) | 2016-04-15 | 2019-03-19 | 北京邮电大学 | 一种mptcp路径选择的方法及装置 |
-
2017
- 2017-10-28 CN CN201711094016.3A patent/CN109729007B/zh active Active
-
2018
- 2018-10-27 EP EP18870460.5A patent/EP3694160B1/en active Active
- 2018-10-27 WO PCT/CN2018/112250 patent/WO2019080938A1/zh unknown
-
2020
- 2020-04-27 US US16/859,534 patent/US11271848B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101895466A (zh) * | 2010-07-02 | 2010-11-24 | 北京交通大学 | 一种降低sctp多路径传输数据包乱序影响的方法 |
EP2763362A1 (en) * | 2013-01-31 | 2014-08-06 | Thomson Licensing | A method for connecting a multi-homed and MPTCP capable client with a regular TCP server |
Also Published As
Publication number | Publication date |
---|---|
WO2019080938A1 (zh) | 2019-05-02 |
CN109729007A (zh) | 2019-05-07 |
EP3694160A4 (en) | 2021-01-20 |
EP3694160A1 (en) | 2020-08-12 |
US11271848B2 (en) | 2022-03-08 |
US20200259738A1 (en) | 2020-08-13 |
EP3694160B1 (en) | 2023-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109729007B (zh) | 一种传输数据的方法、装置和设备 | |
CN108881008B (zh) | 一种数据传输的方法、装置和系统 | |
EP4072080A1 (en) | Data flow control method and device | |
CN111866956B (zh) | 一种数据传输方法及对应的设备 | |
US20160218979A1 (en) | Apparatus and method for transmitting packets through multi-homing based network | |
CN108696449B (zh) | 一种数据调度方法及装置 | |
CN112019395B (zh) | 用于网络的测量的方法、网络设备和系统 | |
US20170063699A1 (en) | Method and apparatus for configuring multi-paths using segment list | |
JP5867160B2 (ja) | 通信制御装置、通信制御方法および通信制御プログラム | |
US10673991B2 (en) | Method and system for the scheduling of packets in a bundling scenario based on TCP tunnels and native TCP information | |
US20170027016A1 (en) | Communication device, wireless communication device, and communication method | |
EP3232638A1 (en) | Data transmission method, apparatus and system | |
Nguyen et al. | Evaluation of multipath TCP load sharing with coupled congestion control option in heterogeneous networks | |
Halepoto et al. | Management of buffer space for the concurrent multipath transfer over dissimilar paths | |
CN110601948B (zh) | 网络带宽叠加的方法、装置及网关设备 | |
US20230123162A1 (en) | Dynamic distributed local breakout determination | |
Kumar et al. | Device‐centric data reordering and buffer management for mobile Internet using Multipath Transmission Control Protocol | |
Boutier et al. | User-space Multipath UDP in MOSH | |
US20240171504A1 (en) | Multi-path architecture for hardware offloading | |
US20240129241A1 (en) | Method and systems for reducing network latency | |
Al-Najjar | Traffic control for multi-homed end-hosts via software defined networking | |
Wang et al. | Application of recent reliable transport layer advancements to DoD SATCOM network challenges | |
Bagde et al. | Survey of Performance based transmission control protocol in MANET | |
CN111356155A (zh) | 一种数据调度方法、终端及存储介质 | |
Nagathota | Design and Implementation of CMT in Real-time: Evaluation based on scheduling mechanisms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |