【计算机网络】数据链路层 : 差错控制 ( 检错编码 | 差错来源 | 差错分类 | 冗余编码 )

举报
韩曙亮 发表于 2022/01/11 00:34:08 2022/01/11
【摘要】 文章目录 一、 差错来源二、 差错分类三、 差错控制四、 "物理层" 编码 与 "数据链路层" 编码 对比五、 冗余编码 一、 差错来源 "差错" 来源 : 差错是...





一、 差错来源



"差错" 来源 : 差错是由于 噪声 产生 ;

① 全局性噪声 :

  • 噪声来源 : 由于 线路 本身的 电气特性 产生的 “随机噪声” , 该 噪声 是信道固有的 , 随机存在的 ;
  • 解决方案 : 提高信噪比

② 局部性噪声 : 这是差错的主要原因 ;

  • 噪声来源 : 外界 短暂 原因 造成的 “冲击噪声” ;
  • 解决方案 : 使用 编码技术 解决 ;




二、 差错分类



差错分类 :

① 位错误 : 比特位出现错误 , 1 1 1 变成 0 0 0 , 0 0 0 变成 1 1 1 ;

② 帧错误 : 分为以下三种 :

  • 帧丢失 : 丢失了某个数据帧 ;
  • 帧重复 : 连续接收到两个相同的数据帧 ;
  • 帧失序 : 数据帧接收次序被打乱 ;

链路层服务选择 : 根据链路的质量 , 选择不同的 链路层 为 网络层 提供的服务 ;

① 通信质量好的 有线传输链路 : 采用 无确认 无连接 服务 ;

② 通信质量差的无线传输链路 : 采用 有确认无连接服务有确认面向连接服务 ;





三、 差错控制



差错控制时机 :

① 提早发现错误 : 在链路层进行差错控制 , 可以 尽早得到错误的信息 , 及时重传 ;

② 节省资源 : 在 发送方 发送之后 , 到达第一个路由器 , 就发现了出现错误 , 此时就可以及时中断错误传输 , 避免向后传输浪费网络资源 ;


差错控制 : 主要是针对 比特错误 ;

检错编码 : 只是单纯发现错误 , 不能纠错 ;

  • 奇偶检验码
  • 循环冗余码 CRC

纠错编码 : 海明码 , 除了发现错误之外 , 还能知道哪个位置发生了错误 ;





四、 “物理层” 编码 与 “数据链路层” 编码 对比



"物理层" 码元编码 与 “数据链路层” 差错控制编码 比较 :

① “物理层” 的编码 : 是针对 单个比特进行编码 , 解决传输过程中的 比特同步 问题 , 如 曼彻斯特编码 , 差分曼彻斯特编码 ;

② “数据链路层” 的编码 : 是针对 一组比特 , 通过 冗余编码 , 检查该比特串在传输过程中是否出错 ;





五、 冗余编码



冗余编码 :

① 附加冗余位 : 数据发送之前 , 附加上指定长度的 冗余位 , 构成 符合 某规则 的数据后再发送 ;

② 发送端计算冗余位 : 当发送数据改变时 , 对应的冗余位 也随之改变 , 数据 与 该 冗余位之间有一定的规则 ;

③ 接收端校验冗余位 : 接收端 接收到数据后 , 根据冗余位判定接收的数据是否 符合规则 , 是否出出错 ;

文章来源: hanshuliang.blog.csdn.net,作者:韩曙亮,版权归原作者所有,如需转载,请联系作者。

原文链接:hanshuliang.blog.csdn.net/article/details/108045204

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。