DJ5-2 差错检测和纠错

这篇具有很好参考价值的文章主要介绍了DJ5-2 差错检测和纠错。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、差错检测和纠错技术

1、发送节点

2、接收节点

3、说明

二、差错检测技术

1、一比特奇偶校验

2、二维奇偶校验

3、Internet 校验和方法(复习)

4、循环冗余检测 CRC

5、差错检测方法比较


一、差错检测和纠错技术

链路层提供比特级差错检测和纠正这两种服务。EDC 是差错检测和纠正比特。

DJ5-2 差错检测和纠错

① 比特级差错检测和纠正

是指对从一个节点发送到另一个物理上连接的邻近节点的链路层帧中的比特损伤进行检测和纠正。

主要的差错检测技术有:奇偶校验、Internet 校验和、循环冗余检测。

② 差错检测并非 100% 可靠

差错校验位越多,差错检测和纠正效果越好。

DJ5-2 差错检测和纠错

1、发送节点

  • 将数据 D 以及附加的差错检测和纠错位 EDC 一起发送到链路。

差错检测和纠正的保护范围覆盖了数据 D 的所有字段。数据 D 不仅包括从网络层传递下来需要通过链路传输的数据报,还包括链路帧首部中的链路级寻址信息、序列号和其它字段。

2、接收节点

接收比特序列 D' 和 EDC' 。

接收方根据 D' 和 EDC',判断 D' 是否和初始的 D 相同,即 D 的传输是否正确。

  • 正确:解封取出数据报,交付给网络层。
  • 出错:进行差错处理。

如果发生传输比特错误(0→1,1→0),D' 和 EDC' 可能与发送的 D 和 EDC 不同。


 

3、说明

① 差错检测和纠正技术不能保证接收方能检测到所有的比特差错。

即接收方并未发现有比特差错,更不用提知道是哪一位发生差错了。

② 选择一个合适的差错检测方案使未检测到的情况发生的概率很小即可。

③ 差错检测和纠错技术越好,越复杂,开销更大。

二、差错检测技术

三种主要差错检测技术

  • 奇偶校验:最基本的方法。
  • Internet 校验和:常用于运输层。
  • 循环冗余检测:常用于链路层。

1、一比特奇偶校验

DJ5-2 差错检测和纠错

发送方:

  • 在要发送的信息 D(d 位)后面附加一个奇偶校验位
  • 使 “1” 的个数是奇数(奇校验)或者是偶数(偶校验)
  • 一起传输发送(d+1 位)

接收方:

  • 检测收到的信息(d+1 位)中 “1” 的个数。
  • 偶校验:发现奇数个 “1”,至少有一个比特发生差错(奇数个比特差错)。
  • 奇校验:发现偶数个 “1”,至少有一个比特发生差错。

一比特奇偶校验只能检测出奇数个比特差错,不能检测出偶数个比特差错,因为偶数个 0→1,1→0 将会彼此抵消。

特点:

  1. 可以检查出任意奇数个错误,但不能发现任意偶数个错误。
  2. 若比特差错概率很小,差错独立发生,一比特奇偶校验可满足要求。
  3. 若比特差错集中在一起 “突发”,则一帧中未检测到差错的概率达到 50% 。

一比特奇偶校验只能检测到差错,不能指出是哪一位发生了差错。

2、二维奇偶校验

DJ5-2 差错检测和纠错

基本思想:

  • 将要传信息 D(d 比特)划分为 i 行 j 列
  • 分别对每行和每列信息进行相应的奇偶检验
  • 帧的差错检测比特最终由 i+j+1 个奇偶比特构成

特点:

  1. 可以检测并纠正单个比特差错。
  2. 能够检测但不能纠正分组中任意两个比特的差错。

DJ5-2 差错检测和纠错

3、Internet 校验和方法(复习)

发送方:

  1. + 伪首部;
  2. 以 16 位为单位切割数据;
  3. 将所有16 位整数求和并回卷;
  4. 对得到的和进行逐位取反 -- 校验和;
  5. 将校验和放入报文段首部,一起发送。

接收方:

对接收到的信息按与发送方相同的方法进行求和。

  • 全 “1”:收到的数据无差错;
  • 若有 “0”:收到的数据出现差错。

特点:

  • 分组开销小:因为校验和的位数比较少。
  • 差错检测能力弱:适用于运输层,差错检测用软件实现,检查和方法简单、快速。

链路层的差错检测由适配器中专用的硬件来实现,采用更强的 CRC 方法。

4、循环冗余检测 CRC

cyclic redundancy check 

CRC 编码:即多项式编码,把要发送的比特串看作为系数是 0 或 1 的一个多项式,对比特串的操作看作为多项式运算。

校验码的具体生成过程为:假设发送信息用信息多项式 C(X) 表示,将 C(x) 左移 R 位,则可表示成 C(x)*2R,这样 C(x) 的右边就会空出 R 位,这就是校验码的位置。通过 C(x)*2R 除以生成多项式 G(x) 得到的余数就是校验码。

DJ5-2 差错检测和纠错

基本思想:发送方和接收方先共同选定一个生成多项式 G(r+1 比特),最高有效位是 1 。

① 发送方

  • 将位数为 G 位数减一的全 0 附加比特 R(r)添加到数据 D 的后面生成 DR(d+r)
  • 用 DR 去除以 G,将得到的余数替换全 0 的 R,成为新的 R,并一起发送

由于最终 DR 是初始 DR 加上初始 DR/G 的余数,因此最终 DR 能被生成多项式 G 整除。

② 接收方

用接收到的 DR(d+r)去除以 G:

  • 余数非 0:传输发生差错
  • 余数为 0:传输正确,去掉尾部 r 位以得到所需数据 D(r)

CRC 举例:

DJ5-2 差错检测和纠错

注意:在除的过程中,不是用上面一项减去下面一项,而是将两者进行异或;位数不够则商 0,位数足够则商 1 。CRC 只能检测出小于等于 r 位的比特差错,但是能 100% 检测出。文章来源地址https://www.toymoban.com/news/detail-444647.html

5、差错检测方法比较

  • 奇偶校验能力最弱,CRC 校验能力最强。
  • 奇偶校验通常用于简单的串口通信。
  • Internet 校验和通常用于网络层及其之上的层次,要求简单快速的软件实现方式。
  • CRC 通常应用于链路层,一般是由适配器的硬件来实现。

到了这里,关于DJ5-2 差错检测和纠错的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • pyspark 检测任务输出目录是否空,避免读取报错

    前言 在跑调度任务时候,有时候子任务需要依赖前置任务的输出,但类似读取 Parquet 或者 Orc 文件时,如果不判断目录是否为空,在输出为空时会报错,所以需要 check 一下,此外Hadoop通常在写入数据时会在目录中生成一个名为_SUCCESS的文件来表示写入操作已成功完成,我们在

    2024年02月07日
    浏览(127)
  • 计算机网络:数据链路层之差错控制、奇偶校验码、CRC循环冗余码、海明码

    带你度过期末难关 文章目录 一、差错控制 1、冗余编码 2、编码VS编码 二、检错编码 1、奇偶校验码 2、CRC循环冗余码 三、纠错编码————海明码 海明距离 1、确定校验码位数r 2、确定校验码和数据的位置 3、求出校验码的值 4、检错并纠错 纠错的方法一: 纠错方法二: 总

    2024年02月04日
    浏览(54)
  • leetcode743. 网络延迟时间 DJ

    https://leetcode.cn/problems/network-delay-time/ 有 n 个网络节点,标记为 1 到 n。 给你一个列表 times,表示信号经过 有向 边的传递时间。 times[i] = (ui, vi, wi),其中 ui 是源节点,vi 是目标节点, wi 是一个信号从源节点传递到目标节点的时间。 现在, 从某个节点 K 发出一个信号。需要多

    2024年02月16日
    浏览(38)
  • DJ4-1 网络层概述

    目录 一、网络层提供的功能 二、路由和转发 三、数据平面和控制平面 四、网络层的服务模型 网络层实现主机与主机之间的通信 从发送方主机传输报文段到接收方主机: 发送方主机封装报文段 (segments) 为数据报 (datagrams) 接收方主机递交报文段给传输层 在每个主机和路由器

    2024年02月16日
    浏览(41)
  • 记录--不做码农而做 DJ 😎

    😎Coding 一定很累吧,快来跟我一起 Djing !!!😎   我的思路是通过监听 键盘按下 事件,在用户按下对应键时,找到相应的 按键元素 和 音频元素 ,通过添加和移除 CSS 类实现按键效果,并播放关联的音频文件。同时,通过事件监听器确保在按键元素的 过渡动画 结束时,

    2024年02月02日
    浏览(37)
  • DJ4-7 SDN、OpenFlow

    目录 一、SDN 1、SDN 的引入 2、SDN 体系结构的特征 3、SDN 控制器 4、SDN 通用转发 二、OpenFlow 1、SDN 的引入 软件定义网络 (Software Defined Network) SDN 源自美国斯坦福大学 Clean Slate 研究组提出的一种新型网络创新架构,可通过软件编程的形式定义和控制网络,具有控制平面和转发平

    2024年02月10日
    浏览(35)
  • DJ3-7 TCP:拥塞控制

    目录 一、拥塞控制概述 二、TCP 拥塞控制算法 1. 慢启动 2. 拥塞避免 3. 快速恢复 4. 状态转换图 5. 拥塞窗口的变化举例 1. 如何限制发送方发送速率 TCP 拥塞控制设置 拥塞窗口 变量,表示为 cwnd: 它对发送方向网络中发送流量的速率进行了限制 发送方中未被确认的数据量不会

    2024年02月10日
    浏览(34)
  • DJ4-5 基本分段存储管理方式

    目录 4.5.1  分段式存储管理方式的引入 4.5.2  分段式存储管理的基本原理 一、分段 二、段表 三、地址变换机构 4.5.3  段的共享和保护 一、分页共享 二、分段共享 4.5.4  段页式存储管理 一、段页式存储管理的引入 二、段页式存储管理 三、地址变换机构 四、评价 在程序员眼

    2024年02月07日
    浏览(37)
  • DJ8-2 主存储器的组织

    目录 一、主存容量的扩展 1. 位扩展 2. 字扩展(编址空间扩展) 3. 字和位同时扩展 - 第一题 - 第二题 - 第三题 - 第四题 二、数据校验 —— 奇偶校验 1. 奇校验 2. 偶校验 如何使用存储芯片组成一个存储器? 确定设计容量:多大设计容量 芯片的选用:多大容量,位数,多少片

    2024年02月12日
    浏览(46)
  • DJ2-5 内容分发网络 CDN

    目录 单一的大规模数据中心 内容分发网络 CDN 单一的大规模数据中心 存在三个问题: ① 如果客户远离数据中心,服务器到客户的分组将跨越许多通信链路并很可能通过许多 ISP,给用户带来恼人的时延。 ② 流行的视频很可能经过相同的通信链路发送许多次。这不仅浪费了网

    2024年02月09日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包