目录

简介

先决条件

要求

使用的组件

概述

CEF核心组件

CEF操作模式

CEF基本数据包流

相关信息

简介

本文档介绍思科快速转发(CEF)。

先决条件

要求

本文档没有任何特定的要求。

使用的组件

本文档不限于特定的软件和硬件版本。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您的网络处于活动状态，请确保您了解所有命令的潜在影响。

概述

思科快速转发(CEF)交换是一种专有的可扩展交换形式，旨在解决与需求缓存相关的问题。CEF是内置于Cisco IOS中的高级第3层IP交换架构，取代了旧的路由缓存模型。它维护自己的高度优化的转发表和独立的邻接表，从而能够以最少的CPU占用实现线速数据包转发。每当数据包到达路由器或交换机时，设备必须决定将其转发到何处。一旦确认数据包的有效性，且数据包已通过任何访问控制列表或其他丢弃条件，设备将查询其路由表以确定最佳出站接口。Cisco路由器和交换机可通过三种方式执行此查找：进程交换、快速交换或思科快速转发。

使用CEF，设备会主动计算所有路由并将其安装到两个优化数据结构中，即转发信息库(FIB)和邻接表，而不是等待每个数据包触发查找。在现代平台上，这些表与硬件转发平面同步，从而降低每数据包CPU开销、提高每秒数据包吞吐量和一致的转发行为，这就是在现代Cisco平台上默认启用CEF并保持高性能IP网络基础的原因。

CEF核心组件

- 转发信息库(FIB)表 — CEF使用FIB做出基于IP目标前缀的决策，换句话说，FIB是CEF的覆盖对象。FIB是路由器IP路由信息库(RIB)的一对一镜像，但进行了重组，以便在硬件中尽可能快地查找前缀。每当IP路由表发生更改时（由于路由协议更新、静态路由更改等），这些更改会立即反映在FIB中，以便转发始终使用最新的拓扑信息。每个FIB条目包含一个目的地前缀和一个或多个下一跳指针；配置ECMP（等价多路径）时，FIB为每个前缀保留多个指针，以支持每个数据包或每个目标的负载均衡。通过包含所有已知路由（而不仅仅是最近使用的路由的需求缓存），FIB消除了路由缓存维护的需要，并防止了拓扑变化期间的缓存崩溃，从而提供稳定、可预测的转发性能。

- 邻接表 — 如果网络中的节点能够通过链路层的一跳到达彼此，则称其为邻接节点。除了FIB，CEF还使用邻接表附加在该链路上转发数据包所需的第2层编址信息（MAC地址、VLAN标记、接口等）。邻接表为所有FIB条目维护第2层下一跳地址，这些条目会在发现邻接时填充(例如，通过地址解析协议(ARP)等机制)。

CEF操作模式

- 中央CEF模式 — 启用中央CEF模式时，FIB和邻接表驻留在路由处理器上，路由处理器执行快速转发。当线卡不可用于CEF交换、需要使用与分布式CEF交换不兼容的功能时，或者当您在非分布式平台上运行时，可以使用CEF模式。

- 分布式CEF(dCEF)模式 — 启用dCEF模式时，线卡维护FIB和邻接表的相同副本。线卡可以自己执行快速转发，这缓解了增强系统性能的主处理器。此模式旨在提高可扩展性，可用于分布式或模块化平台，这些平台可以将处理任务分布到两个或多个线卡上。dCEF使用进程间通信(IPC)机制确保路由处理器和线卡上FIB和邻接表的同步。

CEF基本数据包流

下面的步骤列表介绍了数据包如何进行CEF交换：

1. 设备的接口处理器从网络介质读取数据包，并将其存储在缓冲区内存中，称为接口的接收(RX)环。

2. 设备的接口处理器向主处理器发送接收中断。此中断期间会发生其余的交换。

3. 设备使用目标IP地址作为搜索关键字，对FIB中的目标执行最长匹配查找。如果FIB查找失败，则丢弃数据包。如果查找成功，则选择FIB路径，设备使用其指向相应邻接条目的指针。

4. 设备使用来自邻接表的封装字符串重写第2层报头，并将数据包放入正确的输出队列，以便在出站接口上传输。

5. 成功交换的数据包随后在出站接口的传输(TX)环上排队。

相关信息

- 技术支持 - Cisco Systems

- 了解Cisco IOS XE路由器上的CEF并对其进行故障排除

- Cisco 快速转发