BGP重要概念
IGP是运行在AS内部的路由协议,主要有RIP、OSPF及IS-IS,着重于发现和计算路由。
EGP是运行在AS之间的路由协议,通常是BGP,它是实现路由控制和选择最好的路由协议。
这次主要讲的是BGP。
BGP它不生产路由,是路由的搬运工,就比如是把AS10的路由搬到AS20上去,network,不叫产生,叫注入,把原来产生的IGP路由注入到到BGP中,然后BGP传给其它AS就下车了。
AS之间专门使用BGP(Border Gateway Protocol,边界网关协议)进行路由传递,相较于传统的IGP协议:
BGP只是基于TCP,只要能够建立TCP连接即可建立BGP
只传递路由信息,不会暴露AS内的拓扑信息。
触发式更新,而不是进行周期性更新。
#端口号式179
BGP提供了丰富的路由策略,能够灵活的进行路由选路,并能指导对等体按策略发布路由。
BGP能够支撑MPLS/VPN的应用,传递客户的VPN路由。
BGP提供路由聚合和路由衰减功能用于防止路由振荡,通过这两项功能有效的提高了网络稳定性。
EBGP(External BGP)位于不同自治系统的BGP路由器之间的BGP对等体关系。两台路由器之间要建立BGP对等体关系,必要要满足两个条件:
- 两个路由器所属的AS不同(即AS号不同)
- 在配置EBGP时,peer命令所指定的对等体IP地址要求路由可达,并且TCP连接能够正确建立。
IBGP(Internal BGP)
位于相同的自治系统的BGP;路由器之间的BGP邻接关系。
实验场景
如下图1所示:公司的网络采用BGP协议作为路由协议,而且是由多个自治系统组成的,不同分支区域使用了不同的AS号,完成公司网络的搭建工作,根据网络场景需求底层路由使用OSPF作为IGP路由协议。
图1-拓扑搭建
实验分析
根据公司网络规划分析,有自治系统12、234、45,其中AR1属于自治系统12,AR2、AR3和AR4属于自治系统234,AR5属于自治系统45。
AR1与AR2处于不同自治系统,使用直接接口建立EBGP邻居,AR2、AR3、AR4处于同一个自治系统之间,使用环回接口建立IBGP邻居,AR4与AR5处于不同的自治系统,使用环回接口建立EBGP邻居。
实验目的
掌握BGP建立邻居的配置方法
观察IBGP与EBGP中路由的下一跳变化
掌握BGP更新源的配置方法
掌握EBGP更新源的配置方法
掌握BGP注入路由的配置方法
实验配置步骤
步骤一 基础配置与IP地址
在所有路由器上配置IP地址和子网掩码,其中都要配置环回接口0,子网掩码为32位,模拟虚拟用户。
<Huawei>system-view [AR1]ipv6 [AR1-GigabitEthernet0/0/0]ipv6 enable [AR1-GigabitEthernet0/0/0]ipv6 address 2001::1 64 [AR1-GigabitEthernet0/0/0]quit [AR1]interface LoopBack 0 [AR1-LoopBack0]ip address 1.1.1.1 32 [AR1-LoopBack0]quit <Huawei>system-view [AR2]ipv6 [AR2-GigabitEthernet0/0/0]ipv6 enable [AR2-GigabitEthernet0/0/0]ipv6 address 2001::2 64 [AR2-GigabitEthernet0/0/0]quit [AR2]interface GigabitEthernet 0/0/1 [AR2]interface LoopBack 0 [AR2-LoopBack0]ip address 2.2.2.2 32 [AR2-LoopBack0]quit [AR3]interface GigabitEthernet 0/0/1 [AR3-GigabitEthernet0/0/1]interface gigabitethernet 0/0/2 [AR3-GigabitEthernet0/0/2]interface loopback 0 [AR3]router id 3.3.3.3 [AR4]interface GigabitEthernet 0/0/0 [AR5]interface GigabitEthernet 0/0/0 [AR5-GigabitEthernet0/0/0]quit [AR5]interface LoopBack 0 |
配置完之后,记得用ping命令去测试一下直连链路的连通性。
步骤二 配置EBGP对等体
1、AR1与AR2之间使用物理直连接口建立EBGP对等体关系,配置如下:
[AR1]bgp 12 [AR2]bgp 234 |
图2- AR1与AR2成功建立EBGP邻居关系
2、 AR4与AR5之间建立EBGP邻居使用环回口建立但两个AS不同,之间的环回接口路由不可达,前提是路由要可达,不然邻居建立不起来,不用ospf,可以使用静态路由。
图3- AR4与AR5的环回口路由不可达
配置静态路由如下:
[AR4]ip route-static 5.5.5.5 32 10.1.45.5 [AR5]ip route-static 4.4.4.4 32 10.1.45.4 |
图4- AR4与AR5的环回口路由可达
[AR4]bgp 234 [AR5]bgp 45 跳数太小,因为是非直连,它的跳数TTL值是1,一跳就没有了,所以要修改挑=跳数。 (#EBGP建立邻居一般都是用直连接口建立,用环回口建立的话比较麻烦,要保证路由问题,修改更新源、修改多跳,没必要。但这是实验练习。) |
图5- AR4与AR5成功建立EBGP邻居关系
步骤三 建立IBGP对等体
自治系统AS234中使用OSPF作为IGP,AR1、AR2、AR3上配置IBGP全互联,loopback 0地址作为更新源,所以也要将loopback 0网段发布进入OSPF。
1、配置OSPF协议,配置如下:
[AR2]ospf [AR3]ospf [AR4]ospf |
图6 AR3与AR2、AR4的ospf邻居关系建立成功
2、在AR2、AR3、AR4上配置IBGP全互联,使用loopback 0地址作为更新源。
[AR2]bgp 234 [AR3]bgp 234 [AR4]bgp 234 |
图7 AR3与AR2、AR4的IBGP邻居建立成功
步骤四 配置IPv6实现EBGP邻居 建立
[AR1]bgp 12 [AR2-bgp]peer 2001::1 as-number 12 |
图8 AR1的bgp视图下一些命令解释
[AR1-bgp]ipv6-family unicast [AR2-bgp]ipv6-family unicast |
图9 AR1与AR2的IPv6成功建立EBGP邻居关系
步骤五 使用network命令注入路由信息
实验目的是实现AR1与AR5的loopback接口能通信。
等所有邻居起来之后,宣告路由,先将AR1的环回接口0地址,使用network命令将该网段注入BGP。
[AR1-bgp]network 1.1.1.1 32 [AR1-bgp]display bgp routing-table BGP Local router ID is 1.1.1.1
#有效且最优路由 *> 1.1.1.1/32 0.0.0.0 0 0 i #是通告network方式注入的路由。 |
在AR2查看到该路由,如图10所示:12表示是AS12产生的,下一跳是10.1.12.1,i表示该路由是通告network方式注入到bgp的。路由继续传递,再去AR3上查看。
图10 AR2上的bgp路由信息
如图11所示:在AR3上,可以看到下一跳是10.1.12.1,对于AR3来说是不可达的,所以该路由无效,在AR2上运行的ospf协议并没有宣告10.1.12.0网段,所以对AR3来说,该10.1.12.1地址不可达。
注意:无效且不是最优:i 有效:* 最优:> 有效且是最优路由:*>
图11 AR3的bgp路由信息与10.1.12.1的联通性
从EBGP邻居学习路由,传给IBGP的时候,下一跳不变,为什么不变呢?
也就是说:AR2从它的EBGP邻居AR1学来的路由1.1.1.1传给它的IBGP邻居AR3的时候,下一跳没有变,还是10.1.12.1,为什么呢?
因为BGP是把整个AS看出一个整体、一个大路由器,而AR2 AR3 AR4在同一个AS内,所以它们的路由器都认为下一跳是10.1.12.1。
如图12所示:AR4的情况也是一样是无效路由。
图12 AR4的bgp路由信息
所以AR2从ebgp邻居AR1上学习路由再传递给ibgp邻居AR3 、AR4下一跳不变,导致AR3、AR4下一跳不可达,出现无效路由。在AR5上查看BGP路由,是没有路由的,因为AR4上的路由是无效且不是最优路由,不会传出去。
解决:在AR2上修改下一跳路由,配置如下:
[AR2]bgp 234 [AR2-bgp]peer 3.3.3.3 next-hop-local //告诉AR3下一跳是我,不是10.1.12.1 [AR2-bgp]peer 4.4.4.4 next-hop-local //告诉AR4下一跳是我,不是10.1.12.1 [AR2-bgp] |
图13 AR4的bgp路由信息
如图12所示: 在AR3上查看路由是3有效且最优路由。
但是从AR3从AR2学习的路由能发给AR4吗;
从IBGP邻居学习路由不会发给ibgp邻居,所以AR3从ibgp邻居AR2学习的路由不会发给ibgp邻居AR4
但是AR2与AR4也有ibgp邻居,如图14所示:AR4也可以从AR2上学习到该路由。
图14 AR4的bgp路由信息
下一跳是2.2.2.2,有效且是最优路由,传递给AR5,在AR5上查看路由,如图15所示:
图15 AR5的bgp路由信息与全局IP路由表信息
图16 测试AR5与AR1的环回接口联通性
因为AR5上出接口用的是g0/0/0的10.1.45.5去ping的,如图17所示:AR1上是没有10.1.45.0网段路由的,因为我们还没把10.1.45.0网段路由注入。
图17 AR1上的10.1.45.0路由情况
那么现在应该在AR4上还是AR5上注入10.1.45.0网段?
如果是在AR5上注入,配置如下:
[AR5]bgp 45 [AR5-bgp] network 10.1.45.0 24 [AR5-bgp] |
在AR5上的 10.1.45.0会通过EBGP传给AR4,如图18所示:10.1.45.0网段对于AR4来说是直连路由,直连路由是最优的,那么BGP就会被AR4放弃了。
图18 AR4的bgp路由信息与全局IP路由表信息
如图19所示:AR3的bgp路由表,因为是次优路由,AR4不会将其发给AR2、AR3。
图19 AR3的bgp路由信息
所以选择在AR4上注入,配置如下:
[AR5]bgp 45 [AR4]bgp 234 |
图20 AR4的bgp路由信息
图21 AR3的bgp路由信息
图22 AR2的bgp路由信息
*>i 分别代表的是什么意思?
有效且最优路由:*> 从ibgp邻居学来的路由:i
如图23所示:AR1上有10.1.45.0网段路由信息了。
图23 AR1的路由信息
如24所示:AR5上能ping通AR1的环回口。
图24 在AR5上测试与AR1的环回口联通性
步骤六 使用import-route命令注入路由信息
如果想用环回接口ping通,如图24所示:
图24
还是不通,因为AR1上没有5.5.5.5路由,现在在AR4上注入还是AR5上注入?
因为在这之前AR4跟AR5上做了静态路由,静态路由的优先级为60,而BGP的优先级为255,静态路由更优,在这个前提下,要在AR4上注入。
[AR4]bgp 234 [AR4-bgp]import-route static [AR4-bgp] |
BGP是个搬运工,只要路由表上有都它都可以搬运,不过在AR4上不用该network方式做用import-route方式,如图25所示:
图25
在AR1上使用带源IP地址ping测试到AR5的loopback 0地址的联通性。
图26 测试联通性
也可以尝试一下将AR2、AR3、AR4的环回接口都network注入bgp,会发现有的环回口路由信息根本没有被传出去。也就是前面实验详细讲解的是因为路由优选影响。下面再来分析一下,巩固一下:
[AR2]bgp 234 [AR2-bgp]network 2.2.2.2 32 [AR3]bgp 234 [AR3-bgp]network 3.3.3.3 32 [AR4]bgp 234 [AR4-bgp]network 4.4.4.4 32 |
查看AR1的bgp路由信息,如图27所示:只看到了2.2.2.2/32网段传到AR1,并没有看到3.3.3.3/32跟4.4.4.4/32网段,前面也讲过了,AR2与AR3、AR4底层通信是使用ospf协议,那AR2已经通过ospf协议学习到3.3.3.3/32 ,4.4.4.4/32网段,那么AR2会优选通过ospf协议学来的,那么从它的IBGP邻居AR3、AR4学来的成为次优路由,就不会发布出去,AR1自然也不会收到。
图27 AR1的bgp路由信息
所以选择在AR2上注入:配置操作如下:
[AR3]bgp 234 [AR3-bgp]undo network 3.3.3.3 32 [AR4]bgp 234 [AR4-bgp]undo network 4.4.4.4 32 [AR2]bgp 234 [AR2-bgp]network 3.3.3.3 32 [AR2-bgp]network 4.4.4.4 32 |
查看AR2的bgp路由信息,如图28所示:
图28 AR2的bgp路由信息
查看AR1的bgp协议的路由信息,如图29所示:
图29 AR1上bgp协议的路由信息
AR4的路由表信息如图30所示:从bgp路由信息中可以看到2.2.2.2/32路由是无效路由,3.3.3.3/32路由有效且最优的,这里这两条路由都是通过它的ibgp邻居AR2传过来的,为什么2.2.2.2/32是无效,前面也讲过了,2.2.2.2/32是AR2的直连路由,直连路由是最优的,那么bgp路由成为了次优路由,并不会被传出去;
再看全局IP路由表中:3.3.3.3/32网段也是在AR2上network的,所以从ibgp邻AR1传过来的是有效且最优,前面也讲过了,AR4有从ospf协议先学来了3.3.3.3/32网段,而通过ospf学来的路由优选级高于bgp,所以看到AR4的全局IP路由表上3.3.3.3/32是显示通过ospf学来的,2.2.2.2/32网段也是。
图30 AR4的bgp路由信息与全局IP路由表信息
再来看看AR5的全局IP路由表信息,如图31所示:
图31 AR5的全局IP路由表信息
想要AR5上有2.2.2.2/32网段的话,就得是在AR4上注入。配置操作如下:
[AR2]bgp 234 [AR2-bgp]undo network 2.2.2.2 32 [AR4]bgp 234 [AR4-bgp]network 2.2.2.2 32 |
再次查看AR4的bgp路由信息与全局IP路由表信息,如如图32所示:
图32 AR4的bgp路由信息·与全局IP路由表信息
查看AR5的bgp路由信息与全局IP路由表信息,如如图33所示:
图33 AR5的bgp路由信息·与全局IP路由表信息
配置脚本
<AR1>display current-configuration <AR2>display current-configuration <AR3>display current-configuration [AR4]display current-configuration return [AR5]display current-configuration |
知识点:路由优选级越小越优,可排列为直连路由>ospf>is-is>rip>bgp文章来源:https://www.toymoban.com/news/detail-422316.html
(策略路由比路由更优先)文章来源地址https://www.toymoban.com/news/detail-422316.html
Proto | Pre |
Direct | 0 |
OSPF | 10 |
IS-IS | 15 |
Static | 60 |
RIP | 100 |
OSPF ASE、OSPF NSSA | 150 |
IBGP、EBGP | 255 |
到了这里,关于BGP协议基础配置—学习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!