交换机和路由器的区别

交换机

在计算机网络系统中,交换机是针对共享工作模式的弱点而推出的。交换机拥有一条高带宽的背部总线和内部交换矩阵。交换机的所有的端口都挂接在这条背部总线上,当控制电路收到数据包以后,处理端口会查找内存中的地址对照表以确定目的MAC的NIC(网卡)挂接在哪个端口上,通过内部交换矩阵迅速将数据包传送到目的端口。若目的MAC不存在,交换机就广播到所有的端口,接收端口回应后交换机会“学习”新的地址,并把它添加到内部地址表中。

交换机工作在OSI模型的数据链路层上。交换机内部的CPU在每个端口成功连接时,通过ARP协议来学习各端口的MAC地址,保存成一张ARP表。在以后的通信中,发往该MAC地址的数据包将仅仅送往其对应的端口,而不是所有的端口。因此,交换机可用于划分数据链路层广播,即冲突域,但它不能划分网络层广播,即广播域。

交换机被广泛应用于二层网络交换,俗称“二层交换机”。交换机的种类有:二层交换机、三层交换机、四层交换机、七层交换机,分别工作在OSI模型的第二层、第三层、第四层和第七层。

路由器

路由器是一种计算机网络设备,提供了路由与转发两种重要机制,可以决定数据包来源端到目的端所经过的路由路径,这个过程称为路由;将路由器输入端的数据包移送至适当的路由器输出端,称为转发(转送)。路由器工作在OSI模型的网络层上。

路由器的一个作用是连通不同的网络,另一个作用是选择信息传送的线路。路由器与交换机的差别即在于路由器是OSI模型第三层的产品,交换机是OSI模型第二层的产品。

每一个路由器与其之下连接的设备,其实构成一个局域网

交换机工作在路由器之下,就是也就是交换机工作在局域网内

交换机用于局域网内网的数据转发

路由器用于连接局域网和外网

交换机和路由器的区别

  1. 路由器可以给你的局域网自动分配IP,虚拟拨号,就像一个交通警察,指挥着你的电脑该往哪走,你自己不用操心那么多了。交换机只是用来分配网络数据的。
  2. 路由器在网络层,路由器根据IP地址寻址,路由器可以处理TCP/IP协议,交换机不可以。
  3. 交换机在中继层,交换机根据MAC地址寻址。路由器可以把一个IP分配给很多个主机使用,这些主机对外只表现出一个IP。交换机可以把很多主机连起来,这些主机对外各有各的IP。
  4. 路由器提供防火墙的服务,交换机不能提供该功能。集线器、交换机都是做端口扩展的,就是扩大局域网(通常都是以太网)的接入点,也就是能让局域网可以连进来更多的电脑。路由器是用来做网间连接,也就是用来连接不同的网络。

交换机是利用物理地址或者说MAC地址来确定转发数据的目的地址。而路由器则是利用不同网络的ID号(即IP地址)来确定数据转发的地址。 IP地址是在软件中实现的,描述的是设备所在的网络,有时这些第三层的地址也称为协议地址或者网络地址。MAC地址通常是硬件自带的,由网卡生产商来分配的,而且已经固化到了网卡中去,一般来说是不可更改的。而IP地址则通常由网络管理员或系统自动分配。

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

虽然他们都具有路由功能。

但是三层交换机的主要功能仍是数据交换,它的路由功能通常比较简单,因为它所面对的主要是简单的局域网连接,路由路径远没有路由器那么复杂,它用在局域网中的主要用途还是提供快速数据交换功能,满足局域网数据交换频繁的应用特点。

路由器的主要功能还是路由功能,它的路由功能更多的体现在不同类型网络之间的互联上,如局域网与广域网之间的连接、不同协议的网络之间的连接等,所以路由器主要是用于不同类型的网络之间。它最主要的功能就是路由转发,解决好各种复杂路由路径网络的连接就是它的最终目的,所以路由器的路由功能通常非常强大,不仅适用于同种协议的局域网间,更适用于不同协议的局域网与广域网间。它的优势在于选择最佳路由、负荷分担、链路备份及和其他网络进行路由信息的交换等等路由器所具有功能。为了与各种类型的网络连接,路由器的接口类型非常丰富,而三层交换机则一般仅同类型的局域网接口,非常简单。

从技术上讲,路由器和三层交换机在数据包交换操作上存在着明显区别。路由器一般由基于微处理器的软件路由引擎执行数据包交换,而三层交换机通过硬件执行数据包交换。三层交换机在对第一个数据流进行路由后,它将会产生一个MAC地址与IP地址的映射表,当同样的数据流再次通过时,将根据此表直接从二层通过而不是再次路由,从而消除了路由器进行路由选择而造成网络的延迟,提高了数据包转发的效率。同时,三层交换机的路由查找是针对数据流的,它利用缓存技术,很容易利用ASIC技术来实现,因此,可以大大节约成本,并实现快速转发。而路由器的转发采用最长匹配的方式,实现复杂,通常使用软件来实现,转发效率较低。

正因如此,从整体性能上比较的话,三层交换机的性能要远优于路由器,非常适用于数据交换频繁的局域网中;而路由器虽然路由功能非常强大,但它的数据包转发效率远低于三层交换机,更适合于数据交换不是很频繁的不同类型网络的互联,如局域网与互联网的互联。如果把路由器,特别是高档路由器用于局域网中,则在相当大程度上是一种浪费(就其强大的路由功能而言),而且还不能很好地满足局域网通信性能需求,影响子网间的正常通信

综上所述,在局域网中进行多子网连接,最好还选用三层交换机,特别是在不同子网数据交换频繁的环境中。一方面可以确保子网间的通信性能需求,另一方面省去了另外购买交换机的投资。当然,如果子网间的通信不是很频繁,采用路由器也无可厚非,也可达到子网安全隔离相互通信的目的。具体要根据实际需求来定。

三层交换与路由最大的区别就在于:路由支持nat转换,而三层不支持。在实际工程中体现出来就在:路由上直接接光纤可以上网,而将光纤接到层三设备上是不能上网了。三层每个端口都有专用的mac地址,有专用的ASIC集成电路。

如何理解『交换求快,路由谋短』

把交换和路由这样放在一起对比有点不是很合适呀,因为交换和路由的应用场景不一样,不是两个可以平行比较的东西,局域网当然要交换,广域网必然要路由。就低端支持三层路由的交换机来说,二层报文转发(也就是交换)是通过芯片完成,转发过程无需CPU上的软件干预,速度很快,但是三层报文的转发(也就是路由),因为是低端产品,无专业处理三层报文的NP,所以基本上是通过CPU软转发完成,速度跟交换来比当然是慢的。但是高端产品三层报文的转发也都是通过线卡上的专业NP完成,无需CPU软件干预,所以不存在速度上的问题。大多数路由协议在计算路由的时候基本算法都是围绕一个最短路径来进行的,一般来说最优路由也就是最短路径,当然也会有其他的因素,可以设置metric值来改变路径的权重,这样算出来的最优路由不见得最短。跳出IP路由转发,看看MPLS-TE,引入流量工程后转发路径可以按需定制,路径是否最短已经不是最重要的。

参考文章