CISCO CEF(Cisco特快交换) 解释:
CEF采用一个4级每级256条通道结构的转发表来指明转发条目的位置,转发表有next hop等信息,涵盖了整个IPv4的地址范围,并有指针指向另一个邻接表。转发条目(MAC地址之类)都存储在一个单独的邻接表上。这两个表包括了所有的转发信息,而这些转发信息是根据路由表和ARP来构造的。
CEF简化了查询的步骤,提高了单位时间的工作效率。而且从整体上来看,路由信息和转发信息是分离的,数据包的转发只根据转发信息而不用参照路由信息,可以充分利用专用硬件的功能来达到线速转发,而不受路由变化或者其他因素的干扰,保证了转发的高速高效。

CEF转发提供3张表
1>FIB:从路由选择表中拷贝过来的转发信息,包括路由选择表中用于转发路由分组所必须的最少信息。
2>邻接表:维护一个邻接节点以及他们相关的2层MAC重写或吓一跳信息数据库
3>NetFlow Table:用于统计网络数据等

它的高速表现在以下两个方面:
1>在查询方式上简化了步骤,提高了速度;
2>在分离了路由和转发功能。

CEF转发过程

3层包从TCAM开始查找;进行最长匹配,得到邻居信息,改写原有二层数据帧(下一跳MAC地址)并转发。
CEF表是从路由表得来,邻居表是使用ARP解析得来的。

CEF多层交换的过程:

左侧MAC-M(MAC地址)是SW。右侧的MAC-M是SW。
如果目的IP地址的MAC不在邻居表内,则SW将使用ARP进行解析,以得到目的地址的MAC地址。

ARP Throttling(ARP抑制):在未获得目的MAC地址并且进行ARP解析时,除非ARP解析完成并且在邻居表体现出来外,在解析期间,所有发往目的主机的包,将被丢弃,这就是ARP抑制。(FIB最多支持6个到达同一目的的邻居条目)

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

集中CEF模式 当启用集中CEF模式时,CEF的FIB和邻接表驻留在路由处理器中,路由处理器来执行快速转发。对于CEF交换来说,当线路卡不可用时,或者需要使用的功能与分散CEF交换不兼容时,就可以使用集中CEF模式。
分布CEF模式当启用分布式CEF(dCEF)时,线路卡(例如VIP线路卡或者GSR线路卡)维护着一个与FIB和邻接表相同的拷贝。线路卡在端口适配器之间执行快速转发,这样,在进行交换操作时就无须RSP的参与了。dCEF使用一个“内部过程通信”(Inter ProcessCommunication,IPC)机制,在路由处理模块和线路卡上,保证FIB和邻接表的同步。
在Cisco12000系列路由器中,线路卡负责执行CEF交换。在其他路由器中,或许您使用的不是同一种类型的线路卡,有可能某个接口卡不支持CEF交换。
当某个不支持CEF交换的线路卡收到数据包时,它将数据包转发给更高的交换层(比如路由处理模块)或者把数据包转发给下一跳处理。这种机制允许旧的接口模块和新的接口模块并存。

1.Cisco12000系列千兆交换路由器上只运行dCEF模式。
2.一个VIP卡上不允许同时运行分布式CEF交换和分布式快速交换。
3.Cisco7200系列路由器不支持分布式CEF交换。
附加的新功能 在配置集中模式CEF和分布模式CEF时,您还可以配置以下功能:
1>分布式CEF支持访问控制列表
2>分布式CEF支持帧中继包
3>分布式CEF支持数据包分片
4>支持基于每一个包或者每一个目标的负载均衡
5>支持网络计费,可以收集数据包的个数和字节数
6>分布式CEF支持跨隧道的交换

Cisco首先在高端路由器平台实现CEF,此后,Catalyst交换机也支持CEF的转发,但是还存在一些差别,但均提供如下特性:
1. 基于“最长地址匹配”查找的高速转发
2. 等价路径的负载均衡
3. 逆向路径转发检查(RPF)
4. 不详路由的无效
有些CEF特性仅在路由器上实现
1. 关闭基于CEF的转发能力
2. 每个前缀和每个前缀长度的CEF统计
3. 从负载共享路径统计数据
4. 基于每个分组的负载均衡

有3种基本的方式实现转发:进程交换,干扰交换,ASIC(通用集成电路)。

进程交换是所有交换方式中最慢的一种。当通过路由器交换报文的时候,CISCO IOS进程会将报文复制到CPU缓存,并在IP路由表中进行查找。查到后进行一些管理性处理,包括改TTL,重新计算CRC。整个过程由中央CPU监控,没有其他的基于硬件的帮助。

快速转发
快速转发会创建一张按需转发表,对于去往每个目的地的一个报文实行进程交换,通过中央CPU完成,然后创建一个IP快速交换路由缓存。这个缓存不是永久的,它有一些计时器管理,只要有报文转发,这些条目就会存在,如果经过一段时间没有报文转发,条目将被删除以释放空间。
下图就是一个IP快速交换路由缓存的示例:

如图可以看出,对于每一个prefix都有一些参数:老化时间,接口,下一跳和第二层重写信息。这张图中你看到的二层信息是0F000800。其中,0F00是表明使用HDLC封装,0800是IPv4的协议号。

转载于:https://blog.51cto.com/1184394769/803212

思科快速转发机制(CEF-Cisco Express Forwarding)相关推荐

  1. 思科网络渗透测试 Pentesting Cisco networks

    思科网络渗透测试 Pentesting Cisco networks 文章目录 思科网络渗透测试 Pentesting Cisco networks 前言 一.滥用TACACS+协议 1.1 MITM ...

  2. runtime消息转发机制

    Objective-C 扩展了 C 语言,并加入了面向对象特性和 Smalltalk 式的消息传递机制.而这个扩展的核心是一个用 C 和 编译语言 写的 Runtime 库.它是 Objective- ...

  3. 远程过程调用失败_快速失败机制amp;失败安全机制

    这是why技术的第29篇原创文章 之前在写<这道Java基础题真的有坑!我求求你,认真思考后再回答.>这篇文章时,我在8.1小节提到了快速失败和失败安全机制. 但是我发现当我搜索" ...

  4. IPv6的思科培训启用SSH在Cisco IPv6路由器

    IPv6的思科培训启用SSH在Cisco IPv6路由器 ? 安全Shell或SH是一种使用安全通道的应用层协议;安全通道可以确保数据的两个IP设备之间交换是完全安全的(加密的). 思科IPv6路由器 ...

  5. 消息转发机制与Aspects源码解析

    前言 最近在搞重构相关的事情,遇到了不少这样的场景: 进入一个界面,在viewWillAppear:的时候做相应判断,如果满足条件则执行对应代码. 这类业务有一个特点,业务内容是对应整个App的,与对 ...

  6. runtime(三) Objective-C 的消息转发机制与动态添加方法

    在上上一篇博客 runtime系列(一) objc_msgSend 中介绍了运行时的消息传递机制,但是却没有说对象收到消息却无法解读该怎么办.本篇博客就着重介绍当消息传递时无法解读的时候就会启动的 消 ...

  7. linux系统如何选择内核启动,Linux系统的快速启动机制(内核切换)

    快速启动机制:允许通过已经运行的Linux内核的上下文启动另一个Linux内核,不需要经过BIOS.BIOS可能会消耗很多时间,特别是带有众多数量的外设的大型服务器.这种办法可以为经常启动机器的开发者 ...

  8. OC底层消息转发机制

    目录 1. 前言 2. 动态方法决议 2.1 实例方法动态决议 2.2 类方法动态决议 3. 消息转发 3.1 快速转发流程 3.2 慢速转发流程 4. 总结 1. 前言 上一篇文章(OC底层方法的本 ...

  9. OpenDayLight Helium实验三 OpenDaylight二层转发机制实验

    本文基于OpenDaylight二层转发机制实验 而成 在SDN网络中,处于末端的主机并不知道其连接的网络是SDN,某台主机要发送数据包到另一台主机,仍然需要进行IP到MAC地址的ARP解析.SDN网 ...

最新文章

  1. 工作流-----WorkFlow
  2. B端产品思维全解析,提升产品经理核心竞争力
  3. 多线程测试工具groboutils的使用
  4. java number转string_Java Number类, Character类,String类
  5. 关于话题演化关系网络生成的路线思考:从话题聚类到话题网络展示
  6. 中国数码摄像机市场趋势报告、技术动态创新及市场预测
  7. 多线程依次接收信息并发送
  8. 手机游戏开发 - 究竟要做什么、怎么做(中)
  9. javascript不定参数
  10. JavaScript编程用法——JavaScript运行环境
  11. matlab数细胞实验图片,献给初学者:手把手教你做细胞计数实验
  12. 节拍器在学习音乐过程中起到什么作用?-小星星节拍器怎么样?
  13. linux系统时钟使用utc,如何设置时间,时区和同步系统时钟使用timedatectl命令
  14. 阿里云OSS存储实例
  15. 单片机实现PT2262解码原理
  16. Android音频子系统(十一)------耳机返听(耳返)原理实现
  17. Idea配置与项目导入(Java 与 Python 学习通法)
  18. 他山之石 | 预训练模型在华为推荐中的应用与探索
  19. EasyClick脚本开发教程(6)获取抖音视频评论内容
  20. 2022-2028全球与中国自主行李托运市场现状及未来发展趋势

热门文章

  1. JavaScript中错误正确处理方式,你用对了吗?
  2. Linux下Weblogic 11g R1安装和配置
  3. Oacle 开窗函数 分析函数
  4. 大家看看这个参数inctype你是否使用过?我做了以下测试,欢迎拍砖!
  5. vim编辑器的设置文件
  6. 多个iis的进程w3wp
  7. seo优化闲了吧----第一回目
  8. fiddler修改response header
  9. Codeforces - tag::data structures 大合集 [占坑 25 / 0x3f3f3f3f]
  10. Pycharm快捷键大全(windows + Mac)