计算机网络:数据链路层 ——以太网的 MAC 帧格式

文章目录

以太网

以太网 (Ethernet)以曾经被假想的电磁波传播介质 ------ 以太(Ether)来命名,是一种广泛应用于局域网(LAN)的常见网络技术,用于在计算机和其他网络设备之间进行数据通信。

以太网目前已经从传统的共享式以太网发展到交换式以太网,传输速率已经从 10Mb/s 提高到 100Mb/s1Gb/s 甚至 10Gb/s

  • 工作原理:

    • 以太网使用 CSMA/CD(Carrier Sense Multiple Access with Collision Detection)协议来控制多个设备在共享媒介上的访问。

    • CSMA/CD 协议允许设备在发送数据之前监听信道 ,以检测是否有其他设备正在发送数据。如果信道是空闲的,设备将发送数据;如果检测到冲突(多个设备同时发送数据),则设备将等待一段随机时间后再次尝试发送。

相关阅读计算机网络:数据链路层 ------ 以太网(Ethernet)

以太网的 MAC 帧格式

以太网的 MAC 帧 格式主要有两类:DIX Ethernet V2 的帧格式(以太网V2的帧格式)和IEEE 802.3 的帧格式 ,二者仅"类型"字段有差别,而 DIX Ethernet V2 的帧格式 更为流行。

前置阅读计算机网络:数据链路层 ------ MAC 地址

以太网V2的帧格式

  • 目的地址 (Destination Address):6个字节长的MAC地址,表示帧的目的地址。如果该字段为广播地址(FF:FF:FF:FF:FF:FF),则表示帧将被发送到所有节点。

  • 源地址 (Source Address):同样是6个字节长的MAC地址,表示帧的源地址。

  • 类型的值用来指明数据载荷中的内容,是由上一层的哪个协议封装的以便将收到的MAC帧的数据载荷上交给上一层的这个协议。

    • 当值大于等于 0x0600 时,该字段表示上层协议类型
      • 0x0800:TCP/IP网际层 IP 协议封装的PDU
      • 0x8137:由 Novel 网络层 IPX 协议封装的PDU
    • 当值小于 0x0600 时,表示数据负载长度
  • FCS:使用CRC生成的帧检验序列FCS,接收方的网卡通过FCS的内容就可检测出帧在传输过程中是否产生了误码。

  • 填充 (Padding):为满足最小帧长为 64B 的要求(6B+6B+2B+46B+4B=64B),数据载荷最小长度为 46B ,当数据字段的长度小于46字节时,数据链路层会在数据载荷的后面插入相应数量的填充字节,以确保MAC帧的长度不小于64B。

  • 数据载荷的最大长度被限制为 1500B ,以太网V2的MAC帧的最大长度为1518字节

  • 物理层在发送以太网MAC帧前,还要在其前面添加8字节的前导 码,前同步码的目的是使接收方的时钟同步

接收方可能收到的无效MAC帧包括以下:

  • MAC帧的长度不是整数个字节

  • 通过 MAC 帧的 FCS 字段的值检测出帧有误码

  • MAC帧的长度不在 64~1518 字节之间

当帧从一个节点发送到另一个节点时,接收端会检查 FCS 来验证数据是否完好无损。接收方收到无效的MAC帧时,就简单将其丢弃,以太网的数据链路层没有重传机制

相关推荐
小新讲网安13 小时前
HTTP请求走私攻击实战:CL.TE与TE.CL绕过前端服务器全解析
服务器·前端·网络·web安全·http·架构·漏洞
JZZC214 小时前
38.IPv6——静态配置
计算机网络·ipv6
上海安当技术1 天前
固件签名与Secure Boot:安当CAS如何构建汽车固件信任链
网络·汽车·信任链·boot·secure·固件签名·安当cas
上海安当技术1 天前
诊断接入认证:安当CAS如何堵住汽车网络安全的物理后门
网络·web安全·汽车·access·secure·安当cas·诊断接入认证
ze^01 天前
【软考信息安全】第2章 网络攻击原理与常用方法
网络·web安全·网络安全
这个DBA有点耶1 天前
数据库一体机架构演进:从硬件堆叠到软硬深度耦合
服务器·网络·数据库·硬件架构·运维开发·database·数据库架构
arbboter1 天前
【网络工具】NetProxy网络代理用户手册
开发语言·网络·c#·网络代理·网络异常·代理工具
消失的旧时光-19431 天前
第一篇:Ktor Client 到底是什么?从 Retrofit 迁移理解 Ktor 网络请求架构
网络·架构·retrofit·ktor·dsl
数据知道1 天前
反序列化漏洞:Java、PHP、Python 三条线各讲透
java·网络·python·安全·网络安全·php
江畔柳前堤1 天前
Function Calling 与 Tool Calling:从认知到工程的全景深度解析
开发语言·网络·人工智能·深度学习·算法·机器学习·php