赞
踩
MAC表简介
介绍MAC表的定义、由来和作用。
MAC(MediaAccessControl)地址用来定义网络设备的位置。MAC地址由48比特长、12位的16进制数字组成,0到23位是厂商向IETF等机构申请用来标识厂商的代码,24到47位由厂商自行分派,是各个厂商制造的所有网卡的一个唯一编号。
MAC地址可以分为3种类型:
MAC地址表(MAC地址、接口号、VLAN ID,因为VLAN ID默认是1,所以默认不显示)
设备内有一张MAC地址表,简称MAC表。MAC表记录了相连设备的MAC地址、接口号以及所属的VLANID之间的对应关系。在转发数据时,交换设备根据报文中的目的MAC地址和VLANID查询MAC地址表,快速定位出接口,从而减少广播。
基于MAC表的报文转发:
设备在转发报文时,根据MAC地址表项信息,会采取以下两种转发方式:
MAC地址表的分类:
MAC地址表项分为:动态表项、静态表项和黑洞表项。
MAC地址表项的生成方式:
MAC地址表项的生成方式有两种:自动生成、手工配置。
MAC地址老化:(300s-599s之间的一个值)
为适应网络的变化,MAC表需要不断更新。MAC表中自动生成的表项(即动态表项)并非永远有效,每一条表项都有一个生存周期,到达生存周期仍得不到刷新的表项将被删除,这个生存周期被称作老化时间。如果在到达生存周期前记录被刷新,则该表项的老化时间重新计算。
图1MAC地址老化示意图

如上图所示,设备MAC地址老化时间设置为T。在t1时刻有源MAC地址为00e0-fc00-0001、VLAN为1的报文从某接口进入。假定该接口已加入VLAN1。如果之前MAC地址表不存在关于(MAC:00e0-fc00-0001,VLAN:1)的任何种类表项,那么这个地址就会作为动态MAC地址表项学习到地址表里,同时该表项的命中标志位被置1。
设备周期性(每经过T时间)地对所有学习到的动态MAC地址表项进行检查。如在t2时刻,检查到动态表项(MAC:00e0-fc00-0001,VLAN:1)的命中标志位为1,则将该表项的命中标志位置为0,且不删除这条表项。如果在t2时刻和t3时刻之间有源MAC地址为00e0-fc00-0001、VLAN为1的报文进入设备,则将命中标志重新设置为1。如果在t2时刻和t3时刻之间没有这种报文进入设备,那么该表项的命中标志位会一直保持为0。在t3时刻,设备检查到该表项的命中标志位为0,认为该表项的老化时间到达,将删除此条表项。
如上所述,通过自动老化,一条动态表项在MAC地址表中存在的最短时间是设备所配置的老化时间T到2T之间。
设备MAC地址老化时间可设置,通过设置此时间,可以灵活控制动态学习到的MAC表项在MAC地址表中存在的时间。
关闭学习MAC能力,限制MAC地址数
由于MAC表的容量是有限的,当黑客伪造大量源MAC地址不同的报文并发送到设备后,设备上的MAC地址表项资源可能会被耗尽。此时即使它收到正常的报文,也无法学习到报文中的源MAC地址。
为了解决以上问题,设备提供了两种方式对MAC地址学习进行限制:
端口安全
介绍
端口安全(Port Security)功能将设备接口学习到的MAC地址变为安全MAC地址(包括安全动态MAC、安全静态MAC和Sticky MAC),可以阻止非法用户通过本接口和交换机通信,从而增强设备安全性。
端口学习安全MAC地址的方式:
安全MAC地址分为:安全动态MAC、安全静态MAC与Sticky MAC。定义及区别如下:
MAC地址漂移:
什么是MAC地址漂移?
MAC地址漂移是指设备上一个VLAN内有两个端口学习到同一个MAC地址,后学习到的MAC地址表项覆盖原MAC地址表项的现象。图1所示,MAC地址为0011-0022-0034,VLANID为2的表项,出接口由GE0/0/1刷新为GE0/0/2,这就是MAC地址漂移。设备出现MAC地址漂移时,设备CPU会有不同程度的升高。
正常情况下,网络中不会在短时间内出现大量MAC地址漂移的情况。出现这种现象一般都意味着网络中存在环路,可以通过查看告警信息和漂移记录,快速定位和排除环路。

什么情况下会出现MAC地址漂移现象?
MAC地址防漂移:
网络中产生环路或非法用户进行网络攻击都会造成MAC地址发生漂移,导致MAC地址不稳定。
可以通过两种方式来避免这种情况:

如图1所示,为防止非法用户伪造服务器MAC地址入侵Switch,可以提高服务器侧接口Port1的MAC地址学习优先级。
MAC地址漂移检测:
MAC地址漂移检测是交换机对MAC地址漂移现象进行检测的功能。MAC地址漂移检测是利用MAC地址学习时接口跳变实现的,因此能提供的信息与MAC地址学习相关,包括MAC地址、VLAN,以及跳变的接口等诊断信息。其中跳变的接口即为可能出现环路的接口。网络管理员根据网络中每台设备上出现的跳变接口,以及网络拓扑,判断环路的源头。

如图2网络中,若SwitchC和SwitchD之间误接网线,则SwitchB、SwitchC、SwitchD之间形成环路。当SwitchA上Port1接口从网络中收到一个广播报文后转发给SwitchB,该报文经过环路,会被SwitchA上Port2接口收到。在接口Port2上配置MAC地址漂移检测,此时SwitchA会感知到MAC地址学习接口跳变的现象。若连续出现此现象,则在SwitchA上可以判断出现了MAC地址漂移。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。