二层网络数据转发模式
Data Forwarding
Process Switching
最古老的数据转发方式
- 当路由器收到一个需要处理的数据包时
- 路由器将存储该数据包进入内存
- 路由器CPU被打断,处理该数据包
- 并将其放入相应的输入队列中
弊端是需要使用CPU进行转发,对于CPU要求过高,目前已经不使用该种方式。
no ip route-cache #通过该命令启用CPU转发功能
Fast Switching
快速转发在CPU转发的基础上通过加入缓存进行改进。
- 第一个数据包依旧通过CPU进行处理
- 将处理结果存入缓存中
- 到达该目的地的数据包通过缓存中的信息进行处理
弊端
- 第一个数据包仍需要通过CPU处理
- 如果路由器接收到大量未在缓存中的数据,性能将会下降
- 当路由表变化时,缓存将会被清空并重新记录
ip route-cache #启用Fast Switching
Cisco Express Forwarding(CEF)
Cisco Express Forwarding是思科私有技术基于快速转发改进而来,CEF在Cisco设备为默认选项
CEF通过ASICs和NPUs实现高吞吐量(通过硬件加速)
ip route-cache cef #关闭CEF
show cef interface #查看CEF是否开启
show ip interface #查看CEF是否开启
开启CEF后,CEF会产生两张表,为FIB(Forwarding Informatica Base)和 Adjacency Table。
FIB与路由表相同,Adjacency Table则与ARP表相类似。

CEF的部署模式分为Centralized(集中式)和Distributed Forwarding(分布式),相对于的就是软件CEF与硬件CEF,也对应着低端设备与高端设备。
当一个路由处理引擎配置了一个CEF,能够让它处理所有分组流量,这即为集中式。
如果网卡配备了转发引擎且附带一个CEF,则能够使流量不经过路由处理引擎直接被转发,那么吞吐量会更高,这即为分布式。
SSO & NSF
SSO=Stateful switchover NSF=Nonstop forwarding
Route Processors用于生成路由表,如果路由处理器故障则会导致路由表重置并丢失报文(同时会导致CEF的重置),通过增加Route Processors数量来冗余。
SSO是一种冗余功能,它允许具有多个RP的Cisco路由器在RP间同步配置和控制层面的信息。若一个RP故障,则能够切换至另一个RP继续工作,但是在切换的过程中,会触发路由协议的翻动,清除路由表与CEF条目,再重新学习网络拓扑前,不再路由流量。
此时需要用到NSF功能,NSF功能则会假定在切换RP的过程中,CEF仍然使用切换前的RP的数据,继续转发工作,直到切换完成。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本