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

news2024/10/6 6:41:28
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.coloradmin.cn/o/1857863.html

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

相关文章

vscode linux项目插件global扩展安装

vscode经常用来编辑linux系统下的项目;但是经常出现一些小问题;例如代码导航: 有时想要跳转到函数定义时会提示:未找到xxx的任何定义;更奇怪的是有的函数可以跳转有的函数不能跳转;理论上来说C/C插件已经具…

脑洞大开!用大模型开卡车,还融了2亿美元

物理生成式AI驾驶平台Waabi在官网宣布获得2亿美元,本次由英伟达(NVIDIA)、沃尔沃、保时捷、Uber、Khosla等全球知名企业投资。 Waabi仅成立3年便获得4级自主驾驶权限,主要是借助了ChatGPT等生成式AI风口,将其融合在自…

AI风险管理新利器:SAIF CHECK利用Meta Llama 3保障合规与安全

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

设计软件有哪些?贴图插件篇(2),渲染100邀请码1a12

这次我们继续介绍一些贴图插件。 1、Texporter Texporter是3ds Max的一个插件,用于快速导出贴图。它允许用户一次性导出多个贴图通道,如漫反射、法线、置换等,以各种格式,如TGA、BMP、JPEG等。Texporter提供了简单易用的界面和灵…

ctr/cvr预估之WideDeep模型

ctr/cvr预估之Wide&Deep模型 在探索点击率(CTR)和转化率(CVR)预估的领域中,我们始终追求的是一种既能捕获数据中的线性关系,又能发现复杂模式的模型。因子分解机(Factorization Machines, …

6.21长难句打卡

Students also benefit from learning something about coding before they get to college, where introductory computer-science classes are packed to the brim, which can drive the less-experienced or -determined students away. 1.brim v.充满 n.边缘 在上大学之前…

Nature重磅:揭开睡眠不足为什么会损害记忆力

我们的记忆力会在睡眠期间得到增强,海马体是大脑的记忆中心,而海马体尖波涟漪(sharp-wave ripple,SWR)期间觉醒体验的激活和重放被认为是记忆力得到增强的关键。睡眠不足会损害记忆力,然而,我们…

四川赤橙宏海商务信息咨询有限公司电商服务正规吗?

在数字时代的浪潮下,电商行业正以前所未有的速度蓬勃发展。而在这个风起云涌的电商江湖中,四川赤橙宏海商务信息咨询有限公司以其独特的抖音电商服务策略,迅速崭露头角,成为业界翘楚。今天,我们就来聊聊这家公司如何凭…

matplotlib赛博朋克绘图风格介绍(mplcyberpunk)

matplotlib绘图风格 mplcyberpunk mplcyberpunk是一个matplotlib绘图风格的扩展包,利用这个python包,可以轻易的创建出精美的赛博朋克风格图表,方法介绍: import matplotlib.pyplot as plt import mplcyberpunkplt.style.use("cyberpunk")add_glow_effects #使图形…

SQL Server - ROLLUP、GROUPING、CUBE、GROUPING SET

文章目录 SQL Server - ROLLUP、GROUPING、CUBE、GROUPING SETROLLUP函数GROUPING函数GROUPING SET函数CUBE函数网上例子 写在前面:如果我们想要对分组之后的数据进行类似小计的计算,那么就需要使用到下面的函数 SQL Server - ROLLUP、GROUPING、CUBE、G…

解决bat脚本输出中文乱码

2024.06.24 测试,使用方法(1)已解决问题。 原文连接 一、乱码原因 Windows的cmd.exe默认编码格式为ANSI。简体中文版的Windows, 其ANSI对应微软Codepage为cp936 如果你的bat文件是UTF-8编码的, 或者是是其他Codepage下创建的, 当bat文件编码…

C语言基础——函数(2)

ʕ • ᴥ • ʔ づ♡ど 🎉 欢迎点赞支持🎉 文章目录 前言 一、return语句 二、数组做函数参数 三、嵌套调用和链式访问 3.1 嵌套调用 3.2 链式访问 四、函数声明和定义 4.1 单个文件 4.2 多个文件 总结 前言 大家好啊,继我们上一…

快速鲁棒的 ICP (Fast and Robust Iterative Closest Point)

迭代最近点(Iterative Closet Point,ICP)算法及其变体是两个点集之间刚性配准的基本技术,在机器人技术和三维重建等领域有着广泛的应用。ICP的主要缺点是:收敛速度慢,以及对异常值、缺失数据和部分重叠的敏…

【强化学习的数学原理】课程笔记--1(基本概念,贝尔曼公式)

目录 基本概念State, Action, State transitionPolicy, Reward, Trajectory, Discount ReturnEpisodeMarkov decision process 贝尔曼公式推导确定形式的贝尔曼公式推导一般形式的贝尔曼公式State ValueAction Value 一些例子贝尔曼公式的 Matric-vector form贝尔曼公式的解析解…

图片多级缓存加载流程

图片多级缓存加载流程通常包括三个主要级别:内存缓存、本地缓存和网络缓存。以下是详细的加载流程: 1. 内存缓存(一级缓存) 流程: 当应用需要加载一张图片时,首先会检查内存缓存中是否存在该图片。 如果…

【Linux进阶】UNIX体系结构分解——操作系统,内核,shell

1.什么是操作系统? 从严格意义上说,可将操作系统定义为一种软件,它控制计算机硬件资源,提供程序运行环境。我们通常将这种软件称为内核(kerel),因为它相对较小,而且位于环境的核心。 从广义上…

智能屏幕人体雷达感应开关模块,飞睿智能低功耗毫米波雷达技术,让冰箱更节能

在智能家居日益普及的今天,各种创新技术层出不穷,极大地提升了人们的生活品质。其中,人体雷达感应开关模块作为一种创新的传感器技术,正在逐步改变我们对家电设备的传统认知。本文将深入探讨飞睿智能人体雷达感应开关中的毫米波雷…

【Golang】Steam 创意工坊 Mod 文件夹批量重命名

本文将介绍一个使用Go语言编写的脚本,其主要功能是解析XML文件并基于解析结果重命名文件夹。这个脚本适用于需要对文件夹进行批量重命名,并且重命名规则依赖于XML文件内容的情况。 脚本功能概述 Steam创意工坊下载的Mod文件夹批量重命名为id名称 运行前…

MySQL-java连接MySQL数据库+JDBC的使用

目录 1.准备所需要资源 2.导入驱动包 3.连接数据库步骤 首先在MySQL中创建好数据库和表 代码实现连接数据库 1.准备所需要资源 1.mysql和驱动包 我用的是5.7的mysql和5.1.49的驱动包,链接放在网盘里,需要的自取 链接:https://pan.bai…

K8S安装metrics-server

K8S安装metrics-server 使用kubeadm安装完成的集群,运行kubectl top node等命令式,报错:error: Metrics API not available。这是因为缺少metrics-server。 [rootk8s-master1 ~]# kubectl top node error: Metrics API not available简介 …