APP下载

一种适用于分层多播的RTT估算方法*

2010-09-26牧1

电讯技术 2010年9期
关键词:发送者多播接收者

张 牧1,王 攀

(1.贵阳学院 计算机科学系,贵阳 550005;2.南京邮电大学 江苏省通信与网络技术工程研究中心,南京 210003)

1 引 言

异构性是 Internet的固有特征,接入网络的多样性以及端系统处理能力的差异是这种异构性存在的根源,并且随着Internet规模的不断扩大,异构性问题将更加突出。多播的提出为异构网络环境部署多媒体多播应用提供了可行的方案,其中数据分层多播技术以多种速率传输既满足了不同用户间的异构性和不同需求,又避免了冗余数据传输带来的带宽浪费,成为多播研究领域中的一个热点。

目前,传输控制协议(TCP)通信量占Internet通信的90%以上,多播应用的广泛开展引起了非TCP 通信量所占比重的增加[1]。这些协议大部分没有与TCP 兼容的拥塞控制机制,它们以一种不公平的方式与TCP 流竞争:当遇到拥塞时,所有参与的TCP 流立即减小其速度试图减轻拥塞,而非TCP 流继续以原速率发送,这种极度不公平的情形会遏制TCP通信,甚至导致拥塞崩溃。当网络中可利用的带宽被耗尽,所有的包在到达目的地之前将会因拥塞而被丢弃,因而多播应用要想成功地在Internet 上应用,必须使用能与TCP 友好共存的多播拥塞控制机制,保证与TCP 共存时的公平性,即TCP友好性。文献[2]提出了一种精确计算TCP吞吐量的公式以确保分层多播拥塞控制方案满足TCP友好性,该公式显示往返时间(RTT)是计算TCP吞吐量的关键因素之一,因此RTT的计算对于确保多播会话满足TCP友好有着非常重要的作用。

本文提出了一种新的适用于分层多播拥塞控制方案中的RTT估算方法。在该估算方法中,分层多播会话中未被抑制的接收者进行RTT测量,被抑制接收者进行单向延时测量来估算RTT值,同时该方法采用优先级因子将经常被抑制的接收者和具有较大RTT的接收者考虑在内。

2 往返时间(RTT)计算方法

目前大多数多媒体应用都是基于RTP/RTCP(实时传输协议)协议[3]的,考虑到RTP/RTCP协议应用的广泛性,我们对RTCP协议进行扩充,增加RTT的请求和应答字段来进行RTT的测量,同时也可以进行单向延时测量。我们采用闭环的方式[4]进行RTT测量,重新定义的RTCP报文如图1所示。

VPPCPT=RRLengthSSRC Receiver接收报告块1︙接收报告块ntRreq

(a)接收者(RTT-RR)报文

(b)发送者(RTT-SR)报文

图1 改进后的RTCP报文格式

Fig.1 Improved message format of RTCP

RTT-RR是由接收者发出的向发送者提出测试RTT的请求报文,包括接收者的标识SSRC和提出RTT测量的请求时间tRreq。RTT-SR为发送者的应答报文,包括发送者的标识SSRC、各接收者的SSRC和其对应的请求时间tRreq,以及接收者收到该请求报文的时间tSreq和接收者发送对应应答报文的时间tSrep。

测量方法如图2所示。将时间分为轮,TRR表示两次RTT应答(RR)的时间间隔也即每一轮。在新一次RR开始时,接收者根据上一次RR所提供的抑制参数确定一个随机时间TS,这个随机时间TS的选择我们将在下一小节中进行讨论。当一接收者在自己的定时器(定时值为TS)时间到之前发现已经有其它接收者向发送者发出RTT请求,该接收者就将定时器归零并取消自己即将发送的RTT请求。如果在定时器时间到前没有发现其它接收者发出RTT请求,该接收者就在tRreq时刻向发送者发出RTT请求。发送者接收到这个RTT请求就记录下该请求到达的时间tSreq和发送这个RTT请求的接收者的编号(SSRC)。当TRR时间到时,发送者向所有接收者多播RTT应答消息。RTT应答消息包括该消息的发送时间tSrep、对应所有未抑制接收者的编号(SSRC)及对应的请求时间tRreq和到达时间tSreq、下轮RR的抑制参数(λ,T)。

图2 RTT时序图

在TRR时间间隔中,发送者会定时向接收者发送控制消息(CM)包,接收者可以根据包里的信息测量单向延时。其中,TCM(TCM<

我们定义CM包的格式如图3所示,包括发送者的SSRC和CM包发出的时间。

VPPCPT=CMLengthSSRC SendertSk

在接收到发送者的RTT应答报文后,发送RTT请求报文的接收者就可以计算出闭环的RTT值:

tRTT=dRS+dSR

(1)

式中,dRS表示从接收者到发送者的单向延时,dSR表示从发送者到接收者的单向延时。

dRS和dSR可以定义如下:

dRS=tSreq-tRreq+toff

(2)

dSR=tRrep-tSrep-toff

(3)

dRS=dSR-tasy

(4)

式中,toff和tasy分别表示时钟偏差和链路不对称性造成的时间延时。由上面的式子我们得到:

tRTT=tRrep-tRreq-(tSrep-tSreq)

(5)

由此我们看出RTT的值与toff和tasy无关。

从式(2)~(4)我们可以得到时钟偏差和链路不对称性引起的延时值的和,该值用在下一小节单向延时测量中。

ω=2toff+tasy=tRrep-tSrep-tSreq+tRreq

(6)

toff和tasy的值并不是固定的,会随着时钟频差和动态网络发生突变而改变。

3 单向延时测量

当接收者接收到第n个CM包时,就可以估算其单向延时:

(7)

根据上节中所讨论的ω值,我们可以用单向延时来估算RTT值。

(8)

假设ω′=ω,得到:

(9)

同样,当接收到RR包时,被抑制的接收者也可以计算出单向延时,并用单向延时来估算RTT的值。dRS的值在每个TCM中都会更新,而toff和tasy的值是在每一次RTT估算后才更新。由于时钟频差和动态网络发生突变的原因,最新更新的时钟偏差值和网络链路不对称引起的延时值会与当前值不吻合。

从上面的测量方法中我们可以看到,频率较小的进行RTT测量可以避免反馈内爆,而频率较大的进行单向延时测量可以确保RTT值更新的准确性。为了避免一次RTT 时间内的测量样本对多播组发送产生过多的影响,我们使用指数加权滑动平均算法来平滑RTT 时间的测量结果:

(10)

在RTT测量中,我们设置α=0.5;在单向延时测量中,取α=0.1。

4 反馈时间TS的选定

在第2节中,我们提到了一个随机时间TS,TS的选择是算法中一个很重要的组成部分。如果发出RTT请求的接收者数量比较多,那么就容易引起反馈内爆;如果数量偏少,那么就对比较准确测量RTT的值有一定影响。因此,选择合适的TS可以保证较准的RTT测量精度。

我们用一个右截的指数分布函数[5]来定义随机时间TS,其密度函数为

(11)

通过式(11)得到的参数值,使得在我们的测量方法中10 000个接收者只能发出不到10个的反馈报文,数量很小的反馈报文也意味着很少的RTT测量次数。为了平衡反馈内爆和RTT测量准确性的关系,我们对RTT测量方法进行优化。

对于那些被抑制而不能发出RTT请求的接收者,我们用优先级因子p保证其有较高的优先级来发送RTT请求。在加入多播会话后,加入的接收者维护自己的优先级因子p,p的值最开始赋值为一个最大值pmax。如果某接收者进行了一次RTT测量,那么p=1,否则在某轮RR结束后,其p的值改变为p+1。如果在最新一次单向延时测量中,得到的测量值超过了一个设定好的极限值,这意味着网络发生了突变,那么接收者就要设置p=(1+b)p(0

(12)

于是,优化改进后的TS值为

(13)

式中,q表示T的偏差量。

5 仿真实验

我们对上述测试方法的有效性和对抑制的影响进行仿真实验。首先设置了3个多播会话,每个多播组的成员数目分别是100、1 000和10 000。图4显示的是在每一轮RR中所发出的RTT请求的数量,可以看出,当组成员数目较小时,未被抑制的接收者占总接收者数量的9%以下,而当组成员个数增大时,这个比率随之降低,占总接收者数量的2%以下,这样不会引起反馈内爆,保证了网络不会形成拥塞。

图4 测量方法对抑制的影响

为了估算本文方法的准确性,我们建立了一个多播会话,组成员数目为10。接收者分别用本文方法和普通的RTT测量方法对RTT进行估算。多播连接时间持续200 s,每隔10 s就对本文RTT测量方法计算得到的RTT值t′和用普通测量方法得到的RTT值t进行记录。图5显示的是其相对偏差|t-t′|/t,从图中我们可以看到其值不超过10%,在可以接收的范围内,因此本文提出的算法是可行的。

图5 测量方法准确性

6 结 论

RTT的计算对于多播拥塞控制方案如何保证多播会话与TCP会话共存时的公平性有很重要的作用,这也是分层多播方案能在互联网上广泛运用的关键所在。本文提出了一种新的RTT计算方法,该算法将RTT测量与单向延时测量结合起来一起估算RTT值,仿真表明这种方法是可行的。在这种RTT测量方法中,反馈时间TS由右截的指数分布函数来选定,有效地避免了反馈内爆,但却降低了RTT测量的准确性,下一步工作中,如何选择TS,有效平衡反馈内爆和RTT测量准确性的关系,将是我们研究的重点。

参考文献:

[1] Jamshid Mahdavi,Sally Floyd. TCP-friendly unicast rate-based flow control[EB/OL].1997-01-08.http://www.psc.edu/networking/papers/tcp-friendly.html.

[2] Padhye J, Firoiu V, Tow sley D, et al. Modeling TCP throughput: a simple model and its empirical validation[C]//Proceedings of ACM SIGCOMM′98. Vancouver, Canada:ACM,1998: 303-315.

[3] RFC 1889, RTP:A Transport Protocol for Real-Time Applications[S].

[4] Liu J, Li B, Zhang Y. A Hybrid Adaptation Protocol for TCP-friendly Layered Multicast and Its Optimal Rate Allocation[C]//Proceedings of IEEE INFOCOM′02. New York, USA:IEEE,2002: 1520-1529.

[5] Nonnenmacher J, Biersack E W. Scalable feedback for large groups[J]. IEEE/ACM Transactions on networking,1999,7(3): 375-386.

猜你喜欢

发送者多播接收者
胖树拓扑中高效实用的定制多播路由算法
用于超大Infiniband网络的负载均衡多播路由
InfiniBand中面向有限多播表条目数的多播路由算法
网络表情符号的作用
表情符号的使用角度对亲密度感知的影响
基于SDN的组播安全机制
论《聊斋志异》梦境叙事
功能翻译理论视角下英语翻译技巧探讨
单粒子未知态的分级量子通信
基于概率论的发送者匿名性度量模型