专家告诉你什么是三层交换机,现在家家户户都有了自己的电脑,了解什么是三层交换机,那时第三层交换是基于软件的,转发速度很慢,后来才发展到以硬件来实现三层交换。
在92年,就已经有三层交换机诞生,那么到底什么是三层交换机呢?在早期,人们想把二层交换和三层路由功能结合在一台设备上,以减少设备数量。那时第三层交换是基于软件的,转发速度很慢,后来才发展到以硬件来实现三层交换。
从今天来看,三层交换机实质就是一种特殊的路由器,是一种在性能上侧重于交换(二层和三层),有很强交换能力而价格低廉的路由器。它以ASIC实现IP包的三层交换,其交换能力都在MPPS以上,而传统的路由器一般不超过10万包/秒(这里指的是单块板的转发能力,不是指采用分布式转发情况多块板的总的转发能力,也不包括现在采用昂贵的网络处理器构成的GSR等,此外现在有更高速CPU推出,但也很难超过1MPPS3)。
网络处理器价格高昂在于它除了三层交换部分本身比较复杂外,它还有很强的QOS,POLICY等功能。以IBM的Rainer处理器为例:它的硬件可管理上千个流,软件配置不同流的带宽,内嵌PowerPC处理器;拥有大量的协处理器和硬件加速器,可以并行地处理数据。
而三层交换机的转发部分为了降低成本,根本不可能线速支持上千个流并有能力进行带宽分配。原来有人有一种观点,那就是用最长匹配实现大路由表查找的CAM很贵,换句话说用硬件来实现大路由表的最长匹配搜索成本很高,从调查资料来看,这种观点看来并不一定对。
路由表的搜索采用CAM实现成本也并不高。以KawasakiLSI公司的支持最长匹配搜索的的CAM芯片KE5BLME064为例,它支持64K的路由前缀项,每个ENTRY40bit宽,包搜索速度可达6.7Mpps,时延为数百个纳秒,而价格不到60美元6。
当然减少支持的路由表项无疑能降低成本,而且就三层交换机通常的应用环境来看不需要太多的路由表项,因此一般三层交换机支持的路由表项比GSR要少,例如CISCO4000系列只支持到16K--32K路由表项,北电的ACCLER1000支持32K。
不过CISCO应用在6500系列上的SUPERENGINES2已经支持到128K,已经可以和骨干网路由器的表项相当了。CISCO设计的转发引擎上支持的路由表越来越大和CISCO考虑到三层交换机往城域网和骨干网上应用有关。
总的来看,网络处理器之所以贵,应该还是贵在它的灵活性上,贵在支持QOS,POLICY,以及多种协议,尤其是有些协议还没有完全形成标准,网络处理器可能只需修改软件就可以支持(多数三层交换机就有困难,这也导致有很多厂家早期三层交换机与现在的协议不兼容),网络处理器要对包内容进行更多的识别,更复杂的调度,为了达到线速处理。
里面常集合多个微引擎,支持多线程处理。这些也许才是导致网络处理器价格急剧上升的主要原因。相比起来三层交换机在这方面能力就很弱,例如CISCO6000系列只支持16个QOS队列,4000只支持一个,5500支持两个,而Extreme的三层引擎只支持4个队列。
因为是采用硬件实现三层交换,所以交换速度能做到很高,但要想同时支持大量三层协议,如IP, IPX,AppleTalk, DECnet等等,这些协议的封包格式不一样,用软件实现起来容易,用硬件实现却非常困难,用硬件实现转发的协议太多,只会带来成本的急剧上升。
什么是三层交换机上一般只考虑支持较为常用的IP,IPX协议,IP多播。也有的三层交换机支持其它的,但那是用软件实现的,转发速率较低,例如CISCO的CATALYST6000系列就在MSFC上用软件实现AppleTalk等,转发速率在10万-20万包/秒4。
什么是三层交换机现在主要提供以太网接口。以太网技术简单,价格低廉,在企业网里应用最为普遍,三层交换机采用以太网接口,能为企业网提供廉价而高速交换的设备,替代价格高昂而性能却上不去的的路由器。
三层交换机的ASIC同时提供IP的二层和三层交换,把原来二层以太网交换机和路由器的功能熔为一体,极大的降低了用户的成本。随着宽带业务的兴起,三层交换机的应用范围不断拓展,尤其是GE和10G以太网技术的迅速发展,导致三层交换机从企业网已经逐步走向了城域网,而应用范围的拓展也促进了其设计的革新。
例如原来在三层交换机广泛采用的是CACHE技术,在三层交换机往城域网和骨干网上应用时,业务流无规则性越来越强,网络拓扑变更也有增加,因为视频语言业务的增加,QOS等也有需求,采用这种技术的弊病越来越明显;
什么是三层交换机在向城域网和骨干网上发展时要求三层交换机需要支持的协议也越来越多,如有的厂家三层交换机已经支持OSPF,BGP,MPLS等协议,有的甚至采用可编程ASIC,支持IPV6。
三层交换机上支持的接口种类也越来越多,有的已经支持广域网口,例如CISCO6000系列就提供广域网模块flexWAN,可提供各种广域网接口。如ATM,POS,幀中继,PPP等。但这部分也是和传统路由器一样,用软件来处理的,flexWAN上有两个263M的RM7000处理器来处理这些广域网接口协议,接口速度上不去,目前只支持到OC-3ATM或OC-3POS。
这些广域网接口的适配器和CISCO7200/7500系列兼容;但可以肯定,如果你想在三层交换机上选用广域网接口,那和普通路由器上的广域网接口价格应该差不多,因为在接口上采用的技术是一样的。但这样一来,三层交换机导致了一向引以提供广域网接口而作为卖点的诸如CISCO7000这类路由器就鲜有出路,有评论说这类路由器正在走向终结。
三层交换机一般不支持广域网口还有一个原因就是因为不同的广域网口,其MTU可能不一样,这样如果要达到线速转发的话,就必须在硬件上支持分片,这会导致设计很繁琐,目前的三层交换机都不支持分片,而交换机上全部采用以太网接口就不存在这一问题。
但这些厂家只是为了增强三层交换机的卖点而提供的多种广域网接口和协议模块,不能从硬件上就提供二层高速转发,而纯利用三层交换机的三层交换交换功能,不能充分发挥三层交换机的功能。
增加广域网接口有个好处就是如果三层交换机需要和广域网相连上internet的话,就比较灵活,不一定在出口处非加一级路由器,而目前很多厂家三层交换机对广域网口不支持,结果在组网时上连internet都要增加一个路由器,当然这里不完全是因为接口的原因,还有这些三层交换机支持协议有限,例如不支持BGP协议,支持的路由表项不足,防火墙功能不完善有关系。
三层交换机根据应用场合分多种档次,性能和价格都不一样,不能一概而论。在城域网甚至骨干网上应用的三层交换机,要求在三层交换机上增加的功能也多,性能的提高伴随着设计复杂度的增大,必然带来价格的上升,特别高端的三层交换机实际就和GSR没有区别了。
应该说,如果达到这个档次的三层交换机实际已经不能叫三层交换机,就象JUNIPER的高端路由器一样,它的主要部件都是以ASIC设计的,我们称之为三层交换机也不是不可以,但它的ASIC实现的功能太复杂,太强大,价格很高昂,还是称之为高端路由器更合适。
通常的什么是三层交换机之所以被称为交换机就是因为它的功能有限,主要以面向交换为目的,所以才称之为交换机。它的设计主要以面向企业网和城域网而设计的,在这个层面上需求的数量达,对这个层面上的用户而言,在达到满足主要性能的前提下,成本是最重要的考虑因素,它以够用为准则,不强调在三层交换机上实现过多的协议。
提供过多根本用不上的功能5。例如,在三层交换机上实现很强大的QOS,支持BGP协议等,这些在绝大多数用户那儿实际并没有用处。在目前国内建设城域网时,它实际也不一定要考虑太多QOS,目前主要还是上NTERNET。这实际也符合中国的国情,就拿视频点播来说,在中国租一张碟片只需一两块钱甚至几角钱,VCD机在城市用户几乎普及,有多少人愿意去点播呢?
理解三层交换机的应用范围和要达到低成本的要求,就能理解为什么三层交换机在Cos, POLICY等方面功能较弱,主要提供以太网口,支持有限服务,有限协议,有限路由功能。三层交换机主要提供以太网接口,各种速率的以太网接口其帧格式都相似。
很容易用硬件实现二层的高速转发,一般其二层转发功能远远超过三层功能,很多三层交换机二层转发能力都在100MPPS,而三层转发能力只有几个MPPS。GE和10GE以其低廉的价格,为三层交换机在广域网上的应用提供了很好的条件。什么是三层交换机在交换网上采用的技术和路由器都一样,没有什么差别。例如CISCO6500系列就采用CROSSBAR技术。