控制平面与转发平面
论坛 发表于:11年07月11日 14:18 [转载] 51CTO
4.3?控制平面与转发平面
对交换机来说,数据报文转发都是通过ASIC(Application Specific Integrated Circuit)芯片完成,而协议报文会上送到CPU处理,因此可以将其分为控制平面与转发平面两大部分。
控制平面主体是CPU,处理目的MAC/IP为设备自身地址和设备自身发给其他节点的报文,同时下发表项给转发ASIC芯片,安排数据报文的转发路径。控制平面在三层交换机中尤为重要,需要依靠其学习路由转发表项并下发到ASIC芯片进行基于IP的转发处理。而二层交换机中数据报文的转发路径都是靠MAC地址广播来直接学习,和控制平面CPU关系不大。
转发平面则是以ASIC芯片为核心,对过路报文进行查表转发处理,对交换机来说, ASIC转发芯片是其核心,一款交换机的能力多少和性能大小完全视其转发芯片而定。而控制平面CPU虽然也是不可或缺的部分,但不是本文介绍的重点,下文将以分析各类型交换机的转发处理为主。
4.4?Box与集中式转发
经常看到设备商们今天推出个“高性能”,明天推出个“无阻塞”,后天又搞“新一代”的网络交换产品,各种概念层出不穷,你方唱罢我登台,搞得大家跟着学都学不过来,总有一种是不是被忽悠了的感觉。其实很多时候真的是在被忽悠。
先说说Box盒式设备。盒式交换机从产生到现在,以转发芯片为核心的集中式转发结构就没有过大的变化。集中式转发盒子的所有接口间流量都是走转发芯片来传输,转发芯片就是盒子的心脏。
而这个心脏的叫法多种多样,神马Port ASIC、Switch Chip、Fabric ASIC、Unified Port Controller等等都是各个厂家自行其说罢了,关键就看各个物理接口的PHY(将0/1信号与数据互相转换用的器件)连接到哪里,哪里就是核心转发芯片。一般的中小型交换机设备厂商(H3C/中兴/锐捷/ Foundry/Force10等,Juniper目前的数据中心Switch不提也罢,下文会简单说说未来的QFabric)都会直接采购Broadcom和Marvell等芯片生产厂商的产品,只有Cisco和Alcatel等寥寥几家大厂商有能力自己生产转发芯片。但说实话,从转发能力来看这些自产的还真不见得能赶上公用的,人家专业啊。自产的最大好处其实在于方便搞些私有协议封包解包啥的,我的芯片我做主。
下面来说说集中式转发能力的计算,假设一个盒子喊自己的转发能力是x Gbps/y Mpps,x是依靠所有外部接口带宽总和算出来的,如48GE+2*10GE的盒子,转发能力就是单向68GE,双向136GE,一般x都会取双向的值;而y则是整机的包转发能力,y=x*1000/2/8/(64+20),1000是G到M的转换,2是双向,8是每字节8比特,64是报文最小载荷,20是IP头长。要注意下面的机框式转发就不是这么算的了。大部分盒子的包转发能力还是能够很接近这个理论值的,毕竟能选的转发芯片就那么多,设备厂商在这里自己搞不出太多猫腻来。唯一有可能用来混淆客户的就是用芯片转发能力替代设备接口转发能力作为x值来宣传,绝大部分交换机使用的芯片转发能力是大于所有接口带宽总和的。这时x与y都会比实际的要大一些,但是很明显,芯片再强,没有接口引出来也没用的。所以这里的防忽悠技巧就是数接口数自己加一下。
再说结构,决定一款盒式交换机的接口转发容量的是转发芯片,反之你看一款盒子的接口排布情况大概能反推出其使用的芯片能力。转发芯片的接口多种多样(如SGMII、XAUI、HIG、Senders等),但通常每个芯片只连接24个GE接口(8个口一个PHY,3个PHY为一组),因此遇到24GE口交换机,通常都是单芯片的,而48GE或更多就肯定是多芯片的了。而10GE接口的多少要看芯片的能力,个人了解Broadcom有支持24个10GE的转发新片,应该还有能力更强的。现在作者知道的10GE接口密度最高的盒子是Arista的7148SX和Juniper的QFX3500,都支持48个10GE接口,具体布局有待拆机检查。
多芯片交换机还是很考验设备厂商架构设计人员的,既要保证芯片间足够带宽互联无阻塞,又要考虑出接口不能浪费,需拿捏好平衡。所以现在的多芯片盒式交换机设备大多是2-3个转发芯片的,再多的就极少了,芯片间互联设计起来太麻烦了。举两个例子,大家可以看看下面这两种结构有没有问题。