思科核心路由器CRS-1与SPP处理器的研究–物理交换卡(1)

Sina WeiboBaiduLinkedInQQGoogle+RedditEvernote分享




CRS-1交换矩阵(Switch Fabric),交换平面(Switch Plane),交换卡(Switch Fabric Card)之间的关系是一个从属关系。前面两个是逻辑实体。交换卡属于物理实体(实现)。

交换矩阵通过多个交换平面所组成。每个交换平面通过物理交换卡来实现。对于不同的CRS-1的LCC路由器,具体的数据关系如下:

16槽LCC:

交换矩阵::==8个交换平面

1个交换平面::==1个物理交换卡

【笔者注:16槽LCC配置8个交换卡槽。一个交换卡提供一个交换平面】

8槽LCC:

交换矩阵::==8个交换平面

1个物理交换卡::=2个交换平面

【笔者注:8槽LCC可配置4个交换卡槽。换言之,一个交换卡提供两个交换平面】

4槽LCC:

交换矩阵::==4个交换平面

1个物理交换卡::=1个交换平面

【笔者注:4槽LCC可配置4个交换卡槽。一个交换卡提供一个交换平面】

从上述数据读者可以得知。一个逻辑上的交换平面是通过一个(16LCC和4LCC)或者半个物理交换卡(8LCC)来实现的。

对于不同的LCC上的物理交换卡,其名称分别为:

16LCC:S123卡

8LCC: HS123卡

4LCC:QS123卡

CRS-1的交换不是一个全Cross-bar的结构,而是一个3级(Stage)Benes Network交换结构。关于Benes Network或者其更一般的交换结构拓扑Clos Network。简单而言,Close Network是一个通过3个参数(r,n,m)定义的一个3级交换拓扑,其3级结构分别为:输入(Ingress Stage),中间(Middle Stage)和输出(Engress Stage)。下图所示为一个通用的Cros网络拓扑模型:

其中,r是输入(Ingress Stage)部件的个数。n是每个输入部件的输入接口数目。m是每个输入部件的输出接口数目。在理解Cros拓扑结构时,读者要抓住一个非常重要的概念:对于整个拓扑结构中的每个子部件,其是一个Cross-bar。例如,对输入而已,是有r个n×m个Crossbar。因为是r个输入部件,输出是m个,因此,中间阶段一定是m个部件。为了形成cross-bar,很自然是r个输入,r个输出(除非做加速)。这也就是为什么中间阶段是m个r×r个Cross-bar。在最后的输出阶段(Engress Stage),系统是一个逆转过程,通过r个m×n的cross-bar完成系统最后的交换过程。

关于Cros(Benes)拓扑的算法细节和量化分析,读者可以参阅相关文献。总而言之,Cros网络最大的优点是:相对一个没有中间交换过程的Cross-bar结构,对于要实现一个n×n的全交换,Cros网络所需要的连接节点数目要小的多。

Benes交换拓扑是Cros交换拓扑的一个特例,m=n=2。也就是说,在Benes交换拓扑中,每个Ingress和Engress子部件都是一个 2×2的Cross-bar。读者要注意的是中间交换阶段(Middle Stage)是2个r×r的Crossbar。如果r是4,那就是2个4×4的crossbar。如果是16,那就是2个16×16的crossbar。下图所示为一个8×8的Benes交换拓扑。

读者请注意,笔者说的2个4×4 的Crossbar是Cros拓扑的概念。在上述图中,就是中间3个Stage,共12个2×2的Crossbar。上半部分的两行(6个2×2的crossbar)组成了一个4×4的Crossbar。下面两行(6个2×2的crossbar)组成了另外一个4×4的Crossbar。

CRS-1的物理交换卡就是基于上述结构,而通过物理卡上的多个ASIC芯片而实现的。

(1个打分, 平均:5.00 / 5)

雁过留声

“思科核心路由器CRS-1与SPP处理器的研究–物理交换卡(1)”有20个回复

  1. BNN忠实fans 于 2009-05-18 11:25 下午

    什么时候才能达到看得明白这些东西的境界?

  2. 陈怀临 于 2009-05-19 8:20 下午

    谢谢。其实过奖了。我是比较有耐心。这个很matters。通常,从一个公司的公开资料,有许多东西理解非常费劲(公司会有意识或无意识的写的很模糊)。但如果静下心来,尽量收集文献,加以理解,分析。许多东西就比较清晰了。

    另外,我在分析工业界产品时,有一个浅薄的小心得:
    把自己放在设计者的角度去考虑问题。当一个问题不知道其内幕时,你就想像一下:如果你是当初的设计者,你的选项是什么。。。。。。几个问题空间一杀(narrow down),基本上许多事情就浮上水面了。

    得其意,忘其形。方为高手上乘之境界。

    希望读者要把握好这点。

  3. 王西安 于 2009-10-25 9:59 下午

    提供交换矩阵芯片的公司已经越来越少了,除了juniper、cisco等公司自己有之外,我了解也就是DUNE,BROADCOM了,据说HW在NE系列中用了DUNE的芯片,而ZTE在与BROADCOM谈。但都是基于CLOS架构的芯片,HW有自己的芯片吗?

  4. 路由小弟 于 2010-01-15 6:27 下午

    “另外,我在分析工业界产品时,有一个浅薄的小心得:
    把自己放在设计者的角度去考虑问题。”

    强烈赞同这个观点,应该从设计者的角度去考虑问题。比如,CISCO在正式推出一个新的产品之前,总会去做出一些试探。如WS-C3750G-16TD的万兆上联到3750E全系列的万兆上联;从ISR 3800的硬件模块化设计(虽然3800不作为模块化设备进行宣传)到ISR G2 3900的模块化机箱;还有就是一个技术不可能在几乎没有什么缺陷或不足的时候出场,举个例子,WS-C3750G-24TS-S(1.5RU高)和改进型WS-C3750G-24TS-S1U(1RU高),而后来推出的WS-C3750G-48TS-S提供更高的端口密度也仅是1RU高。以上的说明举例设备等级确实低端。。。但也应当能够体现以设计者的角度去理解产品使用的技术和设计。

  5. 陈怀临 于 2010-01-15 6:38 下午

    谢谢你注意到我这个观点和心得。愚兄窃以为这一点veli veli的重要。

    有时候,我不明白一个问题的时候,而又没有资料,我会闭上眼睛,想:如果我是这个问题的设计者而且不脑残,我会如何做。。。

    然后朝着这个方面去求解。

    其实,fix 最高境界的bug也是这样的。

    我个人认为,其实是同行认为,我是修bug的世界级高手。其实我的法宝就是:不要去看bug本身,先想想发生了什么,如何发生的。看见的是否是表象。。。。。。

  6. 路由小弟 于 2010-01-15 6:51 下午

    好迅速的回复速度。。。
    小弟对网络产品硬件结构由衷热爱,并且是cisco的fans,弯曲评论是我一个哥们推荐我来看的。。。
    看到CRS-1的讲解大作,内牛满面。。。
    继续学习中。。。

  7. 陈怀临 于 2010-01-15 7:52 下午

    谢谢,我是全职工作在弯曲评论:-)。弯曲评论最近有点乱,各路爱国将士在这里义愤填膺。过一阵就好了。其实日子还是要过的。多讨论,互相学习点技术比嘛都强。

    小时候老人说,不管改朝换代,到要有一技之长的人。政客们可不一样。一旦站错队,扭回来基本上就不可能的了。

  8. IWF 于 2010-01-15 9:00 下午

    首席, 思科SPP处理器与核心路由器CRS-1 1-14有没有一个汇总文档下载的链接呀 ?

    谢谢!

  9. 陈怀临 于 2010-01-15 9:12 下午

    请参阅:

    陈首席地盘:

    专题评论里第一个PDF下载。

  10. 陈怀临 于 2010-06-13 9:16 下午

    今天因为不能说的原因,想研究一下switching的某个东东。要看clos拓扑。结果自己上来看不懂自己以前的东西了。。。老糊涂了。

    我问一个对switching比较熟悉的问题。Fat Tree在Lan Switch的线卡上用的多嘛?还是说其实就是N个switch芯片,例如brcm,fuclcom等的,一路flat的展开。例如48个10G。其实就是2个24个10G的switch芯片,然后再mutiplex到一个switch fabric上,接入到midplane或者backplane?

    换言之,我的问题是:对于nexus 7000这样的data center switch,线卡芯片拓扑是个啥?

  11. 黄岩 于 2010-06-14 3:38 下午

    我理解,只有当交换容量要求特别大的时候,才需要用很多芯片堆叠很多级,才能满足要求。交换容量要求的小的时候,是不需要这么麻烦的。

    当然,这也跟单芯片的交换能力相关。例如:本文中给出的示意图中,单芯片的交换能力只有4跟线,那么要用这样的芯片,完成大规模的交换,势必要用很多片子堆起来。

    目前,单芯片交换大约能够连接100个双向差分线,每对线数据速率3.125G或6.25G,也就是说,单芯片交换能力大约300G到600G之间。如果你要搭建的系统很大,比如2T-3T,那么就需要考虑用很多片子来堆。

    首席说的“路flat的展开。例如48个10G。其实就是2个24个10G的switch芯片”,是三级交换网络。感觉clos、fat tree等如此复杂的玩法,用的不多,除非你要构造系统特别大。

  12. os9600 于 2010-06-22 7:23 上午

    48 Port 10G线卡?只有华为的交换机才有,哪位高人知道华为是如何实现的?
    思科N7K是32 Port 10G线卡。

  13. coolguy 于 2010-06-26 12:06 上午

    Arista 48口的线速的10G卡已经出来了, 倒没听说华为的有

  14. Andy 于 2010-06-26 12:11 上午

    48x10G的交换线卡还是比较容易做的,都有商业芯片可以实现了.例如Marvell的Lion支持48x10G接口.

  15. droplet 于 2010-06-26 4:50 上午

    48x10G单片,这个太厉害了。不过switch相对router要简单一点,不需要太复杂的chip。

  16. smoke 于 2010-06-26 6:44 上午

    其实路由器最麻烦的还是在软件系统上,数据平面上到现在的物理极限没啥障碍,但软件系统的复杂度、可靠性实在是个大问题。

  17. 陈怀临 于 2010-07-02 8:09 上午

    同意。在forwarding和dynamic routing方面,我倾向于还是routing比较复杂一些。比较packet要往control plane走一趟。事儿太多:-)

  18. SRX 于 2010-07-02 8:21 上午

    —————————————
    小时候老人说,不管改朝换代,到要有一技之长的人。政客们可不一样。一旦站错队,扭回来基本上就不可能的了。
    —————————————
    顶首席这句 现在能够这么想的人太少了 这就是所谓的境界吧。
    其实做一辈子 engineer 玩一辈子技术是很快乐的事, 可惜现在 国内的氛围就是 干到五年左右的研发不转型 不做些所谓的管理就觉得没前途。。。
    可能真的是我们的社会病了。。。

  19. 风清扬 于 2010-07-02 10:32 上午

    据说负责设计QFP芯片的will最近去juniper了

  20. kkblue 于 2010-07-08 8:28 下午

    to 风大侠
    你的八卦是正确的