内容可寻址存储器CAM(Coment-Addressable Memo-ry)以内容进行寻址的存储器,是一种特殊的存储阵列RAM。它的主要工作机制就是将一个输入数据项与存储在CAM中的所有数据项自动同时进行比较,判别该输入数据项与CAM中存储的数据项是否相匹配,并输出该数据项对应的匹配信息。
内容可寻址存储器的特性
1、160 ns的匹配时间;
2、设有屏蔽寄存器;
3、通过芯片级联扩展深度;
-
4、时钟频率最高为50 MHz;
5、匹配字宽和输出结果位宽可自定义;
6、在ATM模式下可进行VPC(Virtual Path Circuits)和VCC(Virtual CONnection Circuits)的同时匹配;
7、端口主要分为控制和匹配端口;
8、20Ons的插入时间(在12个输入数据项队列未满的情况下);
9、2ms的初始化时间(在设置了快速写入模式后);
10、具有符合IEEE标准1149.1的测试端口(JTAG)。
内容可寻址存储器的应用
在基本操作模式下,内容可寻址存储器读取输入数据并与CAM表中的所有表项相比较。无论匹配项找到与当 比较完成后,MC(Match Complete)引脚均有效。如果找到了匹配项,则MS(Mateh Successful)引脚有效,同时在MQ总线上输出与匹配数据项相关的数据;如果没有找到,则MQ总线保持高阻态,以便级联CAM芯片来扩展存储深度。
- 内容可寻址存储器上电后,默认工作模式为基本模式。在进入数据检索操作之前,芯片必须先完成几个启动操作过程:首先,要设置全局屏蔽寄存器,定义匹配字宽和输出结果位宽;其次,要选择数据表项的写入模式,即快速写入模式还是动态写入模式;再次,要把用户需要的数据项(共64位,包括匹配字节和与其对应的输出结果字节)逐次装入CAM表中。CAM表数据项写入模式的选择,往往是在写入速度和启动匹配操作花费的时间中取个平衡。快速写入模式,常用于将大量的数据项初始写入CAM表中;而动态写入模式,则常用于启动匹配后往CAM表中插入少量的数据项。用户通过操作控制口4个I/O寄存器来插入或删除CAM表项,当有异常状态出现时,可以从标志寄存器和错误代码寄存器反映出来。内容可寻址存储器内部的寄存器如图2所示。
内容可寻址存储器的结构
MAC/CAM攻击的原理和危害
交换机主动学习客户端的 MAC 地址,并建立和维护端口和 MAC 地址的对应表以此建立交换路径,这个表就是通常我们所说的 CAM 表。 CAM 表的大小是固定的,不同的交换机的 CAM 表大小不同。 MAC/CAM 攻击是指利用工具产生欺骗 MAC ,快速填满 CAM 表,交换机 CAM 表被填满后,交换机以广播方式处理通过交换机的报文,这时攻击者可以利用各种嗅探攻击获取网络信息。 CAM 表满了后,流量以洪泛方式发送到所有接口,也就代表 TRUNK 接口上的流量也会发给所有接口和邻接交换机,会造成交换机负载过大,网络缓慢和丢包甚至瘫痪。
使用 Port Security feature 防范MAC/CAM攻击
思科 Port Security feature 可以防止 MAC 和 MAC/CAM 攻击。通过配置 Port Security 可以控制:
a.端口上最大可以通过的 MAC 地址数量
b.端口上学习或通过哪些 MAC 地址
c.对于超过规定数量的 MAC 处理进行违背处理
端口上学习或通过哪些 MAC 地址,可以通过静态手工定义,也可以在交换机自动学习。交换机动态学习端口 MAC ,直到指定的 MAC 地址数量,交换机关机后重新学习。目前较新的技术是 Sticky Port Security ,交换机将学到的 mac 地址写到端口配置中,交换机重启后配置仍然存在。
对于超过规定数量的 MAC 处理进行处理一般有三种方式(针对交换机型号会有所不同): Shutdown 。这种方式保护能力最强,但是对于一些情况可能会为管理带来麻烦,如某台设备中了病毒,病毒间断性伪造源 MAC 在网络中发送报文。
Protect: 丢弃非法流量,不报警。
Restrict: 丢弃非法流量,报警,对比上面会是交换机 CPU 利用率上升但是不影响交换机的正常使用。推荐使用这种方式。