CN107682886B - 一种多路径的数据传输方法 - Google Patents
一种多路径的数据传输方法 Download PDFInfo
- Publication number
- CN107682886B CN107682886B CN201710781187.7A CN201710781187A CN107682886B CN 107682886 B CN107682886 B CN 107682886B CN 201710781187 A CN201710781187 A CN 201710781187A CN 107682886 B CN107682886 B CN 107682886B
- Authority
- CN
- China
- Prior art keywords
- path
- data
- time
- packet loss
- link
- 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
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/04—Arrangements for maintaining operational condition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/021—Traffic management, e.g. flow control or congestion control in wireless networks with changing topologies, e.g. ad-hoc networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0231—Traffic management, e.g. flow control or congestion control based on communication conditions
- H04W28/0236—Traffic management, e.g. flow control or congestion control based on communication conditions radio quality, e.g. interference, losses or delay
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0231—Traffic management, e.g. flow control or congestion control based on communication conditions
- H04W28/0242—Determining whether packet losses are due to overload or to deterioration of radio communication conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0284—Traffic management, e.g. flow control or congestion control detecting congestion or overload during communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0289—Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/10—Flow control between communication endpoints
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种多路径的数据传输方法,包括:通过对每条路径建立排队论模型,评估每条子路径的路径质量,并根据路径质量,动态分配数据到各路径进行传输;获得路径中的链路利用率,根据所述链路利用率与预设的链路拥塞参考阙值的关系进行丢包区分。通过本方法对进行流媒体数据传输,传输速率有明显的提升,传输时延大幅降低,极大的提高了用户体验。
Description
技术领域
本发明涉及移动无线通信技术领域,更具体地,涉及一种多路径的数据传输方法。
背景技术
随着移动无线通信技术的发展,车辆自组织网络(VANETs)快速发展。车辆自组织网络是移动自组织网络(MANETs)的一种特殊形式,含有节点移动,网络拓扑无需提前部署动态变化的特性。然而由于实际道路的限制,车辆自组织网络中的节点无法像移动自组织网络中的节点一样随意移动。在车联自组织网络中,车载节点配有大容量的储存空间和超强的计算能力,并且支持多种类型的应用,包括安全检查,交通拥塞控制管理等。除此之外,IEEE已经标准化了802.11p作为802.11协议家族中对车辆自组织网络额扩展协议。可以说,车辆自组织网络在无线通信网络中变得越来越重要。
另一方面,基于通信技术的高速发展以及人们对数据传输速度日益增长的需求,多接口和多宿主网络环境变得越来越普通,尤其是在无线网络环境下。现有的移动通信终端已经配置多接口支持多个无线网络接入。多路径传输控制协议(MPTCP)是一种使用多接口用来提高网络资源利用率的新型协议。作为传输控制协议(TCP)的一种扩展,MPTCP在传输层与应用层之间添加了MPTCP层,用来管理和分割数据,将整段数据分割为多个片段,并将片段会通过子流(subflow)使用TCP传输到数据接收方,通过多条子流并行传输的方式提高的传输速率。
虽然车辆自组织网络的车载节点是安装有大量储存节点和超强计算能力的设备,但是无线链路的不稳定性和带宽的限制,使得传输效率大幅降低。在实际传输中还是会遇到许多挑战。由于节点的移动性,网络拓扑高度变化,会造成链路中断的情况发生,使得数据无法进行传输造成数据丢包;此外,由于网络带宽的限制,网络发生拥塞也会造成数据包丢失;而无线链路底层因噪声等问题造成数据失真也会造成数据丢包,降低传输速率。
因此,如何更准确、快速地得到数据包丢失的原因,对于移动无线通信网络的数据传输具有重要的意义。
发明内容
本发明提供一种克服上述问题或者至少部分地解决上述问题的多路径的数据传输方法。
根据本发明的一个方面,提供一种多路径的数据传输方法,包括:
通过对每条路径建立排队论模型,评估每条子路径的路径质量,并根据路径质量,动态分配数据到各路径进行传输;
获得路径中的链路利用率,根据所述链路利用率与预设的链路拥塞参考阙值的关系进行丢包区分。
优选地,所述根据所述链路利用率与预设的链路拥塞参考阙值的关系进行丢包区分的步骤包括:
当路径的链路利用率不小于预设的链路拥塞参考阙值时,判断丢包为拥塞丢包;以及
当路径的链路利用率小于预设的链路拥塞参考阙值时,通过发送作为评价路径可靠性的探针,根据是否在预设时间内收到对所述探针回复,判断丢包为随机丢包或链路中断引起的丢包。
优选地,所述多路径的数据传输方法还包括:
设计基于丢包区分的NR-SACK机制,将中断链路上未被确认的数据进行重传。
优选地,所述通过对每条路径建立排队论模型,评估每条子路径的路径质量,并根据路径质量,动态分配数据到各路径进行传输的步骤,包括:
将每一条路径标准化为排队论模型,将数据在发送端缓存区的排队时间作为每条路径的路径质量;
确定每一条路径对应的排队时间,对各路径对应的排队时间进行升序排列,将数据依次分发到各路径上。
优选地,所述获得路径的链路利用率的步骤,包括:
对获得的路径中的测试带宽进行平滑处理,获得平滑处理后的测试带宽;
根据所述路径的拥塞窗口值和最小往返时延的商,获得所述路径的理论最大传输速率;
根据所述平滑处理后的测试带宽和理论最大传输速率的商,获得该路径的链路利用率。
优选地,当判断丢包为拥塞丢包时,所述丢包区分的步骤还包括:调整拥塞窗口呈加性增长;
当判断丢包为随机丢包时,所述丢包区分的步骤还包括:在原路径对丢包的数据进行重传;
当判断丢包为链路中断引起的丢包时,所述丢包区分的步骤还包括:将该路径的拥塞窗口置0,将中断链路上未发送的数据转移到其他未中断的链路上。
优选地,所述确定每一条路径对应的排队时间的步骤,具体包括:
对任意一条路径,根据该路径第k次评估拥塞窗口的大小和第k次服务时间的商,获得第k次数据传输速率;
根据第k次数据到达速率和数据传输速率的商,作为服务强度;
根据第k次ACK接收时间的服务强度、数据到达速率、路径的服务时间的期望以及从初始至第k次服务时间的平均值,获得该路径对应的排队时间。
优选地,所述获得平滑处理后的测试带宽的步骤,包括:
将第k次和第k-1次ACK接收时刻的时间差,作为第k次服务时间;
根据第k次服务时间以及在第k次和第k-1次ACK接收时刻的间隔内所接收到的数据量,获得第k次ACK接收时刻的测试带宽;
根据第k-1次和第k次ACK接收时刻的测试带宽、第k-1次ACK接收时刻的测试带宽以及第k次ACK接收时刻的平滑因子,获得平滑处理后的第k次ACK接收时间的测试带宽。
优选地,所述将中断链路上未发送的数据转移到其他未中断的链路上的步骤,还包括:
继续在该中断链路上发送探针;
当发送端接收到所述接收端对所述探针的回复时,将该路径的拥塞窗口置1,并按照AIMD机制进行增长。
优选地,所述路径对应的排队时间的计算公式为:
其中,Wi,k表示数据在第i条路径中发送前的等待时间;λi,k表示数据到达速率;ρi,k表示服务强度;E(Ti,n 2)表示路径i的服务时间的期望;表示路径i上服务时间的平均值。
本申请提出提出的一种多路径的数据传输的方法,包括:建立基于排队论的多路径数据分配模型,根据不同路径的质量合理分配数据进行传输;针对不同种类的丢包进行区分并采取相应的措施:当网络拥塞造成数据丢包时,采用基于测量可用带宽的方法来判断网络拥塞情况,从而进行拥塞控制;当链路因终端移动而不可通信中断时,设计链路可靠性探测选项,判定链路可靠性,并在链路中断的情况下对中断链路上的数据进行转移切换;设计针对移动环境下的不可丢弃的选择确认机制的数据重传策略,提高重传速率,加快数据向上递交的速率。通过本方法对进行流媒体数据传输,传输速率有明显的提升,传输时延大幅降低,极大的提高了用户体验。
附图说明
图1为根据本发明实施例的探针的数据结构示意图;
图2为根据本发明实施例的多路径的数据传输***的结构示意图;
图3为根据本发明实施例的根据数据在路径中发送前的等待时间分配路径的方法的流程示意图;
图4为根据本发明实施例的多路径的数据传输方法的流程示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
由于节点的移动性,网络拓扑高度变化,会造成链路中断的情况发生,使得数据无法进行传输造成数据丢包;此外,由于网络带宽的限制,网络发生拥塞也会造成数据包丢失;而无线链路底层因噪声等问题造成数据失真也会造成数据丢包,降低传输速率。
在已有的车辆自组织网络的研究中,专家学者多从数据链路层以及网络层出发,通过计算丢包概率、节点连接概率以及评估各个节点的质量选择下一跳路径的方式来规避无线链路的节点移动性以及拓扑高度变化的特性。现有从底层研究的方式,只能解决链路中断的问题,数据传输效率低这个问题也没有得到很好的解决。
为了克服现有技术的上述问题,本发明实施例提供一种多链路的数据传输方法,为了便于理解,在此先对本实施例及后续实施例中可能涉及到的相关概念进行解释说明:
带宽,用于表示通信线路所能传送数据的能力,是指在单位时间内从网络中的某一点到另一点所能通过的“最高数据率”。对于带宽的概念,比较形象的一个比喻是高速公路。单位时间内能够在线路上传送的数据量,常用的单位是bps(bit per second)。
无线网络中,TCP-Westwood是一种较理想的算法,它的主要思想是通过在发送端持续不断的检测ACK的到达速率来进行带宽估计,当拥塞发生时用带宽估计值来调整拥塞窗口和慢启动阈值,采用aiad(additive increase and adaptive decrease)拥塞控制机制。它不仅提高了无线网络的吞吐量,而且具有良好的公平性和与现行网络的互操作性。存在的问题是不能很好的区分传输过程中的拥塞丢包和无线丢包,导致拥塞机制频繁调用。
ACK(Acknowledgement),即确认字符,在数据通信中,是指接收端发给发送端的一种传输类控制字符,用于表示发来的数据已确认接收无误。
拥塞窗口:TCP拥塞控制中的一个概念,指发送端在拥塞控制情况下,一次最多能发送的数据包的数量。发送端根据网络的拥塞程度所预设的一个值,而这个值就是拥塞窗口。拥塞窗口的值取决于网络的拥塞程度,并且动态地在变化。发送端让自己的发送窗口等于拥塞窗口。如果再考虑到接收方的接收能力,那么发送窗口还可能小于拥塞窗口。发送方控制拥塞窗口的原则是:只要网络没有出现拥塞,拥塞窗口就再增大一些,以便把更多的分组发送出去。但只要网络出现拥塞,拥塞窗口就减少一些,以减少注入到网络中的分组数。
RTT(Round-Trip Time):往返时延。在网络中RTT是一个重要的性能指标,表示从发送端发送一次数据开始,到发送端收到来自接收端的确认(假设接收端收到该数据后便立即发送确认),总共经历的时延。例如,发送端在时刻T1时,向接收端发送数据,发送端在本地记录发送时间st1。在T2时刻,发送端收到来自接收端与发送的数据拥有相同TSN的确认信息,记录当前接收时间rt2,计算出传输报文在网络上的往返时延RTT=st1-rt2。
M/G/1模型(M/G/1model),是一种排队模型,以银行排队服务为例,M/G/1模型假设每一个顾客到达银行的过程服从泊松分布(即相互独立),银行对每个顾客的服务时间相互独立且都服从G这个分布,这里的1表示银行只开了一个窗口,也就是只有一个服务台。
泊松分布(Poisson distribution),是一种统计与概率学里常见到的离散机率分布(discrete probability distribution)。在实际事例中,当一个随机事件,例如某电话交换台收到的呼叫、来到某公共汽车站的乘客、某放射性物质发射出的粒子等等,以固定的平均瞬时速率λ(或称密度)随机且独立地出现时,那么这个事件在单位时间(面积或体积)内出现的次数或个数就近似地服从泊松分布P(λ)。
对于TCP会话的发送方,任何时候在其发送缓存内的数据都可以分为4类,“已经发送并得到对端ACK的”,“已经发送但还未收到对端ACK的”,“未发送但对端允许发送的”,“未发送且对端不允许发送”。“已经发送但还未收到对端ACK的”和“未发送但对端允许发送的”这两部分数据称之为发送窗口。
对于TCP会话的接收方,某一时刻它的接收缓存内存在3种。“已接收”,“未接收准备接收”,“未接收并未准备接收”(由于ACK直接由TCP协议栈回复,默认无应用延迟,不存在“已接收未回复ACK”)。其中“未接收准备接收”称之为接收窗口。
TCP是双工的协议,会话的双方都可以同时接收、发送数据。TCP会话的双方都各自维护一个“发送窗口”和一个“接收窗口”。其中各自的“接收窗口”的值取决于应用、***、硬件的限制(TCP传输速率不能大于应用的数据处理速率)。各自的“发送窗口”则要求取决于对端通告的“接收窗口”,要求相同。
根据上述内容,本发明实施例提供一种多路径的数据传输方法,包括:
通过对每条路径建立排队论模型,评估每条子路径的路径质量,并根据路径质量,动态分配数据到各路径进行传输;
获得路径中的链路利用率,根据所述链路利用率与预设的链路拥塞参考阙值的关系进行丢包区分。
需要说明的是,本发明实施例通过利用排队论建模,得出每条路径的排队等候时长,即可用来评估每条路径的质量情况,将数据尽可能多的发送到质量好的路径进行数据传输,进一步地,针对丢包问题,通过路径的链路利用率进行丢包区分,判断方法更简单。
在上述实施例的基础上,根据所述链路利用率与预设的链路拥塞参考阙值的关系进行丢包区分的步骤包括:
当路径的链路利用率不小于预设的链路拥塞参考阙值时,判断丢包为拥塞丢包;以及
当路径的链路利用率小于预设的链路拥塞参考阙值时,通过发送作为评价路径可靠性的探针,根据是否在预设时间内收到对所述探针回复,判断丢包为随机丢包或链路中断引起的丢包。
需要说明的是,本实施例采用基于链路利用与和预设的链路拥塞参考阈值的大小关系,辨别拥塞丢包和随机丢包,针对链路中断造成的数据丢包问题,通过设计可靠性选项作为探针,探测路径是否中断。
在一个实施例中,丢包区分首先需要对链路是否拥塞进行判定,如果是因为拥塞引起的丢包,则通过调整拥塞窗口达到拥塞避免的状态,如果是没有拥塞的情况下丢包,则通过发送路径可靠性的探针判断是否是链路中断,如果是预设时间内没有收到探针回复,则认为丢包是由于链路中断引起的,如果收到了探针回复,则认为丢包属于随机丢包。
在上述各实施例的基础上,本实施例的多路径的数据传输方法,还包括:
设计基于丢包区分的NR-SACK机制,将中断链路上未被确认的数据进行重传。
需要说明的是,现有技术在判断对一个数据是否进行重传时,通常参照3次冗余ack准则进行的,作为本领域技术人员可以理解的是,ACK的基本工作原理,当发送端发送第N-1个包后,接收端答复的ACK序列号实际上跟发送端发送下一个包,也就是第N个包的序列号一致。TCP使用报文头的序列号和确认号以有效保证数据按照发送的顺序接收和重组。当TCP连接建立以后,握手过程中交换的一个最重要的信息是初始序列号(ISN)。一旦连接双方设定了ISN之后,接下来发送的报文所包含的序列号增加一个数据载荷值。正常的情况下,当发送方接收到三个重复的ACK时,会将数据进行重传。但是,在链路中断的情况下,由于发送接收双方无法感知链路中断,因此无法做出决定,仍旧将数据推送到中断链路上进行数据传输。这样不但会造成不必要的网络资源浪费,而且也会延迟将数据发送到接收方,增加了传输时延,速率降低,因此,本发明实施例通过基于丢包区分的不可丢弃选择确认机制,在判断获知链路中断后,对该中断链路上未确认的数据立刻进行重传,保证数据能够尽快的连续的向上层递交,提高传输效率。
在上述各实施例的基础上,通过对每条路径建立排队论模型,评估每条子路径的路径质量,并根据路径质量,动态分配数据到各路径进行传输的步骤,包括:
将每一条路径标准化为排队论模型,将数据在发送端缓存区的排队时间作为每条路径的路径质量;
确定每一条路径对应的排队时间,对各路径对应的排队时间进行升序排列,将数据依次分发到各路径上。
需要说明的是,本实施例通过将数据在发送端缓存区的排队时间作为路径的路径质量,排队时间越少,则认为路径的路径质量越高,在数据分发时,将数据按顺序发送至各条路径上,例如,存在3条路径,其中路径a中数据的排队时间最少,即该路径的路径质量最高,而路径c中数据的排队时间最多,即该路径的路径质量最低,将数据1~3,分别通过路径a、路径b和路径c进行传输,这样就可以保证接收端是按照数据1-2-3的顺序接收的。
在上述各实施例的基础上,获得路径的链路利用率的步骤,包括:
对获得的路径中的测试带宽进行平滑处理,获得平滑处理后的测试带宽;
根据所述路径的拥塞窗口值和最小往返时延的商,获得所述路径的理论最大传输速率;
根据所述平滑处理后的测试带宽和理论最大传输速率的商,获得该路径的链路利用率。
需要说明的是,将所述预警路径的测试带宽和理论最大传输速率的商,作为带宽利用率。在理论最大传输速率不变的情况下,可用带宽越大,说明带宽利用率越大,显然,带宽利用率越大,说明路径的传输压力越大,而路径的传输压力越大,就如同高速公路上的车辆越多,发生事故的几率就越大。
其中,获得平滑处理后的测试带宽的步骤,包括:
将第k次和第k-1次ACK接收时刻的时间差,作为第k次服务时间;例如,第1次ACK接收时刻是12:00:00,第二次ACK接收时刻是12:00:02,那么服务时间是2s。
根据第k次服务时间以及在第k次和第k-1次ACK接收时刻的间隔内所接收到的数据量,获得第k次ACK接收时刻的测试带宽;显然,单位时间内网络传输数据的数据量的值,表示了路径的实际传输速率;
根据第k-1次和第k次ACK接收时刻的测试带宽、第k-1次ACK接收时刻的测试带宽以及第k次ACK接收时刻的平滑因子,获得平滑处理后的第k次ACK接收时间的测试带宽。
其中,根据第k次时间差和大于往返时延的过滤参数,获得第k次ACK接收时间的平滑因子。
具体方法为:
其中,BWi,k表示i路径第k次ACK接收时间的测试带宽,Di,k表示在第k次和第k-1次ACK接收时间的间隔内所接收到的数据量,ti,k表示i路径第k次ACK接收时间,Δti,k表示第k次时间差,αk表示平滑因子,τ为过滤参数且τ>RTTi,BW′i,k表示平滑处理后的i路径第k次ACK接收时间的测试带宽。
在上述各实施例的基础上,所述确定每一条路径对应的排队时间的步骤,具体包括:
对任意一条路径,根据该路径第k次评估拥塞窗口的大小和第k次服务时间的商,获得第k次数据传输速率;
根据第k次数据到达速率和数据传输速率的商,作为服务强度;
根据第k次ACK接收时间的服务强度、数据到达速率、路径的服务时间的期望以及从初始至第k次服务时间的平均值,获得该路径对应的排队时间。
在上述各实施例的基础上,路径对应的排队时间的计算公式为:
其中,Wi,k表示数据在第i条路径中发送前的等待时间;λi,k表示数据到达速率;ρi,k表示服务强度;E(Ti,n 2)表示路径i的服务时间的期望;表示路径i上服务时间的平均值。
在上述各实施例的基础上,当路径i上正有psending带宽的数据传输(即已经发送但还未收到对端ACK的数据),那么还可被分配到该路径的带宽(即未发送但对端允许发送的数据)为:
Dmax=min(rwndi,cwndi-psending)
其中,rwndi为路径i的接收窗口的值。由上述内容可知,路径对应的接收窗口和拥塞窗口的较少者决定了路径上可分配的带宽,当路径上已经有数据正在传输,那么还可被分配到该路径的带宽就是接收窗口和拥塞窗口减去已有psending带宽中的最小值。
在上述各实施例的基础上,当判断丢包为拥塞丢包时,所述丢包区分的步骤还包括:调整拥塞窗口呈加性增长;
当判断丢包为随机丢包时,所述丢包区分的步骤还包括:在原路径对丢包的数据进行重传;
当判断丢包为链路中断引起的丢包时,所述丢包区分的步骤还包括:将该路径的拥塞窗口置0,将中断链路上未发送的数据转移到其他未中断的链路上。
在上述实施例的基础上,探针的数据结构,参见图1,包括:Kind字段、Length字段、Subtype字段以及reserved字段。Kind字段用于表示询问探针的类别和总字段,接收端通过解析Kind字段就获知接收到的是询问探针,Length字段表示探针的字段个数,显然,Length等于4,Subtype字段中写有询问接收端的事项,reserved字段在由发生端发送至接收端时为空,接收端在接收到探针后,在reserved字段中填写对Subtype字段的回复。图中kind=30,表示探针的总字段为30个字段,其中,Kind字段占用1-8字段,Length字段占用9-16字段,Subtype字段占用17-20字段,reserved字段占用21-30字段。
在上述各实施例的基础上述将中断链路上未发送的数据转移到其他未中断的链路上的步骤,还包括:
继续在该中断链路上发送探针;
当发送端接收到所述接收端对所述探针的回复时,将该路径的拥塞窗口置1,并按照AIMD机制进行增长。
基于上述内容,本发明提供了一种多路径的数据传输***中的发送端,图2示出了一种多路径的数据传输***的结构示意图,
其中发送端包括:路径可靠性判断模块、丢包差异判断模块、传输策略模块、数据分发模块、发送缓存模块。
数据包在发送缓存模块中得到被发送的过程可以模拟为排队过程,数据报从数据分发模块到达发送缓存模块的速率由发端的控制,数据包通过不同的路径,经车载网络传输至接收端的过程被模拟为服务过程,服务过程的时间即服务时间,等同于往返时延RTT。
丢包差异判断模块判断路径发生丢包的原因,丢包的原因主要有三种:阻塞导致丢包、随机丢包、路径中断引起的丢包,通过RTT和宽带利用率可以获知路径是否处于重载状态,当处于重载状态下丢包,认为丢包是由于阻塞导致的,如果路径并没有处于重载状态发生了丢包,则认为丢包可能是随机丢包,也可能是因为路径中断,这个是个就需要路径可靠性判断模块来判断。
路径可靠性判断模块用于发送询问探针来试探路径是否中断,如果接收方能够收到并向发送方进行反馈,证明此条路径可用,判断丢包属于随机丢包;如果发送方没能在按时时间内接收到反馈,则证明路径已经中断,此时将路径的拥塞窗口置0进入休眠状态,将此条路径上的数据转移到其他可靠的路径上进行传输,维持稳定的数据传输;在数据转移的同时,询问探针仍旧在中断的路径上持续发送,用来探测路径的可靠性,一旦路径可用,就将拥塞窗口置1,并按照AIMD机制进行增长,为数据提供传输通道。
值得注意的是,询问探针中设置有待接收端回复的选项,当接收端接收到询问探针时,通过填写/修改选项,再返回发送端,发送端通过检查选项被填写/修改,即可知道路径是好的,此选项只占用三个字节,不会对网络传输造成网络拥塞。
传输策略模块与丢包差异判断模块连接,根据丢包的原因调整传输策略,包括:对于因阻塞导致的丢包,通过调节阻塞窗口来达到避免阻塞的目的,并将丢失的数据包重新发送。对于随机丢包,则不需要调节阻塞窗口,只需在原路径上将丢失的数据包重新发送即可。对于因路径中断导致的丢包,快速转换质量好的路径进行数据重传。
在上述实施例的基础上,根据数据在路径中发送前的等待时间分配路径的方法,参见图3,发送端中设置等待清单,待发送的数据按照等待清单的顺序逐个向接收端的接收缓存传输,接收端通过接收缓存向发送端回复ACK数据包,根据数据在路径中发送前的等待时间,发送端对等待时间较长的数据分配至等待时间较短的路径中,使路径达到尽可能地平衡。
本发明提出了一种基于移动感知和丢包区分的多路径流媒体数据传输的方法,对现有的方法进行改进。方法主要包括,参见图4:建立基于排队论的多路径数据分配模型,根据不同路径的质量合理分配数据进行传输;针对不同种类的丢包进行区分并采取相应的措施:当网络拥塞造成数据丢包时,采用基于测量可用带宽的方法来判断网络拥塞情况,从而进行拥塞控制;当链路因终端移动而不可通信中断时,设计链路可靠性探测选项,判定链路可靠性,并在链路中断的情况下对中断链路上的数据进行转移切换;设计针对移动环境下的不可丢弃的选择确认机制的数据重传策略,提高重传速率,加快数据向上递交的速率。通过本方法对进行流媒体数据传输,传输速率有明显的提升,传输时延大幅降低,极大的提高了用户体验。
实施例一
本实施例提供了一种基于排队论模型评测路径质量的方法。将多路径传输协议中的每一条子路径都建立排队论模型。数据在发送缓存中等待被发送的过程可以被模拟为排队过程,其中数据到达缓存区的速率由发送方决定;数据通过网络传输并成功被接收的过程被模拟为服务过程,服务时间即为RTT。在数据被服务的过程中,认为带宽和TCPWestwood测量带宽中的带宽一样保持稳定,数据到达速率符合泊松分布,服务时间服从一般随机分布。因此,每条子路径都可以建立M/G/1模型。数据传输速率,即服务速率为:
其中,cwndi,k表示路径i上第k次评估拥塞窗口的大小,Δti,k表示两次ACK接收时间的时间差,即服务时间。根据Littles Theorem和Pollaczek-Khinchin(P-K)公式,等待延迟即数据在发送缓存里面的等待时间为:
λi,k表示数据的到达速率,ρi,k表示服务强度,且E(Ti,n 2)表示路径i的服务时间的期望,为路径i上服务时间的平均值。
采用Wi,k作为评估路径质量的参数,Wi,k越小,路径质量越高。
实施例二
本实施例提供一种基于测量可用带宽评估路径拥塞状况的方法,方法流程包括:
首先,通过采用TCP-Westwood测量可用带宽的方法,测量无线网络中的可用带宽。可用带宽即为单位时间内网络传输数据的数据量大小,即实际传输速率。由于无线网络带宽的不稳定性,因此,测量结果需要平滑,具体方法为:
其中,BWi,k是采用TCP-Westwood测量的路径i上第k次ACK接收时间的测量带宽,BW′i,k为平滑处理后的路径i上第k次ACK接收时间的测量带宽,Δti,k表示两次ACK接收时间的时间差,Di,k表示这段时间内接收到的数据量。其中,αk为平滑因子,其计算公式为:
τ为过滤参数且τ>RTTi
网络中能够到达的理论最大传输速率为:
最大速率与网络的拥塞窗口大小以及最小传输往返时延相关。
通过路径带宽的利用率来评判路径的质量状况,其中路径利用率LU为网络实际传输速率与网络能够达到最大的速率的比值。即无线路径下的路径利用率的极限值来计算无线网络环境下网络的路径利用率LUw,其中因此,当LUw<80%时,网络处于资源未被完全利用状态,因此当发生数据丢包时,可以被认为是随机丢包;
当80%≤LUw时,网络处于重载阶段,网络资源接近完全被利用,因此,拥塞窗口呈加性增长,进入拥塞避免阶段。
实施例三
本实施例提供了一种可靠性选项探测路径可靠性并转移数据的方法,方法包括:
通过设计路径可靠性选项作为探针,发送给接收方,如果接收方能够收到并向发送方进行反馈,证明此条路径可用;如果发送方没能在按时时间内接收到反馈,则证明路径已经中断,此时将路径的拥塞窗口置0进入休眠状态,将此条路径上的数据转移到其他可靠的路径上进行传输,维持稳定的数据传输;在数据转移的同时,可靠性选项仍旧在中断的路径上持续发送,用来探测路径的可靠性,一旦当路径可用时,就将拥塞窗口置1,并按照AIMD机制进行增长,为数据提供传输通道。值得注意的是,此选项只占用三个字节,不会对网络传输造成网络拥塞。本方法的伪代码为:
当发送方没有在预计的时间接收到确认信息时;
发送方向接收方发送OPT_LR路径可靠性选项;
if(在一个SRTT时间内没有收到选项的反馈){
LR=0//LR表示路径可靠性;
此时路径无法进行数据传输,将cwnd=0;
将数据转移到其他可靠路径上进行传输
Break//仍旧在中断路径发送OPT_LR选项给接收方
}else if(发送方接收到了来自接收方的反馈){
LR=1;
cwnd=1;并按照AIMD算法增长;
将数据重新通过此路径传输;
}
实施例四
在实施例三的基础上,本实施例提供了一种基于丢包区分的不可丢弃的选择确认机制,本实施例具体方法流程包括:
当链路中断的情况发生时,中断链路上的数据将会被转移到可靠的链路上进行数据传输。本方案针对此问题作出了改进,在发送方意识到链路中断时,就将中断链路上的数据推送到网络中进行传输。具体方法如图4所示。
综上所述,在本发明中,通过对每条子路径建立排队论模型评估路径质量,进行数据的动态分布;在丢包区分中,采用基于测量可用带宽以及网络利用率的方法辨别拥塞丢包以及随机丢包,并进行响应的拥塞控制以及丢包重传测量;针对链路中断造成的数据丢包问题,通过设计可靠性选项作为探针,探测路径是否中断,并在数据中断的情况下将数据转移到可靠链路上进行稳定的传输;最后,采用基于丢包区分的不可丢弃的选择确认机制将中断链路上没有被确认的数据进行快速的重传,降低传输时延,提高网络传输速率,进而提高用户体验。
最后,本申请的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种多路径的数据传输方法,其特征在于,包括:
通过对每条路径建立排队论模型,评估每条子路径的路径质量,并根据路径质量,动态分配数据到各路径进行传输;
获得路径中的链路利用率,根据所述链路利用率与预设的链路拥塞参考阙值的关系进行丢包区分;
其中,所述通过对每条路径建立排队论模型,评估每条子路径的路径质量,并根据路径质量,动态分配数据到各路径进行传输的步骤,包括:
将每一条路径标准化为排队论模型,将数据在发送端缓存区的排队时间作为每条路径的路径质量;
确定每一条路径对应的排队时间,对各路径对应的排队时间进行升序排列,将数据依次分发到各路径上。
2.如权利要求1所述的多路径的数据传输方法,其特征在于,所述根据所述链路利用率与预设的链路拥塞参考阙值的关系进行丢包区分的步骤包括:
当路径的链路利用率不小于预设的链路拥塞参考阙值时,判断丢包为拥塞丢包;以及
当路径的链路利用率小于预设的链路拥塞参考阙值时,通过发送作为评价路径可靠性的探针,根据是否在预设时间内收到对所述探针回复,判断丢包为随机丢包或链路中断引起的丢包。
3.如权利要求2所述的多路径的数据传输方法,其特征在于,还包括:
设计基于丢包区分的NR-SACK机制,将中断链路上未被确认的数据进行重传。
4.如权利要求1所述的多路径的数据传输方法,其特征在于,所述获得路径的链路利用率的步骤,包括:
对获得的路径中的测试带宽进行平滑处理,获得平滑处理后的测试带宽;
根据所述路径的拥塞窗口值和最小往返时延的商,获得所述路径的理论最大传输速率;
根据所述平滑处理后的测试带宽和理论最大传输速率的商,获得该路径的链路利用率。
5.如权利要求2所述的多路径的数据传输方法,其特征在于,
当判断丢包为拥塞丢包时,所述丢包区分的步骤还包括:调整拥塞窗口呈加性增长;
当判断丢包为随机丢包时,所述丢包区分的步骤还包括:在原路径对丢包的数据进行重传;
当判断丢包为链路中断引起的丢包时,所述丢包区分的步骤还包括:将该路径的拥塞窗口置0,将中断链路上未发送的数据转移到其他未中断的链路上。
6.如权利要求1所述的多路径的数据传输方法,其特征在于,所述确定每一条路径对应的排队时间的步骤,具体包括:
对任意一条路径,根据该路径第k次评估拥塞窗口的大小和第k次服务时间的商,获得第k次数据传输速率;
根据第k次数据到达速率和数据传输速率的商,作为服务强度;
根据第k次ACK接收时间的服务强度、数据到达速率、路径的服务时间的期望以及从初始至第k次服务时间的平均值,获得该路径对应的排队时间。
7.如权利要求4所述的多路径的数据传输方法,其特征在于,所述获得平滑处理后的测试带宽的步骤,包括:
将第k次和第k-1次ACK接收时刻的时间差,作为第k次服务时间;
根据第k次服务时间以及在第k次和第k-1次ACK接收时刻的间隔内所接收到的数据量,获得第k次ACK接收时刻的测试带宽;
根据第k-1次和第k次ACK接收时刻的测试带宽、第k-1次ACK接收时刻的测试带宽以及第k次ACK接收时刻的平滑因子,获得平滑处理后的第k次ACK接收时间的测试带宽。
8.如权利要求5所述的多路径的数据传输方法,其特征在于,所述将中断链路上未发送的数据转移到其他未中断的链路上的步骤,还包括:
继续在该中断链路上发送探针;
当发送端接收到所述接收端对所述探针的回复时,将该路径的拥塞窗口置1,并按照AIMD机制进行增长。
9.如权利要求6所述的多路径的数据传输方法,其特征在于,所述路径对应的排队时间的计算公式为:
其中,Wi,k表示数据在第i条路径中发送前的等待时间;λi,k表示数据到达速率;ρi,k表示服务强度;E(Ti,n 2)表示路径i的服务时间的期望;表示路径i上服务时间的平均值;Ti,n表示在所有n条路径中的路径i的服务时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710781187.7A CN107682886B (zh) | 2017-09-01 | 2017-09-01 | 一种多路径的数据传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710781187.7A CN107682886B (zh) | 2017-09-01 | 2017-09-01 | 一种多路径的数据传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107682886A CN107682886A (zh) | 2018-02-09 |
CN107682886B true CN107682886B (zh) | 2019-12-20 |
Family
ID=61136126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710781187.7A Active CN107682886B (zh) | 2017-09-01 | 2017-09-01 | 一种多路径的数据传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107682886B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108965153B (zh) * | 2018-06-29 | 2020-10-13 | 中国科学院计算技术研究所 | 一种基于全局链路负载均衡的网络链路控制方法和*** |
CN109067662B (zh) * | 2018-06-29 | 2020-09-01 | 中国科学院计算技术研究所 | 一种基于作业部署信息的链路互连方法和*** |
CN109698794B (zh) * | 2019-01-21 | 2021-07-09 | 北京达佳互联信息技术有限公司 | 一种拥塞控制方法、装置、电子设备及存储介质 |
CN111800218B (zh) | 2019-04-08 | 2022-04-22 | 华为技术有限公司 | 一种数据流的传输方法和设备 |
CN110113794B (zh) * | 2019-04-29 | 2020-10-20 | 西安空间无线电技术研究所 | 一种无线网络路径质量动静态评估方法 |
CN110417650B (zh) * | 2019-08-02 | 2021-12-10 | 广东中兴新支点技术有限公司 | 多链路数据分配方法、装置及电子设备 |
CN110662256B (zh) * | 2019-09-18 | 2021-03-23 | 北京交通大学 | 多路径跨协议传输的数据包调度方法及*** |
CN110808859B (zh) * | 2019-11-01 | 2020-12-01 | 海南大学 | Mptcp多路径传输缓存耗量的回归模型计算方法和*** |
CN111131017B (zh) * | 2019-11-19 | 2021-06-29 | 中国科学院计算技术研究所 | 一种基于多蜂窝无线接入网关的mptcp跨层优化方法及*** |
CN110996389B (zh) * | 2019-12-12 | 2021-05-07 | Oppo广东移动通信有限公司 | 基于自组网的定位方法、装置、电子设备和存储介质 |
CN110913430B (zh) * | 2019-12-27 | 2021-07-27 | 华中科技大学 | 无线网络中文件的主动式协作缓存方法及缓存管理装置 |
CN111464437B (zh) * | 2020-05-11 | 2021-10-29 | 南京邮电大学 | 一种车载异构网络中基于前向时延的多径传输路径优化方法 |
CN111542089B (zh) * | 2020-05-14 | 2021-11-09 | 海南大学 | 一种基于时延和窗口抖动的多路径拥塞控制方法和装置 |
CN114071563B (zh) * | 2020-08-03 | 2023-11-14 | 中国电信股份有限公司 | 基于缓存空间的多路径传输控制方法、装置和移动终端 |
CN113783775B (zh) * | 2021-03-09 | 2023-06-02 | 北京京东尚科信息技术有限公司 | 数据传输的方法和装置 |
CN113301628B (zh) * | 2021-04-19 | 2022-08-16 | 深圳哇哇鱼网络科技有限公司 | 一种终端移动网络的多线路动态优选方法及*** |
CN113259038B (zh) * | 2021-04-29 | 2022-06-21 | 北京邮电大学 | 时间同步方法、节点、装置及存储介质 |
CN113347087B (zh) * | 2021-06-11 | 2022-01-18 | 北京连山科技股份有限公司 | 一种提高多链路数据传输正确性的方法 |
CN113783787B (zh) * | 2021-08-05 | 2023-06-13 | 山东省计算中心(国家超级计算济南中心) | 一种基于云边协同的非实时数据传输方法及装置 |
CN117692338B (zh) * | 2024-02-01 | 2024-06-04 | 长城数字能源(西安)科技有限公司 | 能源物联网数据可视化方法及*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102843725A (zh) * | 2012-08-15 | 2012-12-26 | 无锡北邮感知技术产业研究院有限公司 | 一种数据传输方法及装置 |
CN102843257A (zh) * | 2012-08-15 | 2012-12-26 | 无锡北邮感知技术产业研究院有限公司 | 一种路径评估方法及装置 |
WO2017115907A1 (ko) * | 2015-12-28 | 2017-07-06 | 전자부품연구원 | 송신 장치 및 다종 네트워크 환경에서 동적 경로 상태를 측정하는 방법 |
US10271241B2 (en) * | 2013-08-23 | 2019-04-23 | Samsung Electronics Co., Ltd. | Method and device for transmitting and receiving data packets in wireless communication system |
-
2017
- 2017-09-01 CN CN201710781187.7A patent/CN107682886B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102843725A (zh) * | 2012-08-15 | 2012-12-26 | 无锡北邮感知技术产业研究院有限公司 | 一种数据传输方法及装置 |
CN102843257A (zh) * | 2012-08-15 | 2012-12-26 | 无锡北邮感知技术产业研究院有限公司 | 一种路径评估方法及装置 |
US10271241B2 (en) * | 2013-08-23 | 2019-04-23 | Samsung Electronics Co., Ltd. | Method and device for transmitting and receiving data packets in wireless communication system |
WO2017115907A1 (ko) * | 2015-12-28 | 2017-07-06 | 전자부품연구원 | 송신 장치 및 다종 네트워크 환경에서 동적 경로 상태를 측정하는 방법 |
Non-Patent Citations (1)
Title |
---|
Mobility-aware multimedia data transfer using Multipath TCP in Vehicular Network;danyang ZHU;《IEEE,wireless communications an mobile computing conference》;20170720;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN107682886A (zh) | 2018-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107682886B (zh) | 一种多路径的数据传输方法 | |
US11153782B2 (en) | Method and apparatus for distributing packets on multi-link in mobile communication network | |
WO2019184890A1 (zh) | 一种信息传输方法和装置 | |
CN1613233B (zh) | 用于重传的方法和*** | |
US9356878B2 (en) | Method for avoiding network congestion and an apparatus thereof | |
CN101404622B (zh) | 基于多径负载均衡的无线互联网拥塞控制方法及控制器 | |
CN112702274B (zh) | 战术瞄准网络技术中基于路由稳定性的跨层拥塞控制方法 | |
US8369216B2 (en) | System and method of monitoring packets in flight for optimizing packet traffic in a network | |
US20100202469A1 (en) | Queue management system and methods | |
Abdullah | Enhancing the TCP Newreno Fast RecoveryAlgorithm on 5G Networks | |
Chakeres et al. | Perceptive admission control for wireless network quality of service | |
CN110062352A (zh) | 车辆自组织网络中基于丢包区分的多路径tcp网络编码传输***和方法 | |
Yang et al. | TCP bulk repeat | |
Elaasar et al. | Satellite transport protocol handling bit corruption, handoff and limited connectivity | |
CN100471197C (zh) | 用移动专用网络传输层有效发送/接收数据的方法、网络设备 | |
Subramani et al. | Improving congestion control performance and fairness in multihop ad hoc network | |
Kumar et al. | Device‐centric data reordering and buffer management for mobile Internet using Multipath Transmission Control Protocol | |
Rani et al. | A cross layer approach for improving TCP performance using channel access information | |
Buchholcz et al. | Explicit loss notification to improve TCP performance over wireless networks | |
Raniwala et al. | Evaluation of a stateful transport protocol for multi-channel wireless mesh networks | |
Wang et al. | Available bandwidth estimation in ieee 802.11 ad hoc networks | |
Chang et al. | Cross-layer-based adaptive TCP algorithm in 4G packet service LTE-advanced relaying communications | |
Jung et al. | Augmented split-TCP over wireless LANs | |
KR101365182B1 (ko) | 전송 제어 프로토콜 기반의 패킷 전송 제어 방법 및 시스템 | |
Elaasar et al. | The extended satellite transport protocol: its design and evaluation |
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 |