软考试题3

软考试题3

问题

A、B是局域网上两个相距1km的站点,A采用同步传输方式以1Mb/s的速率向B发送长度为200,000字节的文件。假定数据帧长为128比特,其中首部为48比特:应答帧为22比特,A在收到B的应答帧后发送下一帧。传送文件花费的时间为( )s,有效的数据速率为( )Mb/s(传播速率为200m/us)
A.1.6 B.2.4 C.3.2 D.3.6
A.0.2 B.0.5 C.0.7 D.0.8

解析

  1. 数据传输的过程中,可以理解成是寄快递。比如我想给我妈寄一支牙刷,牙刷用纸盒子包着。我妈拿到这个快递后,真正有用的想要的也就只有这个牙刷而已,那个纸盒子不是真正想要的东西。不过纸盒子上会有寄件人和收件人的信息。

  2. 题干中说的假定数据帧长为128比特,其中首部为48比特,其中首部48比特就类似于是纸盒子。128比特就类似于是被纸盒子包着的牙刷。那此时真正有用的数据部分是多少比特呢?聪明如你,很快就知道了是128-48=80bit。也就是说这80bit就类似于是这个牙刷。


  3. 现在假设寄的不是牙刷,而是一个需要组装的电脑桌。这个桌子不像牙刷那么好寄,东西太多了,一个纸盒子可能还放不下,要多个纸盒子包着,然后再寄出去。

  4. 题干中说的200,000字节(即200,000x8=1600,000比特)的文件就类似于是需要组装的电脑桌。每个纸盒子只能放电脑桌部件的一部分,即每个盒子只能放80比特的内容。

  5. 那么此时需要多少个纸盒子装呢?聪明如你,相信已经知道了。1600 000/80=20 000。

  6. 一个纸盒子再加上里面的部件,合起来一共是128个比特。那么所有的包裹(纸盒子+电脑桌部件)加起来,占多少个比特呢。就是20 000x128=2560 000比特。


  7. 快递公司穷,只有一辆车来运包裹,一次还只能运一个。运过去之后,还得等对方说一句我收到了,才能接着发第二个包裹。对方说的那句我收到了,就类似于题干中说的22比特的应答帧。也就是说,我发20 000个包裹过去,居然要回应20 000次我收到了。


  8. 上述了解完后,可以开始做题了。我们知道如何计算一个数据帧从发出到对方接收所需要时间的公式,即发送时延+传播时延

  9. 发送时延=数据帧长度/数据速率。把题中数值带入,即128bit/1Mbps=0.000128s。

  10. 传播时延=两点间距离/光速的三分之二。把题中数值带入,即1000m/(2x10^8)mps=0.000005s

  11. 所以从发送方发出一个帧到接收方接收,所需要的时间是0.000128+0.000005s=0.000133s

  12. 我们把包裹发出去,还得等对方说句收到了才能继续发下一个包裹。那么对方说一句收到了,到我们发送方接收到需要多少时间呢?同理可得,发送时延=数据帧长度/数据速率。把题中数值带入,即22bit/1Mbps=0.000022s。传播时延=两点间距离/光速的三分之二。把题中数值带入,即1000m/(2x10^8)mps=0.000005s。所以需要的时间是0.000022s+0.000005s=0.000027s


  13. 综上,一来一回所需要的时间就是0.000027s+0.000133s=0.00016s

  14. 这还只是一个包需要的时间,现在要发20 000个包,那总共需要多长时间呢?对的,0.00016x20 000=3.2s


  15. 最后一问,问你有效数据速率是多少。你的电脑桌就是真正有效的东西,总共也就1600,000比特,为了发这1600000比特,花了一共3.2s的时间。所以有效数据速率就是1600000bit/3.2s=500 000bps=0.5Mbps