请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于数据链路层的错误校验

老师您好,您在课程中有提到,数据链路层会对 比特流组成的帧进行错误检测和纠正。 从而让发送端重新发送有错误的帧。

但是在传输层使用TCP协议的时候,不是也会在发送端和接收端都去计算奇偶校验和,从而保证数据的可靠性。

两者的错误校验功能是否重复呢?这么设计的原因又是什么呢?

希望祥仔可以帮忙解答疑惑,感谢~

正在回答

1回答

数据链路层重试机制确保向网络层提供可靠数据传输服务解决的问题,

传输层TCP协议确保向应用层提供数据传输的可靠性。不一样

0 回复 有任何疑惑可以回复我~
  • 提问者 YogurtJ #1
    同学你好,感谢回答,
    关于你所提及的“数据链路层重试机制确保向网络层提供可靠数据传输服务解决的问题”
    
    我没想到有什么场景时,发送端会跳过Socket接口,直接向网络层去朝着接收方去发送消息呢。
    
    我想的是既然 应用程序通过调用 TCP Socket的接口时候 在传输层已经通过奇偶校验和保证了数据的可靠性。数据链路层的话,为什么还要对比特流组成的帧进行错误检测和纠正呢?
    
    (若是调用UDP的socket接口,UDP仅尽可能的做最大努力交付,并不保证可靠性,也无需用数据链路层的错误检测机制吧)
    回复 有任何疑惑可以回复我~ 2020-02-20 15:41:03
  • 翔仔 #2
    感谢同学的热心回答,网络协议本身就是从0开始搭建,每层都会解决各自的需求,逐层去做迭代,所以并不会影响,也并不会矛盾,两者区别可以看这里,切勿钻入胡同里出不来
    https://blog.csdn.net/qq_37365385/article/details/80964404
    回复 有任何疑惑可以回复我~ 2020-02-21 02:10:29
  • 提问者 YogurtJ #3
    非常感谢!
    回复 有任何疑惑可以回复我~ 2020-02-29 22:32:32
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信