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

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

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

昨天给大家拆解了ASR 9K的NP实现,那么,当数据包进入ASR99路由器的时候,它会经历一个什么样的生命旅程呢?

请看下图。

图中,入方向PHY可以处理MACSEC、Retimer等简单操作。在NP中查找二层/三层转发表项,执行ACL/QoS/PBR策略。

特别地,端口聚合和ECMP涉及到等价多出口,需要按优化过的Hash算法,将数据包尽量均匀地分担到多条流上。

数据包经过了线卡的Switch Fabric或背板Switch Fabric,就到达了出方向。出方向的FIA和入方向的FIA会配合完成VoQ的信用控制。

如图,FIA芯片在向Switch Fabric芯片发送数据之前,需要先进行请求。得到Switch Fabric仲裁批准后,上游FIA向下游FIA发送数据并消耗相应的信用值(credit)。在下游处理完毕后将返还Credit。

那么,FIA是通过什么样的策略进行负载分担的呢?

实际上,FIA是通过类似Round-Robin的方式进行负载分担的。

如图,在FIA连接多个Fabric ASIC的情况下,FIA会向所有的Fabric仲裁单元发起请求,并向最先响应的Fabric发送数据包。

FIA在发送数据包的时候,利用类似BCM的HiGig的方式,在包头插入metadata,其中就包括数据包的序号。在下游FIA中依据序号进行重新排序,以避免数据包并行处理造成的乱序。

而组播的发送方式则不然。

如上图所示,组播的负载分担是基于(S,G)组的,每个(S,G)组只会分流到一个Fabric ASIC上。这是为了保证每条组播流的完整性。(为什么?)由于组播的转发不涉及到一条流走多个Switch Fabric,也无需向交换网仲裁单元发送请求。

让我们再次回到第一个图:

我们看到,从同一个NP芯片进出的数据包,也需要绕行线卡的Switch Fabric和背板的Switch Fabric,回到NP处理完毕。这是为什么呢?

其实这个问题非常简单。

如果同一个NP进出的数据包,仅在NP内部处理,那么,就没有办法实现基于信用的VoQ流控机制,当NP上接口A、接口B同时对接口C打流,并造成接口C拥塞时,接口A/B发送到其他非拥塞接口的数据包,也会按一定比例被丢弃。

因此,无论是NP内部还是跨NP芯片的转发,都需要经过FIA和两级Switch Fabric处理。

当数据包到达出方向NP后,出方向NP进行出方向二层/三层查找、出方向ACL/PBR处理等。

对于三层转发,还需要在邻接表中查找到目的IP对应的二层地址并发送。由于Tomahawk和LightSpeed集成了TM,QoS等功能也在同一颗芯片内完成。

ASR9900的QoS功能非常强大。以一个3级H-QoS配置为例:

L0和L1为端口组和端口。从L2开始,配置流量整形策略;L3工作在三层子接口上(基于VLAN),可配置不同优先级的流量整形,丢弃策略为WRED。

L4可配置基于CBQ的带宽保障/带宽控制/WRED丢弃等策略。

明天,我们将详解ASR9900的分布式控制平面机制,而QoS的详解,我们将在后面的专题中分享。(其实是我还没有研究透彻)

今天的遗留问题:

既然ASR9900有N+1冗余的交换网板,而且同一线卡之间的NP也需要在交换网板上互通,为什么还要在线卡上设计Switch Fabric?

昨天遗留问题的答案:

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

答案:在TCP流中,如果数据包发生乱序,接收方先收到了后面的数据包,在设定的时间内没有收到前面的数据包的情况下,会触发快速重传(连续回复3个ACK),相应地,发送方拥塞窗口增加,降低发送速度,最终影响传输效率。

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

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

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

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

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