博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MAC协议之CRC校验码
阅读量:4150 次
发布时间:2019-05-25

本文共 1205 字,大约阅读时间需要 4 分钟。


ForeWord


Everybody,我胡汉三又回来了ヾ(●´∀`●) ヾ

1

又到了我装逼的时间了,今天我才发现。学习真的会使人快乐。这不,刚才舍友找我开黑,我谈定的回了一句:

2

毕竟我这样的好学生已经不多了,嗯,目测以后工作了也会是个好员工٩(๑>◡<๑)۶ 。感觉胸前的红领巾又鲜艳了呢。。。

好了,闲话少说,还是回到正题,今天介绍的是CRC校验码。分别从以下几个方面来阐述:

1. CRC是什么鬼

2. 它是怎么校验的(举例说明)

~tips:全文阅读需3min~

Are You Ready,

3


以太网桢协议—CRC校验码


以太网桢协议

同样先来一波文字(๑๑):

在TCP/IP协议中,不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报 (datagram),在链路层叫做帧(frame)。数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,最后将应用层数据交给应⽤用程序处理。

所以,IP、ARP和RARP数据报都需要以太网驱动程序来封装成帧。

以太网的帧格式如下所示:

5

图有是盗的,想必你们已经习惯了 (*❦ω❦)

在图中,帧末尾就是CRC校验码。

此外,对其他字段解释如下:

字段 Meaning
目的地址 MAC地址
源地址 MAC地址
类型 三种值,分别对应IP、ARP、RARP

注:

  1. 以太网帧中的数据长度规定最小46字节,最大1500字节。ARP和RARP数据包的长度不够46字节,要在后面补填充位。最大值1500称为以太网的最⼤大传输单元MTU,不同的网络类型有不同的MTU。如果一个数据包从以太网路由到拨号链路上,数据包长度大于拨号链路的MTU了,则需要对数据包进行分片(fragmentation)。
  2. ifconfig命令的输出中也有“MTU:1500”。注 意,MTU这 个概念指数据帧中有效载荷的最大长度,不包括帧首部的长度。
  3. MAC地址是指网卡的硬件地址,长度是48位。是在网卡出厂时固化的。用ifconfig命令看一下,“HWaddr 00:15:F2:14:9E:3F”部分就是硬件地址。

CRC校验码

关于CRC校验,百度词条里有详细解释:

123

这就是它的概念。

可以看出,CRC校验无非是通过一种特殊的计算方法(除法)在发送端生成CRC校验码,之后将其发送给数据接收端进行校验,检查接收端数据的正确性与完整性的一种方法。相当于一种查错机制。

所以,CRC校验就是一种生成CRC校验码的算法。此算法可以看做一种特殊的除法

既然是算法,那么关键就在于思想。

网上有不少讲解其算法的文章,只要你学过计算机组成原理,就能轻松理解。这里有一篇不错的文章:

看完后,相信你会懂的。

当然,百度词条也是一个不错的选择:


The End


博主给的两条链接都能帮助你理解CRC校验算法,所以这里就不详细描述了。他们写的都比我好,就让我偷点懒吧

666

你可能感兴趣的文章
android面试题目!Android高级工程师进阶学习,系列篇
查看>>
Android面试题集2021版,Android篇
查看>>
Android高级工程师必备知识!Android学习路线指南,复习指南
查看>>
Android高级工程师必看系列,学习路线+知识点梳理
查看>>
Android高级工程师每日面试题精选,全套教学资料
查看>>
Android高级工程师系列学习路线介绍,详细的Android学习指南
查看>>
Android高级工程师面试题-字节跳动,建议收藏
查看>>
android高级开发面试!Android开发人员不得不收集的代码,吐血整理
查看>>
Android高级架构进阶之数据传输与序列化,含爱奇艺,小米,腾讯,阿里
查看>>
android高级面试题!一次哔哩哔哩面试经历,面试建议
查看>>
【高级Android架构师系统学习】程序员工作2年月薪12K,挥泪整理面经
查看>>
【高级Android架构师系统学习】自己动手实现OkHttp,使用指南
查看>>
一个本科渣渣是怎么逆袭从咸鱼到Offer收割机的?最强技术实现
查看>>
一次哔哩哔哩面试经历,内容太过真实
查看>>
一线互联网企业高级Android工程师面试题大全,全网最新
查看>>
一线互联网企业高级Android工程师面试题大全,成功入职阿里
查看>>
一线互联网大厂中高级Android面试真题收录!系列篇
查看>>
一线互联网大厂面试真题系统收录!威力加强版
查看>>
一线互联网移动架构师360°全方面性能调优,已拿offer入职
查看>>
一线互联网移动架构师NDK模块开发!附大厂真题面经
查看>>