news 2026/4/25 11:06:27

【计算机网络 | 第十篇】以太网的 MAC 层

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【计算机网络 | 第十篇】以太网的 MAC 层

文章目录

  • 3.3 使用广播信道的数据链路层
    • 以太网的 MAC 层
      • 1. MAC 层的硬件地址
        • MAC 地址的定义
        • 48 位 MAC 地址的结构
        • 地址位的特殊含义
      • 2. 适配器对 MAC 地址的检查
      • 3. MAC 帧的格式
        • 以太网 V2 的 MAC 帧格式
        • 物理层的前同步码
      • 4. 无效的 MAC 帧

3.3 使用广播信道的数据链路层

说明:本章内容涵盖局域网的数据链路层、CSMA/CD 协议、使用集线器的星形拓扑以及以太网的信道利用率等内容。鉴于篇幅与博客总结侧重点,本小节博客只整理了最后的以太网的 MAC 层

以太网的 MAC 层

1. MAC 层的硬件地址

在局域网中,硬件地址又称为物理地址或MAC 地址

MAC 地址的定义

IEEE 802 标准中所说的“地址”,严格来讲是每一个站的“名字”或标识符。

另外,如果连接在局域网上的主机或路由器安装有多个适配器(网卡),那么该主机或路由器就拥有多个“地址”。更准确地说,这种 48 位的“地址”应当是某个接口的标识符

48 位 MAC 地址的结构

IEEE 802 标准规定 MAC 地址字段采用 6 字节(48 位)格式。IEEE 的注册管理机构 RA 负责向厂家分配地址字段的前三个字节(即高位 24 位),称为组织唯一标识符

地址字段的后三个字节(即低位 24 位)由厂家自行指派,称为扩展唯一标识符。厂家必须保证生产出的适配器没有重复地址。

一个地址块可以生成2 24 2^{24}224个不同的地址。这种 48 位地址称为 MAC-48,其通用名称是EUI-48。生产适配器时,6 字节的 MAC 地址已被固化在适配器的 ROM 中,因此 MAC 地址也被称为硬件地址物理地址

地址位的特殊含义
  1. I/G 位 (Individual/Group)

    • IEEE 规定地址字段第一字节的最低位为 I/G 位。
    • 当 I/G 位 = 0 时:地址字段表示一个单站地址(单播)。
    • 当 I/G 位 = 1 时:表示组地址,用来进行多播(组播)。
  2. G/L 位 (Global/Local)

    • IEEE 把地址字段第一字节的最低第 2 位规定为 G/L 位。
    • 当 G/L 位 = 0 时:是全球管理(保证在全球没有相同的地址),厂商向 IEEE 购买的 OUI 都属于全球管理。
    • 当 G/L 位 = 1 时:是本地管理,这时用户可任意分配网络上的地址。

2. 适配器对 MAC 地址的检查

适配器从网络上每收到一个 MAC 帧,首先用硬件检查 MAC 帧中的 MAC 地址。

  • 如果是发往本站的帧,则收下,然后再进行其他处理。
  • 否则,将此帧丢弃,不再进行其他处理。

“发往本站的帧”包括以下三种:

  1. 单播帧:一对一,即收到的帧的 MAC 地址与本站的硬件地址相同。
  2. 广播帧:一对全体,即发送给本局域网上所有站点的帧(全 1 地址)。
  3. 多播帧:一对多,即发送给本局域网上有一部分站点的帧。

混杂方式
以混杂方式工作的以太网适配器,只要“听到”有帧在以太网上传输,无论目的地址是否是自己,都会接收下来。这通常用于网络监听和分析。


3. MAC 帧的格式

常用的以太网 MAC 帧格式有两种标准:

  1. DIX Ethernet V2 标准(最常用)。
  2. IEEE 的 802.3 标准。
以太网 V2 的 MAC 帧格式

以太网 V2 帧主要由五个字段组成:

  1. 目的地址:6 字节。
  2. 源地址:6 字节。
  3. 类型:2 字节。
    • 类型字段用来标志上一层使用的是什么协议,以便把收到的 MAC 帧的数据上交给上一层的这个协议。
    • 例如:0x0800表示 IP 数据报。
  4. 数据:46 ~ 1500 字节。
    • 数据字段的正式名称是MAC 客户数据字段
    • MTU:最大传送单元,即数据字段的最大长度为 1500 字节。
    • 最小长度:数据字段的最小长度为 46 字节。如果数据少于 46 字节,必须加入填充字段以保证 MAC 帧长不小于 64 字节。
  5. FCS:4 字节,即帧检验序列。

物理层的前同步码

在帧的前面,物理层会插入 8 字节的内容,但这不属于 MAC 帧的一部分:

  • 前同步码:7 字节,用来迅速实现 MAC 帧的比特同步。
  • 帧开始定界符:1 字节,表示后面的信息就是 MAC 帧。

MAC 示例:

各网卡MAC地址:

  • eth0: 00:15:5d:62:ba:4d (物理网卡)
  • br-d7cfc11ea37e: 3a:24:31:af:ae:b1 (网桥)
  • br-e15858d2c99c: 6e:f3:cb:40:9d:53 (网桥)
  • br-f2072db21258:3a:0d:df:d7:12:43 (网桥)
  • docker0: 02:46:a8:42:55:19 (Docker默认网桥)
  • veth62eb915: 2a:a4:c0:d2:76:cf (虚拟以太网设备)

4. 无效的 MAC 帧

对于检查出的无效 MAC 帧,以太网的处理方式是简单地丢弃,不负责重传。

无效 MAC 帧的判定标准:

  1. 数据字段的长度与长度字段的值不一致。
  2. 帧的长度不是整数个字节。
  3. 用收到的帧检验序列 FCS 查出有差错。
  4. 数据字段的长度不在 46 ~ 1500 字节之间。
  5. 有效的 MAC 帧长度范围为64 ~ 1518 字节
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 7:23:40

Chord视频理解工具Qt图形界面开发指南

Chord视频理解工具Qt图形界面开发指南 1. 为什么需要为Chord开发图形界面 Chord作为一款基于Qwen2.5-VL架构深度定制的本地视频理解工具,它的核心价值在于不联网、不传云、所有计算都在本地GPU上完成。但原生的命令行或Web接口对很多用户来说不够直观——你得记住…

作者头像 李华
网站建设 2026/4/19 15:42:09

Qwen3-4B-Instruct + AutoGen Studio:开源大模型驱动的AI办公助理落地案例

Qwen3-4B-Instruct AutoGen Studio:开源大模型驱动的AI办公助理落地案例 1. 什么是AutoGen Studio? AutoGen Studio 是一个面向开发者和业务人员的低代码AI代理构建平台。它不强制要求你写大量底层代码,也不需要深入理解复杂的分布式系统原…

作者头像 李华
网站建设 2026/4/23 15:52:02

MinerU文档理解服务效果展示:跨页PDF连续内容逻辑衔接解析

MinerU文档理解服务效果展示:跨页PDF连续内容逻辑衔接解析 1. 为什么跨页文档理解一直是个难题? 你有没有遇到过这样的情况:一份PDF报告有20页,关键结论分散在第3页的图表、第7页的数据表格和第15页的总结段落里?传统…

作者头像 李华
网站建设 2026/4/18 8:14:27

PDF-Extract-Kit-1.0与Qt集成:跨平台文档处理应用开发

PDF-Extract-Kit-1.0与Qt集成:跨平台文档处理应用开发 1. 为什么需要把PDF解析能力放进桌面应用 你有没有遇到过这样的场景:客户发来一份几十页的PDF技术文档,里面混着公式、表格和图表,需要快速提取关键数据做分析;…

作者头像 李华
网站建设 2026/4/24 15:00:10

自定义HTTP状态码在Spring中的应用

在现代Web开发中,HTTP状态码是与客户端进行通信的重要方式。Spring框架提供了丰富的特性来处理这些状态码,但当我们需要使用一些非标准的HTTP状态码时,事情就变得稍微复杂了一些。本文将探讨如何在Spring应用中使用自定义HTTP状态码,并提供一个实际的使用案例。 为什么需要…

作者头像 李华