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

文章目录

  • [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】

相关推荐
GIR12338 分钟前
研究更新:2026年网络协议分析工具发展前景与竞争格局报告(附市场占有率与产业链图谱)
网络·网络协议
数据知道1 小时前
OWASP Top 10 实战通关指南:总览篇
网络·安全·网络安全
Yang96111 小时前
从GN-W10A看多业务融合测试:如何统一以太网与SDH的验证标准
网络
砚凝霜2 小时前
软考网络工程师|第 5 章 广域网基础技术完整备考笔记
网络·笔记
国科安芯2 小时前
卫星星务计算机数据管理中SEU容错机制的技术实现研究——以AS32S601存储器ECC架构为例
网络·单片机·算法·fpga开发·架构·云计算·risc-v
Lust Dusk3 小时前
记一次web渗透做题思路解析
网络·安全·web安全·网络安全
U-Mail邮件系统4 小时前
企业邮箱搭建用自建还是租用?合规、成本与安全性对比解析
服务器·网络·企业邮箱系统
七夜zippoe4 小时前
DolphinDB 能耗优化实战:节能策略设计、效果评估与 ROI 分析
网络·dolphindb·roi·效果评估·能耗优化·策略设计
木由里予5 小时前
TEE(Trusted Execution Environment)技术详解
java·linux·开发语言·网络·嵌入式硬件·android-studio
Sagittarius_A*5 小时前
Burst Lab|PHP 审计 10:PHP 网络请求与 SSRF 漏洞审计思路
网络·安全·web安全·php·代码审计