MAC地址表

article/2025/8/3 3:25:01

MAC地址表

MAC地址表记录了相连设备的MAC地址、接口号以及所属的VLAN ID之间的对应关系,是VLAN内数据转发的决策表,是决定交换机转发行为的标准,交换机就是根据这张表负责将数据帧传输到指定的主机上的。

 

MAC表一般包含动态MAC地址、静态MAC地址和黑洞MAC地址。

动态MAC地址: 由接口通过报文中的源MAC地址学习获得,表项可老化,默认老化时间为300s,可以通过命令修改老化时间,老化时间到后,会清除学习到的动态MAC地址。

静态MAC地址: 由用户手工配置,不会老化,接口和MAC地址静态绑定后,其他接口收到目的MAC是该MAC地址的报文将会被丢弃,但是一个接口和MAC地址静态绑定后,不会影响该接口动态MAC地址表项的学习。

黑洞MAC地址:设备收到源MAC或者目的地址是该MAC地址的报文将会被丢弃。

 
下面通过实验去配置、理解上述三种类型的MAC地址,网络拓扑如下图所示:

在这里插入图片描述
 

动态MAC地址表项

网络拓扑在初始化,mac地址表没有任何表项,只有数据包经过后,才会动态学习到mac地址和接口的对应关系。

在这里插入图片描述
利用PING命令,从PC1 ping PC2,我们就可以在MAC表里看到PC1和PC2的MAC地址以及对应的接口了。现在我们看到的就是学习到动态MAC地址表项,,Type 为 dynamic

在这里插入图片描述

 

静态MAC地址表项

将PC2的MAC地址配置成静态MAC地址,再看一下表项,可以看到在mac地址表中出现了静态mac地址表项,而且已经将PC2的mac地址从动态表项中移除。

在这里插入图片描述
 
 

假如我们将Client2从接口2移到接口4,并在原来接口2上,重新接入一台MAC地址不同的客户端,我们来通过抓包看一下Client2能不能发送和收到数据包。

在这里插入图片描述
首先从Client1 ping Client2

接口G0/0/1抓包结果:

在这里插入图片描述

接口G0/0/2抓包结果:

在这里插入图片描述
接口G0/0/4抓包结果:

在这里插入图片描述
由抓包结果可知,目的地址是静态MAC表项的,将从绑定的端口(G0/0/2)发送出去,在G0/0/4端口上被丢弃,所以G0/0/4收不到该ICMP Request包

 
而从Client2 ping Client1时

接口G0/0/4抓包结果:

在这里插入图片描述
接口G0/0/1抓包结果:

在这里插入图片描述
由该抓包结果可知,G0/0/4接口可以接受源地址为静态MAC地址的数据包,并且可以到达G0/0/1口。

 

通过上述两个抓包实验,我们验证了,将MAC地址和接口绑定后,目的地址为该MAC地址的只能有绑定接口转发,其他非绑定接口将会丢弃;而针对源地址为该MAC地址的数据包,非绑定接口能够接收。

 
 

黑洞MAC地址

将Client3的MAC地址设定为黑洞MAC地址,可以看到表项出现了blackhole类型的mac地址,再通过抓包看一下实验效果。

在这里插入图片描述

从Client3 ping Client1 G0/0/3接口抓包如下:

在这里插入图片描述

接口G0/0/1接口如下:

在这里插入图片描述

从上述抓包结果我们可以看到,针对源地址是黑洞MAC的数据包,设备直接丢弃,所以G0/0/1收不到ARP数据包

 
 

交换机的工作原理

交换机在接收到数据帧以后,首先会记录数据帧中的源MAC地址和对应的接口到MAC表中,接着、会检查自己的MAC表中是否有数据帧中目标MAC地址的信息,如果有则会根据MAC表中记录的对应接口将数据帧发送出去(也就是单播),如果没有,则会将该数据帧从非接受接口发送出去(也就是广播)。

 
 

交换机的转发行为

 

泛洪(Flooding)

交换机把从某一个端口接收到的数据帧向除了接收端口以外的其他端口转发。泛洪是一点到多点的转发行为。

交换机在以下几种情况下会泛洪数据帧:

(1)收到广播数据帧(目的MAC是全F)

(2)收到组播数据帧

(3)收到未知的单播数据帧(未知的单播帧是指数据帧的目的MAC地址在MAC地址表中不存在)

 

转发(Forwarding)

交换机从某一个端口收到数据帧后从另一个端口转发出去,转发是一种点到点的转发行为。
 
交换机转发数据帧流程:交换机收到数据帧以后根据数据帧的目的MAC查看本地MAC地址表,如果MAC地址表中存在目的MAC地址,则将数据帧从目的MAC地址绑定的端口转发出去,如果MAC地址表中不存在MAC地址,则执行泛洪转发。
 

丢弃(Discarding)

交换机接收到数据帧的端口和转发数据帧的端口是同一个端口,则丢弃数据帧不转发。

 

一台交换机传输数据帧的过程

在这里插入图片描述

  1. 主机A会将一个源MAC地址为自己,目标MAC地址为主机B的数据帧发送给交换机。
  2. 交换机收到此数据帧后,首先将数据帧中的源MAC地址和对应的接口(接口为f 0/1) 记录到MAC地址表中。
  3. 然后交换机会检查自己的MAC地址表中是否有数据帧中的目标MAC地址的信息,如果有,则从MAC地址表中记录的接口发送出去,如果没有,则会将此数据帧从非接收接口的所有接口发送出去(也就是除了f 0/1接口)。
  4. 这时,局域网的所有主机都会收到此数据帧,但是只有主机B收到此数据帧时会响应这个广播,并回应一个数据帧,此数据帧中包括主机B的MAC地址。
  5. 当交换机收到主机B回应的数据帧后,也会记录数据帧中的源MAC地址(也就是主机B的MAC地址),这时,再当主机A和主机B通信时,交换机根据MAC地址表中的记录,实现单播了。
     
     

多台交换机传输数据帧的过程

在这里插入图片描述

  1. 主机A将一个源MAC地址为自己,目标MAC地址主机C的数据帧发送给交换机。
  2. 交换机1收到此数据帧后,会学习源MAC地址,并检查MAC地址表,发现没有目标MAC地址的记录,则会将数据帧广播出去,主机B和交换机2都会收到此数据帧。
  3. 交换机2收到此数据帧后也会将数据帧中的源MAC地址和对应的接口记录到MAC地址表中,并检查自己的MAC地址表,发现没有目标MAC地址的记录,则会广播此数据帧。
  4. 主机C收到数据帧后,会响应这个数据帧,并回复一个源MAC地址为自己的数据帧,这时交换机1和交换机2都会将主机C的MAC地址记录到自己的MAC地址表中,并且以单播的形式将此数据帧发送给主机A。
  5. 这时,主机A和主机C通信就是一单播的形式传输数据帧了,主机B和主机C通信如上述过程一样,因此交换机2的MAC地址表中记录着主机A和主机B的MAC地址都对应接口f 0/1。

总结: 从上面的两幅图可以看出,交换机具有动态学习源MAC地址的功能,并且交换机的一个接口可以对应多个MAC地址,但是一个MAC地址只能对应一个接口。
 
注意: 交换机动态学习的MAC地址默认只有300S的有效期,如果300S内记录的MAC地址没有通信,则会删除此记录。

 

查看MAC地址内容

display mac address vlan 1
display mac-address		//查看mac地址表
display mac-address aging-time		//老化时间
mac-address aging-time x		//修改老化时间s(不建议)

 

配置MAC地址内容

静态MAC地址

mac-address static abcd-1234-5678 GigbitEthernet 0/0/2 vlan 10

黑洞MAC地址

mac-address blackhole adbc-1234-5678

 

MAC地址漂移(震荡)

  • 一个终端的MAC地址同一时间只能从一个接口学习到。
  • 一个接口学习到的MAC地址在同一VLAN中另一接口上也学习到,后学习到的MAC地址表项覆盖原来的表项,甚至出现反复,将严重影响业务转发。
  • MAC地址震荡一般都意味着网络中出现环路,形成广播风暴。(其他原因可能是VLAN划分错误或者临时情况)

防范机制
1.配置接口MAC地址学习优先级,高优先级的可以替换低优先级的,而低优先级的不能替换学习到的MAC地址
2.不允许相同优先级的接口发生MAC地址表项的覆盖。也就是后面学习到的MAC地址不能替换先学习到的MAC地址表项。这里可能会引发别的问题,比如当我们的设备下电了或者断开了,攻击者使用相同的MAC发送消息到交换机,此时是可以学习到的,那么后面的正常设备上电接入就没法正常上网了。

防止MAC地址漂移配置
mac-learning priority 3 //接口MAC地址学习优先级,值越大优先级高
undo mac-learning priority 3 allow-flapping //不允许相同优先级MAC地址漂移
mac-address flapping detection //配置全局MAC地址漂移检测

//配置基于vlan 的mac地址漂移检测
vlan 3
loop-detect eth-loop block-time 100 retry-times 3

 

MAC与端口绑定

如何配置MAC与端口绑定,使其他设备在此端口不能上网?

1.在端口中关闭MAC学习
[huawei]interface Ethernet0/0/1
[huawei-Ethernet0/0/1]mac-address learning disable
[huawei-Ethernet0/0/1]qu
2.将MAC绑定到端口0/0/1上并指定VLAN
[huawei]mac-address static XXXX-XXXX-XXXX Ethernet 0/0/1 vlan 20
[huawei]qu
3.保存
<huawei>sa

http://chatgpt.dhexx.cn/article/cuPD6lN8.shtml

相关文章

win+E打开文件资源管理器,但是打开的是快速访问

当使用快捷键&#xff0c;WinE的时候&#xff0c;打开的不是此电脑&#xff0c;而是快速访问的界面的时候&#xff0c;可以进行如下的处理&#xff1a; 1、继续WinE&#xff0c;然后找到查看&#xff0c;如下&#xff1a; 将快速访问换成->此电脑就可以了&#xff0c;这样就…

Win10 文件夹右键菜单打不开,快速访问点击卡死

如题&#xff0c;win10文件夹卡死了&#xff0c;人也好焦虑~ --------------------------------------------------------------- 一通百度&#xff0c;最后发现是右键菜单的问题&#xff0c;不知道安装啥软件&#xff0c;给我在文件夹右键菜单里加入了有问题的项&#xff0c;…

win10 如何关闭系统中的快速访问

在 Win10 系统中 快速访问 功能默认是打开的&#xff0c;这个功能会在你打开某些文件后&#xff0c;记录下你最近访问过的最新文件。这个功能比较有利的一面是提高了工作效率。它将我们经常访问的文件夹都直接记录下来了&#xff0c;访问了我们下一次的访问&#xff0c;但另一个…

怎么让Win10不显示快速访问记录

百度经验 快速访问记录本来是方便操作&#xff0c;但是有时候会泄露隐私&#xff0c;所以这个功能很多时候并不受大家的欢迎&#xff0c;下面小编教大家怎么设置不显示访问记录&#xff0c;供大家参考&#xff01; 双击此电脑进入&#xff0c;如下图所示 点击上方菜单的查看&…

小技巧——windows关闭快速访问的操作

首先选中快速访问&#xff0c;右键点击选项 1、常规-选中此电脑 2、去除隐私的2个选项上的勾 3、点击清除 4、点击还原默认值 5、点击应用 6、点击确定

如何在国内快速访问Github

如何在国内快速访问Github&#xff1f; 今天分享一个简单实用可以快速访问github的软件&#xff0c;Watt Toolkit Watt Toolkit是一个包含多种 Steam 工具功能的工具箱 Watt Toolkit下载地址 安装后启动 勾选Github 点击一键加速 随后即可秒开Github

win10 快速批量删除快速访问下的文件夹记录

1. 批量清除文件夹 打开计算机----左键点击快速访问---- 右侧即可出现所有在快速访问下的文件夹&#xff0c;选中想要清除的文件夹&#xff0c;右键单击--选择 从“快速访问”取消固定即可 2. 快速访问的隐私设置 选中左侧列表的快速访问---右键单击----选项---隐私设置中取…

win11 / win10 彻底删除系统“快速访问”中自动添加的文件夹 - 不再自动添加

效果图 修改前&#xff0c;系统自动在“快速访问”中添加常用的文件夹&#xff1a; 修改后&#xff0c;干干净净&#xff0c;不再自动显示&#xff1a; 实现步骤 &#xff08;1 / 4&#xff09;对着“快速访问”右键&#xff0c;“显示更多选项” &#xff08;如果win10的话&…

【实用工具】怎样快速访问Github?

The problem we meet&#xff1a; 为了解决这种情况&#xff1a; 部分同学提出了修改电脑DNS的方法&#xff0c;本人经过测试&#xff0c;结果可行。主要修改流程如下&#xff1a; 一、查询指定网址的ip // 指定网址 github.com assets-cdn.github.com github.global.ssl.fas…

Windows下实现快速访问GitHub

如何在window是系统中&#xff0c;进行快速的访问GitHub 我们都知道&#xff0c;在Windows系统环境下&#xff0c;访问GitHub是一件很神奇的事情&#xff0c;有时候&#xff0c;访问很流畅&#xff0c;但是&#xff0c;在有的时候&#xff0c;访问GitHub是件很麻烦的事情&#…

简单两步WIN11彻底关闭快速访问文件夹

Windows资源管理器中默认会保留用户经常访问的文件夹&#xff0c;以便用户快速再次访问。然而有某些公开场合&#xff0c;比如需要投影时&#xff0c;如果这些文件夹如果有您不愿公开的信息的话&#xff0c;就会非常尴尬。如何把快速访问功能彻底关闭呢&#xff1f;其实只需要简…

Windows快速访问无法取消固定

1."WinR"快捷键打开以下路径: %APPDATA%\Microsoft\Windows\Recent\AutomaticDestinations 2.删除或者重命名文件 f01b4d95cf55d32a.automaticDestinations-ms 3."CtrlShiftESC"快捷键打开任务管理器,找到"Windows资源管理器" 按住"Ctrl&qu…

win11快速访问取消固定无效

折腾了一下&#xff0c;右键快速访问——显示更多选项 ——选项 把在“快速访问”中显示常用文件夹复选框取消勾选点应用&#xff08;如果有必要待会可以再勾回去&#xff09; 然后点击 清除文件资源管理器历史记录——清除 然后发现删除就有效了 中途我还重启了几次资源管理…

快速访问github.com

快速访问github.com 文章目录 快速访问github.com一、git clone 访问github.com1.1 遇到的问题&#xff1a;clone仓库十分缓慢1.2 解决方法&#xff1a;给git 添加代理1.2.1 只对github.com添加代理(强烈推荐&#xff01;&#xff01;&#xff01;)1.2.2 对全局添加代理 二、网…

快速访问网站的方法

有些常用网站可能因为dns解析较慢&#xff0c;导致查询起来体验非常不好&#xff0c;这种情况下&#xff0c;只要绕过dns解析&#xff0c;直接访问网站的cdn服务器就可以了 域名解析&#xff1a;将域名转化为ip地址首先&#xff0c;查询网站的ip地址&#xff1a; 打开网址&…

计算机快速访问怎么设置方法,windows10系统开启“快速访问”功能的方法

windows10系统 与其他系统相比新增了不少功能&#xff0c;但是刚刚使用win10的朋友还不懂得如何开启使用。今天&#xff0c;小编就为大家分享windows10系统开启“快速访问”功能的方法。感兴趣的朋友们&#xff0c;可以一起来看看&#xff01; 具体如下: 1、打开任意文件夹&…

计算机快速访问工作栏在哪,excel快速访问工具栏 将计算器添加到Excel快速访问工具栏的方法...

excel快速访问工具栏 将计算器添加到Excel快速访问工具栏的方法&#xff0c;看到标题你是不是很兴奋&#xff0c;这不就是你想学习的知识吗&#xff1f;当你掌握excel快速访问工具栏这个知识的时候你一定很兴奋&#xff0c;一定不会后悔看了excel快速访问工具栏 将计算器添加到…

每次打开计算机是快速访问,如何关闭Win10电脑的快速访问功能

Win10快速访问怎么删除&#xff1f;Win10的资源管理器中会默认显示一个“快速访问”的文件夹&#xff0c;是Win10的一个新增功能。但很多用户表示不需要&#xff0c;想要删除快速访问&#xff0c;这里就重点介绍下Win10快速访问关闭小技巧。 操作教程 Windows 10 中的“快速访问…

快速访问GitHub

Hosts文件该文件的主要作用是定义IP地址和主机名的映射关系&#xff0c;是一个映射IP地址和主机名的规定。当用户在浏览器中输入一个需要登录的网址时&#xff0c;系统会首先自动从Hosts文件中寻找对应的IP地址&#xff0c;一旦找到&#xff0c;浏览器会立即打开对应的网页&…

计算机快速访问怎么设置方法,Win10快速访问如何设置?Win10快速访问设置方法介绍...

Win10快速访问如何设置&#xff1f;Win10系统内置有快速访问功能&#xff0c;可以快速打开设置好的文件&#xff0c;这样我们在使用电脑的时候就很方便。有但是还是有很多用户不知道如何设置Win10快速访问&#xff0c;下面小编就教下大家设置Win10快速访问的方法。 具体步骤如下…