交换机和路由器有什么区别?
从普通用户使用的角度来说,开关是用来把一根网线换成多根的。如果网络需要登录,大家要分开登录。
路由器用于将一个网络变成多个网络,被分割的网络共享主线的网络带宽。
这里是从普通用户的角度描述,用词不准确。有时,大多数家庭路由由路由器和交换机组成。交换机用于内部网络数据传输,路由器使用NAT转发数据并与外部网络通信。
从教科书定义的角度来看,交换机是用于同一网络中数据的快速传输和转发,转发是在不修改数据帧的情况下,通过查看二层头来完成的。工作在TCP/IP协议的第2层3354数据链路层简单,直接用硬件处理路由器用于跨网传输和不同网络间的数据转发,TTL需要看第3层头修改。需要重新计算IP报头校验和,并且需要重新封装数据帧。在TCP/IP协议的三层3354网络层工作比较复杂,要用软件来处理。//应该说这个定义已经过时了。三层(多层)交换机已经广泛使用很久了,但是天知道是什么原因。至少我的一本教科书是这么说的。这是很多教科书上的标准答案,在传统上也是正确的。
由于交换机只需要看二层数据帧的报头就可以决定转发地址,策略非常简单,相应的功能可以直接通过硬件芯片实现,所以可以做到廉价高速,在接入层应用广泛。由于路由器需要处理跨网络连接,必须接收完整的IP包才能转发数据,而且路由协议复杂,只能用软件实现相应的功能。要实现高性能,他们必须付出更高的代价。另外,由于二层转发只需要看帧头就可以开始转发,这也使得(二层)交换机有了一个绝活:直通转发。简单来说就是只接收数据帧的报头,转发数据帧,以达到更高的性能。
从转发方式来看:温馨提示:这里只讨论三层(多层)交换机。第二层与上一层交换机相同,硬件处理一次交换(转发)过程(路由),多次交换(转发)路由器处理一次交换(转发)过程(路由),一次交换(转发)。//据说还有纯软件转发的三层交换机,虽然暂时不讨论。实际上,在工作模式上有更多的不同:三层(多层)交换机不与纯硬件一起工作,而是有一个单独的路由引擎。但是,路由引擎并不是一直都在工作。相反,它在第一次通信期间通过路由引擎查询路由表并建立转发表。之后,通过类似于第二层的交换引擎转发数据。因为工作内容简单,转发引擎可以使用特殊的硬件芯片实现低成本高性能。但是路由器查询每个数据包,占用大量资源,路由效率低。由于路由协议复杂,无法用纯硬件芯片处理,导致大量数据转发的性能不如三层(多层)交换机。
温馨提示:其实路由器里也有类似的技术。也正是工作模式的不同,造成了它们在实际使用中的一些差异:三层(多层)交换机的路由引擎较弱,路由器支持的路由协议有限。由于同一个三层(多层)交换机的路由引擎较弱,转发表有限,不适合复杂的多网络互联。因为不是每个包都会经过路由引擎,所以三层(多层)交换机的路由策略功能较弱。三层(多层)交换机更适用于网络结构简单、交换数据量大的场合(例如小型网络的汇聚层),路由器更适用于复杂的多网络互联核心交换区域。