不懂就问,路由器是如何工作的?
微 信公 众号:电磁兼容之家 第2309期什么叫路由?路由器「英文:Router」又称网 关设备(Gateway),专业来说是用于连接多个逻辑上分开网络的一种设备,所谓逻辑网络是代表一个单独的网络或者一个子网。当数据从一个子网传输到另一个子网时,可通过路由器的路由功能来完成。因此,路由器具有判断网络地址和选择IP路径的功能,它能在多网络互联环境中,建立灵活的连接,可用完全不同的数据分组和介质访问方法连接各种子网,路由器只接受源站或其他路由器的信息,属网络层的一种互联设备。路由器是用来共享网络的,可以实现多台电脑使用上网,无线路由器还可以实现无线上网。作为一个找路的工具,路由器的使命就是寻找各个网络节点之间的路。换句话说,路由器就像是快递中转站,包裹会经过一个个的中转站,从遥远的地方寄到你家附近,数据包也是一样。路由器是连接两个网络的硬件设备,承担寻路功能,是网络的大门,因此,路由器又叫做网 关设备(Gateway)。路由表路由器和交换机一样,也有自己的小本本,这个路由表上记载了到各个网络节点之间的路,会记录数据来源、相应的路由条目以及下一跳。路由表就相当于路由器的导航,路由器只需要按照路由表的指示走就可以了。当然前提是,路由表中存在匹配该数据包目的 IP 地址的路由条目。路由表会周期性更新,当网络拓扑发生变化时也会更新,不用担心走错路。路由器收发数据包的流程路由器在收发数据包的时候会先查看路由表,如果路由表里有匹配项,就会把数据包交给下一跳。如果没有匹配项,就会直接丢弃数据包,然后告诉主机,这个目的地不可达。直连、静态路由、动态路由路由条目的获取来源有很多种,比如说直连、静态路由和动态路由。直连,也就是路由器的直接邻居。路由器会自己去认识邻居,然后记录下来。当然,也可以通过手动添加的方式告诉路由器目的网段的路径,也就是静态路由,适合网络规模比较小的场景。但是当网络拓扑发生变化,或是规模扩大的时候,配置和维护的成本就会很高。这时候就需要结合动态路由,让路由器通过动态的方式来学习。在大型网络中,往往采用这种动、静路由相结合的方式进行部署。三层寻址二层寻址就是交换机根据 MAC 地址,在物理层进行寻址。三层寻址就是指路由器根据 IP 地址,在网络层进行寻址。路由器三层寻址流程当主机想要发送数据的时候,首先会查看目的地是否和自己在同一个网段,如果在同一个网段就会让交换机进行二层转发。如下图所示,PC1 要给 PC2 发送数据,就会通过交换机来完成。如果不在同一个网段,主机会把数据包交给自己的路由器,路由器再根据目的 IP 查询自己的路由表,如果有匹配的条目,则交给下一跳,没有就丢弃。如下图所示,PC1 要给 PC3 发送数据,发现 PC3 和自己不在同一个网段,就会把数据包交给路由器 A,再根据路由表的条目转发给路由器 B -> C,最后通过交换机 C 送达 PC3。寻路原则既然路由器是负责找路的,那条条大路通罗马,哪条大路最近呢?默认情况下,路由的查询遵循最长匹配原则,也就是掩码越长、越精确,路由器就会优先选择那条路。然后考虑路径开销,比如说带宽、管理距离、度量值等。也就是如果从这条路走,要花上多少时间和金钱。绝大部分数据通信行为是双向的,考虑流量的时候,还要关注流量的往返,从这条路去,也得从这条路回来,回来的时候没路了,这也不行。路由查询的行为是逐跳的,到目标网络沿途的每个路由器都必须有关于该目标网段的路由信息。简单来说,数据包每经过一个路由器,路由器就会告诉它下一跳是谁,该往哪个方向走。来源:电磁兼容之家