路由优先级在有的文献中也被称为路由的“管理距离”,是一个正整数,范围0~255,它用于指定路由协议的优先级。



一台路由器上可以同时运行多个路由协议。不同的路由协议都有自己的标准来衡量路由的好坏,并且每个路由协议都把自己认为是最好的路由送到路由表中。这样到达一个同样的目的地址,可能由多条分别由不同路由选择协议学习来的不同的路由。虽然每个路由选择协议都有自己的度量值,但是不同协议间的度量值含义不同,也没有可比性。路由器必须选择其中一个路由协议计算出来的最佳路径作为转发路径加入到路由表中。


实际的应用中,路由器选择路由协议的依据就是路由优先级。给不同的路由协议赋予不同的路由优先级,数值小的优先级高。当有到达同一个目的地址的多条路由时,可以根据优先级的大小,选择其中一个优先级数值最小的作为最优路由,并将这条路由写进路由表中。


路由种类

路由优先级

Direct

0

STATIC

1

OSPF

110

RIPv1、v2

120

IBGP

200

Special

255

路由优先级赋值原则为:


  • 直连路由具有最高优先级。
  • 人工设置的路由条目优先级高于动态学习到的路由条目。
  • 度量值算法复杂的路由协议优先级高于度量值算法简单的路由协议。

例如,OSPF路由协议和RIP路由协议都发现了一条去往同一个目的地的路由,因为OSPF的优先级110比RIP的优先级120高,路由器将会优先选择由OSPF协议发现的路由,并将其放入路由表中。


需要注意的是,不同厂商之间的定义可能不太一样,但是各种路由协议的优先级都可由用户通过特定的命令手工进行修改(直连路由的优先级一般不能修改)。


一般路由匹配的流程是:先匹配掩码,掩码最精确匹配的路由优先;如果掩码相同又有多条路由,则匹配管理距离,管理距离小的路由优先;如果管理距离相同,在匹配度量值,度量值小的优先;如果度量值相同,则选择负载均衡。具体的方式看采用哪种路由协议和相关的配置了。