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

计算机网络学习(八)——MAC

一、MAC

在计算机网络中,MAC(Media Access Control,媒体访问控制)地址数据链路层的重要概念,它用于唯一标识网络中的设备,并且在局域网(如以太网)中发挥关键作用。

MAC 是硬件地址,也称为物理地址或链路地址,用于在同一链路层中唯一标识网络接口(如网卡)。

  • 是网卡出厂时烧录的一个唯一标识;
  • 用于局域网中设备的识别与通信;
  • 与 IP 地址不同,MAC 地址与设备硬件绑定,不能跨网络路由

二、MAC 地址的结构

MAC 地址是 48 位(6 字节),常以十六进制表示,
由两部分构成:

字节位置字节数名称说明
前 3 字节24 位OUI(组织唯一标识符)由 IEEE 分配给制造商(如 Intel、Cisco)
后 3 字节24 位NIC-specific(设备序列号)由厂商自定义,唯一标识该设备

示例:

00:1A:2B:3C:4D:5E
└──┬──┘ └───┬───┘OUI    设备序列号
  • 00:1A:2B 是某个厂商分配的 OUI(如 Intel);
  • 3C:4D:5E 是该厂商生成的设备唯一编号。

三、MAC 地址的分类

类型说明
单播地址(Unicast)表示发送给某一个设备
广播地址(Broadcast)FF:FF:FF:FF:FF:FF,表示发送给所有设备
多播地址(Multicast)表示发送给一组设备,首字节的最低位为 1
本地管理地址可以由用户或软件自定义,区别于全球唯一地址(由IEEE分配)

四、MAC vs IP

比较项MAC 地址IP 地址
层级数据链路层(第二层)网络层(第三层)
范围仅在本地网络有效可跨网络传输
分配方式由设备厂家出厂时指定通常由网络管理员或 DHCP 分配
是否唯一全球唯一(OUI + 序列号)网络内唯一(可变动)

在以太网通信中,IP 是逻辑地址,而 MAC 是物理地址,设备实际是通过 MAC 通信的。

五、ARP 协议:桥梁作用

ARP(Address Resolution Protocol,地址解析协议) 是 TCP/IP 协议族中的一个核心协议,工作在 数据链路层与网络层之间,用于将 IP 地址解析为对应的 MAC 地址,是局域网通信中不可缺少的协议。

举例:
主机 A 想向 192.168.1.5 发送数据,但不知道它的 MAC 地址 → 使用 ARP 请求来获取。

ARP 工作流程(请求-响应机制):

  1. 发送请求(ARP Request):

    • 主机 A 构造一个广播帧,询问“谁是 192.168.1.5?”;
    • MAC 目标地址:FF:FF:FF:FF:FF:FF(广播);
    • 包含发送方的 IP 和 MAC 地址。
  2. 接收响应(ARP Reply):

    • 目标主机 B 收到请求,发现目标 IP 是自己 → 回复包含自身 MAC 地址的应答帧(单播给 A)。
  3. 更新缓存

    • A 收到响应后,将 B 的 IP 与 MAC 的映射关系缓存到 ARP 缓存表(ARP Cache)

六、MAC 地址与交换机

  • 交换机是工作在数据链路层的设备;
  • 它通过学习 MAC 地址表(MAC → 端口)转发数据;
  • 当接收到一个帧时,交换机会查找目标 MAC 所在端口,仅将数据转发到该端口(而非广播);
  • 若未知地址,则广播该帧。

七、MAC 伪装与安全问题

虽然 MAC 地址理论上是固定的,但它可以被修改(伪装):

行为说明
MAC 伪装修改本机 MAC 地址,使其看起来像另一个设备
ARP 欺骗伪造 ARP 响应,冒充网关等设备,实现中间人攻击
防范手段静态 ARP 表、防ARP欺骗软件、网络访问控制(NAC)
http://www.lryc.cn/news/2386955.html

相关文章:

  • 英语六级-阅读篇
  • 右键打开 pycharm 右键 pycharm
  • 机器人坐标系标定
  • Flink流处理基础概论
  • 【RabbitMQ】记录 InvalidDefinitionException: Java 8 date/time type
  • 如何通过API接口实现自动化上货跨平台铺货?商品采集|商品上传实现详细步骤
  • 《三维点如何映射到图像像素?——相机投影模型详解》
  • Go 语言范围循环变量重用问题与 VSCode 调试解决方法
  • 青少年编程与数学 02-020 C#程序设计基础 04课题、常量和变量
  • 零基础设计模式——结构型模式 - 适配器模式
  • 【QT】TXT文件的基础操作
  • WordPress多语言插件安装与使用教程
  • 互联网大厂Java求职面试:短视频平台大规模实时互动系统架构设计
  • 欣佰特科技|SenseGlove Nova2 力反馈数据手套:助力外科手术训练的精准触觉模拟
  • Axure元件动作七:移动、旋转、启用/禁用效果、置于顶层/底层详解
  • 网络安全-等级保护(等保) 3-2-2 GB/T 28449-2019 第7章 现场测评活动/第8章 报告编制活动
  • Flutter跨平台通信实战|3步打通Android原生能力,实现底层API调用!
  • IAM角色访问AWS RDS For MySQL
  • android property 系统
  • Karakeep | 支持Docker/NAS 私有化部署!稍后阅读工具告别云端依赖,让知识收藏更有序
  • RV1126+FFMPEG多路码流监控项目大体讲解
  • el-dialog 组件 多层嵌套 被遮罩问题
  • 探秘谷歌Gemini:开启人工智能新纪元
  • TCP建立连接为什么不是两次握手,而是三次,为什么不能在第二次握手时就建立连接?
  • 《Stable Diffusion 3.0企业级落地指南》——技术赋能与商业价值的深度融合实践
  • 【软考向】Chapter 3 数据结构
  • [原创](计算机数学)(The Probability Lifesaver)(P14): 推导计算 In(1-u) 约等于 -u
  • wordcount在集群上的测试
  • OpenCV CUDA模块图像过滤------创建一个 Sobel 滤波器函数createSobelFilter()
  • [面试精选] 0053. 最大子数组和