现代核心交换机设计中的几个主要发展方向(上)
进入21世纪以后,交换机在应用技术方面的主要发展方向是万兆和IPV6这两个热门方向,那在交换机的设计技术方面又有哪些重要的发展方向呢?任何一项技术要成为发展方向必然应该与实际的需求相结合,应该与应用的发展想结合。现代网络的总体趋势是规模在不断扩张、应用在超过我们估计地迅猛发展,所以,业务支持能力和处理性能并重,而安全和稳定是网络的基本,因此现代核心交换机设计中的主要发展方向也与这些方向相结合着。
一、NP+ASIC的体系结构
交换机的体系结构对于交换机而言是最为基础和最为重要的,它极大地决定了交换机的处理能力和业务支持能力,目前,构成交换机体系结构的几种常用可行技术分别如下:
1、通用CPU
通用CPU的优点功能易扩展,理论上可以实现任何网络功能,但缺点是性能低下,所以,在交换机的体系结构设计中通用CPU一般仅用于网络设备的控制和管理。
2、ASIC芯片
ASIC芯片可以使用硬件方式实现性能极高的多种常用网络功能,单颗芯片就可以实现几百MPPS以上的处理能力。但ASIC芯片一旦开发完毕就很难继续扩展其它应用了,新功能的添加需要芯片研发公司花费较长开发周期。所以,ASIC芯片最合适应用于处理网络中的各种成熟传统功能。
3、FPGA现场可编程门阵列
FPGA是可以反复地编程、擦除、使用以及在外围电路不动的情况下用不同软件就可实现不同功能的一种门阵列芯片,可以在一定程度上灵活地扩展业务处理类型。但可惜的是,FPGA由于技术的限制,发展至今其处理能力还是非常有限的,造成了FPGA无法很好地同时处理多种协议,不能满意地胜任复杂业务扩展。所以,在交换机体系结构中FPGA一般仅应用于少量简单协议的扩展。
4、NP网络处理器
NP网络处理器内部由若干个微码处理器和若干硬件协处理器组成,近几年,NP技术得到了长足的发展,使得NP保留了ASIC高性能处理数据的特性,同时,NP通过众多并行运转的微码处理器,能够通过微码编程进行复杂的多业务扩展。NP技术的不足是网络厂商使用NP进行产品设计时需要投入大量的相关开发人员,同时NP的性能和ASIC相比依然还存在一些差距,所以NP网络处理器被应用于高端网络产品复杂的多业务扩展,但并不用于网络传统功能的实现。
核心交换机的处理性能是用户在选择核心交换机时最为关注的一点,同时用户的网络环境纷繁多样,总是在不断的发展和变化之中,如何应对未来的发展和变化?如何应对用户多种不同环境的挑战?这些都对核心交换机灵活支持各种不同的业务提出了挑战,业务按需叠加的能力成为了必然,同时,业务的叠加不应影响核心交换机最为重要的处理性能,也就是在核心交换机设计时还应该考虑到业务和性能并重的要求。
无疑,通过对几种体系设计技术的分析可以看出,使用NP+ASIC的体系设计方式是最为完美的选择。使用ASIC芯片高速处理各种传统的业务,如二层交换、三层路由、ACL、QOS以及组播处理等等,满足核心交换机对于交换机处理性能的需求,而利用NP实现各种非传统或未成熟的业务,根据需要灵活支持IPV6、Load Balancing、VPN、NAT、IDS、策略路由、MPLS、防火墙等多种业务功能,满足核心交换机对于业务按需叠加的需求,同时NP接近ASIC的高效特性又保障了多业务提供的高性能,依然保持了核心交换机对于强大处理能力的需求。
NP+ASIC的体系结构完美地满足了强大处理能力、业务按需叠加、业务和性能并重的现代核心交换机设计需求,成为了目前核心交换机设计中的最为重要的发展方向。
二、数据平面、控制平面、管理平面完全分离
交换机的基本工作是处理不同接口上各种类型的数据,对于数据处理过程中各种具体的处理转发过程,例如L2/L3/ACL/QOS/组播/安全防护等各种网络功能的具体执行,都划分为交换机的数据平面;而控制平面用于控制各种网络协议的运行,例如控制OSPF、ARP、STP等等协议的正常运行,控制平面提供了对网络环境的准确认识,提供了数据平面数据处理转发前所必须的各种网络信息和转发查询表项;至于管理平面的功能是提供给网络管理人员使用TELNET、WEB、SSH、SNMP、RMON等方式管理设备的各种管理接口,并支持、理解和执行管理人员对于网络设备各种网络功能的设置命令。
为什么需要对数据平面、控制平面和管理平面进行相互的分离呢?
假设这几个平面不进行任何的分离,数据平面和控制、管理平面使用共用的主机资源,那结果显而易见的是,在大数据流量、复杂应用环境下数据平面由于承担着繁重的日常任务将可能消耗绝大部分资源,这对于整个交换机系统无疑是灾难性的,因为在某些极端的情况下,控制平面将没有充分的资源来保障运行,这就意味网络设备失去了对设备所处网络环境的真实了解,网络设备将立即陷于非正常工作状态甚至瘫痪状态,而管理人员也没有资源使用管理平面对网络设备的运行进行干预,所以数据平面需要严格地与控制平面、管理平面进行分离。
管理平面所要求的系统资源是最低的,分离出一定的系统资源独立运行管理平面并不影响控制平面的运行,反而,是为了更好地保证控制平面的正常运行。因为,在网络环境频繁变动、网络协议剧烈动荡的情况下,控制平面所需要的资源将持续保持在一个极高的水平线,这其实说明了网络设备在该网络情况下是无法适应和正常运行的,管理平面的分离让系统管理员可以在控制平面出现异常状况的时候依然拥有足够资源顺利地打开设备的管理界面,通过改变或终止某个协议、端口的运行来阻止非正常网络环境对网络设备的剧烈影响,最终达到在线改变网络设备控制平面非正常运行的局面,因为控制平面的正常运行是至关重要的。
通过采用数据平面、控制平面、管理平面相互分离的结构模型,保证了大量的数据处理不影响管理和控制,而在路由和环境复杂条件下,控制平面不影响管理平面,高度保证了系统安全稳定性。