网络通信 频道

CISCO的快速转发

首先,要说明一下的是,这是steve6307翻译的文章,我看了很不错,就转发到这里来:

CEF功能概述

Cisco快速转发(CEF)是一个高级三层交换技术。CEF交换可以优化带有大规模的、动态数据流的网络(例如:Internet、具有增强的基于Web应用的网络或者交互式的业务)的性能和可扩展性。

CEF的优点:

CEF具有以下优点:
● 改善网络性能――CE F和典型的快速交换路由相比较,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不支持以下功能:
- 策略路由
- 网络地址翻译(NAT)
- 路由交换模块上的访问控制列表
- 多点PPP封装
- SMDS
- 令牌环
- ATM
- ISL封装

适用平台:

以下平台支持CEF功能:
● Cisco7000系列路由器(需要装备RSP7000)
● Cisco7200系列
● Cisco7500系列
● Cisco12000系列
第二代接口模块(VIP2-20、VIP2-40、VIP2-50)支持CEF。

在不同的路由器平台上,硬件对CEF的支持可能会有所不同,这要由路由器中安装的路由模块和其他硬件所决定。例如在Cisco12000系列路由器上,所有的线路卡都支持CEF交换;在Cisco7500系列路由器上,要实现CEF交换,需要有RSP模块和VIP线路卡的支持。每个接口卡用自己的引擎独立地运行CEF去转发数据包,并且都独自拥有一个对FIB表的拷贝。每个接口卡独立的去交换数据包,减轻了中心路由处理模块的负担。

为了表述的一致性,本文档使用“路由模块”指代中心模块,使用线路卡指代接口模块。

如果您在使用CEF交换的过程中遇到了其它特殊硬件需求或者兼容性问题,请查询“思科产品手册”或“安装和配置手册”。

功能描述

Cisco快速转发(CEF)是一个高级三层交换技术。CEF交换可以优化带有大规模的、动态数据流的网络(例如:Internet、具有增强的基于Web的应用的网络或者交互式的业务)的性能和可扩展性。

您可以在网络中的任何地方使用CEF交换,CEF交换是为高性能的、高收缩性的骨干网而设计的一种高速交换方式。例如:图1中在流量密集的核心网络的汇集点上,Cisco12000系列千兆交换路由器使用CEF去交换数据包。


在一个典型的大业务流量的ISP环境中,Cisco12012千兆交换路由器是网络的核心,它提供和支持到Cisco7500系列或者其他支流路由器的连接。在网络核心中,骨干路由器上的CEF交换提供了高性能和可扩展性,用来对付网络规模的不断加大和稳定增长的数据流量。CEF是一种分散式交换机制,它随着接口卡数量和安装在路由器中带宽的变化而线性地变化。

CEF组件

为了实现CEF的交换功能,CEF将普通路由器中存储在路由高速缓存中的信息转而存储到几种为CEF专门设计的数据结构中。为了有效地进行数据包转发,这种数据结构要保证能进行优化的查询。CEF的2种主要组件是:
● 转发数据库(FIB)
● 邻接表

转发数据库

CEF利用转发数据库(FIB)来进行基于IP目的地前缀的交换决策。从概念上讲,FIB类似于一个路由表或信息库,它维护着一个包含IP路由表转发信息的镜像。当网络中路由或拓扑结构发生了变化时,IP路由表就被更新,而这些变化也将反映在FIB中。基于IP路由表中的信息,FIB维护着下一跳的地址信息。

因为FIB条目和路由表条目之间有一一对应的关系,所以FIB中包含了所有已知的路由,这样就不用维护路由高速缓存了,而先前的交换方法(比如快速交换和最优交换)都要维护路由高速缓存。

邻接表(Adjacency Table)

如果网络中的网络节点只通过一跳就可以穿越链路层而彼此到达对方,那么它们是邻接的。除了FIB外,CEF还利用邻接表来提供第二层的寻址信息。邻接表为所有FIB条目维护第二层的下一网段地址。

邻接的发现

当路由器发现存在邻接时就增加在邻接表中,每次生成一个邻接条目(就像ARP协议一样),CEF会为那个邻接节点预先计算一个链路层头标信息,并把这个头标信息存储在邻接表中。当决定路由时,它就会指向下一跳以及相应的邻接条目。随后,在对数据包进行CEF交换时,用预先生成的头标信息来对数据包进行封装。

分解邻接

一个路由表中也许存在多条到达目标网络的路径,例如:当路由器被配置成允许冗余路径和允许负载平衡时。对于每一个被分解的转发路径,邻接条目会被附加一个头标信息指示出那条路径的下一跳地址。这种机制可以用来在多条路径上实现负载平衡。

需要作特殊处理的邻接类型

另外,因为邻接条目和下一跳地址相关联,所以一些特殊的邻接类型可以被用来加速交换过程。前缀被定义后,当存在以下被缓存的邻接条目存在时,前缀需要作特殊处理。
表1 需要被作特殊处理的邻接类型
邻接类型接收到这些邻接类型时如何处理
空邻接一个以Null0接口为目标地址的包会被抛弃,在访问过滤器时,这可以被用作一种有效的机制。
邻接归纳当路由器直接和几台主机相连时,FIB表中维持的是这个子网的前缀,而不是各个主机的前缀。这个子网前缀是一个邻接的归纳。当要转发某个数据包到某个具体主机时,邻接数据库使用这个被归纳的邻接。
转出邻接当遇到某些作特殊处理的功能或者CEF不支持的功能时,路由器将采用更高级别的交换方法处理数据包。
丢弃邻接数据包被丢弃。这种邻接类型仅仅在Cisco12000系列路由器上出现。
释放邻接数据包被释放,但是前缀仍然有效。

没有被分解的邻接

当链路层头标信息被附加到数据包上时,FIB需要头标指出下一跳的地址。如果FIB表中建立了一个邻接,但是并没有找到第二层的寻址信息,比如没有通过ARP发现第二层的寻址信息,这个邻接就被认为是不完整的。这个数据包就会交给路由模块处理,邻接关系由ARP来决定。

CEF所支持的媒介

当前CEF支持ATM/AAL5snap, ATM/AAL5mux, ATM/AAL5nlpid, 帧中继, 以太网, FDDI, PPP, HDLC, 和隧道。

CEF操作模式

CEF的操作模式有2种,即集中CEF模式和分散CEF模式。可以通过其中的任意一种来启用CEF,同一时刻用户只能使用其一种模式。
0
相关文章