【计算机网络】数据链路层 : 差错控制 ( 检错编码 | 差错来源 | 差错分类 | 冗余编码 )
一、 差错来源
"差错" 来源 : 差错是由于 噪声 产生 ;
① 全局性噪声 :
- 噪声来源 : 由于 线路 本身的 电气特性 产生的 “随机噪声” , 该 噪声 是信道固有的 , 随机存在的 ;
- 解决方案 : 提高信噪比
② 局部性噪声 : 这是差错的主要原因 ;
- 噪声来源 : 外界 短暂 原因 造成的 “冲击噪声” ;
- 解决方案 : 使用 编码技术 解决 ;
二、 差错分类
差错分类 :
① 位错误 : 比特位出现错误 , 1 1 1 变成 0 0 0 , 0 0 0 变成 1 1 1 ;
② 帧错误 : 分为以下三种 :
- 帧丢失 : 丢失了某个数据帧 ;
- 帧重复 : 连续接收到两个相同的数据帧 ;
- 帧失序 : 数据帧接收次序被打乱 ;
链路层服务选择 : 根据链路的质量 , 选择不同的 链路层 为 网络层 提供的服务 ;
① 通信质量好的 有线传输链路 : 采用 无确认 无连接 服务 ;
② 通信质量差的无线传输链路 : 采用 有确认无连接服务 或 有确认面向连接服务 ;
三、 差错控制
差错控制时机 :
① 提早发现错误 : 在链路层进行差错控制 , 可以 尽早得到错误的信息 , 及时重传 ;
② 节省资源 : 在 发送方 发送之后 , 到达第一个路由器 , 就发现了出现错误 , 此时就可以及时中断错误传输 , 避免向后传输浪费网络资源 ;
差错控制 : 主要是针对 比特错误 ;
检错编码 : 只是单纯发现错误 , 不能纠错 ;
- 奇偶检验码
- 循环冗余码 CRC
纠错编码 : 海明码 , 除了发现错误之外 , 还能知道哪个位置发生了错误 ;
四、 “物理层” 编码 与 “数据链路层” 编码 对比
"物理层" 码元编码 与 “数据链路层” 差错控制编码 比较 :
① “物理层” 的编码 : 是针对 单个比特进行编码 , 解决传输过程中的 比特同步 问题 , 如 曼彻斯特编码 , 差分曼彻斯特编码 ;
② “数据链路层” 的编码 : 是针对 一组比特 , 通过 冗余编码 , 检查该比特串在传输过程中是否出错 ;
五、 冗余编码
冗余编码 :
① 附加冗余位 : 数据发送之前 , 附加上指定长度的 冗余位 , 构成 符合 某规则 的数据后再发送 ;
② 发送端计算冗余位 : 当发送数据改变时 , 对应的冗余位 也随之改变 , 数据 与 该 冗余位之间有一定的规则 ;
③ 接收端校验冗余位 : 接收端 接收到数据后 , 根据冗余位判定接收的数据是否 符合规则 , 是否出出错 ;
文章来源: hanshuliang.blog.csdn.net,作者:韩曙亮,版权归原作者所有,如需转载,请联系作者。
原文链接:hanshuliang.blog.csdn.net/article/details/108045204
- 点赞
- 收藏
- 关注作者
评论(0)