数据帧的产生
来源:互联网 发布:网络推广销售技巧话术 编辑:程序博客网 时间:2024/05/22 16:38
帧到底是由谁来产生的?
网卡可以产生,交换机也可以产生。交换机产生的话是因为交换机之间需要一些协议来维护特定的功能,如STP,VTP而最重要的功能还是转发网卡(也就是主机)所产生的帧。以太网(IEEE 802.3)帧格式:
1、前导码:7字节0x55,一串1、0间隔,用于信号同步
2、帧起始定界符:1字节0xD5(10101011),表示一帧开始
3、DA(目的MAC):6字节
4、SA(源MAC):6字节
5、类型/长度:2字节,0~1500保留为长度域值,1536~65535保留为类型域值(0x0600~0xFFFF)
6、数据:46~1500字节
7、帧校验序列(FCS):4字节,使用CRC计算从目的MAC到数据域这部分内容而得到的校验和。
据RFC894的说明,以太网封装IP数据包的最大长度是1500字节,也就是说以太网最大帧长应该是以太网首部加上1500,再加上7字节的前导同步码和1字节的帧开始定界符,具体就是:7字节前导同步吗+1字节帧开始定界符+6字节的目的MAC+6字节的源MAC+2字节的帧类型+1500+4字节的FCS。
按照上述,最大帧应该是1526字节,但是实际上我们抓包得到的最大帧是1514字节,为什么不是1526字节呢?原因是当数据帧到达网卡时,在物理层上网卡要先去掉前导同步码和帧开始定界符,然后对帧进行CRC检验,如果帧校验和错,就丢弃此帧。如果校验和正确,就判断帧的目的硬件地址是否符合自己的接收条件(目的地址是自己的物理硬件地址、广播地址、可接收的多播硬件地址等),如果符合,就将帧交“设备驱动程序”做进一步处理。这时我们的抓包软件才能抓到数据,因此,抓包软件抓到的是去掉前导同步码、帧开始分界符、FCS之外的数据,其最大值是6+6+2+1500=1514。
以太网规定,以太网帧数据域部分最小为46字节,也就是以太网帧最小是6+6+2+46+4=64。除去4个字节的FCS,因此,抓包时就是60字节。当数据字段的长度小于46字节时,MAC子层就会在数据字段的后面填充以满足数据帧长不小于64字节。由于填充数据是由MAC子层负责,也就是设备驱动程序。
0 0
- 数据帧的产生
- 随机数据产生的问题
- 用数据发生器产生海量的数据
- 数字信号产生之ARMA模型数据的产生
- 游标类型产生的数据检索问题
- 游标类型产生的数据检索问题
- 游标类型产生的数据检索问题
- 游标类型产生的数据检索问题
- 游标类型产生的数据检索问题
- 游标类型产生的数据检索问题
- 游标类型产生的数据检索问题
- 游标类型产生的数据检索问题
- 游标类型产生的数据检索问题
- 游标类型产生的数据检索问题
- ajax 提交数据产生乱码的原因
- Android 清除SharedPreferences 产生的数据
- 产生synthetic DataSet的数据集
- 浅析MySQL数据碎片的产生
- 查询具体到时分秒的时间段数据(查询昨天的下午四点到今天的下午四点的数据)
- 各种希腊字母的读法
- 我的2016
- Codeforces 486C Palindrome Transformation 贪心
- ELK实时日志分析平台环境部署--完整记录
- 数据帧的产生
- zookeeper 大量连接断开重连原因排查
- Android Webview完美支持播放各种视频。(解决无法播放优酷视频的问题以及周末无法播放优酷视频的问题)
- Git图形化工具SourceTree的简介与安装
- ZCMU-1460-天坑的二次函数
- 关于Caffe应用与MFC冲突问题
- IOS之NSBundle的使用详解
- HTML我帮您打造微信小程序web可视化开发者工具
- PAT甲级1074