7、可靠性和差错检测

可靠性

  • 无比特差错:由差错校验码来实现,在数据链路层
  • 无差错传输:由停止等待协议来保证:在数据的传输层
  • 数据的可靠性与传输的可靠性由数据链路层和传输层来保证
  • 在网络层,有首部校验和,只检查数据报首部,不包括数据部分

1、传输错误

  • 网络的许多复杂性源于易受干扰的因素,可能导致: 传输的数据丢失或更改出现随机数据
  • 单bit错误与突发错误
  • 设备故障或低于标准的设备操作也会导致错误
  • 传输中的小错误比完全故障更难检测!

错误类别

  • 干扰:例如 来自其他设备的EM辐射
  • 失真:
    物理系统使信号失真
    电线具有电容和电感–阻止某些频率的信号
  • 衰减:信号随距离衰减

权衡错误检测/纠正

  • 错误检测会增加开销
  • 设计人员需要决定是否使用错误检测
  • 考虑一位错误
    对于图像传输不重要
    对于银行转帐可能非常重要!

错误及其原因

  • 单bit错误:位块中的单个位被更改。块中的所有其他位保持不变。 通常是由于持续时间很短的干扰
  • 突发错误:更改位块中的多个位。 通常是由于持续时间较长的干扰。
  • 歧义:到达接收器的信号是模棱两可的-也就是说,对应于逻辑1或逻辑0。可能是由于失真或干扰引起的。

2、差错处理

2.1 信道编码–两种方案:

  • 前向纠错(FEC)机制
    在数据中添加其他信息,以使接收器检查其是否正确
    允许接收器检测何时发生错误,哪些位已更改并计算正确的值(某些技术) 
    例如: 单一奇偶校验,行和列(RAC)奇偶校验,校验和,循环冗余校验(CRC)
  • 自动重复请求(ARQ)机制
    使用确认消息检查数据是否已到达目的地 
    需要发送者和接收者的合作

2.2 单奇偶校验

  • 计算数据中1位的数目并添加一个额外的奇偶校验位,以使此奇数或偶数
    奇校验--1的总数为偶数-01011001 --->奇偶校验为0
    偶校验--1的总数为偶数-01011001 --->校验数为1
  • 发送器计算和添加,接收器计算和检查
  • 引入额外费用
  • 仅检测有限类型的错误
  • 无法更正错误

2.3 行和列(RAC)奇偶校验

  • 一位错误将导致两个计算出的奇偶校验位与接收到的位不一致
  • 确定由于行和列奇偶校验位而引起的确切位置
  • 允许接收器纠正数据位
  • 只能纠正一位错误
  • 如果更改了更多位,则可以检测到奇数个错误

2.4 校验和

  • 将数据解释为整数序列,然后将它们加在一起以获得称为校验和的整数结果
  • 也添加额外bits
  • 将校验和附加到帧
  • 16位和32位校验和很常见,通常针对整个数据包进行计算
  • 数据开销-16或32位
  • 计算开销-简单的添加
  • 未检测到的错误-某些位的周期性反转(例如,反转四个数据项中的每个数据项)

2.5 循环冗余校验(CRC)

  • 检测出比校验和更多的错误,仅需简单的硬件
  • 移位寄存器连接在一起
  • 将位组合(异或),然后循环并在几个位置反馈

CRC概述

  • 使用二进制除法而不是加法
  • 发件人想要发送一条数据,发送者和接收者同意生成器G,发送方在数据后附加一个附加的位序列(CRC位),使得结果序列可以被G整除,接收器将接收到的位模式除以G,然后检查余数是否为0

CRC为什么起作用?

  • CRC实际上是由硬件完成的
  • 位在多个位置多次循环通过寄存器
    消息的每一位都会极大地影响整个CRC(馈入多个位置)
    每个位的效果在整个过程中循环多次(寄存器连接成一个周期)

CRC评估

  • 数据开销-16或32位
  • 计算开销低-结合了简单的硬件设备
  • 可以应用于任意长度的消息
  • 适用于突发错误
  • 可能由于突然的干扰(例如闪电)而在一个位置更改为几位

3、停止等待协议(ARQ)机制

  • 发送方和接收方交流元信息
  • 发件人发送数据
  • 接收方发回确认(ack)消息
  • 发件人收到确认后,便知道原始数据正确到达
  • 如果超时后仍未确认,发件人将重新传输原始数据的副本

使用情形

  • 适用于基础系统检测到错误但基础系统无法纠正错误的情况
  • 可用于为交货增加保证

4、阅读

Chapter 8

猜你喜欢

转载自www.cnblogs.com/Stephanie-boke/p/12173805.html