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

2023-03-28 16:46:43 浏览数 (1)

文章目录

  • 一、 差错来源
  • 二、 差错分类
  • 三、 差错控制
  • 四、 "物理层" 编码 与 "数据链路层" 编码 对比
  • 五、 冗余编码

一、 差错来源


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

① 全局性噪声 :

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

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

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

二、 差错分类


差错分类 :

① 位错误 : 比特位出现错误 ,

1

变成

0

,

0

变成

1

;

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

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

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

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

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

三、 差错控制


差错控制时机 :

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

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

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

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

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

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

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


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

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

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

五、 冗余编码

冗余编码 :

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

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

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

0 人点赞