精华内容
下载资源
问答
  • 差错检测
    2021-10-23 10:23:49

        比特在传输过程中可能会产生差错,1可能变成0,0也可能变成1,这叫做比特差错。传输错误的比特占所传输比特总数的比率称为误码率BER。在计算机网络传输数据时,必须采用各种差错检测措施来保证数据传输的可靠性。目前在数据链路层广泛使用的是循环冗余检测CRC的检错技术。
        在发送端假定数据每k个比特作为一组,假定带传送的数据时M=101001。CRC运算就是在数据的后面添加供差错检测的n位冗余码。添加了冗余码之后的数据位数达到了(k+n)位,用新得到的数除以实现约定好的长度为(n+1)位的出书P,得出的商是Q而余数是R。假定P=1101,经过模2除法运算后,Q=110101,余数R=001。这个余数就作为冗余码拼接在M后面发送出去。这种添加的冗余码常被称为帧检验序列FCS。因此加上FCS后发送的帧是101001001。
    在这里插入图片描述
        接收端以帧为单位进行CRC检验:把每一个帧除以除数P,检查得到的余数是否为0,不为0即代表传输过程出现差错。而如果出现了比特差错,该帧就会被丢弃。因为CRC检验只能表明传输是否有差错,并不能得到具体是哪一位发生了差错,而如果引入纠错机制,则代价太大,因此在数据连链路层往往提供的是不可靠传输,而关于可靠传输这个概念,放到下一篇文章去讲。

    更多相关内容
  • 差错检测

    2021-04-08 19:45:57
    差错检测的原理 差错编码分为检错码与纠错码 对于检错码,如果编码集的汉明距离d=r+1,则该差错编码可以检测 r 位的差错 汉明距离 : 对应位数不同的个数 编码集的汉明距离 :相互之间最小的汉明距离 两两编码之间...

    差错检测的原理

    在这里插入图片描述

    差错编码分为检错码纠错码

    对于检错码,如果编码集的汉明距离d=r+1,则该差错编码可以检测 r 位的差错
    汉明距离 : 对应位数不同的个数
    编码集的汉明距离 :相互之间最小的汉明距离
    在这里插入图片描述两两编码之间最少有2位不同,因此编码集的汉明距离d = 2,可以**100%**检测到1位错误

    对于纠错码,如果编码集的汉明距离d=2r+1,则可以纠正r位的差错
    在这里插入图片描述

    典型校验方法

    奇偶校验

    1. 1比特奇偶校验 : 1个校验位
      只能够实现所有奇数位的差错检测或偶数位的差错检测,因此检测成功率为50%
    2. 二位奇偶校验
      检测所有的奇数位差错、部分偶数位差错
      纠正同一行/列的奇数位差错,行列交叉点翻转即可

    校验和

    发送方
    1.将数据看做是16位的二进制“整数序列”,计算所有整数的和,进位加在和的后面,将得到的值按位取反,得到校验和
    2.将校验和放入校验和字段
    接收端
    1.计算所受到的段的校验和
    2.将其余校验和字段做对比
    若不相等 :则检测出错误
    若相等 : 没有检测出错误==(可能有错误)==

    计算注意
    校验和的计算中,最高位不进位,如果进位则加到最低位在这里插入图片描述

    CRC编码

    1. 将数据比特,D,视为一个二进制数
    2. 选择一个r+1的比特模式,G
    3. 选择r位的CRC比特,R,满足 <D,R>能够被G整除
    4. 检错:用接收到的整体数据除以G,余数为0则无错,否则有错
    特点

    可以检测所有突发长度小于r+1位的差错

    解题过程
    1. 根据多项式,得到r+1位G
      如 多项式为 x4+x3+x+1 , 可以得到G: 11011
      多项式对应G:x的阶数,存在xn(n>=0),则第n位为1
    2. 根据G的位数,得到应该在传输数据后添加的位数r
    3. 计算 D*2r 摩尔除以 G的余数,r位余数为R

    摩尔除注意事项:

    • 位之间运算为异或
    • 判断是否可除,只需要与除数位数匹配即可,不需要判断大小关系
      例如 :
      在这里插入图片描述
    展开全文
  • 软件实现的软差错检测和恢复技术 软件实现的软差错检测和恢复技术
  • 2.4 差错检测

    2021-07-12 02:30:04
    检测传输差错的一项最常用的技术叫作循环冗余校验(Cyclic Redundancy Check, ...在讨论该算法之前,我们考虑两种也被广泛使用的较为简单的差错检测方法:二维奇偶校验(two?dimensional parity)与校验和(checksum)...

    检测传输差错的一项最常用的技术叫作循环冗余校验(Cyclic Redundancy Check, CRC)。它几乎用在前几节讨论的所有链路层协议中,例如HDLC、DDCMP以及本章后面讲到的CSMA和无线协议。2?4?3节概述基本的CRC算法。在讨论该算法之前,我们考虑两种也被广泛使用的较为简单的差错检测方法:二维奇偶校验(two?dimensional parity)与校验和(checksum)。前者在BISYNC协议传输ASCII码字符时采用(当BISYNC用于传输如第1章中的讨论,帧中有时会发生比特错。例如,由于电干扰或热噪音,就会发生这样的差错。尽管差错很少,特别是在光链路上,但还是需要某种机制来检测这些差错,以便采取纠错措施。否则,终端用户会奇怪为什么刚刚成功编译的C程序现在突然会有一个语法错。发生这样的差错是因为这个程序是通过一个网络文件系统拷贝过来的。

    用来处理计算机系统中比特错的技术已有很长的历史,至少可以追溯到20世纪40年代。早在使用打孔机以及当数据保存在磁盘或早期的磁心存储器时就已经开发出了汉明(Hamming)码和里德  所罗门(Reed?Solomon)码。本节介绍网络中最常用的一些差错检测技术。

    检错只是问题的一部分,另一部分是一发现差错就立即纠错。当消息的接收方检测到差错时,可以采取两种基本方法。一种是通知发送方消息受到破坏,使发送方重发消息的副本。如果比特错很少,那么重传的副本很可能没有差错。另一种方法是采用几种差错检测算法,它们使接收方即使在消息出错后仍可以重新构造正确的消息。这些算法依赖于下面讨论的纠错码(error?correcting code)。

    检测传输差错的一项最常用的技术叫作循环冗余校验(Cyclic Redundancy Check, CRC)。它几乎用在前几节讨论的所有链路层协议中,例如HDLC、DDCMP以及本章后面讲到的CSMA和无线协议。2?4?3节概述基本的CRC算法。在讨论该算法之前,我们考虑两种也被广泛使用的较为简单的差错检测方法:二维奇偶校验(two?dimensional parity)与校验和(checksum)。前者在BISYNC协议传输ASCII码字符时采用(当BISYNC用于传输

    5b3c321b92eadb301140d393652c3be8.png用于20世纪60年代的另一种字符编码模式。 时用CRC),而后者在若干因特网协议中使用。

    任何差错检测方案的基本思想都是在帧中加入冗余信息来确定是否存在差错。极端情况下,可以想象传输数据的两个完整副本。如果这两个副本在接收方是相同的,那么可能它们都是正确的;如果不同,那么其中之一或者两者都有错误,必须将它们丢弃。这是相当差的差错检测方案,原因有两点:第一,它为n比特消息发送n比特冗余信息;第二,有许多差错检测不到,如恰好在消息的第一和第二个副本的相同比特位置出错时,便检测不到。

    幸运的是,我们有比这个简单方案更好的方法。一般说来,当为n比特消息仅发送k个冗余比特时,我们能够提供相当强的差错检测能力,其中

    1a4c000bea6f02b3d4fe5600818d0093.png。例如,在以太网上,一个12 000比特(1 500字节)的数据帧仅需要一个32位的CRC码,通常表示为

    3d1884875d76f24d61688c46bbc41508.png。下面将会看到,CRC码能发现大多数的差错。

    之所以说发送的额外比特是冗余信息,是因为它们不是向消息中加入新的信息,而是用某种明确定义的算法直接从原始消息中导出信息。发送方和接收方都确切知道这个算法,发送方将该算法应用到消息上以产生冗余比特。然后,它将该消息和冗余比特都传输出去。

    当接收方对收到的消息应用同一算法时,(在没有差错的情况下)应该产生与发送方相同的结果。它将结果与发送方发给它的结果进行比较,如果它们相等,就可能(以很高的或然率)做出结论,消息在传输过程中没有出错;如果不相等,就能够确定消息或冗余比特受到破坏,对此必须采取适当的措施,那就是丢弃消息,或在可能的情况下纠错。

    注意这些额外比特的术语。一般说来,它们指的是差错检测码(error detecting code)。在特定的情况下,当产生编码的算法是以相加为基础时,可能称为校验和(check sum)。我们将会看到,因特网校验和的命名是很恰当的:它是使用求和算法的一种差错检测机制。不幸的是,校验和这个词常被不准确地用于表示任何形式的差错检测码,包括CRC。这可能引起混乱,因此,我们主张将校验和这个词仅用于真正使用求和运算的代码,而用差错检测码这个词表示本节描述的一般类型的代码。用于20世纪60年代的另一种字符编码模式。 时用CRC),而后者在若干因特网协议中使用。

    展开全文
  • 当数据被传送或存储时,有可能会检测到数据的任何改变,特别是所存储的程序必须防止讹误...差错检测码EDC(Error Detection Codes)就用于此目的,用EDC在保护区检测出改变的概率依赖于所用的代码。差错校正码FCC(Erro
  • 差错检测和纠错技术

    2021-08-04 10:59:16
    一、差错检测和纠错技术简单介绍 本篇讲的差错检测和纠错技术主要是针对比特错误。 对一个节点发送到一个相邻节点的帧,检测是否出现比特差错,并纠正。相关技术有很多,下图为差错检测和纠正的过程。 在发送节点,...

    一、差错检测和纠错技术简单介绍

    本篇讲的差错检测和纠错技术主要是针对比特错误。
    对一个节点发送到一个相邻节点的帧,检测是否出现比特差错,并纠正。相关技术有很多,下图为差错检测和纠正的过程。

    在发送节点,数据D附加若干差错检测和纠错位EDC,一起发送到链路。数据D包括网络层传来的数据报,以及链路级寻址信息、序列号和其他字段。保护范围包括数据D的所有字段。
    接收节点接收比特序列D’和EDC’。接收方利用收到的D’按照规则来计算差错校验位EDC,看计算的EDC是否与收到的EDC’相同,相同则无错误,不相同则有错误。
    这里需要说明一下差错检测技术和纠正技术不能保证接收方检测到所有的比特差错,即可能出现未检测到的比特差错,而接收方并未发现。所有我们需要选择一个合适的差错检测方案使未检测到的情况发生的概率很小即可。
    差错检测和纠错技术越好,越复杂,开销更大。

    二、三种主要的差错检测技术

    (1)奇偶校验:最基本的方法。
    (2)检查和方法:常用于运输层。
    (3)循环冗余检测:常用于链路层。

    1、奇偶校验

    1.1、一比特奇偶校验

    (1)发送方:
    在要发送的信息D(d位)后面附加一个奇偶校验位,发送数据中1的个数是奇数则位奇校验,否则是偶校验。
    在这里插入图片描述
    如上图所示,假设发送数据进行偶校验,则需要在校验位补充1以凑成偶数个1。 然后将d+1位数据一起传输发送。
    (2)接收方:检测收到的信息(d+1位)中“1”的个数。
    若是使用偶校验:当发现奇数个1时表示至少有一个比特发生差错(奇数个比特差错)。
    若是使用奇校验:当发现偶数个1时表示至少有一个比特发生差错。
    我们可以看到不管是奇校验还是偶校验都只能查出任意奇数个错误,不能发现偶数个错误。
    若比特差错概率很小,差错独立发生,一比特奇偶校验可满足要求。 若差错集中在一起“突发”,一帧中未检测到的差错的概率达到50%。

    1.2、二维奇偶校验

    基本思想:
    首先将要传的信息D(d比特)划分为i行j列,即i个组,每组j位。其次,对每行和每列分别计算奇偶校验值。最后结果的i+j+1个奇偶比特构成了帧的差错检测比特。
    在这里插入图片描述
    如上图,假设需要发送的数据是10101 11110 01110共15比特。划分为3组,每组5个比特。分别进行、列偶校验,校验码如上图。假设在传输过程中有一个比特错误,例如第二行第二列的1变为0。在接收方进行校验时会发现第二行和第二列的校验码不对,这样就会发现是第二行第二列的数据发生了错误。
    因此二维奇偶校验可以检测并纠正单个比特差错,可以检测但不能纠正分组中任意两个比特的差错。

    2、检查和方法

    2.1、过程

    (1)发送方:首先在发送方将数据的每两个字节当作一个16位的整数,可分成若干整数。然后将所有16位的整数求和,对得到的和逐位取反,作为检查和,放在报文段首部,一起发送。
    (2)接收方:对接收到的信息(包括检查和)按与发送方相同的方法求和。若结果全1则表示收到的数据无差错,若结果中有0表示收到的数据出现差错。
    注意:当数字作加法时,最高位的进位要回加到结果中。
    如下例子:
    在这里插入图片描述

    2.2、检查和特点

    (1)分组开销小:检查和位数比较少。
    (2)差错检测能力弱。
    (3)适用于运输层,因为差错检测用软件实现,检查方法简单、快速。
    (4)链路层的差错检测由适配器中专用的硬件实现,采用更强的循环冗余检测方法。

    3、循环冗余检测(CRC)

    3.1、检测过程

    这种检测方法在计算机网络中广泛采用。
    循环冗余检测编码:即多项式编码,把要发送的比特串看作为系数是0或1的一个多项式,对比特串的操作看作为多项式运算。
    例如10111可看作x 4 ^4 4+x 2 ^2 2+x+1。
    (1)发送方:首先在发送方计算出一个r位附加比特R,添加到D的后面产生DR(d+r)比特。DR能被生成多项式G模2运算整除,一起发送。
    在这里插入图片描述
    (2)接收方:用生成多项式G去除接收到的DR(d+r)比特。若余数非0则表明传输发生差错;若余数为0表示传输正确,去掉尾部r位,得所需数据D。

    3.2、模2计算

    模2计算:
    加法不进位,减法不借位,即操作数的按位异或(XOR)。
    乘法和除法与二进制运算类似,其中加法或减法没有进位或错位。例如乘以2 r ^r r,即比特模式左移r个位置。

    3.3、R的计算

    计算R的步骤如下:
    将数据D后面添加r个0,除以给定的生成多项式G,所得余数即为R(r位),r表示CRC编码的位数。
    设D=101110,d=6,G(生成多项式)=1001,CRC编码是3比特即生成多项式位数减1。r=3。计算过程为:
    在这里插入图片描述
    最后算出的余数是011,即R。
    因此实际传输的数据形式是:101110011

    3.4、循环冗余码CRC的特点

    生成多项式G的选择:有8、12、16和32比特生成多项式G。其中8比特的CRC用于保护ATM信元首部;32比特的标准CRC-32用于链路级协议。
    CRC能检测小于r+1位的突发差错、以及任意个奇数个差错。

    展开全文
  • 文章目录奇偶校验检验和方法循环冗余检测比特级差错检测和纠正(bit-level error detection and correction)。即对从一个节发送到另一个物理上连接的领近节点的链路层帧中的比特损伤进行检测和纠正。在发生节点,为了...
  • 差错检测教案

    2017-12-08 22:16:55
    本资源是《计算机网络》(第七版)第三章数据链路层中数据链路层协议的三个基本问题中的差错检测,先从比特差错的概念引出教学重点循环冗余检验(CRC)的概念原理,在通过例题讲解的教学方法讲解CRC中冗余码的生成,...
  • 帧同步虽然可以区分每个数据帧的起始和结束,但是还没有解决数据正确传输的两方面问题:一、如果有帧出现了...一、差错检测在数据链路层检测数据传输错误的方法一般是通过对差错编码进行校验来实现,常见的有奇偶...
  • 现有的差错检测方法虽然潜在性能优异,但是成本极高,因此无法在实践中部署。为了解决这一问题,提出了一种基于硬件的控制流监控技术。该技术首先从程序二进制接口提取出程序的合法控制流图,计算出CRC签名,对合法...
  • 1.领域:FPGA,基于差错检测的DF协作通信链路算法 2.内容:【提供操作视频】基于差错检测的DF协作通信链路matlab仿真,包括8PSK,最大合并比接收,维特比译码 3.用处:用于基于差错检测的DF协作通信链路算法编程学习 ...
  • 比特级差错检测和纠正(bit・level error detection and correction) ,即对从一个节点发送到另一个物理上连接的邻近节点的链路层帧中的比特损伤进行检测和纠正, 它们通常是链路层提供的两种服务。在传输数据中检测...
  • 差错检测 比特差错:实际的通信链路都不是理想的,比特在传输过程中可能会产生差错: 1可能会变成0,而0也可能变成1。 误码率BER:在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率BER(Bit Error Rate)...
  • 这三个基本问题是:三个基本问题一、封装成帧帧定界举例二、透明传输解决透明传输问题三、差错检测纠错与检错循环冗余检验的原理CRC检错能力冗余码的计算冗余码的计算举例冗余码计算关键问题接收端CRC检验一、封装成...
  • 数据链路层---差错检测和纠正

    千次阅读 2020-03-02 23:18:49
    数据链路层---差错检测和纠正 帧同步虽然可以区分每个数据帧的起始和结束,但是还没有解决数据正确传输的两方面问题:一、如果有帧出现了错误?二、如果有帧丢失了?这都是数据链路层确保向网络层提供可靠数据传输...
  • 计算机网络学习:封装成帧、差错检测和可靠传输

    千次阅读 多人点赞 2021-04-05 16:33:20
    数据链路层的封装成帧、差错检测和可靠传输,可靠传输原理中很奇妙地发现,在不可靠的信道上加上合适的可靠协议(SW、GBN或者SR),就可以向上提供可靠的服务。在数据链路层要实现可靠的传输为上层提供服务。
  • 写个博客,搞通计算计网络(自顶向下)链路层的差错检测这一节 先看,差错检测何来 现实的通信链路不理想 传输的bit 0-1 会发生错误转换,即比特差错 于是就有了误码率(BER,Bit Error Rate) 一说: 一段时间内,...
  • 第三章 数据链路层 ---差错检测
  • 差错检测 实际的通信链路不是理想的,比特在传输过程中可能会产生差错,1可能变成0,0可能变成1.这就称为比特差错 使用差错检测法来检测数据在传输过程中是否产生比特差错,是数据链路层索要解决的重要问题之一。 在...
  • 实际的通信链路都是不理想的,比特流在传输过程中会受到各种干扰这就有可能导致比特差错(即:1 可能变成 0,0 可能变成 1)这也叫「误码」在一段时间内,传输错误
  • 计算机网络自顶向下方法6.2差错检测和纠正技术
  • 1.比特在传输过程中受到...2.使用差错码来检测数据在传输过程中是否产生了比特差错。 以太网帧:在帧尾包含了一个长度为4字节的帧检验序列FCS字段。 PPP帧:帧尾也包含了一个长度为两字节的帧检验序列FCS字段。 ...
  • 差错检测: 通过检错码发现帧在传输过程中出现误码(01互换)。 过程: 在发送帧之前,会基于待发送的数据和检错算法计算出检错码,并将其封装在帧尾。接收方接收到帧之后,通过检错码和检错算法,就可以判读出帧...
  • UDP的特点、UDP的报文结构、分用复用及差错检测
  • 差错检测与纠正技术 即对从一个节点发送到另一个物理上连接的临近节点的链路层帧中的比特损伤进行检测和纠正——>通常是链路层提供的两种服务 错误检测: EDC= 差错检测和纠正位(冗余位) D = 数据由差错检测...
  • 差错检测技术专题PPT教案学习.pptx
  • 数据链路层CRC差错检测技术

    千次阅读 2020-11-19 17:47:15
    本科时老师照本宣科,没有搞懂CRC差错检测到底是怎么检测的。最近看到这块了,根据自己的理解在这里记录CRC差错检测技术。 现实的通信链路都不会是理想的。这就是说,比特在传输过程中可能会产生差错:1可能会变成0,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 38,288
精华内容 15,315
关键字:

差错检测

友情链接: shuangpu.rar