计算机网络第八版课后习题 1-28

1-28 假定要在网络上传送1.5MB的文件。设分组长度为1KB,往返时间RTT=80ms。传送数据之前还需要有建立TCP连接的时间,这时间是2×RTT=160ms。试计算在以下几种情况下接收方收完该文件的最后一个比特所需的时间。

(1)数据发送速率为10Mb/s,数据分组可以连续发送。

(2)数据发送速率为10Mb/s,但每发送完一个分组后要等待一个RTT时间才能再发送一个分组。

(3)数据发送速率极快,可以不考虑发送数据所需的时间。但规定在每一个RTT往返时间内只能发送20个分组。

(4)数据发送速率极快,可以不考虑发送数据所需的时间。但在第一个RTT往返时间内只能发送一个分组,在第二个RTT内可发送两个分组,在第三个RTT内可发送四个分组(即 2 3 − 1 2^{3-1} 231= 2 2 2^2 22=4个分组)

题解

(1)TCP建立时间 t 0 t_0 t0=2 × \times ×RTT=0.16s
发送全部比特所需时间 t 1 t_1 t1=1.5× 2 20 2^{20} 220×8 bit /(10× 1 0 6 10^6 106 bit/s)=1.258(s)
最后一个分组传播到达目的地需要 t 2 t_2 t2 =0.5×RTT=40ms=0.04s
总共需要的时间 t 总 t_总 t = t 0 t_0 t0+ t 1 t_1 t1+ t 2 t_2 t2=1.458(s)

(2)需要划分的分组数 s=1.5MB / 1KB=1.5 × \times × 2 10 2^{10} 210 KB / 1KB=1536

TCP建立时间 t 0 t_0 t0=2 × \times ×RTT=0.16s
发送全部比特所需时间 t 1 t_1 t1=1.5× 2 20 2^{20} 220×8 bit /(10× 1 0 6 10^6 106 bit/s)=1.258(s)
最后一个分组传播到达目的地需要 t 2 t_2 t2 =0.5×RTT=40ms=0.04s(二分之一往返时间)

从第一个分组最后一个比特到达 直到最后一个分组第一个比特 到达需要时间
t 3 t_3 t3 =(s-1) × \times ×RTT= 1535×RTT=1535×0.08=122.8(s)

总共需要的时间 t 总 t_总 t = t 0 t_0 t0+ t 1 t_1 t1+ t 2 t_2 t2+ t 3 t_3 t3=0.16+1.258+0.04+122.8=1.458+122.8=124.258(s)

(3)TCP建立时间 2 × \times × RTT,在两个RTT后就开始传送数据。在每一个RTT往返时间内只能发送20个分组。1536个分组,需要76个RTT,76个RTT可以发送76×20=1520个分组,最后剩下16个分组,一次发送完。
但最后一次发送的分组到达接收方也需要0.5×RTT。

因此,总共需要的时间 t 总 t_总 t=2×RTT+76×RTT+0.5×RTT=6.12+0.16=6.28(s)

(4)TCP建立时间 2 × \times × RTT,在两个RTT后就开始传送数据。
共 1536个分组

经过n个RTT后就发送了 1+2+4+…+ 2 n − 1 2^{n-1} 2n1= 2 n 2^n 2n-1个分组。

若n=10,那么只发送了 2^n-1=1023个分组。

若n=11,那么只发送了 2^n-1= 2047个分组。
10个RTT可以发送1023个分组,最后剩下1536-1023=513个分组,一次发送完。

但最后一次发送的分组到达接收方也需要0.5×RTT。

这样,考虑到建立TCP连接的时间和最后的分组传送到终点需要的时间,(最后一次,不考虑返回)现在总共需要的时间 t 总 t_总 t=(2+10+0.5)×RTT=12.5×0.08=1(s)

  • 10
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值