当前位置:网站首页>网络设备硬核技术内幕 路由器篇 (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冗余。
边栏推荐
- Understand the evolution of redis architecture in one article
- 正则表达式:邮箱匹配
- Construction and empirical research of post talent demand analysis framework based on recruitment advertisement
- Nefu117 number of prime numbers [prime number theorem]
- Regular expressions: mailbox matching
- 视觉系统设计实例(halcon-winform)-9.文字显示
- Visual system design example (Halcon WinForm) -10. PLC communication
- Navicate reports an error access violation at address 00000000
- An example of building 3D effects on the web based on three.js
- If we were the developer responsible for repairing the collapse of station B that night
猜你喜欢

Interprocess communication

被动收入:回归原始且安全的两种赚取方法
![Detailed explanation of Telnet remote login AAA mode [Huawei ENSP]](/img/48/dd0fa3c494c45f604b7a93c707b808.png)
Detailed explanation of Telnet remote login AAA mode [Huawei ENSP]

Redis

Graphical SQL is too vivid

Understand the evolution of redis architecture in one article

Import the virtual machine officially made by Kali Linux into Oracle VirtualBox

关于 CMS 垃圾回收器,你真的懂了吗?

What is tor? What is the use of tor browser update?

Research on multi label patent classification based on pre training model
随机推荐
大家最想要的,最全的C语言知识点总结,还不赶紧学习
国信证券手机开户安全吗 中山证券靠谱吗
OBS 进阶之 DXGI 采集屏幕流程,并如何修改为自己的光标
SkyWalking分布式系统应用程序性能监控工具-中
FPGA timing constraint sharing 04_ Output delay constraint
Dynamic programming - stock trading 5
[popular science] the difference and connection between accuracy and resolution
np. Usage and difference of range() and range()
web上构建3d效果 基于three.js的实例
DirectX 入门知识
代码覆盖率统计神器-jacoco工具实战
Skywalking distributed system application performance monitoring tool - medium
【ManageEngine】什么是SIEM
什么是Tor?Tor浏览器更新有什么用?
STM32F103C8T6在Arduino框架下驱动SH1106 1.3“ IIC OLED显示
网络设备硬核技术内幕 路由器篇 21 可重构的路由器
事务_基本演示和事务_默认自动提交&手动提交
Unityui aspect processing (induction and accumulation)
关于印发《深圳市工业和信息化局绿色制造试点示范管理暂行办法》的通知
Import the virtual machine officially made by Kali Linux into Oracle VirtualBox