演进
1、总线型交换架构
最开始的以太网交换就是构建在共享总线的基础之上的。共享总线结构所能提供的交换容量有限,一方面是因为共享总线不可避免内部冲突;另一方面共享总线的负载效应使得高速总线的设计难度相对比较大。随着用户对“独享带宽”的渴求,这种共享总线的结构很快发展为共享内存结构。
共享内存结构的交换机使用大量的高速RAM来存储输入数据,同时依赖中心交换引擎来提供全端口的高性能连接,由核心引擎检查每个输入包以决定路由。这类交换机设计上比较容易实现,但在交换容量扩展到一定程度时内存操作会产生延迟,另外在这种设计中由于总线互连的问题增加冗余交换引擎相对比较复杂,所以这种交换机如果提供双引擎的话要做到非常稳定相对比较困难。所以我们可以看到早期在市场上推出的网络核心交换机往往都是单引擎,尤其是随着交换机端口的增加,由于需要内存容量更大,速度也更快,中央内存的价格变得很高。交换引擎会成为性能实现的瓶颈。
2、CrossBar+共享内存架构
随着网络核心交换机的交换容量从几十个Gbps发展到今天的几百个Gbps,一种称之为CrossBar的交换模式逐渐成为网络核心交换机的首选。CrossBar(即CrossPoint)被称为交叉开关矩阵或纵横式交换矩阵。它能很好的弥补共享内存模式的一些不足。
首先,CrossBar实现相对简单。共享交换架构中的线路卡到交换结构的物理连接简化为点到点连接,实现起来更加方便,从而更加容易保证大容量交换机的稳定性;
其次,CrossBar内部无阻塞。一个CrossBar,只要同时闭合多个交叉节点(crosspoint),多个不同的端口就可以同时传输数据。从这个意义上,我们认为所有的CrossBar在内部是无阻塞的,因为它可以支持所有端口同时线速交换数据。另外,由于其简单的实现原理和无阻塞的交换结构使其可以运行在非常高的速率上。半导体厂商已经可以用传统CMOS技术制造出10Gbit/s以上速率的点对点串行收发芯片。
基本上2000年以后出现的网络核心交换机基本上都选择了CrossBar结构的ASIC芯片作为核心,但由于Crossbar芯片的成本等诸多因素,这时的核心交换设备几乎都选择了共享内存方式来设计业务板,从而降低整机的成本因此,“CrossBar+共享内存”成为比较普遍的核心交换架构。但这种结构下,依然会存在业务板总线和交换网板的Crossbar互连问题。由于业务板总线上的数据都是标准的以太网帧,而一般Crossbar都采用信元交换的模式来体现Crossbar的效率和性能。因此在业务板上采用的共享总线的结构在一定程度上影响Crossbar的效率,整机性能完全受限于交换网板Crossbar的性能。
3、分布式CrossBar架构
随着网络核心交换机的交换容量发展到了几百个Gbps、同时支持多个万兆接口并规模应用在城域网骨干和园区网核心的时候,分布式的Crossbar架构很好的解决了在新的应用环境下网络核心交换机所面临的高性能和灵活性的挑战。
也就是说,除了交换网板采用了Crossbar架构之外,在每个业务板上也采用了Crossbar+交换芯片的架构。在业务板上加交换芯片可以很好地解决了本地交换的问题,而在业务板交换芯片和交换网板之间的Crossbar芯片解决了把业务板的业务数据信元化从而提高了交换效率,并且使得业务板的数据类型和交换网板的信元成为两个平面,也就是说可以有非常丰富的业务板,比如可以把防火墙、IDS系统、路由器、内容交换、IPv6等等类型的业务整合到核心交换平台上,从而大大提高了网络核心交换机的业务扩充能力。同时这个Crossbar有相应的高速接口分别连接到两个主控板或者交换网板,从而大大提高了双主控主备切换的速度。
分布式Crossbar设计中,CPU也采用了分布式设计。设备主控板上的主CPU负责整机控制调度、路由表学习和下发;业务板从CPU主要负责本地查表、业务板状态维护工作。这就实现了分布式路由计算和分布式路由表查询,大大缓解主控板的压力,提高了交换机转发效率,这也是业务板本地转发能够提高效率的重要原因。这种分布式Crossbar、分布式交换的设计理念是核心网络设备设计的发展方向,保证了网络核心能支撑未来海量的数据交换和灵活的多业务支持的需求。
现状
交换机架构已经完成了从“共享总线”到“CrossBar+共享内存”再到“全分布式CrossBar”的演进过程,在未来的日子里必将继续发展。