00 00计算机网络错题分析(报文交换、分组交换)

1 题目(14分)

如下图所示网络。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)报文交换与分组交换相比,哪种交换方式更公平?(即传输数据量小用时少,传输数据量大用时长)
注:k=103,M=106。

2 知识点回顾

  • 报文交换:指从源主机一次发送完整的信息给目标主机。
  • 分组交换:将报文拆分成一个个小的分组进行传输,之后再在目标主机上重新组合成完整信息。
  • 统计多路复用,在共享路由时,当两个或多个主机的分组序列不确定时,按需共享链路。
  • 报文交换和分组交换均采用存储-转发交换方式。两者的区别是报文交换以完整报文进行“存储-转发”。分组交换以较小分组进行“存储-转发”
  • 分组交换:传输延迟=L/R
  • 报文交换:每次传输报文需M/R秒
  • 分组交换报文交付时间:T=M/R+(h-1)L/R=M/R+nL/R。
    注:L指报文分组长度,R链路带宽,M指报文长度,h指跳步数,n指路由数。

3 我的分析解答

题目分析:假设A、B共享的路由为E,C、D共享的路由为F。t=0(s),A -> 2Mbits -> C;t=(0.1+e)(s)(e为无限趋近于0的小正实数),B-> 1Mbits -> D,且忽略传播延迟和节点处理延迟。
解:(1)分析:采用存储-转发方式的报文交换。所以需要等到A将全部报文发送至路由E并由E全部转发至F时,B才开始向路由E发送报文。
A将2Mbits的文件发送至路由F所需时间为2/10+2/20=0.3(s)
因此,A将2Mbits的文件交付给C所需的时间为0.3+2/10=0.5(s)
B将1Mbits的文件交付给D所需的时间为0.3-0.1-e+1/10+(2/10-0.1)+1/20+1/10=0.55-e(s)
(2)分析:采用存储-转发方式的分组交换且忽略分组头开销以及报文的拆转开销。因此分组长度为1kbits,2Mbits的报文可以被拆分为2000组,1Mbits的报文可以被拆分为1000组,分组交换在10Mb/s链路上的传输延迟为0.001/10=0.1(ms),在20Mb/s链路上的传输时延为0.05(ms)。前0.1秒时,只有A在发送报文分组,在0.1+e秒时,B也加入其中,共同分享共享路由和共享链路资源。此时假设A、B交叉发送的理想状态。
0-0.1秒期间,A发送至路由E的发送的分组量为100/0.1=1000(个),路由E发送至路由F的A的分组数为999个,路由F发送至C的分组数为998个,此时时间段,由于A至路由E链路传输速率的限制,路由E至路由F之间链路的利用率只有50%。
此时B开始加入,A和B各1000分组且A先发送,B后发送,两者交替占用共享路由和共享链路资源,但是由于路由E至路由F之间链路是20Mb/s,且此时利用率为100%,所以可以看作A到C、B到D的数据交换为在两个单独10Mb/s的链路上发送。
综上所得,A将2Mbits的文件交付给C所需的时间为2/10+20.0001=0.2001(s)
B将1Mbits的文件交付给D所需的时间为1/10+2
0.0001=0.1001(s)
(3)在此题情境下,报文交换与分组交换相比,分组交换的交换方式更公平。

4 标准答案比对分析

  • 对第一问中B的思考出现了错误,而且没有动态的去分析两者之间的联系,从而导致了错误。更正后,B传输过程应该为A将报文传输到E后就开始向E传输报文。此时时间应该为0.2-(0.1+e)+1/10+1/20+1/10=0.35-e≈0.35s=350ms,此时与答案一致。
  • 至于错误原因,是因为我认为A将报文传送到E,那么在E向F传输报文的过程中,B应该是无法向E传输报文的,因为E中还有A传输报文的缓存,同理,在路由F我也是如此考虑的,由此导致了错误的发生。
  • 第二问中A向C的交付为0.20015s是我第二个错误,经过仔细分析发现有一段链路带宽为20Mbps,此时传输延迟应该为10Mbps的一半,而不应该笼统的按照10Mbps考虑,从而导致计算思考细节错误,另外还存在计算细节错误,粗心计算,导致计算结果少了0.001s,思考不周少了0.0005s。正确的A到C的时间为2/10+1000/20000000+1000/10000000=0.20015s≈0.2s=200ms,正确的B到D的时间为1/10+1000/20000000+1000/20000000+1000/10000000=0.1002s≈0.1s=100ms。

5 标准答案

得分指导:
【评分标准】:
1. 本题满分14分,只要认真完成作业(无论对错),就可以得到基本分:5分;
2. 每个小问正确解答,参考答案中标注分数给分,共14分;
3. 结果不正确但分析过程正确或部分正确,可酌情给分。
【参考答案】:
1) 由于A先发报文,所以A的报文在路由器输出链路队列中排在B的报文前面。因此,A向C交付2Mbits报文所需时间为:
2/10+2/20+2/10=0.5s=500ms;(3分)
B向D交付1Mbits文件所需时间为:
1/10+2/20(排队时延)+1/20+1/10=0.35s=350ms。(3分)
2) A向C交付2Mbits文件所需时间约为:
2/10+1000/20000000+1000/10000000=0.20015s≈0.2s=200ms;(3分)
B向D交付1Mbits文件所需时间约为:
1/10+1000/20000000(排队)+1000/20000000+1000/10000000
=0.1002s≈0.1s=100ms。(3分)
3) 分组交换比报文交换更公平。(2分)

6 总结

  • 今后习题中应考虑全面,不懂得知识点的细节问题应把握清晰,不可想当然。
  • 计算应更加仔细,注重细节。
发布了77 篇原创文章 · 获赞 11 · 访问量 2640

猜你喜欢

转载自blog.csdn.net/weixin_43762330/article/details/104649256
00