思科交换机的CAM表(Content Addressable Memory Table),也称为MAC地址表,是交换机进行二层数据帧转发的核心依据。它记录了每个MAC地址与对应交换机端口的映射关系,确保数据帧能够准确地从源端口转发到目标端口。理解如何查看和解读CAM表,对于网络管理员进行故障排查、性能优化和安全加固至关重要。

一、CAM表的作用与工作原理
当交换机收到一个数据帧时,会检查帧的源MAC地址并将其与接收端口绑定,记录到CAM表中。同时,检查目标MAC地址:若目标地址存在于CAM表中,则直接转发到对应端口;若不存在,则向除源端口外的所有端口泛洪(Flood)。这种机制有效减少了网络泛洪,提升了转发效率。
二、查看CAM表的核心命令
在思科交换机的特权模式(EXEC)下,使用以下命令查看CAM表:
show mac address-table
该命令会显示完整的MAC地址表信息。可添加参数细化查询:
• show mac address-table dynamic:仅显示动态学习到的表项
• show mac address-table static:仅显示静态配置的表项
• show mac address-table address [MAC地址]:查询特定MAC地址
• show mac address-table interface [接口名]:查询指定接口关联的MAC地址
三、CAM表输出解析
执行命令后的典型输出包含以下关键字段:
| 字段名 | 描述 |
|---|---|
| Vlan | MAC地址所属的VLAN编号 |
| Mac Address | 设备的MAC地址(格式:HHHH.HHHH.HHHH) |
| Type | 表项类型(Dynamic, Static, Secure) |
| Ports | 与该MAC地址关联的交换机物理端口或聚合端口 |
四、CAM表项类型详解
| 类型 (Type) | 生成方式 | 生命周期 | 典型应用场景 |
|---|---|---|---|
| Dynamic | 交换机自动学习 | 老化时间(默认300秒) | 普通终端设备连接 |
| Static | 管理员手动配置 | 永久有效,重启后消失 | 服务器或特定设备绑定 |
| Secure | 端口安全功能自动生成 | 随端口状态变化 | 安全策略限制(如sticky MAC) |
五、CAM表管理与维护
• 老化时间调整:
全局模式命令 mac address-table aging-time [秒数] 可修改动态表项的存活时间(范围10-1000000秒)。
• 静态绑定:
使用 mac address-table static [MAC] vlan [VLAN_ID] interface [端口] 实现固定映射。
• 清除表项:
clear mac address-table dynamic 可清除所有动态条目,强制交换机重新学习。
六、扩展:CAM表溢出攻击与防护
恶意设备通过伪造大量随机MAC地址可使CAM表溢出,导致合法地址被覆盖,迫使交换机泛洪数据(类似拒绝服务攻击)。防护措施包括:
1. 启用端口安全(port-security):限制端口学习MAC数量
2. 配置安全MAC老化:
port-security aging time [分钟]
3. 结合Sticky MAC功能:
port-security mac-address sticky
例如,以下配置将Gi1/0/1端口的最大MAC数限制为5:
interface GigabitEthernet1/0/1
switchport port-security
switchport port-security maximum 5
switchport port-security violation restrict
通过掌握CAM表的查看方法和深层管理机制,网络管理员能够精准定位二层环路、非法设备接入、转发异常等问题,为构建稳定高效的交换网络奠定坚实基础。