我正在使用一个管理交换机(例如 12 端口),它由一个交换机引擎 + MIPS CPU 组成,全部位于一个芯片上。我在阅读交换机文档时遇到了一句话,它说让数据包进出 CPU 使用 FDMA 驱动程序。
从外行的角度来看,将数据包进出 CPU 意味着什么?这是否意味着进入/离开交换机的所有数据包通常都不会通过 CPU?如果为真,那么在哪些情况下需要将数据包发送到 CPU?
我正在使用一个管理交换机(例如 12 端口),它由一个交换机引擎 + MIPS CPU 组成,全部位于一个芯片上。我在阅读交换机文档时遇到了一句话,它说让数据包进出 CPU 使用 FDMA 驱动程序。
从外行的角度来看,将数据包进出 CPU 意味着什么?这是否意味着进入/离开交换机的所有数据包通常都不会通过 CPU?如果为真,那么在哪些情况下需要将数据包发送到 CPU?
从外行的角度来看,将数据包进出 CPU 意味着什么?
交换机的主要功能是尽可能快地有效地切换帧。为了做到这一点,他们使用FIB来维持高、低延迟的吞吐率。这通常是通过使用在 ASIC(即硬件)中运行的CAM来实现的。
这是否意味着进入/离开交换机的所有数据包通常都不会通过 CPU?
大多数时候,这是准确的。但不总是。
有些数据包不仅要通过交换机,而且要发往交换机。这需要处理。SSH、SVI、STP 等都需要交换机进行某种 CPU 处理。每当交换机负责进一步检查数据包时,它必然会占用可用于其他地方的资源。
在哪些情况下需要将数据包发送到 CPU?
这在很大程度上取决于您的平台。但如果它是为您的交换机指定的,那么它将需要 CPU 处理。路由协议 (EIGRP/OSPF)、生成树协议 (RSTP/MSTP)、管理协议 (SNMP)、远程访问协议 (SSH) 和发现协议 (CDP/LLDP) 是一些最初想到的。
这是否意味着进入/离开交换机的所有数据包通常都不会通过 CPU?
那是对的。所述的点开关引擎是移动的数据包,在线路速率,必要的端口之间。CPU 仅用于交换机无法处理或未设置处理的事物。(IGMP加入/离开、生成树、端口聚合等)
除非您正在对系统进行编程,否则您无需担心任何这些。