【计算机网络篇】数据链路层(3)差错检测
文章目录
- 🥚误码
- 🍔两种常见的检错技术
- ⭐奇偶校验
- ⭐循环冗余校验
- 🎈例子
🥚误码
误码首先介绍误码的相关概念

🍔两种常见的检错技术
⭐奇偶校验
奇校验是在待发送的数据后面添加1个校验位,使得添加该校验位后的整个数据中比特1的个数为奇数
偶校验是在待发送的数据后面添加1个校验位,使得添加该校验位后的整个数据中比特1的个数为偶数
我们来看下面的例子
奇校验
偶校验
于是我们得到了下面的结论
在所传输的数据中,如果有
奇数个位发生误码,则所包含比特1的数量的奇偶性会发生改变,可以检测出误码。
在所传输的数据中,如果有偶数个位发生误码,则所包含比特1的数量的奇偶性不会发生改变,无法检测出误码(漏检)。
⭐循环冗余校验
数据链路层广泛使用漏检率极低的循环冗余校验(Cyclic Redundancy Check,CRC)检错技术。
循环冗余校验CRC的基本思想:
收发双方约定好一个
生成多项式G(X)。
发送方基于待发送的数据和生成多项式G(X),计算出差错检测码(冗余码),将冗余码添加到待发送数据的后面一起传输。
接收方收到数据和冗余码后,通过生成多项式G(X)来计算收到的数据和冗余码是否产生了误码。
发送方CRC操作
如下图所示
进行除法,将待发送的数据作为被除数的一部分,后面添加生成多项式最高次个0以构成被除数。
生成多项式各项系数构成的比特串作为除数,进行除法,得到商和余数

将余数添加到发送数据的后面,一起发送。
注意:
商仅作为标记,防止计算过程对错位
余数的长度应与生成多项式最高次数相同,作为冗余码
这里的除法是指:二进制模2除法,二进制模2除法既不向上进位,也不比较除数和被除数的对应位数值的大小,只要以相同位数进行相除即可,相当于对应位进行逻辑异或运算
接收方CRC操作
如下图所示
与发送方类似,也要进行除法。
将收到的数据和冗余码作为被除数,生成多项式各项系数构成的比特串作为除数,进行除法,得到商和余数。
如果余数为0,就可判定数据和冗余码中没有出现误码,否则出现了误码
生成多项式举例

🎈例子
发送方

将冗余码添加到待发送数据的后面进行发送

接收方

注意:
数据链路层的差错检测通常通过循环冗余检验(CRC)来实现。CRC是一种基于多项式除法的技术,用于对数据帧进行检验,以确定数据在传输过程中是否发生了错误。
在数据链路层,发送方在发送数据帧之前会计算出一个CRC码,并将其附加到数据帧的尾部。接收方在接收数据帧后,也会计算接收到的数据帧中的CRC码,然后与接收到的CRC码进行比较。如果两者不一致,则表明数据帧在传输过程中发生了错误。
通过CRC的差错检测,数据链路层能够及时发现数据帧中的比特错误,从而提高数据传输的可靠性。
相关文章:
【计算机网络篇】数据链路层(3)差错检测
文章目录 🥚误码🍔两种常见的检错技术⭐奇偶校验⭐循环冗余校验🎈例子 🥚误码 误码首先介绍误码的相关概念 🍔两种常见的检错技术 ⭐奇偶校验 奇校验是在待发送的数据后面添加1个校验位,使得添加该校验…...
软件配置管理计划
1. 配置管理目标 本软件配置管理计划的目标在于确保软件开发生命周期内的所有配置项(CI)都得到适当的标识、控制、版本管理和追踪。通过实施有效的配置管理,我们的目标是: 保持配置项的一致性和完整性。确保配置项的可追溯性。减…...
嵌入式备考错题汇总
若某条无条件转移汇编指令采用直接寻址,则该指令的功能是将指令中的地址码送入()。 A.PC(程序计数器) B.AR(地址寄存器) C.AC(累加器) D.ALU(算术逻辑运算单元) 解析:选A,直接寻址是指操作数存放在内存单元中,指令中直接给出操作数所在存储单…...
38 mars3d 对接地图图层 绘制点线面员
前言 这里主要是展示一下 mars3d 的一个基础的使用 主要是设计 接入地图服务器的 卫星地图, 普通的二维地图, 增加地区标记 基础绘制 点线面园 等等 测试用例 <template><div style"width: 1920px; height:1080px;"><div class"mars3dClas…...
什么是Webhook 和 HTTP Endpoint?
Webhook 和 HTTP Endpoint 都是基于HTTP协议的网络通信概念,但它们在使用场景和目的上有所不同。 Webhook Webhook 是一种允许一个应用程序提供实时信息给其他应用程序的方法,这种通信是基于HTTP的“回调”或“钩子”。Webhook 通常被用来在一种服务上…...
小程序跨端组件库 Mpx-cube-ui 开源:助力高效业务开发与主题定制
Mpx-cube-ui 是一款基于 Mpx 小程序框架的移动端基础组件库,一份源码可以跨端输出所有小程序平台及 Web,同时具备良好的拓展能力和可定制化的能力来帮助你快速构建 Mpx 应用项目。 Mpx-cube-ui 提供了灵活配置的主题定制能力,在组件设计开发阶…...
GDC期间LayaAir启动全球化战略
3 月 18 日至 3 月 22 日,一年一度的游戏开发者大会(GDC)在美国旧金山举行。在此期间,Layabox宣布LayaAir引擎启动全球扩张战略,这标志着引擎将步入快速发展的新阶段。此举旨在利用公司先进的3D引擎技术,将…...
人工智能之Tensorflow批标准化
批标准化(Batch Normalization,BN)是为了克服神经网络层数加深导致难以训练而诞生的。 随着神经网络的深度加深,训练会越来越困难,收敛速度会很慢,常常会导致梯度消失问题。梯度消失问题是在神经网络中,当前…...
自动化的免下车服务——银行、餐厅、快餐店、杂货店
如果您在20世纪70年代和2020年分别驾车经过免下车服务餐厅(汽车穿梭餐厅),您会发现,唯一的不同是排队的车型。50多年来,免下车技术一直为我们提供着良好的服务,但现在也该对它进行现代化改造了。 乘着AI和自…...
Git常用指令总结
Git常用指令总结 下载git,这个不需要交的!!! 1、初始化自己的git仓库 git config --global user.name “Your name” 配置自己的用户名 git config --global user.email “mailexample.com” 配置邮箱 git config --global c…...
水果软件FL Studio 21 for mac 21.2.3.3586破解版的最新版本2024介绍安装
音乐是人类最美好的语言,它能够跨越国界、文化和语言,将人们紧密地联系在一起。在当今数字化时代,音乐创作已经不再是专业人士的专利,越来越多的音乐爱好者开始尝试自己动手制作音乐。而FL Studio21中文版编曲软件正是这样一个为你…...
【保姆级】前端使用node.js基础教程
文章目录 安装和版本管理:npm 命令(Node 包管理器):运行 Node.js 脚本:调试和开发工具:其他常用命令:模块管理:包管理:调试工具:异步编程和包管理:…...
xilinx的高速接口构成原理和连接结构
本文来源: V3学院 尤老师的培训班笔记【高速收发器】xilinx高速收发器学习记录Xilinx-7Series-FPGA高速收发器使用学习—概述与参考时钟GT Transceiver的总体架构梳理 文章目录 一、概述:二、高速收发器结构:2.1 QUAD2.1.1 时钟2.1.2 CHANNEL…...
git 上传文件夹至远端仓库的方法
上传的远端git可以是gitlab、github、gitee、gitblit或者gitCode等等 以下以GitHub为例说明: 1、登录GitHub网站(账户/密码) 2、创建一个新的空白项目(或者已有的项目)hello-world 分支是master ,这里默认即…...
【鸿蒙系统】 ---OpenHarmony加快本地编译(二)
💌 所属专栏:【鸿蒙系统】 😀 作 者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! 💖 欢…...
centos配置natapp 自动配置
下载配置文件 centos 这里 我用的 natapp_autostart-master\natapp_autostart-master\systemd 文件夹下的 natapp.service 上传natapp 运行natapp客户端 在 https://natapp.cn 官网 下载客户端. 放在目录 /usr/natapp/ 运行 sudo chmod ax /usr/natapp/natapp给予可执行权…...
sell脚本多行合成一行
awk {ORS",\n"}{print $2} 120w-3-ws | awk {if(NR%10!0)ORS"";else ORS"\n"}{print $1 >> "newRefundIds.txt"}RS是awk读取文件时的行分隔符 ORS则是awk输出时的行结束符 FS是awk读入记录时的列分隔符 OFS则是awk输出时的列…...
部署prometheus 监控k8s集群
目录 1、主机清单 2、拉取镜像 3、服务安装 4、安装prometheus-operator 5、查看custom metrics api 6、获取prometheus端口 7、将 alertmanager-main 、grafana、prometheus-k8s的端口暴露出来 8、再次查看prometheus端口 9、浏览器访问IP:31940 部署k8集群…...
两个基本功不足导致的bug
作为程序员,基本功不好,可能会在工作中经常碰到一些看起来很隐蔽的 bug,乍看没毛病,自己半天还找不到问题所在。 但是,如果基本功扎实的同学可能一眼就能看出来。 一、HashMap 取不到值 Map<Integer, Integer>…...
【算法每日一练]-图论(保姆级教程篇16 树的重心 树的直径)#树的直径 #会议 #医院设置
目录 树的直径 题目:树的直径 (两种解法) 做法一: 做法二: 树的重心: 题目: 会议 思路: 题目:医院设置 思路: 树的直径 定义:树中距离最…...
ARM指令追踪技术及TRCVICTLR寄存器详解
1. ARM指令追踪技术概述在嵌入式系统开发和调试过程中,指令追踪(Instruction Trace)是一项至关重要的技术。它通过硬件机制记录处理器的执行流程,为开发者提供程序运行的完整轨迹。ARM架构从v7开始引入嵌入式跟踪宏单元࿰…...
AI大模型应用开发全攻略:从入门到精通,掌握LLM、RAG、Agent核心技能!“
本文全面介绍了AI大模型应用开发的核心技术和实践。从大模型API交互基础,到关键参数Messages和Tools的作用,深入解析了RAG、ReAct、Agent等应用范式。文章还探讨了Fine-tuning微调和Prompt提示词工程的重要性,强调工程实践与业务需求相结合。…...
告别鼠标手!5分钟上手开源鼠标连点器MouseClick,轻松实现自动化点击
告别鼠标手!5分钟上手开源鼠标连点器MouseClick,轻松实现自动化点击 【免费下载链接】MouseClick 🖱️ MouseClick 🖱️ 是一款功能强大的鼠标连点器和管理工具,采用 QT Widget 开发 ,具备跨平台兼容性 。软…...
神经网络与深度学习 第3周课程总结
深度学习视觉应用课程总结 一、常用计算机视觉数据集数据集名称发布方/年份规模图像规格类别数主要用途核心特点MNIST美国国家标准与技术研究院60k训练10k测试2828灰度图10类(0-9手写数字)入门级图像分类最经典的手写数字识别基准数据集Fashion-MNISTZalando(2017)60k训练10k测…...
真可用!美团数字人模型开源,MV、电商等统统拿下
美团开源的数字人视频生成框架 LongCat-Video-Avatar 刚刚更新到 1.5 版本。是真能用。这版更新把音频编码器换了,推理步数砍到8步,在770人、13240条主观评分的大规模评测里,雷达图面积全面领先。音频编码器换血,8步出图LongCat-V…...
NBTExplorer:让Minecraft数据编辑从专业工具变成人人可用的可视化平台
NBTExplorer:让Minecraft数据编辑从专业工具变成人人可用的可视化平台 【免费下载链接】NBTExplorer A graphical NBT editor for all Minecraft NBT data sources 项目地址: https://gitcode.com/gh_mirrors/nb/NBTExplorer 你是否曾经面对Minecraft世界文件…...
BetterJoy终极指南:3分钟让你的Switch手柄变身PC游戏神器
BetterJoy终极指南:3分钟让你的Switch手柄变身PC游戏神器 【免费下载链接】BetterJoy Allows the Nintendo Switch Pro Controller, Joycons and SNES controller to be used with CEMU, Citra, Dolphin, Yuzu and as generic XInput 项目地址: https://gitcode.c…...
绝了!原来毕业论文还能这样写?2026降AIGC工具推荐合集
还在为查重率爆红、AI痕迹太明显、格式乱成一团而发愁?2026 年的 AI 论文工具早已不只是写文章那么简单,从选题构思到降AIGC率、去AI痕迹、查重优化,全流程智能辅助,帮你把论文写作变得简单高效,告别熬夜改稿的焦虑&am…...
终极指南:用AlwaysOnTop免费开源工具彻底改变你的Windows工作方式
终极指南:用AlwaysOnTop免费开源工具彻底改变你的Windows工作方式 【免费下载链接】AlwaysOnTop Make a Windows application always run on top 项目地址: https://gitcode.com/gh_mirrors/al/AlwaysOnTop 你是否经常在多个窗口间来回切换,浪费宝…...
Actor Framework里的“多米诺骨牌”:一个错误如何让整个嵌套操作者链崩溃?
Actor Framework中的“多米诺效应”:如何避免嵌套操作者链的崩溃 在分布式系统设计中,Actor模型因其天然的并发处理能力而备受青睐。LabVIEW的Actor Framework(AF)通过操作者(actor)的嵌套结构,为复杂系统提供了模块化解决方案。然而&#x…...


