本文共 1205 字,大约阅读时间需要 4 分钟。
Everybody,我胡汉三又回来了ヾ(●´∀`●) ヾ
又到了我装逼的时间了,今天我才发现。学习真的会使人快乐。这不,刚才舍友找我开黑,我谈定的回了一句:
毕竟我这样的好学生已经不多了,嗯,目测以后工作了也会是个好员工٩(๑>◡<๑)۶ 。感觉胸前的红领巾又鲜艳了呢。。。
好了,闲话少说,还是回到正题,今天介绍的是CRC校验码。分别从以下几个方面来阐述:
1. CRC是什么鬼
2. 它是怎么校验的(举例说明)~tips:全文阅读需3min~
Are You Ready,
以太网桢协议
同样先来一波文字(๑◡๑):
在TCP/IP协议中,不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报 (datagram),在链路层叫做帧(frame)。数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,最后将应用层数据交给应⽤用程序处理。
所以,IP、ARP和RARP数据报都需要以太网驱动程序来封装成帧。
以太网的帧格式如下所示:
图有是盗的,想必你们已经习惯了 (*❦ω❦)
在图中,帧末尾就是CRC校验码。
此外,对其他字段解释如下:
字段 | Meaning |
---|---|
目的地址 | MAC地址 |
源地址 | MAC地址 |
类型 | 三种值,分别对应IP、ARP、RARP |
注:
CRC校验码
关于CRC校验,百度词条里有详细解释:
这就是它的概念。
可以看出,CRC校验无非是通过一种特殊的计算方法(除法)在发送端生成CRC校验码,之后将其发送给数据接收端进行校验,检查接收端数据的正确性与完整性的一种方法。相当于一种查错机制。
所以,CRC校验就是一种生成CRC校验码的算法。此算法可以看做一种特殊的除法
既然是算法,那么关键就在于思想。
网上有不少讲解其算法的文章,只要你学过计算机组成原理,就能轻松理解。这里有一篇不错的文章:
看完后,相信你会懂的。
当然,百度词条也是一个不错的选择:
博主给的两条链接都能帮助你理解CRC校验算法,所以这里就不详细描述了。他们写的都比我好,就让我偷点懒吧