BGP路由黑洞及IBGP全连接

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介:
组网需求:

1.AS65000边界网段发布:RT1、RT2重发布直连路由至OSPF(metric 1000 type 1)

2.BGP配置要求:

 no synchronization 

  no auto-summary IBGP使用LOOPBACK建立邻居,下一跳指向自己

3.RT1,RT2发布AS65000的汇总路由至BGP:10.0.0.0/16、10.3.0.0/16

4.RT5发布AS65001的汇总路由至BGP:10.5.0.0/16

5.RT6发布AS65001的汇总路由至BGP:10.6.0.0/16

6.分析路由黑洞的形成及解决方法

IGP路由的配置:

R1:

 router ospf 1

 router-id 10.0.0.1

 redistribute connected metric 1000 metric-type 1 subnets   //重发布直连网络到OSPF中

 passive-interface Serial0/1  //与EBGP相连的接口必须配置为被动接口,以免形成邻居

 network 10.0.0.1 0.0.0.0 area 0

 network 10.0.1.4 0.0.0.3 area 0

R3:

router ospf 1

 router-id 10.0.0.3

 passive-interface default

 no passive-interface Serial0/0

 no passive-interface FastEthernet1/0

 network 10.0.0.3 0.0.0.0 area 0

 network 10.0.1.0 0.0.0.3 area 0

 network 10.0.1.4 0.0.0.3 area 0

 network 10.3.3.0 0.0.0.255 area 0

 interface FastEthernet1/0               

 ip address 10.0.1.1 255.255.255.252

 ip ospf network point-to-point         //配置网络类型为点对点(不需选举DR或BDR)

R4:

router ospf 1

 router-id 10.0.0.4

 passive-interface default

 no passive-interface Serial0/0

 no passive-interface FastEthernet1/0

 network 10.0.0.4 0.0.0.0 area 0

 network 10.0.1.0 0.0.0.3 area 0

 network 10.0.1.8 0.0.0.3 area 0

 network 10.3.4.0 0.0.0.255 area 0

interface FastEthernet1/0               

 ip address 10.0.1.1 255.255.255.252

 ip ospf network point-to-point         //配置网络类型为点对点(不需选举DR或BDR)

R2:

router ospf 1

 router-id 10.0.0.2

 redistribute connected metric 1000 metric-type 1 subnets   //重发布直连网络到OSPF中

 passive-interface default   //与EBGP相连的接口必须配置为被动接口,以免形成邻居

 no passive-interface Serial0/0

 network 10.0.1.8 0.0.0.3 area 0

IBGP的配置: 

R1:

router bgp 65000

 no synchronization             //关闭同步

 neighbor 10.0.0.2 remote-as 65000      //指定IBGP邻居和AS

 neighbor 10.0.0.2 update-source Loopback0  //指定更新源为LOOPBACK 0

 neighbor 10.0.0.2 next-hop-self       //把下跳改为自己(EBGP默认)

 neighbor 10.0.15.2 remote-as 65001           //指定EBGP邻居和AS

 network 10.0.0.0 mask 255.255.0.0           /静态发布路由到BGP

 no auto-summary             //关闭自动汇总

 ip route 10.0.0.0 255.255.0.0 null 0   //添加一条静态汇总路由,用来发布

R2:

router bgp 65000

 no synchronization             //关闭同步

 neighbor 10.0.0.1 remote-as 65000       //指定邻居和AS

 neighbor 10.0.0.1 update-source Loopback0   //指定更新源为LOOPBACK 0

 neighbor 10.0.0.1 next-hop-self        //把下跳改为自己(EBGP默认)

 neighbor 10.0.26.2 remote-as 65002        //指定EBGP邻居和AS

 network 10.3.0.0 mask 255.255.0.0             /静态发布路由到BGP

 no auto-summary              //关闭自动汇总

 ip route 10.3.0.0 255.255.0.0 null 0   //添加一条静态汇总路由,用来发布

R5:

router bgp 65001          

 network 10.5.0.0 mask 255.255.0.0      //静态发布路由到BGP

 neighbor 10.0.15.1 remote-as 65000      //指定EBGP邻居和AS

 no auto-summary             //关闭自动汇总

 ip route 10.5.0.0 255.255.0.0 Null0      //添加一条静态汇总路由,用来发布到BGP

R6:

 router bgp 65002

 no synchronization             //关闭同步

 network 10.6.0.0 mask 255.255.0.0      //静态发布路由到BGP

 neighbor 10.0.26.1 remote-as 65000     //指定EBGP邻居和AS

 no auto-summary            //关闭自动汇总

 ip route 10.6.0.0 255.255.0.0 Null0     //添加一条静态汇总路由,用来发布到BGP

注意:使用IBGP时默认跳数为255,EBGP的默认跳数为1,如果使用EBGP的LOOBACK地址建邻居,需手工指定跳数

neighbor 10.10.10.10 ebgp-multihop 2 //后面接的是跳数1-255

思考:现在10.5.5.1能够PING通10.6.6.1吗?

答案是不能ping通,原因是R3上没有去往R6的路由(后面分析)

现在我们来分析一下R6上的10.6.0.0/16路由的传播!

在R6上:

   Network          Next Hop            Metric LocPrf Weight Path

*> 10.5.0.0/16      10.0.26.1                              0 65000 65001 i

*> 10.6.0.0/16      0.0.0.0                  0         32768 i

*表示有效 >表示最优 因为10.6.0.0是由本路由器始发所以下一跳是0.0.0.0,如果是重发布到BGP的就为IGP中的下一跳,本地始发路由的weight为32768,Originn属性为IGP

R2收到从EBGP收到的路由,向它所有的邻居转发

*> 10.6.0.0/16      10.0.26.2                0             0 65002 i

因为是由EBGP通告过来的,所以下一跳为EBGP的邻居地址

R1:

*>i10.6.0.0/16      10.0.0.2                 0    100      0 65002 i

从IBGP学到的路由,是否通告给EBGP,视同步而定,因为这里是关闭同步的所以能通告给R5(如果开启了同步,必须达到同步的路由才能传给EBGP),同时在R2上配置了next-hop-self将下一跳改变为自己,所以R1收到的路由的下一跳指向它的IBGP邻居

R5:

*> 10.6.0.0/16      10.0.15.1                              0 65000 65002 i

向EBGP通告路由时,将下一跳改变为自己。同理R6也能学到R5的路由

当10.5.5.1ping10.6.6.1时,R5查找路由表,匹配10.6.0.0/16的路由,下一跳为10.0.15.1为直连接口,将数发往R1,R1进行查找路由,找到匹配10.6.0.0/16路由,下一跳为10.0.0.2,不是直连接口,将下一跳为目标IP进行递归查找路由,匹配10.0..02/32的路由,下一跳为10.0.1.5为直连接口,将数据发到R3,R3以目标IP10.6.6.1进行查找路由,找不到匹配项,便丢弃数据,因为R3没有运行BGP学习不到BGP的路由,所以形成路由黑洞

解决方法:1.将BGP的路由重分布到OSPF中

     2.将AS内的路由器形成IBGP全连接

     3.路由反射器

     4.配置MPLS

方法1. 

配置如下:

R1:

router ospf 1

redistribute bgp 65000 subnets  //重分布BGP的路由到OSPF中

R2:

router ospf 1

redistribute bgp 65000 subnets //重分布BGP的路由到OSPF中

现在可以看到AS内的路由器都有AS外的路由呢,所以可以PING通了!

R3的路由表,有AS外的路由:

>

>





相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
5月前
|
网络协议
使用MPLS LDP解决BGP路由黑洞的问题
MPLS LDP默认不为BGP路由分配标签
|
4天前
|
存储 负载均衡 网络协议
BGP 技术连载:BGP 选路规则
【4月更文挑战第23天】
12 0
|
8月前
|
网络架构
交换机与路由器技术-12-单臂路由
交换机与路由器技术-12-单臂路由
38 0
|
8月前
|
网络架构
交换机与路由器技术-20-动态路由协议
交换机与路由器技术-20-动态路由协议
28 0
|
网络架构
BGP路由技术(二)
⭐本文介绍⭐ BGP(Border Gateway Protocol,边界网关协议)是一个路径矢量路由协议,和传统的基于下一跳的IGP协议不同,它是基于AS(自治系统)的协议。BGP属于外部网关路由协议,它解决的是AS之间的选路问题,也正因为这样,它更适合与互联网。学习BGP的关键在于理解BGP的报文,邻居建立,BGP路由属性,选路原则等。本文将对以上各项知识、工作原理及相关的配置做介绍。
BGP路由技术(二)
|
网络协议 数据库 网络架构
BGP路由技术(一)
⭐本文介绍⭐ BGP(Border Gateway Protocol,边界网关协议)是一个路径矢量路由协议,和传统的基于下一跳的IGP协议不同,它是基于AS(自治系统)的协议。BGP属于外部网关路由协议,它解决的是AS之间的选路问题,也正因为这样,它更适合与互联网。学习BGP的关键在于理解BGP的报文,邻居建立,BGP路由属性,选路原则等。本文将对以上各项知识、工作原理及相关的配置做介绍。
BGP路由技术(一)
|
NoSQL Redis 网络架构
BGP邻居路由黑洞+mpls ip
文章目录 要求: 拓扑: 命令:
75 0
BGP邻居路由黑洞+mpls ip
|
网络架构