问答题 在下列情况下,计算传送1000KB文件所需要的总时间,即从开始传送时起直到文件的最后一位到达目的地为止的时间。假定往返时间RTT是100ms,一个分组是1KB(即1024字节)的数据,在开始传送整个的文件数据之前进行的起始握手过程需要2RTT的时间。
(1)带宽是1.5Mbps,数据分组可连续发送;
(2)带宽是1.5Mbps,但在结束发送每一个数据分组之后,必须等待一个RTT才能发送下一个数据分组;
(3)带宽是无限大的值,即我们取发送时间为0,并且在等待每个RTT后可发送多达20个分组;
(4)带宽是无限大的值,在紧接起始握手后我们可以发送一个分组,此后,在第一次等待RTT,后可发送21个分组,在第二次等待RTT后可发送22个分组……在第n次等待RTT后可发送2n个分组。

【正确答案】本题考查数据报交换的过程。数据报交换首先是分组交换,即把要发送的数据先分组,对各个分组编号,加上源地址和目的地址以及约定的分组头信息,IP网络就是典型的数据报交换网络。因此,本题中的分组的具体形式是TCP报文。时间的计算要包含握手时间,传输时间和发送时间。注意:对RTT的要求,可以求解前3个问题。对于第4个问题,注意:首先要判断n的值是多少时才能刚好发送完全部数据,剩下的计算就简单了,详细过程见解答部分。
(1)2个起始的RTT;100×2=200ms=0.2s;
1KB=8bit×1024=8192bit;
发送时间:1000KB/1.5Mbps=8192000bit/1500000bit/s=5.46s;
传输时间:RTT/2=100/2=50ms=0.05s;
所以,总时间=起始握手时间+发送时间+传输时间,即0.2+5.46+0.05=5.71s。
(2)总共发送1000个分组,需要在上一小题答案的基础上再增加999个RTT,5.71+999×0.1=105.61s,所以总时间是105.61s。
(3)1000KB/1KB=1000分组 1000分组/20分组=50个RTT
50-1=49个RTT,总的延迟时间为2×RTT+49RTT+0.5RTT=51.5RTT=0.1×51.5=5.15s。
(4)取n=9,1+2+4+…+29=29+1-1=1023,这样就可以发送所有的1000个分组,而且在第9次等待RTT后只需发送(512-23)个分组就可以了。
2RTT+9RTT_0.5RTT=11.5RTT,总的延迟时间为0.1×11.5=1.15s,即总的延迟是1.15s。
【答案解析】