一台路由器选择一条路由,主要考虑下面三个因素:
  • Administrative distance:用来选择从哪个协议学习的路由
  • Metrics:当从同一协议学习到多条到同一目的网段的路由后,将通过各路由协议计算到目的地最佳路由
  • Prefix length:一个到达某目的网段的数据包进入路由器后,路由器会经过最长前最匹配原则,选择到达目的网段的下一条
结合上图可以得出,路由器选路的基本分为三步如下:
1、首先,各路由协议通过各自的算法,计算到达各目的网段的最佳路由(一般IGP会选择metric最小的;当存在多条路径metric相同的情况下,可以做负载均衡) 注意此时路由未进路由表
2、其次,当存在多个路由协议同时学习到相同的路由时,将比较各路由协议的管理距离,会优选管理距离最小的路由,安装到路由表里
3、最后,通过最长前缀匹配原则,选择到达目的网段的下一跳