本发明专利技术公开了一种基于改进TFMCC协议的通信方法,该方法的实现步骤如下:每次源接收到来自CLR的反馈数据包,就根据反馈数据包中包含的有效时间戳信息来计算源与CLR之间的端到端单向延迟抖动,并利用延迟抖动计算拥塞判断因子α来判断拥塞,然后利用拥塞判断因子计算一个修正因子m来调整期望吞吐量,进而调整发送速率。本方法通过计算源与CLR之间的端到端延迟抖动,并以此作为拥塞信号来调整发送速率,来有效控制TFMCC协议的端到端延迟抖动,从而有效减少协议的抖动,提高协议稳定性,并有效降低平均端到端延迟、平均端到端延迟抖动和平均丢包率等,提高了TFMCC协议的整体性能,使协议更好的为组播协议服务,更适合于多媒体业务的传输。
【技术实现步骤摘要】
本专利技术属于多媒体通信与网络传输
,具体涉及一种基于改进TFMCC协议的通信方法。
技术介绍
近年来,多媒体业务日益增长,对网络带宽的需求也大幅度增加,这大大超过了单播的能力。IP组播技术由此成为解决这一问题的关键技术,它能够有效利用网络带宽,节约网络资源。但是,IP组播缺乏可靠的拥塞控制机制,在网络发生拥塞时,不能有效的控制拥塞,这将导致IP组播不公平地与IP流抢占带宽,甚至导致网络负载过重而瘫痪。组播拥塞控制作为组播应用发展的瓶颈,成为互联网研究领域的一个热点。组播拥塞控制按照发送速率分为两大类单速率机制和多速率机制。TFMCC (TCP-Friendly Multicast Congestion Control)禾口 PGMCC(Pragmatic General Multicast Congestion Control)属于单速率机制,发送者只用一种速率发送数据;RLM(Random Listening Algorithm)属于多速率机制, 发送者使用不同速率发送数据,接收者根据自身的容量和能力进行选择接收的速率。TFMCC 作为一种单速率组播拥塞协议具有易于实施的优点。TFMCC协议以丢失事件率作为拥塞信号进行速率调整,以此来响应网络拥塞,但是,在初始阶段网络还没有发生丢包,发送者不能及时的了解网络拥塞动态,只能等到丢包发生后才能够发现拥塞,这导致TFMCC具有较高的丢包率,并且对网络拥塞的响应能力不高。TFMCC协议缺乏对端到端延迟抖动的有效控制机制,具有较高的抖动性,不适合对稳定性和实时性要求极高的多媒体业务。目前,有关TFMCC协议的改进很少关注丢包发生前协议对网络拥塞的响应性;有关TFMCC稳定性能的很多研究也关注的是如何减小发送速率的调整步长,而没有考虑以延迟抖动作为拥塞信号来调整发送速率,以此来减小抖动,提高协议的稳定性。这类研究不能根据网络拥塞信号及时响应网络拥塞状况。因此现有的组播拥塞控制机制缺乏及时性和响应性,不能及时地利用网络拥塞信号解决TFMCC协议存在的问题,因此不适合多媒体业务的发展。多媒体业务对稳定性有较高的要求,为了使组播拥塞控制协议更好的为多媒体业务服务,对组播拥塞控制协议性能的优化越来越重要。本专利技术基于端到端延迟抖动的TFMCC 改进算法,旨在提高TFMCC丢包发生之前对网络拥塞的响应能力,以及提高TFMCC协议的稳定性。即利用端到端延迟抖动作为拥塞信号来调整发送速率,以达到减少丢包、增加实时性和提高协议稳定性的目的。
技术实现思路
本专利技术的目的是针对TFMCC协议缺乏对抖动性的有效控制,以及丢包发生前不能及时响应网络拥塞的问题,提供了一种基于改进TFMCC协议的通信方法,来满足对稳定性有较高要求的多媒体业务的需求,更好的为多媒体业务服务,提高协议性能。为实现上述目的,本专利技术采用如下技术方案3 首先,TFMCC协议是一种单速率组播拥塞控制协议,接收端利用一个TCP长期稳定状态吞吐量(起源于单播TFRC协议)来计算期望吞吐量)(t。p,期望吞吐量Xtep是往返时延 RTT、丢包事件率ρ和包大小S的函数每个接收端都根据式(1)计算期望吞吐量Xtep,期望吞吐量Xtep最小的接收端被选为CLR.。接收端使用一个基于随机计时器的反馈抑制机制向源发送反馈数据包。CLR接收端可以不受任何限制地周期性向源发送反馈,非CLR接收端只有在它的期望吞吐量低于当前发送速率时才可以向源发送反馈。源根据CLR反馈信息中携带的期望吞吐量Xtep来周期性的调整发送速率。其次,原始的TFMCC协议以包丢失作为拥塞信号来判断网络拥塞,因此它只能在丢包发生之后才能获取网络的拥塞状态,这样会导致丢包发生之前,TFMCC不能准确了解网络的拥塞状况,这将导致大量不必要的丢包发生。在改进的TFMCC协议中,当处于慢启动阶段时,每次源接收到来自CLR的反馈数据包,就根据反馈数据包中包含的有效时间戳信息来计算源与CLR之间的端到端单向延迟抖动,并利用延迟抖动计算拥塞判断因子a来判断拥塞(这样在丢包发生之前,TFMCC协议就可以获取有效的网络拥塞信息,及时判断网络的拥塞状况,而没有必要等到丢包发生之后再判断拥塞,提高了网络的响应性),当处于拥塞避免阶段时,源计算拥塞判断因子a,然后利用拥塞判断因子计算一个修正因子m来调整期望吞吐量,从而减少抖动,提高网络的稳定性。第三,端到端单向延迟是指数据从发送端到达接收端所用的时间,端到端单向延迟抖动指的是两个连续数据包之间端到端单向延迟的差值。根据TFMCC协议中定义的反馈包中携带的时间戳信息,源每次接收到CLR反馈回来的数据包,都有足够的有效信息来计算源到CLR之间的端到端单向延迟和延迟抖动。源根据计算出来端到端延迟和延迟抖动改进TFMCC协议。下面的部分我们对TFMCC协议的端到端延迟和延迟抖动做了一些相关的定义。源每次接收到来自CLR的反馈数据包,都会计算源与CLR之间的当前即时端到端单向延迟d_sam(i) = t_fdb(i)-t_s(i)-t_int(i) (2)其中,d_sam⑴代表对于第i个数据包,源与CLR之间的当前端到端单向延迟;t_ fdb(i)代表对于第i个数据包,CLR的反馈时间;f_s(i)代表对于第i个数据包,源的发送时间;t_int(i)代表对于第i个数据包,CLR从接收到第i个数据包到发送反馈的反馈延迟。d_sam⑴的滑动平均值d_aVe⑴计算如下如果,源之前没有接收过CLR的反馈d_aVe(i) = d_sam(i) (3)如果,源之前接收过CLR 的反馈d_ave(i) = (l_q) · d_sam(i)+q · d_ave (i_l) (4)其中,d_aVe(i)代表当前d_sam(i)的滑动平均值,d_aVe (i_l)代表第(i_l)个数据包所对应的滑动平均值,q是滑动平均算法的加权因子,通过研究分析,当q = 0. 7时协议能够取得较好的性能。d_ave(i)-d_ave(i-i)指的是对于第i个数据包的端到端单向延迟抖动。源根据已经计算出来的d_aVe(i)和d_aVe(i-l)值来计算一个拥塞判断因子a。 在丢包发生之前,源利用a作为拥塞判断因子来判断拥塞本文档来自技高网...
【技术保护点】
1.一种基于改进TFMCC协议的通信方法,其特征是,该方法的实现步骤如下:Step1:首先组播拥塞网络处于慢启动阶段,在该阶段每次发送端接收到来自接收端CLR的反馈数据包后,就会根据反馈数据包中包含的时间戳信息计算发送端与CLR之间的当前端到端单向延迟,计算如下:d_sam(i)=t_fdb(i)-t_s(i)-t_int(i);Step2:发送端根据计算出来的当前端到端单向延迟,来计算当前平均端到端延迟d_ave(i);Step3:根据计算出来的平均端到端延迟d_ave(i)来计算拥塞判断因子a,拥塞判断因子计算公式如下:(math)??(mrow)?(mi)a(/mi)?(mo)=(/mo)?(mfrac)?(mrow)?(mo)|(/mo)?(mi)d(/mi)?(mo)_(/mo)?(mi)ave(/mi)?(mrow)?(mo)((/mo)?(mi)i(/mi)?(mo))(/mo)?(/mrow)?(mo)-(/mo)?(mi)d(/mi)?(mo)_(/mo)?(mi)ave(/mi)?(mrow)?(mo)((/mo)?(mi)i(/mi)?(mo)-(/mo)?(mn)1(/mn)?(mo))(/mo)?(/mrow)?(mo)|(/mo)?(/mrow)?(mrow)?(mfrac)?(mn)1(/mn)?(mn)2(/mn)?(/mfrac)?(mo)·(/mo)?(mrow)?(mo)((/mo)?(mi)d(/mi)?(mo)_(/mo)?(mi)ave(/mi)?(mrow)?(mo)((/mo)?(mi)i(/mi)?(mo))(/mo)?(/mrow)?(mo)+(/mo)?(mi)d(/mi)?(mo)_(/mo)?(mi)ave(/mi)?(mrow)?(mo)((/mo)?(mi)i(/mi)?(mo)-(/mo)?(mn)1(/mn)?(mo))(/mo)?(/mrow)?(mo))(/mo)?(/mrow)?(/mrow)?(/mfrac)?(mo);(/mo)?(/mrow)?(/math)Step4:如网络出现丢包或拥塞因子a>0.1,则组播拥塞网络退出慢启动阶段,同时转入Step5,反之保持慢启动阶段不变;Step5:多组播拥塞网络进入拥塞避免阶段,在该阶段源首先计算调整因子,调整因子m的计算公式为:m=1-a;Step6:发送端利用调整因子m调整期望吞吐量X′tcp,X′tcp=m*Xtcp,如果X′tcp大于当前发送速率,则逐步增加发送速率至X′tcp,反之减小发送速率至X′tcp;其中,d_sam(i)代表对于第i个数据包,发送端与CLR之间的当前端到端单向延迟;t_fdb(i)代表对于第i个数据包,CLR发送反馈的时刻;t_s(i)代表对于第i个数据包,发送端的发送时刻;t_int(i)代表对于第i个数据包,CLR从接收到第i个数据包到发送反馈的反馈延迟时间;d_ave(i)代表当前d_sam(i)的滑动平均值,d_ave(i-1)代表第i-1个数据包所对应的滑动平均值,q是滑动平均算法的加权因子,Xtcp是往返时延RTT、丢包事件率p和丢包大小S的函数,计算如下:(math)??(mrow)?(msub)?(mi)X(/mi)?(mi)tcp(/mi)?(/msub)?(mo)=(/mo)?(mfrac)?(mi)S(/mi)?(mrow)?(mi)RTT(/mi)?(mrow)?(mo)((/mo)?(msqrt)?(mfrac)?(mrow)?(mn)2(/mn)?(mi)p(/mi)?(/mrow)?(mn)3(/mn)?(/mfrac)?(/msqrt)?(mo)+(/mo)?(mrow)?(mo)((/mo)?(mn)12(/mn)?(msqrt)?(mfrac)?(mrow)?(mn)3(/mn)?(mi)p(/mi)?(/mrow)?(mn)8(/mn)?(/mfrac)?(/msqrt)?(mo))(/mo)?(/mrow)?(mi)p(/mi)?(mrow)?(mo)((/mo)?(mn)1(/mn)?(mo)+(/mo)?(mn)32(/mn)?(msup)?(mi)p(/mi)?(mn)2(/mn)?(/msup)?(mo))(/mo)?(/mrow)?(mo))(/mo)?(/mrow)?(/mrow)?(/mfrac)?(mo).(/mo)?(/mrow)?(/math)...
【技术特征摘要】
1.一种基于改进TFMCC协议的通信方法,其特征是,该方法的实现步骤如下Stepl 首先组播拥塞网络处于慢启动阶段,在该阶段每次发送端接收到来自接收端 CLR的反馈数据包后,就会根据反馈数据包中包含的时间戳信息计算发送端与CLR之间的当前端到端单向延迟,计算如下d_sam⑴=t_fdb(i)-t_s(i)-t_int(i);发送端根据计算出来的当前端到端单向延迟,来计算当前平均端到端延迟d_ Step3 ...
【专利技术属性】
技术研发人员:曹叶文,岳淑敏,
申请(专利权)人:山东大学,
类型:发明
国别省市:88
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。