博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
路由器与交换机的区别与联系
阅读量:4972 次
发布时间:2019-06-12

本文共 1215 字,大约阅读时间需要 4 分钟。

相信有很多人在学习网络的过程中,都会对路由器与交换机的区别与联系感到疑惑不解,因为这两台设备的功能看起来似乎一样。然而,其实路由器与交换机大有不同,下面是我对此的一些理解,希望能够帮助到你!

它们在哪里工作?

根据 OSI模型的网络体系划分,自底向上,路由器 工作在第三层(网络层),而我们常说的交换机 工作在第二层(链路层)(目前有更加高级的三层交换机,四层交换机,甚至还有七层交换机)

这里写图片描述

它们怎么工作?

它们的主要工作如下:

路由器:寻址,转发(依靠 IP 地址)
交换机:过滤,转发(依靠 MAC 地址)

我们可以看出这两者的主要工作就是转发数据,但是不同之处是,依靠的地址不同,这是一个根本区别!

路由器内有一份路由表,里面有它的寻址信息(就像是一张地图),它收到网络层的数据报后,会根据路由表和选路算法将数据报转发到下一站(可能是路由器、交换机、目的主机)

交换机内有一张MAC表,里面存放着和它相连的所有设备的MAC地址,它会根据收到的数据帧的首部信息内的目的MAC地址在自己的表中查找,如果有就转发,如果没有就放弃

我们来看一个网络拓扑图例子:

这里写图片描述

通过拓扑图我们应该知道:

每一个路由器与其之下连接的设备,其实构成一个局域网
交换机工作在路由器之下,就是也就是交换机工作在局域网内
交换机用于局域网内网的数据转发
路由器用于连接局域网和外网

举个例子:

我们每个人相当于主机,路由器相当于快递员,宿管大爷相当于交换机,学校是一个局域网
快递员根据学校地址(IP)把包裹送到学校,再根据公寓号(子网IP)把快递交给这个公寓的宿管大爷,宿管大爷根据你的名字(MAC)交给你

它们两个可不可以少一个?

交换机在局域网内工作,它根据 MAC 地址转发数据,如果没有了路由器在网络层寻址,那么我们的数据就不能发送到其他网络终端上去了

路由器内集成了交换机的功能,主机与路由器相连也可以实现数据转发,但是不足之处是:

可扩展的接口不如交换机多
交换机通常由硬件加速转发,路由器主要靠软件寻址,速度慢

实际网络数据转发过程

此处参考:微信公众号:码农翻身,作者:刘欣

通过一个实际网络数据转发的过程,我们可以更好的理解路由器与交换机的区别所在

假设你使用电脑访问www.baidu.com

过程大致如下:
这里写图片描述

你的电脑先在应用层打包一个 HTTP报文,然后在传输层在打包成 TCP报文,然后再根据 DNS 查到的 IP 在网络层打包成 IP数据报,然后在通过链路层打包成以太网数据帧,发送给你的交换机:

这里写图片描述

你的交换机收到后,重新包装数据帧,再发送给你的路由器:

这里写图片描述
你的路由器利用 NAT,将 IP 改为自己的对外的 IP,再根据路由表选择一条合适的路径:
这里写图片描述

在接下来的过程中,每个节点都只改变 MAC 地址,然后在网络中一路向着目的地发送

转载于:https://www.cnblogs.com/WhataNerd/p/8542418.html

你可能感兴趣的文章
Scala系列:注解
查看>>
Linux kernel 发布 5.0-rc1 版本
查看>>
[转帖]创建文件或修改文件时间 touch
查看>>
【转帖】Linux mount 域控权限的共享目录
查看>>
NSURLSession的简单使用
查看>>
python征程3.0(python对象)
查看>>
jQuery 库 - 特性
查看>>
搜索好题2
查看>>
3 Selenium Python 数据库及文件
查看>>
Compounding绑定属性
查看>>
【转】jsp 和 servlet的联系和区别
查看>>
mvc4 用NPOI导出Excel
查看>>
格雷码与二进制码互相转换
查看>>
数码管的封装实验 --- verilog
查看>>
unity, 只发射一个粒子的粒子系统
查看>>
第十六章----面向对象(宠物乱斗之主面板)
查看>>
HDU 1564 Play a game
查看>>
Hdu 1407 测试你是否和LTC水平一样高
查看>>
别过来,过来我就撕票了!
查看>>
并发模型—共享内存模型(线程与锁)示例篇
查看>>