CN101848130A - 一种基于应答驱动的p2p流媒体udp拥塞控制方法 - Google Patents
一种基于应答驱动的p2p流媒体udp拥塞控制方法 Download PDFInfo
- Publication number
- CN101848130A CN101848130A CN200910106319A CN200910106319A CN101848130A CN 101848130 A CN101848130 A CN 101848130A CN 200910106319 A CN200910106319 A CN 200910106319A CN 200910106319 A CN200910106319 A CN 200910106319A CN 101848130 A CN101848130 A CN 101848130A
- Authority
- CN
- China
- Prior art keywords
- rtt
- stp
- requesting party
- request package
- sends
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本方法针对目前P2P应用中UDP传输的拥塞控制相对复杂和代价高等问题,结合UDP传输本身的特点和P2P系统的特点,提出了在P2P系统中由接收方控制、发送方响应的拥塞控制策略。该方法根据当前网络往还时间RTT的变化动态地调整请求包的发包间隔STP,通过STP的动态调整实现端到端的拥塞控制,并在满足拥塞控制的条件下使P2P数据包传输率最大化。
Description
技术领域
本发明设计是一种在P2P系统中使用UDP传输流媒体的UDP拥塞控制方法。
技术背景
对等计算(Peer-to-Peer,简称P2P)迅速成为当前计算机界关注的热门话题之一,在P2P网络中的每一个Peer既是资源(服务和内容)提供者(也即服务器),又是资源获取者(也即客户端)。在其概念提出以来,各种应用迅猛发展,目前P2P应用已经成为互联网的主要应用之一,P2P的模式也成为许多新型业务的首选模式。P2P技术被广泛应用于文件共享、网络视频、网络电话等领域,利用其分布式资源共享和并行传输的特点,为用户提供了更多的资源、更高的可用带宽以及更好的服务质量。P2P节点不依赖中心节点而是依靠网络边缘节点,实现自组织与对等协作的资源发现和共享,因此拥有自组织、可扩展性、鲁棒性、容错性以及负载均衡等优点。
但是P2P的发展也遇到了一些阻碍,其中之一就是:近年来随着互联网的快速发展和中国网名的数量的快速增加,IPv4网络地址已经无法满足网络规模扩张的需要,于是越来越多的用户使用局域网的私有IP地址上网,因此就需要用到网络地址转换网关(NAT),这样就给P2P通信的之间的连接带来一些不便,尤其是基于TCP(Transmission Control Protocol)连接的P2P连接方法。鉴于此,P2P的传输大多采用UDP(User Datagram protocol)方式。通过这种方法,两个局域网中的私有IP地址通过NAT以后就可能建立起基于UDP的通信了。
不同于TCP,UDP是无连接的不可靠的传输方式,UDP协议在由IP地址所表示的网络阶段处提供最小的应用性多路复用,但是它并不具有流量控制和拥塞控制。处于拥塞状态时(如图三),UDP数据包大量丢失,同时接收端无法得知网络拥塞,还会不断地给对方发送数据包,造成网络传输性能的下降。
目前对于UDP的拥塞控制方法,大多是照搬TCP中相应方法,即使用滑动窗口机制,超时重传和确认机制等,使得UDP变得和TCP一样笨重,虽然使得UDP变得可靠了,但同时系统代价高,实现复杂,也失去了UDP代价低,简单,实时性好的优点,而且对于一些特殊的应用,比如流媒体不需要非常可靠的服务质量(QoS)保证,允许一定的丢包率。对于流失的数据包,可以采用根据丢包的数量和根据流媒体传输的质量要求选择进行重传或者容忍丢包不进行重传的策略。
而且目前的方法大多是发送端和接收端都进行流量控制和拥塞控制,但是在P2P系统中,我们总是希望把更多的事情放在请求方处理,而让发送方能够为更多的用户提供服务,而目前的这些UDP流量控制和拥塞控制在发送方和接收方同时进行,显然和P2P的这一初衷相违背。
发明内容
针对以上问题,本发明提供了一种基于应答驱动的P2P网络中UDP拥塞控制方法。在P2P流媒体系统中(如图一),多媒体文件一般被分成大小相等的很小(如2kB)的UDP传输块,本方法采用基于应答驱动的方式,也就是请求方(也即接收方,假设为A)发送请求包给发送方(假设为B),请求包中包含要请求的若干个数据块的块号,发送方接收到请求包后,把这些数据发送给请求方。在这个过程中,只有请求方提出请求,发送方才会给予响应,因此是请求方驱动的。本方法在请求方发送UDP请求包的速率,而发送方接收到请求包后只是简单的处理后发送所请求的UDP数据包,同时接收方根据接收到数据包的情况,估计网络状态,调整发包速率,进而达到拥塞控制的目的,并使系统满足拥塞控制的情况下,在接收方和发送方所能承受的范围内使带宽利用率最大化(如图二)。它包括请求方(即接收方)的控制策略和发送端的响应方式。
所述方案中请求方的控制策略如下:
(1)请求方根据请求包发送间隔STP向发送方发送UDP请求包(UDP请求包:包中有请求方需要的数据包的序号,是用来请求对方给自己发送若干个UDP数据包的数据包);
(2)发送方接收到请求包后根据自身的UDP数据包发包间隔STP(Silence Time Period,以毫秒ms做单位)发送UDP请求包;
(3)请求方接收到发送方的UDP数据包以后,根据最新获得的数据包往返时间RTT(Round Trip Time,以毫秒ms为单位)等信息,预测当前RTT(即RTTpc)并根据RTTpc和最小RTT(即RTTmin)即前一个预测的RTT(即RTTpp)的关系调整请求包的发送间隔STP。
(6)请求方每次收到发送方的数据包时Lives=Lives+1,发送方定时(如20s)检查Lives的值,如果Lives>0则把Lives置为0,如果Lives=0,则认为该发送发已经离开网络,停止向该发送方发送数据请求,做发送方离开网络的相关处理。
发送方接收到请求方的请求包后响应如下:
(1)每接收到一个请求数据包记录当前时间t0并和前一个请求数据包到达时间t1比较计算出两个请求数据包之间的时间间隔Δt;根据Δt和请求发送数据包的数量n,更新自身STP.
上述发明方案中,请求方A拥有关于发送方B的如下6个属性:STP,Lives,RTTmin,RTTpp,RTTpc,RTTm。
其中RTTm是刚检测到的网络往还时间RTT,RTTpp是上一次预测的RTT,RTTmin是最小的网络往还时间,开始传输UDP数据包之前,请求方发送一个检测包,发送方接收到以后返回,请求方接收到返回结果后计算出RTTmin,每次更新RTT是更新该值。RTTpc是根据RTTpp,RTTm预测的当前RTT,根据RTTpp,RTTm预测RTTpc的方法是RTTpc=RTTpp×0.125+RTTm×0.875,每次更新RTT后RTTpp=RTTpc。
Lives初始值为某一固定值为1,定时(如20s)检查一次,如果不为0,则置为0,如果为0,则认为该用户已经离开网络,做该用户离开网络的相关处理。
上述发明的技术方案中,对所述对UDP传输速率是根据请求包的发包速度STP调整,而STP又根据请求方请求包的RTTpp进行调整,方法如下:
a)系统首先进入启动阶段,在该阶段每次更新RTT时,首先检测到RTTm,然后预测RTTpc,如果RTTpc-RTTmin<RTTmin×4.5%则STP=STP/2;如果RTTpc-RTTmin>RTTmin×9.5%则STP=STP×2,然后进入平稳工作阶段;
b)平稳工作阶段通过RTT调整STP的策略:
(1)如果RTTpc-RTTmin<RTTmin×4.5%,则请求包发送速率增加1KBps也即STP=1000STP/(1000+STP)
(2)如果RTTpc-RTTmin>RTTmin×9.5%,则STP=STP×2
(3)否则STP保持不变。
本发明由于采用了以上技术方案,具有以下优点:(1)系统通过控制请求方发送请求包的策略来达到控制端到端的流量和拥塞控制的目的,代价小,保持了UDP包简单,轻量级,快速的优点,同时又具有流量控制和拥塞控制的功能。(2)系统动态的根据网络状况通过控制请求方向发送方发送请求包的发送速率达到控制了发送包发包的速率目的,从而可以动态地适应网络的波动;(3)控制策略只在请求方执行,即可达到流量控制和拥塞控制的目的,可以最大化发送方的服务能力,使其为更多的请求方提供服务。(3)本方案中,通过RTT相关属性的动态的调整,总是试图让网络在接近满负荷的状态下工作,从而使传输率整体上最大化。(4)本方案中,请求方可以通过发送方的响应信息感知网络状态,进行相应处理,从而可以实现拥塞控制的目的。
附图说明
图1是P2P系统中流媒体文件切片示意图
图2是理想的请求方和发送方的UDP传输示意图
图3是实际网络发生拥塞时的示意图
图4是拥塞控制流程图
具体实施方式
鉴于前述的技术背景,本发明提供一种用于在使用UDP协议传输流媒体的P2P网络中的端到端的拥塞的控制方法。
下面对本发明的拥塞控制方法进行详细说明:
如图三所示,本发明通过对请求方发送请求包的速度的控制和发送方的响应方式实现P2P系统中UDP协议下的端到端的拥塞控制。
发送方的响应策略如下:
发送方每接收到一个请求数据包记录当前时间即其达到时间tx+1并和前一个请求数据包到达时间tx比较计算出两个请求数据包之间的时间间隔Δt(Δt=tx+1-tx);根据Δt和请求发送数据包的数量n,计算出当前发包间隔STP,公式为:STP=Δt/n如果STP>500ms则STP=500ms.接着首先发送第一包然后每间隔一个STP依次向请求方发送其所请求的余下的UDP数据包。
如图四所示请求方的控制策略策略如下:
(1)请求方根据请求包发送间隔STP向发送方发送UDP请求包;
(2)请求方A取得当前发包时刻tn和上一次发包时刻tp,计算Δt=tp-tn,如果Δt>STP则向发送方B发送UDP请求包,否则等待Δt时间后发送该请求包,同时置tp=tn;
(3)每当请求方A接收到发送发的UDP数据包的时候Lives=Lives+1;
(4)定期(如20s)检查Lives的值,如果Lives>0则Lives=0;如果Lives=0;认为发送方B已经离开网络,做发送方离开网络的相关处理;
(5)请求方A定期(如5S)检测RTT方法如下:当向发送方B发送请求包的时候(假设该包请求编号从Nx到Nx+4的数据包)记录下发送时刻tm;请求方A接收到的发送方B发来的请求包第一个Nx到Nx+4的数据包时记录当前时刻tn,计算RTTm=tn-tm据此更新RTTmin,RTTmin,RTTpp,RTTpc,和STP。
本发明中根据RTT的变化调整STP的策略如下:
上述发明的技术方案中,对所述对UDP传输速率是根据请求包的发包速度STP调整,而STP又根据请求方请求包的RTTpp进行调整,方法如下:
a)系统首先进入启动阶段,在该阶段每次更新RTT时,首先检测到RTTm,然后预测RTTpc,如果RTTpc-RTTmin<RTTmin×4.5%则STP=STP/2;如果RTTpc-RTTmin>RTTmin×9.5%则STP=STP×2,然后进入平稳工作阶段;
b)平稳工作阶段通过RTT调整STP的策略:
(1)如果RTTpc-RTTmin<RTTmin×4.5%,则发送速率增加4KBps,则STP=1000STP/(1000+STP)
(2)如果RTTpc-RTTmin>RTTmin×9.5%,则STP=STP×2
(3)否则STP保持不变。
Claims (8)
1.一种实现P2P流媒体系统中的UDP传输拥塞控制方法,它包括对请求方的控制策略和发送方的响应方式来实现P2P系统中UDP协议下的端到端的拥塞控制方法:
所述对请求方的控制策略如下:
所述控制策略通过请求方监测网络状态,驱动发包速率调整,实现拥塞控制和带宽充分利用。
其控制数据包发送速率的基本步骤包括:
A.请求方的控制策略:
(1)请求方发送请求包;
(2)发送方接收到请求包后发送数据包;
(3)请求方根据数据包的接收情况预测当前网络往还时间RTT;
(4)触发请求包的发包间隔STP的更新;
(5)更新请求包发送间隔STP。
B.发送方的响应策略
发送方接收到请求方的请求包后,通过记录两次接收到请求包的时刻得出中间时差Δt,并根据请求包中所请求的数据包的数量N,计算出数据包的发送间隔为STP=Δt/N,按照这个发送间隔依次发送请求方请求的数据包。
2.如权利要求1所述的对请求方控制策略,其特征在于:请求方拥有关于发送方的如下8个属性,STP,RTTmin,RTTpp,RTTpc,RTTm。
3.如权利要求1所述的对请求方控制策略,其特征在于:请求方向发送方发送的请求包中包含若干个其所想得到的数据包序号。
4.如权利要求2所述的对请求方的控制策略,其特征在于:请求方向发送方发送的请求包中包含若干个其所想得到的数据包序号。
5.如权利要求1或2或3所述的请求方控制策略,其特征在于:请求方对于当前RTT的预测方法是RTTpc=RTTpp×0.125+RTTm×0.875。
6.如权利要求1或2或3所述的请求方控制策略,其特征在于:对于请求方发送请求包的速率更新是通过发送调整间隔STP实现的:
a)启动阶段通过RTT调整STP的策略:
(1)首先检测到RTTm;
(2)然后预测RTTpc;
(3)如果RTTpc-RTTmin<RTTmin×4.5%则STP=STP/2;如果RTTpc-RTTmin>RTTmin×9.5%则STP=STP×2,然后进入平稳工作阶段;
b)平稳工作阶段通过RTT调整STP的策略:
(1)首先检测到RTTm;
(2)然后预测RTTpc;
(3)如果RTTpc-RTTmin<RTTmin×4.5%,则请求包发送速率增加1KBps,则STP=1000STP/(1000+STP);如果RTTpc-RTTmin>RTTmin×9.5%,则STP=STP×2;否则STP保持不变。
7.如权利要求5所述的请求方控制策略,其特征在于:对于请求方发送请求包的速率更新是通过发送调整间隔STP实现的:
a)启动阶段通过RTT调整STP的策略,
(1)首先检测到RTTm;
(2)然后预测RTTpc;
(3)如果RTTpc-RTTmin<RTTmin×4.5%则STP=STP/2;如果RTTpc-RTTmin>RTTmin×9.5%则STP=STP×2,然后进入平稳工作阶段;
b)平稳工作阶段通过RTT调整STP的策略:
(1)首先检测到RTTm;
(2)然后预测RTTpc;
(3)如果RTTpc-RTTmin<RTTmin×4.5%,则请求包发送速率增加1KBps,则STP=1000STP/(1000+STP);如果RTTpc-RTTmin>RTTmin×9%,则STP=STP×2;否则STP保持不变。
8.如权利要求1或2或3所述的请求方控制策略,其特征在于:对所述发送速率的更新是通过调整数据包发送间隔STP来实现,发送时机选择通过RTT触发:
对所述对UDP传输速率是根据请求包的发包速度STP调整,而STP又根据请求方请求包的RTTpp进行调整,方法如下:
a)系统首先进入启动阶段,在该阶段每次更新RTT时,首先检测到RTTm,然后预测RTTpc,如果RTTpc-RTTmin<RTTmin×4.5%则STP=STP/2;如果RTTpc-RTTmin>RTTmin×9.5%则STP=STP×2,然后进入平稳工作阶段;
b)平稳工作阶段通过RTT调整STP的策略:
(1)如果RTTpc-RTTmin<RTTmin×4.5%,则发送速率增加4KBps,则STP=1000STP/(1000+STP);
(2)如果RTTpc-RTTmin>RTTmin×9%,则STP=STP×2;
(3)否则STP保持不变。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910106319A CN101848130A (zh) | 2009-03-27 | 2009-03-27 | 一种基于应答驱动的p2p流媒体udp拥塞控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910106319A CN101848130A (zh) | 2009-03-27 | 2009-03-27 | 一种基于应答驱动的p2p流媒体udp拥塞控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101848130A true CN101848130A (zh) | 2010-09-29 |
Family
ID=42772595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910106319A Pending CN101848130A (zh) | 2009-03-27 | 2009-03-27 | 一种基于应答驱动的p2p流媒体udp拥塞控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101848130A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103546824A (zh) * | 2013-10-25 | 2014-01-29 | 中国科学院声学研究所 | 流媒体发送速率的控制方法和装置 |
CN107820274A (zh) * | 2017-10-18 | 2018-03-20 | 中国联合网络通信集团有限公司 | 一种移动网络udp业务拥塞处理方法及基站 |
CN108494698A (zh) * | 2017-12-13 | 2018-09-04 | 天津天地伟业机器人技术有限公司 | 一种基于传输速率的拥塞控制方法 |
CN110572240A (zh) * | 2019-08-12 | 2019-12-13 | 武汉大学 | 一种不稳定网络下可靠数据通信方法 |
CN111225243A (zh) * | 2020-01-20 | 2020-06-02 | 中南大学 | 一种视频块调度方法及系统 |
CN112134809A (zh) * | 2020-09-16 | 2020-12-25 | 山东云海国创云计算装备产业创新中心有限公司 | 一种流量控制方法、装置、设备及可读存储介质 |
CN118018491A (zh) * | 2024-02-01 | 2024-05-10 | 北京火山引擎科技有限公司 | 基于dpu的数据传输速率的控制方法、装置及数据处理器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1341350A1 (en) * | 2002-02-15 | 2003-09-03 | Sony International (Europe) GmbH | A method for congestion detection for IP flows over a wireless network |
CN101110767A (zh) * | 2007-04-26 | 2008-01-23 | 北京畅讯信通科技有限公司 | 非对称和多并发网络的加速方法 |
CN101170506A (zh) * | 2007-12-06 | 2008-04-30 | 北京广视通达网络技术有限公司 | 一种基于应答驱动的p2p流媒体数据调度方法 |
CN101184052A (zh) * | 2007-12-25 | 2008-05-21 | 北京广视通达网络技术有限公司 | 一种实现可靠udp传输的拥塞控制方法 |
-
2009
- 2009-03-27 CN CN200910106319A patent/CN101848130A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1341350A1 (en) * | 2002-02-15 | 2003-09-03 | Sony International (Europe) GmbH | A method for congestion detection for IP flows over a wireless network |
CN101110767A (zh) * | 2007-04-26 | 2008-01-23 | 北京畅讯信通科技有限公司 | 非对称和多并发网络的加速方法 |
CN101170506A (zh) * | 2007-12-06 | 2008-04-30 | 北京广视通达网络技术有限公司 | 一种基于应答驱动的p2p流媒体数据调度方法 |
CN101184052A (zh) * | 2007-12-25 | 2008-05-21 | 北京广视通达网络技术有限公司 | 一种实现可靠udp传输的拥塞控制方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103546824A (zh) * | 2013-10-25 | 2014-01-29 | 中国科学院声学研究所 | 流媒体发送速率的控制方法和装置 |
CN107820274A (zh) * | 2017-10-18 | 2018-03-20 | 中国联合网络通信集团有限公司 | 一种移动网络udp业务拥塞处理方法及基站 |
CN107820274B (zh) * | 2017-10-18 | 2021-04-06 | 中国联合网络通信集团有限公司 | 一种移动网络udp业务拥塞处理方法及基站 |
CN108494698A (zh) * | 2017-12-13 | 2018-09-04 | 天津天地伟业机器人技术有限公司 | 一种基于传输速率的拥塞控制方法 |
CN110572240A (zh) * | 2019-08-12 | 2019-12-13 | 武汉大学 | 一种不稳定网络下可靠数据通信方法 |
CN111225243A (zh) * | 2020-01-20 | 2020-06-02 | 中南大学 | 一种视频块调度方法及系统 |
CN111225243B (zh) * | 2020-01-20 | 2021-02-02 | 中南大学 | 一种视频块调度方法及系统 |
CN112134809A (zh) * | 2020-09-16 | 2020-12-25 | 山东云海国创云计算装备产业创新中心有限公司 | 一种流量控制方法、装置、设备及可读存储介质 |
CN112134809B (zh) * | 2020-09-16 | 2024-04-23 | 山东云海国创云计算装备产业创新中心有限公司 | 一种流量控制方法、装置、设备及可读存储介质 |
CN118018491A (zh) * | 2024-02-01 | 2024-05-10 | 北京火山引擎科技有限公司 | 基于dpu的数据传输速率的控制方法、装置及数据处理器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Habib et al. | The past, present, and future of transport-layer multipath | |
US8341283B2 (en) | Method and system for peer-to-peer content dissemination | |
CN101848130A (zh) | 一种基于应答驱动的p2p流媒体udp拥塞控制方法 | |
Xu et al. | Congestion control design for multipath transport protocols: A survey | |
Magharei et al. | ISP-friendly live P2P streaming | |
Shojafar et al. | FLAPS: bandwidth and delay-efficient distributed data searching in Fog-supported P2P content delivery networks | |
EP2989800B1 (en) | Data communication system and method | |
US9413797B2 (en) | Data communication system and method | |
WO2007121611A1 (fr) | Procédé et dispositif de transmission de contenu dans un réseau poste à poste | |
Jain et al. | Congestion control in Internet of Things: Classification, challenges, and future directions | |
Tomar et al. | Cmt-sctp and mptcp multipath transport protocols: A comprehensive review | |
Aljubayri et al. | Reduce delay of multipath TCP in IoT networks | |
CN113259365B (zh) | 一种窄带弱连接自适应服务框架装置及服务调用方法 | |
Johar et al. | Analyzing sharing in peer-to-peer networks under various congestion measures | |
Seenivasan et al. | CStream: neighborhood bandwidth aggregation for better video streaming | |
Kim et al. | PRISM: Improving the performance of inverse-multiplexed TCP in wireless networks | |
Zhong et al. | A rate-based multipath-aware congestion control mechanism in named data networking | |
Rajput et al. | NS-2-based analysis of stream control and datagram congestion control with traditional transmission control protocol | |
Lai | TCP-friendly congestion control to guarantee smoothness by Slack Term | |
Hefeida et al. | Context modeling in collaborative sensor network applications | |
Gazdar et al. | Toward a full peer to peer MPEG-DASH compliant streaming system | |
Janneteau et al. | Context-aware multiparty networking | |
Richerzhagen | Supporting transitions in peer-to-peer video streaming | |
ur Rahman et al. | Quality Adaptation Algorithm for Streaming over CoAP | |
Hisamatsu et al. | Network Friendly Transmission Control for Progressive Download over TCP. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20100929 |