CEF

CEF( Cisco Express Forwarding,Cisco 特快交换 )技术是思科公司推出的一种路由交换方案,它具有良好的交换性能,
增强的交换体系结构和极高的包转发速率。
传统路由器的基本作用是路由计算和包转发,通常基于共享存储器体系结构,采用集中式 CPU,即单个 CPU(或多个
CPU,联结成路由器簇)控制共享总线,连接多个接口卡上,接口卡包含简单的队列等结构,与 CPU 通信,通过共享总
线实现数据包转发。
随着 Internet 的快速发展和大量新的服务需求的不断出现,对网络的路由和交换性能提出了更高的要求,要同时提高包
转发速率和系统的性能,必须对传统路由器与交换设备的设计体系结构进行改进,并加入一些新的设计方案以完善系统
性能。
采用 CEF 技术的交换路由器,在体系结构,路由方式和接口卡性能等方面都有质的改变,特别适用于大业务量的 ISP 网
络的核心层,同时也广泛应用于高速企业网的主干。

CEF 有两种模式

(1)集中式:

允许一个路由处理模块运行特快交换,即 FIB 和邻接表驻留在路由处理模块中,当线路卡不可用或不具备分散 CEF 交换
的功能时,就可使用集中 CEF 交换模式。

(2)分布式:

(一般记作 dCEF)允许路由器的多个线路卡(VIP)分别运行特快交换功能,前提是线路是 VIP 线路卡或 GSR 线路卡。
中央路由处理器完成系统管理/路由选择和转发表计算等功能,并把 CEF 表分布到单个线路卡;每个线路卡维护着一个
FIB 和邻接表的相同的拷贝。
线路卡在端口适配器之间执行快速转发,这样,交换操作就无需路由交换模块的参与了。DCEF 采用一种“内部过程通信”
机制来保证路由处理器和接口卡之间 FIB 和邻接表的同步。

交换算法

  • 过程交换
    最初的 Cisco 路由器采用集中式 CPU 包交换,所有的包通过共享总线传到 CPU,经路由表查找,CRC 重算,再通过共
    享总线把包传到适当的线路卡上。
  • 快速交换
    到达某特定目的地址的 IP 包通常会引起数据包流,即假设交换过到特定目标的包之后,另一个很可能不久也会到达。
    通过构建交换目标的高速缓存,可以减少包在全路由表中查找同一标的次数,这种“一次路由,然后交换”的方式称为快
    速交换,快速交换大大提高了路由器的包转发速率,因而成为 Cisco 路由器平台上缺省的交换机制。
    但有一点需要注意,IP 路由表的改变会使得高速缓存无效,在路由状况不断变化的环境中,路由高速缓存的优势将受到
    很大限制。
  • 自治交换
    自治交换的特点是从 CPU 中卸载了一些交换功能。在效果上,将路由高速缓存功能从 CPU 移到辅助交换处理器上,线
    路卡上的接收包先在交换处理器中完成本地路由高速缓存目标的查找,若查找失败时才中断 CPU 执行路由表查找。
    在此,Cisco 将周期性计算路由的 CPU 改名为路由处理器,把辅助交换处理器改名为交换处理器。Cisco 7000 系列的
    路由器上执行自治交换,可使吞吐量等性能进一步提高。
  • 分布式交换
    随着 VIP(Versatile Interface Processor,通用接口处理器)卡引入,路由器的交换体系逐渐向对等多处理器结构发展。
    每个 VIP 卡都包含 RISC 处理器,维护最新的由路由交换处理器产生的快速交换高速缓存的拷贝,并能独立实现路由交
    换的功能,高速完成两种类型的交换——本地 VIP 的交换和 VIP 之间的交换。
  • 特快交换
    如前所述,快速交换的高速缓存机制在 Internet 之类的高速动态路由选择环境(经常存在网络拓扑变化,路由改变、路
    由震荡等)中不能很好地伸缩,路由的改变导致高速缓存无效,而重建高速缓存(即执行“过程交换”的过程)在计算上
    开销很大;
    同时,随着互联网及其业务的迅猛发展,基于 WEB 的各种应用和交互式业务使得通信次数多而通信时间短的实时数据
    流大量增加,快速交换的高速缓存内容处于不断变化之中,重建高速缓存的负担加大,从而导致路由器性能的降低。CEF
    特快交换技术正是针对上述不足而设计提出的。

CEF 是一种高级的第三层交换技术,它主要是为高性能、高伸缩性的第三层 IP 骨干网交换设计的。

为优化包转发的路由查找机制,CEF 定义了两个主要部件:

转发信息库(Forwarding Information base)
邻接表(Adjacency Table)。

转发信息库(FIB)是路由器决定目标交换的查找表,FIB 的条目与 IP 路由表条目之间有一一对应的关系,即 FIB 是 IP路由表中包含的路由信息的一个镜像。

由于 FIB 包含了所有必需的路由信息,因此就不用再维护路由高速缓存了。当网络拓扑或路由发生变化时,IP 路由表被更新,FIB 的内容随之发生变化。

CEF 利用邻接表提供数据包的 MAC 层重写所需的信息。FIB 中的每一项都指向邻接表里的某个下一跳中继段。若相邻节点间能通过数据链路层实现相互转发,则这些节点被列入邻接表中。

系统一旦发现邻接关系,就将其写到邻接表中,邻接序列随时都在生成,每次生成一个邻接条目,就会为那个邻接节点预先计算一个链路层头标信息,并把这个链路层头标信息存储在邻接表中,当决定路由时,它就指向下一网络段及相应的邻接条目。

随后在对数据包进行 CEF 交换时,用它来进行封装。欲查看邻接表的有关信息,可以使用 Cisco IOS 的命令:show adjacency/show adjacency detail。

当我们查看邻接表信息时,会发现有以下两种主要邻接类型:Host adjacency 和 Point to Point。

Host adjacency 类型通常的显示是一个 IP 地址,它表示邻接的下一跳 IP 地址;Point to Point 类型的显示是“point 2point”,表示这是一条点对点电路。

此外还有其他一些特殊类型,如 Null adjacency、Glean adjacency 等。

CEF 是专门为高性能、高伸缩性的 IP 骨干网络设计的一种高速交换方式。从上述介绍我们不难看出,在大规模的动态 IP网络中,CEF 能够提供前所未有的交换的一致性和稳定性。

它能够有效弥补快速交换的高速缓存条目频繁失效的缺陷,采用 dCEF 分布式交换可使每个线路卡进行完全的交换,提供更优越的性能;

CEF 比快速交换的路由高速缓存占用内存要少,并能提供负载平衡,网络记账等功能。借助 CEF 特快交换技术和其它一些革命性的创新技术,Cisco 的 GSR 路由器在全球取得了巨大的成功。

你可能感兴趣的:(CEF)