三层交换机与路由器 近年来随着互联网和各企业信息化建设的迅猛发展,使人们越来越感觉到传统路由器已经从原来的交通指挥员变成了现在的路口瓶颈。而具有三层路由功能的交换机既可以工作在协议第三层替代或部分完成传统路由器的功能,同时又具有几乎第二层交换的速度,且价格相对便宜些,一时间很多人都开始想到三层交换机要替代路由器了!但事实又如何呢? 传统路由器在网络中扮演着隔离网络、隔离广播、路由转发、防火墙等角色,并且随着网络的不断发展,它们的工作量也在迅速增长。如今出于安全和管理方便等方便的考虑,VLAN技术在网络中大量应用。VLAN技术可以逻辑隔离各个不同的网段、端口甚至主机,而各个不同VLAN间的通信都要经过路由器来完成转发。由于局域网中数据流量很大,VLAN间大量的信息交换都要通过路由器来完成转发,这时候随着数据流量的不断增长路由器就成为了网络的瓶颈。 三层交换机使用了将三层路由技术和二层交换技术结合在一起的新技术——三层交换。数据在网络中是分段传递的,三层交换技术对一个数据流的第一段数据进行寻址并转发,然后在缓存中建立一个关于这个数据流的MAC地址与IP地址的映射表。当后续的数据流到达交换机时将对照这个映射表直接从二层将数据快速转发到目的地出口,而不用再经过三层路由功能来完成。正因如此,三层交换技术降低了因路由寻址、转发而造成的网络延迟,提高了数据包的转发效率。 但是从技术上讲路由器和交换机在对数据包交换过程的操作上存在着明显的区别。路由器采用的是最长匹配的方式,实现起来比较复杂,通过基于微处理器的软件来完成。而对于三层交换来说,它的路由转发是针对某一数据流进行的,同时利用缓存(CACHE)技术来存储映射表,所以很容易采用基于硬件的ASIC芯片来实现。因此不难看出,同三层交换机相比路由器的功能更为强大!像NAT、VPN、ACL等功能目前仍无法完全被取代。 在实际应用过程中处于同一个局域网中的各个子网的互联以及局域网中VLAN间的路由,可以用三层交换机来代替路由器。但在局域网必须与公网互联以实现跨地域的网络环境下,路由器就变成了不可或缺的设备。同时,一个完全构建在交换机上的网络会出现诸如碰撞、堵塞以及通信混乱等问题。如果使用路由器将网络化分为多个子网,通过路由器所具备的功能来有效地进行安全策略控制,则可以避免这些问题。另外,三层交换机暂时还不能提供完整的路由选择协议支持,而路由器则具备同时处理多个协议的能力。当连接不同协议的网络,例如以太网和令牌环的组合网络,依靠三层交换机是不可能完成网间路由和数据传输的。除此之外,路由器还具有第四层网络管理能力,例如ACL对数据流的安全控制功能,这也是三层交换机所不具备的。
根据三层交换机和路由器各自的特点来看,三层交换机并不等于路由器,同时也不可能取代路由器!在我们的实际选购中,应根据自身网络的特点与未来可能的发展需求来选择适合我们的产品。不论怎样,随着技术的发展、产品的完善最终获益的终将是我们消费者! 局域网络的出现,迄今为止已经经历了三十多年,在这三十多年的发展历程中,从最初的无线技术ALOHA引出CSMA/CD核心技术,直到快速以太网(802.3u)及现代的GE(802.3z)10GE以太网技术的出现,不断的推陈出新。这就引发了一个问题,对于一个具体的网络,因为可选择的组网方式的多样化,如何选择一种好的组网技术成为困惑。 对于用户来说,在减低成本的前提下,保证网络的高可靠性,高性能,易维护,易扩展,与采用何种组网技术密切相关;对于设备厂商来说,在保证用户的网络功能实现的基础上,如何能够取的更为可观的利润,采用组网技术的优劣,也是提高利润的其中一个手段。 目前技术的发展,可以说直接面向用户的第一层接口和第二层交换技术已经日趋成熟,它们的发展现状令人满意,所以说选择的重点不在这个层次。但是,作为网络的核心,起网间互连作用的路由器技术却没有实质性的突破。于是一种新的路由技术应运而生----三层交换技术,说它是路由技术,因为它工作在网络协议的三层;说它是交换技术,交换速度特别快,几乎可以达到二层交换速度。 在这些技术选择的权衡中,二层交换+路由组网与三层交换组网的选择是一个焦点问题,二层交换机、三层交换机和路由器这三种技术究竟谁优谁劣,它们各自适用在什么环境?为了解答这问题,我们先从这三种技术的工作原理入手。 (一) 二层交换技术 二层交换技术是发展比较成熟,二层交换机属数据链路层设备,可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。具体的工作流程如下: (1) 当交换机从某个端口收到一个数据包,它先读取包头中的源MAC地址,这样它就知道源MAC地址的机器是连在哪个端口上的; (2) 再去读取包头中的目的MAC地址,并在地址表中查找相应的端口; (3) 如表中有与这目的MAC地址对应的端口,把数据包直接复制到这端口上; (4) 如表中找不到相应的端口则把数据包广播到所有端口上,当目的机器对源机器回应时,交换机又可以学习一目的MAC地址与哪个端口对应,在下次传送数据时就不再需要对所有端口进行广播了。
不断的循环这个过程,对于全网的MAC地址信息都可以学习到,二层交换机就是这样建立和维护它自己的地址表。 从二层交换机的工作原理可以推知以下三点: (1) 由于交换机对多数端口的数据进行同时交换,这就要求具有很宽的交换总线带宽,如果二层交换机有N个端口,每个端口的带宽是M,交换机总线带宽超过N×M,那么这交换机就可以实现线速交换; (2) 学习端口连接的机器的MAC地址,写入地址表,地址表的大小(一般两种表示方式:一为BEFFER RAM,一为MAC表项数值),地址表大小影响交换机的接入容量; (3) 还有一个就是二层交换机一般都含有专门用于处理数据包转发的ASIC (Application specific Integrated Circuit)芯片,因此转发速度可以做到非常快。由于各个厂家采用ASIC不同,直接影响产品性能。 以上三点也是评判二三层交换机性能优劣的主要技术参数,这一点请大家在考虑设备选型时注意比较。 (二)路由技术 路由器工作在OSI模型的第三层---网络层操作,其工作模式与二层交换相似,但路由器工作在第三层,这个区别决定了路由和交换在传递包时使用不同的控制信息,实现功能的方式就不同。工作原理是在路由器的内部也有一个表,这个表所标示的是如果要去某一个地方,下一步应该向那里走,如果能从路由表中找到数据包下一步往那里走,把链路层信息加上转发出去;如果不能知道下一步走向那里,则将此包丢弃,然后返回一个信息交给源地址。 路由技术实质上来说不过两种功能:决定最优路由和转发数据包。路由表中写入各种信息,由路由算法计算出到达目的地址的最佳路径,然后由相对简单直接的转发机制发送数据包。接受数据的下一台路由器依照相同的工作方式继续转发,依次类推,直到数据包到达目的路由器。 而路由表的维护,也有两种不同的方式。一种是路由信息的更新,将部分或者全部的路由信息公布出去,路由器通过互相学习路由信息,就掌握了全网的拓扑结构,这一类的路由协议称为距离矢量路由协议;另一种是路由器将自己的链路状态信息进行广播,通过互相学习掌握全网的路由信息,进而计算出最佳的转发路径,这类路由协议称为链路状态路由协议。 由于路由器需要做大量的路径计算工作,一般处理器的工作能力直接决定其性能的优劣。当然这一判断还是对中低端路由器而言,因为高端路由器往往采用分布式处理系统体系设计。
(三)三层交换技术 近年来的对三层技术的宣传,耳朵都能起茧子,到处都在喊三层技术,有人说这是个非常新的技术,也有人说,三层交换嘛,不就是路由器和二层交换机的堆叠,也没有什么新的玩意,事实果真如此吗?下面先来通过一个简单的网络来看看三层交换机的工作过程。 组网比较简单 使用IP的设备A------------------------三层交换机------------------------使用IP的设备B 比如A要给B发送数据,已知目的IP,那么A就用子网掩码取得网络地址,判断目的IP是否与自己在同一网段。 如果在同一网段,但不知道转发数据所需的MAC地址,A就发送一个ARP请求,B返回其MAC地址,A用此MAC封装数据包并发送给交换机,交换机起用二层交换模块,查找MAC地址表,将数据包转发到相应的端口。 如果目的IP地址显示不是同一网段的,那么A要实现和B的通讯,在流缓存条目中没有对应MAC地址条目,就将第一个正常数据包发送向一个缺省网关,这个缺省网关一般在操作系统中已经设好,对应第三层路由模块,所以可见对于不是同一子网的数据,最先在MAC表中放的是缺省网关的MAC地址;然后就由三层模块接收到此数据包,查询路由表以确定到达B的路由,将构造一个新的帧头,其中以缺省网关的MAC地址为源MAC地址,以主机B的MAC地址为目的MAC地址。通过一定的识别触发机制,确立主机A与B的MAC地址及转发端口的对应关系,并记录进流缓存条目表,以后的A到B的数据,就直接交由二层交换模块完成。这就通常所说的一次路由多次转发。 以上就是三层交换机工作过程的简单概括,可以看出三层交换的特点: 由硬件结合实现数据的高速转发。
这就不是简单的二层交换机和路由器的叠加,三层路由模块直接叠加在二层交换的高速背板总线上,突破了传统路由器的接口速率限制,速率可达几十Gbit/s。算上背板带宽,这些是三层交换机性能的两个重要参数。 简洁的路由软件使路由过程简化。 大部分的数据转发,除了必要的路由选择交由路由软件处理,都是又二层模块高速转发,路由软件大多都是经过处理的高效优化软件,并不是简单照搬路由器中的软件。 结论 二层交换机用于小型的局域网络。这个就不用多言了,在小型局域网中,广播包影响不大,二层交换机的快速交换功能、多个接入端口和低谦价格为小型网络用户提供了很完善的解决方案。 路由器的优点在于接口类型丰富,支持的三层功能强大,路由能力强大,适合用于大型的网络间的路由,它的优势在于选择最佳路由,负荷分担,链路备份及和其他网络进行路由信息的交换等等路由器所具有功能。 三层交换机的最重要的功能是加快大型局域网络内部的数据的快速转发,加入路由功能也是为这个目的服务的。如果把大型网络按照部门,地域等等因素划分成一个个小局域网,这将导致大量的网际互访,单纯的使用二层交换机不能实现网际互访;如单纯的使用路由器,由于接口数量有限和路由转发速度慢,将限制网络的速度和网络规模,采用具有路由功能的快速转发的三层交换机就成为首选。 一般来说,在内网数据流量大,要求快速转发响应的网络中,如全部由三层交换机来做这个工作,会造成三层交换机负担过重,响应速度受影响,将网间的路由交由路由器去完成,充分发挥不同设备的优点,不失为一种好的组网策略,当然,前提是客户的腰包很鼓,不然就退而求其次,让三层交换机也兼为网际互连 。