当前位置:网站首页>网络设备硬核技术内幕 路由器篇 (10) CISCO ASR9900拆解 (四)
网络设备硬核技术内幕 路由器篇 (10) CISCO ASR9900拆解 (四)
2022-07-27 14:06:00 【用户8289326】
先小结一下前三篇的内容:
CISCO ASR99作为高端路由器,一般在企业总部/DC出口、广域网核心,以及运营商城域边缘(Metro Edge)作为BRAS/SR使用,因此,整机采用了分布式和HA设计,包括NP+FIA+Switch Fabric构成的线卡和Switch Fabric+仲裁单元构成的交换网板。特别地,分布式交换网仲裁和VoQ交换的设计,避免了交换网内拥塞,也避免了线卡上单端口拥塞引发其他流丢包。
那么,ASR9900在控制平面的分布式HA实现是怎么做的呢?
如图,ASR9900的控制平面由主控CPU、线卡CPU以及NP的控制平面包处理单元构成。
当路由协议、BFD、生成树协议等数据包被送到NPU时,首先会由LPTS(Local Packet Transport Service)进行处理。由于控制平面处理能力大大低于转发平面,因此,LPTS会按照一定的策略进行限流,避免过多的本地数据包上送主控。
对于BFD这种数量大,周期频繁(3.3ms),处理简单(连续若干个周期没有收到即触发事件)的数据包,NP可以在本地硬件处理,不上送主控。
ARP,ICMP,OAM以及二层生成树协议等这种具有局部性的控制包则在线卡的CPU上处理。
什么控制包需要在主控CPU处理呢?
当然是涉及全局的控制包了。如路由协议、MPLS LDP,PIM,HSRP和VRRP等。
它们的工作界面划分如下:
记得我们提过的,FIB表项的生成过程吗?
对于分布式转发的路由器,实际上,FIB表项有软件FIB(SW FIB)和硬件FIB(HW FIB)的区别。为什么需要这样的设计呢?
原来,如果所有的线卡都向主控CPU发起查询,主控CPU的负担会比较重。因此,在主控CPU学习到路由后,会根据RIB选出合适的路由表项,生成软件FIB,并下发到各个线卡的CPU。当线卡NP收到转发不出去的数据包的时候,会在线卡CPU查询软件FIB,还查询不到的时候才会上主控查询。这样,就可以通过线卡上的CPU分担主控CPU下发FIB的工作,体现分布式系统的优势。
对于二层转发的情况,路由器与交换机的工作方式类似,需要对未知MAC学习。ASR9900的MAC学习分两步走:
- NP本身学习到未知二层数据包的MAC;
- NP对MAC表项经过Switch Fabric泛洪到本线卡内所有的NP,以及其他线卡上的NP。
控制平面还有一个重要任务,是处理OAM/BFD一类心跳报文。
由于BFD的数据包数量很多,以3.3ms周期计,每秒会产生300个。如果整机有480个接口,每秒钟整机需要处理144000个BFD报文。我们需要利用分布式的方法,避免这144K个BFD报文都在主控CPU处理。
如图,在主控(RP)上配置BFD之后,主控(RP)会维护一个BFD会话表,并将其下发到所在的线卡。每个线卡的NP芯片会处理BFD会话,并在BFD状态有变时,上报主控(RP)。RP会针对BFD状态倒换路由。
由于NP有着强大的数据包处理能力,在Tomahawk和LightSpeed线卡上支持NP处理BFD。
每个BFD Hello在NP上进行处理,NP发现连续三个BFD丢失,才会上报线卡CPU处理。
本期问题:
在一台ASR9906上配置了双主控,4块线卡和5块交换网板,那么,控制平面的功能由几颗CPU进行分担?
上期遗留问题解答:
既然ASR9900有N+1冗余的交换网板,而且同一线卡之间的NP也需要在交换网板上互通,为什么还要在线卡上设计Switch Fabric?
由于NP到接口的Serdes容量与到Switch Fabric的交换容量是相等的,因此,如果线卡上没有Switch Fabric提供到交换网板的冗余带宽,那么,无法实现交换网板的N+1冗余。
边栏推荐
- Detailed explanation of Telnet remote login AAA mode [Huawei ENSP]
- Stock trading 4
- telnet远程登录aaa模式详解【华为eNSP】
- Spark job uses log4j appender to append logs to local files or mysql
- Unity3D学习笔记10——纹理数组
- OBS 进阶之 DXGI 采集屏幕流程,并如何修改为自己的光标
- Airport cloud business sign analysis
- Win11壁纸变黑怎么办?Win11壁纸变黑了的解决方法
- Graphical SQL is too vivid
- 网络设备硬核技术内幕 路由器篇 9 CISCO ASR9900拆解 (二)
猜你喜欢

Who can't capture packets these days? Wireshark packet capture and common protocol analysis are for you!

Understand the evolution of redis architecture in one article

于不确定中见“安全感” 沃尔沃2022年中问道

Research on Chinese idiom metaphorical knowledge recognition and relevance based on transfer learning and text enhancement

Lecture 4: Longest ascending substring

周鸿祎:数字安全能力落后也会挨打

The interviewer asked: how to judge whether an element is in the visible area?

Kubernetes 节点磁盘故障排查

Toward Fast, Flexible, and Robust Low-Light Image Enhancement(实现快速、灵活和稳健的弱光图像增强)CVPR2022

Construction of knowledge map of financial securities and discovery of related stocks from the perspective of knowledge relevance
随机推荐
数据库使用psql及jdbc进行远程连接,不定时自动断开的解决办法
DVWA full level customs clearance tutorial
web上构建3d效果 基于three.js的实例
What you want most is the most comprehensive summary of C language knowledge. Don't hurry to learn
@Detailed explanation of repository
Tencent two sides: @bean and @component are used in the same class, what will happen?
C语言基础练习题目
巨形象的图解 SQL
Docker practical experience: deploy mysql8 master-slave replication on docker
An example of building 3D effects on the web based on three.js
面试官问:如何判断一个元素是否在可视区域?
通过VN1630/VN7640的I/O功能来确认电源设置电压的时间精确度
深圳市人力资源和社会保障局关于发放脱贫人口就业有关补贴的通知
STM32F103C8T6在Arduino框架下驱动SH1106 1.3“ IIC OLED显示
[Yunxiang book club issue 13] multimedia processing tool ffmpeg tool set
关于印发《深圳市工业和信息化局绿色制造试点示范管理暂行办法》的通知
What if win11 wallpaper turns black? The solution of win11 wallpaper blackening
Hdu3117 Fibonacci numbers [mathematics]
网络设备硬核技术内幕 路由器篇 18 DPDK及其前传(三)
网络设备硬核技术内幕 路由器篇 9 CISCO ASR9900拆解 (二)