APP下载

面向车联网按需驱动的多宿主多链路TCP拥塞控制算法

2016-12-01丁男林滔宋彩霞谭国真

通信学报 2016年7期
关键词:传输数据控制算法吞吐量

丁男,林滔,宋彩霞,2,谭国真

(1. 大连理工大学计算机科学与技术学院,辽宁 大连 116024;2. 青岛农业大学理学与信息科学学院,山东 青岛 266109)

面向车联网按需驱动的多宿主多链路TCP拥塞控制算法

丁男1,林滔1,宋彩霞1,2,谭国真1

(1. 大连理工大学计算机科学与技术学院,辽宁 大连 116024;2. 青岛农业大学理学与信息科学学院,山东 青岛 266109)

针对车联网终端设备中网络应用QoS的多样化需求,保证与安全应用相关的高优先级数据报文发送实时性,提出了一种新的基于数据优先级与吞吐量评估的按需驱动的MPTCP拥塞控制算法PTLIA。首先,算法采用数据报文优先级以及吞吐量占比因子,表征各个数据报文的发送权重;其次,利用分批估计理论模型对 MPTCP中路径状态进行实时评估;最后,依据算法模型设计,实现对网络拥塞时间窗的按需动态调整。实验与仿真验证了PTLIA算法在满足大部分网络应用需求的前提下,提高了高优先级应用的网络传输实时性。

车联网;MPTCP;拥塞控制;安全应用;数据优先级;吞吐量评估

1 引言

车联网利用无线通信技术实现车车通信、车路通信、车与服务中心通信,将人—车—路—环境有机地结合起来,提高了交通安全性和通行效率[1]。如何保障车联网进行高效稳定地通信已成为车联网中的关键问题。多宿主(multi-homed)通信技术,利用在系统中集成多个或多类物理通信介质,可以提高系统通信的稳定性与可靠性[2]。随着多宿主通信技术在终端设备上的广泛应用,如何利用其多物理通信介质并发传输、动态切换,有效利用网络信道容量,成为其应用的关键问题。

2013年1月,IETF(Internet Engineering Task Force)工作组制定了 MPTCP (multipath transportcontrol protocol)协议框架[3]。MPTCP协议可以有效地利用多宿主系统中的网络容量,提高网络传输性能。MPTCP协议通过对传统TCP协议的扩展,利用多TCP链路并发传输机制实现了在TCP协议传输过程中路径并发建立、动态选优、自动切换等功能,解决了传统TCP连接在多通信介质切换过程中的路径建立延时以及拥塞阶段无法动态切换路径的问题。

车联网应用是多样化的,其通信需求也是多元化、海量化并存的。不同类型应用的信息重要性不同,导致其传输优先级需求的差异性较大。如系统广播信息、安全应用信息、交通诱导类应用信息和娱乐应用信息等。然而,现有的大部分MPTCP拥塞控制算法的主要考虑因素是传输效率以及对传统单路径TCP用户的公平性问题[4],并未结合网络应用中数据的不同通信需求、不同优先级特性对网络资源进行分配管理。结合车联网的应用需求,设计有效的MPTCP拥塞控制算法,是提高MPTCP协议在车载终端设备中有效利用多物理通信介质的关键。

针对上述问题,本文提出了一种基于应用优先级与吞吐量评估的MPTCP拥塞控制算法。本文不仅考虑了传输效率与公平性因素,还考虑了车联网中高优先级应用的传输需求,按需对不同应用的网络拥塞窗口值动态调整,进一步保证了车联网通信的安全性,并通过吞吐量评估的方式提高了网络传输效率,从而增强了车联网通信的实时性。

2 相关工作

MPTCP对TCP进行了支持多路径的扩展,旨在通过同时使用多条路径提高网络的吞吐量和顽健性。由于MPTCP具有的高可靠性、高吞吐量特性,MTPCP将成为车联网多样化通信的有效方法之一。文献[5]介绍了一种专门用于车联网中多媒体应用的MPTCP传输协议,文献[6]使用MPTCP协议提高车联网中的文件传输效率。然而由于MPTCP多路径的特性,也使TCP中的传统拥塞控制算法不适合直接应用于MPTCP协议中,故早期IETF工作组制定MPTCP规范时提出了以下3个设计目标[3]。

1) 提高吞吐量:MPTCP流的整体吞吐量不应低于仅使用任意一条单路径时所获得的吞吐量。

2) 不产生损害:当 MPTCP与TCP同时使用某网络共享资源时,MPTCP用户不能比TCP用户获得更多的网络资源。

3) 拥塞平衡:若某条MPTCP链路发生拥塞,则应尽量将数据转移到其他路径传输,以均衡各子流间的拥塞程度。

针对上诉目标现已有若干拥塞控制算法被提出。在文献[7]中,EWTCP(equal weighted TCP)算法对每个子流设置了路径数的平方分之一作为权重因子,用来平衡 MPTCP对 TCP的侵略性。之后Costin 等[8]提出 LIA (linked increase)算法,LIA 算法将路径的拥塞窗口值与延迟响应时间的平方的比值作为衡量路径状态的标准,并将当前路径比值与所有的路径比值之和的比例作为拥塞窗口值增量。Khalili等[9]通过实验证明了LIA算法不能完全实现拥塞平衡,并在LIA算法的基础上,进行了部分修正,提出了OLIA算法(opportunistic linked increases algorithm)。该算法与LIA算法相比,新增了一项与最佳路径相关的机会增长因子用来对LIA算法的路径选择进行一定的修正,保证了整体链路的负载均衡,以及Linux系统中MPTCP默认的拥塞控制算法 Coupled[10],该算法将多个子流的拥塞窗口联合起来,共同决定某一子流的拥塞窗口值的增长。除以上提及的MPTCP拥塞控制算法,还有一些其他的相关文献建议去处理MPTCP中的最优化路由[11]和数据中心网络[12]等相关拥塞问题。

虽然现有的 MPTCP拥塞控制算法已经较为完善,但并未考虑车联网等系统中安全类应用具有的优先级传输需求。已有的考虑优先级拥塞控制的文献也几乎局限于无线传感网方面。如最早的应用于无线传感网中的基于优先级的拥塞控制算法PCCP[13](priority based congestion control protocol),文献[14~16]均是对PCCP算法在某一方面的改进,而文献[17]则介绍了一种在LTE(long term evolution)移动网络中基于优先级的拥塞控制算法。

3 吞吐量评估优先级调整模型

3.1 MPTCP链路条件分析

如图1所示,在使用TCP传输数据时,通常包含3个阶段[18]。

1) 开始阶段(0-knee):网络上的负载较小时,增加负载,网络上的吞吐量将会近似线性增长。

2) 积聚阶段(knee-cliff):网络上的负载持续增加,到达网络的容量上限之后,吞吐量的增长速率将逐渐变缓。

3) 过载阶段(cliff-∞):继续增加负载,以至于网络严重拥塞,导致分组丢失的发生。此时,网络的响应时间显著增加,网络趋于瘫痪,吞吐量急剧下降。

图1 负载—吞吐量关系

由以上的分析可知,链路的吞吐量是随链路负载不断变化的,因此,本文设想通过分析吞吐量的增长比例去预测MPTCP的链路条件。基于文献[19]提出的TCP链路吞吐量模型,t时刻的吞吐量xr(t)可由以下公式获得

其中,Rr(t)表示t时刻在路径r上的延迟响应时间RTT(round-trip time),pr(t)表示t时刻在路径r上的分组丢失率。r∈Mu,Mu是任意应用u的所有可用路径集合。pr(t)的计算方式采用了文献[19]中的估计方法其中,l(t)是应用u在上2次

r分组丢失之间成功传递数据报文的数量。根据式(1)对xr(t)求导可得

分析式(2)可知,任何时刻路径r上的吞吐量具有如下xr(t)属性。

1) 如果t时刻路径r上延迟响应时间Rr(t)和分组丢失率pr(t)同时增大,则xr(t)将减小。

2) 如果t时刻路径r上延迟响应时间Rr(t)和分组丢失率pr(t)同时减小,则xr(t)将增大。

因此,为表示MPTCP链路吞吐量的变化趋势,本文定义了集合Cr。

Cr由式(2)推导获得,其是t时刻吞吐量逐渐降低的路径r的集合。为方便计算,ΔRr(t)与Δpr(t)分别使用Rr(t)-Rr(t-1)与pr(t)-pr(t-1)的简化表示。

3.2 吞吐量预测

若使用基于拥塞窗口调整的拥塞控制机制去尽量避免拥塞和提高MPTCP的性能,则应研究吞吐量的变化趋势。如图1所示,在开始阶段,拥塞窗口值应该与吞吐量一同急剧增长。而当进入积聚阶段时,则应该逐渐降低拥塞窗口值的增长速度以减缓吞吐量的增长速度。因此,为选择合适的拥塞窗口增长策略,需要去计算和预测链路的吞吐量。虽然吞吐量的长远变化趋势受链路负载的影响,但仍然可以使用分组丢失率和 RTT值预测出短期内吞吐量的变化趋势。文献[20]中推荐了几种吞吐量评估策略。

本文使用了分批估计算法[21]进行吞吐量预测,其在一维非线性系统中具有良好的顽健性。该算法的工作过程由2步组成:第1步为自适应,分批估计算法通过测量和计算第t时刻和t-1时刻数据计出系数α;第2步为预测,该算法使用第1步中的数据估计第t+1时刻的可能取值。使用分批估计算法获得的估计值表示吞吐量的预测值,可以预测出未来传输数据流的吞吐量。t+1时刻的吞吐量预测值ˆ t+1)可由以下公式得出

其中,xˆ( t+1)为 t+1 时刻x的估计值,αˆ(t)表示对t时刻α的估计值,α的估计值可用式(5)求得

其中,

因为该算法的递归特性,故不需要其他额外信息,仅使用第t时刻与第t-1时刻吞吐量的测量值与估计值就可以进行实时的预测。该预测方式计算简单,且该算法的顽健性也能尽可能保证预测值的准确性。

3.3 动态优先级

针对车联网中面向不同应用的数据报文具有不同重要程度的特性,本文从系统一致性角度,参考数据报文所属应用优先级,以及报文所在链路状态定义了数据报文的动态优先级,给出了数据报文的动态优先级以及划分模型,用以反映不同优先级或相同优先级任务产生的报文的实时重要性。

定义1 数据报文的动态优先级用以表征当前数据报文待发送的实时需求程度。其描述如下

其中,p为所属应用的优先级,根据操作系统任务调度的一般性,p值越小,其优先级越高。r为应用选择的传输路径,Rr为其上次传输时接收端的延迟响应时间,Rmax是最大延迟响应容忍时间常数,超出这个时间则认为报文丢失,应用当前任务总的数据传输量为data,α为比例控制因子。根据IEEE TCP协议[4]定义,单个数据报文最多可以携带的数据量为1 500 byte,故本文选择α=1 500作为比例控制因子,即认为若某应用传输数据量低于单个数据报文传输的最大数据量,则该应用的传输数据量相对较小。

根据TP定义,某数据报文所属的任务优先级与从属的任务优先级、数据报文长度以及RTT成正比,即从属任务优先级越高,所在通信链路状态越优,总发送数据报文越小,该数据报文实时发送需求越急迫。动态优先级考虑了RTT与传输数据量大小对应用优先级的影响。RTT较小表示当前路径状态较好,可以适当增大拥塞窗口。一般情况下,某次传输数据的数据量较小,则表示该数据具有更高的即时性与有效性,如一般情况下信息、文档等文件较音乐、视频等多媒体文件有更高的重要性,但理论上应该保持数据优先级对优先级影响力的主导作用,对于本文讨论的情况,即应该保证调整之后的动态优先级不会跨越下一应用优先级。

因此,本文采用了将延迟相关因子与数据量相关因子相乘的方式。由公式简单计算可知取值范围为(0,1),则动态优先级不会发生跨越应用优先级的情况。动态优先级定义既考虑了链路情况与传输数据量对优先级的影响,以区别相同优先级应用的优先程度,同时也保证了应用优先级对动态优先级的支配地位。

针对不同优先级应用的数据传输需求的重要性不同,故首先应该对动态优先级进行划分。若系统中动态优先级的取值范围为从M到N依次递增的数,则先取初始中间值为尽可能减少高优先级应用,故将初始中间值下取整,即以Linux中nice值优先级为例,应用的优先级范围为-20到20,其中小于0的优先级为特权优先级,则在 Linux系统中动态优先级M=-20、N=21、MID=0。故对于Linux系统中动态优先级小于0的应用,本文认为可以适当加快其数据传输的速度。

3.4 吞吐量占比因子

在车联网系统中高优先级应用自身传输的数据量一般较少,故通常不会引起长时间的链路拥塞。通常只有当低优先级应用大量传输多媒体数据时才会引起链路的长时间拥塞。为保证高优先级应用数据的快速传输,则此时应尽量保证高优先级应用的链路吞吐量占比以避免高优先级应用数据分组的丢失。本文定义了吞吐量占比因子,以避免因低优先级应用大量发送数据造成链路拥塞,从而导致高优先级应用频繁分组丢失。吞吐量占比因子能保证当高优先级应用分组丢失时,若其对当前链路的吞吐量占用比例低于吞吐量占比因子时,则其发生分组丢失将不会使自身拥塞窗口值发生衰减。吞吐量占比因子具体定义如下。

定义 2 吞吐量占比因子用于表示某应用所需占用网络资源的权重。其表达式如下

若某应用的动态优先级为TP,该系统的优先级数值范围为M到N,M<N,MID为该系统的优先级数值的中间值。由定义可知,当传输应用的动态优先级较低,即TP≥MID时,其吞吐量占比因子β∈[-1,0],对低优先级应用不具有保证吞吐量占用比例的作用。而当传输应用的动态优先级较高,即TP<MID时,其吞吐量占比因子β∈[0,1],可通过其适当保证高优先级应用在当前链路的最低吞吐量占用比例。

4 PTLIA算法

本部分将具体介绍基于优先级和吞吐量预测的链接增长拥塞控制算法(PTLIA),PTLIA算法基于拥塞窗口大小调整机制。本节还分析了 PTLIA算法满足IETF设计目标的各项属性,并且证明了其收敛性。

4.1 PTLIA算法设计

在PTLIA算法中,本文使用了吞吐量预测的方式去调整拥塞窗口值的增长速度,以适应不同的传输阶段。具体的PTLIA算法如下。

1) 每当路径r接收到一个ACK时,则下一时刻的拥塞窗口值增量为

其中,Mu是用户u的所有可用路径集合,当r∈Cr时当时 αr(t)=0。若 r∈Cr,则表示当前路径吞吐量增长比率下降,网络可能发生拥塞,此时因( t +1) >xr( t ),λr将会小于1,可以减缓拥塞窗口值的增长速度,避免过度拥塞,长时间维持链路的高吞吐量。

其中,βu是应用u对应的吞吐量占比因子,xr为当前吞吐量,xrmax是应用u在路径r上曾出过的最大吞吐量数值。

因不同进程的吞吐量占比因子βu不同,故式(9)能使当因链路拥塞而发生分组丢失时,高优先级应用的拥塞窗口值衰减更小,低优先级应用的拥塞窗口值衰减更大,从而在长时间传输过程中逐渐提升高优先级应用在链路中的吞吐量占用比例。同时,通过在分组丢失时进行条件判断,若高优先级应用在吞吐量占用比例过低时发生分组丢失,则不会发生拥塞窗口值衰减,进一步保证了高优先级应用在链路中的吞吐量占用比例。

PTLIA算法仅在发生分组丢失,即在链路可能出现拥塞时,才对不同优先级应用的拥塞窗口值给予不同的调整策略。因此,PTLIA算法不会影响不同应用在拥塞窗口值增长上的公平性,同时通过保证吞吐量占比提高了高优先级进程的传输速度。

4.2 PTLIA算法属性分析

根据IETF制定的标准,MPTCP拥塞控制算法应该尽可能满足本文第2节提及的3个目标。本文将描述PTLIA的相关属性,并且证明其满足以上的3个目标。

定理1 PTLIA算法在任意应用u使用的任意路径r上具有以下属性。

1) PTLIA算法满足MPTCP设计目标1:提高吞吐量。

2) PTLIA算法满足MPTCP设计目标2:不产生损害。

3) PTLIA算法满足MPTCP设计目标3:拥塞平衡。

4) 对于任意时刻t与t+1,若K与T是2次连续分组丢失发生的时间,且满足 K

证明 以上属性的具体证明请详见附录1。

4.3 PTLIA算法公平性与代价

4.3.1 PTLIA算法公平性分析

PTLIA算法的公平性问题即为对 TCP用户的友好性,具有良好公平性的算法应尽可能减少对TCP用户路径的侵占。有关PTLIA算法公平性的理论分析,即为4.2节中的属性2),不产生损害。

4.3.2 PTLIA算法代价分析

本文通过吞吐量预测的方式,更准确地获取了路径的拥塞情况,从而进一步提升了系统的传输效率,但吞吐量预测也增加了算法运行时的计算量。不过该计算量与目前计算机的性能相比极其微小,所以,其对传输性能的影响也几乎可以忽略。

另一方面,本文提出的算法主要考虑的是高优先级任务的传输需求,故在降低高优先级任务的传输时间的同时将会增大低优先级任务的传输时间。同时由于算法分组丢失策略的限制,当系统中的传输进程全是极高优先级进程,或全是极低优先级进程时,系统的传输效率也将受到较大影响,但该问题可通过应用设置避免。

5 实验仿真与性能分析

本文实验通过NS3构建多宿主通信环境,并针对车联网中大数据量、小数据量等不同的网络传输需求对PTLIA算法性能进行验证,并与LIA、OLIA算法进行了性能对比分析。

5.1 仿真环境与设置

本部分的优先级对比实验在仿真模型中的A、B、C 3个节点上建立相关应用进行数据传输。其中,A、C为发送节点,B为接收节点,节点 A使用MPTCP,节点C使用TCP。在相同的网络环境下,当所有应用的数据全部传输完成时,实验停止。其仿真实验模型如图2所示。

图2 仿真模型

5.2 优先级对比实验仿真结果分析

针对不同场景的应用需求,本实验环节分为 2部分:第1部分实验应用的传输数据量为5 MB;第2部分实验应用的传输数据量为50 MB。本节将分别对比传输数据量为5 MB和50 MB时,PTLIA算法中不同优先级应用的传输结束时间和拥塞窗口值变化情况。实验参数如表1所示,实验结果如图3所示。

图3为各应用传输数据量为5 MB和50 MB时的拥塞窗口值变化。由图3可以看出不论是传输数据量较低(5 MB),还是传输数据量较高(50 MB)时,应用1在其传输期间相比其他应用能维持较高的拥塞窗口值,且分组丢失策略的保护使应用1近乎同时使用路径1与路径2进行传输,从而使高优先级应用1的数据提前传输完成。

表1 实验1仿真参数

图3 各应用拥塞窗口值

图4为传输数据量分别为10 MB、20 MB、30 MB、40 MB和50 MB时,重复进行20次传输实验后统计获得的各应用的平均结束时间。由图中可以看出,当传输数据量较低时,各应用的传输时间差距较小,当传输数据量逐渐增大时,应用1的传输时间明显低于其他应用的传输时间。由实验结果可知,PTLIA算法通过在发生分组丢失时保证高优先级应用的吞吐量和对应用的拥塞窗口丢失值进行调整的方式,保证高优先级应用优先传输的目的。

图4 各应用平均结束时间

5.3 各算法性能对比与分析

5.3.1 性能对比实悚仿真参数

本节针对 LIA、OLIA和PTLIA这3种算法分别在NS3中进行仿真。实验2在图2仿真模型中的A、B节点上建立了应用5,应用5分别使用不同的拥塞控制算法传输数据,传输数据量均为10 MB。为排除PTLIA算法中优先级控制对PTLIA算法性能的影响,实验2将应用5的优先级设置为0,则分组丢失处理时PTLIA算法将与其他算法相同。表2为实验2的各项仿真参数。

表2 实验2仿真参数

5.3.2 愢塞窗口表现分析与比较

图4中给出了3种算法在路径1和路径2上的拥塞窗口值变化情况。

由图5可以看出,因LIA算法不具有拥塞平衡的作用,故LIA算法在整个传输过程中一直在同时使用链路条件更差的路径2,而OLIA算法与PTLIA算法仅仅在路径过度拥塞时使用路径2传输。对比OLIA与PTLIA算法还可以看出,OLIA算法在拥塞避免阶段的拥塞窗口值近乎为线性增长,而PTLIA算法的拥塞窗口值则因吞吐量预测而呈现出曲线趋势,能持续地维持拥塞窗口值平稳增长和降低分组丢失率,故PTLIA算法将能更有效地避免如OLIA算法在8~12 s时间段出现的过度拥塞的情况。表3给出了各个算法的分组丢失次数。

图5 各拥塞控制算法的拥塞窗口值

表3 分组丢失次数

实验在算法传输过程中统计了各个算法所有路径上发生的分组丢失次数总和,若某次分组丢失导致该路径拥塞窗口值降低,则统计为一次有效分组丢失次数。PTLIA算法通过吞吐量预测的方式更准确地对路径状态进行评估,保持路径进行长时间的稳定传输,从而降低了分组丢失次数。

5.3.3 吞吐量表现分析与比较

图6中给出了3种算法在路径1和路径2上的吞吐量变化情况。

图6 各拥塞控制算法的吞吐量表现

对比图6中的各个算法可以看出,PTLIA算法的吞吐量在整个数据传输过程中表现更加平稳,其最大吞吐量值几乎维持在同一水平线。而LIA算法与 OLIA算法的吞吐量均在传输过程中具有很大波动,OLIA算法甚至出现了因链路过度拥塞而导致吞吐量急剧下降的情况。对比分析可知,PTLIA算法通过吞吐量预测的方式相比LIA与OLIA算法,能更好地控制链路的拥塞情况,维持链路的最大吞吐量。表4为各个算法的传输结束时间,证明了PTLIA算法通过吞吐量预测进一步地节约了传输时间。

表4 传输完成时间

5.3.4 愢塞窗口增量分析与比较

图7给出了3种算法在路径1上的拥塞窗口增量变化情况。

图7 各拥塞控制算法在路径1上的拥塞窗口增量

因路径 2条件较差,在传输过程中拥塞窗口值几乎没有变化,图 7仅为 LIA、OLIA和PTLIA算法在路径 1上的拥塞窗口增量值的变化。为更加直观地表现拥塞避免阶段算法对拥塞窗口值的调整作用,本部分移除了慢开始阶段的拥塞窗口增量值。图中竖线表示传输过程中发生一次分组丢失,因此,从图7中可以清晰地看出PTLIA算法在2次分组丢失之间的拥塞窗口增量值逐渐减小,而LIA与OLIA算法并不完全符合该特征,即图7验证了PTLIA算法满足理论1中的属性4。

5.4 公平性分析与比较

为测试 PTLIA算法对传统单路径TCP用户的公平性,本部分进行了 LIA、OLIA和 PTLIA算法的公平性对比实验。实验3依然使用图2中的仿真模型,传输数据量均为10 MB,具体仿真参数如表5所示。传输时应用6使用MPTCP,并同时使用链路1与链路2,应用7使用TCP,仅使用链路 2。为避免优先级的影响,应用 6与应用7的优先级均设置为0。

表5 实验3仿真参数

图8为使用MPTCP时LIA、OLIA以及PTLIA算法与使用TCP时的RENO算法的吞吐量对比。按照MPTCP拥塞控制算法公平性的理论设计,当MPTCP与TCP同时使用瓶颈链路链路1时,应尽可能使TCP与MPTCP用户获得相同的链路带宽资源。针对本实验环境,因链路1与链路2带宽相同,则 MPTCP应用应尽可能少地侵占链路 1。使MPTCP应用与TCP应用具有相同的带宽资源。

图8 MPTCP与TCP在瓶颈链路1上的吞吐量对比

由图8可以看出,相比PTLIA与LIA算法,OLIA算法的公平性最好,公平性调整最迅速,且稳定地保持着对链路1带宽资源的低占有率。LIA算法的公平性其次,PTLIA算法公平性最低。但由图8中依然可以看出PTLIA算法具有公平性调整的作用,有效降低了对TCP使用的瓶颈链路的带宽占有率,验证了PTLIA算法满足理论1中的属性2。

6 结束语

本文在参考已有的MPTCP拥塞控制算法的基础上,根据未来车联网等系统中即将出现的数据传输需求,提出了基于优先级和吞吐量预测的MPTCP拥塞控制算法PTLIA。本文建议的拥塞控制算法是为了解决具有高优先级需求的实时数据的传输问题以及进一步提高MPTCP的数据传输效率。仿真结果表明,该算法较其他的MPTCP拥塞控制算法,明显提升了高优先级应用的数据传输速度,并提升了整体数据的传输效率,将进一步提高车联网系统的安全性。

在物理因素方面,本文所提出算法的有效性将主要依赖吞吐量测量值与吞吐量预测模型的准确性,在链路条件极度不稳定的Wi-Fi网络中可能将会有较差的表现。未来的研究方向或将考虑针对系统当前传输任务的优先级对算法的分组丢失策略进行适当调整,以及调整吞吐量预测模型以适用于各种不同的网络环境。

附录1 对PTLIA算法属性的证明

证明 属性1)和2):提高吞吐量和不产生损害。

因PTLIA算法的拥塞窗口值增长因子的结构与OLIA[9]算法相同,故参考OLIA算法,PTLIA算法中的拥塞窗口值增长率如下

因xr(t)2>0,故化简整理后得到若rmax表示 MPTCP中的最好路径,文献[9]则可将

MPTCP设计目标一转化为吞吐量关系

将MPTCP设计目标二转化为吞吐量关系

证明 属性3):拥塞平衡

拥塞平衡的作用是为了将数据从拥塞链路转移到非拥塞链路,故对于非拥塞链路其拥塞窗口值增长应该更加快速。若r1、r2分别表示2条不同的路径,且当前路径r1较为拥塞,路径r2条件较好,Δwr1(t)为一用户在路径r1上t时刻的拥塞窗口值增量,Δwr2(t)为同一用户在路径 r2上 t时刻的拥塞窗口值增量,即应该证明

由式(8)可知,

为方便讨论,本文假设在极端情况下路径r1已经接近完全拥塞,故此时路径r1上的吞吐量将几乎不再增长,此时 λr1≤1,αr1≈0。链路 r2 状态非常良好,即 r2∉Cr,故此时λr2=1。由网络传输相关知识可知,当链路拥塞时,其 RTT值将比条件良好链路的RTT值大,即有Rr1>Rr2。

情况1 当 wr1≤wr2时,代入以上相关参数,对比后明

情况2 当 wr1>wr2时,代入以上参数得到

此时若有

则 ∆ w(r1t) <∆wr2(t),即当式(17)成立时,此时PTLIA算法将开始对链路进行拥塞平衡调整。综上所述,当链路拥塞时,PTLIA具有拥塞平衡功能,满足属性3)。

证明 属性4)。

因K与T是2个连续发生分组丢失的时刻,假定t时刻与t+1时刻RTT值相同,且λr(t+1)=λr(t),则Δwr(t+1)与Δwr(t)的关系可以如下

因t与t+1处于2次连续分组丢失的时间段内,故wr和 xr在此时间段内将持续增长,wr(t+1)>wr(t),xr(t+1)>xr(t),且 αr(t+1)≥αr(t), 即故 若 要 证 明则只需证明

若在 t与 t+1时刻其他路径均未发生分组丢失,则当j∈ Ru,j ≠r 时有 wj( t + 1)≥ wj( t )。中所有项均为正数,且分母为平方增量,故分母增量远大于分子增量,由相关数学公式可知式(18)成立得证。PTLIA算法满足属性4)。

[1] LEE E, GERLA M, et al. Vehicular cloud networking: architecture and design principles[J]. Communications Magazine IEEE, 2014, 52(2):148-155.

[2] DENG S, NETRAVALI R, SIVARAMAN A, et al. WiFi, LTE, or both?:meas-uring multi-homed wireless internet performance[C]//2014 Conference on Internet Measurement. ACM, c2014: 181-194.

[3] FORD A, RAICIU C, HANDLEY M, et al. Architectural guidelines for multipath TCP development[EB/OL]. https://tools.ietf.org/ html/ rfc6182.

[4] WISCHIK D, RAICIU C, GREENHALGH A, et al. Design, implementation and evaluation of congestion control for multipath TCP[C]//Usenix Conference on Networked Systems Design and Implementation. USENIX Association, c2011:99-112.

[5] CLOUD J, PIN C F D, ZENG W, et al. Multi-path TCP with network coding for mobile devices in heterogeneous networks[C]//IEEE Vehicular Technology Conference Institute of Electrical and Electronics Engineers (IEEE). c2013:1-5.

[6] KUMAR G S, KHARA S. Technique to improve the file transfer outcomes between road side unit and vehicles in vehicular ad hoc networks[C]//2015 International Conference on Computing, Communication & Automation (ICCCA). IEEE, c2015:360-366.

[7] HONDA M, NISHIDA Y, EGGERT L, et al. Multipath congestion control for shared bottleneck[C]//Proceedings of Protocols for Future,Large-Scale & Diverse Network Transports Work-shop, c2009.

[8] RAICIU C, WISCHIK D, HANDLEY M. Practical congestion control for multipath transport protocols[EB/OL]. http://tools.ietf.org/pdf/ rfc6356. pdf.[9] KHALILI R, GAST N, POPOVIC M, et al. MPTCP is not paretooptimal:performance issues and a possible solution[J]. ACM/IEEE Transactions on Networking, 2013, (5):1651-1665.

[10] RAICIU C, HANDLEY M, WISCHIK D. Coupled congestion control for multipath transport protocols[EB/OL]. http://tools.ietf.org/pdf/rfc6356.pdf. 2011.

[11] WISCHIK D, HANDLEY M, RAICIU C. Control of multipath TCP and optimization of multipath routing in the internet network control and optimization[M]. Springer Berlin Heidelberg, 2009.

[12] RAICIU C, PLUNTKE C, BARRE S, et al. Data center networking with multipath TCP[C]//ACM Workshop on Hot Topics in Networks.Monterey. Ca, USA, c2010:1-6.

[13] YAGHMAEE M H, ADJEROH D. A new priority based congestion control protocol for wireless multimedia sensor networks[C]//2013 IEEE 14th International Symposium on A World of Wireless, Mobile and Multimedia Networks (WoWMoM). IEEE, c2008:1-8.

[14] PATIL D, DHAGE S N. Priority-based congestion control protocol(PCCP) for controlling upstream congestion in wireless sensor network[C]//International Conference on Communication, Information&Computing Technology. IEEE, c2012:1-6.

[15] JAN M A, NANDA P, HE X, et al. PASCCC: Priority-based application specific congestion control clustering protocol[J]. Computer Networks, 2014, 74(1):92-102.

[16] LI Z, LIU P X. Priority-based congestion control in multi-path and multi-hop wireless sensor networks[C]// IEEE International Conference on Robotics and Biomimetics. c2007: 658-663.

[17] TUNG L C, LU Y, GERLA M. Priority-based congestion control algorithm for cross-traffic assistance on LTE networks[C]// 2013 IEEE 78th Vehicular Technology Conference (VTC Fall). c2013:1- 5.

[18] CHIU D M, JAIN R. Analysis of the increase and decrease algorithms for congestion avoidance in computer networks[J]. Computer Networks & Isdn Systems, 1989, 17(1):1-14.

[19] MATHIS M, SEMKE J, MAHDAVI J, et al. The macroscopic behavior of the TCP congestion avoidance algorithm[J]. ACM Sigcomm Computer Communication Review, 2001, 27(3):67-82.

[20] SHAILENDRA S, BHATTACHARJEE R, BOSE S K. Improving congestion control for concurrent multipath transfer through bandwidth estimation based resource pooling[C]// 2011 8th International Conference on Information, Communications and Signa Processing(ICICS). c2011:1-5.

[21] DING N, TAN G Z, ZHANG W, et al. Character-aware traffic flow data quality analysis based on cusp catastrophe theory and wireless sen network[J]. Ad hoc & Sensor Wireless Networks, 2013,18(1):277-292.

Requirements-driven and multi-homed-based multipath TCP congestion control algorithm for vehicular network

DING Nan1, LIN Tao1, SONG Cai-xia1,2, TAN Guo-zhen1
(1. Institute of Computer Science and Technology, Dalian University of Technology, Dalian 116024, China;2. College of Science and Information, Qingdao Agricultural University, Qingdao 266109, China)

To meet the diversified QoS applications demanded by terminal units of a VANET, especially to ensure the timeliness and reliability when sending the high-priority messages that were related to safety-critical applications, a demand-driven MPTCP congestion control algorithm: PTLIA was proposed, which was based on message priority and throughput estimation. First, message priority and throughput proportion factor were defined to characterize the weight of each message being sent. Second, the patch estimation model was used to make real-time estimation of the state of each MPTCP path. Finally, the algorithm of PTLIA was accordingly designed to adjust, dynamically, the window of the congestion time on demand. The algorithm of PTLIA, as proved in proposed simulations and experiments, has shortened the transmission of the high-priority data, under the premise of MPTCP transmission principles.

vehicular ad hoc network, MPTCP, congestion control, safety-critical applications, message priority,throughput estimation

TP302

A

10.11959/j.issn.1000-436x.2016137

2016-01-26;

2016-05-10

丁男,dingnan@dlut.edu.cn

国家自然科学基金资助项目(No.61471084);中央高校基本科研业务费专项基金资助项目(No.DUT15QY02)Foundation Items: The National Natural Science Foundation of China (No.61471084), The Fundamental Research Funds for the Central Universities (No.DUT15QY02)

丁男(1978-),男,辽宁沈阳人,博士,大连理工大学副教授、硕士生导师,主要研究方向为信息物理系统、嵌入式技术、移动网络通信技术、物联网与车联网及其应用等。

林滔(1992-),男,四川南充人,大连理工大学硕士生,主要研究方向为车联网、多链路TCP等。

宋彩霞(1977-),女,山东即墨人,青岛农业大学讲师,主要研究方向为车联网安全通信协议、信道资源分配、拥塞控制。

谭国真(1960-),男,辽宁本溪人,博士,大连理工大学教授、博士生导师,主要研究方向为车联网与无人驾驶技术、人工智能、智能交通系统、网络算法与复杂性理论等。

猜你喜欢

传输数据控制算法吞吐量
基于单片机的物联网传输数据高并发读写系统设计
基于SSL VPN实现安全共享疾控单位之间的数据
基于深度强化学习的物联网传输数据实时调度方法
苹果专利可采用光纤输出灯光并传输数据将光纤隐藏于车辆部件内
基于ARM+FPGA的模块化同步控制算法研究
高精度位置跟踪自适应增益调度滑模控制算法
2017年3月长三角地区主要港口吞吐量
2016年10月长三角地区主要港口吞吐量
2016年11月长三角地区主要港口吞吐量
基于航迹差和航向差的航迹自动控制算法