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

文章目录

  • [3.3 使用广播信道的数据链路层](#3.3 使用广播信道的数据链路层)
    • [以太网的 MAC 层](#以太网的 MAC 层)
      • [1. MAC 层的硬件地址](#1. MAC 层的硬件地址)
        • [MAC 地址的定义](#MAC 地址的定义)
        • [48 位 MAC 地址的结构](#48 位 MAC 地址的结构)
        • 地址位的特殊含义
      • [2. 适配器对 MAC 地址的检查](#2. 适配器对 MAC 地址的检查)
      • [3. MAC 帧的格式](#3. MAC 帧的格式)
      • [4. 无效的 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 字节
相关推荐
迷藏49423 分钟前
**eBPF实战进阶:从零构建网络流量监控与过滤系统**在现代云原生架构中,**网络可观测性**和**安全隔离**已成为
java·网络·python·云原生·架构
zmj32032436 分钟前
汽车电子内部网络架构图
网络·汽车
汽车仪器仪表相关领域1 小时前
NHFID-1000型非甲烷总烃分析仪:技术破局,重构固定污染源监测新体验
java·大数据·网络·人工智能·单元测试·可用性测试·安全性测试
咖啡忍者1 小时前
【SAP CO】4.COPC产品成本控制-3.WIP后台配置
笔记
卤炖阑尾炎2 小时前
Python 网络编程实战:从 TCP/UDP 基础到高并发服务器开发
网络·python·tcp/ip
乾元2 小时前
《硅基之盾》番外篇二:算力底座的暗战——智算中心 VXLAN/EVPN 架构下的多租户隔离与防御
网络·人工智能·网络安全·架构
智擎软件测评小祺2 小时前
渗透测试报告关键模块拆解
网络·web安全·渗透测试·测试·检测·cma·cnas
W.W.H.2 小时前
嵌入式常见的面试题1
linux·网络·经验分享·网络协议·tcp/ip
zmj3203242 小时前
CAN + 以太网 + Wi-Fi + BLE + TCP/IP + MQTT +HTTP协议层级
网络·网络协议·tcp/ip
HXQ_晴天3 小时前
Linux 系统的交互式进程监控工具htop
linux·服务器·网络