为什么交换机中的 CAM 表称为 CAM 表而不是 MAC 表,即使它包含 MAC 地址?

网络工程 转变 以太网 MAC地址 交换
2021-07-18 14:37:43

我知道交换机中的 CAM 表包含 MAC 地址以及与相应 MAC 地址关联的端口。据我所知,没有CAM地址这样的东西,那么为什么它被称为CAM表而不是MAC表呢?

4个回答

CAM(Content Addressable Memory)是可以通过内容寻址的内存,而不是数字内存地址。您可以通过向内存显示 MAC 地址来查找接口。这是在单个 CPU 周期内完成的,而传统的通过表格搜索的编程将花费许多 CPU 周期。

还有可以使用掩码的TCAM(三元内容可寻址存储器)。这对于 IP 寻址特别有用,它被 ACL 或路由表等使用。

CAM 和 TCAM 的成本远高于标准 DRAM,但它们为特定应用程序提供的性能提升值得您在成本、功耗和尺寸方面做出妥协。

由于大多数标准 PC 不包含此类内容,因此您可以看到专用硬件(例如路由器或交换机)如何在路由或交换方面比标准 PC 具有性能优势。

CAM - Content Addressable Memory,指的是用于MAC地址表的内存。

它的工作方式与 RAM 相反,您可以通过为其提供内容来寻址它,然后它会返回存储内容的地址 - 然后用于查找该地址的出口端口。

实际上,它通常被称为 MAC 表。在几乎所有交换机/设备中查找它的命令是 show mac-address table(或某种形式的此表)。很少将其指定为 CAM 表,除非需要区分 CAM 和 TCAM,或者有人正在教授该主题。

CAM 表还可用于在 L2/L3 交换机中存储不需要掩码的其他形式的精确匹配条目,例如主机路由、MPLS 标签,甚至无掩码的精确匹配,例如使用 24 位条目对表进行分区,并用 /24 路由​​填充它。