三层交换机和路由器的区别


三层交换机和路由器都工作在网络的第三层,根据ip地址进行数据包的转发(或交换),原理上没有太大的区别,这两个名词趋向于统一,所谓交换路由器和路由交换机指的是同一样东西 。我们可以认为三层交换机就是一个多端口的路由器 。
但假如从二者的历史的发展的角度去寻找,我们还是能够找出一些差别的:
路由器的历史比较久远一些,80年代中期思科就推出了业界第一台路由器 。路由器的推出是为了解决远程的、 不同网段的互连互通,所谓“路由”就是根据网络上数据包(如IP Packet)的目的地址(如IP地址)查表,以决定并将该数据包转发到通往目的地的“下一跳” 。由于路由算法比较复杂,早期的路由器一般都是基于CPU以“单跳时钟”指令计算的方式来处理和转发数据包,这种方式转发数据包的效率是比较低的 。但我们不要忘了,在当时,远程广域的互连互通是第一位的,而需要并用得起路由器的是大企业大机构(如银行) 。一方面,承载数据的广域网链路速度比较低(低于1个E1=2Mbps,如PSTN、ISDN、DDN、Frame Relay等),另一方面当时的应用以UNIX主机计算为主,所以网络传输的速度并不是大问题 。
总结起来,传统的路由器有3个特点:
1、基于CPU的单步时钟处理机制
2、能够处理复杂的路由算法和协议
3、主要用于广域网的低速数据链路
进入90年代,PC机的飞速发展,导致以太网和TCP/IP协议的迅速崛起和广泛应用,企业内部网络越来越庞大,Internet已经成为最大的广域网,企业的远程互连互通已经越来越从自建(租)的专网转向Internet 。这些变化直接导致了交换机的出现,路由器的升级换代,以及路由器和交换机的融合 。
最早的以太网交换机于95年前后问世,其前身是网桥 。网桥工作在网络的第二层,它的作用之一是隔离网络广播风暴 。我们知道,以太网上主机之间通讯链路的建立很大程度上依靠于一种广播包,严格来说广播包只负责建立和维系通讯而不传送有效的数据,当网络上主机数量增大时广播包会以指数级增长,占用太多带宽,降低网络效率(权威的说法,一个以太网段的主机数量不要超过30台,超过时就应该用网桥加以隔离) 。网桥很像一个有着左膀和右臂的人,它根据以太网上数据帧(Frame)的目的MAC地址决定是否将帧在左右手之间交换 。广播包是没有目的地址的(意味着给所有人),所以被隔断 。我们可以把交换机理解成一个多端口的网桥,连接在它的每一个端口上的主机或网段独享带宽,各端口之间的交换相对独立,提高了网络效率 。交换机工作在网络第二层,算法相对简单,很快就有芯片厂家将其固化,生产出交换机的核心ASIC芯片,推出硬件的线速度交换机 。
总结起来,传统的交换机有3个特点:
1、基于ASIC硬件,线速度交换
2、工作在网络第二层,主要是以太网
3、主要用于局域网的快速数据交换
随着企业内部网络的进一步扩到,主机增加到成百上千台,网络第三层的广播风暴成为了问题(权威的说法: 一个TCP/IP网段上的主机数量不要超过300台) 。传统的交换机工作在网络第二层,不能隔离三层的广播 。一个的解决办法是在交换机上做VLAN隔离,再将VLAN上汇聚到上级路由器上,由路由器实现不同网段(3层网段)之间的路由转发 。这就是最初的路由 交换模型,典型的产品是CISCO的Catalyst 5500路由交换机 。
路由 交换是一个过渡产品,今天的三层交换机在体系结构上已有很大的改观,路由和交换通过ASIC充分揉合,第一个包经过路由算法确定路径后,后续的数据包交由交换引擎实现线速度交换 。当然,把所有的路由算法都固化还很困难,这就是今天的三层交换机要么不能100%实现线速交换,要么只能支持有限的简单的路由协议的原因 。

推荐阅读