« RPF机制,PIM-DM工作机制,PIM-SM工作机制DNS服务器 »

BGP next-hop-unchanged的使用

实验拓扑:

实验要求:

  • R1,R2,R3,R4,R5建立OSPF邻居,并将各自的Lo0口通告进入OSPF
  • R3,R4,R5建立iBGP邻居,将R4配置为路由反射器
  • R2配置BGP200并与R1的BGP100和R3的BGP300建立邻居关系
  • 所有的BGP邻居建立都使用各自的Lo0口地址
  • R5通告一个Lo200,地址200.200.200.200进入BGP300
  • 最后要求R1能够访问到200.200.200.200

当所有的配置完成后,我们查看R1的BGP表:

已经通过BGP顺利的学到了R5的Lo200口的地址,但是当我们tracert 200.200.200.200时,发现产生了环路:

 

查看R2和R3的BGP表:

由于AS200和AS300是eBGP邻居,所有R3向R2通告200.200.200.192/27时,将下一条改为了R3出口的BGP地址,而R3是通过iBGP学到200.200.200.192/27,所以他的下一条不变

我们在查看R2的路由表:

当R1ping200.200.200.192时,数据包到达R2,R2查找路由表,发现200.200.200.192的下一条是3.3.3.3,于是将数据包发送到R3,而R3查找路由表,发现200.200.200.192的下一条是5.5.5.5,于是根据路由表将数据包发送到5.5.5.5的下一条R2,于是数据包在R2和R3之间来回发送,产生了环路。

要解决这个问题,只有改变R2到达200.200.200.192的下一条,直接去往5.5.5.5。使R3向R2的eBGP对端发送路由的时候不将下一条改为自己的地址

R3(config)#router bgp 300
R3(config-router)#neighbor 2.2.2.2 next-hop-unchanged   

这是R3发送给R2的路由的下一条已经不变:

这是再在R1上tracert 200.200.200.200,成功!

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Tags

Powered By Z-Blog 1.8 Spirit Build 80722

Copyright 2007-2008 John Winning's Blog. All Rights Reserved.