CEF功能

  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不支持以下功能:
- 策略路由
- 网络地址翻译( 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,同一时刻用户只能使用其一种模式。
 
集中 CEF模式
 
  当启用集中 CEF模式时,CEF的FIB和邻接表驻留在路由处理器中,路由处理器来执行快速转发。对于CEF交换来说,当线路卡不可用时,或者需要使用的功能与分散CEF交换不兼容时,就可以使用集中CEF模式。
 
分布 CEF模式
 
  当启用分布式 CEF(dCEF)时,线路卡(例如VIP线路卡或者GSR线路卡)维护着一个与FIB和邻接表相同的拷贝。线路卡在端口适配器之间执行快速转发,这样,在进行交换*作时就无须RSP的参与了。
   dCEF使用一个“内部过程通信”(Inter Process Communication,IPC)机制,在路由处理模块和线路卡上,保证FIB和邻接表的同步。
 
 
  在 Cisco12000系列路由器中,线路卡负责执行CEF交换。在其他路由器中,或许您使用的不是同一种类型的线路卡,有可能某个接口卡不支持CEF 交换。当某个不支持CEF交换的线路卡收到数据包时,她将数据包转发给更高的交换层(比如路由处理模块)或者把数据包转发给下一跳处理。这种机制允许旧的接口模块和新的接口模块并存。
 
笔记
   1Cisco12000系列千兆交换路由器上只运行dCEF模式。
   2一个VIP卡上不允许同时运行分布式CEF交换和分布式快速交换。
   3Cisco7200系列路由器不支持分布式CEF交换。
 
附加的新功能
 
在配置集中模式 CEF和分布模式CEF时,您还可以配置以下功能:
  ● 分布式 CEF支持访问控制列表
  ● 分布式 CEF支持帧中继包
  ● 分布式 CEF支持数据包分片
  ● 支持基于每一个包或者每一个目标的负载平衡
  ● 支持网络计费,可以收集数据包的个数和字节数
  ● 分布式 CEF支持跨隧道的交换
 
配置任务
 
这部分描述配置 CEF的必要选项和可选选项。第一个任务是必要的,其他都是可选的。
  ●启用和禁用 CEF或者dCEF
  ●为 CEF配置负载平衡
  ●为 CEF配置网络计费
  ●为 CEF配置跨隧道交换
 
启用和禁用 CEF或者dCEF
 
  如果用户的 Cisco路由器中有接口处理器支持CEF时,就可以启用CEF。
  为了启用或禁用 CEF,可以在全局配置模式下利用下面的命令进行配置。
任务命令
  启用标准 CEF模式ip cef switch
  禁用标准 CEF模式no ip cef switch
 
  当您想让线路卡执行快速转发时,则启用 dCEF,这样,路由处理模块就可以处理路由协议或者负责交换从旧的接口模块(不支持CEF交换的模块)过来的数据包。
 
笔记
  在 Cisco12000系列路由器上,dCEF模式是缺省启用的。所以启用dCEF的命令(ip cef switch)在Cisco12000系列路由器上是没有意义的,在配置清单上也不会列出dCEF模式被启用。
 
  为了启用或禁止 dCEF*作,可以在全局配置模式下利用下面的命令进行配置。
任务命令
  启用 dCEF模式ip cef distributed switch
  禁用 dCEF模式 no ip cef distributed switch
 
  当用户按全局模式启用 CEF或dCEF时,所有支持CEF的接口都被默认地启用了。如果您想在某个特定的接口上关闭CEF或者dCEF,您可以按照下面的做法:
 
  有时候,在某个接口配置了一项功能,而 CEF或dCEF并不支持该功能,这时您就可能需要在这个特定的接口上禁止CEF或dCEF。例如,策略路由和 CEF就不能一起使用。您可能想让一个接口支持策略路由,而让其他的接口支持CEF。在这种情况下,可以按全局模式启用CEF,而在那个打算配置策略路由的接口上禁用CEF。这样,除了那一个接口外,在其他所有接口上都启用了快速转发。
 
  为了在某个接口上禁用 CEF或dCEF,可以在接口配置模式下,使用下面的命令实现:
任务命令
  在接口上禁用 CEFno ip route-cache cef
 
  当禁用了 CEF或dCEF后,Cisco IOS自动使用下一个最快的交换路径来交换数据包。对于dCEF而言,下一个最快的交换路径是在路由处理模块上使用CEF。
  如果您在某个接口上禁用了 CEF或dCEF*作,尔后又想重新启用它,那么在接口配置模式下,可以使用:ip route-cache cef命令实现。
 
笔记
  在 Cisco12000系列路由器上,您不可以在某个接口上禁用dCEF模式。
 
为 CEF配置负载平衡
 
  负载平衡要依据数据包的源和目的地信息组合来进行。为了把数据传送到一个目的地, Cisco可以把数据分配到多条路径中,从而优化资源的使用。您可以基于目的地或者基于数据包来配置负载平衡。负载平衡决策机制是在数据发出的接口上做出的,所以当您必须在出口上配置负载平衡。
 
配置负载平衡任务列表
  这部分描述怎样去配置不同类型的负载平衡:
   配置基于目的地的负载平衡
   配置基于数据包的负载平衡
 
配置基于目的地的负载平衡
 
  基于目的地的负载平衡允许路由器将使用多条路径来均衡负载。对于某一源 /目标主机,数据包转发采用同一路径,即使有多个路径可用,也将这样处理。对于到达不同目的地的数据包则可以采用不同的路径。当启用CEF时,基于目的地的负载平衡功能缺省被启用。大多数情况下,都采用这种负载平衡方法。
  因为基于目的地的负载平衡是依赖于对数据流的统计来分布信息的,所以随着“源 /目的地对”个数的增加,负载平衡会变得更加有效。
  您可以采用基于目的地负载平衡的办法,来确保针对某个给定的“源 /目标主机对”的数据包以一定的次序到达。因为基于某个确定的“源/目标主机对”的数据包会在同一条链路上被路由。
 
启用基于目的地的负载平衡
 
  由于启用 CEF时,也就缺省启用了基于目的地的负载平衡功能,所以为了使用基于目的地的负载平衡功能,您不需要再执行其他附加*作。
 
禁用基于目的地的负载平衡
 
  特别的,当您想启用基于数据包的负载平衡功能时,您必须先禁用基于目的地的负载平衡功能。
  为了禁用基于目的地的负载平衡功能,可以在接口配置模式下,使用下面的命令进行:
任务命令
  禁用基于目的地的负载平衡功能 no ip load-sharing per-destination
 
配置基于数据包的负载平衡
 
  使用基于数据包的负载平衡,路由器可以在路径上连续发送数据包,而不用考虑具体的主机或用户情况。这种负载平衡机制采用轮转办法来确定每个数据包采用哪条路径到达目的地。基于数据包的负载平衡可以保证在多条链路上进行负载平衡。
 
  利用数据包进行负载平衡是一个好办法,但是对于给定的“源 /目标主机对”的数据包也许会因此采用不同的路径到达目的地。这个机制会引起数据包的重新排序。所以这种类型的负载平衡方法对有些类型的数据流可能就不适应(比如通过IP进行语音传送),因为这种类型的传送要求数据包按照顺序依次到达目的地。
 
  使用基于数据包的负载平衡有助于确保每个单个“源 /目的地对”的路径都不会超载。如果有大量的、通过并行链路的针对某个“源头/目标主机对” 的数据,假如按目的地进行负载平衡,将会使那个链路超载,而其他链路上的数据流却很少。启用基于数据包的负载平衡后,数据包可以交替地利用不同的路径到达同一个繁忙的目的地。
 
  要启用基于数据包的负载平衡功能,可以在接口配置模式下,使用下面的命令进行:
任务命令
  启用基于数据包的负载平衡 ip load-sharing per-packet
 
笔记
  如果您想针对某个特定目的地启用基于数据包的负载平衡,必须在所有可以向该目的地转发数据包的接口上都启用基于数据包的负载平衡的功能。
 
为 CEF配置网络记账功能
 
  您可能需要收集统计信息,以便更好地理解和使用 CEF模式的功能。例如您可能想收集这样的信息: 被交换到某个目的地的数据包的个数和字节数,或者通过某个目的地交换的数据包的个数。
 
您执行以下可选选项为 CEF配置网络记帐功能:
  ●为 CEF启用网络记帐功能
  ●查看网络记帐信息
 
启用 CEF的网络记帐功能
 
  要启用 CEF的记帐功能,可以在全局配置模式中,使用下面的命令进行:
 
任务命令
  启用收集被快速转发到某个目的地的数据包个数和字节数 ip cef accounting per-prefix
  
  启用收集通过某个目的地被快速转发的数据包的个数 ip cef accounting non-recursive
 
 
  当您在全局配置模式中为 CEF启用网络记账功能后,相应的路由处理器会收集记账信息。当用户为dCEF启用网络记账功能后,线路卡上会收集记帐信息。
 
查看网络记帐信息
 
  您可以查看被收集的记账信息。为此在 EXEC模式下,使用下面的命令进行:
 
任务命令
  查看收集的记帐信息 show ip cef
 
为 CEF配置跨隧道的交换
 
   CEF支持跨隧道的交换,例如GRE隧道。当你启用CEF或者dCEF模式时,跨隧道的交换会被自动启用,所以您无需再执行任何附加*作来启用跨隧道的交换。
 
 
CEF
开放分类: 网络技术、 CISCO、CCIE、CEF、三层交换
 
传统路由器的基本作用是路由计算和包转发,通常基于共享存储器体系结构,采和集中式 CPU,即单个CPU(或多个CPU,联结成路由器簇)控制共享总线,连接到多个接口卡上,接口卡包含简单的队列等结构,与CPU通信,通过共享总线实现数据包转发。随着Internet的快速发展和大量新的服务需求的不断出现,对网络的路由和交换性能提出了更高的要求,要同时提高包转发速率和系统的性能,必须对传统路由器与交换设备的设计体系结构进行改进,并加入一些新的设计方案以完善系统性能。CEF(Cisco Express Forwarding,Cisco特快交换)技术是思科公司推出的一种全新的路由交换方案,它具有良好的交换性能,增强的交换体系结构和极高的包转发速率。采用CEF技术的GSR1200系列千兆交换路由器,在体系结构,路由方式和接口卡性能等方面都有质的改变,特别适用于大业务量的ISP网络的核心层,同时也广泛应用于高速企业网的主干。本文将对CEF特快交换技术作一介绍和分析。
 
一、路由器交换算法的简单回顾
 
1.过程交换
 
最初的 Cisco路由器采用集中式CPU包交换,所有的包通过共享总线传到CPU,经路由表查找,CRC重算,再通过共享总线把包传到适当的线路卡上。
 
2.快速交换
 
到达某特定目的地址的IP包通常会引起数据包流,即假设交换过到特定目标的包之后,另一个很可能不久也会到达。通过构建最近交换目标的高速缓存,可以减少包在全路由表中查找同一目标的次数,这种“一次路由,然后交换”的方式称为快速交换,快速交换大大提高了路由器的包转发速率,因而成为 Cisco路由器平台上缺省的交换机制。但有一点需要注意,IP路由表的改变必须高速缓存无效,在路由状况不断变化的环境中,路由高速缓存的优势将受到很大限制。
 
3.自治交换
 
自治交换的特点是从CPU中卸载了一些交换功能。在效果上,将路由高速缓存功能从CPU移到辅助交换处理器上,线路卡上的接收包先在交换处理器中完成本地路由高速缓存目标的查找,若查找失败时才中断CPU执行路由表查找。在此, Cisco将周期性计算路由的CPU改名为路由处理器,把辅助交换处理器改名为交换处理器。Cisco 7000系列的路由器上执行自治交换,可使吞吐量等性能进一步提高。
 
4.分布式交换
 
随着VIP( Versatile Interface Processor,通用接口处理器)卡引入,路由器的交换体系逐渐向对等多处理器结构发展。每个VIP卡都包含RISC处理器,维护最新的由路由交换处理器产生的快速交换高速缓存的拷贝,并能独立实现路由交换的功能,高速完成两种类型的交换---本地VIP的交换和VIP之间的交换。
 
5.CEF特快交换
 
如前所述,快速交换的高速缓存机制在 Internet之类的高速动态路由选择环境(经常存在网络拓扑变化,路由改变、路由震荡等)中不能很好地伸缩,路由的改变导致高速缓存无效,而重建高速缓存(即执行“过程交换”的过程)在计算上开销很大;同时,随着互联网及其业务的迅猛发展,基于WEB的各种应用和交互式业务使得通信次数多而通信时间短的实时数据流大量增加,快速交换的高速缓存内容处于不断变化之中,重建高速缓存的负担加大,从而导致路由器性能的降低。CEF特快交换技术正是针对上述不足而设计提出的。
 
二、CEF特快交换基本原理
 
1.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等,此外不再赘述。
 
2.CEF操作模式
 
CEF有两种模式:集中式和分布式。集中式允许一个路由处理模块运行特快交换,即FIB和邻接表驻留在路由处理模块中,当线路卡不可用或不具备分散CEF交换的功能时,就可使用集中CEF交换模式。
 
分布式(一般记作dCEF)允许路由器的多个线路卡(VIP)分别运行特快交换功能,前提是线路是VIP线路卡或GSR线路卡。中央路由处理器完成系统管理 /路由选择和转发表计算等功能,并把CEF表分布到单个线路卡;每个线路卡维护着一个FIB和邻接表的相同的拷贝。线路卡在端口适配器之间执行快速转发,这样,交换操作就无需路由交换模块的参与了。DCEF采用一种“内部过程通信”机制来保证路由处理器和接口卡之间FIB和邻接表的同步。
 
Cisco 12000系列路由器只运行 dCEF模式,由线路卡执行交换功能。在其它路由器中,可以在同一个路由器中混合使用各种类型的接口卡,如果一个不支持CEF的接口卡收到数据包后,将把数据包转发到路由处理器来进行处理,或把该数据包转发到下一个网络段处理。
 
CEF在路由器上是全局激活的,但可在每个接口(或VIP的底板)上启用 /禁用CEF;CEF和快速交换模式也可同时运行,但不推荐这样使用,因为会占用大量的系统维护资源。
 
三、CEF与快速交换的比较
 
与快速交换相似,CEF也使用自己建立的数据结构(而不是路由表)来执行交换操作。快速交换通过生成并查找路由高速缓存交换数据包,该路由高速缓存交换数据包,该路收高速缓存的条目(包括目的IP地址,输出接口,MAC地址头信息等)是在第一个数据包到来时,对整个路由表执行最长匹配查找算法获得下一跳IP地址,然后查找ARP缓存获得第二层的MAC地址信息,并写入路由高速缓存,之后的数据包则根据已经生成的高速缓存的条目直接重写MAC头信息完成交换操作。
 
CEF通过FIB和邻接表对数据包进行交换,但FIB和邻接表是在数据包到来以前,由CPU根据路由表生成并定时更新的,因此到达路由器的第一个数据包也无须执行查找路由表的过程,直接由FIB和邻接表获得新的MAC头信和卢,就可进行交换了,对于拥有大容量路由表的路由器来说,这种预先建立交换查找条目的方式能够有效地提高交换性能。
 
四、基于CEF的负载平衡的实现
 
当到达某一目的IP地址存在多条路径时,每条路径都有一个反映其代价的 metric值,路由协议通过计算获得到达目的地址的具有最短metric值的路径,数据包通过该路径到达目的地址。负载平衡的目的则是要把流量分配到多条路径中,这样可优化资源的使用。CEF特快交换支持两种类型的负载平衡---按目的地配置的负载平衡和按数据包配置的负载平衡。
 
1.按目的地配置负载平衡
 
基本原理是:对于给定的一对源 /目的IP地下,即使有多个路径可用,也可保证数据包采用同一路径;通往不同源/目的IP地址的数据流则倾向于采用不同的路径。通过采用按目的地负载平衡的方法,可以保证对某个源/目的IP地址对的数据包以一定的次序到达。当启用CEF时,按目的地配置的负载平衡被默认启用。
 
2.按数据包配置负载平衡
 
基本原理是:采用轮转法确定各个数据包按哪条路径到达目的地。这种负载平衡方法可使路由器在路径上连续发送数据包,即保证路径的使用状况比较好,但针对一个源 /目的IP地址对的数据包可能会采用不同的路径,从而导致目的端对数据包的重新排序。这种类型的负载平衡对某些类型的数据流传送不是很合适(如VoIP数据流)。当然,若在某一源/目的IP地址对之间有大量的数据流,通过并行链路传送,如果按目的地负载平衡方式,将会使某条链路负担过重,而其他链路上的数据流很少,此时采用按数据包的负载平衡是合理的。
 
五、小结
 
CEF是专门为高性能、高伸缩性的IP骨干网络设计的一种高速交换方式。从上述介绍我们不难看出,在大规模的动态IP网络中,CEF能够提供前所未有的交换的一致性和稳定性。它能够有效弥补快速交换的高速缓存条目频繁失效的缺陷,采用dCEF分布式交换可使每个线路卡进行完全的交换,提供更优越的性能;CEF比快速交换的路由高速缓存占用内存要少,并能提供负载平衡,网络记帐等功能。借助CEF特快交换技术和其它一些革命性的创新技术, Cisco的GSR路由器在全球取得了巨大的成功,在中国互联网基础设施建设中发挥着极其重要的作用。
 
附: cisco关于CEF的介绍
 
Cisco's Express Forwarding (CEF) technology for IP is a scalable, distributed, layer 3 switching solution designed to meet the future performance requirements of the Internet and Enterprise networks. It represents the latest advance in Cisco IOSTM switching capabilities that includes NetFlowTM Switching and Distributed Switching. CEF is also a key component of Cisco's Tag Switching architecture.
 
Express Forwarding evolved to best accommodate the changing network dynamics and traffic characteristics resulting from increasing numbers of short duration flows typically associated with Web-based applications and interactive type sessions. Existing layer 3 switching paradigms use a route-cache model to maintain a fast lookup table for destination network prefixes. The route-cache entries are traffic-driven in that the first packet to a new destination is routed via routing table information and as part of that forwarding operation, a route-cache entry for that destination is then added. This allows subsequent packets flows to that same destination network to be switched based on an efficient route-cache match. These entries are periodically aged out to keep the route cache current and can be immediately invalidated if the network topology changes. This 'demand-caching' scheme — maintaining a very fast access subset of the routing topology information — is optimized for scenarios whereby the majority of traffic flows are associated with a subset of destinations. However, given that traffic profiles at the core of the Internet (and potentially within some large Enterprise networks) are no longer resembling this model, a new switching paradigm was required that would eliminate the increasing cache maintenance resulting from growing numbers of topologically dispersed destinations and dynamic network changes.
 
CEF avoids the potential overhead of continuous cache churn by instead using a Forwarding Information Base (FIB) for the destination switching decision which mirrors the entire contents of the IP routing table. i.e. there is a one-to-one correspondence between FIB table entries and routing table prefixes; therefore no need to maintain a route-cache.
 
This offers significant benefits in terms of performance, scalability, network resilience and functionality, particularly in large complex networks with dynamic traffic patterns.
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值