首页 > 范文大全 > 正文

主动可靠组播拥塞控制协议研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇主动可靠组播拥塞控制协议研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:本文在组播拥塞控制通用模型的基础上,研究对ACC(Active Congestion Control)协议的主要算法和实施过程。ACC策略选取发送者发送速率作为进行拥塞控制的参数。依据最差链路的公平性准则,在主动节点和组播发送者同时进行拥塞参数的过滤,并最终由发送者确定拥塞控制参数。

关键词:主动网络;组播;拥塞控制

中图分类号:TN915.03文献标识码:A文章编号:1007-9599 (2010) 03-0041-02

Active Reliable Multicast Congestion Control Protocol

Li Juan,Zhang Xiuru

(Central South University of Information Science and Engineering,Changsha410083,China)

Abstract:Multicast Congestion Control in the general model, based on research on the ACC(Active Congestion Control)protocol of the main algorithm and implementation process.ACC selection strategy for the sender sending rate as the congestion control parameters.According to fairness criteria for the worst link in the active node and the multicast sender filter parameters at the same time congestion,and finally controlled by the sender's congestion parameters.

Keywords:Active networks;Multicast;Congestion control

一、引言

(一)概述

随着计算机网络尤其是Internet应用的不断多扩展,传统的单播(Unicast)技术无法解决像基于IP的音/视频会议(多点传输)之类的网络传输问题,而广播(broadcast)技术又会大量消耗网络资源,严重影响传输效率,组播技术正是基于此类问题而提出的全新网络传输方案。

(二)相关工作

组播是网络中多用户之间进行数据通信所采用的通信方式。随着组播应用的发展,对于数据可扩展性、传输延迟和可靠性等性能都提出了更高的要求,而不同类型的应用对于不同性能参数的要求也不尽相同。组播应用在传输层通常是采用UDP来实现的,而UDP协议是基于“尽力服务”,并不保证所有数据的正确传输和接受。为此,作者根据国内外的一些研究资料,对ACC协议的主要算法和实施过程进行了深度的研究。

二、组播拥塞控制协议体系结构

(一)丢包的检测及拥塞控制参数确定

ACC策略使用了可靠组播差错回复(armer)协议的丢包检测模块,且利用接受到的数据包序号“间隔”(Packet SN Gap)来进行丢包检测。利用马氏过程研究了链路丢包率较高时的TCP吞吐量,给出了一个适应性更好的TCP吞吐量模型:

T(RTT,p, ,b)=

其中,b为每一ACK确认的数据包个数; 为重传定时器的时间长度,以往返行程时间的倍数表示;P为链路上的丢包率;RTT为往返行程时间。

(二)丢包率p的计算。

设TCP中拥塞窗口大小为w,TCP协议允许w个已发送但未被确认的数据包(Outstanding Packet)。这些数据包在网络中可能由于拥塞而发生丢失,因而发送者可能会检测到多个数据包的丢失,但TCP协议在一个拥塞窗口内只响应检测到的第一个数据包的丢失,而忽略此窗口内的其他丢包,将这些丢包看作同一个“丢包事件(Loss Event)”。在基于数率的拥塞控制中,并不存在拥塞窗口的概念,但由于TCP的拥塞窗口对应于一个往返行程时间,因而可以讲在一个往返行程时间内的多个数据包的丢失看作属于同一个“丢包事件”。

如图一所示,丢包事件的检测是在数据包接受记录队列的基础上进行的,设前一次丢包事件结束在数据包记录i,目前收到的数据包最大序号为i+n,接收者在发送者发送的n个数据包中接收到的数据包个数为m个,此时在接收者共有n-m个数据包丢失。设j为满足以下条件的具有最小序号的数据包:

1.i

2.数据包j在接收者丢失。

图一丢包事件检测

(三)参数指示过滤

依据ACC协议,主动节点上的基本的过滤算法描述为:

If((Rate_New=0 and RTT_New=0)or Rate_SelectQRate_New)then ADDR,RTT,Rate,Time_Select = ADDR,RTT,Rate,Tme_New else DROP_IT

(四)拥塞控制的实施

当经过组播树中主动节点及发送者层层筛选出拥塞控制参数后,发送者即开始进入拥塞控制的实施阶段。因而ACC策略拥塞控制对于处在不同阶段的组播通信分别设计了不同的实施策略。在组播通信建立时,发送者不希望盲目发送组播数据包,因而它通过发送带有指示的单个组播数据包主动地要求接收者立即发送反馈消息。

三、算法的优化

为增加算法的稳健性和适应性,对算法做如下完善:

(一)为增加算法的适应性,以满足不同网络条件的要求。ACC拥塞过滤算法加入了一个调节因子β,使得判断条件变为:

If Rate_New=0orRate_SelectQβ*Rate_New

β参数通常取值范围为(0.8QβQ1.2),当β取小于1的值时,节点对反馈消息的过滤比较严格,其对下游网络的恶化反应较慢,但不会出现较大的幅度变化。反之,当β取大于1的值时,节点更偏重于对目前下游网络中的恶化做出快速反应,此时节点中符合逻辑筛选条件的接收者会出现比较频繁的变化。

(二)对于主动节点来说,当它收到来自接收者的反馈消息并发现其符合拥塞控制参数筛选条件时,它将这一接收者视为当前其下游组播树中的“拥塞控制代表”,直到有新的符合拥塞控制参数筛选条件的反馈消息将其取代。因而此时应将此反馈消息向上游节点转发以反映这一情况。这一判断过程可以表示为:

If Rate_New>0 and ADDR_New=ADDR_Select

then ADDR,RTT,Rate,Time_Select=ADDR,RTT,Rate,Time_New;

(三)主动节点的下游子树中,如果某一接收者被上游主动节点选为“拥塞控制代表”当主动节点子树中的拥塞情况好转时,其他组播接收者发生的反馈消息均不满足筛选条件,而无法取代其“代表”地位,此种情况称之为接收参数“僵死”。此时,主动节点中需要采取相应措施,定期地对这些“拥塞控制代表”的状态信息进行刷新,直接取新来到的消息中的参数为选定参数。设主动节点中设置的状态刷新时间长度为Time_Update,则这一过程可以表示为:

If Rate_New>0 and ADDR_New ADDR_Select

then ADDR,RTT,Rate,Time_Select=ADDR,RTT,Rate,Time_New;

else DROP_IT;

组播发送者同样具备拥塞控制参数筛选模块,其功能和实施过程与主动节点中的一致。

(四)当组播通信进入正常工作阶段时,考虑到立即增大发送速率容易引发网络的拥塞,因而采用如下算法进行速率调整:

Rate_Delta=Rate_New-Rate_Current

Rate_Curren=Rate_Curren+ζ Rate_Delta(0

这一算法可以提供平滑的最大发送速率,以避免造成或加重网络中的拥塞状况。

四、结论

ACC较全面的解决了基于主动网络的大规模可靠组播协议必须解决的主要问题,其算法的稳健性和适应性,满足了不同网络条件的要求。在今后的工作中,我还将对ACC协议进一步改进,包括过滤算法的完善,最大发送数率的提高。

参考文献:

[1]周贤伟,杨军,薛楠.IP组播与安全[M].北京:国防工业出版社,2005

[2]赵键,吴介一.一类基于主动网络的网络拥塞控制策略[J].通信学报,22000,7:33~38