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

他们在哪里工作?

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

交换机 ospf 过滤某网段 交换机帧过滤_网络

它们怎么工作?

它们的主要工作如下:

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

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

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

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

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

以下是一个网络拓扑图的例子:

交换机 ospf 过滤某网段 交换机帧过滤_网络协议_02


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

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

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

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

举个例子:

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

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

它们两个缺一不可

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

路由器内集成了交换机的功能,主机与路由器相连可以实现数据转发

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

实际网络数据转发过程

电脑访问www.baidu.com过程:

交换机 ospf 过滤某网段 交换机帧过滤_网络协议_03


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

交换机 ospf 过滤某网段 交换机帧过滤_网络协议_04


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

交换机 ospf 过滤某网段 交换机帧过滤_交换机 ospf 过滤某网段_05


路由器利用NAT,将主机IP(局域网IP)转换成为外网IP,还会修改端口号,对外完全隐藏主机信息,再根据路由表选择一条合适的路径进行转发

交换机 ospf 过滤某网段 交换机帧过滤_交换机_06


接下来的路由器转发过程中,每次改变MAC地址,朝目的地址发送。

关于NAT:

NAT是一种网络隐蔽技术,通过建立IP地址映射来隐藏内部的网络
主要功能:

  • 提供内部网络的安全性
  • 共享网络地址,减少地址消耗

NAT主要三种实现方式:

  • 静态NAT:最基本的网络转化实现,只转化IP地址,建立IP地址的一对一映射,不支持端口转换
  • 网络地址与端口号转换(NAPT):这种方式支持端口的映射,并允许多台主机共享一个公网IP
  • 端口多路复用:是指改变外出数据包的源端口并进行端口转换,即端口地址转换.采用端口多路复用方式。