tRTT采用闭环估算方法。源端收到接收端RR报文时会通过多播方式返回一个SR报文作为回应,但为了降低系统开销,源端不会单独回应每一个RR报文,而是成批进行处理。也即,假设源端在本地t时刻发送了一个SR报文,并在下一个SR报文发出时刻t+TSR之前的treturn1,treturn2,…,treturnk时刻,陆续收到k个接收端返回的RR报文,这些报文都带有各自的同步源标识符SSRCi。源端在时刻t+TSR通过多播方式发送下一个SR报文,该报文除了βl参数外,还包含一个列表,列表内容为上述k个接收端的SSRCi及其对应的tdelayi。tdelayi是源端响应某个RR报文的延迟时间(即源端从收到某个报文至发送下一个SR报文的时间间隔)。
可以看出:tdelayi=t+TSR-treturni。接收端收到SR报文后,若在报文里搜索到与本端对应的SSRCi→tdelayi项,则可通过τ0=t″-t′-tdelayi得到tRTT的闭环估算值。t′和t″分别为接收端发送RR报文和收到SR报文的本地时间。当接收端发出一个RR报文经过TSR+tRTO(秒)后仍未得到相应的SR报文回应,则认为SR包已经丢失,接收端清除请求记录并发出新的RR报文。
参数tRTO可以通过tRTO=max1,4τ0来推算[4], 这个经验公式在实际应用中已经能够提供较好的TCP友好性。丢包率p的估计可以参考文献[4]中提到的方法,但当接收端接收的视频层数大于1时,有必要将每一层的视频流单独对待,因此总的丢包率p是在对各层的丢包率进行权衡计算的基础上得到的。
3 仿真实验和性能评价
本节通过网络模拟器ns-2[5]对SRLM进行了性能仿真和分析。
仿真实验建立的网络拓扑结构如图3所示,使用如下缺省设置:(1)采用FIFO/droptail调度策略,最大排队时延150 ms;(2)路由器之间的传输时延20 ms,路由器和终端之间的传输时延10 ms;(3)TCP流在整个仿真实验过程始终持续,发送最大窗口为4 000个数据包;(4)多播视频流和TCP流的数据包大小均统一为500个字节;(5)各视频接收端的初始参数设置为:tRTT=100 ms,p=0。
在验证SRLM对TCP流友好性的实验中,源端各视频分层的初始速率设为256,512,1024 kbps,处于LAN中的视频接收端为5个。
SRLM使TCP流和视频多播流能够较好地共享链路瓶颈,并保持相近的传输带宽,表现出了良好的公平性。
为了进一步验证SRLM的有效性,在仿真实验中还将其与RLM在总体接收公平指数上进行了比较。实验的基本设定如下:
(1)RLM的两种累积层码率分配方式:(a)均匀分配型(uniform allocation,图5中以RLM-UA指代),即令ci=ci-1+σ,实验中σ=(2 048-128)/L;(b)指数分配(exponential allocation,图5中以RLM-EA指代),即令ci=λci-1,实验中λ=L2048/128。(a)和(b)中的L指分层数,基本层最低速率均设置为128 kbps。
(2)SRLM的累积层码率设置同上述(b),每一层有128/L个(取整数)速率调整点,层内的调整是匀速步进的。
(3)仿真环境为1 000个多播接收端,接收端按照预定视频层数的不同呈簇群性分布,我们对各接收端的期望接收速率ri应用混合高斯分布模型[6],并假设有5个簇群(每个簇群200个接收端),簇群的平均期望接收速率集合为160,360,800,1 200,1 800。
对比结果较好地体现了SRLM的QoS过滤性能。从图中我们还可以看出,当视频分层数超过5层时,系统总体接收公平指数的改善逐渐趋于平缓,且过多的分层数会加大收发两端的计算量和计算复杂度,反而会在一定程度上降低实时视频多播的QoS过滤效果。实际应用中,3~5层已经能够很好地适应各种多播接收会话数量。
4 结束语
在当前动态异构的IP网络中,基于终端系统的视频QoS过滤方法较为可行。通过在终端系统综合应用各种拥塞和速率控制策略以及误码控制机制,我们能够为实时多播视频提供一定的QoS保证,从而提高视频流的整体接收质量。但随着网络技术的发展和进步,基于网络的QoS过滤方法将会逐渐成熟并成为主要的应用方式。
