一文读懂交换机MAC地址表:五大关键点,图解21步

HCIA 新班开课了华为HCIA课程介绍苏州面授班 | 全国直播班循环开班,免费重学

前言

什么是MAC地址表?MAC地址表有什么作用?MAC地址表里面包含了哪些要素?今天带你好好唠唠。

我们以一个案例为例:
在这里插入图片描述

如上图:PC1和PC2通过交换机SW1直连,此时PC1想要和PC2通信。

1、根据TCP/IP参考模型,PC1想要和PC2通信,除了需要知道PC2的IP地址,还需要知道PC2的MAC地址,这个我们在之前章节已经讲了,可以通过ARP广播获取PC2的目的IP地址。(PC1的ARP表项如下图)在这里插入图片描述

2、PC1将报文封装好发送给交换机SW1,交换机SW1会查找MAC地址表,匹配到PC2的MAC地址,查找出接口为GE0/0/2。(交换机的MAC地址表如下图)在这里插入图片描述

3、交换机SW1将报文发给PC2,PC2收到后解封装发现目的MAC和目的IP均为自己的,因此接收该报文继续处理。

以上就是整个案例的通信过程,可是我们有没有想过,就是交换机SW1的MAC地址表是怎么生成的?交换机的MAC地址表是啥样的?由哪些要素构成?

MAC地址表

MAC地址表:简单的说,MAC地址表是交换机等网络设备记录MAC地址和端口的映射关系(见下图),代表了交换机从哪个端口学习到了某个MAC地址,交换机把这个信息记录下来,后续交换机需要转发数据的时候就可以根据报文的目的MAC地址去根据MAC地址表转发数据。在这里插入图片描述

华为交换机上可以通过命令display mac-address查看所有类型的MAC地址表项信息;在这里插入图片描述

MAC地址表作用:

1、用于存放交换机所学习到的其它设备的MAC地址信息。

2、用于交换机在转发数据时,根据以太网帧中的目的MAC地址和VLAN编号查询MAC表,快速定位设备的出接口。

MAC地址表主要构成:包括目的MAC地址、设备所属的VLAN、出接口、MAC表项类型、老化时间等。在这里插入图片描述

下面我们就分别来讲下MAC地址表的五大要素。

目的MAC地址

什么是MAC地址?

每个网卡或三层网口都有一个 MAC 地址, MAC 地址是烧录到硬件上,因此也称为硬件地址。MAC 地址作为数据链路设备的地址标识符,需要保证网络中的每个 MAC 地址都是唯一的,才能正确识别到数据链路上的设备。

MAC地址组成?

MAC 地址由 6 个字节组成。前 3 个字节表示厂商识别码,每个网卡厂商都有特定唯一的识别数字。后 3 个字节由厂商给每个网卡进行分配。厂商可以保证生产出来的网卡不会有相同 MAC 地址的网卡。在这里插入图片描述

MAC地址

MAC地址表示方法?

为了查看方便, 6 个字节的 MAC 地址使用十六进制来表示。每个字节的 8 位二进制数分别用 2 个十六进制数来表示。

例如我的网卡 MAC 地址是 34-F6-4B-62-B3-85。可以在自己的PC通过打开cmd通过命令ipconfig /all 查看在这里插入图片描述

交换机是如何学习MAC地址的?

1、交换机在从某接口收到数据帧时会基于源MAC地址学习,然后在MAC地址表中添加MAC地址和接口的映射关系,生成对应的MAC地址表项

2、交换机在转发数据帧时是基于目的MAC地址进行转发。

所属VLAN

当交换机上的接口有绑定VLAN时,生成的MAC地址表项会标识接口所属的VLAN。如下图中接口10GE1/0/1的所属VLAN为100。在这里插入图片描述

关于VLAN,我们简单看下VLAN相关的概念。

什么是VLAN?

VLAN是为了在二层隔离广播域而提出的一个概念。

举个例子,我们班级一共有15个人,为了方便管理,我们3人1组,分成组1,组2,组3,组4,组5。那么划分VLAN就类似于分组的概念。
在这里插入图片描述

如下图:我们将PC1和PC3划分为VLAN10,PC2和PC4划分为VLAN20,那么相同的VLAN之间可以通信,不同VLAN之间二层不可以通信。在这里插入图片描述

怎么区分不同的 VLAN ?

通过 VLAN ID 进行区分,例如 VLAN 10 和 VLAN 20 就是不同的 VLAN 。

VLAN 技术有哪些好处?

  • 增加了广播域的数量,减小了每个广播域的规模,也减少了每个广播域中终端设备的数量;
  • 增强了网络安全性,保障网络安全的方法增加了;
  • 提高了网络设计的逻辑性,可以规避地理、物理等因素对于网络设计的限制。

VLAN 划分

交换机通常会使用基于端口划分 VLAN 的方法。在交换机上手动配置,绑定交换机端口和 VLAN ID 的关系。

如下图就是基于接口的方式划分VLAN。在这里插入图片描述

在这里插入图片描述

优点:配置简单。想要把某个端口划分到某个 VLAN 中,只需要把端口的 PVID (端口 VLAN ID )配置到相应的 VLAN ID 即可。

缺点:当终端设备移动位置是,可能需要为终端设备连接的新端口重新划分 VLAN 。

除了这种方法外,还可以使用基于 MAC 地址划分 VLAN 、基于 IP 地址划分 VLAN 、基于协议划分 VLAN 、基于策略划分 VLAN 等方法来划分 VLAN。在这里插入图片描述

出接口

当交换机收到一个数据包会根据数据帧的目的MAC地址去查找MAC地址表,如果能够匹配到,那么就会根据表项的出接口发送出数据帧。
在这里插入图片描述

如上图所示:

1、PC1发送一个如下图所示的数据帧给SW1,目的MAC为PC2的MAC;在这里插入图片描述

2、交换机SW1收到该数据帧后根据目的MAC查找MAC地址表,匹配到表项,按照表项提供的出接口将数据从G0/0/2口转发出去;在这里插入图片描述

3、PC2收到数据帧后进行解封装,通信结束。

MAC地址表表项类型

MAC地址表生成的方式有多种,最常见的就是动态生成MAC地址表项。在这里插入图片描述

下面我们一起看下MAC地址表的表项类型:

1、static:静态MAC地址表项。由用户手工配置,表项不会被老化。

2、blackhole:标识黑洞MAC地址表项,由用户手工配置,表项不会被老化。

3、dynamic:标识动态MAC地址表项,由设备通过源MAC地址学习获得,表项有老化时间,可被老化。

4、security:标识安全动态MAC表项,由接口使能端口安全功能后学习到的MAC地址表项。

5、sticky:标识Sticky MAC表项,由接口使能Sticky MAC功能后学习到的MAC地址表项。

6、mux:标识MUX MAC表项,当接口使能MUX VLAN功能后,该接口学习到的MAC地址表项会记录到mux类型的MAC地址表项中。

7、snooping:根据DHCP Snooping绑定表生成的静态MAC表项类型。

8、evn:标识EVN或EVPN网络中存在的MAC地址表项。

9、authen:用户通过MAC认证或802.1x认证后形成的MAC地址表项。

10、tunnel:通过二层隧道学到的MAC地址。

11、ovsdb:标识通过OVSDB学习到的MAC地址表项。由VMware NSX控制器下发至本端设备获得,表项不会被老化。系统复位或接口板热插拔后不丢失。

老化时间

MAC老化时间:动态MAC地址学习时间,单位是秒。

华为交换机可以通过命令 display mac-address aging-time命令用来查看MAC地址表中动态MAC地址表项的老化时间。在这里插入图片描述

使用本命令查看动态MAC地址表项的老化时间为0秒时,说明学习到的动态MAC地址不会被老化,可能会使MAC地址表项爆炸式增长,降低系统性能。

---END---
关注 工 仲 好:IT运维大本营,获取60个G的《网工系统大礼包》

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

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

相关文章

C#——堆栈和队列详情

堆栈和队列 堆栈 堆栈类表示一个后进先出的对象集合,当需要对项目进行后进先出的访问时,则可以使用堆栈。向堆栈中添加元素称为推入元素,从堆栈中移除元素称为弹出元素。 关键字: Stack stack常用属性 : 属性 描述Count获取堆栈中包含的…

Javascript高级程序设计(第四版)--学习记录之变量、内存

原始值与引用值 原始值:简单的数据即基础数据类型,按值访问。 引用值:由多个值构成的对象即复杂数据类型,按引用访问。 动态属性 对于引用值而言,可以随时添加、修改和删除其属性和方法。 let person new Object(); p…

昇思25天学习打卡营第1天|认识MindSpore

MindSpore 基本介绍 昇思MindSpore是一个全场景深度学习框架,旨在实现易开发、高效执行、全场景统一部署三大目标。 易开发:API友好、调试难度低高效执行:包括计算效率、数据预处理效率和分布式训练效率全场景:框架同时支持云、…

LabVIEW操作系列

目的:初学LabVIEW,做记录 文章目录 前言一、LabVIEW操作界面1.1 新建vi1.2 控件1.3 加法案例 二、编程特点2.1 特点2.2 实现按顺序执行 三、程序结构3.1 平铺式顺序结构3.2 循环结构3.2.1 For循环3.2.2 While循环3.2.3 中途停止For循环3.2.4 中途停止Whi…

区块链实验室(37) - 交叉编译百度xuperchain for arm64

纠结了很久,终于成功编译xuperchain for arm64。踩到1个坑,说明如下。 1、官方文档是这么说的:go语言版本推荐1.5-1.8 2、但是同一个页面,又是这么说的:不推荐使用1.11之前的版本。 3、问题来了:用什么版本…

数据库拆分

1.1 数据库拆分的背景和意义 在互联网和大数据时代,企业和应用程序需要处理海量数据并提供高并发访问能力。传统的单一数据库架构在面对大规模数据和高并发请求时,逐渐暴露出性能瓶颈、扩展性不足、可用性差和维护成本高等问题。为了解决这些问题&#…

用于世界上最先进的医疗应用的精密电阻器

EAK的高性能电阻器使医疗产品设计人员能够继续改善全球患者的生活质量。我们的电阻器专为用于医疗诊断、治疗和预防的各种产品而设计。从小型植入式和非侵入性设备到大型诊断成像设备,医疗制造商之所以选择EAK 电阻器,是因为操作环境是高电压和磁场&…

ES内存溢出报错问题解决方案

博主有话说&#xff1a;该博文根据实际案例编写&#xff0c;在编写过程中将敏感信息进行替换&#xff0c;可能存在矛盾的地方&#xff0c;望见谅 1 错误详情 [typecircuit_breaking_exception, reason[parent] Data too large, data for [<http_request>] would be [1256…

Java--Data类

1.Data类 java.util.Date.表示指定的时间信息&#xff0c;不支持国际化 构造方法 new Date()&#xff1a;当前系统日期和时间 new Date(long)&#xff1a;给定日期和时间 主要方法&#xff1a; after(Date):判断当前日期对象是否在给定日期对象之后 before(Date):判断当前日期…

(上位机APP开发)调用华为云属性修改API接口修改设备属性

一、功能说明 通过调用华为云IOT提供的属性修改API接口,给设备下发属性修改消息。 API接口地址:https://support.huaweicloud.com/api-iothub/iot_06_v5_0034.html 此接口支持在线调试:https://console.huaweicloud.com/apiexplorer/#/openapi/IoTDA/doc?api=UpdatePrope…

(一)、配置服务器的多个网卡路由,访问多个不同网络段

一、现场网络关系说明 有这么一个需要&#xff0c;服务器有三个网口&#xff0c;网口一需要访问外网&#xff0c;网口二需要访问内网1&#xff0c;网口2需要访问内网2。需要配置路由来满足该网络访问需要。 图1 现场网络关系 二、配置教程 步骤1&#xff1a; a、命令行输入…

文本批量高效编辑神器:空格秒变分隔符,提升工作效率

在信息爆炸的时代&#xff0c;文本处理已成为我们日常工作中不可或缺的一部分。然而&#xff0c;面对海量的文本数据&#xff0c;如何高效、准确地进行编辑和整理&#xff0c;成为了我们面临的难题。今天&#xff0c;我要向大家介绍一款文本批量高效编辑神器——首助编辑高手&a…

Springboot整合Mongodb(含使用案例)

基础语法 插入 插入单条 // 插入一条数据到 "Books" 集合 db.Books.insertOne({title: "如何使用MongoDB",author: "IT小辉同学",year: 2023 })插入多条数据 // 插入十条数据到 "Books" 集合 db.Books.insertMany([{ title: "…

期末考试的成绩怎么发?

随着学期末的临近&#xff0c;我们又迎来了向家长通报学生成绩的关键时刻。下面是一份成绩群发的全新指南&#xff0c;让我们一起高效而温馨地完成这项任务&#xff01; 1.选择沟通渠道&#xff1a; - 邮件与短信各有优势。邮件更适合提供详尽的成绩分析和评语&#xff0c;而短…

【Nginx】Nginx安装及简单使用

https://www.bilibili.com/video/BV1F5411J7vK https://www.kuangstudy.com/bbs/1353634800149213186 https://stonecoding.net/system/nginx/nginx.html https://blog.csdn.net/qq_40492693/article/details/124453090 Nginx 是一个高性能的 HTTP 和反向代理 Web 服务器。其特…

vim操作小诀窍:快速多行添加注释

在使用vim编译python代码的时候&#xff0c;经常碰到需要将一段代码注释的情况&#xff0c;每次都要按“向下” “向左”按钮&#xff0c;将光标移到句首&#xff0c;然后再键入#井号键。如果行数较多&#xff0c;则操作相当繁琐。 vim里面有将一段文字前面加#注释的方法&#…

LLVM——安装多版本LLVM和Clang并切换使用(Ubuntu)

1、描述 本机&#xff08;Ubuntu22&#xff09;已经安装了LLVM-14&#xff0c;但是需要使用LLVM-12。安装LLVM-12和Clang-12并切换使用。 2、过程 安装LLVM-12和Clang-12。 sudo apt-get install llvm-12 sudo apt-get install clang-12 【注】运行 sudo apt-get install ll…

【备考指南】数据分析备考资料

很多考生朋友在报名前后&#xff0c;一直不知道需要怎么备考&#xff0c;这里给大家盘点一下资料&#xff0c;希望对你有用&#xff1a; 1、cda数据分析师的硬技能与软技能&#xff1a;https://edu.cda.cn/goods/show/3604 2、机器学习驱动的金融风控&#xff1a;https://edu.…

windowns server2016服务器配置php调用powerpoint COM组件

解决问题&#xff1a;windowns server2016服务器配置php调用powerpoint COM组件 环境&#xff1a; windows server2016 宝塔&#xff08;nginxmysqlphp7.2&#xff09; IIS 搭建宝塔&#xff1a; 下载地址&#xff1a;https://www.bt.cn/download/windows.html ​ 安装使用&…

春招面试面经总结篇

目录 前言一&#xff0c;算法篇1.1 平拍数组1.2 括号匹配1.3 打家劫舍1.4 删除最少使字符串平衡1.5 爬楼梯 二&#xff0c;数据结构篇2.1 二叉树2.2 链表 三&#xff0c;HTML篇3.1 H5新的语义标签3.2 href和src 四&#xff0c;CSS篇4.1 居中4.2 父元素塌陷解决4.3 外边距塌陷4.…