• 3.7.1、MAC地址(数据链路层)


    1、基本介绍

    image-20221128183933776

    连接在信道上的主机只有它们两个


    image-20221128184011335

    一个数据链路层地址:

    • 当多个主机连接在同一个广播信道上,要想实现两个主机之间的通信,则每个主机都必须有一个唯一的标识,

    在每个主机发送的帧中必须携带标识发送主机和接收主机的地址。由于这类地址是用于媒体接入控制 MAC (Media Access Control),因此这类地址被称为 MAC 地址;

    若主机 C 要发送给主机 D 的帧。

    • 在帧首部中的目的地址字段添加主机 DMAC 地址
    • 在源地址字段应填入主机 C 自己的 MAC 地址

    这样,总线上其他主机收到该帧后,就可以根据帧首部的目的地址字段的值是否与自己的 MAC 地址匹配

    • 进而丢弃或接受该帧

    image-20221128184437367


    • MAC 地址一般被固化在网卡( 网络适配器 )的电可擦可编程只读存储器 EEPROM 中,因此 MAC 地址也
      被称为硬件地址;

    image-20221128185459819

    • MAC 地址有时也被称为物理地址

      • 注意: 这 并 不 意 味 着 M A C 地 址 属 于 网 络 体 系 结 构 中 的 物 理 层 ! \color{red}这并不意味着 MAC 地址属于网络体系结构中的物理层! MAC

      image-20221128185826239

    一般情况下,用户主机会包含两个网络适配器:

    • 有线局域网适配器(有线网卡)和无线局域网适配器(无线网卡)。

    每个网络适配器都有一个全球唯一的 MAC 地址。而交换机和路由器往往拥有更多的网络接口,所以会拥有更多的 MAC 地址。

    综上所述, 严 格 来 说 , M A C 地 址 是 对 网 络 上 各 接 口 的 唯 一 标 识 , 而 不 是 对 网 络 上 各 设 备 的 唯 一 标 识 。 \color{red}严格来说,MAC 地址是对网络上各接口的唯一标识,而不是对网络上各设备的唯一标识。 MAC

    2、IEEE 802 局域网的 MAC 地址格式

    IP 地址(网络标识), MAC 地址(硬件设备的地址)

    image-20221128190751753

    我们可以在 IEEE 的官网查看已分配的组织唯一标识符 OUI

    例如: 30 − F B − B 8 30-FB-B8 30FBB8 这个 OUI 已经被分配给华为科技有限公司

    image-20221128191220495

    若我们直到设备的 MAC 地址,而不知道设备的厂商信息,可以通过设备的 MAC 地址查询

    例如:http://mac.51240.com

    image-20221128191326676


    image-20221128192628554

    MAC 地址第一字节的 b0 位取 0 0 0 时,表示该地址是单播地址

    MAC 地址第一字节的 b0 位取 1 1 1 时,表示该地址是多播地址(组播地址)

    MAC 地址第一字节的 b1 位取 0 0 0 时,表示该地址是全球管理的(全球唯一)

    MAC 地址第一字节的 b1 位取 1 1 1 时,表示该地址是本地管理的

    全球管理 单播地址:厂商生产网络设备(网卡,交换机,路由器)时固化

    全球管理 多播地址:标准网络设备所支持的多播地址,用于特定功能

    • 例如:交换机生成树协议所需要的多播地址

    本地管理 单播地址:由网络管理员分配,覆盖网络接口的全球管理单播地址

    本地管理 多播地址:用户对主机进行软件配置,以表明其属于哪些多播组

    • 注意:剩余 46 位全为 1 1 1 时,就是广播地址 F F − F F − F F − F F − F F − F F FF-FF-FF-FF-FF-FF FFFFFFFFFFFF

    image-20221128192709766

    • 台式机、笔记本电脑、平板电脑、智能手机等设备上的以太网接口、Wi-Fi 接口、蓝牙接口都分配有全球单播MAC 地址

    • 而每台交换机和路由器都拥有多个网络接口,也就拥有多个全球单播的 MAC 地址

    image-20221128192927614

    3、IEEE 802 局域网的 MAC 地址发送顺序

    字节发送顺序:第一字节 ⟶ \longrightarrow 第六字节(从左至右)

    字节内的比特发送顺序: b 0 ⟶ b 7 b_0 \longrightarrow b_7 b0b7(从右至左)

    image-20221128193434225

    4、单播 MAC 地址作用

    若主机 B 要给主机 C 发送单播帧

    • 主机 B 首先要构建单播帧

      • 在帧首部的目的地址字段填入主机 C 的 MAC 地址
      • 源地址字段填入自己 的 MAC 地址
      • 再加上帧首部中的其他字段,数据载荷以及帧尾部
    • 就构成了单播帧

      image-20221128194004453

    主机 B 将该单播帧发送出去,主机 AC 都会收到该单播帧

    • 主机 A 的网卡发现该单播帧的目的 MAC 地址与自己的 MAC 地址不匹配

      • 于是丢弃该帧
    • 主机 C 的网卡发现该单播帧的目的 MAC 地址与自己的 MAC 地址匹配

      • 于是接受该帧,并将该帧交给上层处理

      image-20221128194205940

    5、广播 MAC 地址作用

    若主机 B 要发送一个广播帧

    • 主机 B 首先要构建广播帧

      • 在帧首部中的目的地址字段填入广播地址(十六进制的全 F F F
      • 源地址字段填入自己 的 MAC 地址
      • 再加上帧首部中的其他字段,数据载荷以及帧尾部
    • 就构成了广播帧

      image-20221128194700882

    主机 B 将该广播帧发送出去,主机 AC 都会收到该广播帧

    • 发现该帧首部中的目的地址字段的内容是广播地址,就知道该帧是广播帧
    • 接受该帧,并将该帧交给上层处理

    image-20221128194755167

    6、多播 MAC 地址作用

    若主机 A 要发送多播帧给该多播地址。

    • 将该多播地址的左起第一个字节写成 8 8 8 个比特,下述可以看到最低比特位是 1 1 1

      • 07 07 07 的 二进制为 00000111 00000111 00000111
    • 这就表明该地址是多播地址

      image-20221128195211525

    假设主机 B、C、D 支持 MAC 多播,各用户给自己的主机配置的多播组列表如下所示

    • 可以看出,主机 B、C 属于两个多播组,主机 D 不属于任何多播组

    image-20221128195426713

    主机 A 首先要构建该多播帧

    • 在帧首部中的目的地址字段填入多播地址( 07 − E 0 − 12 − F 6 − 2 A − D 8 07-E0-12-F6-2A-D8 07E012F62AD8
    • 源地址字段填入自己 的 MAC 地址
    • 再加上帧首部中的其他字段,数据载荷以及帧尾部

    就构成了多播帧

    image-20221128195605995

    主机 BCD 都会收到该多播帧

    • 主机 BC 发现该多播帧的目的 MAC 地址在自己的多播组列表中
      • 因此,主机 BC 都会接受该帧,并上交上层处理
    • 主机 D 发现该多播帧的目的 MAC 地址不在自己的多播组列表中
      • 主机 D 丢弃该多播帧

    image-20221128195803183

    注意:

    • 给 主 机 配 置 多 播 组 列 表 进 行 私 有 应 用 时 , 不 得 使 用 公 有 的 标 准 多 播 地 址 , 具 体 可 在 以 下 网 址 查 询 \color{blue}给主机配置多播组列表进行私有应用时,不得使用公有的标准多播地址,具体可在以下网址查询 使,

    • http://standards.ieee.org/develop/regauth/grpmac/public.html

    7、随机 MAC 地址

    据斯洛登爆料,美国国家安全局有一套系统,通过监视电子设备的 MAC 地址,来跟踪城市中每个人的行动

    • 因此,苹果率先在 iOS 系列设备扫描网络时采用随机 MAC 地址技术
    • 随后,Windows 10,安卓 6.0 6.0 6.0,以及内核版本为 3.18 3.18 3.18Linux 系统也开始提供随机 MAC 地址功能

    目前,大多数移动设备以及采用了随机 MAC 地址技术

    说明:随机 MAC 地址可以防止被监听但是连接 WiFi 时真实的 MAC 地址还是可以看到的(比如校园网)

    image-20221128200508933

    8、一句话

    单播唯一,广播全部,组播列表

  • 相关阅读:
    Redis总结:缓存雪崩、缓存击穿、缓存穿透与缓存预热、缓存降级
    云服务器-从零搭建前后端服务
    基于广义正态分布优化的BP神经网络(分类应用) - 附代码
    附录一-pandas操作excel
    七夕送什么礼物好?推荐最实用的礼物护眼台灯
    Leetcode100.相同的树
    了解 Oracle 中的主键和外键
    MP、MybatisPlus、联表查询、自定义sql、Constants.WRAPPER、ew (二)
    MyBatis使用注解操作及XML操作
    一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么?
  • 原文地址:https://blog.csdn.net/qq_67720621/article/details/128089693