【问题思考总结】数据链路层和传输层的功能是否重复冗余?(差错控制与流量控制)

发布于:2022-12-16 ⋅ 阅读:(599) ⋅ 点赞:(0)

问题

在这里插入图片描述
在做王道书上习题的时候,看到了这样一张图,关于差错控制和流量控制还有拥塞控制,有点想不明白一点,或者很多点,这些功能分布在各层,这样不冗余吗?

思考

用两层来简单举例,就选隔得比较远的两层,2,4层。

差错控制

  1. 数据链路层
    差错控制上,数据链路层控制的是比特流,他能够保证我发出去的比特流,你收到的还是这个,貌似这样就已经完美了,然而还不够。他不能保证数据包的丢失,损坏,或者失序。原因是数据链路层的差错控制用的是CRC校验码,这种校验码是针对单个帧的,是微观的对于宏观并没有控制。
  2. 传输层
    传输层的差错控制就是一个更加宏观的,对于接受包的顺序,是否接收到,都做了一个控制。

流量控制

  1. 数据链路层
    针对数据链路层的流量控制,我们更加应该关注的是一跳一跳的传输,确保下一跳(路由器?)不要因为流量过大而导致丢包的情况出现,因此是一个微观的论域,同样也是因为数据链路层过于微观,因此并没有拥塞控制
  2. 传输层
    在传输层中,流量控制是针对端到端的情况,用了窗口滑动的协议等一些手段,保证接收方(进程)尽量不会出现丢包的情况,是一种更宏观的控制

总结

这个是复习第一章的时候想到的问题,可以发现,这里用到了很多后面章节的知识,一章一章的复习,有的时候会忽略了细节,唯有将一层串联起来多层后,更深入地思考,才能掌握更宏观上的计算机网络的魅力。和学友共勉。

参考资料

【1】https://www.quora.com/What-is-the-difference-between-flow-control-in-a-datalink-layer-and-flow-control-in-a-transport-layer
【2】https://www.quora.com/What-is-the-need-of-error-control-at-the-data-link-layer-when-the-transport-layer-provides-error-control-What-is-the-difference-between-the-two-error-controls/answer/Tony-Li-19
【3】王道习题课讲解视频(计算机网络第一章第二节习题7)


网站公告

今日签到

点亮在社区的每一天
去签到