• 动态路由协议 双点双向重分布 次优选路的解决办法


    一.问题分析
    对于动态路由协议(本实验以rip和ospf为例),再进行双点双向重分布时,可能存在问题:次优路径

    产生原因:把AD值高的路由协议(rip)重分布到AD值低的路由协议(ospf)

     

    实验部署:R1、R2、R3运行rip协议,R2、R3、R4运行ospf协议,区域为area 0

    然后在R2和R3分别将rip重分布进ospf 1和ospf 1重分布进rip

    分析:R2可以通过两种方式学习到R1的回环接口1.1.1.1/32的路由,

    第一种方式是R1通过rip将路由条目从s0/0发给R2的s0/0

    第二种方式是R1通过rip将路由条目从s0/1发给R3,然后在R3将rip重分布进ospf,再将ospf的路由信息发送给R4.最后R4转发给R2的s0/1

    比较这两个路由信息,R2从s0/0学习到的rip路由信息AD为120,从s0/1学习到的ospf路由信息AD为110,所以会优先选择AD较小的路由条目即选择第二条路由,然而这条路径并不是最好的路径。

    查看R2的路由表便可看到问题所在

    R2#show ip route

         34.0.0.0/24 is subnetted, 1 subnets
    O       34.1.1.0 [110/128] via 24.1.1.4, 00:05:13, Serial0/1
         1.0.0.0/32 is subnetted, 1 subnets
    O E2    1.1.1.1 [110/20] via 24.1.1.4, 00:05:13, Serial0/1
         2.0.0.0/32 is subnetted, 1 subnets
    C       2.2.2.2 is directly connected, Loopback0
         3.0.0.0/32 is subnetted, 1 subnets
    O       3.3.3.3 [110/129] via 24.1.1.4, 00:05:13, Serial0/1
         4.0.0.0/32 is subnetted, 1 subnets
    O       4.4.4.4 [110/65] via 24.1.1.4, 00:05:13, Serial0/1
         24.0.0.0/24 is subnetted, 1 subnets
    C       24.1.1.0 is directly connected, Serial0/1
         12.0.0.0/24 is subnetted, 1 subnets
    C       12.1.1.0 is directly connected, Serial0/0
         13.0.0.0/24 is subnetted, 1 subnets
    O E2    13.1.1.0 [110/20] via 24.1.1.4, 00:05:16, Serial0/1

    二.解决方法
     

    方法一、修改重分发的路由(R2、R3)的管理距离 (此方法不太好)

    R2(config)#router ospf 1                 //修改R2的管理距离

    R2(config-router)#distance 121

    R3(config)#router ospf 1                 //修改R3的管理距离

    R3(config-router)#distance 121

    将此协议的路由的AD改为121,对本协议所有路由都有效,改动范围太大,通常不建议这样做)

    查看R2(或R3)的路由表可见现在路径是最优的,但是其他ospf路有条目的管理距离都被改为121,可见此方法不太好

    R2#show ip route

         34.0.0.0/24 is subnetted, 1 subnets
    O       34.1.1.0 [121/128] via 24.1.1.4, 00:00:03, Serial0/1
         1.0.0.0/32 is subnetted, 1 subnets
    R       1.1.1.1 [120/1] via 12.1.1.1, 00:00:03, Serial0/0
         2.0.0.0/32 is subnetted, 1 subnets
    C       2.2.2.2 is directly connected, Loopback0
         3.0.0.0/32 is subnetted, 1 subnets
    O       3.3.3.3 [121/129] via 24.1.1.4, 00:00:03, Serial0/1
         4.0.0.0/32 is subnetted, 1 subnets
    O       4.4.4.4 [121/65] via 24.1.1.4, 00:00:03, Serial0/1
         24.0.0.0/24 is subnetted, 1 subnets
    C       24.1.1.0 is directly connected, Serial0/1
         12.0.0.0/24 is subnetted, 1 subnets
    C       12.1.1.0 is directly connected, Serial0/0
         13.0.0.0/24 is subnetted, 1 subnets
    R       13.1.1.0 [120/1] via 12.1.1.1, 00:00:05, Serial0/0

    方法二、只修改指定ADV router的路由的管理距离(必须路由的ADV router正确,通过show ip os da查看)(此方法较好)

    进入R2的ospf进程1,只将路由器3.3.3.3通告的OSPF路由AD改为121

    R2(config)#router ospf 1               

    R2(config-router)#distance 121 3.3.3.3 0.0.0.0  

    进入R3的ospf进程1,只将路由器2.2.2.2通告的OSPF路由AD改为121

    R3(config)#router ospf 1               

    R3(config-router)#distance 121 2.2.2.2 0.0.0.0

    注释:0.0.0.0是反掩码,用来对前面的2.2.2.2和3.3.3.3精确匹配

    查看R2的路由条目

    R2#show ip route

         34.0.0.0/24 is subnetted, 1 subnets
    O       34.1.1.0 [110/128] via 24.1.1.4, 00:04:03, Serial0/1
         1.0.0.0/32 is subnetted, 1 subnets
    R       1.1.1.1 [120/1] via 12.1.1.1, 00:00:23, Serial0/0
         2.0.0.0/32 is subnetted, 1 subnets
    C       2.2.2.2 is directly connected, Loopback0
         3.0.0.0/32 is subnetted, 1 subnets
    O       3.3.3.3 [121/129] via 24.1.1.4, 00:04:03, Serial0/1
         4.0.0.0/32 is subnetted, 1 subnets
    O       4.4.4.4 [110/65] via 24.1.1.4, 00:04:03, Serial0/1
         24.0.0.0/24 is subnetted, 1 subnets
    C       24.1.1.0 is directly connected, Serial0/1
         12.0.0.0/24 is subnetted, 1 subnets
    C       12.1.1.0 is directly connected, Serial0/0
         13.0.0.0/24 is subnetted, 1 subnets
    R       13.1.1.0 [120/1] via 12.1.1.1, 00:00:27, Serial0/0

    说明:虽然路径是最优的,不过 O       3.3.3.3 [121/129] via 24.1.1.4, 00:04:03, Serial0/1 这条路由条目的AD不需要修改才对,所以此方法不是最好的方法

    方法三、精准抓取需要修改AD的路由条目对它进行修改(最好的方法)

    R2(config)#access-list 1 permit 1.1.1.1 0.0.0.0
    R2(config)#access-list 1 permit 13.1.1.0 0.0.0.255
    R2(config)#router ospf 1
    R2(config-router)#distance 121 3.3.3.3 0.0.0.0 1

    (只针对3.3.3.3通告的1.1.1.0和13.1.1.0路由将AD改为121,对3.3.3.3通告的其它路由AD不变)

    R3(config)#access-list 1 permit 1.1.1.1 0.0.0.0
    R3(config)#access-list 1 permit 12.1.1.0 0.0.0.255
    R3(config)#router ospf 1
    R3(config-router)#distance 121 2.2.2.2 0.0.0.0 1

    (只针对2.2.2.2通告的1.1.1.0和12.1.1.0路由将AD改为121,对2.2.2.2通告的其它路由AD不变)

    查看R2的路由条目可见其他ospf路由条目的AD并未改变,是最好的方法
    R2#show ip route

         34.0.0.0/24 is subnetted, 1 subnets
    O       34.1.1.0 [110/128] via 24.1.1.4, 00:03:21, Serial0/1
         1.0.0.0/32 is subnetted, 1 subnets
    R       1.1.1.1 [120/1] via 12.1.1.1, 00:00:06, Serial0/0
         2.0.0.0/32 is subnetted, 1 subnets
    C       2.2.2.2 is directly connected, Loopback0
         3.0.0.0/32 is subnetted, 1 subnets
    O       3.3.3.3 [110/129] via 24.1.1.4, 00:03:21, Serial0/1
         4.0.0.0/32 is subnetted, 1 subnets
    O       4.4.4.4 [110/65] via 24.1.1.4, 00:03:21, Serial0/1
         24.0.0.0/24 is subnetted, 1 subnets
    C       24.1.1.0 is directly connected, Serial0/1
         12.0.0.0/24 is subnetted, 1 subnets
    C       12.1.1.0 is directly connected, Serial0/0
         13.0.0.0/24 is subnetted, 1 subnets
    R       13.1.1.0 [120/1] via 12.1.1.1, 00:00:08, Serial0/0

    方法四、还可以通过为OSPF设置外部路由的管理距离来解决,

    只要将外部路由的管理距离增大到超过重分布进来的协议的AD就可以了

    R2(config)#router ospf 1

    R2(config-router)#distance ospf external 121 inter-area 110 intra-area 110

    R3(config)#router ospf 1

    R3(config-router)#distance ospf external 121 inter-area 110 intra-area 110

    此方法将rip重分发为ospf的路由(external )的管理距离修改为121,

    域间路由(external )和域内路由(intra-area)管理距离仍为110
    ---------------------
    作者:Mr_Bei
    来源:CSDN
    原文:https://blog.csdn.net/mr_bei/article/details/83687742
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    七. 多线程编程3.主线程
    七. 多线程编程1.线程的概念
    六. 异常处理12.断言
    liunx 安装 mysql 5.6
    idea Unable to open debugger port (127.0.0.1:58006) Address already in use: JVM_Bind 的解决办法
    liunx 安装redis 4.0
    liunx 安装jdk1.8
    idea 去除xml文件sql语句背景色
    改变数据库和表编码
    mybatis 按in 函数参数顺序排序
  • 原文地址:https://www.cnblogs.com/xiaomai-rhce/p/10606300.html
Copyright © 2020-2023  润新知