高速网络中基于路由器显式虚拟负载反馈的流量控制方法

文档序号:7655065阅读:128来源:国知局
专利名称:高速网络中基于路由器显式虚拟负载反馈的流量控制方法
技术领域
本发明属于流量控制和拥塞控制领域。
背景技术
就目前的现状和未来的发展而言,下一代互联网的骨干带宽必将呈现指数增长的趋势。美国的Internet2和欧盟的下一代互联试验网主干网GEANT(Gigabit European AcademicNetwork)的带宽不断升级,并于2002年完成了5Gbps的高速互联。2004年2月,Internet2的独立高速试验床Abilene的骨干带宽从2.5Gbps全面升级到10Gbps。亚太地区高速网络(APAN,Asia-Pacific Advanced Network)联盟也发起了GTRN(Global Terabit ResearchNetwork)计划,旨在推动骨干的升级和实现全球互联。国内也于2001年成功搭建了主干为2.5Gbps的高速研究试验网NSFCNET,并实现了CERNET(中国教育科研计算机网)、CSNET(计算机科学网)、APAN(亚太地区高速网)和Internet2的互联。由此可见大规模高速下一代互联网试验环境已经形成。未来几年内,互联网骨干也将全面升级到支持近10Gbps的高速链路,而且很有可能持续增长。目前,已经有越来越多的研究人员开始经常利用这些高速试验网络进行海量数据的传输,代表性的应用有量子物理学、地球观察、生物信息科学、射电天文学等领域中数据密集型的网格计算,Web镜像,以及基于push(推)技术的Web高速缓存更新等应用。
虽然互联网的骨干带宽呈现指数性的增长,但实践中上述海量数据传输业务的用户似乎没有身切感受到网络带宽剧增所带来的好处,于是人们开始怀疑高速网络中传输系统的性能。为澄清事实,加州理工大学的Sylvain Ravot通过试验手段分析和评价了Internet上流行的TCP Reno协议的传输性能。在互联GEANT和Internet2的Wave Triangle试验床上,用iperf持续监测Chicago超级计算中心与CERN(欧洲粒子物理研究所)之间1Gpbs的链路,测量结果表明端到端的有效吞吐量(goodput)的确还达不到400Mbps。之后,美国北卡罗来纳州立大学的Lisong Xu借助NS2仿真平台的分析结果也证实传统的TCP流量控制协议在高速网络中确实存在效率问题。进一步的细致分析将问题症结锁定在TCP流量控制中加性增加乘性减小(AIMD,Additive Increase Multiplicative Decrease)的调节模式及其相关系数上。为方便论述,我们举例说明假设高速链路带宽是10Gbps,分组大小为1500btyes,往返时延(RTT,Round Trip Time)为100ms,则到达稳定传输时发送端窗口为83333个分组,同时依据AIMD的窗口调整规则,TCP拥塞避免阶段所经历的时间应该是4167秒,约1.2小时,这意味着丰富的带宽资源在长时间内都无法得到充分利用,AIMD调节机制在高速网络环境中显得适应性不强,有些呆板僵硬。此外,传统的TCP流量控制机制还面临着如下问题依据TCP窗口大小W与丢包率p之间的约束关系,要使窗口大小稳定在83333个分组,丢包率必须等于2×10-10,这意味着每5×109个分组中只允许1个分组丢失,也就是在将近1.7小时内只允许发生一个丢失事件,即便是当前误码率最低的光通信技术也很难达到这样的苛刻要求,于是,实践中网络传输系统性能低下便成为必然。究其根本原因,主要是传统的TCP流量控制机制无法适应高速网络环境所致。
上述工程实践中发现的问题引起了众多网络研究者的关注,研究适应于高速网络的流量控制方法成了网络研究的新热点。在短短两年多的时间内,已经相继提出了若干新的流控机制和改进算法,典型的有High Speed TCP(HSTCP)(高速TCP),Scalable TCP(STCP)(可扩展TCP),Hamilton TCP(H-TCP)(哈密尔顿TCP),Fast AQM Scalable TCP(FAST)(快速AQM可扩展TCP),Binary Increase Congestion TCP(BICTCP)(倍增拥塞TCP)、eXplicitControl Protocol(XCP)(显式控制协议)、Exponential Max-min Kelly Control(EMKC)(指数最大/最小凯利控制)和Variable-structure congestion Control Protocol(VCP)(可变结构拥塞控制协议)。仔细研究各协议的实现机理,我们可以依照拥塞判定机制的不同将它们大致分为三类(1)基于丢包判定拥塞;(2)基于延时观测拥塞;(3)显式反馈拥塞状态信息。其中,HSTCP、STCP和BICTCP属于第一类。HSTCP修改了传统的AIMD机制,使得拥塞窗口的加性因子和乘性因子能够随着当前拥塞窗口的大小进行自适应的调整,进而达到加速响应的目的;相反,Scalable TCP则放弃了AIMD机制,转而支持了乘性增加乘性减小机制(MIMD,Multiplicative Increase Multiplicative Decrease)来调整拥塞窗口的大小,着重解决AIMD机制拥塞窗口增加过程中的慢速问题;BICTCP则不再沿用窗口单向调整,逐次逼近的设计思路,而采用了双向夹逼的调整策略,其核心思想类似于折半搜索算法,通过设置窗口的最大值和最小值,运用折半搜索方法寻找理想的目标窗口大小。FAST和H-TCP属于第二类,FAST协议借鉴了TCP Vegas使用RTT作为拥塞观测变量的机理,即往返时间观测序列保持在最小观测值附近时,判定网络中没有拥塞发生,而当RTT增加时意味着网络出现拥塞,且RTT值越大,拥塞越严重,并在试验的基础上拟合出了拥塞窗口大小与RTT值之间的分段线性函数关系作为调节终端向网络释放分组多少的依据。H-TCP也选择时间作为拥塞观测变量,但非RTT,而是采用丢包事件之间的时间间隔作为预测拥塞的手段。当丢包时间间隔较长时,认为网络状况良好;当丢包时间间隔变小时,则认为是拥塞导致队列溢出所致。需要指出的是,尽管FAST和H-TCP采用不同的时间变量观测网络拥塞状态,但对拥塞的响应却是相同的,依旧沿用了传统的AIMD机制。XCP、EMKC和VCP都采用了显式反馈机制,属于第三类。在XCP中,网络中间节点动态分配可用带宽给经过它的业务流,分配结果被嵌入TCP分组头的可选域中返回端系统,发送端直接参照反馈值调节发送窗口大小。该机制与ATM(异步传输模式)网络中ABR(自适应比特)流量显式闭环反馈控制机制非常相似,不同的是后者有专门的资源管理信元(RM)携带速率分配值,而前者将其集成到了载荷分组中。EMKC也采用了显式反馈机制,路由器统计聚合输入流量,计算丢包率,并利用扩展的分组头将它反馈给发送端。与VCP不同的是EMKC没有直接反馈可用带宽分配结果,而是拥塞状态观测变量的大小,发送端再利用它动态调节发送窗口。调节律是基于F.Kelly的“影子价格”模型发展而来的,主要创新点在于引入了负丢包率的概念来表示网络处于欠载状态,并相应地采用乘性增加来加大注入网络的流量。当丢包率为正时,表明网络过载,启用乘性减小机制来减轻负载,与Scalable TCP的MIMD机制不同的是EMKC的乘性因子是丢包率的函数。Xia Yong等人设计的VCP显式反馈的是网络负载状态。路由器依赖链路利用率将网络负载状态分为三类轻载、重载和过载,并用两比特编码后嵌入IP分组的ECN(显式拥塞通知)位中显式通告发送端,发送端解码后采用不同的控制结构来调节发送窗口大小轻载时采用乘性增加;重载时采用适度的加性增加;而过载后则乘性减小。
虽然该方向因为科学实验和研究中海量数据传输以及数据密集型网格计算等实际应用的推动而进展迅速,但远没有形成一种普遍认同,可以全面在高速网络环境中部署实施的相对稳定成熟的新的传输控制方法。最先关注这一问题的网络拥塞控制领域的学术权威S.Floyd提出的HighSpeed TCP虽然在2003年11月的IETF会议被表决通过成为RFC,但随后的实际测试结果表明HSTCP在TCP友好性和RTT公平性方面存在比较严重的问题。具体的说,前者指协议间公平性,且当链路带宽越高,这种不公平问题就越严重。而后者指协议内公平性,同构的HSTCP流由于RTT的不同而产生流间的不公平,且当RTT的差距越大,这种RTT不公平性就越突出。如何加以克服和改进依旧吸引了不少研究者的关注。Scalable TCP也存在类似问题,Tom Kelly也再没有进一步给出改进方案。BICTCP在TCP友好性方面取得了一些进展,但没有彻底解决问题,当带宽较高而RTT较小时,TCP友好性问题依旧很严重;还有,目前算法中某些门限值的设定过分依赖仿真经验,缺少理论分析和试验来验证取值的合理性。FAST和H-TCP采用时间变量观测网络拥塞状态的有效性遭到部分研究者的质疑;另外,FAST中控制参数α的分段映射策略带有明显的经验色彩,当网络环境发生变化时,这种方法缺乏自适应性,如何动态选取α参数仍然是一个开放问题。虽然仿真试验表明H-TCP在高带宽情况下的收敛速度,公平性要优于HSTCP和Scalable TCP,但目前H-TCP还是初步的阶段性研究成果,诸多技术细节和性能问题还有待于进一步深入研究,如时间阀值Δt的设置等。虽然XCP表现出了其他机制无法比拟的综合性能,链路利用率高、收敛速度快、公平性好、排队时延小等,但它在机制上近乎革命性的变革无法提供向后兼容性,这必将影响它在Internet上的部署和实施,可实践性差。因此,随后的显式反馈机制采取了更为温和的渐进策略,EMKC的扩展分组头和VCP对ECN比特位的重新定义都考虑了协议的向后兼容性和工程实践的可行性,但由此给设计造成的约束和限制也使性能受到了不同程度的影响,例如EMCK采用丢包率观测网络的拥塞状态,自然就无法实现分组的零丢失,这是机制固有的缺陷。VCP中仅用两个比特位来编码区分表示网络的三种负载状态,在某些网络配置(如大延时和业务突发性明显等)中,这种粗粒度的分类很难准确描述网络的状态,与之相应的简单的“乒乓”控制容易导致系统振荡。从我们前期仿真验证试验的结果看,当RTT超过160毫秒后,VCP瓶颈路由器的队列振荡明显,空队列概率增加,链路利用率仅能维持在80%左右,还有较大的优化空间。
综上所述,在高速网络环境下,只有综合性能(包括响应性、公平性、鲁棒性和兼容性)良好的流量控制方法才会最终在未来高速的互联网中占据主流地位,得以广泛的部署和实施。

发明内容
本发明的目的在于提出适应高速网络环境的高性能流量控制机制与方法响应性快、稳定性好、鲁棒性强,适应典型网络参数的大范围变化,同时能很好的抑制非响应性业务流等噪声流量的干扰,较好地保证协议间和协议内公平性,具备向后兼容性,为在高速网络中实现规模性部署和实施、最终实现平滑过渡提供支持与保障。
本发明借鉴了生态学中描述种群演化的相关模型来设计新的流量控制方法,并通过基于路由器显式虚拟负载反馈的方式进行了具体实施,为了叙述方便,我们将这种流控方法命名为EVLF-TCP(Explicit Virtual Load Feedback)。仿真试验结果表明,无论是在简单的哑铃网络拓扑结构还是在复杂的多瓶颈网络拓扑结构中,EVLF-TCP都能够体现出了高效、公平和鲁棒的特性。
它的工作原理如下自然界种群的繁衍和资源的消耗是一对矛盾,但总能达到理想的平衡资源不会大量过剩,物种数量也不会无限制的膨胀。而高速网络传输系统目前面临的主要问题却是要么带宽资源大量空闲,利用率无法提高;要么多个用户流盲目占用带宽,造成拥塞,导致分组丢失。初步分析认为原因在于传统的窗口流量控制终端系统的调节机制在高速网络环境中显得有些呆板僵硬。被广泛使用的加性增加(AI)、乘性增加(MI)和乘性减小(MD)中的加性因子和乘性因子虽然进行了必要的优化设计,但实际应用中却固定不变,按部就班的增量式调节自然难以适应网络配置参数的大范围变化,这应该是导致AIMD机制在高速网络中低效的根本原因。该认识启发我们考虑放弃传统调节机制,寻求适应性强的新机制。生态学中的种群演化模型给了我们新思路,以Logistic模型为例,dxdt=rx(1-xK)...(1)]]>其中x表示种群规模,K为有限资源所能容纳的种群规模上限,r为种群繁衍的内在速率。当x远小于K时,它呈指数增长;随着x的增加,其本身的增幅也逐渐减小;达到K后停止增加;当x超过K后,呈现指数减小,减幅随x的增加而增加。这一变化过程正是网络端系统调节流量大小所期望的。如果将瓶颈链路的带宽信息映射到Logistic模型中,并将种群规模x等效为流量大小,我们就可以用Logistic模型来驱动发送端的窗口调节。
基于以上分析,我们考虑当N个流竞争容量为B的带宽资源情况,假设第i流的流量大小为xi(t),瓶颈带宽处的队列长度为q(t),提出如下的EVLF-TCP的流量控制模型 其中,a、b和T为待定常数。一般而言,在瓶颈处的真实网络负载可以表示为ρ=Σi=1Nxi(t)/B,]]>即聚合流量与瓶颈带宽的比率。为了在流量控制过程中,将队列控制在合理的长度,避免队列溢出造成数据包丢失的情况,我们定义虚拟负载因子ρ~=(Σi=1Nxi(t)+q(t)T)/B,]]>其中T为时间常数,用来完成将队列长度转化为流量的量纲转化过程。
图1完整的描述了一个EVLF-TCP控制过程所经历的四个阶段(1)当网络负载较低,虚拟负载因子 接近于0时,流量的增长速率dx(t)/dt可以近似等价为(a+bxi(t)),这其中包含了加性增加过程和乘性增加过程。与单纯的TCP线性加性机制相比,此时EVLF-TCP机制将会使流量x(t)得以迅速爬升。而且当流量逐渐增大时,虚拟负载因子 也将逐渐增大,于是乘性增加过程的作用将被逐渐弱化,直到所有可用带宽都被消耗为止,即ρ~=1.]]>(2)由于加性增加过程的持续影响,流量x(t)将继续增大,使得虚拟负载因子ρ~>1,]]>于是乘性增加过程将会转变成为乘性减少过程,但是此时加性增加过程的正作用大于乘性增加过程的负作用,所以流量仍将缓慢上升。
(3)当加性增加过程所产生的正作用与乘性减少过程所产生的负作用正好相互抵消时,系统进入稳态,此时增长率dx(t)/dt为0,流量x(t)将进入稳态。
(4)如果网络中出现突发流量,造成网络负载突然增加,此时,虚拟负载因子 也会迅速变大以反应网络负载变化情况,此时乘性减少过程所产生的负作用将大于加性增加过程所产生的正作用,于是流量x(t)将乘性减少,直到达到新的稳态。
为了确定模型中待定参数a,b和T的取值,我们推导了以下三条定理定理1该模型局部渐进稳定,且在稳态下,各流的流量均为B/N,稳定的队列长度为aTN/b.
证明思路加入队列和聚合流量的约束关系dq(t)dt=Σi=1Nxi(t)+-B]]>(当队列长度大于0时),然后通过线性化方法容易证明模型(2)的渐进稳定性,并求得模型的稳态解。
定理2假定单流流量从初始态x0开始,定义期望链路利用率为θ,那收敛到效率的时间tθ≈(lnθ1-θ+lnBNx0)/b,]]>即收敛到效率的时间反比于b.
证明思路已知各流初始态,利用atanh函数,通过求解微分方程(2)可以得到收敛到效率的时间的近似解。
定理3假定N个流已经稳定的平分带宽资源,第N+1个流(流量为初始态x0)进入网络,定义期望的第N+1个流与前N个流中任意一个流的比率为ε,那收敛到公平的时间tϵ≈(Bln11-θ)/aN,]]>即收敛到公平的时间反比于a.
证明思路已知前N个流和第N+1个流的初始态,令g(t)≈xN+1(t)/xN(t),通过替换,可以单独分离出函数g(t)的微分方程,通过近似求解该微分方程可以得到收敛到公平的时间。
在这三条定理的基础上,为了平衡稳态队列长度,收敛到效率的时间和收敛到公平的时间,我们取a=2Mbps,b=0.5,T=5ms。
本发明的特征在于,在仿真平台上依据如下步骤实现步骤(1)发送端初始化数据包将一个显式虚拟负载反馈报头EVLF报头插入到TCP报头和IPv6报头之间,该报头包含包含一个8比特位的“下一头部”域和一个24比特位的“虚拟负载因子”域。在EVLF-TCP的“下一头部”域,指定TCP为其下一报头,所以将TCP对应的“下一头部”值6放入该域;步骤(2)发送端向路由器发送数据包步骤(2.1)发送端启动数据发送定时器Timer的同时,记录当前的发送时间和流量大小;步骤(2.2)向路由器发送数据包;步骤(3)路由器定期计算虚拟负载因子并将该因子写入EVLF报头步骤(3.1)路由器本身定期计算虚拟负载因子;采用100Hz的采样频率,在一个采样周期内,路由器记录总的到达数据包量L,那总的聚合流量可以通过Σi=1Nxi(t)=100L]]>来计算。同时在每个采样点,路由器采样得到瞬时的队列长度q(t),并根据路由器已知的带宽信息,根据下式计算虚拟负载因子ρ~=Σi=1Nxi(t)+q(t)TB]]>其中,T为时间常数,用来完成将队列长度转化为流量的量纲转化过程,N为流的数量,B为带宽。
步骤(3.2)路由器将虚拟负载因子写EVLF报头。
当路由器接受到数据包时,路由器需要检测数据包中已携带的虚拟负载因子,将EVLF-TCP报头中的虚拟负载因子域与当前路由器的虚拟负载因子进行比较,如果当前路由器的虚拟负载因子较大,则将当前路由器自身的虚拟负载因子写入,否则,则不更新EVLF-TCP报头中的虚拟负载因子。
步骤(3.3)路由器继续转发分组。
重复步骤(3.1)~(3.3)
步骤(4)接收端接收步骤当接收端接受到数据分组,将EVLF-TCP报头信息复制到新的EVLF-TCP报头,并通过TCP协议的ACK数据包反馈回发送端。
步骤(5)发送端调整发送流量当发送端接收到ACK数据包时,发送端从中读出ACK包所携带的虚拟负载因子和时戳信息,并根据之前所记录的发送时间和流量大小计算出回路延时τ,然后通过如下的表达式计算新的流量x(t)=x(t-τ)+τ[1+x(t-τ)(1-ρ~)]...(3)]]>最后,我们重新设置发送定时器的值Timer Value=8*packetsize/x(t),其中packetsize为数据包大小,来达到控制流量的目的。然后重复步骤(1)~步骤(5),从而完成连续的数据传输过程。
由于了一个虚拟负载反馈因子,在网络瓶颈处综合考虑聚合流量、队列长度很好的反映了网络的拥塞情况,路由器可据此向发送端发送最为拥塞的路由器负载信息,而发送端则在此基础上,基于生态学中的种群演化模型,把种群规模类比成流量大小,用Logistic种群演化模型来驱动发送端的流量调节。在仿真平台上的试验结果表明,与其它流量控制方法相比,即使加入了噪声流量之后,本发明仍然具有链路平均利用率高,平均丢包率低和平均队列长度短的优点。


图1.EVLF-TCP控制过程所经历的四个阶段。
图2.本发明的工作流程图。
图3.EVLF-TCP报头格式。
图4.哑铃拓扑结构。
图5.不同RTT的多个流共存于单瓶颈网络时六种方法分别对应的流量变化情况(a)TCP-SACK选择确认传输协议;(b)HSTCP高速传输协议;(c)STCP扩展传输协议;(d)BICTCP二进制搜索传输协议;(e)VCP可变结构拥塞控制协议;(f)EVLF显式虚拟负载反馈传输协议。
图6.未加入web流量,突发流量和反向流量时六种方法分别对应的流量变化曲线。
图7.加入web流量,突发流量和反向流量时六种方法分别对应的流量变化曲线。
图8.多瓶颈网络拓扑结构。
图9.多瓶颈网络下六种方法分别对应的4个流的流量变化曲线。
具体实施例方式
下面我们将详细介绍如何通过端系统和路由器联合实现EVLF-TCP控制方法。第一步,当发送端初始化数据包时,将EVLF-TCP报头插入到TCP报头和IPv6报头之间,并将EVLF-TCP报头中的虚拟负载因子域初始化为0,然后将该数据包发送给路由器。第二步,路由器本身定期计算虚拟负载因子,当路由器接受到数据包时,路由器需要检测数据包中已携带的虚拟负载因子,将EVLF-TCP报头中的虚拟负载因子域与当前路由器的虚拟负载因子进行比较,如果当前路由器的虚拟负载因子较大,则将当前路由器自身的虚拟负载因子写入。第三步,当接收端接受到数据分组,将EVLF-TCP报头信息复制到新的EVLF-TCP报头,并通过TCP协议的ACK数据包反馈会发送端,然后发送端根据所收到的虚拟负载因子信息调整发送流量大小。图2描述了EVLF-TCP工作的三个过程。
(1)EVLF-TCP报头如图3所示,在IPv6中包含了一个8比特位的“下一头部”域,用来连接下一报头,因此我们定义EVLF-TCP对应的“下一头部”值为135(134~254之间属于未被分配的“下一头部”值),并设计EVLF-TCP报头包含一个8比特位的“下一头部”域和一个24比特位的“虚拟负载因子”域。在EVLF-TCP的“下一头部”域,指定TCP为其下一报头,所以将TCP对应的“下一头部”值6放入该域。
(2)发送端发送端需要执行两部分工作第一,当准备发送数据包之前,发送端必须将EVLF-TCP报头中的虚拟负载因子域初始化为0,并在启动数据发送定时器Timer的同时,记录当前的发送时间和流量大小;第二,当接收到ACK数据包时,发送端从中读出ACK包所携带的虚拟负载因子和时戳信息,并根据之前所记录的发送时间和流量大小计算出回路延时τ,然后通过如下的表达式计算新的流量x(t)=x(t-τ)+τ[1+x(t-τ)(1-ρ~)]...(3)]]>最后,我们重新设置发送定时器的值Timer Value=8*packetsize/x(t)(其中packetsize为数据包大小)来达到控制流量的目的。
(3)路由器路由器在EVLF-TCP流控方法中所承担的主要作用就是计算虚拟负载因子并将其写入到所有经过的数据包的EVLF-TCP报头中。为了计算虚拟负载因子,路由器必须实时获取总的聚合流量和队列长度。在EVFL机制中,我们采用100Hz的采样频率,在一个采样周期内,路由器记录总的到达数据包量L,那总的聚合流量可以通过Σi=1Nxi(t)=100L]]>来计算。同时在每个采样点,路由器采样得到瞬时的队列长度q(t),并根据路由器已知的带宽信息,可以根据下式计算虚拟负载因子ρ~=Σi=1Nxi(t)+q(t)TB...(4)]]>另外,当每个数据包到达时,路由器需要检测数据包中携带的虚拟负载因子,并将EVLF-TCP报头中的虚拟负载因子与当前路由器的虚拟负载因子进行比较,如果当前路由器的虚拟负载因子较大,则将当前路由器自身的虚拟负载因子写入,如果当前路由器的虚拟负载因子较小,则不更新该数据包中携带的虚拟负载因子。通过这种方式,保证了当EVLF-TCP报头到达接收端时,记录了最拥塞路由器的负载信息。
(4)接收端EVLF-TCP的接收端与TCP接收端十分相似,唯一的区别在于EVLF-TCP机制需要接收端将EVLF-TCP报头的信息复制到ACK数据包中。
我们在NS2(Network Simulator 2,网络模拟器)网络仿真平台上实现了EVLF-TCP协议,并对它的性能进行了测试。NS2(Network Simulator 2,网络模拟器)是一种通用的网络仿真软件,它是在互联网上公开发布的开源软件,目前已被网络研究者广泛使用。为了说明协议性能,我们选择了TCP-SACK,HSTCP,STCP,XCP和VCP等同类方法一起进行测试比较。在路由器中使用的是队尾丢弃策略,缓存大小设置为2Mbytes。在所有试验中,数据分组大小均为1000字节,ACK分组大小均为40字节。在采样数据过程中,吞吐量,利用率,丢包率和队列长度的采样周期均为1秒。
(1)实验1不同RTT的多个流共存于单瓶颈网络采用图4所示的哑铃拓扑结构,瓶颈链路带宽为120Mbps,设定回路延时为400ms、300ms、200ms、150ms、100ms和50ms的6个流分别在0秒、200秒、400秒、600秒、800秒和1000秒启动,仿真实验持续1500秒。各个流的流量变化情况如图5所示,链路的平均利用率、平均丢包率和平均队列长度如表1所示。
如图5所示,在TCP-SACK,HSTCP,STCP,XCP和VCP中,都存在明显的流量振荡和RTT不公平问题,因为使用这些机制的短RTT流能够从长RTT流中抢占带宽,甚至造成长RTT流“饿死”。而图5(f)和表1表明EVLF与其它协议相比,不仅提供了快速达到接近100%的链路利用率、零丢包率以及很小的队列长度的优点,而且不存RTT不公平问题,所有的流都能公平的获得30Mbps带宽资源。并且,第一个进入网络的EVLF-TCP流在11s左右就能够达到接近120Mbps的速率,这正是高速网络传输所迫切需要的。
表1链路平均利用率、平均丢包率和平均队列长度

(2)实验2鲁棒性能测试仍然采用图4所示的哑铃拓扑结构,设定瓶颈链路带宽为120Mbps,所有流的回路延时均为50ms。为了对比方便,我们进行两组仿真。第一组,不加入任何噪声流量,仅仅测试10个前向流的运行结果,如图6和表2的S1列所示。第二组,我们运行10个前向流和10个反向流,并且在200秒的仿真时间内一直运行平均值为20M的Web流量。同时在100秒时,加入由10个UDP源产生的平均值为40Mbps的突发CBR流量,在150秒时,所有UDP源退出网络。图7显示了加入web流量,突发流量和反向流量时的10个前向流的流量变化曲线,表2的S2列显示了相应的平均链路利用率,平均丢包率和平均队列长度。
从图6和图7对比可以很明显看出,在不加入噪声流量的情况下,所有机制都取得了比较好的结果,但是一旦模拟真实的网络环境,加入噪声流量的影响,只有EVLF-TCP依然保持平滑和稳定,而且在链路利用率,丢包率和队列长度等指标上要明显优于其它机制。
表2链路平均利用率、平均丢包率和平均队列长度

S1列表示未加入web流量,突发流量和反向流量时的统计结果S1列表示加入web流量,突发流量和反向流量时的统计结果(3)实验3多瓶颈网络测试采用图8所示的哑铃多瓶颈网络拓扑结构,三条中间链路的带宽分别设定为120Mbps、60Mbps和120Mbps,所有单一链路的传播延时均设定为20ms,长流1经过所有的中间链路,而短流2,短流3和短流4分别于流1共享一条中间链路。图9显示了4个流在200秒仿真实验的流量变化曲线。从图9可以看出,只有EVLF-TCP机制达到了最大-最小公平性,此时,流1和流3平分了60M带宽资源,而流2和流4占用剩余的90M带宽。在其它机制中,长流1与其它短流相比,只获得了很少的带宽资源,即这些机制都存在明显的多瓶颈偏置问题。
权利要求
1.高速网络中基于路由器显式虚拟负载反馈的流量控制方法,其特征在于,在网络模拟器仿真平台上依据如下步骤实现步骤(1)发送端初始化数据包,将一个显式虚拟负载反馈报头EVLF报头插入到TCP报头和IPv6报头之间,该报头包含包含一个8比特位的“下一头部”域和一个24比特位的“虚拟负载因子”域。在EVLF-TCP的“下一头部”域,指定TCP为其下一报头,所以将TCP对应的“下一头部”值6放入该域;步骤(2)发送端向路由器发送数据包,步骤(2.1)发送端启动数据发送定时器Timer的同时,记录当前的发送时间和流量大小;步骤(2.2)向路由器发送数据包;步骤(3)路由器定期计算虚拟负载因子并将该因子写入EVLF报头,步骤(3.1)路由器本身定期计算虚拟负载因子;采用100Hz的采样频率,在一个采样周期内,路由器记录总的到达数据包量L,那总的聚合流量可以通过Σi=1Nxi(t)=100L]]>来计算。同时在每个采样点,路由器采样得到瞬时的队列长度q(t),并根据路由器已知的带宽信息,根据下式计算虚拟负载因子ρ~=Σi=1Nxi(t)+q(t)TB]]>其中,T为时间常数,用来完成将队列长度转化为流量的量纲转化过程,N为流的数量,B为带宽;步骤(3.2)路由器将虚拟负载因子写入EVLF报头,当路由器接受到数据包时,路由器需要检测数据包中已携带的虚拟负载因子,将EVLF-TCP报头中的虚拟负载因子域与当前路由器的虚拟负载因子进行比较,如果当前路由器的虚拟负载因子较大,则将当前路由器自身的虚拟负载因子写入,否则,则不更新EVLF-TCP报头中的虚拟负载因子;步骤(3.3)路由器继续转发分组,重复步骤(3.1)~(3.3);步骤(4)接收端接收步骤,当接收端接受到数据分组,将EVLF-TCP报头信息复制到新的EVLF-TCP报头,并通过TCP协议的ACK数据包反馈回发送端;步骤(5)发送端调整发送流量,当发送端接收到ACK数据包时,发送端从中读出ACK包所携带的虚拟负载因子和时戳信息,并根据之前所记录的发送时间和流量大小计算出回路延时τ,然后通过如下的表达式计算新的流量x(t)=x(t-τ)+[1+x(t-τ)(1-ρ~)]---(3)]]>最后,我们重新设置发送定时器的值TimerValue=8*packetsize/x(t),其中packetsize为数据包大小,来达到控制流量的目的。然后重复步骤(1)~步骤(5),从而完成连续的数据传输过程。
全文摘要
高速网络中基于路由器显式虚拟负载反馈的流量控制方法属于本发明属于流量控制和拥塞控制领域,其特征在于,引入了一个虚拟负载反馈因子,以便于在网络瓶颈处综合考虑聚合流量、队列长度以反映网络的拥塞情况,路由器可据此向发送端发送最为拥塞的路由器负载信息,而发送端则在此基础上,基于生态学中的种群演化模型,把种群规模类比成流量大小,用Logistic种群演化模型来驱动发送端的流量调节。与其它流量控制方法相比,即使加入了噪声流量之后,本发明仍然具有链路平均利用率高,平均丢包率低和平均队列长度短的优点。
文档编号H04L12/46GK101075960SQ20071011771
公开日2007年11月21日 申请日期2007年6月22日 优先权日2007年6月22日
发明者林闯, 黄小猛, 任丰原 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1