SW转发与MAC地址表_在sw4上将pc3与pc4的mac地址加入静态mac地址表项-程序员宅基地

技术标签: 路由交换  MAC  

一个心胸狭隘的人讲不出来大格局的话,一个没有使命感的人呢讲不出来有责任的话。—翟鸿燊

一、MAC地址表

1、作用: MAC表记录了相连设备的MAC地址、接口号以及所属的VLAN ID之间的对应关系。在转发数据时, 路由设备根据报文中的目的MAC地址查询MAC地址表,快速定位出接口,从而减少广播。

2、分类:

(1)动态表项由接口通过源MAC地址学习获得,表项有老化时间。
(2)静态表项由用户手工配置,并下发到各接口板,表项不老化。
(3)黑洞表项用于丢弃含有特定源MAC地址或目的MAC地址的数据帧,由用户手工配置,并下发到各接口板,表项不老化。

3、形成

(1)自动生成:
MAC表是SW通过源MAC地址学习过程而自动建立的,MAC表中自动生成的表项并非永远有效,每一条表项都有一个生存周期,到达生存周期仍得不到刷新的表项将被删除,这个生存周期被称作老化时间(默认300S)。如果在到达生存周期前记录被刷新,则该表项的老化时间重新计算。

(2)手工配置:
SW通过源MAC地址学习自动建立MAC地址表时,无法区分合法用户和黑客用户的报文,带来了安全隐患。如果黑客用户将攻击报文的源MAC地址伪装成合法用户的MAC地址,并从设备的其它接口进入,设备就会学习到错误的MAC表项,于是就会将本应转发给合法用户的报文转发给黑客用户。

为了提高接口安全性,网络管理员可手工在MAC表中加入静态MAC地址表项,将用户与接口绑定,从而防止假冒身份的非法用户骗取数据。通过手工配置黑洞MAC,可以限制指定用户的流量不能从设备通过,防止非法用户的攻击。

注意: 手工配置的MAC表项优先级高于自动生成的表项;且手动配置的MAC地址会随配置文件一起保存而不会老化。

4、SW基于MAC表的报文转发

(1)单播方式:当MAC地址表中包含与报文目的MAC地址对应的表项时,设备直接将报文从该表项中的转发出接口发送。

(2)广播方式:当设备收到的报文为广播报文、组播报文或MAC地址表中没有包含对应报文目的MAC地址的表项时,设备将采取广播方式将报文向除接收接口外同一VLAN(本广播域)内的所有接口转发。

二、拓扑

在这里插入图片描述

三、基础配置与分析

SW所有接口类型无需更改,默认VLAN 1即可,所有PC属于192.168.1.0/24

1、MAC地址表老化时间调整

修改SW-1的MAC地址表老化时间为10000S

[SW-1]mac-address aging-time 10000
//修改本SW的动态MAC地址表的老化时间为10000(默认300S,取值范围为10----100000S)

2、关闭动态MAC地址学习功能

(1)对于SW-1的G0/0/1接口关闭MAC地址学习能力,默认数据执行丢弃动作

[SW-1]int g0/0/1
[SW-1-GigabitEthernet0/0/1]mac-address learning disable  //关闭本接口的mac地址动态学习功能

(2)图式PC-1是合法用户,保证其在G0/0/1接口下的正常通信;使得PC-2通信失败

[SW-1]mac-address static 5489-980F-0D0C GigabitEthernet 0/0/1 vlan 1
//将MAC地址5489-980F-0D0C静态映射到vlan 1下属的接口G0/0/1

[SW-1]mac-address blackhole 5489-9854-080E 
//针对VLAN X所属接口接收到的源MAC地址为5489-9854-080E的数据扔向“黑洞”等同于丢弃此源MAC地址的数据。

验证:

PC-1 ping测 PC-6
在这里插入图片描述
PC-2 ping测 PC-6
在这里插入图片描述
从以上输出结果可以看出,需求已实现。

dis mac-address
在这里插入图片描述
3、部署黑洞MAC地址表

SW-1下的PC-6为攻击者,通过配置黑洞MAC地址表,阻止PC-6的数据经过SW-1转发

[SW-1]mac-address blackhole  5489-98A4-1EB7 

5489-98A4-1EB7为PC-6的mac地址

dis mac-address
在这里插入图片描述
4、部署静态MAC地址

在SW-2上,PC-3的MAC地址通过静态方式和SW-2的vlan 1下的G0/0/3接口做绑定
配置完成后测试PC-3是否能和其他人正常通信,如若不能,请正确连线

[SW-2]mac-address static 5489-982C-1B22 GigabitEthernet 0/0/3 vlan 1

在这里插入图片描述
不能和其他人正常通信;
需要通过静态方式和SW-2的vlan 1下的G0/0/1接口做绑定。

[SW-2]undo mac-address static 5489-982c-1b22 GigabitEthernet0/0/3 vlan 1
[SW-2]mac-address static 5489-982c-1b22 GigabitEthernet0/0/1 vlan 1

修改之后,能和其他人正常通信;
在这里插入图片描述
5、限制MAC地址学习数量

在SW-3的G0/0/1下开启动态MAC地址学习最大数量为 1。
PC-4为合法用户,保证PC-4的MAC地址被SW-3的动态MAC地址表学习到。

[SW-3]int g0/0/1
[SW-3-GigabitEthernet0/0/1]mac-limit maximum 1  //对本g0/0/1的mac地址最大学习数量为1,超过的不再学习 

dis mac-address
在这里插入图片描述

四、SW的数据转发

问:交换机如何识别二层转发和三层转发?

交换机根据收到的单播帧的目的 MAC 来判断是进行二层转发或三层转发。当收到的目的 MAC 是 Vlanif 对应的 MAC 时就是三层转发。否则就是二层转发。

1、SW指导数据转发的表项是什么,如何形成的?

表项:MAC地址表

形成:MC地址条目
(1)动态学习
(2)手动配置

2、SW对于动态构成的转发表项条目默认保存时间为多少? 如何刷新的

MAC动态学习与转发

(1)学习–查看数据帧的源MAc地址

① 每一个MAC条目有一个单独的计时器—300S
如果连续老化时间超时之内没有这个源MAC地址的数据经过,老化时间结束后删除对应的条目;对应条目的数据转发就是MAC老化计时器的刷新
② 学习的顺序
动态MAC地址如果接口发生变化,后学习到的生效----覆盖

③ 静态与动态的优先级
静态优于动态

(2)转发–查看数据帧的目的MAC地址

3、SW对于组播广播和未知单播帧做如何处理

广播----默认泛洪
组播----默认泛洪
单播----已知单播----单播发送
未知单播----泛洪

对于未知数据----泛洪

4、MAC地址的三种类型

(1)动态MAC地址表
(2)静态MAC地址表
(3)黑洞MAC地址表(blackhole)

五、MAC地址表安全

5.1 攻击原理

由于MAC表的容量是有限的,当黑客伪造大量源MAC地址不同的报文并发送到设备后,设备上的MAC地址表项资源可能会被耗尽。此时即使它收到正常的报文,也无法学习到报文中的源MAC地址。

5.2 防御措施

对MAC地址学习进行限制

1、基于VLAN或接口关闭学习MAC能力

(1) 关闭学习MAC能力后,则接口将不再自动学习到新的动态MAC表项,之前学习到的动态表项可以等待老化。

(2) 关闭学习功能后默认情况SW对于接收到的数据帧的源MAC地址不存在MAC地址表的默认动作为转发,可以设定对于源mac地址不存在表的情景设定丢弃。
(3)接口下执行MAC地址学习能力此命令针对此接口生效,VLAN下执行此命令针对VLAN下的所有接口生效。

2、基于VLAN或接口进行MAC地址数限制

(1) VLAN或接口学习动态MAC表项的最大数目。当VLAN或接口学习到的MAC表项达到最大数目,则该VLAN或接口将不能再学习新的MAC表项,直到它以前学习到的MAC表项老化。

(2)关闭学习功能后默认情况SW对于接收到的数据帧的源MAC地址不存在MAC地址表的默认动作为转发,可以设定对于源mac地址不存在表的情景设定丢弃。

[SW-1-vlan1]mac-limit maximum 1 alarm enable //限制本vlan 1mac地址最大学习数量为1,超过触发告警信息

3、手动配置MAC地址

(1)黑洞MAC地址

发往黑洞的的数据黑被网络转发设备丢弃,是有效防止各种二层泛洪攻击的有效手段。

(2) 静态部署MAC地址表

静态MAC地址映射表优于动态MAC地址表;
如果已经通过静态部署了指定MAC地址与接口的对应关系,无法再被动态刷新。

(3) 调整MAC地址表的老化时间

① 动态学习到的MAC地址保存与SW的内存(RAM)当中,设备断电及重启或者老化时间到了之后动态MAC地址表会被清空

② 老化时间是针对MAC地址条目来说的,不是针对MAC地址表。

③ 默认老化时间为300S,调整为0S表示此SW的动态MAC地址表里的条目不再老化,在设备加电开机期间会一直保留条目(当然还是可以使用 und mac-address 来清空mac地址表的)

在这里插入图片描述

本人所有文章都受版权保护,著作权归艺博东所有!未经授权,转载必究或附上其原创链接。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/HYD696/article/details/107379804

智能推荐

留言板——提交界面-程序员宅基地

文章浏览阅读625次。这一节主要为右侧提交界面的设计。 主要代码: <divclass="container"><divclass="starter-template"><h1>留言板</h1></d..._留言板前端页面表单

一、linux系统CentOS安装_熟悉常见linux系统centos-程序员宅基地

文章浏览阅读1k次。初次接触linux,不会操作,我们怎么做呢?我们可以在我们比较熟悉的系统里嵌套linux系统,那么就需要先创造一个可以嵌套安装linux系统的环境,这时虚拟机就可以帮我们完成。一、安装虚拟机虚拟机的种类有VMware、VirtualBoxVirtualBox下载地址是 http://www.virtualbox.org/wiki/Downdoads (免费)VMware下载地_熟悉常见linux系统centos

MP3 文件-程序员宅基地

文章浏览阅读200次。MP3 文件是由帧()构成的,帧是MP3 文件最小的组成单位。MP3的全称应为MPEG1 Layer-3 音频文件,MPEG(Moving Picture Experts Group) 在汉语中译为活动图像专家组,特指活动影音压缩标准,MPEG音频文件是MPEG1 标准中的声音部分,也叫M..._mp3文件结构

通过@Async来看spring的AOP实现方式-程序员宅基地

文章浏览阅读1.1k次。spring会根据定义的AdviceMode类型(PROXY, ASPECTJ)选择不同的aop实现方式, 一般使用的是PROXY 。 public class AsyncConfigurationSelector extends AdviceModeImportSelector<En..._@async和aop

android 哪些代码不用混淆,AndroidStudio中代码混淆以及打包操作-程序员宅基地

文章浏览阅读817次。摸索了两天,大概了解了在AndroidStudio中代码混淆和打包发布的过程,在此记录下。代码混淆:关于代码混淆的作用,就不多解释了,整个过程大致如下:在app下的build.gradle文件中添加如下代码(minifyEnabled 表示是否混淆,默认是false,这里要记得设置成true): 其中proguard-android.txt文件是本地sdk/tools/proguard文件夹下的..._哪些类不应该混淆

敏捷开发简介_发由几种轻量级的软件开发方法组成。它们包括:极限编程(xp),scrum,精益开发(leand-程序员宅基地

文章浏览阅读467次。敏捷开发简介在软件工业界,敏捷开发已成为众多高效开发团队的制胜之道。它不仅被许多中小公司青睐,在全球一百强的企业中,敏捷也已大行其道,受到许多资深项目管理者和开发人员的推崇。欧美软件企业中,有近半企业已采用敏捷方法进行开发。大多数尚未应用敏捷的企业,也都对其有所了解,而且很多在计划实施。中国的外企,外包公司和许多知名企业也都开始采用了敏捷方法。例如,腾讯内部几乎所有_发由几种轻量级的软件开发方法组成。它们包括:极限编程(xp),scrum,精益开发(leand

随便推点

转:[Android]使用ActivityGroup来切换Activity和Layout-程序员宅基地

文章浏览阅读36次。前言   在一个主界面中做Activity切换一般都会用TabActivity,使用方便,Activity互相之间相对独立,但是可定制性不强,而且修改起来很麻烦。当然也可以把layout分开,把逻辑代码全写在主界面的逻辑代码中,但是很明显可维护性相当差,这里通过ActivityGroup来解决这个问题。声明  欢迎转载,但请保留文章原始出处:)    博客园:http:...

织梦cms模板下载:广告品牌设计网站织梦模板-程序员宅基地

文章浏览阅读81次。模板名称:广告品牌设计网站织梦模板 模板介绍: 织梦最新内核开发的模板,该模板属于品牌广告设计类企业模板,dedecms最新版内核开发,原创设计、手工书写DIV+CSS,完美兼容IE7+、Firefox、Chrome、360浏览器等;主流浏览器;页面简洁简单,容易管理,DEDE内核都可以...

ASP->ASP.NET 迁移的Guideline (转)-程序员宅基地

文章浏览阅读62次。ASP->ASP.NET 迁移的Guideline (转)[@more@]ASP->ASP.NET 迁移的Guideline小气的神2003-08-26XML:namespace prefix = o n..._mscs guideline

Vue和React的异同点,及技术选型_vue和react谈谈区别和选型考虑-程序员宅基地

文章浏览阅读813次。Vue和React的异同点,及技术选型_vue和react谈谈区别和选型考虑

掌握g2o边的代码套路--从零开始一起学习SLAM-程序员宅基地

文章浏览阅读281次。  小白:师兄,g2o框架《从零开始一起学习SLAM | 理解图优化,一步步带你看懂g2o代码》,以及顶点《从零开始一起学习SLAM | 掌握g2o顶点编程套路》我都学完啦,今天给我讲讲g2o中的边吧!是不是也有什么套路?   师兄:嗯,g2o的边比顶点稍微复杂一些,不过前面你也了解了许多g..._g2o中setparameterid

只用html+css做出会跳动爱心_html+css构建动态爱心-程序员宅基地

文章浏览阅读6.3k次,点赞11次,收藏50次。【代码】只用html+css做出会跳动爱心。_html+css构建动态爱心