如下是个人答案。如有不对请指正,谢谢。网络
课程地址 http://www.icourse163.org/course/HIT-154005 个人课程id: aweffrspa
如图所示网络。A在t=0时刻开始向C发送一个2Mbits的文件;B在t=0.1+e秒(e为无限趋近于0的小正实数)向D发送一个1Mbits的文件。忽略传播延迟和结点处理延迟。blog
请回答下列问题:接口
1) 若是图中网络采用存储-转发方式的报文交换,则A将2Mbits的文件交付给C须要多长时间?B将1Mbits的文件交付给D须要多长时间?路由
2) 若是图中网络采用存储-转发方式的分组交换,分组长度为等长的1kbits,且忽略分组头开销以及报文的拆装开销,则A将2Mbits的文件交付给C须要大约多长时间?B将1Mbits的文件交付给D须要大约多长时间?it
3) 报文交换与分组交换相比,哪一种交换方式更公平?(即传输数据量小用时少,传输数据量大用时长)io
解路由器
报文交换:源发送信息总体。im
分组交换:拆成一系列相对较小的数据包,多个源共享一个路由器的(进/出)链路时,按需共享链路(统计多路复用)。统计
此外:本题中,存储-转发式网络中路由器能同时接收和发送多个用户的数据。只要是不一样的接口,就能够同时接收。同理,在不一样接口也能够同时发送分组。
(1) 报文交换
综上,A到C交付2Mbits须要0.5s。B到D交付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的报文分组不被阻塞。所以分组交换更为公平。