网站搭建中企动力最行,亚马逊雨林有人类居住吗,民宿网站建设 世家,网站建设的书籍知乎文章目录 #x1f95a;误码#x1f354;两种常见的检错技术⭐奇偶校验⭐循环冗余校验#x1f388;例子 #x1f95a;误码
误码首先介绍误码的相关概念
#x1f354;两种常见的检错技术
⭐奇偶校验
奇校验是在待发送的数据后面添加1个校验位#xff0c;使得添加该校验… 文章目录 误码两种常见的检错技术⭐奇偶校验⭐循环冗余校验例子 误码
误码首先介绍误码的相关概念
两种常见的检错技术
⭐奇偶校验
奇校验是在待发送的数据后面添加1个校验位使得添加该校验位后的整个数据中比特1的个数为奇数 偶校验是在待发送的数据后面添加1个校验位使得添加该校验位后的整个数据中比特1的个数为偶数 我们来看下面的例子 奇校验 偶校验 于是我们得到了下面的结论 在所传输的数据中如果有奇数个位发生误码则所包含比特1的数量的奇偶性会发生改变可以检测出误码。 在所传输的数据中如果有偶数个位发生误码则所包含比特1的数量的奇偶性不会发生改变无法检测出误码漏检。 ⭐循环冗余校验
数据链路层广泛使用漏检率极低的循环冗余校验Cyclic Redundancy CheckCRC检错技术。 循环冗余校验CRC的基本思想 收发双方约定好一个生成多项式G(X)。 发送方基于待发送的数据和生成多项式G(X)计算出差错检测码冗余码将冗余码添加到待发送数据的后面一起传输。 接收方收到数据和冗余码后通过生成多项式G(X)来计算收到的数据和冗余码是否产生了误码。 发送方CRC操作 如下图所示 进行除法将待发送的数据作为被除数的一部分后面添加生成多项式最高次个0以构成被除数。 生成多项式各项系数构成的比特串作为除数进行除法得到商和余数
将余数添加到发送数据的后面一起发送。 注意 商仅作为标记防止计算过程对错位 余数的长度应与生成多项式最高次数相同作为冗余码 这里的除法是指二进制模2除法二进制模2除法既不向上进位也不比较除数和被除数的对应位数值的大小只要以相同位数进行相除即可相当于对应位进行逻辑异或运算 接收方CRC操作 如下图所示 与发送方类似也要进行除法。 将收到的数据和冗余码作为被除数生成多项式各项系数构成的比特串作为除数进行除法得到商和余数。 如果余数为0就可判定数据和冗余码中没有出现误码否则出现了误码生成多项式举例
例子
发送方
将冗余码添加到待发送数据的后面进行发送 接收方 注意 数据链路层的差错检测通常通过循环冗余检验CRC来实现。CRC是一种基于多项式除法的技术用于对数据帧进行检验以确定数据在传输过程中是否发生了错误。
在数据链路层发送方在发送数据帧之前会计算出一个CRC码并将其附加到数据帧的尾部。接收方在接收数据帧后也会计算接收到的数据帧中的CRC码然后与接收到的CRC码进行比较。如果两者不一致则表明数据帧在传输过程中发生了错误。
通过CRC的差错检测数据链路层能够及时发现数据帧中的比特错误从而提高数据传输的可靠性。