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

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

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

昨天给大家展示了ASR 9K的线卡架构,既然NP芯片是路由线卡的核心,而PP(Packet Processor)又是NP芯片的核心。那么,拆解NP的PP单元就是拆解NP的关键。

虽然CISCO讳莫如深地隐藏了很多细节,但我们还是可以通过各种公开途径得到其NP的内部实现。以最新的LightSpeed(单芯片400G)为例,它的对外接口有第三代PCIe标准的控制通道,通往前面板的400G Serdes,通往后面板的400G Fabric,以及DRAM和TCAM接口。

内部布局大致如下图:

内部逻辑结构如下:

其中,Process Array就是所谓的PP,它由672个并行的包处理器构成。

我们最初在交换机专题中介绍过的,1G以太网接口上,每秒钟最多会收到1488095个数据包,如果NP需要处理400G的线速以太网数据包转发,那么它每秒钟应当处理595238095个数据包,平均到672个包处理器,就是每秒885770个。每个包处理器需要在1128ns内处理完毕一个数据包。

由于芯片面积的限制,每个包处理器有着高度流水,高度精简的结构。

Pipeline可以类比为CPU中的ALU,它可以执行微码指令,对数据包提取特定字段,并进行查表、替换等操作。L0D指的是0级数据缓存。是现金符号,英文中cash与cache谐音。后面的L1D,L2D等与此类似。

实际上,每个core有4个pipeline,在整个NP中有2688个pipeline。

PP的Pipeline,会完成以下动作:

  1. 提取报文中特定字段;
  2. 根据该字段的值,在TCAM存储的对应表项中查询;
  3. 根据查询结果,对特定字段做修改,或增加/剥离头部;

以我们非常熟悉的VXLAN Bridging转发为例:

1. 提取IP头部,比对TCAM,发现是指向VXLAN VSI接口,进入VXLAN处理流程;

2. 提取UDP目的端口号,发现是4789,继续VXLAN处理流程;

3. 提取VXLAN VNI,在TCAM中查询VXLAN AC接口表项,得到对应的VLAN,并剥离50字节VXLAN头部;

4. 将VLAN TAG加入新的二层头并发送;

每16个包处理器核心构成一个集群(Cluster),共用一个TLU、L1D$。在TLU中可以接收TCAM查询请求,转化为TCAM查询指令,并接收TCAM查询结果。

整个NP中,共有42个这样的Cluster,它们公用L2 Cache并通过内部Interconnect单元互通:

当然,Interconnect还可以连接NP核心以外的其他组件,如外部DRAM控制器、片上缓存、硬件加速器等。

硬件加速器是帮助每个包处理核心在1ms时间里处理完毕一个数据包的业务转发、隧道封装等业务的关键。

它可以实现这些功能:

  1. 基于前缀的查找,在IPv6的128位前缀查找中很有用。
  2. 计数器与速率监测;
  3. TCAM加速引擎,可以对表项进行Hash运算,配合TCAM进一步提升表项读写效率;
  4. 数据包重排序引擎,对于一条流在多个包处理器上进行处理的情况,可以进行重排序,避免数据包处理不同步造成的乱序现象。

让我们看一张NP芯片的实物图:

右边的Logic是NP的逻辑处理部分,左边的大个头封装是片上缓存。

在Broadcom Jericho2的设计中,也采用了这样的设计。

对线卡NP的拆解就告一段落了,明天我们来分析数据包转发平面的处理流程。

今天的一个问题:

多个包处理流水线同时处理数据包,有可能造成数据包乱序,数据包乱序的后果是什么?

昨天遗留问题答案:

NP中的Crossbar,在交换芯片中是否存在?它与Gearbox PHY芯片能否相互替代?

NP中,Serdes和MAC核之间的Crossbar,在Broadcom StrataXGS核StrataDNX芯片中都存在,可以让交换芯片把多个低速率Serdes连接到一个工作在高速率的MAC核。但crossbar无法代替Gearbox芯片,将多个低速率Serdes转换为高速率Serdes发送。

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

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

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

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

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