[计算机网络][MOOC]作业一 报文交换与分组交换

以下是我的答案。若有不对请指正,谢谢。

 课程地址 http://www.icourse163.org/course/HIT-154005 我的课程id: aweffr

如图所示网络。A在t=0时刻开始向C发送一个2Mbits的文件;B在t=0.1+e秒(e为无限趋近于0的小正实数)向D发送一个1Mbits的文件。忽略传播延迟和结点处理延迟。

 

请回答下列问题:

1) 如果图中网络采用存储-转发方式的报文交换,则A将2Mbits的文件交付给C需要多长时间?B将1Mbits的文件交付给D需要多长时间?

2) 如果图中网络采用存储-转发方式的分组交换,分组长度为等长的1kbits,且忽略分组头开销以及报文的拆装开销,则A将2Mbits的文件交付给C需要大约多长时间?B将1Mbits的文件交付给D需要大约多长时间?

3) 报文交换与分组交换相比,哪种交换方式更公平?(即传输数据量小用时少,传输数据量大用时长)

 

报文交换:源发送信息整体。

分组交换:拆成一系列相对较小的数据包,多个源共享一个路由器的(进/出)链路时,按需共享链路(统计多路复用)。

此外:本题中,存储-转发式网络中路由器能同时接收和发送多个用户的数据。只要是不同的接口,就可以同时接收。同理,在不同接口也可以同时发送分组。

 

(1) 报文交换

  • 设左边的存储转发节点为E, 右边的节点为F。
  • E传输整体报文所需时间(2Mbits / 10Mbits/s) = 0.2 s;传输完毕于 0.2 s。
  • B-E 传输整体报文所需时间(1Mbits / 10Mbits/s) = 0.1s;传输完毕于 (0.2 + e)s。
  • E-F 先传输A的报文,需要(2Mbits / 20Mbits/s) = 0.1s;传输完毕于 0.3s。
  • E-F 在结束A的报文后开始传输B的报文,需要(1Mbits / 20Mbits/s) = 0.05s;传输完毕于 (0.35 + e) s。
  • F-C 传输需 0.2 s,传输完毕于0.5s。
  • F-D 传输需 0.1 s,传输完毕于 (0.45 + e) s。

综上,AC交付2Mbits需要0.5sBD交付1Mbits需要0.35s

 

(2) 采用分组长度为等长的1kbits进行传输。

E-F的传输带宽为20Mb, 不会出现拥塞问题。

因此,T = M/R + nL/R =>

A-C 需要 (2Mbits) / (10Mb) + 2 * (1Kbits) / (10Mb) = 0.2002s

B-D 需要 (1Mbits) / (10Mb) + 2 * (1Kbits) / (10Mb) = 0.1002s

本题与课件中公式的背景不一样。(感谢网友 Geralt白狼)

花费时间应该是整体消息的大小除以瓶颈链路的带宽,再加上最后一个包由出发到第二个路由器的时间。

B-D发送过程中,A-C也还正在发送,B-D的最后一个包的历程中,它在中间的两个路由器上只享受到了10M的带宽,0.1002s。

而A-C的最后一个包能独享中间的20M带宽,因此 0.20015s。

因此 A-C需要 0.2 + 0.001 + 0.0005 = 0.20015s

       B-D需要 0.1 + 0.001 + 0.0005 = 0.1002s

 

(3) 由1, 2两种情况可以看出,分组交换用时少。且在报文交换情况下,当B-D慢了0.1+e秒开始传输时,在E-F链路上需要等待A的报文发送完毕的额外0.1s。在分组交换情况中,可以按需共享来复用链路,使得B的报文分组不被阻塞。因此分组交换更为公平。

posted @ 2017-09-04 14:38  往日未尝认真  阅读(9595)  评论(13编辑  收藏  举报