核心交换机有很多值得学习的地方,这里我们主要介绍核心交换机设计技术方向,交换机的设计体系对于交换机而言是最为基础和最为重要的,它极大地决定了核心交换机的处理能力和业务支持能力,目前,构成核心交换机设计体系的几种常用可行技术分别如下:
1、通用CPU
通用CPU的优点是功能易扩展,理论上可以实现任何网络功能,但缺点是性能低下,所以,在核心交换机的设计模型中通用CPU一般仅用于网络设备的控制和管理。
2、ASIC芯片
ASIC芯片可以使用硬件方式实现性能极高的多种常用网络功能,单颗芯片就可以实现几百兆PPS以上的处理能力。但ASIC芯片一旦开发完毕就很难继续扩展其他应用了,新功能的添加需要芯片研发公司花费较长开发周期。所以,ASIC芯片最适合应用于处理网络中的各种成熟传统功能。
3、FPGA现场可编程门阵列
FPGA是可以反复地编程、擦除、使用以及在外围电路不动的情况下用不同软件就可实现不同功能的一种门阵列芯片。但可惜的是,FPGA由于技术的限制,发展至今其处理能力还是非常有限的,造成了FPGA无法很好地同时处理多种协议。
4、NP(网络处理器)
NP保留了ASIC高性能处理数据的特性,同时,NP通过众多并行运转的微码处理器,能够通过微码编程进行复杂的多业务扩展。NP技术的不足是网络厂商使用NP进行产品设计时需要投入大量的相关开发人员,同时NP的性能和ASIC相比依然还存在一些差距。
无疑,通过对几种设计体系技术的分析可以看出,使用NP+ASIC的体系设计方式是最为完美的选择。NP接近ASIC的高效特性又保障了多业务提供的高性能,依然保持了核心交换机对于强大处理能力的需求;成为了目前核心交换机设计中最为重要的发展方向。
数据平面、控制平面和管理平面
完全分离
交换机的基本工作是处理不同接口上各种类型的数据,对于数据处理过程中各种具体的处理转发过程,例如L2/L3/ACL/QoS/组播/安全防护等各种网络功能的具体执行,都划分为交换机的数据平面;而控制平面用于控制各种网络协议的运行,例如控制OSPF、ARP、STP等协议的正常运行;至于管理平面的功能是提供给网络管理人员使用Telnet、Web、SSH、SNMP、RMON等方式管理设备的各种管理接口。为什么需要对数据平面、控制平面和管理平面进行相互的分离呢?
假设这几个平面不进行任何的分离,数据平面和控制、管理平面使用共用的主机资源,那结果显而易见的是,在大数据流量、复杂应用环境下数据平面由于承担着繁重的日常任务将可能消耗绝大部分资源,这对于整个核心交换机系统无疑是灾难性的,所以数据平面需要严格地与控制平面、管理平面进行分离。
通过采用数据平面、控制平面、管理平面相互分离的结构模型,保证了大量的数据处理不影响管理和控制,而在路由和环境复杂条件下,控制平面不影响管理平面,高度保证了系统安全稳定性。