我是靠谱客的博主 感动滑板,最近开发中收集的这篇文章主要介绍差错控制区别(数据链路层、传输层、网络层),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

七层模型中提供差错控制的有

  • 数据链路层
  • 网络层
  • 传输层

什么是可靠传输

  • 不错(没有比特差错),不丢(丢包),不乱(按序到达)
  • 每一层的校验只校验本层的数据,传输层是段,网络层是包,链路层是帧。

数据链路层

  • 数据链路层FCS是为了防止网卡软硬件bug、电缆不可靠、信号干扰而造成信号失真、数据错误。如果不检查,将一直到达目的地主机,很有可能TCP/UDP层才会校验出错误,这显然不合理。
  • 数据链路层的差错检测的目的是做到"无比特差错"。使用循环冗余检验CRC差错检测技术
  • 无法管帧丢失、失序、重复,它只负责一个帧要是传对了,就是对的

两种方式

  • 对于通信质量良好的有线传输链路,数据链路层协议不采用确认和重传机制,不要求数据链路层向上提供可靠的传输。如果在数据链路层出现了差错就靠上层协议来完成改正差错的任务
  • 对于通信质量较差的无线传输链路,数据链路层协议使用确认和重传机制,数据链路层向上提供可靠的传输服务。现在的通信线路的质量已经大大提高,由通信质量不好而产生差错的概率已经大大降低。

网络层

  • 网络层的校验只用于针对网络层的头部
  • 好比货车司机只管车,车跑的好他就放心了。车上箱子里的水果零食坏没坏不关他的事。箱子里的水果坏没坏是传输层的事。
  • 数据包到了路由器之后,路由器会把这个数据包拆开,根据下一跳的地址,设置新的链路层头部的目的地址,crc校验值,IP首部的的ttl值,甚至可能还会对数据包进行分片,这样修改的更多了,如果在路由器处理的过程中这个数据出错,那么链路层的校验是发现不了错误的。

传输层

  • 运输层的差错检测的目的是做到"无传输差错"。即弥补帧丢失、帧重复、帧失序。

最后

以上就是感动滑板为你收集整理的差错控制区别(数据链路层、传输层、网络层)的全部内容,希望文章能够帮你解决差错控制区别(数据链路层、传输层、网络层)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部