论文部分内容阅读
摘要:组播是一种高效率的点对多通信方式,在过去几年中组播传输机制己经成为一个活跃的研究领域。针对组播在Internet上进行大规模应用所面临的拥塞控制问题,将主动网络的技术应用到组播拥塞控制中,提出了通过主动节点主动检测拥塞和调整发送速率,实施hop-by-hop的拥塞控制的“主动”式的拥塞控制策略,该策略不仅对组播通信具有良好的拥塞控制能力,而且具有很好TCP友好性。
关键词:组播;主动网络;拥塞控制;TCP友好
Research of multicast congestion-control strategy
【Abstract】Multicast is an efficient one-to-many communication method. In the past few years, the research on multicast transport mechanisms has been a hot topic. Aiming at the problem of congestion control when multicast is widely applied in Internet the active network technology was applied to the multicast congestion -control strategy. When the active node detects congestion, it changes the send-rate and takes the congestion control hop-by-hop. It has a good ability to control congestion of multicast communication and a very good TCP friendliness.
【Key words】Multicast;Active network;Congestion control;TCP-friendliness
组播(multicast)是一种允许一个或多个发送者(组播源)发送单一数据包到多个接收者(一次的,同时的)的网络技术。组播技术被认为是WWW技术推广之后出现的最激动人心的网络技术之一。然而组播不使用TCP,而采用UDP。UDP是一种“尽力而为”协议,所以没有内建的拥塞控制机制来防止组播流耗尽链路带宽或其他关键路由器资源,它们以一种不公平的方式与TCP流竞争:当遇到拥塞时,所有参与的TCP流减小它们的速度试图减轻拥塞,而非TCP流继续以原速发送。这种极度不公平的情形会遏制TCP通信,甚至导致拥塞崩溃,即网络中可利用的带宽被耗尽,所有的包在到达目的地之前因拥塞而被丢弃。因此组播应用要想成功地在Internet上应用,必须开发出能与TCP友好共存的组播拥塞控制机制。
组播是一种解决单点到多点、多点到多点通信的一种数据传输模式。组播源发送一个数据包,通过中间节点对数据包进行复制后将数据分组发送给网络中的一组主机,所有组成员都能收到数据包。组播能有效节约带宽,增强网络传送能力,同时它延时少,同步性也更强。由于它是一种有效、低廉的传输方式,所以在视频点播和视频会议,数据分发,实时数据组播和大规模的在线游戏等方面都有着广泛的应用前景。
通过研究,本文提出组播拥塞控制策略的关键是应该将拥塞的检测和处置放到网络当中,在最靠近拥塞处,进行检测和处置。然而考虑到传统网络中节点的主要功能是存储转发[1-2],其计算能力很弱,并且组播应用多种多样,不一定能设计一种策略适用于所有应用。为提高网络节点的计算能力,也便于灵活部署控制策略,必须采取主动网络技术。主动网络技术是新兴的网络技术之一,主动节点的出现使网络内部节点的计算能力得到提高。因此本文以主动网络为基础,利用主动节点检测拥塞,并以hop-by-hop的方式调整拥塞节点的上游及发送者的发送速率,使拥塞得到及时处置。并且利用主动节点的计算能力实现了组播流的TCP友好性[3-5]。
随着Internet的迅速发展,组播技术得到了较为广泛的应用。比如:电视会议,流媒体,网络游戏,网络教室等应用都利用了组播技术。利用组播技术进行通信可以大大降低传输开销,节约网络带宽。然而,尽管组播技术有很多的优势,也得到一定的发展,但是,它的发展速度却并不让人乐观。这主要是因为组播技术还存在很多弱点,其中组播拥塞控制就是制约它发展的一个瓶颈。由于组播应用的差异性、网络端系统的异构性、网络链路的动态变化性使得组播拥塞控制不能像TCP的拥塞控制那样简单。
一、基于主动网络的组播拥塞控制策略
基于主动网络的组播拥塞控制策略由拥塞检测、速率调整机制以及各阶段的控制策略组成。
(一)基于主动路由器的组播拥塞控制。
随着计算机网络的迅速发展,网络的规模越来越大,结构也是日益复杂,简单的基于端点的拥塞控制已经不能满足需要,应该将网络通道中的其他设备加入到拥塞控制的队伍中来。
如上图所示:以源端为根节点、主动路由器为叶子节点建立一级组播树(图中虚线)。将源端的数据进行分层,一级组播树上的主动路由器根据源端发送的数据包的延时、丢包率利用TCP流量公式计算到源端到主动路由器的可接受发送速率。
如图2所示:主动路由器根据测得的可接受发送速率源端申请相应的组播数据层。主动路由器对收到的数据进行缓存并将分组转发送给叶子节点。
以主动路由器为二级根节点、接收端为叶子节点建立二级组播树(图中实线)。由该组播树上的主动路由器主动发送数据包到与它连接的接收端叶子节点,叶子节点收到主动包后执行和一级组播树中主动路由器相同的动作。子节点在丢包的情况下向主动路由器发送非确认数据包,并重新计算速率调整数据层的申请。主动路由器根据叶子节点的反馈情况确定缓存的大小而并不将反馈发送给源端。
本策略中的可接受发送速率是通过TCP流量公式完成计算的,所以无论是在一级组播树还是二级组播树中都可以保证TCP-Friendly;又因为在两级组播树中父节点和子节点之间的组播是通过分层来实现,所以可以保证组播域内的公平性;主动路由器将对接收端的反馈进行处理从而很好地解决了反馈爆炸问题;对于可扩展性,因为主动路由器完成了数据包的缓存转发及链路带宽计算功能,所以,源端和接收端的工作量大幅度减少,在接收端大量增加时不会因为这些额外计算加重负担,扩展性也就不再是问题了。
(二)基于主动网络的拥塞检测。
本文中我们提出将分组时延和主动缓存队列相结合的方法对拥塞进行检测。根据拥塞程度划分为3种工作阶段:拥塞控制、拥塞避免和拥塞解除(正常工作)。
主动缓存队列作为表征主动节点自身工作状态的指针。在检查到儿子I拥塞后,会减小对其的发送速率,但其上游父节点还没有调整发送速率,使该主动节点的流入数据量大于流出数据量,因而必须将多余数据存放在主动缓存队列中,即把发送给儿子的数据先存入主动缓存队列中,等网络状态改善后,再将其发送给儿子。
为与儿子I相连,链路的分组时延RTT_I设定了一个临界值RTT0。当主动节点检测到RTT_I>RTT0时,即判断该儿子节点可能发生拥塞,进入拥塞避免阶段。为主动缓存队列C_new quene设定一个临界值C0。当主动节点检测到C_new quene>C0时,即判断本主动节点已处于拥塞状态,同时进入拥塞控制阶段。当C_new quene=0时,且RTT_I
(三)速率调整机制。
本文采用稳定状态下的TCP流量模型作为其速率调节公式,即(1)式。
T=MRTT2bp3+TRTOmin(1,33bp8)p(1+32p2)(1)
(1)式中:T为发送速率;RTT为数据包的往返时延;TRTO为TCP重传超时值,TRTO=4×RTT; p为分组丢失率;M表示数据包大小,为最大分组长度;b为接收方收到b(b=1或2)个数据包返回一个ACK。
RTT的估计对发送速率T的计算至关重要。本文首次提出了一种基于主动节点的未来往返时间预测方法。基于主动网络的RTT检测如图3所示,节点b需要测定的RTT有3个,分别是RTT_c1,RTT_c2和RTT_c3。
主动节点使用主动请求Request_RTT和主动响应Return_RTT与儿子进行交互。使用序列号和时间戳来计算包的往返时间。
儿子节点收到后将此时间戳tsend、序列号、主动包到达接收者的时间trec、主动反馈包发送的时间tback记入Return_RTT主动反馈包,反馈给父节点。父节点根据接收反馈计算出往返时间RTTtest。其中,tnow是b节点接收到反馈包的时间。
为避免单个RTT测量值的波动影响系统性能,我们采用EWMA过滤器对RTTtest进行平滑,用(3)式对未来RTT值进行估计。
RTT=α×RTT'+(1-α)×RTTlesl(2)
(2)式中:RTT为下一时间间隔RTT的估计值;RTT'为当前时间间隔内RTT的估计值;a为加权因子。较小的加权因子使最近测得的RTT值对下一时间间隔的RTT预测值影响较大,较大的加权因子使RTT预测值更为平滑。
二、组播拥塞控制协议
组播拥塞控制协议有很强的针对性,大多数的组播拥塞控制协议都是为了解决某些特定的问题而提出的[6-8]。需求的多样性导致了拥塞控制协议指标的多样化,其中对组播发展最为重要的是:协议的可扩展性和TCP-Friendly。
(一)协议的可扩展性。
组播拥塞控制协议的可扩展性指标用协议在性能下降前可以支持的用户的数量来衡量。它主要受到以下四个因素制约。
(1)任务复杂性。随着组成员的增加,拥塞控制任务的复杂性增加。可以通过发送端和接收端的适当分工来解决。
(2)反馈爆炸问题。组规模的增加,使得来自接收端的反馈可能湮没到发送端的带宽和处理能力。可以通过反馈聚合或反馈抑制解决这个问题。
(3)LPM(Loss Path Multiplicity Problem)问题。组规模的增大使得发送端到接收端的分叉路径增多,数据丢失的路径也随之增加,从而导致大部分分组都可能丢失一次,如果每次丢失都要重传,整个吞吐量就可能会下降为零。
(4)网络随机延迟的影响。随着组播组的增大,网络中随机分布的队列延迟会降低吞吐量。
(二)TCP-Friendly。
当前TCP在Internet的单播流量中占据了统治地位,随着网络应用的发展,组播流量可能会在未来的网络流量中占据很重要的地位。如果组播流占用过多的带宽将会导致TCP流量的下降,这样会影响组播的发展。所以,组播控制协议要保证组播与TCP流量合理竞争带宽,即TCP-Friendly。在保持TCP-Friendly,的同时也要保证同一个组播组中的接收者间的带宽分配的公平性以及不同组播组间的带宽分配的公平性。
组播拥塞控制协议的设计可能因为具体应用需要的不同而不同,同时,要考虑组播协议和TCP及其他协议的公平竞争带宽、协议的可扩展性等等。这些因素都制约着组播的发展和使用。
三、协议的分析
(一)PGMCC(Pragmatic General Mul-ticast Congestion Control)。
PGMCC是以PGM为基础的单速率组播拥塞控制协议。PGM是一种针对一对多的组播协议,它通过非确认帧的重传提高可靠性,通过随机延时的反馈抑制方式提高可扩展性。它还可以利用路由器的支持,如反馈聚合,重传包选择性转发等。但是PGM本身不提供拥塞控制机制,它以一个预设的速率发送数据包,为了达到拥塞控制的目的对PGM进行了改进,这就是PGMCC协议。
PGMCC模拟TCP拥塞控制机制的闭环控制,通过在组播组中选择一个反馈代表(acker)与源端建立基于窗口的闭环控制以达到拥塞控制的目的。它通过反馈代表发出的确认包来控制源端的发送速率。在众多接收者中选择应得带宽(应得带宽指如果源端和每个接收者间都有一个TCP会话,这个会话所占用的带宽)最小的作为反馈代表。应得速率是根据流量公式来估计的。这个流量公式则是基于TCP流的稳态流量模型,根据丢包率和RTT时间来估计速率。估计的速率只是用来选择反馈代表,不影响发送速率。发送速率是由源端和反馈代表之间建立的一个基于窗口的闭环机制来调整的。由此可见,尽管它能满足TCP友好性、可扩展性也因为很多计算放在接收端而有所改善,但是对于组播内部却是不公平的,因为它只能以应得带宽最小的接收端为基础,其他接收端有再多的带宽也不能充分利用。
(二)TFMCC(TCP-Friendly Multiccast Congestion Control)。
TFMCC是基于速率的组播控制协议。它一般放置在数据接收端,每个接收者通过估计源端的往返时间RTT、丢包率计算出源端的发送速率并定时反馈到发送端。源端根据反馈的速率来改变发送速率。它的速率变化比较平稳,适用于实时的多媒体数据传输。与PGMCC不同之处在于它的接收端测得的速率是用来决定发送速率的。它也是基于速率的控制协议,也同样不能保证组内公平性。
(三)应用层组播拥塞控制协议。
应用层组播是把组播作为一种应用放到应用层中实现。它在端系统复制分组,由应用层负责组播路由。将组播的复杂性从网络转移到端系统。它利用现在比较成熟的单播TCP的拥塞控制技术,避开组播拥塞控制的难题。但是在实际应用的模型还不成熟,有很多需要考虑的问题,应用层组播比IP层组播要使用更多的网络资源,对流量的控制以及许多技术的实现都依赖于端系统,端系统的稳定性也成为保障网络性能的一个方面。
四、展望
从理论上来讲组播是有技术优势的,它的应用也是有很大发展空间的。但是,它的发展也是坎坷的、曲折的,很多因素都制约着它的发展,组播拥塞控制就是一个难题。在组播上,要想实现类似TCP拥塞控制基本上是不可能的。随着技术的发展,根据不同的组播应用,在牺牲某些方面性能的前提下,能有针对性的发展和应用一些拥塞控制机制,达到一定的效果。所以我们在
看到优势的同时也不能忽略困难,为了让组播得以广泛应用,还要不断地进行理论研究和科学实践。
组播是一种将数据分发到大量接收者的有效方式。本文提出的基于主动网络的拥塞控制策略对推动组播的大规模开发应用具有非常积极的意义。
参考文献
[1]MERUGUS,BHATTACHARJEE S,ZEGURA E,et a.lA Node Os forActive Network [EB/OL]. (2000-11-21) [2009-03-02].http:/ieeexplore.ieee. g/xpls/abs_
al.l jsp?arnumber=832473.
[2]FABER T.Experience with Active Congestion Control[C] //Proceedings of the DARPA Active Networks Conferene and Exposition, San Francisco, CA, 2002.SanFrancisco,CA:IEEE,2002,132-142.
[3]赵键,吴介一.一类基于主动网络的网络拥塞控制策略[J].通信学报, 2000, 21(7): 33-38.
[4]王越,曹长修.基于主动网的拥塞控制研究[J].计算机工程与科学,2002.
[5]Ballardie A.Core Based Trees(CBT) Multicast Routing Ar-chitecture[S].RFC 2201,1997.机工程与科学,2002,24(3):45-47.
[6]刘素芹,王菁.主动网络及其应用[J].微计算机信息,2003,19(8):69-70.
[7]Forouzan B A.TCP/IP协议族[M].北京:清华大学出版社,2006:372-375.
[8]苏晓丽,郑明春,孟强.TCP友好多播拥塞控制算法研究[J].计算机工程与科学,2005,25(4):26-29.
注:“本文中所涉及到的图表、公式、注解等请以PDF格式阅读”
关键词:组播;主动网络;拥塞控制;TCP友好
Research of multicast congestion-control strategy
【Abstract】Multicast is an efficient one-to-many communication method. In the past few years, the research on multicast transport mechanisms has been a hot topic. Aiming at the problem of congestion control when multicast is widely applied in Internet the active network technology was applied to the multicast congestion -control strategy. When the active node detects congestion, it changes the send-rate and takes the congestion control hop-by-hop. It has a good ability to control congestion of multicast communication and a very good TCP friendliness.
【Key words】Multicast;Active network;Congestion control;TCP-friendliness
组播(multicast)是一种允许一个或多个发送者(组播源)发送单一数据包到多个接收者(一次的,同时的)的网络技术。组播技术被认为是WWW技术推广之后出现的最激动人心的网络技术之一。然而组播不使用TCP,而采用UDP。UDP是一种“尽力而为”协议,所以没有内建的拥塞控制机制来防止组播流耗尽链路带宽或其他关键路由器资源,它们以一种不公平的方式与TCP流竞争:当遇到拥塞时,所有参与的TCP流减小它们的速度试图减轻拥塞,而非TCP流继续以原速发送。这种极度不公平的情形会遏制TCP通信,甚至导致拥塞崩溃,即网络中可利用的带宽被耗尽,所有的包在到达目的地之前因拥塞而被丢弃。因此组播应用要想成功地在Internet上应用,必须开发出能与TCP友好共存的组播拥塞控制机制。
组播是一种解决单点到多点、多点到多点通信的一种数据传输模式。组播源发送一个数据包,通过中间节点对数据包进行复制后将数据分组发送给网络中的一组主机,所有组成员都能收到数据包。组播能有效节约带宽,增强网络传送能力,同时它延时少,同步性也更强。由于它是一种有效、低廉的传输方式,所以在视频点播和视频会议,数据分发,实时数据组播和大规模的在线游戏等方面都有着广泛的应用前景。
通过研究,本文提出组播拥塞控制策略的关键是应该将拥塞的检测和处置放到网络当中,在最靠近拥塞处,进行检测和处置。然而考虑到传统网络中节点的主要功能是存储转发[1-2],其计算能力很弱,并且组播应用多种多样,不一定能设计一种策略适用于所有应用。为提高网络节点的计算能力,也便于灵活部署控制策略,必须采取主动网络技术。主动网络技术是新兴的网络技术之一,主动节点的出现使网络内部节点的计算能力得到提高。因此本文以主动网络为基础,利用主动节点检测拥塞,并以hop-by-hop的方式调整拥塞节点的上游及发送者的发送速率,使拥塞得到及时处置。并且利用主动节点的计算能力实现了组播流的TCP友好性[3-5]。
随着Internet的迅速发展,组播技术得到了较为广泛的应用。比如:电视会议,流媒体,网络游戏,网络教室等应用都利用了组播技术。利用组播技术进行通信可以大大降低传输开销,节约网络带宽。然而,尽管组播技术有很多的优势,也得到一定的发展,但是,它的发展速度却并不让人乐观。这主要是因为组播技术还存在很多弱点,其中组播拥塞控制就是制约它发展的一个瓶颈。由于组播应用的差异性、网络端系统的异构性、网络链路的动态变化性使得组播拥塞控制不能像TCP的拥塞控制那样简单。
一、基于主动网络的组播拥塞控制策略
基于主动网络的组播拥塞控制策略由拥塞检测、速率调整机制以及各阶段的控制策略组成。
(一)基于主动路由器的组播拥塞控制。
随着计算机网络的迅速发展,网络的规模越来越大,结构也是日益复杂,简单的基于端点的拥塞控制已经不能满足需要,应该将网络通道中的其他设备加入到拥塞控制的队伍中来。
如上图所示:以源端为根节点、主动路由器为叶子节点建立一级组播树(图中虚线)。将源端的数据进行分层,一级组播树上的主动路由器根据源端发送的数据包的延时、丢包率利用TCP流量公式计算到源端到主动路由器的可接受发送速率。
如图2所示:主动路由器根据测得的可接受发送速率源端申请相应的组播数据层。主动路由器对收到的数据进行缓存并将分组转发送给叶子节点。
以主动路由器为二级根节点、接收端为叶子节点建立二级组播树(图中实线)。由该组播树上的主动路由器主动发送数据包到与它连接的接收端叶子节点,叶子节点收到主动包后执行和一级组播树中主动路由器相同的动作。子节点在丢包的情况下向主动路由器发送非确认数据包,并重新计算速率调整数据层的申请。主动路由器根据叶子节点的反馈情况确定缓存的大小而并不将反馈发送给源端。
本策略中的可接受发送速率是通过TCP流量公式完成计算的,所以无论是在一级组播树还是二级组播树中都可以保证TCP-Friendly;又因为在两级组播树中父节点和子节点之间的组播是通过分层来实现,所以可以保证组播域内的公平性;主动路由器将对接收端的反馈进行处理从而很好地解决了反馈爆炸问题;对于可扩展性,因为主动路由器完成了数据包的缓存转发及链路带宽计算功能,所以,源端和接收端的工作量大幅度减少,在接收端大量增加时不会因为这些额外计算加重负担,扩展性也就不再是问题了。
(二)基于主动网络的拥塞检测。
本文中我们提出将分组时延和主动缓存队列相结合的方法对拥塞进行检测。根据拥塞程度划分为3种工作阶段:拥塞控制、拥塞避免和拥塞解除(正常工作)。
主动缓存队列作为表征主动节点自身工作状态的指针。在检查到儿子I拥塞后,会减小对其的发送速率,但其上游父节点还没有调整发送速率,使该主动节点的流入数据量大于流出数据量,因而必须将多余数据存放在主动缓存队列中,即把发送给儿子的数据先存入主动缓存队列中,等网络状态改善后,再将其发送给儿子。
为与儿子I相连,链路的分组时延RTT_I设定了一个临界值RTT0。当主动节点检测到RTT_I>RTT0时,即判断该儿子节点可能发生拥塞,进入拥塞避免阶段。为主动缓存队列C_new quene设定一个临界值C0。当主动节点检测到C_new quene>C0时,即判断本主动节点已处于拥塞状态,同时进入拥塞控制阶段。当C_new quene=0时,且RTT_I
本文采用稳定状态下的TCP流量模型作为其速率调节公式,即(1)式。
T=MRTT2bp3+TRTOmin(1,33bp8)p(1+32p2)(1)
(1)式中:T为发送速率;RTT为数据包的往返时延;TRTO为TCP重传超时值,TRTO=4×RTT; p为分组丢失率;M表示数据包大小,为最大分组长度;b为接收方收到b(b=1或2)个数据包返回一个ACK。
RTT的估计对发送速率T的计算至关重要。本文首次提出了一种基于主动节点的未来往返时间预测方法。基于主动网络的RTT检测如图3所示,节点b需要测定的RTT有3个,分别是RTT_c1,RTT_c2和RTT_c3。
主动节点使用主动请求Request_RTT和主动响应Return_RTT与儿子进行交互。使用序列号和时间戳来计算包的往返时间。
儿子节点收到后将此时间戳tsend、序列号、主动包到达接收者的时间trec、主动反馈包发送的时间tback记入Return_RTT主动反馈包,反馈给父节点。父节点根据接收反馈计算出往返时间RTTtest。其中,tnow是b节点接收到反馈包的时间。
为避免单个RTT测量值的波动影响系统性能,我们采用EWMA过滤器对RTTtest进行平滑,用(3)式对未来RTT值进行估计。
RTT=α×RTT'+(1-α)×RTTlesl(2)
(2)式中:RTT为下一时间间隔RTT的估计值;RTT'为当前时间间隔内RTT的估计值;a为加权因子。较小的加权因子使最近测得的RTT值对下一时间间隔的RTT预测值影响较大,较大的加权因子使RTT预测值更为平滑。
二、组播拥塞控制协议
组播拥塞控制协议有很强的针对性,大多数的组播拥塞控制协议都是为了解决某些特定的问题而提出的[6-8]。需求的多样性导致了拥塞控制协议指标的多样化,其中对组播发展最为重要的是:协议的可扩展性和TCP-Friendly。
(一)协议的可扩展性。
组播拥塞控制协议的可扩展性指标用协议在性能下降前可以支持的用户的数量来衡量。它主要受到以下四个因素制约。
(1)任务复杂性。随着组成员的增加,拥塞控制任务的复杂性增加。可以通过发送端和接收端的适当分工来解决。
(2)反馈爆炸问题。组规模的增加,使得来自接收端的反馈可能湮没到发送端的带宽和处理能力。可以通过反馈聚合或反馈抑制解决这个问题。
(3)LPM(Loss Path Multiplicity Problem)问题。组规模的增大使得发送端到接收端的分叉路径增多,数据丢失的路径也随之增加,从而导致大部分分组都可能丢失一次,如果每次丢失都要重传,整个吞吐量就可能会下降为零。
(4)网络随机延迟的影响。随着组播组的增大,网络中随机分布的队列延迟会降低吞吐量。
(二)TCP-Friendly。
当前TCP在Internet的单播流量中占据了统治地位,随着网络应用的发展,组播流量可能会在未来的网络流量中占据很重要的地位。如果组播流占用过多的带宽将会导致TCP流量的下降,这样会影响组播的发展。所以,组播控制协议要保证组播与TCP流量合理竞争带宽,即TCP-Friendly。在保持TCP-Friendly,的同时也要保证同一个组播组中的接收者间的带宽分配的公平性以及不同组播组间的带宽分配的公平性。
组播拥塞控制协议的设计可能因为具体应用需要的不同而不同,同时,要考虑组播协议和TCP及其他协议的公平竞争带宽、协议的可扩展性等等。这些因素都制约着组播的发展和使用。
三、协议的分析
(一)PGMCC(Pragmatic General Mul-ticast Congestion Control)。
PGMCC是以PGM为基础的单速率组播拥塞控制协议。PGM是一种针对一对多的组播协议,它通过非确认帧的重传提高可靠性,通过随机延时的反馈抑制方式提高可扩展性。它还可以利用路由器的支持,如反馈聚合,重传包选择性转发等。但是PGM本身不提供拥塞控制机制,它以一个预设的速率发送数据包,为了达到拥塞控制的目的对PGM进行了改进,这就是PGMCC协议。
PGMCC模拟TCP拥塞控制机制的闭环控制,通过在组播组中选择一个反馈代表(acker)与源端建立基于窗口的闭环控制以达到拥塞控制的目的。它通过反馈代表发出的确认包来控制源端的发送速率。在众多接收者中选择应得带宽(应得带宽指如果源端和每个接收者间都有一个TCP会话,这个会话所占用的带宽)最小的作为反馈代表。应得速率是根据流量公式来估计的。这个流量公式则是基于TCP流的稳态流量模型,根据丢包率和RTT时间来估计速率。估计的速率只是用来选择反馈代表,不影响发送速率。发送速率是由源端和反馈代表之间建立的一个基于窗口的闭环机制来调整的。由此可见,尽管它能满足TCP友好性、可扩展性也因为很多计算放在接收端而有所改善,但是对于组播内部却是不公平的,因为它只能以应得带宽最小的接收端为基础,其他接收端有再多的带宽也不能充分利用。
(二)TFMCC(TCP-Friendly Multiccast Congestion Control)。
TFMCC是基于速率的组播控制协议。它一般放置在数据接收端,每个接收者通过估计源端的往返时间RTT、丢包率计算出源端的发送速率并定时反馈到发送端。源端根据反馈的速率来改变发送速率。它的速率变化比较平稳,适用于实时的多媒体数据传输。与PGMCC不同之处在于它的接收端测得的速率是用来决定发送速率的。它也是基于速率的控制协议,也同样不能保证组内公平性。
(三)应用层组播拥塞控制协议。
应用层组播是把组播作为一种应用放到应用层中实现。它在端系统复制分组,由应用层负责组播路由。将组播的复杂性从网络转移到端系统。它利用现在比较成熟的单播TCP的拥塞控制技术,避开组播拥塞控制的难题。但是在实际应用的模型还不成熟,有很多需要考虑的问题,应用层组播比IP层组播要使用更多的网络资源,对流量的控制以及许多技术的实现都依赖于端系统,端系统的稳定性也成为保障网络性能的一个方面。
四、展望
从理论上来讲组播是有技术优势的,它的应用也是有很大发展空间的。但是,它的发展也是坎坷的、曲折的,很多因素都制约着它的发展,组播拥塞控制就是一个难题。在组播上,要想实现类似TCP拥塞控制基本上是不可能的。随着技术的发展,根据不同的组播应用,在牺牲某些方面性能的前提下,能有针对性的发展和应用一些拥塞控制机制,达到一定的效果。所以我们在
看到优势的同时也不能忽略困难,为了让组播得以广泛应用,还要不断地进行理论研究和科学实践。
组播是一种将数据分发到大量接收者的有效方式。本文提出的基于主动网络的拥塞控制策略对推动组播的大规模开发应用具有非常积极的意义。
参考文献
[1]MERUGUS,BHATTACHARJEE S,ZEGURA E,et a.lA Node Os forActive Network [EB/OL]. (2000-11-21) [2009-03-02].http:/ieeexplore.ieee. g/xpls/abs_
al.l jsp?arnumber=832473.
[2]FABER T.Experience with Active Congestion Control[C] //Proceedings of the DARPA Active Networks Conferene and Exposition, San Francisco, CA, 2002.SanFrancisco,CA:IEEE,2002,132-142.
[3]赵键,吴介一.一类基于主动网络的网络拥塞控制策略[J].通信学报, 2000, 21(7): 33-38.
[4]王越,曹长修.基于主动网的拥塞控制研究[J].计算机工程与科学,2002.
[5]Ballardie A.Core Based Trees(CBT) Multicast Routing Ar-chitecture[S].RFC 2201,1997.机工程与科学,2002,24(3):45-47.
[6]刘素芹,王菁.主动网络及其应用[J].微计算机信息,2003,19(8):69-70.
[7]Forouzan B A.TCP/IP协议族[M].北京:清华大学出版社,2006:372-375.
[8]苏晓丽,郑明春,孟强.TCP友好多播拥塞控制算法研究[J].计算机工程与科学,2005,25(4):26-29.
注:“本文中所涉及到的图表、公式、注解等请以PDF格式阅读”