摘要:随着通信技术的不断发展,计算机网络的发展呈现规模性、异构性、动态性的特点。传统TFRC拥塞控制主要是为有线网络环境而设计的,难以很好适用于异构网络下的网络通信环境,为改善TFRC在有线无线混合异构网络环境下的性能,本文提出了改进的TFRC拥塞控制机制,并对其在有线无线混合异构网络环境中水平切换下的性能进行了仿真分析。结果表明,频繁切换的移动互联网中,该算法能够充分利用网络的有效资源、提高网络的吞吐量、减小提升速率的时长,从而有效提高TFRC的性能。
关键词: 异构网络;TFRC;拥塞控制;NS2
中图分类号:TN915 文献标识码:A
Abstract: With the development of communication technology, computer networks present characteristics of scale, heterogeneous and dynamic. Traditional TFRC congestion control is mainly designed for the wired network, it is difficult to apply network communications in a heterogeneous network. For improving the performance of TFRC in hybrid wired and wireless heterogeneous network. We propose a improved TFRC congestion control mechanism, and make a simulation with the performance of level handoff in hybrid wired and wireless heterogeneous network. The simulation results showed that the new mechanism can make full use of network resources effectively, increase the throughput of network and reduce the time for increasing rate after handoff, so as to effectively improve the performance of TFRC.
Key Words: heterogeneous network, TFRC, congestion control, NS2
一、引 言对于数据突发业务,TCP已取得很大成功。但由于TCP吞吐量变化的剧烈性及其重传机制,TCP不适于传输实时流;一般用UDP对实时流进行传输。当前,人们对实时多媒体流的需求越来越大。如果仍单纯使用UDP进行传输,势必造成TCP饥饿,甚至网络崩溃。其原因在于UDP只有简单的传输功能,而没有拥塞控制机制。为了解决这一问题,人们开展了TCP Friendly[1-11]的研究。TFRC[8-10](TCP Friendly Rate Control)是单播领域中发展较好的TCP Friendly协议,已经形成了标准RFC3448[8]。其吞吐量的变化比较缓慢,适于传输实时多媒体业务;同时与TCP的公平性较好,是研究的一个热点。
而传统的TFRC是基于单一有线网络设计的,没有考虑到有线无线混合异构网络中频繁的越区切换,使的传统的TFRC在有线无线异构网络中存在许多问题:当TFRC在有线无线混合的异构网络中发生移动IP切换时,TFRC数据流的速度总是要有很大的降低,甚至下降到零;当切换进新的子网小区后,其速度又缓慢上升,而TCP流可以快速上升,这对TFRC是不公平的,也是对带宽的一种浪费,特别是当网络只有TFRC数据流且又频繁发生切换的情况。 二、TFRC的基本原理TFRC采用基于速率的拥塞控制机制,即其吞吐量不像TCP那样通过拥塞窗口进行控制,而是根据公式计算而得的速率对吞吐量进行控制。因此,TFRC的拥塞控制也可称为基于公式的拥塞控制机制。这里的公式是根据TCP模型抽象出来的,公式如下[8,10]:
其中,rate_cal是发送速率计算值,p为丢失事件率,rtt_为round trip time,size_为一个数据包的大小,rto_为timeout时间。
TFRC的运行过程如下:首先是慢启动阶段,直至丢失事件的发生。丢失事件发生后将按照吞吐量公式进行计算:
(1)接收方接收数据包,计算出丢失事件率P,并把P值和时问戳信息反馈至发送方;
(2)发送方从反馈信息中得到丢失事件率P和时间戳信息,并通过时间戳计算出往返时间RTT;
(3)把参数P,RTT和包的大小s(发送方已知包的大小)代入吞吐量公式,得到一个速率(在TFRC中,RTO取4×RTT);
(4)最后把计算而得的速率与接收方上次接收速率的两倍进行比较(发送方有接收速率的拷贝),取两者中的较小者作为最终的发送速率,发送方以这个速率把数据包发送出去。
这四个步骤是一个发送接收周期,在此后的运行中将不断重复这个过程。 三、适用有线无线异构环境的TFRC改进协议 1. 设计思想针对TFRC在有线无线混合异构网络环境下移动IP切换时所存在的问题,本文提出了相应的改进方案,其基本思想为:首先要能准确判断出网络发生了移动IP切换,然后在切换后快速增加TFRC的速率以适应新的小区。
通过仔细阅读TFRC协议和仿真实验,我们发现当网络处在稳定的拥塞避免阶段时,maxrate都约等于rate_cal的2倍左右。当移动设备发生跨子网的移动IP切换时,接收端由于收不到数据,其估计的rate_rev会骤降,相应的maxrate也会骤降,而根据加权平均计算p后,采用公式(1)计算的rate_cal却不会。也就是说当网络处于稳定状态时,maxrate都是大于rate_cal的,但当网路发生水平切换时,maxrate会小于rate_cal。所以我们可以根据maxrate与rate_cal的大小来判断移动设备是否发生移动IP的切换。当准确判断出网络状态后,根据以下策略进行拥塞控制:
(1)当网络进行移动IP的切换后,将网络状态设置为切换暂态,采用仿慢启动的拥塞控制机制增加发送速率,将发送速率扩大两倍。
(2)当速率大于或等于rate_cal时,说明TFRC已经到达切换后的稳定状态,则退出快速暂态,进入稳定状态,采用原TFRC的拥塞控制机制。 2. 工作过程图1 有线无线混合异构环境下改进后的TFRC工作机制
改进的TFRC算法的工作过程如图1所示。描述如下:
(1)发送端收到接收端的ACK后,根据包内参数计算rate_cal,并与maxrate进行比较,对网络状态进行判断,判断方法如下:
①如果maxrate>=rate_cal时,说明网络处于稳定状态。设置swflag=0。
②如果maxrate
(2)根据(1)中判断出的网络状态,对TFRC速率进行调整,调整策略为:
①如果swflag=0,则按照传统的TFRC协议对rate_进行调整。
②如果swflag=1,则按照慢启动的机制加快发送速率,即设置rate_=2*rate_,直到rate_>=rate_cal,重新设置swflag=0,退出切换暂态。 四、仿真分析根据前面对TFRC协议改进算法的描述,在仿真工具ns-2.30中实现此改进算法,并仿真分析此改进算法的性能。
仿真拓扑结构如图2所示。该拓扑模拟了有线无线混合的异构网络环境,无线通信中采用了移动IP技术。该场景可以是当前应用非常广泛并且具有远大前景的无线局域网,也可以是移动通信中的通用分组无线业务(GPRS)。
仿真实验中,考察改进后的TFRC与Reno共存于图2中的性能。考察的性能指标主要包括瞬时吞吐量、平均吞吐量、带宽利用情况。其中瞬时吞吐量和平均吞吐量用符号insput和aveput表示,改进后的协议数据前都加了“new”,以与原TFRC产生的数据相区别。