计算机网络协议包头赏析-以太网
一年一度的大规模校招就要开始了,我也将作为面试官投入到毕业生招聘活动中去,
对于互联网公司来说,网络知识是经常会被考到的知识点,借此机会,和大家一起重温。
本文会介绍以太网帧格式,后续会陆续介绍IP/TCP/UDP/ICMP等。
==
【以太网协议帧结构】
说到以太网帧结构,它的历史演变稍显混乱。我们将介绍一下以太网标准的演变历史。
1980年那年,DEC、施乐和Intel共同制定了Ethernet I的标准,首次定义了以太网帧格式。
在1982年,三家公司对第一版本进行了更新,主要是修改了物理接口,帧格式没有变化。此更新版本被命名为Ethernet II标准。
与此同时,IEEE开始把目光转移到了Ethernet标准的制定上来,并计划推出以太网的802.3国际标准。
3年后,也就是1985年,IEEE正式推出了IEEE802.3标准规范,从此以太网有了权威的国际标准,此版本和Ethernet II标准的主要区别在于其将原来的协议类型字段替换为了帧长度字段,并加入802.2 LLC头用以标识上层协议。
而后来所产生的802.3/802.2 SNAP,则是IEEE为了更好的支持IP协议而发布的以太网标准。它和802.3标准相比,扩展了LLC头,新增了2字节的协议类型域。
目前我们最经常使用的其实是1982年发布的Ethernet II标准,因此,我把Ethernet II标准的帧格式列在这里:
其中类型字段,为2字节,用来标识上一层所使用的协议类型,如IP协议(0×0800)等。
数据字段,长度范围为46到1500,这是为什么呢?因为以太网包最小规定为64字节,不足的也会填充到64字节。而以太网帧格式的其他部分加起来是6+6+2+4=18字节,所以数据部分的最小长度为64-18=46字节;而以太网包的最大长度是1518字节,因此1518-18=1500字节。
最后的FCS字段是帧校验字段,即Frame Check Sequence,用来保存CRC校验值。
谢谢!
建议继续学习:
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:rocrocket 来源: linux大棚-roclinux.cn
- 标签: 以太网 协议包头
- 发布时间:2012-09-06 23:47:51
- [66] Oracle MTS模式下 进程地址与会话信
- [65] Go Reflect 性能
- [64] 如何拿下简短的域名
- [60] android 开发入门
- [59] 图书馆的世界纪录
- [59] 【社会化设计】自我(self)部分――欢迎区
- [58] IOS安全–浅谈关于IOS加固的几种方法
- [54] 视觉调整-设计师 vs. 逻辑
- [48] 读书笔记-壹百度:百度十年千倍的29条法则
- [47] 界面设计速成