前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >网络设备硬核技术内幕 路由器篇 (10) CISCO ASR9900拆解 (四)

网络设备硬核技术内幕 路由器篇 (10) CISCO ASR9900拆解 (四)

作者头像
用户8289326
发布2022-07-27 13:20:16
8690
发布2022-07-27 13:20:16
举报
文章被收录于专栏:帅云霓的技术小屋

先小结一下前三篇的内容:

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学习分两步走:

  1. NP本身学习到未知二层数据包的MAC;
  2. 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冗余。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 帅云霓的技术小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档