📜  以太网帧格式

📅  最后修改于: 2021-09-28 10:24:07             🧑  作者: Mango

先决条件 –以太网简介

所有 MAC 实现所需的基本帧格式在IEEE 802.3 标准中定义。尽管使用了几种可选格式来扩展协议的基本功能。
以太网帧以 Preamble 和 SFD 开始,都工作在物理层。以太网报头包含源和目标 MAC 地址,之后是帧的有效载荷。最后一个字段是CRC,用于检测错误。现在,让我们研究一下基本帧格式的各个领域。

以太网 (IEEE 802.3) 帧格式 –

  • PREAMBLE –以太网帧以 7 字节前导码开始。这是一种交替的 0 和 1 模式,指示帧的开始并允许发送方和接收方建立位同步。最初,引入 PRE(前导码)是为了允许由于信号延迟而丢失一些比特。但是今天的高速以太网不需要前导码来保护帧位。
    PRE(前导码)指示接收器帧即将到来,并允许接收器在实际帧开始之前锁定数据流。
  • 帧起始定界符 (SFD) –这是一个 1 字节字段,始终设置为 10101011。SFD 表示即将到来的位是帧的开始,即目标地址。有时 SFD 被认为是 PRE 的一部分,这就是 Preamble 在许多地方被描述为 8 Bytes 的原因。 SFD 警告一个或多个站点,这是同步的最后机会。
  • 目标地址——这是一个 6 字节的字段,其中包含数据要发送到的机器的 MAC 地址。
  • 源地址——这是一个 6 字节的字段,包含源机器的 MAC 地址。由于源地址始终是单个地址(单播),因此第一个字节的最低有效位始终为 0。
  • Length – Length 是一个 2 字节的字段,表示整个以太网帧的长度。这个 16 位的字段可以容纳 0 到 65534 之间的长度值,但由于以太网自身的一些限制,长度不能大于 1500。
  • 数据 –这是插入实际数据的地方,也称为Payload 。如果在以太网上使用 Internet 协议,则 IP 标头和数据都将插入此处。存在的最大数据可能长达 1500 字节。如果数据长度小于最小长度,即 46 字节,则添加填充 0 以满足最小可能长度。
  • 循环冗余校验 (CRC) – CRC 是 4 字节字段。该字段包含一个 32 位的数据散列码,它是在目标地址、源地址、长度和数据字段上生成的。如果目的地计算的校验和与发送的校验和值不同,则接收到的数据已损坏。

注 –以太网 IEEE 802.3 的帧大小从 64 字节到 1518 字节不等,包括数据长度(46 到 1500 字节)。

扩展以太网帧(Ethernet II Frame)的简要概述:

上面详细讨论了标准 IEEE 802.3 基本帧格式。现在让我们看看扩展的以太网帧头,使用它我们可以获得甚至大于 1500 字节的 Payload。

DA [目的 MAC 地址]: 6 字节
SA [源 MAC 地址]: 6 字节
类型[0x8870 (Ethertype)]: 2 个字节
DSAP [802.2 目标服务接入点]: 1 字节
SSAP [802.2 源服务接入点]: 1 字节
Ctrl [802.2 控制字段]: 1 字节
数据[协议数据]: > 46 字节
FCS [帧校验和]: 4 字节

尽管以太网 II 帧中缺少长度字段,但通过网络接口接受的帧可以知道帧长度。

GATE CS 角问题

练习以下问题将帮助您测试您的知识。所有问题都在前几年的 GATE 或 GATE 模拟测试中提出。强烈建议您练习它们。

  1. GATE CS 2007,问题 85
  2. GATE CS 2005,问题 74
  3. GATE CS 2004,问题 90
  4. GATE IT 2005,问题 27
  5. GATE CS 2016(第 2 组),问题 34

参考 –

扩展以太网帧大小支持
ciscopress
IEEE 802.3 和以太网