路由表,如何解决BGP路由在IGP路由表中的抖动

关键字: OSPF路由 WCCP EIGRP协议 QoS IBGP RIP协议

本文详细介绍如何解决BGP路由在IGP路由表中的抖动



  基本配置:

  r1:

  router bgp 9806

  nei 20.20.20.20 remote-as 4808

  bgp router-id 1.1.1.1

  r2:

  router bgp 4808

  nei 1.1.1.1 remote-as 9806

  nei 1.1.1.1 update-source lo0

  bgp router-id 20.20.20.20

  network 20.20.20.21 mask 255.255.255.255

  只有以上配置r1和r2的bgp邻居关系是建立不起来的,一定要记住还需在r1上配置

  nei 20.20.20.20 ebgp-multihop

  此时r1还需可达20.20.20.20,因此在r1配置

  ip route 0.0.0.0 0.0.0.0 1.1.1.2 //因为as9806是个末节点,所以只配置了默认路由,这也是导致下面问题出现的原因

  配置以上命令后bgp邻居关系成功建立,r2把20.20.20.21/32(next-hop:20.20.20.20) 的update发送给r1,r1收到更新把20.20.20.21/32后放入bgp和igp路由表,此后r1会在查询igp路由表20.20.20.21的下一跳20.20.20.20是否可达,发现20.20.20.20可通过默认路由到达,最终20.20.20.21/32(next-hop:20.20.20.20)会保留在igp路由表中。

  问题出现!!!

  这时,管理员为了让r2为了便于管理,就把r2的loopback0通过bgp发布出去

  network 20.20.20.20 mask 255.255.255.255

  r2向r1发布新的update,20.20.20.20/32(next-hop:20.20.20.20),r1收到update后把路由装入bgp和igp路由表。此时r1在igp路由表中查询20.20.20.20/32的下一跳仍为20.20.20.20(最长匹配,因此也就不会再继续查询默认路由了),这明显不合乎逻辑(自己不能信任自己),因此将所有下一跳为20.20.20.20的路由从igp路由表中删除,也就是20.20.20.20/32和20.20.20.21/32。过一会r2仍会发送新的update,r1又会重复刚才的动作,最终导致了通过bgp学到路由在igp路由表中一直振荡。

  解决办法:

  在r1上配置

  ip route 20.20.20.20 255.255.255.255 1.1.1.2

  当r1在收到20.20.20.20/32的update后,装入bgp和igp路由表,查询20.20.20.20的下一跳通过上面配置的静态路由可达,r1保持此路由在igp路由表中,因此就不会出现上面bgp路由在igp路由表中振荡的结果了。

  最后注意:

  1.当对方用来和自己建立bgp邻居关系用的接口和自己不是直连时,一定要配置一条静态路由指向对方的bgp neighbor地址

  2.对方使用loopback建立bgp邻居关系时,自己一定要配置一条ebgp-multihop



Tags:  系统路由表 电信路由表 路由表是什么 路由表配置 查看路由表 路由表

延伸阅读

最新评论

发表评论