本章将集中介绍L3 交换机和多层交换机的历史、种类、功能、架构等相关信息,帮助读者理解路由器与L3 交换机的不同。 另外,本章还会介绍多种VLAN。 04.01 何为L3交换机 L3交换机是一种在L2交换机的基础上增加了路由选择功能的网络硬件,能够通过基于ASIC和FPGA的硬件处理高速实现网络功能和转发分组。 L2是指OSI参考模型中的L2,也就是数据链路层。L2交换机能够基于该层主要编址的MAC地址,进行数据帧或VLAN(Virtual Lan)的传输工作。L3交换机能够基于位于网络层(L3)的IP首部信息,实现路由选择以及分组过滤等功能。 L2交换机可以通过使用VLAN分割广播域,但终端之间的数据帧交换必须位于同一VLAN范围内。对位于不同VLAN上的终端如有通信需求时,则必须使用路由功能,因此需要在网络上额外添加路由器(图4-1)。 L2交换机与路由器相组合才能完成跨VLAN的通信,但使用L3交换机则无需其他硬件设备,能够直接完成VLAN配置和VLAN之间的通信过程。 图4-1 L2交换机使用VLAN时的概念图 图4-2 L3交换机使用VLAN时的概念图 现在,越来越多组织的内部网络核心交换机采用L3交换机。L3交换机多用于在由以太网构筑的Intranet内部转发分组,而路由器则大多作为连接互联网和Intranet内网之间的网关来使用。 04.01.01 L3交换机与路由器的不同 早期的L3交换机有些产品支持非以太网的数据链路层协议,如FDDI和令牌环等,也支持非IP网络的网络层协议,如IPX和AppleTalk等。但是现在市场上主流的L3交换机产品一般仅支持以太网的数据链路层协议和IP网络的网络层协议。 路由器的物理层以及数据链路层除了IEEE 802标准以外,还需支持其他各种协议,其中包括ATM、帧中继、SDH、串口等。网络层和传输层也同样需要支持TCP/IP协议簇以外的协议簇,如IPX、AppleTalk等。这些处理一般都由运行在CPU上的软件来完成,与L3交换机相比,速度会慢不少,但类似远程接入、安全功能这样必须由路由器CPU来处理的功能也很多(表4-1)。中端以上级别的路由器大多数采用网络处理器(参考01.06.04节)高速进行数据链路层以下的处理。 另外,低端路由器产品中大多数只支持以太网和IP网络协议。 表4-1 L3交换机同路由器的比较 ■L3交换机的架构 L3交换机的构成要素如图4-3以及表4-2所示,高端路由器和防火墙也使用同样的架构。传统路由器的路由选择功能、分组转发以及管理功能等均由CPU处理,管理功能负载的增加,就会带来分组转发能力的下降。L3交换机改善了这一缺点,将硬件设备内部分离成两个区域,即以路由选择、管理功能为主的控制平面和以数据转发功能为主的数据平面,从而实现了能够高速转发分组的系统架构。 图4-3 L3交换机的结构 表4-2 L3交换机的硬件构成 当硬件内部结构分为控制平面和数据平面时,分组的传输需要利用FIB(转发信息库)与邻接表的信息(表4-3)。在Cisco IOS中这种利用转发信息库和邻接表信息的IP分组传输方式叫做CEF(Cisco Express Forwarding,Cisco特快转发)。 表4-3 控制平面与数据平面上传输的信息 路由器使用CPU完成分组转发,而L3交换机使用ASCI代替CPU,分组的转发更为高速(图4-4)。 图4-4 箱式和机框式L3交换机的架构 L3交换机将转发信息库和邻接表整合成1份表项。该表称为FDB(Forwarding Database,转发数据库)或L3表,注册于内存中并通过硬件处理完成高速检索。(图4-5) 图4-5 L3表的概念图 图4-6 L3 交换机的内部处理示例 04.01.02 多层交换 除L2 交换机之外,拥有L3 以上功能的交换机统称为多层交换机或高层交换机。 拥有IP 路由选择等网络层功能的L3 交换机几乎都能够通过访问控制列表来对传输层(L4) 的TCP 端口编号进行访问控制,因此这些L3 交换机在有些场景下也可被称为多层交换机。 这类能够支持到TCP 层级访问控制的交换机称为L4 交换机。甚至有些产品能够基于HTTP 和HTTPS 这类应用层(L7)参数进行负载均衡(Load Balancing)等操作,这类产品可以称为L7务处理的网络硬件。 多层交换机与传统路由器的不同之处也可参考表4-1。 ■■负载均衡器 从多个客户端同时连接到1台服务器可能会导致服务器的处理能力超过负载。这时,如果准备了多台拥有相同内容或提供相同服务的服务器,通过使用负载均衡器(load balancer),就可以将来自客户端的请求分散到各个服务器进行处理。 负载均衡器可以是专用设备,也可以是在通用服务器上运行的应用程序。专用设备一般只有以太网接口,可以说是多层交换机的一种。 另外,也存在拥有分组负载均衡功能的路由器。 专用设备的负载均衡器示例 图4-7 F5 Networks公司BIG-IP系列 图4-8 精工精密(SEIKO PRECISION)公司的NetWiser系列 图4-9 A10 Networks公司的AX系列 图4-10 Radware公司的Alteon系列A A 该产品线收购自北电网络。——译者注 负载均衡器一般会被分配虚拟IP地址,所有来自客户端的请求都是针对虚拟IP地址完成的(图4-11)。负载均衡器通过负载均衡算法将来自客户端的请求转发到服务器的实际IP地址上。 如表4-4所示,通过使用负载均衡器可以提高扩展性和可靠性。 表4-4 负载群衡器的作用 图4-11 使用负载均衡器时的流程 负载均衡器不仅适用于服务器,防火墙或代理服务器这种仅靠1台设备就会性能十分差的安全设备也可以使用负载均衡器。 表4-5举例说明了负载均衡器将来自客户端的请求分散至服务器时使用的负载均衡算法。 表4-5 负载均衡算法的示例 ■SSL加速 SSL加速(SSL Acceleration)是负载均衡器专用设备提供的功能之一,执行该功能的设备内部装置称为SSL加速器。 在服务器进行SSL通信时,对通信终端之间传输的数据进行加密解密的操作需要执行相当复杂的计算,这会导致服务器CPU的处理负载进一步加大。而与不执行加密解密的HTTP通信相比,HTTPS的处理负载是前者的10倍。 这时,通过使用SSL加速器对来自客户端的HTTPS请求解密,将其转换为HTTP请求后再转发至实际的服务器上,这样就可以降低服务器CPU的处理负载(图4-12)。 这样一来,整个系统在提高服务器响应速度的同时还能减少必备服务器的数量,在单位时间内能够转发更多Web服务内容。 图4-12 SSL加速