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

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

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

在前几天的专题中,我们拆解了ASR9900的转发线卡、交换网板、NP芯片、控制平面实现。

在大型分布式系统设计中,还有一个要点是资源的分配。

对于转发平面而言,最重要的资源就是表项资源,也就是TCAM资源的分配。

让我们重温一遍ASR9900的转发流程:

数据包进入线卡之后进行流分类,确定是指向控制平面还是需要转发。

之后,是ACL和QoS分类,让NP查询TCAM,确定匹配的ACL和QoS策略。

接着,NP开始执行最关键的步骤:转发表查找,在这一步中,NP将会在TCAM中查询FIB表。

这里的FIB是广义的转发信息表项,不仅限于LPM(最长匹配)的三层路由,还会有MPLS的标签转发表和二层MAC转发表,这两种表项都属于LEM(精确匹配)。

此外,MPLS FEC(转发等价类)则既可能有基于LEM的(VLL/VPLS),也可能有基于LPM的。(MPLS L3 VPN)。

这些表项都在TCAM中存储和检索。

对于出方向,省却了FIB表的查找,但需要根据数据包头的Metadata将数据包转发到对应的端口,并查找出方向ACL/QoS策略并执行。这些也需要访问TCAM。

NP将以上的TCAM查询动作抽象为这些步骤:

  1. 构建查询键值。 如三层路由转发表的查询键值为前缀+Token。Token是VRF相关的一个ID; 而ACL的查询键值可以是IP前缀,也可以是UDP/TCP端口等。
  2. 位掩码(Bit Mask)。前面提到,TCAM的查询,可以某些bit为Not Care,如下图:
  1. 选择TCAM Bank。LightSpeed和Tomahawk线卡上,TCAM以BANK形式组织,每BANK可以配置为有512 Entry x 160bit的方式,也可以配置为128 Entry x 640bit的方式。多个BANK可以配置为一个BANK组(Bank Set)。 在Tomahawk线卡上,共有9个BANK组。其中5个为二层业务组,如物理接口与接口聚合组,VLAN,隧道等资源;2个为160bit组,用于IPv4 FIB和ACL;2个为640bit组,用于IPv6 FIB和IPv6 ACL。 而对于LightSpeed线卡,二层业务是不需要TCAM资源的。NP芯片内置了SRAM以及哈希引擎实现LEM(精确匹配查找),只有FIB和ACL需要消耗TCAM资源。 下表是不同TCAM的分区的用途。

实际上,无论是在路由器还是交换机上,TCAM资源都是非常宝贵的。一般用于需要高速查表的FIB表和ACL表。

由于IPv6的地址本身就需要占用128bit,所以,IPv6表项在TCAM中一般都以640bit单位分配。

对ASR9K的拆解就告一段落了。让我们小结一下心得:

  1. ASR9900采用多级交换架构,线卡上使用CISCO自研的NP实现转发;
  2. NP本身只有数据包处理和QoS管理能力。表项存储在TCAM中,VoQ交换采用FIA实现;
  3. 主控CPU和线卡CPU共同构建分布式控制平面,控制报文分布式处理;
  4. TCAM根据IPv4或MPLS/IPv6组织,有160bit/640bit两种组织方式;

明天我们将拆解另一种路由器的实现。

本期问题:

为什么LEM表也可以不需要在TCAM中存储?

上期遗留问题:

在一台ASR9906上配置了双主控,4块线卡和5块交换网板,那么,控制平面的功能由几颗CPU进行分担?

答案:6颗。双主控和4块线卡分担控制平面功能,而交换网板的CPU仅实现仲裁及各芯片状态监控。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
访问管理
访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档