MPLS解决BGP路由黑洞

MPLS解决BGP路由黑洞

拓补图以及实验要求

在这里插入图片描述
在这里插入图片描述

配置思路和过程

根据要求(AS2的IP地址为172.16.0.0/16)可知该要求为子网划分。
首先是划分R2-R7骨干网络,可以看到AS2中总共有七段骨干网络,因此需要划分6个网段,同时考虑到骨干网络IP地址的不浪费,因此借14位,所以得到以下IP地址:
172.16.0.0/30
172.16.0.4/30
172.16.0.8/30
172.16.0.12/30
172.16.0.16/30
172.16.0.20/30
172.16.0.24/30
第二步是考虑到BGP协议中的IBGP区域下使用环回作为建邻地址,同时考虑到IP地址的不浪费,因此直接使用32位子网掩码的主机地址作为建邻地址,所以得到以下IP地址:
R2-R7建邻地址:
172.16.1.2/32
172.16.1.3/32
172.16.1.4/32
172.16.1.5/32
172.16.1.6/32
172.16.1.7/32
最后根据题目要求,AS2区域中的每台路由器需要配置一个环回接口作为用户接口,同时考虑到IP地址的不浪费,且一般用户网络都是使用24位子网掩码,所以得到以下IP地址:
R2-R7环回地址:
172.16.2.0/24
172.16.3.0/24
172.16.4.0/24
172.16.5.0/24
172.16.6.0/24
172.16.7.0/24

划分好子网后,接下来就是配置IP地址了,由于IP地址配置过于简单,这里不做演示。那么下面进行IGP环境的建立,因为BGP环境的构建是建立在IGP环境的基础上的。而拓补图中仅有AS2区域存在IGP环境,那么运行ospf动态路由配置一个区域0就够了(此处根据具体需求而定)。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
以上两图为R2和R7上的ospf配置指令,其中的第二第四幅图中红框框住的为设置该客户网络代表的环回接口使用广播的网络类型(这个关系到路由表中显示的客户网络路由条目掩码)。以此类推,其余AS2中路由器不一一展示。

构建完IGP环境后,查看R2的IP动态路由表(OSPF)可以看到
在这里插入图片描述
由于上面更改了广播类型,因此各路由器上的客户网络路由条目为24位掩码,其余路由自动改为主机路由(该原因自行查阅HCIA笔记,此处不解释)。

当IGP环境构建好了之后就是构建BGP环境了。而BGP分为EBGP(外部BGP)和IBGP(内部BGP),因此配置的过程也有所区别。根据拓补图可以看出,AS1和AS2之间以及AS2和AS3之间需要使用EBGP,在AS2区域中需要使用IBGP。其中AS2由于路由器数量较多,处理不好会出现路由黑洞,处理路由黑洞的方法有很多,在这里不多解释。在这个实验使用的解决方法是使用MPLS。

接下来就是配置过程了,先配置MPLS,只需要在AS2中配置。
下面是R2的MPLS配置指令:
“[R2]mpls lsr-id 172.16.1.2(稳定的且掩码为32位的建邻环回接口地址)”
“[R2]mpls”
“[R2-mpls]mpls ldp”
“[R2-mpls-ldp]q”
“[R2]interface g0/0/1(运行MPLS的接口)”
“[R2-GigabitEthernet0/0/1]mpls”
“[R2-GigabitEthernet0/0/1]mpls ldp”
“[R2]interface g0/0/2”
“[R2-GigabitEthernet0/0/2]mpls”
“[R2-GigabitEthernet0/0/2]mpls ldp”
此处为具体示例,真实情况下,运行MPLS的每个路由器需要运行MPLS的接口都要配置一遍,以此类推,不一一展示。

在这里插入图片描述
在这里插入图片描述
以上两图为MPLS环境建成后查看R2和R3的MPLS邻居表
到这里,还有关键的一步,那就是要在AS2中运行BGP的路由器上敲一条指令“route recursive-lookup tunnel”来开启“路由基于隧道进行递归查找”的功能

MPLS环境建成后,接下来就是配置BGP,先配置EBGP。
先是R1和R2、R5之间的EBGP:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
再来R7和G8之间的EBGP:
在这里插入图片描述
在这里插入图片描述
最后再配置AS2中的IBGP:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
然而配置了MPLS后,IBGP就只需要配置运行BGP的路由器,而AS2中运行BGP的就只有R2、R5和R7。同时配置IBGP环境最好使用环回接口(稳定),因此需要敲指令“peer 邻居入接口地址 connect-interface 环回接口号”。

由于AS2中存在不使用BGP的路由器,因此这部分路由器需要配置一个缺省路由(普遍是静态缺省,原因是稳定)指向AS2中的BGP路由器。而在AS2中的这部分路由器就是R3,R4和R6,此处不演示。

那么整个BGP环境就配置完成了,接下来就是宣告路由。
BGP的路由宣告原理是根据IP路由表中的路由进行宣告。那么先看R1和R8的宣告。
在这里插入图片描述
在这里插入图片描述
以上两图分别宣告了用户接口和骨干网络,建邻环回无需宣告。

紧接着到IBGP环境中的路由宣告,原理大致一样,但是由于IBGP下一跳属性规则原因,因此需要更改下一跳,不然会下一跳不可达导致路由条目不优而无法正常传递路由,因此要敲指令“peer 邻居入接口地址 next-hop-local”从而把下一跳地址改为本地,如下两图所示。当然,这条指令只用在连接其它AS区域的路由器敲。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下面宣告AS2中的路由,可以通过汇总来方便快速地宣告。到此有一个问题出现,BGP的路由汇总有一个麻烦的设定,那就是首先要将需要汇总的路由条目宣告到BGP路由表中,然后再进行汇总,最后会产生一条通向空接口的路由条目避免路由黑洞的产生。然而很多时候路由条目数量达到一定数量时,逐一宣告路由就会显得很乏力,同时进行路由汇总往往就是为了方便自己进行路由宣告,简单来说,路由汇总可以相对应减少我们进行路由宣告的操作量。而BGP对于路由汇总的设定只会加大我们的操作量。因此也相对应的出现了另外的一种路由汇总的方法。这个方法其实就是进行反向操作,先在IGP环境下通过静态路由配置一个汇总的路由条目指向空接口,这样就会在IP路由表中出现汇总后的路由指向空接口的路由条目,我们都知道BGP的宣告方式只能是宣告IP路由表中出现的路由条目,那么此时就可以直接在BGP宣告汇总后的路由条目,这种方式可以大大的减少我们的操作量,同时效果也是一样的。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
接着就像上图中宣告汇总后的路由条目就可以了,同时要在R2,R5和R7上宣告连接其它AS的路由条目。此处不做演示。

然后进行实验的要求③和要求④。而要求④是建立在完成要求③后自动完成的。
接下来我们要另外在R2上宣告它们的客户网络路由条目。
在这里插入图片描述
然后在R1上配置前缀列表和策略路由配合使用。
在这里插入图片描述
如上图所示,先用前缀列表抓取路由
然后用策略路由配合选路,下面是配置指令:
“”
在这里插入图片描述
其中使用了BGP的as-path属性进行选路
最后在BGP1中的两个进借口分别执行就可以完成实验要求③的选路
在这里插入图片描述
此时查看R1上的BGP路由表
在这里插入图片描述
可以看到已经按照要求③的路线走了,同时又保留了另外一条路线,这也就对应的完成了要求④。
在此,实验完成。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值