“找我干啥?我啥都不知道啊!”---BGP路由黑洞

本文包含以下内容:请大家按需阅读哦。

1.路由黑洞的产生
2.路由黑洞的解决办法
3.打破水平分割
4.联邦反射器实验

上回说到,BGP直接进行路由传递,使得每一台BGP都有路由,有了路由,便可以到达。

然而,由于BGP可以非直连建邻,从而使得某些路由器没有进行BGP建立邻居,没有路由,路由经过它,就成了标题所说“找我干啥?我啥都不知道啊!”

这就是

1.路由黑洞!

在这里插入图片描述

由于bgp协议可以非直连建立邻居关系,故若两台BGP邻居间存在未运行BGP协议的路由时;可能出现路由条目可以在控制层面正常单播传递,但数据层面流量经过未运行BGP协议的设备时,无法通行;控制层面可达,数据层面不可达;

## 解决方案

1、 物理或逻辑链路全连
2、 全连的BGP邻居关系,所有设备运行bgp;
3、 将BGP路由条目重发布到IGP协议中(LAB)
4、 最佳方案---MPLS  多协议标签交换

上回说到的BGP建邻,就说采用的第2种,全连的BGP邻居关系,所有设备均跑BGP,这个办法一般差,因为需要承载大量路由的bgp路由器贵啊,哪有这么多钱去整?没必要啊!

为什么说它一般差,因为第一个更差,
在这里插入图片描述
好歹是个AS啊,重庆一个市算个AS,一条网线我牵个几百里,这钱我都能把设备升级成BGP设备了。

第三个就不用说了,也麻烦啊,路由都给我重发布过来,我一个普通路由器也承受不住啊!。

第四种,后面给大家讲来,方法就是骗,骗人给你干活,活生生的工具人!卖了还要给你数钱那种。
在这里插入图片描述

就像爱情,令人羡慕的爱情骗了一辈子,途中中断的爱情,不过是不想在欺骗下去了。

mpls内容很多,我下一篇文章中会讲到,都说了像爱情一样,能不复杂?
在这里插入图片描述
这里我们先回顾一下bgp的水平分割机制。

1、EBGP水平分割—防止EBGP环路利用BGP条目中的as-path 属性,该属性将记录所有经过的AS编号;接收到的路由条目中若as-path中存在本地的AS号,将拒绝接收;
2、IBGP水平分割—防止、IBGP环路

由于这个水平分割问题,但是为了保证建邻的可靠性,将造成的建邻十分复杂!如下所示。下面画风属于直击灵魂级别。
圈圈代表BGP路由器,线段表示建邻居关系。
在这里插入图片描述
当我增加一台设备时,建立就应该:增加一台路由器,就需要和区域里所有的BGP再建邻,
在这里插入图片描述我一个AS里有99台bgp路由器,当我再加一台进来时,就需要和99台路由器建立邻居关系,这也太复杂了把!!
在这里插入图片描述
那么就需要我们,

3.打破水平分割,减少建邻

打破水平分割两种办法,路由反射器和联邦,工程中将二者合用,减少配置。

【1】 路由反射器

3种角色,RR(反射器) 客户端    
非客户端3者构建一个簇;可以理解为RR为中心站点,客户端或非客户端是分支站点要求所有分支与中心必须是IBGP邻居关系;在一个簇中至少存在一台客户端;
规则:非不传非
1、 RR从一台EBGP邻居处学习到的路由可以传输给本地的客户端、非客户端、其他EBGP邻居
2、 RR从一台客户端邻居处学习到的路由,可以传输给本地的其他客户端、非客户端、其他EBGP邻居
3、 RR从一台非客户端邻居处学习到的路由条目,可以传输给本地的客户端,其他EBGP邻居;不得传输给本地的其他非客户端;注意:若路由条目不优,不具有传递性;反射器也无法反射路由;

在这里插入图片描述
配置十分简单:

[r3-bgp]peer 2.2.2.2 reflect-client
该指令的作用,是让2.2.2.2成为本地的客户端,同时本地成为路由反射器;

【2】 联邦将一个真实的大AS,逻辑的分为多个小AS;小AS的编号建议为私有编号;小AS间构建联邦内的EBGP邻居关系,可以向真实EBGP关系一样传递路由条目,但不修改属性; 对于该大AS外的其他AS,是不知道内部的小AS情况;

1) 所有配置全部基于小as号进行
[r3]bgp 64512
[r3-bgp]router-id 3.3.3.3confederation id  2confederation peer-as 64513
[r3-bgp]pe 2.2.2.2 as-number 64512
[r3-bgp]pe 2.2.2.2 connect-interface LoopBack 0
[r3-bgp]pe 4.4.4.4 as-number 64513
[r3-bgp]pe 4.4.4.4 connect-interface LoopBack 0
[r3-bgp]peer 4.4.4.4 ebgp-max-hop 2

2)联邦内所有运行BGP协议的设备均声明自己所在的大AS号
[r2]bgp 64512
[r2-bgp]confederation id  2

3)小AS间互指peer;在联邦内的ebgp邻居关系间的两台设备,互相定义对端的小AS号;
[r4-bgp]confederation peer-as 64512

切记:华为设备,必须先定义联邦的id,和互相小AS号后再配置邻居关系建立的命令;在实际的工程案例中,联邦和反射器是同时被使用,降低配置量;

4.联邦反射器实验

拓扑图和实验要求如下:
在这里插入图片描述
1. 全网拥有合法IP地址
AS2基于172.16.0.0/16网段进行划分Ip地址可规划如下:

骨干网段:172.16.1.0/24
	172.16.1.0/30 172.16.1.4/30 172.16.1.8/30--172.16.1.252/30
R2:172.16.2.0/24
	环回172.16.2.1/32 用户端:172.16.2.128/25
R3:172.16.3.0/24
	环回172.16.3.1/32 用户端:172.16.3.128/25
R4:172.16.4.0/24
	环回172.16.4.1/32 用户端:172.16.4.128/25
R5:172.16.5.0/24
	环回172.16.5.1/32 用户端:172.16.5.128/25
R6:172.16.6.0/24
	环回172.16.6.1/32 用户端:172.16.6.128/25
R7:172.16.7.0/24
	环回172.16.7.1/32 用户端:172.16.7.128/25

在这里插入图片描述
规划并配置ip后,在AS2内部起ospf。
在这里插入图片描述
可以看到,AS2中内网ospf学到了全部的路由。

2建立邻居:在这里插入图片描述
R4:
在这里插入图片描述
R6:
在这里插入图片描述
R7:
在这里插入图片描述
可以看到bgp联邦建邻完成。
3.bgp宣告
通过宣告R1的环回可以看到,R2上有该条网段。在R3和R5上有非优秀路由,
在这里插入图片描述

判断原因是由于下一跳的原因,故更改下一跳

更改下一跳后,在R3和R5上成为优秀路由。

在这里插入图片描述

更改后,在R6上R1的环回也成为了优秀路由,是由于对于R4来说,从R2处学到的R1的环回是属于EBGP处来的,可以传给域内邻居,下一跳为R2的环回,由于R2和R6在同一个IGP内,下一跳可达,所以是一条优秀的路由。

此时需要在R3和R6上做反射器,两边谁做客户端都可以。
在这里插入图片描述
此时可以看到全网都有了R1的环回。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
对于R6和R7上为何是两条路由
在这里插入图片描述

AR3上做了反射器,反射器将路由反射给了R4,R4通过EBGP传给了R7,R7将从EBGP处学到的路由传递给本地R6,使R6上有两条R1环回路由。随后在R6上配置反射器,通过反射器同样给R7传了一条R1的ibgp邻居处传来的路由。

再宣告R8的环回,同理,在R7上修改到R6和R4的下一跳。
在R3上可以看到:
在这里插入图片描述

确实是两条R8的环回路由,而R2上只有一条,这是由于bgp的选路规则,R3的router-id大于R5的,于是便优选了这条。选路规则,

将下一篇文章当中讲述,喜欢的小伙伴可以关注我
在这里插入图片描述
R2上依然是对于这条路由是负载均衡的,走上下两条路。
在这里插入图片描述

空接口路由宣告,既防止黑洞,也可以汇总,一举两得

在这里插入图片描述

进行AS2内宣告。为使汇总路由尽量少,我划分的时候是划分的172.16.1.0-172.16.7.0这个网段,如果只宣告,用户端接口,这里我才觉得我的划分不够好,用一条空接口路由宣告整个网络,不过,这样只能宣告172.16.0.0/21网段。这样内部的整个结构都宣告进去了,这样不太好,应该分开。应该使其不在同一个网段内。

在R2上宣告这个大网段,随后,R1的环回便可实现全网访问。
在这里插入图片描述
在这里插入图片描述

同理在R7上做同样的操作,其实R7上可以不做,也能实现R8环回的全网访问,因为它得到了AS2的全部路由。这时查看R3上路由便可发现其原因:他学到了两条路由172.16.0.0/21的网段,下一跳是R2和R7处。

在这里插入图片描述
查看R1路由表:
在这里插入图片描述
在AS2中只有一条路由。路由条目非常的少了,使用bgp当然是能汇总的路由汇出来的条目越少越好。这样传递才能减少其路由负载量。

实验终于完成!嘿嘿。

喜欢的小伙伴可以关注博主呀!给博主点个赞吧。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42707739/article/details/104835207