计算机网络 第三章: 差错检测

文章目录

  • [1. 误码的相关概念](#1. 误码的相关概念)
  • [2. 奇偶校验](#2. 奇偶校验)
    • [2.1 定义](#2.1 定义)
    • [2.2 奇偶校验在实践中的应用](#2.2 奇偶校验在实践中的应用)
  • [3. 循环冗余校验](#3. 循环冗余校验)
    • [3.1 循环冗余校验CRC的基本思想](#3.1 循环冗余校验CRC的基本思想)
    • [3.2 发送方CRC操作](#3.2 发送方CRC操作)
    • [3.3 接受方CRC操作](#3.3 接受方CRC操作)
  • [4. 习题](#4. 习题)
  • [5. 解答](#5. 解答)

1. 误码的相关概念

实际的通信链路都不是理想的,比特在传输过程中可能会产生差错(称为比特差错):

  • 比特1可能变成比特0
  • 比特0可能变成比特1

在一段时间内,传输错误的比特数量占所传输比特总数的比率称为 误码率(Bit Error Rate,BER)。

提高链路的信噪比,可以降低误码率。但在实际的通信链路上,不可能使误码率下降为零。

使用 差错检测技术 来检测数据在传输过程中是否产生了比特差错,是数据链路层所要解决的重要问题之一

2. 奇偶校验

2.1 定义

奇校验 是在待发送的数据后面 添加1个校验位,使得添加该校验位后的整个数据中 比特1的个数为奇数。

偶校验 是在待发送的数据后面 添加1个校验位,使得添加该校验位后的整个数据中 比特1的个数为偶数。

通过上图可以看到, 如果采用奇校验, 产生2位误码(数据位和校验位各1位), "1"数量的奇性不改变,不能检出错误。

通过上图可以看到, 采用偶校验, 产生2位误码(数据位和校验位各1位), "1"数量的偶性不改变,不能检出错误。

在所传输的数据中,如果有奇数个位发生误码,则所包含比特1的数量的奇偶性会发生改变,可以检测出误码。

在所传输的数据中,如果有偶数个位发生误码,则所包含比特1的数量的奇偶性不会发生改变,无法检测出误码(漏检)。

在实际使用时,奇偶校验又可分为垂直奇偶校验、水平奇偶校验以及水平垂直奇偶校验。

2.2 奇偶校验在实践中的应用

尽管奇偶校验有其局限性,但它在某些场景中仍然有实际应用,主要原因包括其实现简单和计算开销低。以下是一些常见的应用场景:

  • 内存系统:

    在早期的计算机内存中,奇偶校验被广泛用于检测和纠正单比特错误。现代计算机内存通常使用更复杂的错误检测和纠正技术(如ECC内存),但奇偶校验仍然被用于一些简单的内存保护场景中。

  • 通信协议:

    一些简单的通信协议(尤其是在嵌入式系统中)使用奇偶校验来检测传输中的错误。这种方法对实现简单,适合资源受限的环境。

  • 数据存储:

    在一些简化的数据存储系统中,奇偶校验可以作为初步的错误检测手段。它通常与其他更复杂的错误检测和纠正机制一起使用。

  • 数据传输:

    在某些网络通信中,奇偶校验用作额外的错误检测手段,尤其是在需要快速检测数据错误但不要求高可靠性的应用中。

3. 循环冗余校验

数据链路层广泛使用 漏检率极低 的循环冗余校验(Cyclic Redundancy Check,CRC)检错技术。

3.1 循环冗余校验CRC的基本思想

  1. 收发双方约定好一个生成多项式G(X)。
  2. 发送方基于待发送的数据和生成多项式G(X),计算出差错检测码(冗余码),将冗余码添加到待发送数据的后面一起传输。
  3. 接收方收到数据和冗余码后,通过生成多项式G(X)来计算收到的数据和冗余码是否产生了误码。

3.2 发送方CRC操作

3.3 接受方CRC操作

举例

注意:

奇偶校验 循环冗余校验等差错检验技术, 只能检测出传输过程中出现了差错, 但并不能定位错误, 因此无法纠正错误.

要想纠正传输中的差错, 可以使用冗余信息更多的纠错码(例如海明码) 进行前向纠错. 但纠错码开销比较大, 在计算机网络中较少使用.

在计算机网络中, 通常采用检错重传方式来纠正传输中的差错, 或者仅仅丢弃检测到差错的桢, 这取决于数据链路层向上层提供的是可靠传输服务还是不可靠传输服务.

=循环冗余校验CRC具有很好的检错能力 (漏检率极低), 虽然计算比较复杂, 但 非常易于用硬件实现, 因此被广泛应用于数据链路层.


4. 习题

【CRC举例1】 待发送的数据为101001,生成多项式为G(X)= X^3+ X^2+1,计算冗余码。

【CRC举例2】 接收到的信息为101101001,生成多项式为G(X)= X^3+ X^2+1,判断传输是否误码?


5. 解答

【CRC举例1】

【CRC举例2】

相关推荐
万法若空40 分钟前
端口扫描关键技术研究
网络
zbtlink1 小时前
路由器不是一个产品,而是一个系列
网络·智能路由器·信号处理
运维全栈笔记1 小时前
Docker一键部署Immich:自建私有云相册,照片视频备份无忧
linux·服务器·网络·docker·容器
txg6661 小时前
网络安全领域简报(2026年5月1日~5月8日)
网络·安全·web安全
yyuuuzz1 小时前
企业出海中的技术稳定性问题梳理
运维·服务器·网络·github·aws
哼?~1 小时前
再谈UDP协议
网络·网络协议·udp
进阶的猪1 小时前
主机、虚拟机、开发板网络通信排错日志
linux·网络
路溪非溪1 小时前
BLE MESH基础知识总结
网络·网络协议·智能路由器·射频工程
Yang96112 小时前
鼎讯信通 Smart-S1:超便携带光测试光时域反射仪优选
网络·信号处理
Yang96112 小时前
12 小时续航 + 1.5kg 便携!鼎讯信通 OTDR 适配复杂野外运维
运维·网络