什么是三层交换机


一、什么是三层交换机
在92年 , 就已经有三层交换机诞生 , 那么到底什么是三层交换机呢?在早期 , 人们想把二层交换和三层路由功能结合在一台设备上 , 以减少 设备数量 。那时第三层交换是基于软件的 , 转发速度很慢 , 后来才发展到以硬件来实现三层交换 。从今天来看 , 三层交换机实质就是一种非凡的路由器 , 是一种在性能上侧重于交换(二层和三层) , 有很强交换能力而价格低廉的路由器 。它以ASIC实现IP包的三层交换 , 其交换能力都在MPPS以上 , 而传统的路由器一般不超过10万包/秒(这里指的是单块板的转发能力 , 不是指采用分布式转发情况多块板的总的转发能力 , 也不包括现在采用昂贵的网络处理器构成的GSR等 , 此外现在有更高速CPU推出 , 但也很难超过1MPPS 【3】) 。网络处理器价格高昂在于它除了三层交换部分本身比较复杂外 , 它还有很强的QOS , POLICY等功能 。以IBM的Rainer处理器为例:它的 硬件可治理上千个流 , 软件配置不同流的带宽 , 内嵌 PowerPC 处理器; 拥有大量的协处理器和硬件加速器 , 可以并行地处理数据 。而三层交换机的转发部分为了降低成本 , 根本不可能线速支持上千个流并有能力进行带宽分配 。原来有人有一种观点 , 那就是用最长匹配实现大路由表查找的CAM很贵 , 换句话说用硬件来实现大路由表的最长匹配搜索成本很高 , 从调查资料来看 , 这种观点看来并不一定对 。路由表的搜索采用CAM实现成本也并不高 。以 Kawasaki LSI公司的支持最长匹配搜索的的CAM芯片KE5BLME064为例 , 它支持64K的路由前缀项 , 每个ENTRY 40bit 宽 , 包搜索速度可达6.7Mpps , 时延为数百个纳秒 , 而价格不到60美元【6】 。当然减少支持的路由表项无疑能降低成本 , 而且就三层交换机通常的应用环境来看不需要太多的路由表项 , 因此一般三层交换机支持的路由表项比GSR要少 , 例如CISCO 4000系列只支持到16K--32K路由表项 , 北电的ACCLER 1000支持32K 。不过CISCO应用在6500系列上的SUPER ENGINES 2已经支持到128K , 已经可以和骨干网路由器的表项相当了 。CISCO设计的转发引擎上支持的路由表越来越大和CISCO考虑到三层交换机往城域网和骨干网上应用有关 。总的来看 , 网络处理器之所以贵 , 应该还是贵在它的灵活性上 , 贵在支持QOS , POLICY , 以及多种协议 , 尤其是有些协议还没有完全形成标准 , 网络处理器可能只需修改软件就可以支持(多数三层交换机就有困难 , 这也导致有很多厂家早期三层交换机与现在的协议不兼容) , 网络处理器要对包内容进行更多的识别 , 更复杂的调度 , 为了达到线速处理 , 里面常集合多个微引擎 , 支持多线程处理 。这些也许才是导致网络处理器价格急剧上升的主要原因 。相比起来三层交换机在这方面能力就很弱 , 例如CISCO 6000系列只支持16个QOS队列 , 4000只支持一个 , 5500支持两个 , 而Extreme的 三层引擎只支持4个队列 。
因为是采用硬件实现三层交换 , 所以交换速度能做到很高 , 但要想同时支持大量三层协议 , 如IP, IPX , AppleTalk, DECnet等等 , 这些协议的封包格式不一样 , 用软件实现起来轻易 , 用硬件实现却非常困难 , 用硬件实现转发的协议太多 , 只会带来成本的急剧上升 , 因此三层交换机上一般只考虑支持较为常用的IP , IPX协议 , IP多播 。也有的三层交换机支持其它的 , 但那是用软件实现的 , 转发速率较低 , 例如 CISCO 的CATALYST 6000系列就在MSFC上用软件实现AppleTalk等 , 转发速率在10万-20万包/秒【4】 。
三层交换机现在主要提供以太网接口 。以太网技术简单 , 价格低廉 , 在企业网里应用最为普遍 , 三层交换机采用以太网接口 , 能为企业网提供廉价而高速交换的设备 , 替代价格高昂而性能却上不去的的路由器 。三层交换机的ASIC同时提供IP的二层和三层交换 , 把原来二层以太网交换机和路由器的功能熔为一体 , 极大的降低了用户的成本 。随着宽带业务的兴起 , 三层交换机的应用范围不断拓展 , 尤其是GE和10G以太网技术的迅速发展 , 导致三层交换机从企业网已经逐步走向了城域网 , 而应用范围的拓展也促进了其设计的革新 。例如原来在三层交换机广泛采用的是CACHE技术 , 在三层交换机往城域网和骨干网上应用时 , 业务流无规则性越来越强 , 网络拓扑变更也有增加 , 因为视频语言业务的增加 , QOS等也有需求 , 采用这种技术的弊病越来越明显;三层交换机在向城域网和骨干网上发展时要求三层交换机需要支持的协议也越来越多 , 如有的厂家三层交换机已经支持OSPF, BGP , MPLS等协议 , 有的甚至采用可编程ASIC,支持IPV6 。

推荐阅读