当前位置: 首页 > article >正文

2.7 以太网的 MAC 层

欢迎大家订阅【计算机网络】学习专栏,开启你的计算机网络学习之旅!

文章目录

  • 前言
  • 1 MAC 层的硬件地址
    • 1.1 硬件地址概述
    • 1.2 MAC 地址的分配
    • 1.3 MAC 地址的分类
    • 1.4 全球管理与本地管理
    • 1.5 适配器的过滤功能
  • 2 MAC 帧的格式
    • 2.1 MAC 帧字段详解
    • 2.2 无效的 MAC 帧


前言

在计算机网络中,MAC 层(介质访问控制层)用于定义设备在局域网上的唯一标识符,并规范帧的格式和传输规则。本文将详细介绍 MAC 层硬件地址的定义、分类及特点和常见的 MAC 帧格式及其各字段的含义。


1 MAC 层的硬件地址

1.1 硬件地址概述

硬件地址(MAC 地址)又称为物理地址,用于标识局域网上的每台计算机。

IEEE 802 标准规定了局域网中设备使用的全球唯一的 48 位地址(即 MAC 地址),每台设备的适配器上都固化了一个这样的地址。
在适配器的 ROM(只读存储器)中,保存了 MAC 地址的二进制编码,使其在网络中具有唯一性
在这里插入图片描述

注意:如果主机或路由器上安装有多个网络适配器,那么该设备会有多个 MAC 地址。更准确地说,MAC 地址是某个网络接口的唯一标识符

1.2 MAC 地址的分配

IEEE 的注册管理机构(RA)负责向厂家分配 MAC 地址的前 3 个字节(高 24 位),称为 组织唯一标识符(OUI, Organizationally Unique Identifier)。

厂商在生产适配器时,根据分配的 OUI 自行指定后 3 个字节(低 24 位),称为 扩展标识符(extended identifier)。该分配方式确保每个适配器的 MAC 地址唯一,不会与其他设备冲突。

1.3 MAC 地址的分类

根据 IEEE 802 标准,MAC 地址可分为单站地址、组地址和广播地址,分别用于不同的通信模式:

  • 单站地址:I/G(Individual/Group)位为 0,用于一对一的通信。
  • 组地址:I/G 位为 1,用于多播通信,即将数据发送给一组指定的主机
  • 广播地址:所有 48 位都为 1(即全 1),用于一对全体的通信,仅能作为目的地址使用。

1.4 全球管理与本地管理

IEEE 还规定了 MAC 地址的 G/L(Global/Local)位:

  • 全球管理地址:G/L 位为 0,表示厂商向 IEEE 购买的 OUI,属于全球管理。
  • 本地管理地址:G/L 位为 1,表示用户可以自行在网络中分配的地址,属于本地管理。

1.5 适配器的过滤功能

以太网适配器具有帧过滤功能。每当接收到一个 MAC 帧时,适配器会先检查帧的 MAC 地址。
如果该帧的目标地址匹配适配器的 MAC 地址(或是广播、多播地址),适配器才会接收并处理该帧,否则将丢弃。

发往本站的帧 包括以下三种类型:

  • 单播(Unicast)帧:发送到指定目标的帧 (一对一)
  • 广播(Broadcast)帧:发送给所有网络设备的帧 (一对全体)
  • 多播(Multicast)帧:发送给某一组特定设备的帧 (一对多)

除此之外,适配器在 混杂模式 下,可以接收网络上传输的所有帧,无论帧的目标地址为何。该模式多用于网络分析和监控。


2 MAC 帧的格式

MAC 帧是以太网传输的基本单位,不同的标准对 MAC 帧格式有不同的定义。常用的以太网 MAC 帧格式有两种标准:

  1. DIX Ethernet V2 标准
  2. IEEE 802.3 标准

目前市场上流行的主要是以太网 V2 格式的 MAC 帧,通常也被称为 IEEE 802.3 标准的 MAC 帧。
在这里插入图片描述

2.1 MAC 帧字段详解

①目的地址字段:标识 MAC 帧的接收设备。
在这里插入图片描述

②源地址字段:标识发送该帧的设备。
在这里插入图片描述

③类型字段:标识上层协议类型,以便 MAC 层将数据帧上交给对应的协议处理。
在这里插入图片描述

④数据字段:即 MAC 客户数据字段,承载实际的数据内容。最小帧长度为 64 字节(包括 18 字节的首部和尾部),因此数据字段的最小长度为 46 字节。
在这里插入图片描述

⑤FCS 字段(帧校验序列):用于检测帧传输过程中的差错。
在这里插入图片描述

当数据字段的长度小于 46 字节时,会在后面加入填充字段,以保证 MAC 帧长度不小于 64 字节。

在这里插入图片描述

2.2 无效的 MAC 帧

在以下情况下,MAC 帧会被视为无效并丢弃:

  • 帧的长度不是整数个字节
  • 数据字段的长度与长度字段的值不一致
  • 使用 FCS 进行帧校验时检测到差错
  • 数据字段的长度不在 46 ~ 1500 字节之间

以太网不负责重传丢弃的帧。


http://www.kler.cn/a/403297.html

相关文章:

  • 【智谱清言-注册_登录安全分析报告】
  • HarmonyOS鸿蒙系统上File文件常用操作
  • 徒手从零搭建一套ELK日志平台
  • uniapp实现开发遇到过的问题(持续更新中....)
  • XCode Build时遇到 .entitlements could not be opened 的问题
  • 彻底理解如何保证Redis和数据库数据一致性问题
  • 【动手学深度学习Pytorch】2. Softmax回归代码
  • [Unity] 【游戏开发】Unity开发基础1-创建Unity项目:从Unity Hub选择合适的渲染管
  • Unity资源包导入与导出
  • node.js中express的基本了解
  • Eclipse 查找功能深度解析
  • 安卓CameraX的使用
  • C#里实现日期比较
  • 重构代码之删除对参数的赋值
  • Aws云服务使用场景和优势在哪里
  • android中webview加载图片使用的图片资源代理
  • mysql日志写满出现The table ‘xxxx_amazon_order’ is full
  • 高级网络安全——IP 安全(week5)
  • 【STK学习】part2-星座-目标可见性与覆盖性分析
  • C# 高级--反射 详解
  • HarmonyOS(鸿蒙操作系统)
  • Mysql篇-语句执行计划详解(explain)
  • python基于大数据的电脑硬件推荐系统(1)
  • django用Python设计学生成绩管理系统
  • 【刷题13】CTFHub技能树-文件上传
  • vue2 全局指令调用组件