【学习笔记】数据链路层的差错控制——检错编码与纠错编码(海明码、奇偶检验码与CRC循环冗余码)

文章目录

  • 前言
  • 一. 差错控制简介
  • 二.补充知识
  • 三. 检错编码
    • (1)奇偶检验码
      • 组成:
      • 构造方法:以奇检验码为例。
      • 举个例子:
        • 检验码求法:
        • 错误检测方法:
      • 特点
    • (2)CRC循环冗余检验码
      • 三要素:
      • 考察点:冗余码的计算
        • 1) 加0
        • 2)模2除法
        • 3)来个例子吧!
          • 检验码获取
          • 检错部分
    • 3)检错编码后言
  • 三. 纠错编码(海明码)
    • 1)海明码特点
    • 2)工作原理
    • 3)工作流程
      • I. 确定检验码位数r
      • II. 确定检验码位置
      • III. 求出检验码的值
      • IV. 检错并纠错

前言

这篇文章是基于B站王道考研的教程写的。
文章图片会有不少引用课程ppt。

以下思维导图概括了本文的内容。
本文思维导图

一. 差错控制简介

  • 差错是由噪声引起的

  • 全局性:固有噪声,随机存在。
    解决方法:提高信噪比来减小干扰

  • 局部性:由外界原因导致的冲击噪声,是差错的主要原因
    解决方法:通常是用编码技术

  • 差错类型:帧错 & 位错
    1)帧错:三种类型,以传输[1]、[2]、[3]三个帧为例子
    a.丢失:只收到[1] [3]——丢失了[2]
    b.重复:收到了[1] [2] [2] [3]——[2]重复了。
    c.失序:收到[1] [3] [2]——[2]和[3]的顺序错了。

    2)位错:比特位出错,1变成0,或者0变成1。

二.补充知识

  • 为什么要进行差错控制:可以节约资源,提升效率。
  • 同样是编码,物理层面向单个比特,而数据链路层面向的是一组比特
  • 数据链路层都是用冗余编码技术检错

三. 检错编码

开始到本文重点了。
检错编码分为奇偶检验码与CRC循环冗余码。
特点:只能检查出了错,具体错在哪位并不清楚

(1)奇偶检验码

组成:

由第1位的检验元,与后n-1位的信息元组成。

可以是奇检验码,也可以是偶检验码。区别在于检验码中为’1’的比特的数量是奇数还是偶数。

构造方法:以奇检验码为例。

1)首先计算为’1’的比特的数量。
2)如果1)中结果为偶数,则检验元设为1(让偶变奇),否则检验元设为0(保持偶)

举个例子:

在这里插入图片描述

检验码求法:

传输数据1100101有4个’1’,因此我们把检验元设置为1,得到奇检验码为1 1100101。

错误检测方法:

我们可以看到,选项中,ABC的’1’都是偶数个,说明我们传输的奇检测码出错了。而D选项,我们很容易看出传输出了错,但是由于D选项的‘1’也是奇数个,因此这种检验码无法检测出它的错误。

特点

只能检查出奇数个数比特的错误,检错能力为50%。
(这个特点可以自己思考一下,原理挺简单的)

(2)CRC循环冗余检验码

三要素:

  • 传输数据
  • 生成多项式
  • 冗余码/FCS帧检验序列

可参考这个图片的例子理解
在这里插入图片描述

考察点:冗余码的计算

1) 加0

根据生成多项式的阶数,给传输数据加0

2)模2除法

用经过1)步骤后的传输数据除以生成多项式,来获得冗余码。
除法过程中用到的不是减法,而是异或

3)来个例子吧!

图片可能有点乱,见谅= =在这里插入图片描述

检验码获取

在这个例子中,我们就是用到的异或除法来获取冗余码。
由此,我们得到了检验码
数据 + 冗余码:1101 0110 11 1110(粗体为冗余码)

检错部分

左边为具体过程,右边为过程描述。
概括起来就是:接收端对接受到的数据,用同样的除数(本例中为10011)进行同样的异或除法。如果余数为0,说明没错
在这里插入图片描述

3)检错编码后言

总结一下下图,就是:

  1. 凡是接收端数据链路层接收的帧均认为无差错(接近1的概率)
  2. CRC实现无比特差错传输,但还并不是可靠传输
  3. 可靠传输:数据链路层发送端发送什么,接收端就收到什么。
    在这里插入图片描述

三. 纠错编码(海明码)

1)海明码特点

发现双比特错,纠正单比特错

2)工作原理

动一发而牵全身。
也就是一个比特,被多个检验码检验。

3)工作流程

在这里插入图片描述
接下来根据顺序来进行工作流程的描述。

I. 确定检验码位数r

依据就是这个海明不等式,图片右边是例子。
在这里插入图片描述

II. 确定检验码位置

由I确定检验码有4位,即P1,P2,P3,P4。

在这里插入图片描述
检验码放置有一个要求:放置于2的n次方位置
在这里就是1,2,4,8四个下标。
在这里插入图片描述
接下来,按顺序把传输数据分别填入剩下的空位。同时把传输数据的实际值也填好。
在这里插入图片描述

III. 求出检验码的值

首先我们要知道,每个检验码分别控制哪些数据
现在更换数据位的进制,换成二进制
在这里插入图片描述
检验码控制数据,是按照其占据数据位的二进制的1的位置来判断的。
如果某个数据占据的数据位,在相同位置也有1,那么这个数据被该检验码控制。
比如此处的P1,占据0001的位置,那么0011、0101、0111、1001都被P1控制,也就是D1、D2、D4、D5被控制。

接下来根据这个性质,就可以求出P1的实际值

检验码和所有控制值的异或,最终结果为0

假设值为X,有 X ⊕ D1 ⊕ D2 ⊕ D4 ⊕ D5 = 0
带入实际值,有 X ⊕ 1 ⊕ 0 ⊕ 1 ⊕ 0 = 0
由此有 X ⊕ 0 = 0,从而得出 X = 0。

以此类推,依次求出P2、P3、P4即可。
在这里插入图片描述
由此可知海明码:0010 0111 01

IV. 检错并纠错

此处只需令所有检验码进行和III相同的异或计算即可。
在这里插入图片描述

偷懒了,不过ppt写得很清楚,就直接摆上来了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/504660.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【学习笔记】数据链路层——流量控制:停止等待协议、后退N帧协议(GBN)、选择重传协议(SR)

文章目录一. 流量控制① 必要性② 数据链路层 VS 传输层③ 定义④ 方法1)停止等待协议2)滑动窗口协议关系:包括:3)协议对比二. 停止-等待协议必要性应用情况① 无差错情况② 有差错情况1)数据帧丢失&#x…

java线程唤醒与等待_Java线程的等待与唤醒

生产者和消费者必须使用同步代码块包裹起来,保证等待和唤醒只能有一个执行,同步使用的锁对象必须保证唯一Thread中重要方法void wait() 在其他线程调用此对象的notify()方法或notifyall()方法前,导致当前线程等待void notify() 唤醒在此对象监…

【学习笔记】数据链路层——信道划分访问控制(FDM、TDM、STDM、WDM、CDM CDMA)

PPT截自王道考研B站教程 一. 铺垫知识 ① 传输数据使用的两种链路 星型、总线型都是广播式结构。 星型更有容错率,总线型断一个则全断。 ② 介质访问控制 定义 采取一定措施,使得两对节点之间的通信不会发生互相干扰的情况。 分类 多路复用&…

【学习笔记】数据链路层——随机访问介质访问控制(ALOHA、CSMA、CSMA/CD、CSMA/CA),截断二进制指数规避算法

文章目录小前言一. ALOHA协议纯ALOHA协议时隙ALOHA协议ALOHA对比CSMA协议定义与分类① 1-坚持CSMA② 非坚持CSMA③ p-坚持CSMA总结CSMA/CD协议传播时延对载波监听的影响确定重传时机:截断二进制指数规避算法最小帧长问题CSMA/CA协议工作原理CSMA/CD 与 CSMA/CA的对比…

pca算法介绍及java实现_PCA算法原理及实现

众所周知,PCA(principal component analysis)是一种数据降维的方式,能够有效的将高维数据转换为低维数据,进而降低模型训练所需要的计算资源。以上是比较官方的说法,下面是人话(正常人讲的话)版。pca就是一种能够有效压缩数据的方…

【学习笔记】数据链路层——轮询访问介质控制(轮询协议、令牌传递协议)

文章目录一. 轮询访问介质控制二. 轮询协议三. 令牌传递协议结束语PPT截自王道考研B站教程 一. 轮询访问介质控制 结合了前面的信道划分访问控制、随机访问MAC协议的优点: 既要不产生冲突,又要发送时占全部带宽。 二. 轮询协议 轮询开销:…

【学习笔记】局域网基本概念和体系结构,以太网、无线局域网与PPP协议、HDLC协议

文章目录一. 局域网:特点与要素① 拓扑结构② 传输介质③ 介质访问控制方法④ 局域网的分类⑤ IEEE 802标准⑥ MAC子层和LLC子层二. 以太网① 概述② 提供无连接、不可靠的服务③ 传输介质与拓扑结构的发展④ 10BAST-T以太网⑤ 适配器与MAC地址⑥ 以太网MAC帧⑦ 高速…

【学习笔记】数据链路层——链路层设备:物理层拓展以太网、链路层拓展以太网与冲突域和广播域

文章目录一. 冲突域与广播域① 定义与对比图② 例子二. 物理层扩展以太网三. 链路层扩展以太网① 网桥定义透明网桥源路由网桥② 以太网交换机PPT截自B站王道考研教程 本文内容导图 一. 冲突域与广播域 可以先只是简单看看定义,然后看完二、三后再回来看对比图和…

【学习笔记】网络层——概述、数据交换方式:电路交换、报文交换与分组交换(数据报与虚电路)

文章目录一. 概述二. 数据交换方式① 电路交换② 报文交换③ 分组交换④ 分组交换 && 报文交换举例对比⑤ 三种数据交换方式比较总结三. 分组交换的两种方式① 定义传输单元名词辨析② 数据报③ 虚电路④ 数据报与虚电路的对比ppt截自王道考研B站教程 太不容易了&#…

【学习记录】网络层——IP数据报(格式与分片)

文章目录一. IP数据报格式二. IP数据报分片① 为什么要分片?② 标识、标志与片偏移③ 例题单位为nB小结PPT截自王道考研教程 tips:b是位,B是字节。 一. IP数据报格式 在本章节中,暂时不区分IP数据报与分组。 生存时间(Time To Live)&#xf…

自动驾驶学习笔记(二十二)——自动泊车算法

#Apollo开发者# 学习课程的传送门如下,当您也准备学习自动驾驶时,可以和我一同前往: 《自动驾驶新人之旅》免费课程—> 传送门 《Apollo开放平台9.0专项技术公开课》免费报名—>传送门 文章目录 前言 感知算法 定位算法 规划算法…

【学习笔记】 IPv4地址、NAT与子网掩码、子网划分

文章目录一. IP地址① 在例子中理解③ IP地址的分类④ 特殊IP地址⑤ 私有IP地址⑥ 各类IP的对比二. NAT三. 子网划分与子网掩码① 子网划分② 子网掩码例题1例题2③ 使用子网时路由的转发PPT截自王道考研教程 一. IP地址 可以理解成上网设备的身份证号唯一点分十进制&#xff…

java对象底层原存储结构图解_图解图库JanusGraph系列-一文知晓“图数据“底层存储结构...

大家好,我是洋仔,JanusGraph图解系列文章,实时更新~图数据库文章总目录:转载文章请保留以下声明:一:存储模式留言或私信我,邀请你加入“图数据库交流”微信群!1、图内容本文以下所有…

【学习笔记】网络层——无分类编址CIDR、ARP协议、DHCP协议和ICMP协议

文章目录一. CIDR① 定义② 构成超网③ 最长前缀匹配二. ARP协议① 定义② 例题三. DHCP协议① 主机如何获取IP②DHCP协议四. ICMP协议① ICMP差错报告报文类型(5种)数据字段不发送的情况② ICMP询问报告报文类型应用一. CIDR ① 定义 在点分十进制后加…

【学习笔记】网络层——IPv6:地址表示、IPv4的对比、IPv4过渡到IPv6、基本地址类型等

文章目录一.1) 为什么要有IPv62)数据报格式3)IPv4和IPv6的区别4)IPv6地址表示形式5)IPv6基本地址类型6)IPv4到IPv6的过渡方法一. 1) 为什么要有IPv6 CIDR、NAT只是缓解IPv4空间殆尽,治标不治本。 而IPv6可…

【学习笔记】网络层——网络层设备、移动IP、IP组播

文章目录一. 网络层设备1)三层设备的区别2)路由表与路由转发二. 移动IP① 定义相关术语:实际过程:三. IP组播① IP数据报的三种传输方式② IP组播地址③ IGMP协议与组播路由选择协议网际组管理协议IGMP组播路由选择协议一. 网络层…

larval+mysql+不等于_MySQL学习日记(19)比较运算符

比较运算符比较对象 比较运算符 子查询mysql> SELECT * FROM 运算符例子;----------| id | 数值 |----------| 1 | 1 || 2 | 3 || 3 | 5 || 4 | 7 || 5 | 9 || 6 | 11 || 7 | 13 |----------7 rows in set (0.01 sec)mysql> SELECT * FROM 运算符例子2;----------| id | …

【学习笔记】路由算法与路由协议:RIP协议与距离向量算法、OSPF协议与链路状态算法、BGP协议

文章目录一. 路由算法与路由协议概述① 路由算法的分类② 分层次的路由选择协议二. RIP协议和距离向量算法① RIP协议定义② RIP协议:交换对象、交换周期、交换内容③ 距离向量算法例题1例题2④ RIP协议的报文格式⑤ RIP协议:好消息传得快,坏…

【学习笔记】传输层:概述、UDP协议

文章目录一. 概述1)传输层的寻址与接口二. UDP协议1)定义2)首部格式3)UDP检验一. 概述 是主机才有的层次 两个协议:TCP & UDPTCP面向连接,UDP则不是QQ发一条信息(UDP);发一个大文件(TCP&am…

【学习笔记】传输层:TCP协议(报文段、连接管理{握手}、可靠传输、流量控制、拥塞控制)

文章目录一. 协议特点 & 报文段① 特点② 报文段首部格式二. TCP连接管理① 建立联系(三次握手)SYN洪泛攻击② 连接释放(四次挥手)三. TCP流量控制① 序号② 重传冗余ACK(快速重传)三. 流量控制① 定义…