路由器与交换机是组网中非常主要的两种设备。两者有相似但也有不同的地方。三层交换机是一个带有第三层路由功能的一个二层交换机,但它是二者的有机结合,并不是基本的把路由器设备的硬件及软件基本地叠加在局域网交换机上。
从硬件上看,第二层交换机的接口模块都是通过高速背板/总线(速率可高达几十Gbit/s)交换数据的,在第三层交换机中,与路由器相关的第三层路由硬件模块也插接在高速背板/总线上,这种形式使得路由模块可以与须要路由的其他模块间高速的交换数据,从而突破了传统的外接路由器接口速率的限定。在软件方面,第三层交换机也有重大的举措,它将传统的基于软件的路由器软件执行 了界定。
其做法是:对于数据包的转发:如IP/IPX包的转发,这些规律的流程通过硬件得以高速实现。对于第三层路由软件:如路由信息的更新、路由表维护、路由计算、路由的确定等功能,用优化、高效的软件实现。假设两个运用 IP协议的机器通过第三层交换机执行 通信的流程,机器A在开始发送时,已知目的IP地址,但尚不知晓在局域网上发送所须要的MAC地址。要采用地址解析 (ARP)来确定目的MAC地址。机器A把自己的IP地址与目的IP地址比较,从其软件中配置的子网掩码提取出网络地址来确定目的机器能不能与自己在同一子网内。若目的机器B与机器A在同一子网内,A广播一个ARP请求,B返回其MAC地址,A得到目的机器B的MAC地址后将这一地址缓存起来,并用此MAC地址封包转发数据,第二层交换模块查找MAC地址表确定将数据包发向目的端口。
若两个机器不在同一子网内,如发送机器A要与目的机器C通信,发送机器A要向“缺省网关”发出ARP包,而“缺省网关”的IP地址已经在系统软件中配置。这个IP地址实际上对应第三层交换机的第三层交换模块。所以当发送机器A对“缺省网关”的IP地址广播出一个ARP请求时,若第三层交换模块在以往的通信流程中已得到目的机器C的MAC地址,则向发送机器A回复C的MAC地址;否则第三层交换模块根据路由信息向目的机器广播一个ARP请求,目的机器C得到此ARP请示后向第三层交换模块回复其MAC地址,第三层交换模块保存此地址并回复给发送机器A。以后,当再执行 A与C之间数据包转发进,将用最终的目的机器的MAC地址封装,数据转发流程全部交给第二层交换处理,信息得以高速交换。既所谓的一次选路,多次交换。
第三层交换具有以下突出特征 :有机的硬件结合使得数据交换加快;优化的路由软件使 得路由流程效率提高;除了必要的路由决定流程外,大部分数据转发流程由第二层交换处理;多个子网互连时只是与第三层交换模块的逻辑连接,不象传统的外接路由器那样需添加端口,保卫了用户的投资。
三种技能的比较
可以看出,二层交换机主要用在小型局域网中,机器数量在二、三十台以下,这样的网络环境下,广播包影响不大,二层交换机的高速交换功能、多个接入端口和低廉价钱为小型网络用户提供了很完备的处理方案。在这种小型网络中根本没必要引入路由功能从而添加管理的难度和费用,所以没有必要运用路由器,当然也没有必要运用三层交换机。
三层交换机是为IP设计的,接口类型基本,拥有很强二层包处理能力,所以适用于大型局域网,为了减小广播风暴的危害,必须把大型局域网按功能或地域等因素划他成一个一个的小局域网,也就是一个一个的小网段,这样必然导致不同网段这间存在大量的互访,单纯运用二层交换机没方法实现网间的互访而单纯运用路由器,则由于端口数量有限,路由速度较慢,而限定了网络的规模和访问速度,所以这种环境下,由二层交换技能和路由技能有机结合而成的三层交换机就最为适合。
路由器端口类型多,支撑的三层协议多,路由能力强,所以适合于在大型网络之间的互连,虽然不少三层交换机甚至二层交换机都有异质网络的互连端口,但一般大型网络的互连端口不多,互连设备的主要功能不在于在端口之间执行 高速交换,而是要挑选最好路径,执行 负载分担,链路备份和最主要的与其它网络执行 路由信息交换,所有这些都是路由完成的功能。
在这种情况下,自然不可能运用二层交换机,但能不能运用三层交换机,则视详细情况而下。影响的因素主要有网络流量、响应速度要求和投资预算等。三层交换机的最主要目的是加快大型局域网内部的数据交换,揉合进去的路由功能也是为这目的服务的,所以它的路由功能没有同一档次的专业路由器强。在网络流量很大的情况下,假如三层交换机既做网内的交换,又做网间的路由,必然会大大加重了它的负担,影响响应速度。在网络流量很大,但又要求响应速度很高的情况下由三层交换机做网内的交换,由路由器专门负责网间的路由工作,这样可以充分发挥不同设备的优势,是一个很好的配合。当然,假如受到投资预算的限定,由三层交换机兼做网间互连,也是个不错的挑选。