(1)我们要算的是发送这些bit需要的时间
先解答一下
总共需要的时间是=建立TCP连接的时间+发送这些bit需要的时间+最后一个分组的传播时间
=2*RTT+1.258+0.5*RTT=1.458
这里有很多小伙伴看别的攻略看不懂,诶
这个发送这些bit需要的时间怎么算的,那你算是来对地方了,我就是没看懂其他攻略所以就自己写了
发送这些比特所需时间=比特数/数据发送速率
发送这些比特所需时间=1.5*2^20*8bit/(10*10^6bit/s)=1.258;
1.5mb换算成bit,我们先换成byte,那1.5mb=1.5*1024*1024byte,1byte=8bit
所以发送比特所需时间就算出来了!
那么还有同学问我,为什么要加最后一个分组到达的时间?
因为发送完这些bit之前,最后发送的是最后一个分组,当最后一个分组到的时候,前面的分组就都到了,所以我们只需要管最后一个分组,最后一个分组出发和发送完数据是连起来的
(2)这题就是在前面的基础上,加上要等待的时间
1.5mb=1.5*1024kb=1536kb
1.5mb/1kb=1536组
从第一个分组到达最后一个分组需要经历1535次等待,所需时间=1535*0.08=122.8s
总时间=1.458+1535*0.08=124.258
(3)每个RTT往返时间内只能发送20个分组,就是一次发送20个分组,花0.5个RRT到达,然后返回一个通知花0.5个RTT回来通知下一次的20个可以出发了。然后1536个分组需要76个RTT,可以发出1520个分组,因为数据发送速率极快,所以最后16个分组一下子就发出去了,但是最后一个到达需要0.5RRT所以总时间等于
总时间=发送时间+建立连接时间
76.5RTT+2RTT=6.12+0.16=6.28s
(4)在2个RTT之后开始传送数据
经过n个RTT之后发送了1+2+4+8……=2^n-1
10个RTT之后发送了2^10-1=1023个分组
所以11个RTT之后发送了2^11-1=2047个分组,
10RTT之后,下一个RTT可以全部发送完剩下的,所以
总时间=10.5RTT+2RTT=1s