作 者:刘雅宁 王洪波 程时端
其中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.2P2P流和Web流的集成模型
将这两种数学模型和在瓶颈路由器随机早期丢弃算法(RED)上的排队模型结合起来,可以得到n个P2P流和m 个Web流的集成模型。本文的网络环境是拥塞的瓶颈链路,因此从稳态角度来看网络的瓶颈路由器总是处于繁忙状态,即n个P2P流和m个Web流的吞吐量之和等于瓶颈点的容量u。
u≈n×B(p)P2P +m×B (p )Web (8)
TCP的平均往返时间等于路径的传播时间与在瓶颈路由器的排队时间之和。仅考虑在瓶颈路由器中流的转发策略是一样的情况,即P2P流和Web流的排队等待时间是一致的,均为Twait。设两个流的路径传播时间分别为τP 2P 和τWeb 。可得二者的平均往返时间:
RTTP2P=τP2P +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则在
(2500,8000)范围内变化。所得结果分别见图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业务的影响。