CEF  Cisco Express Forwarding,思科特快交换技术,是一种全新的路由交换技术。它的路右转发功强大,远远超出了快速交换。

优点:

1、可扩展性(Scalability):当激活了分布式CEFDistributed CEF)模式时,CEF在每一块线卡(line card)上也提供了全部的交换能力。

2、增强了性能:CEF使用CPU率较低,更多的CPU处理能力可以专注于第3层的服务,比如动态路由协议的运行。

3、弹性(Resilience):在大型动态网络中,CEF提供了更好的一致性和稳定性。

 

快速交换通过构建高速缓存,将近期的路由交换目标存入高速缓存,从而减少了在路由表中的查找同一目标的次数大大提高了路由器的转发速率。但是现在网络拓扑不断变化,路由表也不短变化,而路由表的变化引起路由器的快速缓存失效,路由器必须重建高速缓存,重建高速缓存是很耗费时间的。快速交换的高速缓存机制被抑制,路由器转发效率大打折扣。CEF克服了这些缺点。

 

 CEF原理

CEF主要有两个表,FIB转发数据库和邻接表。

FIBFIB是路由表的映射,也就是说它包含了所有的路由转发信息,从而替代了高速缓存。

由于该表是从路由选择表中拷贝过来的转发信息,不包括任何路由选择协议信息。路由表有任何增删变化,FIB表均会随之变化

   优点:1.可以 被硬件ASIC调用   2.解决递归路由问题,直接找到下跳  3.扩展性能,应用于MPLS

 

邻接表:当只需要一条即可到达目标路由时,该目标称为邻近节点,邻接表维护着邻近节点的数据。

 

邻接表是由ARP实现的,将第2层地址映射到相应的第3层地址上。路由器能从路由选择更新中发现下一跳路由器,并相应的在临街表中增加表项。这个处理让路由器构建了第3层分组转发所需的下一跳重写信息。

 

CEF让分组交换完全绕过路由处理器,通过专门的数据结构来完成,该数据结构通过路由处理器和交换处理器之间的一个通信过程来动态更新。通常,CEF被认为是“没有路由,一直交换”

CEF的两种负载均衡方式:

1、基于每个会话的负载均衡(per-session load sharing

基于每个会话的负载均衡允许路由器使用多条路径分发流量。对于一个给定的源—目的主机对,即使有多条路径可用,路由器也会保证该会话的数据包走相同的路径。不同的会话采用不同的路径,使用负载均衡,基于每个会话的负载均衡再激活CEF的时候缺省的也被激活。由于基于每个会话的负载均衡依赖于流量的统计分发,因而在会话数增加的情况下更有效率。

基于每个会话的负载均衡能够确保导向给定的源—目的对的数据包按序到达,因为导向相同主机对的所有数据包都被路由到相同的链路上。

2 基于每个数据包的负载均衡

基于每个数据包的负载均衡使得路由器可以把连续的数据包发送到不同的路径上,而不必关心个别的主机或用户会话,使用轮转的方法来确定每一个数据包选择哪条路径到达目的地。

当大量数据通过单个会话的多条并行链路时,基于每个数据包的负载均衡显得更加有效。在这种情况下,基于每个会话的负载均衡将会过载其中一条链路,而其他链路几乎没有什么流量。

但基于每个数据包的负载均衡会导致针对某一个会话来说,数据包可能走不同的路径,这会引起数据包的重新排序,对于某些数据流量类型来说是不合适的,必须对于IP语音流量来说。