MAC地址学习和老化

MAC地址学习过程

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

图1MAC地址学习示意图

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

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

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

MAC地址老化过程

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

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

图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地址表存在的时间。

相关推荐
草莓熊Lotso19 小时前
【Redis 初阶】Set 类型深度解析:去重集合的运算能力与实战场景
linux·网络·数据库·windows·redis·tcp/ip·缓存
XR12345678819 小时前
汽车制造园区网络怎么建?柔性产线与 AGV 的选型逻辑
网络·汽车·制造
IT大白鼠1 天前
MSF二次开发与自定义模块编写
网络·安全·web安全·msf
Julien20041 天前
调查和解决 SELinux 问题
linux·运维·服务器·网络·学习方法
kekekzt1 天前
TCP协议的粘包问题介绍,IP分片,MTU,MSS,滑动窗口的概念及之间的关系
网络·网络协议·tcp/ip
mooooooooooye1 天前
2026 年跨平台 SSH 客户端怎么选?Xterminal、Termius、MobaXterm 谁更合适
服务器·网络·ssh
Blockchina1 天前
Codex 实战:从一句需求到可验收的 Linux 主机巡检脚本
运维·服务器·网络
江安下小雨1 天前
muduo网络库(十六):新增连接池模块
网络·c++
aiot189189352181 天前
机场候机大厅高空场景技术红线!蓝牙AOA不能做手机导航??!!
大数据·网络·人工智能·蓝牙aoa
从入门到退休1 天前
企业远程控制选型:向日葵SDK vs RustDesk自建,谁是更务实的选择?
运维·服务器·网络·远程工作·远程控制