改变路由协议管理距离

网络工程 协议论
2022-02-08 17:06:57

你好我有一个疑问

1.如果有四种协议连接,例如 rip、OSPF、static 和 direct,将使用哪个路由协议,尽管它会使用最低管理距离的一种。如果我只想将 OSPF 作为路由协议而不是静态、RIP 或任何其他路由协议,该怎么办?

2.我们可以使用什么命令来改变管理距离?

1个回答

根据您的第一个问题,答案并不像您想象的那么容易。

当配置了多个路由协议时,它们都将运行并与它们的下一跳路由器形成邻接关系并交换路由信息。大多数(如果不是每个路由协议)都有一个特定于路由协议的信息数据库,其中包含由该路由协议交换的路由。sh ip ospf database在 cisco gear 上,您可以使用或来查看它们sh ip rip database

现在,路由器必须决定将哪些路由放在他的实际路由信息库(也称为 RIB 或路由表)中。在这里,最重要的因素是路线的“精度”。即:前缀长度越大,路由越准确,越优选。只有当有两条相同的路由,即相同的子网地址和相同的子网掩码或前缀长度时,管理距离才起作用。

假设以下示例(注意 AD 是 Cisco 的默认值):

  • OSPF学习到的192.168.100.0/24,AD为110
  • RIP学习到的192.168.100.128/25,AD为120
  • 192.168.200.0/24直连,AD为0
  • 192.168.200.0/24静态路由,AD为1

在本例中,OSPF 学习到的第一条路由将被放置在路由表中。由于第二个更具体(25 位前缀而不是 24),它也被添加到路由表中。请注意,虽然第二个路由包含在第一个路由中,但由于前缀长度不同,它们并不相等。第三条和第四条路由相同,但直连路由的AD始终为0,因此首选该路由。

所以基本上你可以通过至少三种方式影响路由决策:

  • 在每个路由协议中,您都可以调整指标
  • 更改路由协议的AD
  • 宣传更具体的路线,这些路线总是首选。

更改广告

对于 Cisco 设备,您可以像这样更改路由协议的 AD:

! static routes - the last optional value (50) is the AD
ip route 192.168.100.0 255.255.255.0 1.2.3.4 50

! OSPF - can be changed in the OSPF routing process, is slightly more complicated
! The generic command is: distance <AD> <source addr> <wildcard-mask> <ACL>
! AD is configured per source router, and an additional ACL is required
! To change AD of all routes to 85 (instead of default 110)
access-list 10 permit any

router ospf 1
    distance 85 0.0.0.0 255.255.255.255 10

! RIP
! For RIP, the command is:
! distance admin-distance [ prefix prefix-length | prefix mask ]
! The command needs to be entered inside the routing process, where the last 
! elements are not required but can be used to conditionally change the distance

router rip
    distance 50

请注意,您永远不能将 AD 更改为小于或等于 0,因此路由协议无法与使用管理距离的直接连接的路由竞争。如果您需要一个路由协议来覆盖直接连接的路由,您应该问自己为什么需要直接连接。但是从技术上讲,您可以宣传更具体的路线。