一种同时适用于有线和无线网络的实时流媒体传输的方法

文档序号:7688897阅读:278来源:国知局
专利名称:一种同时适用于有线和无线网络的实时流媒体传输的方法
技术领域
本发明涉及一种网络协议的方法,特别涉及一种同时适用于有线和无线网 络的实时流媒体传输的方法。
背景技术
TFRC(TCP Friendly Rate Control TCP兼容流传输控制协议)是一种为了给 流媒体应用提供优质的传输服务而设计的网络协议(S. Floyd, M. Handley, and J. Padhye et al. "Equation-Based Congestion Control for Unicast Applications." ACMSIGCO醒,00, August 2000. )。 TFRC在(UDP User Datagram Protocol用户翁:据包协i()网络协议的基础上,利用一种可以才莫拟TCP Reno (传 统TCP拥塞控制协议,TCP拥塞控制协议的一种)吞吐量行为的计算公式(以下 称为"Reno公式,,)来控制发送数据包的速率,从而既利用了 UDP在网络传输中 的实时特性,又避免了 UDP无限制的发送数据包而影响其它TCP (Transmission Control Protocol传输控制协议)传输的性能。具体的传输过程如图1所示。
TFRC接收端计算该连接的丢包率,并4巴此结果通过ACK包 (acknowledgement)返回给发送端。收到ACK包后,发送端根据新的丟包率, 用Reno公式算出新的发送速率,并由此调整发送数据包的速度。调整发送数据 包速度的Reno/厶式如下所示
其中7^是计算所的发包速率,s是数据包的大小,及rr是数据包往返时间
(round trip time) , p是接收端发回的丢包率,r。=4/ rr, 6是指接收端每收 到多少个数据包返回一个ACK包,通常取1或者2。由此可以看出,Reno公式是TFRC协议的核心,它决定了 TFRC的传输性負fe。
在今天,无线网络已经成为了计算机网络的重要组成部分,并会在将来扮 演越来越重要的角色。众所周知,无线网络有着很高的随机丢包率。TCP Reno 总是把数据包的丢失作为网络拥塞的信号,并在丢包后大幅度的降低其传输速 率(通常减半)。但是这个判断在无线网络中并不适用,因为在无线网络中,大 部分的丢包都是由于信号噪声,连接中断等造成的,而不是网络拥塞,我们称 之为随机丢包,或者叫无线网络丢包。由于TCP Reno将大量的无线网络丢包认 为是网络拥塞,所以TCP Reno在无线网络中性能很低。而TFRC是通过Reno公 式的结果来发送数据包的,所以在无线网络中,TFRC的性能也很差。
目前,已有很多对TFRC进行的改进,以实现在无线网络中的良好性能。这 些改进可以分为两大类需要中间网络支持的改进和无需中间网络支持的改进。
需要中间网络支持的改进是指,这种改进不仅需要在发送/接收端进行,也 会涉及到网络的中间节点,如路由器(router ),代理服务器(proxy ),无线网 接入器(access point)等。代表性的例子有ECN-based TFRC (R. Chaudhary, andJacob. "ECN Based TCP-friendly Rate Control for Wireless Multimedia Streaming." IEEE ICCCN, 03, October 2003. ), Proxy-based TFRC ( L. Huang, U. Horn, and F. Hartimg et al."Proxy-based TCP-friendly Streaming over Mobile Networks. ,, ACMWo丽oM, 02, September 2002. ), WM-TFRC ( J. Y. Pyun, Y. Kim, and K. H. Jang et al. "Wireless Measurement Based Resource Allocation for QoS Provisioning over IEEE 802.11 Wireless LAN." IEEE Trans. On Computer Electronics, vol. 49, Issue 3, 2003 ) , AED—based TFRC (V. Arya, and T. Turletti."Accurate and Explicit Differentiation of Wireless and Congestion Losses." IEEE ICDCSW, 03, May 2003 )等。
ECN-based TFRC利用中间的路由器(router)来判断网络是否拥塞,并把 该信息通过设置IP (Internet Protocol互联网协议)包头的ECN (Explicit Congestion Notification拥塞提醒信号)标志来通知接收端。接收端只根据 ECN标志的包来计算丢失率,并通过ACK包通知发送端。这样,发送端便只用由网络拥塞导致的丢包率来计算发送速率,从而避免其他原因的丢包产生的影响,
提高了 TFRC的性能。
Proxy-based TFRC ^吏用代理服务器(proxy )将发送端和4妻收端分成两部分, 只在发送端和代理服务器之间的这部分使用TFRC来传输数据。在另一部分,也 就是代理服务器和接收端,则通过基于TCP的RTP ( Real-time Transport Protocol实时传输协议)协议来传输数据。这种方法可以充分的利用无线网络的 带宽,从而提高整体的性能。
丽-TFRC利用无线网^^的4矣入节点(access point)来测量无线网络的丢包 率,并将结果返回给发送端。与此同时,接收端则返回总的丢包率。这样,发 送端可以通过总的丢包率减去无线网络的丢包率,来得到真正的由网络拥塞引 起的丢包率。由此丢包率来计算发送速率,可以提高TFRC的性能。
AED-based TFRC <吏用 一 种新的称为 Accurate and Explicit Differentiation (AED)的丟包分辨方法来提高TFRC的性能。它在无线网络边 界和有线网络的边界均设置一个代理服务器(agent )。无线网络中的代理服务 器将丢包视作随机丟包,而有线网络中的代理服务器则将丟包视作拥塞丢包。 这些信息将会传给接收端,从而让接收端正确的得到拥塞丟包率,来提高TFRC 的性能。
综上所述,无线网络需要中间网络支持的改进方法必须要加入新的功能在 中间节点上,或者加入新的中间节点,这会给改进的推行带来麻烦,因为要改 变或者更换现有的大量的已存在的Internet的设备,是一件非常困难的事情。 而另外一种类型的改进则避免了这种情况,即无需中间网络支持的改进。这种 改进只对发送/接收端的一方或者两方进行修改。其中的代表是MULTFRC( M. Chen: and A. Zakhor. "Rate Control for Streaming Video over Wireless.', IEEE INFOCOM, 04, March 2004.)。
MULTFRC发现如果只用一条TFRC连接在无线网络中进行传输,其带宽利用 率非常的低。因此MULTFRC在数据传输的过程中会同时建立多条连接,这样传 输的效率就大大提高了 。连接的数目根据数据包的往返时间(round trip time )由特定的算法计算出来,并在传输的过程中动态的变化。MULTFRC仅仅需要对发 送端进行改进,因此非常的方便。随后MULTFRC又进行了改进,称为AIO-TFRC (M. Chen, and A. Zakhor. "AIO-TFRC: A Light-weight Rate Control Scheme for Streaming over Wireless. " IEEE WirelessCom, 05, June 2005. )。 AI0-TFRC 简化了 MULTFRC的编程实现过程,并且解决了其在量化连接数目时有可能产生 的不良结果。
然而,无论是MULTFRC还是A10-TFRC ,虽然它们可以大幅度提高TFRC在无 线网络中的性能,却牺牲了 TFRC别的优点,即公平性和对其他TCP传输的友好 性。也就是说,当多个MULTFRC同时传输数据时,它们并不能平等的享有带宽。 同时,如果MULTFRC和别的TCP同时传输数据时,MULTFRC会抢占TCP本该享有 的带宽。
本发明的目的是提供一种同时适用于有线和无线网络的实时流媒体传输的 方法。采用本发明方法,使TFRC Veno具有在无线网络和有线网络良好的传输 性能,在大幅度提高TFRC在无线网络中的性能同时,又保证了TFRC的公平性 和对其他TCP传输的友好性,并且有简单快捷,成本低的优点。
本发明的技术方案有以下步骤
a. 发送端发出TFRC凄t据包;
b. 接收端接收TFRC数据包,同时计算前一#爻时间的丢包率p ,
c. 才妄收端将丢包率p的"信息通过ACK包(acknowledgement)返回给发送端, 每收到6个TFRC数据包返回 一个ACK包;
d. 发送端收到ACK包后,TFRC根据Reno公式计算出新的发送速率7;。&,其

发明内容式中S为TFRC新的数据包的大小,Arr为数据包往返时间(round trip time ), 6为接收端每收到1 ~ 2个数据包返回一个ACK包,p是接收端发回的丢 包率,r。=4i 7T, y为本发明对TCP Veno建模所得到的特征参数,其计算公式 为
y :min(《,《+(《 -《)x-々XJ 7T-)
式中,《为TCP Veno在判断丢包是随机丢包时所减小到的速率和原来速率 的比例,6>2为TCP Veno在判断丢包是拥塞丢包时所减小到的速率和原来速率的 比例,^^ 7T为传输过程中最小的及7T,『max =65535" , S为数据包的大小, (3为TCP Veno中使用的常数,通常取3。
本发明方法采用模拟TCP Veno (新型TCP拥塞控制协议,TCP拥塞控制协 议的一种)呑吐量行为的计算公式(以下称为"Veno公式,,),并改用该公式来 控制TFRC发包的速率。TCP Veno是一种在无线网络和有线网络环境下都有^艮 好的传输性能的TCP网络协议,因此使用了 Veno公式后的TFRC(以下称为"TFRC Veno")在无线网络中的性能有大幅度的提高。
本发明用一种能同时适合于有线和无线网络的公式来代替Reno公式,从才艮 本上解决TFRC在无线网络中遇到的问题。TFRC Veno在大幅度提升TFRC性能的 同时,并没有牺牲原来TFRC的其他优点,如公平性,和对其他TCP传输的友好 性,以及发送数据包的平稳性。另外,TFRC Veno只需要在TFRC协议的发送端 进行少量改进用Veno公式代替Reno公式即可。因此,如果想提高现有的TFRC 连接在无线网络中的性能,只需在TFRC发送端使用Veno公式代替Reno公式来 计算发包速率,其他的机制不用变动,即可提高其性能,具有使用筒单便捷, 成本低的优点。
我们的仿真实验和真实网络实验表明,采用模拟TCP Veno吞吐量行为的 Veno公式控制TFRC发包的速率,当网络的随机丢包率在10°/ 左右时,TFRC Veno 的传输速度可以达到TFRC速度的3倍以上。


图1为TFRC和TFRC Veno协议的传输过程示意图2为TFRC Veno和TFRC在无线网络环境下的吞吐量的比较实验结果示意
图3为TFRC Veno和TFRC在无线网络环境下的公平性的比较实验结果示意
图4为TFRC Veno和TFRC在无线网络环境下对其他TCP传输的友好性的比 较实验结果示意图5为TFRC Veno和TFRC在无线网络环境下传输的平稳性的比较实验结果 示意图。
具体实施例方式
名词解释
1. TFRC: TCP Friendly Rate Control (TCP兼容流传输控制协议)
2. UDP: User Datagram Protocol (用户数据包协议)
3. TCP: Transmission Control Protocol (传输控制协议)
4. IP: Internet Protocol (互联网协议)
5. TCP Reno:(传统TCP拥塞控制协议,TCP拥塞控制协议的一种)
6. TCP Veno:(新型TCP拥塞控制协议,TCP拥塞控制协议的 一种)
7. ECN: Explicit Congestion Notification (拥塞才是醒信号)
8. RTP: Real-time Transport Protocol (实时传输协议)
9. ACK: Acknowledgement (确i人数据包) 一.TFRC Veno协议的传输过程
参见图1, TFRC Veno协议的传输过程如下所述
1. 发送端和接收端均为计算机,其间通过互联网连接。
2. 发送端发出TFRC数据包,在未接到ACK包或者ACK包内的丢包率为0时, 发送端加大其发送速度7;—",通常取前次发送速度7;^(,^的两倍和前次接收速 度L,(,-。的两倍的最小值,即?U,) ^min(2C27^一^),其中前次接收速度7 m、由ACK包告知。
3.接收端接收TFRC数据包,同时计算前一段时间的丢包率p,具体计算过 程如下所示
记4为第i次丢包和第"l次丢包中间的收到的数据包的数目,我们对最近 的8个4进行加权平均,
其中Wl = w2 = m;3 = w4 = 1, w5 = 0.8 , w6 = 0.6 , w7 = 0.4 , ws = 0.2 ,最后,才寻至,j 前一段时间的平均丟包率
1
"
4. 接收端将丢包率p的信息通过ACK包返回给发送端,每收到6个TFRC数 据包返回一个ACK包(6通常为1或者2 )。
5. 发送端收到ACK包后,TFRC Veno根据Veno公式计算出新的发送速率, 并以此速度来发送新的数据包
a) S是^:据包的大小,由协议预先设定。
b ) / 7T是数据包往返时间(round trip t ime ), 发送端每收到一个ACK包, 都会更新当前的i 7T值,其计算公式为
记t为最新一次所测到的数据包发出到其ACK包收到所经过的时间,则
其中"通常取o. 9,由协议预先设定;i n;为当前最新的及7T值;及7t;—,为上 一次的/ nM直。
c) p是接收端发回的丟包率,其计算过程参见步骤3;
d ) 70 = 4i 7T ;e ) 6是指接收端每收到多少个数据包返回一个ACK包,通常取1或者2,由 协议预先设定;
f)计算特征参数r
i) 《是TCP Veno在判断丟包是随机丢包时所减小到的速率和原来速率 的比例,通常为0.95,由协议预先设定;
ii) 《是TCP Veno在判断丟包是拥塞丟包时所减小到的速率和原来速率 的比例,通常为O. 5,由协议预先设定;
Ui) ^w^7T是传输过程中最小的i 7T,每当得到一个新的W7T,都会和 原来的S"wi 7T进行比较,如果大于或等于原来的5"^/ 7T ,则原来的 ^asd 7T不变,如果小于原来的SawA7T ,则原来的Sase及7T变为新的/ 7T 值,即5,及7T, = min(Am^7T'一 , W7T');
iv) e为TCP Veno中使用的常数,通常取3,由协议预先设定;
iv) 『max =65535/5, S是数据包的大小;
v) ^由步骤(i) ~ (iv)的参数算出
Veno公式是根据模拟TCP Veno的吞吐量行为得到的公式。TCP Veno是一 种在无线网络和有线网络环境下都有很好的传输性能的TCP网络协议,因此根 据该公式得出的发包速率不会因为无线网络的影响而大幅度下降。得到新的发 包速率7;。,。后,发送端在下一个时刻将按照新的发包速率发送TFRC数据包。
下面我们以Linux操作系统为例,说明如何利用TFRC Veno协议发送数据
y = m 2 +(《—《)x
g)最后通过Veno公式得到发包速率7;TFRC Veno协议作为一个系统才莫块(system module ),位于Linux系统核心 (Linux Kernel )中。当安装Linux操作系统时,用户可以选择是否安装TFRC Veno 协议模块。TFRC Veno协议模块提供一些网络接口函数(Socket API),以便用 户在编写自己的软件时调用。
假定发送端和接收端的计算机都使用Linux操作系统,并且都安装了 TFRC Veno协议模块。
发送端和接收端使用TFRC Veno协议模块提供的网络接口函数socket ()来 装入TFRC Veno协议模块以便传输数据。发送端有一个发送流媒体的软件,调 用了 TFRC Veno的网络接口函数listen(),在某个计算机端口 (port),例如 3912,进行监听。接收端的用户有一个接收流i某体的软件(通常为媒体播放器), 调用了 TFRC Veno的网络接口函数recv (),促使接收端的TFRC Veno协议模块 便向发送端的3912号端口请求建立连接。当发送端的TFRC Veno协议模块得到 连接请求后,便通知调用它的上层软件,该软件随后调用TFRC Veno网络接口 函数send (),由TFRC Veno向接收端以TFRC数据包的形式发送流媒体数据。TFRC Veno协议中的常数,例如数据包的大小S等,都由发送端程序调用TFRC Veno 网络接口函数setsockopt ()预先设置。
注意,这里的网络接口函数的名称仅为举例方便,其真实的名称在各个操 作系统中可能有所不同。
在数据的发送过程中,发送端的TFRC Veno协议模块会根据Veno公式来计 算发包的速度是多少。例如,
发送端的TFRC Veno接收到接收端返回的ACK包,其中告知网络的丢包率; 为0. 1 (接收端对网络丟包率p的计算,参见附图1的说明);
同时,发送端的TFRC Veno设置的TFRC数据包的大小为1000字节(Byte), 6为1,《为0.95,《为0.5, P为3 (各种预设参数的意义,参见附图1的说 明);
测量得到数据包往返时间(round trip time)及7T为0.1秒(对及7T的计算,参见附图1的说明),则r。 =4/ 771为0. 4秒;测量得到传输过程中最小的i 7T,即5fl^/ 7T为0. 09 (对5aw/ 7T的计算, 参见附图1的说明);计算L = 65535" = 65535/1000 = 65.535 ;y = m 2 +(《 -《)x-"xi 7T-)=min(0.95,0.5 +(0.95-0.5) x. 3逸10.09) x 65.535 =min(0.95,0.7) =0.7则最后的发包速率(字节/秒)为+37; 、 ^z!l^d+3 v)710000 0.7)x(U+3x0 d-0力xO."o +32xV 1 + 0.7 V 2=22576二.实施例实施例1: TFRC Veno和TFRC在无线网络环境下的吞吐量的比较(仿真实验)参见图2,使用网络仿真工具NS-2来模拟无线网络环境,并设定其随机丟 包率。在实验中,发送端和接收端共建立8条TFRC连接,由发送端同时开始传 输数据,时间为5分钟,并记下8条连接的平均吞吐量(包/秒),然后发送端 和接收端共建立8条TFRC Veno连接,发送端在同样的环境传输数据,时间也 为5分钟,同样记下其平均吞吐量,并和TFRC的吞吐量进行比较。同样的实验 重复20次,取其平均数据和置信度为0.95的置信区间。我们还将随机丢包率 从0. 0001逐步增大到0. 1,重复以上实验,实验结果见图2。图2的横坐标表示无线网络的丢包率,从0. 0001到0. 1,纵坐标表示平均 吞吐量(Throughput ),单位为包/秒(packet/s )。从图上我们可以看出,当无线网络的丢包率上升到0. 002后,TFRC Veno的吞吐量便开始大于TFRC。当丢 包率达到0. 1时,TFRC Veno的吞吐量是TFRC的3倍。这i兌明了 TFRC Veno在 无线网络中对TFRC的性能有很大的提升。实施例2: TFRC Veno和TFRC在无线网络环境下的公平性的比较(仿真实验)公平性是指当多个相同协议的连接同时传输数据时,它们应该能平等的享 有带宽。这里我们引用R. Jain的公平指数(Fairness Index )作为衡量公平 性的标准(R- Jain. "The art of computer systems performance analysis." Wiley, New York, 1991. )。 />平指数计算公式如下其中/是公平指数,n为同时传输的连接数目,7;为第i条连接的吞吐量。 其中,公平指数越接近l,则说明该协议的公平性越好。图3给出了 TFRC Veno和TFRC协议的公平指数的比较。其实验环境和操作 方法和图2的实验相同,同样也用8条TFRC或者8条TFRC Veno来传输数据, 只是每次需要纪录的是公平指数。图3横坐标表示无线网络的丢包率,从0. 0001 到O. 1,纵坐标表示公平指数(Fairness Index )。从图中可以看出,TFRC Veno 和TFRC的公平指数基本相同,并且都接近1,说明TFRC Veno的改进并没有牺 牲TFRC的良好的7>平性。实施例3: TFRC Veno和TFRC在无线网络环境下对其他TCP传输的友好性 的比较(仿真实验)对其他TCP传输的友好性是指,该协议和TCP协议同时传输数据时,该协 议不应抢占TCP本该享有的带宽。之所以考虑和TCP传输的友好性,是因为如 今互联网上大部分的数据传输都是使用TCP协议,因此新的协议不应对现有的TCP传输造成不良的影响。遗憾的是网络界尚未定义一个能被普遍接受的关于友好性的指标,我们使用如下方法观察友好性实验环境和操作方法与图2的实验相同。首先让8条TCP Sack连接传输数据,时间是5分钟,并记录其平均吞吐量rArawg; ;w,^。 TCP Sack (TCP with Selected Acknowledgement)是当前应用最广泛的一种TCP协i义。然后将其中 的4条连接替换成TFRC,重新传输数据,时间仍为5分钟,并记录剩下的4条TCP连接的平均吞吐量772TO昭/z^d,,如果^o"g^《聰咖,的值接近1,则说明J7 ra艰—严用TFRC代替TCP连接并没有影响剩下的TCP连接,TFRC对TCP传输是友好的。 我们用同样的方法对TFRC Veno进行观察,并和TFRC进行比4支。图4给出了 TFRC Veno和TFRC协议对TCP传输的友好性的比较,横坐标表示无线网络的丟包率,从0. 0001到0. 1,纵坐标表示^w"g^《。e赠"'的值。从图中可以看出,TFRC Veno和TFRC的r/iro"g——"(的值基本相同,并且都接近1 ,77z簡g—拜说明TFRC Veno的改进并没有牺牲TFRC的良好的对TCP传输的友好性。实施例4: TFRC Veno和TFRC在无线网络环境下传输的平稳性的比较(仿 真实验)传输的平稳性是指该协议单位时间发出的数据包数目应该保持平稳,这对 于实时的流媒体协议尤其重要,因为发包过程中的时快时慢会对用户观看媒体 造成不良的影响。这里我们引用TFRC作者在其论文中使用的CoV (Coefficient of Variation)来作为衡量平稳性的标准,其计算方法如下l+「If 、 1-—1、一》'其中x,为每0. 1秒钟TFRC发出的数据包数目,n指总共纪录了多少个0. 1 秒。CoV越小,则表明发送的平稳性越好。本实验的实验环境和操作方法与图2的实验相同。首先让8条TFRC连接传 输数据,时间是5分钟,并记录其平均CoV。然后换成TFRC Veno,重新传输数 据,时间仍为5分钟,并记录其CoV,并于TFRC的进行比较。图5给出了 TFRC Veno和TFRC协议对TCP传输的平稳性的比较,横坐标表 示无线网络的丢包率,从0. 0001到0. 1,纵坐标表示CoV的值。从图中可以看 出,TFRC Veno和TFRC的CoV的值基本相同,甚至在随机丢包率较大时比TFRC 的CoV还要小,说明TFRC Veno的改进并没有牺牲TFRC良好的传输平稳性。实施例5: TFRC Veno和TFRC在无线网络环境下的吞吐量,接受成功率, 发送平稳性的比较(Internet实验)我们在香港和新加坡分别搭建发送端和接收端,在新加坡的接收端通过无 线接入网联接Internet。我们在一天的不同时#殳(9: 00 10:00, 11:00 12:00, 13:0014:00, 15:0016:00, 17:0018:00, 22:00 23: 00 ),同时用1条TFRC和1条TFRC Veno传输数据,并纪录其吞吐量,接受 成功率(指收到的包占发送的包的百分比)和CoV,并进行比较。该实验重复一 个星期。表l给出了其中一天的数据。表l TFRC Veno和TFRC在无线网络环境下的吞吐量,接受成功率,发送 平稳性的比较(Internet实验)TFROTFRC Veno7i縦5/船9;00 1謹U:0(K'12:(K)13:00 14:0024SO/324化72037. ,13CX7亂Si0,71/0.730丄W,J7(》27/0,220,職240,34/0.29从表1中可以看出,TFRC Veno的吞吐量在大多数情况来说要比TFRC高出 30°/ -- 70%。而在接收成功率和CoV两项指标上,则没有什么差别。这再次说明了 TFRC Veno在提高TFRC传输性能的同时,没有牺牲TFRC的其他优点。实施例6: TFRC Veno和TFRC在无线网络环境下的对TCP传输的友好性的 比较(Internet实验)在同实施例5相同的Internet实验环境下做了 TFRC和TFRC Veno对TCP 传输的友好性的对比。我们在一天的不同时段(10: 30 11:30, 13:30 14:30, 16:30 17:30, 19:30 20:30, 21:30 22:30 ),同时使用l条 TFRC Veno + 1条TCP Sack的组合,1条TFRC + 1条TCP Sack的組合,和1 条TCP Sack + 1条TCP Sack的组合来传输数据,并纪录每个连接的吞吐量, 并进行比较。该实验重复一个星期。表2给出了其中一天的数据。表2 TFRC Veno和TFRC在无线网络环境下的对TCP传输的友好性的比较 (Internet实验)71顺* SZ謝10:30~i〗:3013:30 14:.W16:30 17:301 ^ 一 '差 一t柳.8/ll.".31657.5/125"2038.7/1202.52212,3/1357.81762,5/1224,5t4ft2 3/i 340,01609.8/1525.31435.5/1349.0隨mn 02t.8B64.&'1404.81299.0/130,81225,3/鹏,8从表2中可以看出,TFRC Veno的吞吐量在大多数情况来说要比TFRC高20% —50%,而与此同时,TCP Sack连接并没有因为TFRC或者TFRC Veno的存在而 降低吞吐量。这说明了 TFRC Veno和TFRC都有纟艮好的对TCP传输的友好性。
权利要求
1.一种同时适用于有线和无线网络的实时流媒体传输协议的方法,其特征在于有以下步骤a.发送端发出TFRC数据包;b.接收端接收TFRC数据包,同时计算前一段时间的丢包率p,c.接收端将丢包率p的信息通过ACK包返回给发送端,每收到b个TFRC数据包返回一个ACK包;d.发送端收到ACK包后,TFRC根据下式计算出新的发送速率Tcalc,<maths id="math0001" num="0001" ><math><![CDATA[ <mrow><msub> <mi>T</mi> <mi>calc</mi></msub><mo>=</mo><mfrac> <mi>S</mi> <mrow><mi>RTT</mi><msqrt> <mfrac><mrow> <mn>2</mn> <mi>b</mi> <mrow><mo>(</mo><mn>1</mn><mo>-</mo><mi>&gamma;</mi><mo>)</mo> </mrow> <mi>p</mi></mrow><mrow> <mn>1</mn> <mo>+</mo> <mi>&gamma;</mi></mrow> </mfrac></msqrt><mo>+</mo><mn>3</mn><msub> <mi>T</mi> <mn>0</mn></msub><msqrt> <mfrac><mrow> <mi>b</mi> <mrow><mo>(</mo><mn>1</mn><mo>-</mo><msup> <mi>&gamma;</mi> <mn>2</mn></msup><mo>)</mo> </mrow> <mi>p</mi></mrow><mn>2</mn> </mfrac></msqrt><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> </mrow></mfrac> </mrow>]]></math></maths>式中S为TFRC新的数据包的大小,RTT为数据包往返时间,b为接收端每收到1个数据包返回一个ACK包,p是接收端发回的丢包率,T0=4RTT,γ为本发明对TCP Veno建模所得到的特征参数,e.发送端在下一个时刻按照新的发包速率发送TFRC数据包。
2. 根据权利要求1所述的同时适用于有线和无线网络的实时流媒体传输协议的方法,其特征在于丢包率;^i,其中7第/ —l次丢包的加权平均值。
3. 根据权利要求1所述的同时适用于有线和无线网络的实时流媒体传输协 议的方法,其特征在于对TCP Veno建模所得到的特征参数;K的计算公式为<formula>formula see original document page 2</formula>式中,《为TCP Veno在判断丢包是随机丢包时所减小到的速率和原来速率 的比例,《为TCP Veno在判断丢包是拥塞丟包时所减小到的速率和原来速率的 比例,5"Mi 7T为传输过程中最小的及7T,『max =65535/S, S为数据包的大小, |3为TCP Veno中使用的常数,通常取3。
全文摘要
本发明涉及一种同时适用于有线和无线网络的实时流媒体传输协议的方法,其特征在于有以下步骤a.发送端发出TFRC数据包;b.接收端接收TFRC数据包,同时计算前一段时间的丢包率p,c.接收端将丢包率p的信息通过ACK包返回给发送端,每收到b个TFRC数据包返回一个ACK包;d.发送端收到ACK包后,TFRC根据Veno公式计算出新的发送速率T<sub>calc</sub>。采用本发明方法,使TFRCVeno具有在无线网络和有线网络良好的传输性能,在大幅度提高TFRC在无线网络中的性能同时,又保证了TFRC的公平性和对其他TCP传输的友好性,并且有简单快捷,成本低的优点。
文档编号H04L29/06GK101557273SQ20081006955
公开日2009年10月14日 申请日期2008年4月11日 优先权日2008年4月11日
发明者傅承鹏, 斌 周, 李安国 申请人:傅承鹏
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1