路由器与交换机的区别与联系(路由器和交换机设备如何区分)

2024-07-18 18:21:29

一、路由器与交换机的区别与联系


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

它们在哪里工作?

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

图1 OSI所处层次

它们怎么工作?

它们的主要工作如下:

路由器:寻址,转发(依靠 IP 地址)

交换机:过滤,转发(依靠 MAC 地址)

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

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

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

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

图2 网络拓扑

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

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

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

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

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

举个例子:

我们每个人相当于主机,路由器相当于快递员,宿管大爷相当于交换机,学校是一个局域网

快递员根据学校地址(IP)把包裹送到学校,再根据公寓号(子网IP)把快递交给这个公寓的宿管大爷,宿管大爷根据你的名字(MAC)交给你

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

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

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

可扩展的接口不如交换机多

交换机通常由硬件加速转发,路由器主要靠软件寻址,速度慢

实际网络数据转发过程

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

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

过程大致如下:

图3 过程

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

图4

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

图5

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

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


二、简述交换机和路由器的区别


传统交换机从网桥发展而来,属于OSI第二层即数据链路层设备。它根据MAC地址寻址,通过站表选择路由,站表的建立和维护由交换机自动进行。路由器属于OSI第三层即网络层设备,它根据IP地址进行寻址,通过路由表路由协议产生。交换机最大的好处是快速,由于交换机只须识别帧中MAC地址,直接根据MAC地址产生选择转发端口算法简单,便于ASIC实现,因此转发速度极高。但交换机的工作机制也带来一些问题。 1.回路:根据交换机地址学习和站表建立算法,交换机之间不允许存在回路。一旦存在回路,必须启动生成树算法,阻塞掉产生回路的端口。而路由器的路由协议没有这个问题,路由器之间可以有多条通路来平衡负载,提高可靠性。 2.负载集中:交换机之间只能有一条通路,使得信息集中在一条通信链路上,不能进行动态分配,以平衡负载。而路由器的路由协议算法可以避免这一点,OSPF路由协议算法不但能产生多条路由,而且能为不同的网络应用选择各自不同的最佳路由。 3.广播控制:交换机只能缩小冲突域,而不能缩小广播域。整个交换式网络就是一个大的广播域,广播报文散到整个交换式网络。而路由器可以隔离广播域,广播报文不能通过路由器继续进行广播。 4.子网划分:交换机只能识别MAC地址。MAC地址是物理地址,而且采用平坦的地址结构,因此不能根据MAC地址来划分子网。而路由器识别IP地址,IP地址由网络管理员分配,是逻辑地址且IP地址具有层次结构,被划分成网络号和主机号,可以非常方便地用于划分子网,路由器的主要功能就是用于连接不同的网络。 5.保密问题:虽说交换机也可以根据帧的源MAC地址、目的MAC地址和其他帧中内容对帧实施过滤,但路由器根据报文的源IP地址、目的IP地址、TCP端口地址等内容对报文实施过滤,更加直观方便。 6.介质相关:交换机作为桥接设备也能完成不同链路层和物理层之间的转换,但这种转换过程比较复杂,不适合ASIC实现,势必降低交换机的转发速度。因此目前交换机主要完成相同或相似物理介质和链路协议的网络互连,而不会用来在物理介质和链路层协议相差甚元的网络之间进行互连。而路由器则不同,它主要用于不同网络之间互连,因此能连接不同物理介质、链路层协议和网络层协议的网络。路由器在功能上虽然占据了优势,但价格昂贵