问答题 在下列情况下,计算传送1000KB文件所需要的总时间,即从开始传送时起直到文件的最后一位到达目的地为止的时间。假定往返时间RTT是100ms,一个分组是1KB(即1024B)的数据,在开始传送整个的文件数据之前进行的起始握手过程需要2KTT的时间。
1)带宽是1.5Mbit/s,数据分组可连续发送。
2)带宽是1.5Mbit/s,但在结束发送每一个数据分组后,必须等待一个RTT才能发送下一个数据分组。
3)假设带宽是无限大的值,即取发送时间为0,并且在等待每个RTT后可发送多达20个分组。
4)假设带宽是无限大的值,在紧接起始握手后可以发送一个分组,此后,在第一次等待RTT后可发送2 1 个分组,在第二次等待RTT后可发送2 2 个分组,依此类推,在第n次等待RTT后可发送2 n 个分组。
【正确答案】
【答案解析】[答案要点]
提示:题目如果没有提到排队时延和处理时延,就无须考虑。
1)由提示可知,总时延=发送时延+传播时延+握手时间,其中握手时间是题目增加的。发送时延=1000KB/(1.5Mbit/s)≈5.46s,传播时延=RTT/2=50ms=0.05s,握手时间=2×RTT=200ms=0.2s,故总时延=5.46s+0.05s+0.2s=5.71s。
2)直接在1)的基础上加999RTT即可,故总时延=5.71s+999×0.1s=105.61s。
3)发送时延为0,只需计算传播时延即可。由于每个分组1KB,所以大小为1000KB的文件应该被分为1000个分组。由于每个RTT后可发送20个分组,所以一共需要50次才可发完。而第一次只需要0.5RTT,后面的49次都是需要等待一个RTT(注:在本次等待的RTT中一定是包含了上次的传播时延,故不需另外计算传播时延)。故总的传播时延=2RTT(握手时间)+49RTT+0.5RTT=51.5RTT=5.15s。
4)首先需要计算等待几次RTT可以发送完所有分组,假设需要x次,即1+2+4+…+2 x ≥1000,可得2 x+1 -1≥1000,得到x=9,故总的传播时延=2RTT(握手时间)+9RTT+0.5RTT=11.5RTT=1.15s。