路由

路由的概念

路由是网络设备根据IP地址对数据进行转发的操作。IP路由的过程:当路由器收到一个数据包时,它根据数据包的目的IP地址查询路由表,如果有匹配的路由条目,就根据查询结果将数据包转发出去,如果没有任何匹配的路由条目,则将数据包丢弃。除了路由器,三层交换机、防火墙、负载均衡设备甚至主机等设备都可以进行路由操作,只要这个设备支持路由功能。
路由
在TCP/IP通信中,网络层的作用是实现终端的点对点通信。IP协议通过IP地址将数据包发送给目的主机,能够让互联网上任何两台主机进行通信。IP地址可以识别主机和路由器,路由器可以把全世界的网络连接起来。
选择路由到达目的地址

什么是路由器

路由器可以连接多个网络。它有多个端口,分别连接不同的网络区域。通过识别目的IP 地址的网络号,再根据路由表进行数据转发。路由器会维护一张路由表,通过路由表的信息,路由器才能正确的转发IP报文。
路由器示意图
路由器是将计算设备和网络连接到其他网络的联网设备。路由器有三个主要功能。

  • 路径确定:路由器确定数据从源传输到目的地时所采用的路径。它试图通过分析延迟、容量和速度等网络指标来找到最佳路径。
  • 数据转发:路由器将数据转发到选定路径上的下一台设备,最终到达其目的地。设备和路由器可能位于同一网络,也可能位于不同网络。
  • 负载均衡:有时,路由器可能会使用多个不同的路径发送相同数据包的副本。这样做是为了减少因数据丢失而导致的错误,创建冗余并管理流量。

什么是路由表

为了将数据包发给目的节点,所有节点都维护着一张路由表。路由表是路由器通过各种途径获得的路由条目,每一个路由条目包含目的网段地址 / 子网掩码、路由协议、出接口、下一跳 IP 地址、路由优先级和度量值等信息。路由表记录 IP 包在下一跳应该发给哪个路由器。IP 包根据路由表在各个数据链路上传输。
一个实际的网络中,一台路由器通常包含多条路由条目,这些路由条目从不同的来源获取。路由表的来源可分为三类,分别是直连路由、静态路由和动态路由。
直连路由:路由器直接连接的路由条目,只要路由器接口配置了IP地址,接口状态正常,就会自动生成对应的直连路由。
静态路由:通过命令手动添加的路由条目就是静态路由。
动态路由:通过路由协议从相邻路由器动态学习到的路由条目。

路由优先级

不同来源的路由有不同的优先级,优先级的值越小,则路由的优先级就越高。当存在多条目的网段相同,但来源不同的路由时,具有最高优先级的路由成为最优路由,将被加入到路由表中,而其它路由则处于未激活状态,不显示在路由表中。
路由协议的默认优先级如下:
路由优先级

动态路由协议

静态路由是手动添加完成的。如果有 100 个网段,一个路由器就需要设置将近 100 条路由信息。网络使用过程中,不可避免的出现网段新增、删除、修改等情况,这些更新的路由信息需要在所有路由器上进行设置。还有一个不可忽视的问题,一旦某个路由器出现故障,数据传输无法自动绕过故障节点,只能通过手动设置才能恢复正常。
静态路由示意图
如果是使用动态路由,提前设置好路由协议,路由器之间会定期交换路由信息,路由器会知道网络中其它网段的信息,动态生成路由表。如果网络出现变化,网段需要增删改时,只需要在相应的路由器上配置动态路由即可。不需要像静态路由那样,在所有路由器上进行修改。对于大型网络,路由器个数较多时,主要使用动态路由协议。
动态路由示意图
即使网络上的节点出现故障,只要有一个可绕行的其它路径,那么路由器的路由表会自动重新设置,数据包也会自动选择这个路径。
采用路由协议后,网络拓扑结果变化的响应速度会大大提升。无论网络正常的增删改,还是异常的网络故障,相邻的路由器都会检测到变化,会把拓扑的变化通知网络中其它的路由器,使它们的路由表产生相应的变化。这个过程比手动对路由表的修改要快很多,也准确很多。
对于少于10个路由器的小型网络,静态路由或许已经能够满足需求,但是在大中型网络中,通常会使用动态路由协议,或者动态路由与静态路由协议相结合的方式来建设这个网络。

路由协议基本原理

路由器之间需要运行相同的路由协议,才能相互交换路由信息。每种路由协议都有自己的语言,即相应的路由协议报文。如果两台路由器启动了相同的路由协议,那么就有了相互通信的基础。不同的路由协议,有相同的目的,就是计算和维护路由表。通常工作过程包含 4 个阶段:

  • 邻居发现阶段:运行了路由协议后,路由器会主动把自己的网段信息发送给相邻的路由器。既可以使用广播发送路由协议消息,也可以单播将路由协议消息发送给指定的邻居路由器。
  • 交换路由信息阶段:发现邻居后,每台路由器都将自己的路由信息发送给相邻的路由器,相邻路由器又发送给下一个相邻的路由器。经过一段时间后,每台路由器都会收到网络中所有的路由信息。
  • 计算路由阶段:每一台路由器都会运行某种算法,计算出最终的路由表来。
  • 维护路由阶段:为了感知突然发送的网络故障,比如:设备故障或线路中断等,路由协议规定相邻两台路由器之间,应该周期性发送协议报文。如果路由器在一段时间内,没收到邻居发来的协议报文,就认为邻居路由器失效。
    路由协议示意图

备注:本文参考如下两篇博客,如有侵权,请告知删除。

https://www.eet-china.com/mp/a66189.html
https://aws.amazon.com/cn/what-is/routing/

如有错误,欢迎大家评论批评指正

posted @ 2023-11-17 10:56  技术小白求安排  阅读(125)  评论(0)    收藏  举报