数据链路层帧格式详解
重点讲以太网帧Ethernet Frame—— 因为它是现实中最主流、最常用的。一、先搞懂什么是 “帧”数据链路层的传输单位叫帧Frame。作用把网络层的 IP 数据包封装起来加上源 MAC、目的 MAC、校验等信息让数据能在同一局域网内被交换机正确转发一句话帧 头部 数据 尾部二、标准以太网帧格式以太网 II / DIX 帧最常见、现在互联网 99% 用的就是这种。完整结构单位字节plaintext前导码 帧开始定界符 目的MAC 源MAC 类型/长度 数据 FCS校验逐字段详细解释1. 前导码Preamble长度7 字节内容10101010重复 7 次作用让接收网卡同步时钟告诉网卡 “马上有帧来了准备接收”2. 帧开始定界符SFD长度1 字节内容10101011作用标记帧真正开始前导码 SFD 合称 “帧前同步信号”共 8 字节注意这 8 字节不算在以太网帧长度内是物理层辅助信号。3. 目的 MAC 地址Destination MAC长度6 字节 48 bit作用标识接收方网卡交换机根据它查表转发格式示例00:11:22:33:44:554. 源 MAC 地址Source MAC长度6 字节作用标识发送方网卡交换机靠它学习 MAC 地址表5. 类型 / 长度字段Type/Length长度2 字节两种含义 0x06001536→ 表示上层协议类型0x0800 IPv40x0806 ARP0x86DD IPv6 0x0600→ 表示数据部分长度老式 IEEE 802.3 用现在几乎都用类型模式。6. 数据字段Data / Payload长度46 ~ 1500 字节内容网络层数据包IP 包、ARP 包等最小 46 原因以太网要求帧最短64 字节去掉头部 14 字节 FCS4 18 字节所以数据至少要 46 字节不够就自动填充Padding最大 1500 就是MTU。7. 帧校验序列FCS长度4 字节算法CRC32作用校验帧在传输中是否出错接收方重新计算 CRC不一致就直接丢弃注意FCS 只校验目的 MAC 源 MAC 类型 数据三、以太网帧总长度最小帧长64 字节14 头 46 数据 4FCS最大帧长1518 字节14 头 1500 数据 4FCS带 VLAN 标签的帧会多 4 字节最大 1522 字节。四、完整帧结构总结表必背表格字段名长度作用前导码 Preamble7B时钟同步帧开始符 SFD1B标记帧开始目的 MAC6B接收设备地址源 MAC6B发送设备地址类型 / 长度2B标识上层协议IP/ARP数据含填充46–1500B上层数据包FCS 校验4BCRC 检错真正的以太网帧 14 数据 4 18~1518 字节五、和 IEEE 802.3 帧的区别简单了解老式标准现在几乎不用类型字段 → 长度字段后面多了DSAP、SSAP、Control最后才是数据现实中你遇到的 100% 是以太网 II 帧。六、帧的生命周期一句话串起来上层给一个 IP 包链路层封装加目的 MAC、源 MAC、类型物理层加前导码 SFD 发出去交换机根据目的 MAC 查表转发接收网卡校验 FCS去掉帧头取出 IP 包交给网络层
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2496335.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!