MAC帧的含义

MAC帧是网络中的一个基本单位,用来传递数据。MAC帧就像是你给朋友写的纸条,但里面有各种信息,比如发送者、接收者以及数据本身。帧头部有个MAC地址,确定谁是收发者,中间是数据载荷,最后是个校验和,确保数据没被篡改。这就像是在数据传输的世界里发短信一样简单。


MAC帧(Media Access Control Frame)的详细结构

1. 前导码(Preamble)
  • 长度:7字节
  • 作用:用来让接收器同步到发送的数据流。它包含了一个特定的比特模式,让接收设备知道后面会有数据到来。它就像敲门声,让接收端做好准备。
2. 帧开始定界符(SFD, Start Frame Delimiter)
  • 长度:1字节
  • 作用:标识帧的开始,值通常为0xD5。接收设备通过检测这个字节知道数据帧的正式开始。
3. 目的地址(Destination MAC Address)
  • 长度:6字节
  • 作用:指定帧的接收者,MAC地址是全球唯一的硬件地址,由制造商分配。就像邮寄信件时的收件人地址,确保数据送到正确的设备。
4. 源地址(Source MAC Address)
  • 长度:6字节
  • 作用:指定帧的发送者。和目的地址一样,源地址也是唯一的。它就像是信件上的寄件人地址。
5. 长度/类型(Length/Type)
  • 长度:2字节
  • 作用:如果值小于1536,则表示数据字段的长度;如果值大于等于1536,则表示协议类型,比如IPv4或IPv6。它告诉接收端如何解释数据部分。
6. 数据(Data/Payload)
  • 长度:46到1500字节
  • 作用:实际要传输的数据。这部分可以是各种协议的数据,比如IP包。长度不足46字节时,会用填充字节(Padding)补足。
7. 帧校验序列(FCS, Frame Check Sequence)
  • 长度:4字节
  • 作用:用于检验帧的完整性,采用循环冗余校验(CRC)算法。接收端通过计算和比较FCS来确定数据是否在传输过程中损坏。

例子:发送一封电子邮件的类比

假设你要发送一封电子邮件,我们把这个过程类比为发送一个MAC帧:

  1. 前导码:你先敲门,确保对方在听。
  2. SFD:对方开门,你说"邮件来了!"
  3. 目的地址:邮件上的收件人地址。
  4. 源地址:邮件上的寄件人地址。
  5. 长度/类型:邮件的长度或类型,告诉对方这是什么样的邮件。
  6. 数据:邮件的正文,就是你实际想说的话。
  7. FCS:你在信封背面盖个章,确保邮件没被篡改过。

MAC帧结构图

css 复制代码
┌───────────────┬─────────┬────────────────────┬────────────────────┬────────────┬─────────────────────────┬──────────────┐
│  前导码       │ SFD     │ 目的地址           │ 源地址             │ 长度/类型  │ 数据                    │ FCS          │
│  (7 字节)     │(1 字节)│  (6 字节)          │ (6 字节)           │  (2 字节) │ (46 到 1500 字节)       │ (4 字节)     │
└───────────────┴─────────┴────────────────────┴────────────────────┴────────────┴─────────────────────────┴──────────────┘
相关推荐
一个人旅程~16 小时前
关于imac27inch因改短用户名导致混合硬盘和系统崩溃的问题分析与故障解决
经验分享·笔记·macos·新浪微博
volunteer102417 小时前
从仅剩 6 GB 到狂腾 70 GB:我的 256G Mac mini 深度清理与内存排查实战
macos
流浪0011 天前
计算机网络篇20:网络层——IP 协议的定位与 IPv4 报头字段,从 20 字节首部到 TTL 防环
tcp/ip·计算机网络·ttl·网络层协议·ip报头
todoitbo2 天前
我在 Mac 上用 Docker 部署 Nexent:从拉取镜像到接入模型
macos·docker·大模型·ai智能体·nexent·快速入门与环境准备
独隅2 天前
WebStorm macOS 安装部署与高效调优实战指南
ide·macos·webstorm
流浪0012 天前
计算机网络篇17:传输层——TCP 超时重传、三次握手与四次挥手,TIME_WAIT 为什么要等 2MSL
网络协议·tcp/ip·计算机网络·三次握手·四次挥手·超时重传
fthux3 天前
Tick Rest,一个休息提醒工具的自我修养
macos·开源·swift
流浪0013 天前
计算机网络篇16:传输层——TCP 报头属性字段:16 位窗口大小撑起流量控制,六个标志位标识报文类型
网络协议·tcp/ip·计算机网络·urg紧急指针·tcp报头
FPGA小迷弟4 天前
FPGA 与千兆以太网:各类物理接口的形式、区别、使用方法与应用场景详解
tcp/ip·macos·fpga开发·udp·fpga
一条泥憨鱼5 天前
【计算机网络】短连接、长连接与连接池:从 TCP 握手到池化复用的完整链路
网络·数据库·网络协议·tcp/ip·计算机网络