Cisco 快速转发机制

A.CEF概述

  CEF采用一个4级每级256条通道结构的转发表来指明转发条目的位置,转发表有nexthop等信息,涵盖了整个IPv4的地址范围,并有指针指向另一个邻接表。转发条目(MAC地址之类)都存储在一个单独的邻接表上。这两个表包括了所有的转发信息,而这些转发信息是根据路由表和ARP来构造的。

  CEF简化了查询的步骤,提高了单位时间的工作效率。从整体上来看,CEF在软件形式上实现了路由和交换功能的分离路由信息和转发信息是分离的,数据包的转发只根据转发信息而不用参照路由信息,可以充分利用专用硬件的功能来达到线速转发,而不受路由变化或者其他因素的干扰,保证了转发的高速高效。

 B.CEF转发提供3张表

  1>FIB(转发信息表):从路由选择表中拷贝过来的转发信息,包括路由选择表中用于转发路由分组所必须的最少信息。

2>Adjacency邻接表维护一个邻接节点以及他们相关的2层MAC重写或吓一跳信息数据库

3>NetFlow Table:用于统计网络数据等

这3张表放在三层转发引擎中,比如某个模块或端口,因此,通常都很稳定。

CEF转发机制

普通IP包到达交换机,通过三层转发,直接由硬件的三层转发引擎查找转发信息表,进行转发。三层数据包通过与FIB表格的匹配,进行最长匹配,得到邻居信息,改写原有二层数据帧(下一跳MAC地址)并转发。查找得到邻居信息,在邻接表中找到下一条,根据下一条进行转发。如果目的IP地址的MAC不在邻居表内,则交换机将使用ARP进行解析,以得到目的地址的MAC地址。

 

CEF的转发信息表和邻接表:

利用软件创建转发信息表和邻接表  FIB最多支持6个到达同一目的的邻居条目

Cisco 快速转发机制_快速转发

图示转发过程:

 

 Cisco 快速转发机制_Cisco_02

C.CEF负载均衡

 提供两种负载均衡:

①基于目的地的负载均衡(使用多条路径来均衡负载,默认被启用

②基于数据包的负载均衡(需要先禁用①,可以在路径上连续发送数据包,而不用考虑具体的主机或用户情况)

命令:

在接口模式下

 #no ip load-sharing per-destination  //禁用基于目的地的负载均衡

  #ip load-sharing per-packet       //启用基于数据包的负载均衡

D.查看CEF配置及诊断

查看

在特权模式下:

#show ip cef 端口  目的IP地址  detail 

查看转发信息

#show adjacency 端口  detail

查看邻居信息

诊断:

#debug ip cef {   drops  |  receive |  events |prefix-ipc |tale}

                丢弃包      接收包    事件

#debug ip cef {  ipc | interface-ipc}

              进程之间通讯的消息