计算机网络原理 第4章 数据链路层 循环冗余码 应用
云计算提高了数据安全性,通过冗余备份和加密保护数据。 #生活知识# #科技生活# #科技改变生活# #云计算#
在计算机网络和数据通信中,用得最广泛的检错码, 是一种漏检率低得多也便于实现的循环冗余码 CRC, CRC码又称为多项式码
任何一个由二进制数位串组成的代码, 都可以唯一地与一个只含有0和1两个系数的多项式建立一一对应的关系。 例如, 代码1010111 对应的多项式为 , 同样多项式
对应的代码为101111。
CRC码在发送端编码和接收端校验时, 都可以利用事先约定的生成多项式G(X)来得到。 k位要发送的信息可对应于一个(k-1)次多项式K(X), r位冗余位则对应于一个(r-1)次多项式R(X), 由k位信息位后面加上r位冗余位组成的n=k+r位码字则对应于一个(n-1) 次多项式 , 例如
信息位: 1011001 --->
冗余位:1010 --->
码字: 10110011010 ---->T(X) = X的4次方 * K(X) + R(X)
= X的10次方+ X的8次方+ X的7次方+ X的4次方+ X的3次方+ X
由信息位产生冗余位的编码过程,就是已知K(X)求R(X) 的过程。在CRC码中可以通过找到一个特定的r次多项式G(X) (其最高项
的系数恒为1 ), 然后用
K(X) 去除以G(X), 得到的余式就是R(X).
特别要强调的是,这些多项式中的 " + " 都是 模2加(也就是异或运算); 此外这里的除法也是模2除法, 即除法过程中用到的减法是模2减法, 它和模2加法的运算规则一样, 都是异或运算, 这是一种不考虑加法进位和减法借位的运算,即
0 + 0 =0, 0+1 =1, 1+0=1, 1+1=0
0-0=0, 0-1=1, 1-0=1, 1-1=0;
在进行基于模2运算的多项式除法时,只要部分余数首位为1, 便可上商1, 否则上商0, 然后按模2减法求得余数, 该余数不计最高位。 当被除数逐位除完时, 最后得到比除数少一位的余数。此余数即为冗余位,将其添加在信息位后便构成CRC码字。
其中Q(X)为商式。根据模2运算规则R(X)+R(X)=0的特点, 可将上式改记为
[X的r次方 * K(X) + R(X)] / G(X) =Q(X)
即 T(X) / G(X) = Q(X)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
理论上可以证明循环冗余校验码的检错能力有以下特点:
可检测出所有奇数位错可检测出所有双比特的错可检测出所有小于、等于校验位长度的突发错CRC码是由 X的r次方 * K(X)除以某个选定的多项式后产生的, 所以该多项式称生成多项式。一般来说,生成多项式位数越多校验能力越强。 但并不是任何一个 r + 1 位的二进制数都 可以作 生成多项式。 目前广泛使用的生成多项式主要有以下四种:
例1: 已知生成多项式:, 求信息位 1010010 的CRC码
解析: 因为信息位为1010010, 所以对应的公式 K(x) = ,
又因为生成多项式 C(X) = , 故取r=4, 则 X的4次方 * K(X) =
,对应的代码 10100100000,
由模2除法 求得余式R(X) = , 又因为T(X) = X的4次方 * K(X) + R(X), 所以
T(X) = , 所以T(X) 对应的代码为 10100101011,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
模2除法_百度百科
https://wapbaike.baidu.com/item/%E6%A8%A12%E9%99%A4%E6%B3%95/10416971?fr=aladdin&ms=1&rid=10802194830799160434&rt=true&bk_tashuoStyle=topLeft&bk_share=qqbrowser&bk_sharefr=lemma&sc_id=TVGczgD
网址:计算机网络原理 第4章 数据链路层 循环冗余码 应用 https://www.yuejiaxmz.com/news/view/568935
相关内容
小白也能轻松学的计算机网络零基础入门(附学习路线 + 计算机网络教程)第3章 网络的互联设备.ppt
如何学习计算机网络——学习方法
网络互联设备(集线器、交换机、路由器)
计算机网络安全的防护措施有哪些?
基于计算机网络技术的计算机网络信息安全及其防护策略
第4篇 网络互联设备.ppt
SPRINGBOOT004旅游路线规划系统(JAVA毕业设计,附数据库和源码)
=网络第一章知识点与习题.doc
试论计算机网络的安全与管理