以太网帧格式
IEEE 802.3标准定义了所有MAC实现所必需的基本帧格式。然而,协议的核心功能正在通过几种可选形式进行扩展。
前导码和SFD位于物理层,它们开始了以太网帧。数据包的有效负载位于以太网头部之后,头部包括源MAC地址和目标MAC地址。最后一个字段是CRC,用于检测错误。现在让我们逐个查看基本帧格式的每个部分。
- 前导码 - 以太网帧以7个字节的前导码开始。这是一串交替的0和1,表示帧的开始,并且使发送方和接收方的比特同步。前导码最初是为了适应信号延迟导致的少量比特丢失而开发的。然而,今天高速以太网中的帧比特已经不需要前导码的保护。 在实际帧开始之前,前导码警告接收方一个帧即将开始,并使接收方能够锁定数据流。
- 帧开始定界符(SFD) - 这是一个1字节的字段,始终被设置为 10101011 。目的地址是将开始帧的一组位,如SFD所示。前导码通常被称为8字节,因为有时SFD被视为前导码的一部分。SFD通知站点或站点现在无法进行同步。
- 目标地址 - 这是一个6字节的元素,包含数据的目标设备的MAC地址。
- 源地址 - 这是一个6字节的元素,包含源设备的MAC地址。由于源地址始终是唯一的地址(单播),第一个字节的最低有效位始终为0。
- 长度 - 长度是一个称为长度的2字节字段,表示整个以太网帧的大小。由于以太网的一些固有限制,这个16位字段可以存储从0到65534的长度值,但不允许长度值大于1500。
- 数据 - 这个区域有时被称为有效负载,是实际的数据放置的地方。如果通过以太网使用互联网协议,IP头部和数据都将放在这里。最长可能的数据段长度为1500字节。如果数据长度小于最小长度,也就是46字节,将添加填充0以弥补差距。
- 循环冗余校验(CRC) - CRC是一个4字节的字段。这个字段中的数据是使用目标地址、源地址、长度和数据字段创建的32位哈希码。如果目标计算出的校验和与提供的校验和值不同,数据就会被破坏。
注意- IEEE 802.3以太网帧的大小范围是从64到1518字节,包括数据长度(46到1500字节)。
扩展以太网帧(以太网II帧)的完整说明:
以下是对IEEE 802.3基本帧格式的详细解释。让我们看看扩展的以太网帧头部,可以容纳超过1500字节的有效负载。
DA [目标MAC地址]: 6个字节
SA [源MAC地址]: 6个字节
Type [0x8870 (以太类型)]: 2个字节
DSAP [802.2目标服务接入点]: 1个字节
SSAP [802.2源服务接入点]: 1个字节
Ctrl [802.2控制字段]: 1个字节
Data [协议数据]: ** > 46个字节 **
FCS [帧校验和]: 4个字节
尽管以太网II帧不具备长度字段,但由于接口接受帧,因此可以知道帧的长度。
使用以太网的优点:
- 实现简单
- 维护简便
- 成本较低
以太网的缺点:
- 无法应用于实时情景。实时应用程序需要在一定时间范围内传输数据。由于碰撞的可能性很高,以太网不可靠。由于碰撞的增加,数据的传送到目的地可能会延迟。
- 不适用于需要交互的应用。即使是极小的数据量,例如聊天应用也必须传输。以太网要求的最小数据长度为46个字节。
- 不兼容客户端-服务器应用。使用客户端-服务器架构的应用程序要求服务器优先于客户端。以太网无法设置优先级。