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、一句话

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值