超简单讲解数据链路层之差错检测方法

数据链路层之差错检测方法

  • 一、差错检测定义
  • 二、差错检测的原因
  • 三、差错检测的方法
    • 1).奇偶检验
        • 1. 定义:
        • 2.实现过程:
            • a. 双方采用 **奇校验**:
            • b. 双方采用 **偶校验**:
        • 3.缺点:
    • 2).CRC循环冗余检验

超简单讲解数据链路层之差错检测方法_第1张图片

一、差错检测定义

定义:检测数据在传输过程中是否发生了比特差错

二、差错检测的原因

原因:因为实际的通信链路不是理想的,比特在传输过程中可能会出现差错:1可能变成0,0可能变成1。

三、差错检测的方法

1).奇偶检验

1. 定义:

在待发送的数据后面添加1位奇偶校验位,使整个数据(包括所添加的检验位在内)中 "1"的个数为奇数(奇校验)或偶数(偶校验)

2.实现过程:

a. 双方采用 奇校验

发送方发送的数据:(1 0 1 1 0 1)
实际发送的数据为:(1 0 1 1 0 1 1
其中 1为校验位,奇校验--------保证“1”的个数为奇数。

传输过程产生1位误码 (第六位由 1 变为 0

接收方接收的数据:(1 0 1 1 0 0 1

此时 “1”的个数不是奇数

则 判定传输出错。

b. 双方采用 偶校验

发送方发送的数据:(1 0 1 1 0 1)
实际发送的数据为:(1 0 1 1 0 1 0
其中 0为校验位,偶校验--------保证“1”的个数为偶数。
传输过程产生1位误码 (第五位由 0 变为 1

接收方接收的数据:(1 0 1 1 1 1 0

此时 “1”的个数不是偶数

则 判定传输出错。

3.缺点:

如果有奇数个位发生误码,则奇偶性发生变化,可以检出误码。
如果有偶数个位发生误码,则奇偶性不发生变化,不能检出误码。

举例:

以上述奇校验为例

传输过程产生2位误码
发送的数据为:(1 0 1 1 0 1 1
接收方 -----------(1 1 1 0 0 1 1

“1”的个数仍为 奇数 ,但是传输过程已经出错。

2).CRC循环冗余检验

你可能感兴趣的:(计算机网络)