异构网络中保障业务QoS的TCP协议研究

2018-08-24 08:50范志
计算机测量与控制 2018年8期
关键词:包率异构吞吐量

,, ,范志

(1.河南科技大学 信息工程学院,河南 洛阳 471023;2.河南科技大学 网络信息中心,河南 洛阳 471023)

0 引言

TCP协议在有线网络中表现良好但是在异构网络中的适应性不强,有几点原因:(1)在慢启动开始阶段,拥塞窗口设为定值1,这样会导致网络带宽在前期不能充分利用,不能根据网络情况设置合适的初值[1];(2)在拥塞控制过程中门限值(ssthresh)设定为65535个字节[3]。但是在实际网络情况下,如果ssthersh的值过小或者过大,那么会产生两种情况:一种是提前进入拥塞避免阶段,导致网络带宽利用率不高,吞吐量的下降;另一种当网络情况较差时会产生丢包[4];(3)随着网络中业务流的种类与数量日益增多,会导致网络资源分配不公平与服务质量下降等问题[5]。

针对上述问题,近几年的研究如下:文献[6]提出了一种新的移动流控制传输协议(mSCTP)的拥塞控制方案,该方案基于对底层网络可用带宽的估计,以实现跨异构无线/移动网络的垂直切换。对于mSCTP的拥塞控制,新主路径的初始拥塞窗口大小根据移动节点移动到的新链接的可用带宽来自适应配置。文献[7]针对IEEE 802.16j协议中MAC层对不同类别业务的带宽的需求,采用基于业务特征感知的多用户带宽分配方法,为不同类别的业务分配最低需求的带宽。文献[8]提出了新的算法TCP BRJ,该算法能够在慢启动阶段根据带宽估计来实时调整初始的慢启动阈值和拥塞窗口并划分网络拥塞等级来区分是随机丢包还是拥塞丢包并作出相应的反应。但是上述几种解决方案不能有效解决TCP协议在异构网络环境中存在的三点问题,增强TCP协议在异构网络中的自适应性与保障业务的QoS这两点相结合是解决问题的关键。

文章结合了自然启发算法的优点,通过网络相关参数构建网络捕食模型,并在此基础上提出了一种区分数据流大小与数据流优先级的TCP拥塞控制改进架构,对网络的吞吐量与丢包率都有很大的改善,并能保障高优先级业务的带宽需求。

本文结构安排如下:第一章提出了异构网络环境下传统TCP/IP协议的不足以及近几年的研究成果。第二章介绍了传统的捕食模型算法在网络环境下的思想以及应用;第三章介绍新的改进算法与算法的理论说明;第四章仿真实验以及3种算法的性能评估;最后,第五章对工作进行总结。

1 捕食模型理论基础

1.1 生态系统捕食模型算法

经典的捕食模型指的是捕食者以猎物为食,数学表示为其物种数量上的变化,假设有物种a、b、c,物种a处于食物链的底端,物种c处于食物链的顶端,那么物种相互之间的捕食关系表达如下:

(1)

(2)

(3)

1.2 网络生态系统思想

假设某个网络由源端节点S={S1,S2……Sk}以及目的端节点D={D1,D2……Dk}组成,并假设网络中各个流具有相同的回路响应时间RTT。网络模型是有线/无线混合异构网络,如图1所示。

图1 网络模型

图1中的网络可以看作为一个小型生态系统模型,该网络生态系统由路由器,主机,链路以及操作系统组成。我们从拥塞控制这个角度看待这个网络生态系统,生态模型中生存着物种“拥塞窗口(W)”,“队列长度(Q)”,以及“网络带宽(C)”等。这些物种相互联系,其物种数量相互影响。

假定源节点S中W的大小为Wi,即链路i的拥塞窗口大小。很明显当这个物种数量增大时,网络中的数据包传输量也会随之增加。因此控制网络中拥塞问题就必须控制物种W的数量。所说义说通过生态模型中物种数量控制问题可以构建网络生态模型。自然界物种之间通过捕食、竞争、寄生及共生等来控制各个的物种数量,维持生态系统的平衡,因此我们也可以借鉴这些策略来进行拥塞控制[10]。

1.3 捕食模型算法提出

将捕食模型运用到网络环境中,根据物种间的竞争关系,选取拥塞控制中相互制约的3个参数,并构造出三层网络捕食关系模型:网络带宽(C)——拥塞窗口(W)——队列长度(Q)。在这个“网络生态系统”中,Wi约束着C的数量,而Q约束着Wi的数量,他们之间的相互捕食关系可以用如下公式表示[11]:

(4)

(5)

(6)

其中:α表示C的出生率,β表示一个C遇到W的死亡率,χi表示Wi的出生率,δ表示Wi捕食C的转化效率ε表示每一个Wi遇到Q的死亡率,φi表示每一个Wi被捕食的转化为Q的效率,而γ代表Q的自然死亡率,其中σ是一正的平滑因子,CW是瓶颈链路的带宽大小。

因此,可以通过采集相关网络参数数据构建网络捕食模型IPPM。TCP源端可以通过相关参数的采集信息实时更新模型输出,进而使用来控制TCP拥塞控制过程中的相关参数,使网络可以动态的,自适应的调节,增强TCP的适应能力。

2 基于QoS保障的捕食模型算法

2.1 问题分析

但是随着实验进一步进行发现IPPM算法虽然可以有效解决异构网络中TCP协议吞吐量下降以及丢包的情况,但是还存在三点不足。

第一点,对于网络的带宽评估不足。在异构网络中,网络的实际带宽或者称之为承载能力,不能直接给出有线网络的带宽作为计算参数,而是要考虑无线网络的影响,实际的带宽计算并不准确。

第二点,没有考虑业务速率的差异性,算法适应性和灵活性较差。

第三点,没有考虑不同业务的差异性,当网络资源不足时,则业务的服务顺序应该有差异性,网络资源分配应该优先分配给高优先级业务。但是IPPM算法没有考虑这个问题。这是IPPM算法的第二个问题。

在IPMM算法中对网络的最大带宽CCCC的评估并不准确。在真实的网络中,其网络的负载能力往往由最小的带宽即瓶颈带宽决定。在如图1的网络拓扑中,网络的瓶颈带宽应该是无线部分和有线部分的最小带宽。

下面将计算无线网络的真实带宽。在无线网络中节点需要通过随机竞争方式获得信道资源,因此网络的带宽不能等价于物理层传输速率,而是其真实能够承载的业务量。由于无线节点需要竞争信道资源,因此存在无线节点之间的冲突开销以及随机退避开销。节点的冲突概率和传输概率[12]由式(7)和(8)定义:

(7)

pcol=1-(1-ptr)N-1

(8)

其中:ptr为节点传输概率,pcol为冲突概率,W为初始竞争窗尺寸,2mW为节点最大竞争窗尺寸,N为无线节点数。

因此,无线网络带宽BWwireless定义为:

(9)

其中:L表示每次成功传输的负载长度,pidle表示信道空闲时间且pidle=1-ptr-pcol,Ttr、Tcol以及Tidle分别表示信道用于传输、冲突以及空闲所占的时间。

通过计算无线链路的真实带宽之后,可以改进IPPM算法的公式(4)为公式(10):

BW=min(BWwireless,BWwired)

(10)

其中:BWwired表示有线部分带宽。

2.2 算法的拥塞控制与流量控制

2.2.1 拥塞控制

在公式(5)中,主要考虑所有业务的均等的,即可以认为在公式(5)中所有Wi系数为1。但是真实的网络中节点的业务存在差异性,不能按照均等方式划分网络资源,故需要对于公式(5)进行修改,使之考虑业务速率的差异性,可以更公平的分配带宽。

假设网络中第i个TCP流的业务速率为T(i),TCP流的数量为k,则可以改进公式(4)为公式(11):

(11)

其中:P(i)表示TCP流的比例大小系数,定义如下:

(12)

故网络可以根据每条数据流的速率分配带宽,提高带宽的利用率。

2.2.2 流量控制

当考虑不同业务优先级时,则可以适当对高优先级业务予以倾斜,即高优先级业务获得更高的拥塞窗口值,而低优先级业务的拥塞窗口更小。在无线网络中,一般会将业务的吞吐量需求分为保障比特率(Guaranteed Bit Rate,GBR)以及非保障比特率(Non-Guaranteed Bit Rate,NGBR)。因此我们的主要思想是将不同优先级的业务分别划分为保障比特率和非保障比特率:

T(i)=TGBR(i)+TNGBR(i),i=1,2,...,k

(13)

考虑优先级的业务优先级的TCP流的比例大小系数Ppri(i)计算如下:

(14)

公式(14)的含义为,在分配拥塞窗口时,优先满足保障比特率的部分,然后剩余的带宽则由非保障比特率部分按照业务比率分配。

2.3 算法流程

算法流程见图2。

图2 算法流程图

在系统开始阶段,TCP流通过信息的采集工作,提取到当前网络中的相关信息,并将这些信息通过构造捕食模型,使用Q-IPPM模型的输出来对TCP流的参数进行初始化设置。其优点是使得TCP流能以适合于当前网络状态的初值运行,尽可能的降低拥塞产生的可能性,防止丢包事件的发生。同时在系统运行期间,发送端仍可以采集系统中不断变动的状态信息变量,仍然使用Q-IPPM模型来对其相关参数进行调整,增大TCP流的适应性,使其能根据网络的变化动态采取相应的调整。

3 仿真实验

3.1 捕食模型算法特性证明

使用图1的拓扑,下面证明捕食算法的一些特性。这里设节点的业务速率为0.1 Mbps、0.2 Mbps、0.3 Mbps以及0.4 Mbps,且每种业务速率节点个数均为1/4,初值拥塞窗口的值为6,总节点数为20。公式队列长度Q的计算方法如公式(15)所示:

(15)

其他实验参数设置如表1所示。

表1 网络仿真参数设置

假设每条数据流都是长期运行的,将相关参数代入公式(11),通过仿真该算法得到其中拥塞窗口增长轨迹以及网络可用带宽如图3所示。

图3 拥塞窗口变化

图4 可用带宽变化图

模型分析:图3与图4显示了在捕食模型下拥塞窗口与网络可用带宽的变化情况,可以看到数据流在系统运行一段时间以后,汇聚到了平衡状态,并且在平衡状态时,根据速率比例公平的分享瓶颈链路带宽资源。从图4中可以看到,在系统运行初期,可用剩余带宽基本等于链路带宽,而这个特点对于具有固有RTT不公平性缺陷的传统TCP协议来说是急需的。

通过上面的仿真数据图,可以看到捕食模型系统具有良好的稳定性。在后期阶段系统能够达到相对稳定状态并且拥塞窗口、可用带宽运行轨迹相对稳定。没有抖动。在多组场景,多组初值情形下,反复实验,可以得到都出现了以上性质,如公平性好,小抖动等优点。

3.2 改进算法仿真

为了评估本文中Q-IPPM的算法性能,通过NS2网络仿真工具实现了相关算法性能,并且与TCP协议进行了比较。异构网络的场景设置如图1所示,参数设置如表1所示。

将相关参数带入Q-IPPM算法中。当节点数较小时,Q-IPPM协议的吞吐量最高,IPPM协议次之,TCP Reno协议最差。这是因为IPPM和Q-IPPM算法均可以根据网络状况动态选择合适的门限值,让系统逐渐趋于稳定状态,而Reno算法则是没有充分考虑网络当前状况盲目减小拥塞窗口导致网络吞吐量下降。当节点数目进一步提升时,IPPM算法协议无法自适应的调整业务速率不同节点的拥塞窗口,它的每条数据流都分配的是相同的拥塞窗口,那么拥塞窗口的值会相应的有“溢出”或者“不足”,不能“按需分配”每条数据流的拥塞窗口,因此吞吐量不断下降,而Q-IPPM协议则一直保持最高吞吐量。当节点数为24时,网络吞吐量会整体下降,这是因为在无线网络中过多的无线节点会引起更多的网络冲突,减少数据传输的机会,从而影响整体网络的吞吐量。

3种协议丢包率的对比如图5所示,从中可以看出Q-IPPM的丢包率总是最低的,对比IPPM算法与Q-IPPM算法,当IPPM算法无法根据每条数据流的速率差异情况分配拥塞窗口时,也就是上述说的分配的拥塞窗口不足时,网络就会发生拥塞,导致丢包率上升。而Q-IPPM算法可以根据每条数据流的速率分配不同的拥塞窗口,所以说改进后的Q-IPPM算法不仅可以提升网络吞吐量,而且可以降低丢包率。

图5 改变节点数量的吞吐量性能对比

图6 改变节点数量的丢包率性能对比

当在仿真中固定节点数为24个且业务速率固定为200 Kbps时,其中8个业务为高优先级(保障比特率为200 Kbps)、8个业务为中优先级(保障比特率为100 Kbps,非保障比特率为100 Kbps)、8个业务为低优先级(非保障比特率为200 Kbps)。不同优先级的吞吐量与丢包率性能如图5和图6所示。从中可以看出,由于TCP Reno和IPPM协议不区分业务优先级,因此无论是吞吐量还是丢包率,不同优先级的业务性能差异不大,并不能保障高优先级业务的QoS需求。对于Q-IPPM协议而言,在设计算法时充分考虑了不同优先级业务具有不同的优先级系数,则可以分配更多的网络资源给高优先级业务。因此,Q-IPPM协议中高优先业务的吞吐量最高,丢包率最低,而低优先级业务的吞吐量最低,丢包率最高。仿真中根据式(14)设置了不同优先级业务的优先级系数。

图7 不同业务优先级的吞吐量性能对比

图8 不同业务优先级的丢包率性能对比

4 总结

本文针对TCP应用于异构网络存在的问题,有研究者提出了应用捕食模型改进TCP协议的方法,称之为IPPM算法。针对IPPM算法的缺点,即不能区分业务速率、评估网络带宽有误差以及无法区分业务优先级,本文进行了改进。具体地,提出了根据业务速率分配ssthresh的方法、基于无线网络随机竞争机制的带宽评估方法以及基于业务优先级的加权分配。通过仿真实验说明提出的算法在吞吐量以及平均时延方面均优于TCP协议。在下一步的工作中,我们将提出更加精确的捕食模型,进一步提高异构网络的TCP协议性能。

猜你喜欢
包率异构吞吐量
ETC拓展应用场景下的多源异构交易系统
支持向量机的船舶网络丢包率预测数学模型
试论同课异构之“同”与“异”
轻量级的无线传感器网络选择性转发攻击检测
一种基于喷泉码的异构网络发包算法*
电磁线叠包率控制工艺研究
多源异构数据整合系统在医疗大数据中的研究
吴健:多元异构的数字敦煌
2017年3月长三角地区主要港口吞吐量
2016年10月长三角地区主要港口吞吐量