n 文件发送时正在与源节点通信的其他节点数目 uSi 与某个中间节点的通信信道所分配的上行带宽 u’S 与目标节点的通信信道所分配的上行带宽 源节点S M 需发送文件的大小 di 与源节点的通信信道所分配的下行带宽 ui 与目标节点的通信信道所分配的上行带宽 mi 负责传送的文件块大小 中间节点Pi k 中间节点数量 dD 分配给接收该文件的下行带宽(并不一定是目标节点的下行总带宽) 目标节点D dDi 与某个中间节点的通信信道的下行带宽(dDi ≤ dD) ta 文件的上载时间(即文件从源节点发送出去的用时。k=0 时记为t’a;对于单个文件块, 记为tai) tb 文件的总传输时间(即文件从开始发送到接收完毕的用时,k=0 时记为t’b;对于单个 文件块,记为tbi) Δ1 信道延迟 Δ2 确认用时(限于TCP 协议[6][7]) 时间 Δ3 中间节点从接收完文件块到再次发送的等待时间 注:文件传输过程中,参数大写表示它是定值;参数小写表示其值不定,有可能改变。 140 前三个公式主要涉及文件的上载时间: 公式(i)[8]表示源节点将文件块上载到中间节点所用的时间。约等号的使用,主要是因 为这里是用估计每个包的上载时间的方式来估计整个文件的上载时间,为求严谨,即近似(下 面的公式(iii)(iv)的约等号使用亦出于相同考虑)。用文件的大小除以通信两端较小的 145 带宽值,求得时间的大略值,并考虑数据在信道上的延迟以及确认数据的用时(如果是采用 TCP 协议进行文件传输),使结果更准确及符号实际;公式(ii)表示的是源节点将整个文 件上载给所有中间节点的用时。因为是并行上载,因此取最大值,这个含义很直观;公式(iii) 表示在没有引入中间节点的情况下,源节点直接将文件发给目标节点所用的时间。原理其实 与公式(i)相同。 150 后三个公式则表征文件的总传输时间。 公式(iv)表示文件块从源节点到中间节点再到目标节点的时间。从源节点到中间节点, 前面的公式(i)已经给出了,而从中间节点到目标节点,则受到中间节点上行带宽及目标 节点下行带宽中较小者的影响。除了信道延迟和确认时间,还有中间节点的等待时间也需要 考虑;公式(v),最后一个文件块接收完毕,也就表示文件传输过程的完成,因此取最大 155 值;公式(vi),未引入中间节点,源节点完成文件上载之时,即目标节点接收完毕文件之 时,两者划等号。 前面所得的公式的一般形式,并不利用作进一步的分析。为了获得更有效的分析结果, 需增加一些预设的条件,以便化简公式。 中间节点的性能优越,拥有足够大的上行、下行带宽。这个条件意味着公式(i)中uSi<di, 公式(iv)中ui > dDi ;令公式(160 iii)中u’S < dD,这是一个较强的假设;忽略Δ1,Δ2,Δ3,这同 样是一个比较强的假设;在源节点上,对上行带宽及文件都进行平均分配。我们有 uS1+uS2+uS3+…+uSk=定值,m1+m2+m3+…+mk=定值。可以证明,只有在uS1=uS2=uS3=…=uSk, m1=m2=m3=…=mk 的情况下,才能使得max(m1/uS1, m2/uS2, m3/uS3…mk/uSk) 的值最小;另外, 约定在文件传输过程中,除非源节点和目标节点主动发起带宽的重新分配,否则各通信信道 165 的带宽保持不变。 根据预设条件,有以下简化结果。 (1)文件上载时间 将公式(i)(ii)(iii)化简为: ( 1) ( ) ( 1) ( ) a ai s a s t t n M vii k U t n M viii U = = + ′ = + 170 由上面两个公式可看出,当k ≥ 2,n ≥ 1 时,上载时间得到缩短。 当然,由于n 和k 都是变量,具体的上载时间有不确定性,可以通过计算其数学期望[9] 进行评估。因此,在知道n 与k 的概率分布之后,便能够求得它们的数学期望,进而得到ta 与t’a 的数学期望。 ( ) ( ( ) 1) ( ) ( ( ) 1) a a s s E t ME n E t ME n U U k ′ = + = + 175 (2)文件总传输时间 基于P2P 的文件并行上载机制的大前提就是不能延长文件的总传输时间,即该时间应 不长于源节点与目标节点直接进行数据通信的用时。然而,等待时间Δ3 的不确定性使得各 个中间节点与目标节点的通信启动次序不一,不像在源节点处简单地采取并行方式。为了肯 定这一前提的成立性,考虑一种较为恶劣的情况:串行。作者的思想是,如果在串行情况下 180 总传输时间仍能得到保证的话,那么在其他情况下也不会有问题。串行方式中,文件上载完 毕之后,中间节点依次向目标节点发送数据,前一个节点发送完毕,方可开始下个节点的传 输。 由此结合假设条件,公式(iv)(v)(vi)可化简为: 1 ' ( 1) ( ) min( , ) ( 1) ( ) 1, 2, 3... k b a i i D S D b S t t M n M M ix k ud k U d t n M x U i k = = + = + + ⋅ = + = Σ 185 进一步的分析,可以得到两个结果: tb[ dD > US ] < tb[ dD=US ]。现在的网络环境中,尤其是采用ADSL 的个人计算机,分配 得到的下行带宽往往远大于上行带宽,这说明dD > US 是有现实意义的[10]。 tb[ dD = US ] ≤ t’b,当k ≥ 2,n ≥ 2 的时候成立。由于一个节点同时拥有的通信信道一般都 比较多,所以这个结果也是具有现实意义的。 190 综合前面的分析结果,可以得出:引进机制之后,当k ≥ 2,n ≥ 2 时,文件上载时间和总 传输时间都将得到缩短。并且减小n 以及增大k,将使缩短的效果更加明显。这说明机制的 基本目标可以达成,机制的有效性得到了理论上的支持。虽然理论分析的结果是可观的,但 是机制能实现的真正效果如何,还需要在运行当中加以观察和验证。接下来本文将通过仿真, 更加深入对机制进行分析。 195 2 仿真实验 2.1 仿真环境及工具 对于并行上载机制的仿真验证基于NS2 的ns-allinone-2.34 来进行。NS2 是一个面向对 象的、用离散事件驱动的、利用C++语言和OTcl 语言编写的网络模拟器。NS2 网络模拟与 仿真工具在ubuntu-10.04.2-desktop-i386 的系统当中运行。仿真过程当中,我们采用TCP 协 200 议作为文件传输层协议。 2.2 仿真参数及网络拓扑 仿真中的参数设定如下,其中部分为固定值: (1)固定参数 1. 传输文件的大小。为了不使仿真时间过长,取文件大小为90KB。 205 2. 源节点的上行总带宽为1Mbps。目标节点分配给该文件传输过程的下行带宽为 3.2Mbps。之所以这样取值,是结合当前性能较好的ADSL 用户所拥有的带宽情况, 即每个节点的上、下行带宽分别为4Mbps / 1Mbps。而目标节点有可能与其他无关 节点有通信,因此其下行带宽不取全值。 3. 中间节点的上、下行带宽足够大,能使源节点的上行带宽及目标节点的下行带宽得 210 到充分利用。这是根据前面所提到的中间节点的选择策略所定的。 4. 源节点到中间节点的链路延迟为10ms,中间节点到目标节点的链路延迟为20ms。 中间节点与源节点的逻辑距离是相当近的(同在一个局域网,甚至跳数为1),但 是中间节点与目标节点可能在不同的网络或者要经过路由器,等等[11]。 (2)可变参数 215 第一个可变参数是文件传输过程中与源节点进行通信的无关节点的个数n。仿真过程中 n 的值将取遍1 到7 之间的全部整数。之所以n 不取0,是因为并不具有现实意义,源节点 不可能在完全没有其他通信的情况下开始文件传输。 第二个可变参数是中间节点的个数k。仿真过程当中k 的值将取遍0 到10 之间的全部 整数。其中k 取0 代表不引入中间节点,而采用源节点到目标节点的直接通信,即没有运行 220 并行上载机制。 另外,仿真过程还将对源节点在文件传输当中的平均吞吐量进行记录,以此观察机制对 源节点的带宽利用率是否有提高。 仿真中的网络拓扑结构如图2 所示: 225 图2 n=3,k=5 拓扑图 Fig. 2 the topology when n=3, k=5 图中0 号点和9 号点分别代表源节点和目标节点(用方框形状,以示区别),4、5、6、 7、8 号点是五个中间节点。10 号点代表路由器,1、2、3 号点表示与源节点进行通信的无 230 关节点,11、12 号点是与目标节点进行通信(经路由器)的无关节点。细直线代表即通信 信道,文件块从0 号出发分别到达4、5、6、7、8 号,再经由10 号到达9 号。粗直线代表 数据流,实线表示文件传输的数据流,虚线代表无关的数据流。另外,路由器上方的队列说 明出现了网络拥塞情况。 图中处在源节点向中间节点并行上载文件块的阶段。 235 2.3 数据分析 本次仿真围绕参数n 与k 的变化,一共收集了77 组数据,每组数据包括文件上载时间、 文件总传输时间及源节点吞吐量三个指标。 (1)文件上载时间 240 图3(1) 理论上ta 随k 变化图 图3(2) 理论上ta 及t’a 随n 变化图 Fig. 3(1) theoretical relation between ta and k Fig. 3(2) theoretical relation among ta, t’a and n 图3(3) 仿真中ta 随k 变化图 图3(4) 仿真中ta 随n 变化图 Fig. 3(3) relation between ta and k in simulation Fig. 3(4) relation between 245 ta and n in simulation 图3(1)(2)是公式(vii)(viii)的函数图像。图3(3)反映出文件上载时间在n 取定值时, 随着k 的增长而逐渐减小,但减小的趋势逐渐放缓。并且在n 取不同的定值时,文件上载时 间的轨迹相似,但n 越大,上载时间的平均值也越大。这并不难理解,因为无关节点越多, 250 文件传输所能分配到的带宽就越少,当然上载时间也就变长。另外,无论k 取1 至10 的任 何值,文件上载时间都比k=0 的时候小,这也说明引入并行上载的机制的确能缩短文件上载 时间,至于缩短的幅度则是跟k 有关。图3(4)反映出当k 取定值时,文件上载时间随着n 的 增长呈近似线性的增长。然而,增长的速度因k 取不同的定值而不同:k 所取定值越大,增 长速度越缓。 255 (2)文件总传输时间 图4(1) 串行情况下tb 随k 变化图 Fig. 4(1) relation between tb and k serially 图4(2) 串行情况下tb 及t’b 随n 变化图 Fig. 4(2) relation among tb, t’b and n serially 学术论文网Tag:代写论文 代写代发论文 代写职称论文 职称论文发表 |