基金项目:国家自然科学基金资助项目(No.90604019、No.60502037、No.60603060); 国家重点基础研究发展规划项目(973计划)(No.2003CB314806)
P2P技术和应用是目前Internet的一个研究热点。P2P应用正逐渐成为下一代互联网的杀手级应用,P2P流量已经逐步取代了HTTP流量成为Internet流量的主体,占Internet中总流量的60%~70%,占最后一公里接入网流量的80%[1]。
与传统的基于客户端/服务器(C/S)、浏览器/服务器(B/S)架构的Internet应用(简称传统Internet业务)相比较,P2P业务挖掘了PC终端的空闲的强大计算能力,采用了应用层的拓扑管理、快速的节点查找服务、多点同时下载和上传的快速传输机制,能够为客户提供更便捷、更快速的服务。其提供的分布式网络结构能有效均衡负载,充分利用带宽,实现信息资源的最大化共享,但同时大大增加了网络流量,抢占瓶颈链路的大部分带宽,从而导致网络技术服务商(ISP)网络(尤其是接入网)性能下降,发生拥塞。P2P业务给Internet宽带时代带来了生机和希望,使ISP看到了新的业务增长点,但同时使得网络运营商对网络应用的掌控能力进一步下降。
针对蓬勃发展的P2P业务带来的一系列问题,需要透彻地了解P2P技术的特点,深入理解P2P流量具有网络资源侵略性的根本所在。从网络角度看,基于P2P技术的多连接特性,通过量化和分析P2P业务对传统的Internet业务的影响,ISP能够在网络瓶颈点对P2P连接数进行调整和优化,从而有效地实现P2P流量控制;从P2P用户角度出发,可以根据网络当前状况主动实现P2P流量的拥塞控制,从而使得P2P业务与Internet网络、ISP以及传统的Internet业务友好相容。
1 P2P业务流量特性分析
1.1 P2P业务流量特性
P2P技术采用分布式对等网络体系,通过在各个节点之间建立多个TCP连接来实现分布式的数据传输,提高了吞吐量和网络利用率,优化了业务流量性能,实现了流量的分布化。本文分别从P2P流数量、服务器负载、网络瓶颈点分布、往返时间(RTT)的异构分布等方面分析了P2P业务流量特性。
(1) 从流量数来看
P2P业务为了提高数据获取速率,通常并发启用多个TCP连接同时从多个P2P节点进行双向数据传输。当P2P应用和传统基于单TCP应用(大部分基于C/S、B/S架构的应用)竞争时,P2P应用将占据绝对优势。因此当P2P应用建立的TCP连接愈多,其占用的网络资源也愈多。当网络瓶颈点发生拥塞时,由于TCP拥塞控制机制使得各TCP流之间能够较为公平的共享瓶颈带宽,但采用多个TCP连接的P2P流量会使采用单个TCP连接的传统的Internet应用退避更多,从而相对单个TCP连接得到的吞吐量高得多,使其具有非常强大的带宽资源侵略性。
(2) 从服务器负载来看
在P2P网络中,各P2P节点之间直接进行数据和服务交换,从而打破了传统的C/S模式,弱化了服务器的作用,甚至取消服务器。在P2P网络中,每个节点的地位是对等的,具备客户端和服务器双重特性,可以同时作为服务使用者和服务提供者。使得数据存储模式由“内容位于中心”模式转变为“内容位于边缘”模式,改变Internet现在的以大网站为中心的资源集中状态,重返“非中心化”,使信息数量、成本资源都向互联网各端点均匀分布。消除了C/S模式的网络中因负载繁重的服务器引起的服务瓶颈问题。
(3) 从网络瓶颈点分布来看
在传统的C/S架构中,客户端和服务器之间仅存在一条路径,因此具有共同的网络瓶颈点。对于多连接C/S应用,这些连接将在共有的网络瓶颈点相互影响,相互干扰,其总吞吐量受到网络瓶颈点剩余带宽的限制。瓶颈路由器会将这些同源同目的的流作为同质的流聚合为一条流进行转发,因此其吞吐量受到严重限制。
P2P用户同时和多个节点进行数据交换和传输,每个节点之间存在不同的路径,因此网络瓶颈点的单一性转变为分布性,消除了P2P流之间的相互干扰,提高了P2P流的总吞吐量,从而能够更好地利用网络资源,提高网络利用率。
(4) 从RTT的异构分布来看
TCP机制对于不同RTT流存在不公平性,RTT较小的连接将得到更高的吞吐量。在传统的C/S架构中,客户端和服务器之间仅存在一条路径,即使有多个连接,其传播时延也是确定的,当网络拥塞时,流将在网络瓶颈点排队,导致RTT增大,从而降低了流的吞吐量。而P2P用户和节点之间存在多条路径,每条路径存在不同的传播时延。RTT小的流会尽其最大能力传输数据,从而提高P2P流的总吞吐量。如果某个网络瓶颈点发生拥塞,导致RTT增大,P2P用户可以去选择从性能更好的节点取得数据。因此P2P机制将具有更大的灵活性和高效性。
1.2 P2P文件共享业务和P2P流媒体业务比较分析
P2P文件共享业务通常并发启用多个TCP连接同时从多个P2P节点进行双向数据传输。目前P2P文件共享业务数据主要包括大的数据文件、影音文件等,P2P用户并不在意业务的实时性、时效性以及最低可接受带宽,通常几小时、几天甚至几周长时间地任其传输。
在基于P2P结构的视频组播系统中,只有少数节点从服务器直接获取数据,更多的节点一方面从其它节点处获得数据,一方面也向其它节点提供数据。整个系统的体系结构为树状结构或者网状结构。这种以对等方式构建的视频组播系统充分利用了系统中节点的能力、节点之间的可用带宽,在接受服务的同时向其他节点提供服务,从而使系统的可扩展性大为提高。基于结构的P2P流媒体系统,其视频服务器和应用层组播节点有策略地放置于Internet网络中,例如组播树流媒体系统[2]。这种集中式的算法非常有效,但对于功能强大的根节点的具有强依赖性,树结构中节点的离开或崩溃,将严重影响后代节点[3]。数据驱动的P2P流媒体系统[3-4]一般采用Gossip机制进行节点管理和频道发现等。一般采用TCP协议作为P2P流媒体传输。Coolstreaming[3]和PPlive[4]是基于数据块(Chunk)的P2P流媒体系统中的典型范例,均采用TCP协议作为P2P流媒体传输。P2P流媒体用户与各个节点建立多个TCP连接,优先获取当前需要播放的视频文件Chunk,以保证视频回放的连续性和实时性。很多研究[5-7]通过修改和完善BitTorrent协议来使其支持流媒体传输,修改了BitTorrent协议中的Rarest-first下载策略,采用优先下载最近要回放的Piece;或修改Tit-for-tat的邻居选择策略,采用邻居的随机选择机制,在数据传输过程中才启用Tit-for-tat策略来防止搭便车行为。
P2P文件共享系统和P2P流媒体系统在数据传输过程中呈现出许多不同的特性:
2 P2P流量对Web业务流量的影响分析
2.1 P2P流量对Internet的影响
相对于传统的Internet网络,P2P业务是通过在各个节点之间建立多个TCP连接来实现分布式的数据传输,提高了吞吐量和网络利用率,优化了业务流量性能,实现了流量的分布化。从原来C/S架构造成的负载繁重的服务器中解脱出来,通过访问与其之间网络性能更好的节点来实现相应业务,消除了因服务器性能问题而产生的服务瓶颈。
由于电信运营商是根据传统的C/S架构制定建网原则:骨干网络采用高带宽,接入网络采用低带宽,如图1所示。而P2P技术的传输特性及其带宽侵略性根本性地改变了网络中的流量大小及流量分布,导致接入网络或部分骨干网络产生了严重拥塞,甚至于崩溃,因此原有的网络架构已不再适应现有Internet流量结构。
相对于传统的Internet应用,P2P业务为了提高数据获取速率,通常并发启用多个TCP连接同时从多个P2P节点进行双向数据传输。当P2P应用和传统基于单TCP应用(大部分基于C/S、B/S架构的应用)竞争时,P2P应用将占据绝对优势。因为在互联网的尽力而为机制下,各个流获得的吞吐量近似与发送速率成正比,因此一个应用建立的TCP连接愈多,这个应用占用的网络资源也愈多,从而使得基于单TCP应用的性能将严重恶化。
相对于ISP和非P2P用户,P2P流量消耗了巨大的网络带宽,使网络拥塞,增加了运营成本,网络基础设施不堪重负。P2P流量影响了传统Internet业务的性能。从而对于使用传统Internet业务的非P2P用户,其所能享用的服务性能严重下降,甚至于服务不可用,导致用户投诉和退网,使得ISP维护成本增大甚至于流失大量客户。P2P流量增加了网络运营成本,引起了非P2P用户的不满,且仍未给ISP带来新的利润,其已成为ISP最头疼的难题之一。
2.2 P2P流和Web流的集成模型
各大电信运营商为了缓和P2P流量对网络的影响,从网络的角度出发,通过P2P业务识别和控制手段来实现对P2P流量的封杀和限速。采用的主要P2P控制手段是通过各种方式如随机丢包或拆TCP连接等,采用不同的策略如总速率限制或上行控制等,在网络测量点对P2P流量限速。只有深入理解P2P技术具有带宽侵略性的根本原因,了解P2P流量对传统Internet流量的影响以及基于TCP机制的P2P流和传统Internet流之间的业务比例关系,才能更有效地增强P2P流量的友好性和可控性,使其更好地融合到传统的Internet网络中来。
根据P2P技术的特性,本文提出一种P2P流量和Web业务流量的混合传输性能模型,量化分析P2P流对Web流的影响。量化的结果将为网络运营商进行P2P流量控制、优化网络瓶颈点P2P连接数提供依据,为P2P应用软件调整其与各节点之间的连接数提供参考,以优化和控制P2P流量并使其更好地融合到Internet网络和传统的Internet应用中,最终使电信运营商、内容提供商以及Internet用户利益最大化,实现三方共赢的局面。
2.2.1 P2P流量模型和Web流量模型
TCP流的吞吐量模型[9]是作为丢包率和RTT函数的TCP稳态吞吐量模型,可以较精确地预测TCP流稳态情况下的吞吐量,此公式考虑了3次重复的ACK和重传超时(TO)两种丢包原因。其公式为:
p为瓶颈链路上的丢包率;RTTP 2P 为P2P流的往返时间;T0为初始超时值;b为接收到一次应答所确认的分组数。
Web流数据传输的总延迟Latency(即Web传输时间)包括连接建立时间Ttwks、慢启动时间Tss、出现分组丢包Tloss和剩余数据传输时间Trest。根据文献[10-11]中的Short-lived TCP模型,可得Short-lived TCP各阶段所需的时间。根据文献[10],可得:
其中g,C 1,E [dss],Q ss,ZTO以及E [nt]的计算公式请参考文献[10-11]。
综合公式(2)(3)(4)(5)以及因分组丢包而使ACK延迟的时间Tdelay (BSD环境为100 ms,Windows环境为150 ms),可得Web流的总的传输时间TLatency:
由此可得:
2.2.2 P2P流和Web流的集成模型
将这两种数学模型和在瓶颈路由器随机早期丢弃算法(RED)上的排队模型结合起来,可以得到n个P2P流和m 个Web流的集成模型。本文的网络环境是拥塞的瓶颈链路,因此从稳态角度来看网络的瓶颈路由器总是处于繁忙状态,即n个P2P流和m个Web流的吞吐量之和等于瓶颈点的容量u。
u≈n×B (p )P 2P +m×B (p )Web (8)
TCP的平均往返时间等于路径的传播时间与在瓶颈路由器的排队时间之和。仅考虑在瓶颈路由器中流的转发策略是一样的情况,即P2P流和Web流的排队等待时间是一致的,均为Twait。设两个流的路径传播时间分别为τP 2P 和τWeb 。可得二者的平均往返时间:
RTTP 2P =τP 2P +Twait ;
RTTWeb =τWeb +Twait (9)
本文在瓶颈路由器上采用RED算法[12]。根据RED的基本思想,可得:
其中B为路由器的缓存大小,而qmin、qmax以及Pmax为RED的控制参数。
至此,结合公式(1) (6) (7)(8) (11)可以得到B( p )P 2P、( p )Web、Tlatency、RTTP 2P和RTTWeb。
2.3 模型分析及仿真验证
为了验证所得到的集成模型的有效性,本文用Matlab对集成模型作了数学计算,用NS2实现相应的仿真,并对两个结果作了比较和分析。
仿真主要考虑了瓶颈带宽分别为1 Mb/s、10 Mb/s和100 Mb/s的用户接入网络环境,且仅存在一个瓶颈点。图2为仿真的拓扑图,左边为用户接入网,L为瓶颈链路。Web业务是由接入网内的客户端向Web服务器 Web Server 2i和Web Server3i发起的;根据图2中所示,P2P业务为接入网内Host和Peer 2i或Peer 3i之间实现的大量双向数据传输的文件传输协议(FTP)业务。本文考虑的是同一国家范围内两节点之间的路径,根据光的传播速度和两节点的平均距离,设置τP2P和τWeb均为20 ms,平均分组大小为500 bytes;采用了延迟确认机制,即TCP接收端每收到两个数据包发送一个ACK确认包;RED网关的控制参数的设置参考了文献[13]。
整个仿真过程中始终存在n个连接的P2P业务,在某一时刻触发m个Web业务,待d=10 Kbytes大小的Web页传送完毕后,记录下开始和结束的时间差作为Web传输时间,并与Matlab计算所得结果作比较和分析。在第一组仿真实验中,本文按照n个P2P流和1个Web流的比例,将最终结果和Matlab结果进行比较以验证集成模型的有效性,并根据得到的结果确定P2P连接数的上限值;将第二组实验分为3部分:第一部分是当瓶颈带宽为1 Mb/s,P2P和Web总连接数为50的仿真环境;第二部分是当瓶颈带宽为10 Mb/s,总连接数为600的仿真环境;第三部分为100 Mb/s瓶颈带宽,总连接数为5 000的仿真环境。从这组实验中可以看到随着P2P流量比例的增大,Web性能随之恶化;在第三组实验中设定了几种P2P和Web比例n :m,随着连接总数变化时,比较这几种比例情况下的Web传输时间,可以看到P2P业务的比例越大,对Web流量的影响越大。
2.3.1 确定P2P流的最大连接数
通过这组仿真分析了n个P2P流和1个Web流共存时,P2P流对Web流传输时间的影响。分别考虑了瓶颈带宽为1 Mb/s、10 Mb/s和100 Mb/s的情况。3种情况下Web连接数均为m =1,在1 Mb/s瓶颈带宽的仿真和Matlab计算中,P2P连接数n在(0,90)范围内变化;在10 Mb/s瓶颈带宽的仿真环境中,n在(300,650)内变化;在100 Mb/s瓶颈带宽的仿真环境中,n则在
(2 500,8 000)范围内变化。所得结果分别见图3、图4和图5。
从仿真结果中可以看出,仿真和Matlab计算的集成模型的Web传输时间曲线是基本吻合。如果假设Web传输时间的性能较好的阈值为5 s,可得在瓶颈带宽为1 Mb/s时,P2P的最大连接数为22个;在瓶颈带宽为10 Mb/s时,P2P的最大连接数为530个;而在瓶颈带宽为100 Mb/s时,P2P的最大连接数为4 300个。当然这个阈值会随着网络中某个参数的变化而产生相应的变化。如果将Web性能分为不同的等级,根据上述方法和过程,计算可得相应的P2P连接上限值,如表1。
如果在网络瓶颈点存在m个Web流时,为保证这m个Web流的某个性能级别,可确定出P2P流的最大连接数。根据该值来限制和调整网络瓶颈点的P2P连接数,可以缓解P2P流量对其他Internet业务的影响。
2.3.2 Web性能与P2P流和Web流连接数比例的关系
本节分析了u =1 Mb/s、10 Mb/s以及100 Mb/s时,P2P流和Web流的总连接数分别为50、600和5 000个的3种网络环境(在这一数量级上,Web传输时间均在5 s左右)。在总的连接数不变,不断改变P2P流和Web流的连接数比例情况下,进行了NS2仿真和集Matlab计算。
如图6、图7和图8,在u =1 Mb/s, 10 Mb/s, 100 Mb/s时,总连接数不变,P2P流的连接数不断增大时,Web业务的总传输时间不断增大,即Web性能不断降低。从计算和仿真结果来看,如果要保证Web传输时间小于5 s,u 分别为1 Mb/s、 10 Mb/s、100 Mb/s时P2P和Web的连接数比例分别不能大于17:33、225:375和3 000:2 000。从图中可看出仿真结果和集成模型的计算结果基本吻合的。当网络瓶颈点中连接数相对稳定,即总连接数变化不大的情况下,网络运营商可以根据此量化值来调整P2P流量的连接数,从而优化两种流的业务比例关系,改善P2P业务对Web业务的影响。
3 结束语
本文将P2P文件传输流量简化为具有大量连接数、采用双向数据传输以及进行大数据块传输的TCP流,并提出了一种新的P2P流和Web流的集成模型,来量化和分析P2P业务对Internet传统业务(Web业务)的影响。在仿真实验和分析中,验证了集成模型的有效性,并详细描述了集成模型所能解决的问题。通过集成模型,可以得到的量化值包括以下几个方面:当网络瓶颈点存在m 个Web流量时,在保证Web流的某个性能等级的前提下,可得与m 个Web流共存的P2P流的最大连接数。根据集成模型计算的这一理论值来调整和优化网络瓶颈点的P2P连接数,缓解P2P流对Internet网络和其他Internet业务的影响;在网络瓶颈点总连接数相对稳定的情况下,网络运营商可以根据集成模型量化的P2P流和Web流的连接数比例值,来优化两种流的业务比例关系,从而达到优化流量分布的目的。
综上所述,网络运营商在识别出P2P业务后,可以根据实际的网络运行环境以及本文提出的集成模型,量化分析P2P流量对Internet传统业务的影响,在网络瓶颈点进行P2P连接数的调整和优化,从而缓解网络瓶颈点的拥塞状况以及减少对其他Internet业务的影响。同时可为P2P应用软件调整与其节点之间的连接数提供依据,为网络运营商进行P2P流量控制提供参考,以优化和控制P2P流量并使其更好地融合到Internet网络和传统的Internet应用中,最终使电信运营商,内容提供商以及Internet用户利益最大化,实现三方共赢的局面。
4 参考文献
[1] [Cache Logic Research. The true pictures of P2P file sharing [EB/OL]. http://cachelogic.com/research/slide1.php, 2004.
[2] CHU Y, RAO S G, ZHANG H. A case for end system multicast[C]// Proceedings of the 2000 ACM SIGMETRICS International Conference on Measurement and modeling of Computer Systems (SIGMETRICS 2000), Jun 18-21, 2000, Santa Clara, CA,USA. New York, NY, USA: ACM Press. 2000: 1—12.
[3] ZHANG X, LIU J, LI B, et al. DONet/CoolStreaming: A data-driven overlay network for peer-to-peer live media streaming[C]// Proceedings of 24th Annual Joint Conference of the IEEE Computer and Communications Societies(INFOCOM 2005): Vol 3, Mar 13-17, 2005, Miami, FL, USA. Piscataway, NJ, USA: IEEE, 2005: 2102—2111.
[4] PPLive [EB/OL]. http://www.pplive.com.
[5] Vlavianos a, Iliofotou m, Faloutsos m. BiToS: Enhancing BitTorrent for Supporting Streaming Applications[C]// Proceedings of 25th Annual Joint Conference of the IEEE Computer and Communications Societies (INFOCOM 2006), Apr 23-29, 2006, Barcelona, Spain. Piscataway, NJ, USA: IEEE, 2006: 1-6.
[6] Carlsson N, Eager d l. Peer-assisted on-demand streaming of stored media using BitTorrent-like protocols[C]// Proceedings of IFIP/TC6 Networking ,May 14-18,2007,Atlanta, GA, USA. 2007:570-581.
[7] Shah p, P?ris j f. Peer-to-peer multimedia streaming using BitTorrent[C]// Proceedings of Performance, Computing, and Communications Conference (IPCCC 2007), Apr 11-13, 2007, New Orleans, LA, USA. Piscataway, NJ, USA: IEEE, 2007: 340-347.
[8] HEI X, LIANG C, LIANG J,et al. Insights into PPLive: A measurement study of a large-scale P2P IPTV system[C]// Proceedings of Workshop on Internet Protocol TV (IPTV) Services over World Wide Web in Conjunction (WWW2006), May 22-26, 2006,Edinburgh, UK.2006.
[9] Padhye J, Firoiu V, Towsley D F, et al. Modeling TCP throughput: A simple model and its empirical validation[C]// Proceedings of Symposium on Communication Architectures and Protocols (SIGCOMM’88), Aug 16-18, 1988, Stanford, CA, USA. New York, NY, USA:ACM Press, 1988: 303-314.
[10] Savage n s, Anderson t. Modeling TCP latency[C]// Proceedings of the Conference on Computer Communications (IEEE Infocom): Vol 3, Mar 26-30, 2000, Tel Aviv, Israel. Piscataway, NJ, USA: IEEE, 2000: 1742-1751.
[11] Zheng d, Lazarou g y, Hu r. A stochastic model for short-lived TCP flows[C]// Proceedings of IEEE International Conference on Communications (ICC’03): Vol 1, May 11-15, 2003, Anchorage, AK, USA, Piscataway, NJ, USA: IEEE, 2003: 76- 81.
[12] Floyd s, Jacobson v. Random early detection gateways for congestion avoidance[J]. IEEE/ACM Transactions on Networking, 1993, 1(4): 397-413.
[13] Floyd S. RED: Discussions of setting parameters [EB/OL]. http://www.icir.org/floyd/RED/ parameters.txt, 1997.
收稿日期:2007-09-23
[摘要] 近年来各种P2P应用不断出现及演进,P2P应用正逐渐成为下一代互联网的杀手级应用。但同时P2P消耗了Internet的大部分带宽,造成了网络技术服务商(ISP)接入网络的拥塞,从而使传统Internet应用性能受到严重影响。从P2P流数量、服务器负载、网络瓶颈点分布、往返时间(RTT)的异构特性等方面可以看出,P2P流量消耗了巨大的网络带宽,影响了传统Internet业务的性能,增加了运营成本。利用P2P流量和Web流量的集成模型,可以量化分析P2P流对Web流的影响,使网络运营商可以在网络瓶颈点对P2P连接数进行优化和调整,从而有效地控制P2P流量。NS2仿真结果较好地验证了该模型的有效性。
[关键词] P2P; Web业务; P2P文件共享业务,P2P流媒体业务。
[Abstract] Along with the appearance and evolvement of P2P applications, they also gradually become the most important applications of next generation Internet. However, P2P traffic consumes most of Internet bandwidth and causes congestions that Internet service providers (ISPs) have difficulty accessing the network; thus, severely affecting the performance of traditional Internet applications. From the aspects of traffic flow, server load, network bottleneck, peer distribution, and Round Trip Time (RTT) heterogeneous distribution, P2P traffics expend a lot of network bandwidth, affect the performance of traditional Internet services, and increase operational costs. With an integrated model of P2P traffic and Internet traditional traffic (Web traffic), the impact of P2P traffic on Web traffic is quantitatively analyzed; also, network operators can optimize and adjust the P2P traffic at the bottleneck peer. The simulation results by NS2 demonstrate that the integrated model is very accurate and efficient.
[Keywords] P2P; Web service; P2P file-sharing; P2P streaming media service