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

news2025/1/19 8:10:12

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/44331.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

这支神秘组织,已成功预测了多届世界杯冠军

2022卡塔尔世界杯,正打的如火如荼,也有很多人买球买的不亦乐乎。 现在就有很多朋友、粉丝,通过各种渠道找我,让我来帮他预测一下比赛。可我预测的也不准呀,我都是猜的,不过我不准,不见得别人不准…

m基于基站休眠的LTE-A异构网络中节能算法matlab仿真

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 要求 1.开发一个软件工具,可以直观地演示如何在LTE-A异构网络中通过基站的睡眠模式节约能源 2.需要演示基于用户的移动性如何设置基站的开关(睡眠模式) 3.自己设计基站睡眠模式的直观…

Python标准库之pickle

1. pickle标准库简介 pickle,作为名词表示泡菜,作为动词表示用醋或盐水保存食物。由此不难联想到,用存储设备持久化保存数据。而pickle标准库恰是一个 Python 对象结构的二进制序列化和反序列化的核心库,专用于表示Python语言大量…

Stable Diffusion7

它也写到第七部了.. Stability AI宣布,Stable Diffusion 2.0版本上线!1.0版本在今年8月出炉,三个月不到,还热乎着呢,新版本就来了。 深度学习文本到图像模型的最新版本——Stable Diffusion 2.0。相较于1.0&#xff…

面试必知的9个性能测试指标,你完全了解吗?

吞吐量 单位时间内,系统能够处理多少请求,吞吐量代表网络的流量,TPS越高,吞吐量越大,还包含了数据的吞吐量。一般单位为秒,每秒处理的请求量。 注意:我们看到的JMeter聚合报告一般如下图&…

Kotlin高仿微信-第7篇-主页-动态权限申请

Kotlin高仿微信-项目实践58篇详细讲解了各个功能点,包括:注册、登录、主页、单聊(文本、表情、语音、图片、小视频、视频通话、语音通话、红包、转账)、群聊、个人信息、朋友圈、支付服务、扫一扫、搜索好友、添加好友、开通VIP等众多功能。 Kotlin高仿…

指定牛导|肿瘤专业医生芝加哥大学博士后实现夙愿

Q医生有个愿望,希望拜师在牛导麾下,利用国家留学基金委2年博士后的机会,真正做出科研成果,发表高质量文章。为此列出了合作导师标准并指定了几位教授。经过团队努力,我们终于为其达成夙愿—获得指定牛导的博士后邀请函…

Redis实战之缓存:查询、添加缓存、更新缓存、缓存预热、缓存穿透、缓存雪崩、缓存击穿 解决方案及实例代码

缓存 什么是缓存? 缓存(Cache), 就是数据交换的缓冲区,俗称的缓存就是缓冲区内的数据,一般从数据库中获取,存储于本地代码。 为什么要使用缓存? 缓存数据存储于代码中,而代码运行在内存中,内存的读写性能远高于磁盘,缓存可以大大降低用户访问并发量带来的服务器…

SpringBoot利用Spring SPI机制实现自动按顺序加载注册JavaBean到容器中

前言: 1、SPI机制(Service Provider Interface),服务提供接口,主要是用来解耦,资源文件目录下的 \resources\META-INF\spring.factories 我们把它归纳为Spring为我们提供的SPI机制,通过这种机制,我们可以在…

docker 容器原理分析笔记(下)

目录 chroot rootfs Volume(数据卷) 打包一个go镜像 总结 chroot 当一个容器被创建的时候,我们希望容器中进程看到的文件是一个独立的隔离环境,我们可以在容器进程重启之前挂载整个根目录 /,由于 Mount Namespace 的存在,这…

发布 .NET MAUI / MAUI Blazor 应用 (1) - Windows

发布用于Windows的 .NET MAUI 应用 打开 PowerShell 终端 , 命令行进入工程目录,以我的例子工程为例, cd BlazorMaui BlazorMaui 替换为你自己工程名字 New-SelfSignedCertificate -Type Custom -Subject "CNBlazorMaui" -KeyUsage DigitalSignature -FriendlyName &…

python如何将日期字符串格式化年月日

今天用Python的DataFrame处理数据时,相对一波数据按日期分组处理,但是原始数据包含时间分秒,无法按日期分组,因此需要先将数据转成只包含年月日的数据格式。但是写代码处理过程中发现有点绕,不熟悉的同学容易绕晕。这种…

编程语言如何推动DeFi成为主流?

随着DeFi的快速增长,提供DeFi服务的平台和产品也如雨后春笋般纷纷冒头。作为衡量DeFi协议管理资金规模的标准之一,DeFi“总锁仓量”在过去两年一路从100亿美元增长到超400亿美元,期间更是一度冲上1800亿美元的巅峰。但直到今天,智…

Python爬虫request模块的get、post方法应用

目录 post方法使用 一、确定爬取网站的数据 二、分析数据类型和相应类型 三、使用requetst模块方法进行爬取 四、源代码分享 get的方法使用 一、分析抓取网站操作 二、参数的分析和组成 三、使用get模块方法进行爬取结果 四、源代码分享 思考和总结 参考网站 爬虫是…

MySQL---触发器详解

目录 一、触发器的介绍 二、触发器的语法 (1)insert触发器 (2)update触发器 (3)delete触发器 一、触发器的介绍 触发器是与表有关的数据库对象,指在insert/update/delete 之前或之后&…

4-UI自动化-selenium三大等待操作

4-UI自动化-selenium三大等待方式selenium三大等待方式强制等待timd.sleep隐式等待implicitly_wait显式等待WebDriverWait显式等待和隐式等待的区别上篇介绍了3-UI自动化-八大元素定位,xpath定位方式和相关的常问面试题 本篇来学习三大等待方式 ♡\color{red}{\hear…

如何用蓝牙实现无线定位(一)--系统原理

1. 简介 本项目将利用多个BLE4.0蓝牙模块,配合主控板、OLED显示屏等,构建一个无线定位系统。 本项目的系统构成为:3个信号塔,1个中控台,2个被定位的目标。 无线定位的用途有很多。比如,我们可以把固定的目…

zabbix拓扑图和聚合图形

目录 一、环境准备 1、搭建zabbix基础环境 2、创建被监控主机 二、拓扑图 1、拓扑图作用 2、拓扑图绘制步骤 三、聚合图形 1、聚合图形的作用 2、创建聚合图形 一、环境准备 1、搭建zabbix基础环境 zabbix基础环境部署参照:zabbix基础环境部署_桂安俊kyli…

方格取数 (两条路径,使得取得的数字和为最大)

设有 NN 的方格图,我们在其中的某些方格中填入正整数,而其它的方格中则放入数字0。如下图所示: 某人从图中的左上角 A 出发,可以向下行走,也可以向右行走,直到到达右下角的 B 点。 在走过的路上&#xff0…

Vue中的组件生命周期

一个组件从创建到销毁的过程 成为生命周期。 在我们使用Vue3 组合式API 是没有 beforeCreate 和 created 这两个生命周期的 组件生命周期如下: onBeforeMount() 在组件DOM实际渲染安装之前调用。在这一步中,根元素还不存在。onMounted() 在组件的第一次…