思科核心路由器CRS-1与SPP处理器的研究–FCC多机交换(5)

Sina WeiboBaiduLinkedInQQGoogle+RedditEvernote分享




通过上节的分析可以得知,如果FCC的一个S2卡单独充当一个交换平面,其相应的OIM卡的J0-J9分布被3个LCC的S13卡的A0-A2接入,CRS-1系统多机互联是无法连接多于(等于)4个LCC机器的。

那么,如何通过一个FCC的24个S2交换卡和相应的24个OIM卡来达到支持多于4个LCC互连?

CRS-1目前推出的一种方案是:多模块交换互联(MultiModule Fabric Connectivity)

× 通过把24个S2卡和24个OIM卡分组(Zone)的方式。

×24个S2(OIM)分为8个组。每组含有3个S2(OIM)卡。

×每个组相对应一个独立的交换平面。因此,系统支持8个交换平面。

×每个组能连接来自9个LCC的S13卡的A0-A3接口。

上述机制是如何实现的呢?请参阅下图的一个4LCC+1FCC的拓扑。

从上述图示,我们可以清楚的得出,24个OIM卡被组合为8个区域(Zone)。分别是:

(FCC 上排)OIM0-2,OIM3-5,OIM6-8,OIM9-11

(FCC 下排)OIM12-14,OIM15-17,OIM18-20,OIM21-23

每一组是一个交换平面,因此系统中是8个交换平面。

下面来看LCC的S13卡是如何接入的。

首先我们试图介绍两个概念:S13卡垂直接入 和S13卡水平接入。

S13卡垂直接入:这就是以前讲述的LCC多机互联的接入方式。S13卡的A0,A1和A2分别接入到一个S2/OIM卡的J0-J8中空闲的 接头上。在这种方式下,每个S2卡提供一个交换平面。

S13卡水平接入:这就是本节要阐述的LCC多机互联的接入方式。S13卡的A0,A1和A2分别接入到一个S2/OIM组的Jx上(0<= x <=8)。在这种方式下,3个S2卡提供一个交换平面。

对于S13卡垂直接入,不再在这里解释,通过对前面章节的阅读,应该是非常直观。

对于S13卡水平接入, 从上图所示,可以观察如下特征:

× LCC0的SM0的A0,A1和A2分别被水平的接入到了OIM11,OIM10和OIM9的J0接头上。

× LCC1的SM0的A0,A1和A2分别被水平的接入到了OIM11,OIM10和OIM9的J1接头上。

× LCC2的SM0的A0,A1和A2分别被水平的接入到了OIM11,OIM10和OIM9的J2接头上。

× LCC3的SM0的A0,A1和A2分别被水平的接入到了OIM11,OIM10和OIM9的J3接头上。

通过这样的连接拓扑,4个LCC的S13卡被有机的挂在了一个FCC的交换平面上。从而可以使得,通过这个交换平面,任何一个线卡的数据可以抵达系统中任何一个其他的线卡。

下面来看一下S13卡水平接入的巨大优点:

由于各个S13卡的A0-A2接口是水平接入到一个OIM组中的Jx上。这个x最大是8。

因此,一个OIM组,或者说一个交换平面最大可以同时接入9个LCC的S13卡。8个交换平面,因此能支持8×9=72个S13交换卡。换言之,这种每个交换平面有3个S2卡组成的拓扑结构,最大能够支持9个LCC互联。

这也是目前思科CSR-1系统的上限值–8个LCC通过1,2或4个FCC互联。

下面我们探讨思科CRS-1的72个LCC互联的一些理论值问题。

理论问题1:需要多少FCC才能提供其理论上的72个LCC互联?

上述问题的变种是,如何构造一个交换平面,从而,拥有8个交换平面的CRS-1多机系统能把72个16槽LCC互连?

首先,我们来看看CRS-1是否在理论上能支持72个LCC互联,需要多少FCC。

因为,一个LCC拥有8个S13卡。美国S13卡拥有3个光纤接口(A0-A2),

因此,一个LCC需要8×3=24个FCC的OIM接口。

因此,72个全负载LCC需要消耗72×24个OIM接口。

同理,一个全负载FCC拥有24个S2卡和24个OIM卡。每个OIM卡永远9个光纤接口。

因此,一个FCC可以贡献24×9个接口。

因此,为了支持72个LCC互联,所需要的FCC数量= (72个全负载LCC需要消耗72×24个OIM接口) /一个FCC的接口能力

= (72×24)/(24*9)=8。

因此,需要8个FCC,就可以把72个FCC互联起来。

理论问题2:在72个LCC互连的情况下,每个控制平面需要多少个FCC的S2(OIM)交换卡?

72台LCC机器,每个机器拥有8个S13卡。每个机器都必须通过一个S13卡接入到一个 交换平面。因此,一个交换平面需要支持72个S13卡的接入。每个S13卡是3个接口(A0-A2),因此,是72×3个接口。

因为,每个S2卡的OIM是9个接口。

因此,(72×3) /9 = 24。

因此,在CRS-1的理论最大负载的情况下,每个交换平面需要24个S2卡。

这其实也就是一个完整的FCC的最大S2卡装机量。

换言之,当CRS-1达到其理论最大72LCC互联时,需要8个FCC,并且,每个FCC需要满负载,并且作为一个交换平面 。

读者请注意,从以前的章节中,我们可以做出如下一个总结,

× 如果只为了支持1-3个LCC互联,一个S2卡出任一个交换平面就可以,通过S13卡水平接入方法;

× 如果只为了支持 1-9个LCC互联,需要3个S2卡出任一个交换平面,通过S13卡垂直接入方法。

× 如果只为了支持 72个LCC互联,需要24个S2卡(一个FCC整机)出任一个交换平面。目前不知道如何接入方法,这也是说为什么72机器互联是CRS-1的一个理论值。CRS-1目前只支持前两种规模的互联。

理论问题3: 为什么72是理论最大值?为什么不能通过够买更多的FCC,从而提供80个,88,或100个LCC互联?

我们首先通过反证法来阐述。 假设购买9个FCC,来看看是否能够支持多于73个的LCC互联。

因为每个LCC有而且只有8个S13卡。每个S13卡参加而且只参加一个交换平面,

所以,S13卡的最大离散分布是分别接入到8个FCC的S2(OIM)卡上。

现在我们先将前72个LCC通过上述方案接入。 我们得到如下:

第1-8个FCC的24个S2(OIM)卡的J0-J8接口都全部占满。72个LCC的S13卡也全部用光。

现在还剩下一个LCC和一个FCC。

如何连接?这第73个LCC无法接入到任何一个交换平面中,无法加入路由器系统。

(没有打分)

雁过留声

“思科核心路由器CRS-1与SPP处理器的研究–FCC多机交换(5)”有36个回复

  1. 陈怀临 于 2009-07-23 10:03 上午

    上集应该是写完了。我会整理成一个PDF文件。

  2. FTP 于 2009-07-23 4:18 下午

    期待PDF,这样看有些累,一章一章的点,呵呵

  3. 无名小猪 于 2009-07-26 4:58 下午

    下集会解释哪些内容,是否有配置相关的部分,期待中……

  4. 陈怀临 于 2009-07-26 7:39 下午

    分上,中,下:-)。中集将关注与线卡data或flow path了。换言之,SPP要出场了。下集将是软件体系结构了,QNX的微内核等会出来和相关Routing control, HA和control path。。。

  5. NYL 于 2009-07-27 1:28 上午

    支持首席,期待早日学习到!

  6. 无名小猪 于 2009-08-04 12:07 上午

    期待中……

  7. 沈金龙 于 2009-08-05 4:36 下午

    陈先生介绍了核心路由器的核心技术,可敬可颂,期盼中、下篇。

  8. ASR1K 于 2009-08-07 6:02 下午

    不知道老陈SPP能写多深了. 呵呵, 前段时间刚读完一大堆SPP QFP的文档和code.

  9. ASR1K 于 2009-08-07 6:05 下午

    多机箱补充一点吧, 在多机箱安装过程中, 需要将机箱调整成为”Install Mode”, 这种模式下MSC和背板交换网络是隔离的, 主要原因是为了防止后面的光互联线出现连接错误从而导致后续的转发可能出现整个系统的故障 . 因此就先挂到install mode下, 待后面的线接完验证完了以后, 再恢复到正常模式承载流量.

  10. 陈怀临 于 2009-08-07 9:22 下午

    我看还是你写吧。你能读SPP的code.我能吗?我可都是靠经验在猜。。。

  11. ASR1K 于 2009-08-08 1:31 上午

    首席还是很赞的, 大多都猜对了:)

  12. ASR1K 于 2009-08-08 1:41 上午

    其实嘛, 不管是SPP 还是QFP, 还是Ezchip. 它们都有一个统一的平台独立的功能层. 这就是大家看到的IOS XR很容易在SPP(CRS-1)或者ASR9K(Ezchip)上运行. 然后IOS XE其实是一个很矛盾的东西, 将原来的IOS作为进程在linux上运行还是挺难的, 要把原来的一套CEF的东西发给linux, linux转发给ESP上的另一套linux. FMAN将其转换成CPP的统一结构, 然后一个平台独立化的子层再下放到QFP.

    至于转发平面设计, 一般其实就那么些东西 , forwarding path, 然后NP上加载一系列feature处理的feature. 另外就是像路由协议, 控制平面的消息需要punt/injection机制来和RP通讯. 这些其实都是在转发报文头端加一些header来实现的,

  13. 无名小猪 于 2009-08-18 12:35 上午

    我比较喜欢陈首席的文章,因为我能看懂,我常对我的徒弟说,我讲的东西你如果听不懂,那不是你的错,因为我理解的不透彻,所以无法让你懂。我能看懂陈首席的文章,说明陈首席本身对该设备有非常深的了解。
    中、下集啥时候出啊?

  14. 2小猪 于 2009-08-18 12:42 上午

    to 小猪
    这是HW的口吻,你是hw的?呵呵

  15. 陈怀临 于 2009-08-18 5:30 上午

    小胖猪,谢谢。是的,我同意。能把一个东西通过简单易懂的方式描述出来,是一种能力:-)。

  16. ASR1K 于 2009-08-18 6:44 上午

    陈总, 要把一个体系结构简单易懂的描述出来很难的啊, 需要很高的造诣的. 反正我不行, 最怕做TOI, 特别是对完全没有基础的人讲.

    btw, 刚才看了一下, 为什么是72个讲的不清楚. 实际上来看是CRS-1单机箱有8个并列的转发平面. 而一个FCC实际上最多可以承载一个转发平面. 所以最大FCC应该是8.

  17. ASR1K 于 2009-08-18 6:46 上午

    但实际上这么多有必要么? 完全没必要, 一方面功耗非常大, 而且未来几年根本就没这么大的单点带宽需求. 而几年来LC的升级也会非常快, 因此, 到时候还是LC上的MSC之类的东西升级来提升容量, 而不是靠单纯的多机箱技术

    关于互联, 我记不清楚哪个ppt讲过了, 似乎cisco public的ppt有一个写过的, 好像是在某年的Networker大会上.

  18. Leif 于 2009-09-01 10:21 上午

    首席能否整个ALU的FP2详解?

    期待中。。。

  19. 黑猫 于 2009-11-05 7:28 上午

    理论问题4:多框能否平滑升级吗? 例如从4 LCC变成8LCC, 8LCC变成64 LCC.
    为什么目前思科CSR-1系统的上限值–8个LCC通过1,2或4个FCC互联,超过9个LCC还找不到接入方法?
    理论解答:CLOS网络要求一个平面内任意一个S1必须与任意一个S2发生连接。S1数目和S2数目之间有固定的比例关系。随着LCC增加S1就要增加,与同一个OIM相连的S2就需要不断增加;

    因此,这是一个业界的难题:OIM和S2之间的连接关系如何改变连接关系关系实现4框到64框的平滑升级?
    业界状况是:Juniper的4框升级16框时,要更换中心交换框(TX4换成TX16,二都外观区别很大)。
    思科3框升级成9框时,需要将OIM板更换成OIM盒子(3个OIM做成一个箱子,以便于实现S1和S2的全连接)。将来9框升级成36框时,陈首席还未想到有什么解决办法 我想到的办法是:12个OIM做成一个内部全交叉的箱子,但不知道这么大的箱子如何插拨:)
    华为NE5000E宣传解决了该问题,见:
    http://www.huawei.com/cn/publications/view.do?id=3396&cid=5815&pid=88
    网上文档介绍文档很少,下述专利有公开,陈首席有空研究下,由此可以窥见NE5000E。
    http://search.sipo.gov.cn/sipo/zljs/hyjs-yx-new.jsp?recid=CN200710128960.6&leixin=fmzl&title=交换框、集群路由器&ipc=H04L12/04(2006.01)I

  20. 陈怀临 于 2009-11-05 3:29 下午

    黑猫,谢谢你。看的出来,你是一个有深厚技术背景的同学。请多来指点和写文章。我会看您提供的文献。

  21. 阿来 于 2009-11-06 5:04 上午

    理论问题4:多框能否平滑升级吗? 例如从4 LCC变成8LCC, 8LCC变成64 LCC.
    为什么目前思科CSR-1系统的上限值–8个LCC通过1,2或4个FCC互联,超过9个LCC还找不到接入方法?
    ————————–
    NE5000E的这个功能确实是H多框的一个特色,尽管实现的过程非常痛苦,但是经过了充分的测试,这个功能现在已经非常稳定了。无论是从单框到背靠背,再到一拖四,再到二拖八,当中涉及了多个层面的相互切换配合。之所以能做到,其实也是和NE5000E的一些特殊的设计有关的,但是请不要怀疑这个功能。

  22. 阿孔 于 2009-12-15 5:40 上午

    现在正在做,电信2+2升2+4的项目,陈老师写的东西很不错,很值得学习。

  23. 陈怀临 于 2009-12-15 6:47 上午

    是,我写的东西比较适合草根阶层。。。有帮助就好。

    那天,一句“这两个公司对思科的了解比我多很多。。。”折腾了我几天的思考。。。

    是,一定比我多。但最大的区别是:我敢share;我没有商业目的;他们的东西再多,也不拿出来给别人看,是商业的东西。商业的根本目的就是钱和资本,剩余价值。
    而且一个小鱼刺,就turn off了自己的善念。非常可惜。ego害死人。

    容颜淼淼,仍是梁园之貌;
    琵琶菲菲,终非天籁之音。

  24. hs 于 2009-12-15 7:13 上午

    网站里肯定有各种各样的评论了,不要太介意了。希望保持善念。

  25. ping 于 2010-01-11 8:00 上午

    看几遍了都还没看懂后面的。唉, 羞愧啊。。

  26. 陈怀临 于 2010-01-11 9:12 上午

    不是,这就说明我写的有问题。人家当年明月把明史写的多通俗YET不失学术价值,那才是真工夫呀。
    我还要努力。。。

  27. Neil 于 2010-03-09 8:40 上午

    首席,中篇出来了么?期盼ing

  28. OLDSTONE 于 2010-07-25 4:56 下午

    我个人感觉三个厂商的所谓你行你不行,2+9是否可以,等等诸如此类的问题,都应该回家好好把稳定性做好了再回来说这些事情。
    首先这个是否能2+9根本不是需要纠结的事情,你注意芯片研发的速度就能知道这个是个工业能力。其次新的CRS3平台直接提速上去,是不是9已经不重要了。
    这里面二个事情很重要,系统软件是真正的技术能力,其次如何实现第功耗,我认为ASR1K说的很对,就好像我要个超级计算机,占地一层楼有意义么?
    从我用思科、华为、JUNIPER的三家的所谓顶级多机设备,没感觉三家有多好的稳定性和扩展性。唯二的亮点是思科的推的早,软件趋于稳定;其次华为跟的快,基本硬件平台能力追到一个层面。至于J不知道是否内耗了,很好的软件体系,怎么硬件研发慢了二年,到今年才基本追上前二位。
    多机互联其实就是所谓光纤交换机和传统路由器的级联。这种多交换层面实现高速多机光交换的集群技术不仅仅用在大型路由器多机设备上,在大型IDC中实现交换机集群完成上万的终端接入也是很普及的。其核心思想来自传统光交换网络。
    很佩服搏主细腻的严谨精神,值得学习。

  29. ABC 于 2010-08-01 9:46 下午

    对于这种东西到底有多大的实用价值真的挺难估计的。

  30. achjz 于 2010-11-20 6:27 下午

    学习中,但control plane的连接法好像没有讲,不知是怎么样的连接?

  31. 陈怀临 于 2010-11-20 9:17 下午

    按道理说,我今年应该完成Data Path和Control Path的写作的。目前这些完成的其实(只)是Switch的部分。但今年我动荡比较大,就一拖再拖。。。。。。希望明年不要再动荡。Who knows。。。李总开复说的好:Follow your heart。 Be the one you want to be….

    人生苦短,切莫欺骗自己的内心。。。。。。

  32. asr1k 于 2010-11-20 11:17 下午

    哈哈, 搬个板凳看首席//

  33. 陈怀临 于 2010-11-21 8:16 上午

    你对QFP和ASR系列非常熟悉。也应该想想下一步了。小则可以在允许的范围内多写点文章,例如你可以去分析J的M系列啊:)。大可以起义投诚,回归我大宋呀,封你当个上校当当,配一个(迷人的)共军女秘书。。。或者自己整个咨询公司。。。总之,人生苦短。还是别在辽营呆太久了。。。你就不能给个E来聊聊???J Chambers的架子也没这么大。。。

  34. 张森扩 于 2011-07-02 12:01 下午

    看完了您的这篇文章,让我从一个只知道CRS-1是一个路由器,到现在对CRS-1的结构有了初步的了解,非常感谢,请问在哪可以下到PDF的资料和您的中下集。

  35. 陈怀临 于 2011-07-03 6:38 上午

    http://www.tektalk.org/?p=4757

    中下还没有写:-)

  36. jackie 于 2011-07-04 11:33 下午

    首席能否整个ALU的FP2详解?

    期待中。。。
    =========================
    ALU的FP3已经腾空出世了。