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操作模式
CEF有两种模式:集中式和分布式。集中式允许一个路由处理模块运行特快交换,即FIB和邻接表驻留在路由处理模块中,当线路卡不可用或不具备分散CEF交换的功能时,就可使用集中CEF交换模式。
分布式(一般记作dCEF)允许路由器的多个线路卡(VIP)分别运行特快交换功能,前提是线路是VIP线路卡或GSR线路卡。中央路由处理器完成系统管理/路由选择和转发表计算等功能,并把CEF表分布到单个线路卡;每个线路卡维护着一个FIB和邻接表的相同的拷贝。线路卡在端口适配器之间执行快速转发,这样,交换操作就无需路由交换模块的参与了。DCEF采用一种“内部过程通信”机制来保证路由处理器和接口卡之间FIB和邻接表的同步。
Cisco 12000系列路由器只运行dCEF模式,由线路卡执行交换功能。在其它路由器中,可以在同一个路由器中混合使用各种类型的接口卡,如果一个不支持CEF的接口卡收到数据包后,将把数据包转发到路由处理器来进行处理,或把该数据包转发到下一个网络段处理。
CEF在路由器上是全局激活的,但可在每个接口(或VIP的底板)上启用/禁用CEF;CEF和快速交换模式也可同时运行,但不推荐这样使用,因为会占用大量的系统维护资源。
与快速交换相似,CEF也使用自己建立的数据结构(而不是路由表)来执行交换操作。快速交换通过生成并查找路由高速缓存交换数据包,该路由高速缓存交换数据包,该路收高速缓存的条目(包括目的IP地址,输出接口,MAC地址头信息等)是在第一个数据包到来时,对整个路由表执行最长匹配查找算法获得下一跳IP地址,然后查找ARP缓存获得第二层的MAC地址信息,并写入路由高速缓存,之后的数据包则根据已经生成的高速缓存的条目直接重写MAC头信息完成交换操作。
CEF通过FIB和邻接表对数据包进行交换,但FIB和邻接表是在数据包到来以前,由CPU根据路由表生成并定时更新的,因此到达路由器的第一个数据包也无须执行查找路由表的过程,直接由FIB和邻接表获得新的MAC头信和卢,就可进行交换了,对于拥有大容量路由表的路由器来说,这种预先建立交换查找条目的方式能够有效地提高交换性能。
CEF功能概述
Cisco快速转发(CEF)是一个高级三层交换技术。CEF交换可以优化带有大规模的、动态数据流的网络(例如:Internet、具有增强的基于Web应用的网络或者交互式的业务)的性能和可扩展性。
CEF的优点:
CEF具有以下优点:
● 改善网络性能――CEF和典型的快速交换路由相比较,CEF可以使用较少的内存容量来实现数据包的转发。这样可以使得更多的处理器资源用于第三层的服务,比如服务质量(QoS)和加密功能等。
● 提高网络的可扩展性――当启用分散式CEF(dCEF)模式时,CEF的每个线路卡上维护着一个与转发信息库(FIB)和邻接表相同的拷贝,它能独自提供完全的交换能力。
● 提高网络的收缩性――在大规模的动态网络中,CEF能提供了一种具有更好的可靠性和稳定性的交换。在动态网络中,路由的改变会导致快速交换高速缓存条目频繁地失效。这些变化可能导制:数据要通过路由表进行过程交换,而不是通过路由高速缓存进行快速交换。CEF的转发信息库(FIB)中包含所有路由表中存在的路由,换句话说:FIB维护着一个IP路由表中包含的转发信息的镜像,因此CEF免去了维护路由高速缓存、采用快速交换和过程交换相互转换的过程。 CEF比典型的高速缓存技术更能有效地交换数据流。
CEF的术语表
Cisco快速转发(CEF)――CEF是一种第三层交换技术,CEF有两种模式:集中模式和分布模式,集中模式允许一个路由处理器执行快速转发。
分布式CEF(dCEF)――分布式CEF允许路由器的多个线路卡在端口适配器间分别运行快速转发。
转发数据库(FIB)――CEF的一个组件。它是路由器决定目标交换的查找表,是一个包含IP路由表中转发信息的镜像。
千兆交换路由器(GSR)――思科12000系列路由器。
线路卡――Cisco产品线中广泛应用的接口处理器的总称,例如:VIP就是7500系列路由器中的一种线路卡。
前缀――可以指出IP地址中的网络地址部分,它是IP地址和子网掩码的组合。子网掩码可以指出IP地址中有多少比特是网络比特。前缀的格式是:IP地址/子网掩码。例如:10.0.0.0/16意味着IP地址中的前面16比特被标记了,它可以过滤出网络地址和主机地址,此例中网络地址是10.0。
路由模块/处理器(route processor)――Cisco7000或者Cisco7500路由器上路由处理模块的总称。
路由模块/处理器(RP)――Cisco7000系列路由器上的路由处理模块,它包含CPU、系统软件和路由器中的大部分内存组件。
路由交换模块/处理器(RSP)――Cisco7500系列路由器中结合路由模块(RP)和交换模块(SP)功能的模块。交换模块(SP)在Cisco7000系列路由器中扮演管理所有数据总线活动的管理员的角色。
通用接口模块(VIP)――Cisco7000和7500系列路由器使用的接口卡。VIP可以提供多层交换和CiscoIOS软件的运行。最新的版本是VIP和VIP2。
模块通讯(IPC)――这是一种机制,它可以确保在使用分散CEF模式时,RSP和线路卡的转发数据库(FIB)和邻接表信息同步。
使用CEF必须满足的条件
当您在网络中使用CEF时,请先考虑以下项目:
● 加载当前完整的Internet路由信息的平台所需的最小内存(推荐):
- 集中路由模块上需要128MB
- 每个线路卡上需要64MB
● CEF不能在一个线路卡上和VIP-分布式快速交换同时运行。
● 缺省情况下,如果Cisco IOS软件在交换数据报时遇到CEF不支持的功能和封装类型,它将采用其他交换方法(如最优交换、快速交换、过程交换)。
● 当前CEF不支持以下功能: