路由协议的优先级,以及管理距离AD和metric的区别

路由协议的优先级(Preference,即管理距离Administrative Distance)一般为一个0到255之间的数字,数字越大则优先级越低。表一是通常情况下各路由协议的优先级规定:

表一:一般路由协议优先级


路由协议


优先级


DIRECT


0


OSPF


10


IS-IS Level 1


15


IS-IS Level 2


18


NSFnet主干的SPF


19


缺省网关和EGP缺省


20


重定向路由


30


由route socket得到的路由


40


由网关加入的路由


50


路由器发现的路由


55


静态路由


60


CISCO IGRP


80


DCN HELLO


90


Berkeley RIP


100


点对点接口聚集的路由


110


Down状态的接口路由


120


聚集的缺省路由


130


OSPF的扩展路由


140


BGP


170


EGP


200

各产品厂商可能对路由协议的优先级有不同的规定,表二、表三分别列出了华为、思科路由器路由优先级列表:

表二:华为路由器路由优先级


路由协议


优先级


DIRECT


0


OSPF


10


STATIC


60


IGRP


80


RIP


110


OSPFASE


150


BGP


170

表三:思科路由器路由协议优先级


路由协议


优先级


DIRECT


0


STATIC


1


EIGRP Summary


5


EBGP


20


内部EIGRP


90


IGRP


100


OSPF


110


IS-IS


115


RIP


120


EGP


140


外部EIGRP


170


IBGP


200


未知


255

路由的优先级的概念是优先级高的新路由协议可替代优先级低的同信宿路由,反之,则不然。

需要区别的是路由开销(metric)和路由优先级(preference)这两个概念。metric是针对同一种路由协议而言,对不同的路由协议,由于代表的含义不同,比较不同协议的metric是无意义的,所以要在两条不同协议的同信宿路由中作出选择,只能比较路由协议的优先级。相反,preference是针对不同路由协议而言,同协议的路由的preference优先级是一般情况下一样的,这时metric是在两条同信宿路由中作出选择的标准。

总结:路由优先级在不同协议时候,比较preference的大小,而在路由协议相同时候由于preference相同,则再比较metric的大小,进而确定最终选择的路由。

 

一般在ip route命令中静态路由中的参数“Distance metric for this route“都是指metric参数,而Administrative Distance在使用不同路由协议间比较时候,都使用默认值,如上表。一般Administrative Distance值不单独写出来,除非要更改其默认值。

PS:对于小规模的网络,使用静态路由方式很合适,以下为cisco的静态路由配置命令:

Static Routing

  静态路由:手动填加路由线路到路由表中,优点是:
1.没有额外的router的CPU负担
2.节约带宽
3.增加安全性

  缺点是:
1.网络管理员必须了解网络的整个拓扑结构
2.如果网络拓扑发生变化,管理员要在所有的routers上手动修改路由表
3.不适合在大型网络中
  静态路由的配置命令:ip route [dest-network] [mask] [next-hop address或exit interface][administrative distance] [permanent]
ip route:创建静态路由
dest-network:决定放入路由表的路由表
mask:掩码
next-hop address:下1跳的router地址
exit interface:如果你愿意的话可以拿这个来替换next-hop address,但是这个是用于点对点(point-to-point)连接上,比如广域网(WAN)连接,这个命令不会工作在LAN上
administrative distance:默认情况下,静态路由的管理距离是1,如果你用exit interface代替next-hop address,那么管理距离是0 (不同协议是AD,但是对于相同路由协议时候,是指metric
permanent:如果接口被shutdown了或者router不能和下1跳router通信,这条路由线路将自动从路由表中被删除.使用这个参数保证即使出现上述情况,这条路线仍然保持在路由表中。

路由表中的管理距离(Administrative Distance)和度量值(Metric

R1#show ip route
...省略
R    10.2.0.0[120/1] via 10.1.1.2,00:00:21,Serial0/0
C    10.3.0.0 is directly connected,Serial0/1
#####################################################################
在输出中,首先显示路由条目各种类型的简写,如“C”为直连网络,“S”为静态路由。
以上面粗体的路由为例:
“R”-------------------------表示这条路由是“RIP”协议学习得到的;
“10.2.0.0”-----------------是目的网络;
“[120/1]”-------------------是管理距离(Administrative Distance,AD)/ 度量值(Metric);
“via 10.1.1.2”-------------是指到达目的网络的下一跳路由器IP地址;
“00:00:21”-----------------是指路由器最近一次得知路由到现在的时间;
“Serial 0/0”----------------是指到达下一跳应从哪个端口出去。

技术要点:
管理距离(ADAdministrative Distance):
       用来表示路由器可能从多种途径获得同一路由,例如,一个路由器要获得“10.2.0.0/24”网络的路由,可以来自RIP,也可以是静态路由。不同途径获得的路由可能采取不同的路径到达目的网络,为了区分不同路由协议的可信度,用管理距离加以表示。
       管理距离越小,说明路由的可信度越高;静态路由的管理距离为1,说明手工输入的路由优先级高于其他的路由。


路由协议


优先级


DIRECT


0


STATIC


1


EIGRP Summary


5


EBGP


20


内部EIGRP


90


IGRP


100


OSPF


110


IS-IS


115


RIP


120


EGP


140


外部EIGRP


170


IBGP


200


未知


255

度量值(Metric):
       某一个路由协议(相同路由协议)判别到达目的的网络的最佳的方法。当一路由器有多条路径到达某一目的网络时,路由协议必须判断其中哪一条是最佳的并把它放到路由表中,路由协议会给每一条路径计算出一个数,这个数就是度量值,通常这个值是没有单位的。
       度量值越小,这条路径越佳。然而不同的路由协议定义度量值的方法不是一样的,所以不同的路由协议选择出的最佳距离可能也是不一样的。

重分发进rip或eigrp的其他协议若不指定metric的话,默认为无穷大。

重分发进ospf的其他协议若不指定metric的话,除了BGP为1外,默认为20.

重分发进BGP的其他协议的metric值为其本身的metric值不变
---------------------------------------------------------------------------------------------------------------------------

 度量值(Metric)指明了路径的优先权,而管理距离(AD)指明了发现路由方式的优先权

同一种路由协议比较度量值,而不同路由协议比较管理距离,OSPF还有E1 2之分 cost也不同

外部协议路由重分布进OSPF 默认是E2  默认是20 bgp除外 E1的话要把经过cost都计算在内 。

同种协议管理距离一样,所以比较metric ,不同协议比较管理距离越小越优先 

时间: 2024-10-09 14:27:09

路由协议的优先级,以及管理距离AD和metric的区别的相关文章

BGP 管理距离修改及分析

所谓管理距离(AD)就是指一种路由协议的可信度,对于多种不同的路由协议到同一个目的地的路由信息,路由器首先根据管理距离的大小决定相信哪一个路由协议.管理距离只用于多种协议的情况下会使用,同一路由协议中,选路按照该路由协议的选路机制,而不会用管理距离来选路.管理距离越小,其优先级越高,可信度越高. 如上图,在R6上查看BGP路由表 R6#show ip route bgp Codes: L - local, C - connected, S - static, R - RIP, M - mobil

RIP 协议中管理距离的应用

一.管理距离的作用 管理距离是确定一个路由协议的有效性或可信程度的一种度量值.在各种路由协议中,从最可信到最不可信进行了排序.当到达同一目标有多个不同协议产生的路径时,用于确定最佳路由. 常用的不同协议的默认管理距离如下表: 路由源(路由协议) 默认管理距离 直连路由 0 静态到接口 0 静态到下一跳 1 External BGP 20 OSPF 110 IS-IS 115 PIR V1,V2 120 Internal BGP 200 未知 255 由上表可以看到当管理距离为255时,该协议产生

【CCNP】路由策略:管理距离控制路由走向(解决次优路径)

实验拓扑: 如图,属于ospf中的双点双向重分发,上面方框表示运行的是ospf协议,下面方框表示运行的是RIP协议. 实验目的:1.将RIP和OSPF互相重分发,观察会发生什么问题 2.通过改变管理距离,解决次优路径问题 实验步骤: 首先完成基本配置 R1 R1#conf t Enter configuration commands, one per line.  End with CNTL/Z. R1(config)#int f0/1 R1(config-if)#ip add 10.1.12.

CCNP实验四:修改OSPF的本地管理距离

一:基本配置 r1(config)#router ospf 1 r1(config-router)#net 1.1.0.0 0.0.255.255 area 1 r1(config-router)#net 12.1.1.1 0.0.0.0 area 0 r1(config-router)#redistribute connected subnets r2(config)#router ospf 1 r2(config-router)#net 12.1.1.2 0.0.0.0 area 0 r2(

CCNP实验五:修改OSPF各类型路由的管理距离

一:基本配置 r1(config)#router ospf 1 r1(config-router)#net 1.1.0.0 0.0.255.255 area 1 r1(config-router)#net 12.1.1.1 0.0.0.0 area 0 r1(config-router)#redistribute connected subnets r2(config)#router ospf 1 r2(config-router)#net 12.1.1.2 0.0.0.0 area 0 r2(

CCNP实验六:修改OSPF特定邻居源的路由管理距离

一:基本配置 r1(config)#router ospf 1 r1(config-router)#net 1.1.0.0 0.0.255.255 area 1 r1(config-router)#net 12.1.1.1 0.0.0.0 area 0 r1(config-router)#redistribute connected subnets r2(config)#router ospf 1 r2(config-router)#net 12.1.1.2 0.0.0.0 area 0 r2(

CCNP实验七:修改OSPF特定路由条目的管理距离

一:基本配置 r1(config)#router ospf 1 r1(config-router)#net 1.1.0.0 0.0.255.255 area 1 r1(config-router)#net 12.1.1.1 0.0.0.0 area 0 r1(config-router)#redistribute connected subnets r2(config)#router ospf 1 r2(config-router)#net 12.1.1.2 0.0.0.0 area 0 r2(

管理软件公司与互联网公司的区别

笔者是一个老程序员,自2002年进入.NET开发领域,一直未曾放弃.期间经历过管理软件公司,互联网公司,有国内企业和外资企业,深感其中的差异,撰写文分析两者的联系和区别,供读者朋友参考. 技术 1 管理软件公司用的技术一般是老的,稳定的,成熟的技术.比如.NET Remoting,Windows Forms,Web Forms,而互联网公司一般会追求新的技术,比如Redis,微服务,Hadoop等.管理软件公司会使用SQL Server Analysis Services作OLAP分析工具,而新

(c/c++内存管理)堆和栈的区别

摘要:内存管理向来是C/C++程序设计的一块雷区,大家都不怎么愿意去碰她,但是有时不得不碰它.虽然利用C++中的smart   pointer已经可以完全避免使用指针,但是对于对于指针的进一步了解,有助于我们编写出更有效率的代码,也有助于我们读懂以前编写的程序. 五大内存分区 在C++中,内存分成5个区,他们分别是堆.栈.自由存储区.全局/静态存储区和常量存储区. 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区.里面的变量通常是局部变量.函数参数等. 堆,就是那些由n