对交换机与路由器的认知

路由器是使用网络层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)

也正是工作模式上的差异,造成了他们在实际应用时的一些区别:
  • 三层(多层)交换机的路由引擎较弱,相比路由器支持的路由协议有限。
  • 同样由于三层(多层)交换机的路由引擎较弱,且转发表有限,不适合复杂的多网络互联。
  • 因为并不是每一个包都会经过路由引擎,三层(多层)交换机的路由策略功能较弱。
  • 三层(多层)交换机更适合网络结构简单,交换数据量大的情景下使用(例如小型网络的汇聚层)
  • 路由器更适合复杂的多网络互联的核心交换区域。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值