本文主要是介绍对交换机与路由器的认知,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
路由器是使用网络层IP地址转发分组的存储转发分组交换机。
交换机也是一个存储转发分组交换机,但它是用MAC地址转发分组。
路由器是网络层的分组交换机。
交换机是链路层的分组交换机。
即使交换机与路由器从根本上是不同的,网络管理员在安装互联设备时也经常必须在它们之间进行选择。既然路由器和交换机都是候选的互联设备,那么这两种方式有什么优缺点呢?
交换机的优缺点:
交换机是即插即用的,这是世界上所有超负荷工作的网络管理员都喜爱的特性。
交换机还能够具有相对高的分组过滤和转发速率。交换机必须处理高至第二层(链路层)的帧,而路由器必须处理高至第三层的数据报。
为了防止广播帧的循环,交换网路的活跃拓扑限制为一棵生成树。
一个大型交换机网络将要在主机和路由器中有大量的ARP表,这将生成可观的ARP流量和处理量。
交换机对于广播风暴并不提供任何保护措施,即如果某主机出了故障并传输出没完没了的以太网广播帧流,该交换机将转发所有这些帧,使得整个以太网的崩溃。
路由器的优缺点:
网络IP寻址是分层次的(不像MAC寻址那样是扁平的),即使当网络中存在冗余路径是,分组通常也不会通过路由器循环。分组不会被限制在一棵生成树上,并可以使用源和目的地之间的最佳路径。
因为路由器没有生成树的限制,所以它们允许以丰富的拓扑结果构建因特网。
路由器的另一个特色是它对第二层的广播风暴提供了防火墙保护。
路由器的最大缺点就是它们不是即插即用的,即路由器对连接到它们的主机需要人为地配置IP地址。
路由器对每个分组的处理时间通常比交换机长,因为它们必须处理高达第三层的字段。
什么时候应该使用路由器,什么时候应该使用交换机?
通常,由几百台主机组成的小网络通常有几个局域网网段。对于这些小网络,交换机就足够了,因为它们不要求IP地址的任何配置就能使流量局部化并增加总计吞吐量。
但是再有几千台主机组成的更大网络中,通常在网络中(除了交换机)还包括路由器,路由器提供更健壮得到流量隔离方式和对广播风暴的控制,并在网路的主机之间使用更智能的路由。
交换机与路由器的区别:
链接:https://www.zhihu.com/question/20465477/answer/18345838
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
- 交换机用来将一根网线变为多根,如果网络需要登录大家各自分别登录。
- 路由器用来将一条网络变为多条,分出的多条网络共享主线的网络带宽。
// 这里以普通用户视角描述,用词不准确,谢绝打脸
实际情况是大部分家用路由由路由器和交换机两部分组成,交换机用于内部网络数据传输,路由器利用 NAT 转发数据与外部网络通信。
==== 从 课本上的定义 的角度来划分:
- 交换机
- 用于同一网络内部数据的快速传输
- 转发决策通过查看二层头部完成
- 转发不需要修改数据帧
- 工作在 TCP/IP 协议的二层 —— 数据链路层
- 工作简单,直接使用硬件处理
- 路由器
- 用于不同网络间数据的跨网络传输
- 转发决策通过查看三层头部完成
- 转发需要修改 TTL ,IP 头部校验和需要重新计算,数据帧需要重新封装
- 工作在 TCP/IP 协议的三层 —— 网络层
- 工作复杂,使用软件处理
// 应该说,这个定义已经很过时了,三层(多层)交换机早就已经普遍使用了,但是天知道什么原因,至少我手头的某一本课本还是这样说的。
这是许多课本上的标准解答,在传统上来讲也是正确的。
- 由于交换机只需要查看 二层数据帧 的头部即可决策转发地址,策略十分简单,可以直接通过硬件芯片实现相应功能,所以可以做到廉价高速,被大量应用在接入层。
- 而路由器由于需要处理跨网络的连接,必须在接收到完整的 IP数据包 后才能转发数据,路由协议又比较复杂,所以只能使用软件的方式实现相应的功能,要达到高性能只能付出更高的价格。
另外,由于二层转发只需要查看 帧头部 即可开始转发,也使得 (二层)交换机 有了一项独门功夫:直通转发。简单说就是只接收数据帧头部就开始转发,从而达到更高的性能。
==== 从 转发模式 的角度来划分:
Tips: 这里只讨论三层(多层)交换机,二层同上一条
- 交换机
- 硬件处理交换 (转发) 过程
- 一次路由(寻路),多次交换(转发)
- 路由器
- 软件处理交换 (转发) 过程
- 一次路由(寻路),一次交换(转发)
// 据说也有纯软件转发的三层交换机,暂不讨论
虽然上面写的是软/硬件的区别,实际上更多的是工作模式上的区别:- 三层(多层)交换机并非纯硬件工作,而是有单独的路由引擎,但是路由引擎并非一直工作,而是在第一次通信的时候通过路由引擎查询路由表,建立转发表,之后的数据不再经过路由引擎,而是通过与二层类似的交换引擎进行转发。
- 由于工作内容简单,转发引擎可以使用专门的硬件芯片来达到廉价高性能。
- 而路由器对每一个数据包都进行路由查询,占用大量资源,所以寻路效率较低,
- 由于路由协议复杂,无法通过纯硬件芯片处理,造成大量数据转发时性能比不上三层(多层)交换机。
Tips: 事实上路由器方面也有类似的技术,例如思科快速转发机制(CEF-Cisco Express Forwarding)
也正是工作模式上的差异,造成了他们在实际应用时的一些区别:
- 三层(多层)交换机的路由引擎较弱,相比路由器支持的路由协议有限。
- 同样由于三层(多层)交换机的路由引擎较弱,且转发表有限,不适合复杂的多网络互联。
- 因为并不是每一个包都会经过路由引擎,三层(多层)交换机的路由策略功能较弱。
- 三层(多层)交换机更适合网络结构简单,交换数据量大的情景下使用(例如小型网络的汇聚层)
- 路由器更适合复杂的多网络互联的核心交换区域。
这篇关于对交换机与路由器的认知的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!