Lab Block hole of BGP

Lab Block hole


Platform:cisco iou

什么是路由黑洞? 简单的说,它会默默的将数据包丢弃,使所有数据包有去无回。
我们通过下面的一些例子来了解路由黑洞。
说明:在R1,R2,R3之间运行OSPF;
      在R4和R1之间运行EBGP;
      在R3和R5之间运行EBGP;
      在R1和R3之间运行IBGP。

    当R1从AS4学习到一条到4.4.4.4/32的路由,然后通过IBGP连接把它宣告给R3,R3通过next-hop-self策略将next-hop改成自己的路由器ID,然后将该路由宣告给AS5。于是,AS5中的路由器开始转发4.4.4.4/32的路由给R3。R3执行一个到4.4.4.4/32的路由查找,并了解到是通过R1可以达到该网络。于是又查找R1的IP地址,通过查找了解到可以通过R2到达。但是外部路由是通过IBGP由R1和R3共享的。OSPF无法了解到外部路由。因为,当数据包被转发给R2以后,路由器进行路由查找但是没有找到4.4.4.4/32的路由。就会丢弃所有往该地址的数据包,到网络4.4.4.4/32的数据流量就形成了黑洞。


方案一:在R1上将BGP里的4.4.4.4/32重分发到IGP里;在R3上将BGP里的5.5.5.5/32重分发到IGP里。这样做的原因是让R2的路由表也学到了4.4.4.4/32和5.5.5.5/32,当数据包到R2时,查找路由表,寻找相应的下一跳。

Step 1、Bridge

Step 2、R1,R2,R3 (IGP)

Step 3、R1,R4之间运行EBGP。R3,R5之间运行EBGP。通告:4.4.4.4/32,5.5.5.5/32。
R1:
router bgp 123
 no synchronization
 neighbor 14.1.1.4 remote-as 4
 no auto-summary

R3:
router bgp 123
 no synchronization
 neighbor 35.1.1.5 remote-as 5
 no auto-summary 

R4:
router bgp 4
 no synchronization
 network 4.4.4.4 mask 255.255.255.255
 neighbor 14.1.1.1 remote-as 123
 no auto-summary

R5:
router bgp 5
 no synchronization
 network 5.5.5.5 mask 255.255.255.255
 neighbor 35.1.1.3 remote-as 123
 no auto-summary

Step 4、R1,R3之间建立IBGP连接。
R1:
router bgp 123
 no synchronization
 neighbor 3.3.3.3 remote-as 123
 neighbor 3.3.3.3 update-source Loopback0
 neighbor 3.3.3.3 next-hop-self
 no auto-summary

R3:
router bgp 123
 no synchronization
 neighbor 1.1.1.1 remote-as 123
 neighbor 1.1.1.1 update-source Loopback0
 neighbor 1.1.1.1 next-hop-self
 no auto-summary

Step 5、在R1和R3分别将4.4.4.4/32和5.5.5.5/32重分发到IGP里。
R1:
router ospf 100
 redistribute bgp 123 subnets route-map ccnp

ip prefix-list ccna seq 5 permit 4.4.4.4/32
route-map ccnp permit 10
 match ip address prefix-list ccna

R3:
ip prefix-list ccna seq 5 permit 5.5.5.5/32
route-map ccnp permit 10
 match ip address prefix-list ccna

router ospf 100
 redistribute bgp 123 subnets route-map ccnp

Step 6、测试成功。

方案二:关闭同步采用全网状IBGP连接,可以AS内防止BGP路由环路并且保证BGP路由上的所有路由器都知道如何将数据包转发到目的地。
同步:一条从IBGP邻居学习到的路由在进入IGP路由表或者宣告给一个BGP对端之前,通过IGP必须知道该路由。

关闭同步的好处:
设置同步的话,需要你的AS内的IGP有BGP的路由,这样会极大的增加路由器的负担。而且不会出现路由黑洞的情况。

Step 1、配置各台路由器的IP地址,并且使用Ping命令确认各路由器的直连口的互通性。

Step 2、R1,R2,R3之间运行OSPF,并通告环回口,使R1,R2,R3都能互相学习。并使用ping测试是否已学习路由。

Step 3、R1,R4之间运行EBGP。R3,R5之间运行EBGP。通告:4.4.4.4/32,5.5.5.5/32。

Step 4、R1,R2,R3之间建立全互连的IBGP连接。
R1:
router bgp 123
 no synchronization
 neighbor 2.2.2.2 remote-as 123
 neighbor 2.2.2.2 update-source Loopback0
 neighbor 2.2.2.2 next-hop-self
 neighbor 3.3.3.3 remote-as 123
 neighbor 3.3.3.3 update-source Loopback0
 neighbor 3.3.3.3 next-hop-self
 no auto-summary

R2:
router bgp 123
 no synchronization
 network 2.2.2.2 mask 255.255.255.255
 neighbor 1.1.1.1 remote-as 123
 neighbor 1.1.1.1 update-source Loopback0
 neighbor 1.1.1.1 next-hop-self
 neighbor 3.3.3.3 remote-as 123
 neighbor 3.3.3.3 update-source Loopback0
 neighbor 3.3.3.3 next-hop-self
 no auto-summary

R3:
router bgp 123
 no synchronization
 neighbor 1.1.1.1 remote-as 123
 neighbor 1.1.1.1 update-source Loopback0
 neighbor 1.1.1.1 next-hop-self
 neighbor 2.2.2.2 remote-as 123
 neighbor 2.2.2.2 update-source Loopback0
 neighbor 2.2.2.2 next-hop-self
 no auto-summary

Step 5、完成,在R4使用命令进行测试 ping 5.5.5.5 source 4.4.4.4


结论:解决路由黑洞的方法不仅仅以上的两种方案,如使用静态路由、反射器等等。


 

发布了220 篇原创文章 · 获赞 2 · 访问量 4463

猜你喜欢

转载自blog.csdn.net/qq_43207781/article/details/105480910
BGP