二层网络数据转发模式
Data Forwarding
Process Switching
最古老的数据转发方式
- 当路由器收到一个需要处理的数据包时
- 路由器将存储该数据包进入内存
- 路由器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的数据,继续转发工作,直到切换完成。
推荐阅读
- 不归路之Python|什么是计算机网络(为什么需要网络通信?如何进行网络编程?)
- 计算机网络|一篇文章带你了解计算机网络(上)
- 网络流|洛谷·[网络流24题]太空飞行计划问题
- 大数据|一看就明白的爬虫入门讲解(基础理论篇)
- 翻译 | Kubernetes 将改变数据库的管理方式
- SpringBoot实现前后端、json数据交互以及Controller接收参数的几种常用方式
- 数据结构与算法|【蓝桥杯】 BASIC-16 分解质因数
- 深度学习|基于Pytorch的神经网络之Optimizer
- DL_数据增广|论文笔记之数据增广(1)(mixup)
- 大数据|关于Vision Transformer的一些思考