1.MAC(Media Access Control)地址用来定义网络设备的位置。MAC 地址由 48 比特
长、12 位的 16 进制数字组成,其中从左到右开始,0 到 23bit 是厂商向 IETF 等机构申请用
来标识厂商的代码,24 到 47bit 由厂商自行分派,是各个厂商制造的所有网卡的一个唯一
编号。
MAC 地址可以分为 3 种类型:
(1)单播 MAC 地址:第 8bit 为 0 的 MAC 地址为单播 MAC 地址,这种类型的
MAC 地址唯一的标识了以太网上的一个终端,该地址为全球唯一的硬件地址。
(2)广播 MAC 地址:全 1 的 MAC 地址为广播地址(FF-FF-FF-FF-FF-FF),用来表
示 LAN 上的所有终端设备。
(3)组播 MAC 地址:除广播地址外,第 8bit 为 1 的 MAC 地址为组播 MAC 地址
(例如 01-00-00-00-00-00),用来代表 LAN 上的一组终端。
2.交换机的转发行为
A、泛洪:当交换机收到未知单播帧(不能从 MAC 地址表中查找到相应的出接口的单
播帧)、广播帧或组播帧时会进行泛洪处理,会将该帧从接收端口以外的其他端口发送出
去。
B、转发:当交换机收到已知单播帧时,会从 MAC 地址表对应的出接口转发。
C、丢弃:当交换机收到单播帧后通过查找 MAC 地址表发现发送接口和接受该数据帧
接口一致,则丢弃处理。
一般情况下,MAC 地址表是设备根据收到的数据帧里的源 MAC 地址自动学习而建
立的。
交换机会从数据帧中解析出源 MAC 地址和 VLAN ID。如果 MAC 地址表中不存在该
MAC 地址表项,设备则将这个新 MAC 地址以及该 MAC 地址对应的端口号和 VLAN ID
作为一个新的表项加入到 MAC 地址表中;如果 MAC 地址表中已经存在该 MAC 地址表
项,设备将通过重置该表项的老化时间,对该表项进行更新。所以设备在收到数据帧时,
才会触发 MAC 地址的学习和刷新。MAC 地址表的老化时间为 300s。
1、MAC 地址表的定义
MAC 地址表记录了交换机学习到的其他设备的 MAC 地址与接口的对应关系,以及接口所
属 VLAN 等信息。设备在转发报文时,根据报文的目的 MAC 地址查询 MAC 地址表,如果
MAC 地址表中包含与报文目的 MAC 地址对应的表项,则直接通过该表项中的出接口转发
该报文;如果 MAC 地址表中没有包含报文目的 MAC 地址对应的表项时,设备将采取广播
方式在所属 VLAN 内除接收接口外的所有接口转发该报文。
2、MAC 地址表的分类
MAC 地址表中的表项分为:动态表项、静态表项和黑洞表项。
A、动态表项
特点:由接口通过报文中的源 MAC 地址学习获得,表项可老化,默认老化时间 300 秒。
在系统复位、接口板热插拔或接口板复位后,动态表项会丢失。
作用:
通过查看动态 MAC 地址表项,可以判断两台相连设备之间是否有数据转发。
通过查看指定动态 MAC 地址表项的个数,可以获取接口下通信的用户数。
B、静态表项
特点:
由用户手工配置,并下发到各接口板,表项不可老化。
在系统复位、接口板热插拔或接口板复位后,保存的表项不会丢失。
接口和 MAC 地址静态绑定后,其他接口收到源 MAC 是该 MAC 地址的报文将会被丢
弃。
一条静态 MAC 地址表项,只能绑定一个出接口。
一个接口和 MAC 地址静态绑定后,不会影响该接口动态 MAC 地址表项的学习。
作用:
通过绑定静态 MAC 地址表项,可以保证合法用户的使用,防止其他用户使用该 MAC 进
行攻击。
C、黑洞表项
特点:
由用户手工配置,并下发到各接口板,表项不可老化。
在系统复位、接口板热插拔或接口板复位后,保存的表项不会丢失。
配置黑洞 MAC 地址后,源 MAC 地址或目的 MAC 地址是该 MAC 的报文将会被丢弃。
作用:通过配置黑洞 MAC 地址表项,可以过滤掉非法用户。
1、MAC 地址表的组成
MAC 地址表是以 MAC 地址和 VLAN ID 或 VSI 为索引来唯一标识。
当一台目的主机属于多个 VLAN 或 VSI 时,在 MAC 地址表中就会存在相同 MAC 地址拥
有多个不同 VLAN ID 或 VSI 的情况。
表 1 中是四条不同的 MAC 地址表项。如第一条 MAC 地址表项的作用是:从设备任意接口
进入的目的 MAC 为 0011-0022-0034,VLAN ID 为 10 的报文,都会从 GE3/0/1 接口转发
出去。
2、MAC 地址表的作用
MAC 地址表用于指导报文进行单播转发。
PC1 发往 PC3 的报文,在到达交换机 Switch 时,根据报文中的目的 MAC 地址
MAC3 和 VLAN10 查询交换机的 MAC 地址表,获取出接口 Port3,然后报文直接从接口
Port3 转发到 PC3,完成数据的转发。
1、MAC 地址表的学习过程
一般情况下,MAC 地址表是设备根据收到的数据帧里的源 MAC 地址自动学习而建立的。
HostA 向 SwitchA 发送数据时,SwitchA 从数据帧中解析出源 MAC 地址(即
HostA 的 MAC 地址)和 VLAN ID。
如果 MAC 地址表中不存在该 MAC 地址表项,设备则将这个新 MAC 地址以及该 MAC 地
址对应的 PortA 和 VLAN ID 作为一个新的表项加入到 MAC 地址表中。
如果 MAC 地址表中已经存在该 MAC 地址表项,设备将通过重置该表项的老化时间,对
该表项进行更新。
2、MAC 地址表的老化过程
为适应网络的变化,MAC 表需要不断更新。MAC 表中自动生成的表项(即动态表项)并
非永远有效,每一条表项都有一个生存周期,到达生存周期仍得不到更新的表项将被删
除,这个生存周期被称作老化时间。如果在到达生存周期前记录被更新,则该表项的老化
时间重新计算。