• MAC地址学习和老化


    MAC地址学习过程

    一般情况下,MAC地址表是设备根据收到的数据帧里的源MAC地址自动学习而建立的。

    图1 MAC地址学习示意图

    图1,HostA向SwitchA发送数据时,SwitchA从数据帧中解析出源MAC地址(即HostA的MAC地址)和VLAN ID。

    • 如果MAC地址表中不存在该MAC地址表项,设备则将这个新MAC地址以及该MAC地址对应的PortA和VLAN ID作为一个新的表项加入到MAC地址表中。
    • 如果MAC地址表中已经存在该MAC地址表项,设备将通过重置该表项的老化时间,对该表项进行更新。

    所以设备在收到数据帧时,才会触发MAC地址的学习和刷新。

    MAC地址老化过程

    为适应网络的变化,MAC表需要不断更新。MAC表中自动生成的表项(即动态表项)并非永远有效,每一条表项都有一个生存周期,到达生存周期仍得不到更新的表项将被删除,这个生存周期被称作老化时间。如果在到达生存周期前记录被更新,则该表项的老化时间重新计算。

    图2 MAC地址老化过程示意图

    图2所示,设备MAC地址老化时间设置为T。在t1时刻有源MAC地址为00e0-fc00-0001、VLAN为1的报文从某接口进入。假定该接口已加入VLAN 1。如果之前MAC地址表不存在关于(MAC: 00e0-fc00-0001,VLAN: 1)的任何种类表项,那么这个地址就会作为动态MAC地址表项学习到地址表里,同时该表项的命中标志位被置1。

    设备周期性(每经过T时间)地对所有学习到的动态MAC地址表项进行检查。

    1. 在t2时刻,检查到动态表项(MAC: 00e0-fc00-0001,VLAN: 1)的命中标志位为1,则将该表项的命中标志位置为0,但不删除这条表项。
    2. 在t2时刻和t3时刻之间没有这种报文进入设备,那么该表项的命中标志位会一直保持为0。
    3. 在t3时刻,设备检查到该表项的命中标志位为0,认为该表项的老化时间到达,将删除此条表项。

    如上所述,通过自动老化,一条动态表项在MAC地址表存在的最短时间是设备所配置的老化时间T到2T之间。

    设备MAC地址老化时间可手动设置。通过设置此时间,可以灵活控制动态学习到的MAC表项在MAC地址表存在的时间。

  • 相关阅读:
    express-generator生成nodejs服务基本骨架
    [RoarCTF 2019]Easy Calc
    成都链安xFootprint 2022 Web3 安全研报
    1808_ChibiOS基本的架构介绍
    Java练习题 二
    Python哪个Excel库最好用?
    Python模板注入(SSTI)
    es6两个数组取交集、并集、差集、补集
    Linux学习笔记(3)
    上周热点回顾(7.31-8.6)
  • 原文地址:https://blog.csdn.net/2301_76769137/article/details/136274075