eveplw

导航

关于OSPF+BGP的特殊场景中的研究

 

 

某一天,我的朋友给我出了这样一道题。

我给出的答案是:

1.环路是AR14-AR15产生。

2.AR15先引入了OSPF的路由,那么AR13上OSPF外部优先级150就会在全局路由表中顶掉255优先级的BGP,所以AR13上无法再引入OSPF到BGP。

朋友也认同这种说法。

但是事情还没有完,远远没有想象的这么简单......

 

在实验中,发现AR13访问1.1.1.1并没有出现环路。AR15只有request报文,没有replay报文。

 

 

首先BGP默认不会把IBGP的路由引入到IGP里面,所以需要 import-route bgp permit-ibgp type 1特殊执行

然后是华为的告警信息,告诫我们此操作可能会引发环路。

[r4-ospf-1] import-route bgp permit-ibgp type 1
Info: This configuration may result in loops. Please do not perform this configu
ration if not necessary.

 

但是在实验中,此操作并没有发生环路。

第一步,检查AR3的路由表

 -----------------------------------------------------------------------------------

10.1.23.0/24 Direct 0 0 D 10.1.23.3 GigabitEthernet0/0/1
10.1.23.3/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1
10.1.23.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1
10.1.34.0/24 Direct 0 0 D 10.1.34.3 GigabitEthernet0/0/0
10.1.34.3/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0
10.1.34.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0

 -----------------------------------------------------------------------------------

可以发现此时AR3上没有1.1.1.1的路由,原本以为会指向AR15的G0/0/0。

第二步,检查AR3的5类LSA

 -----------------------------------------------------------------------------------

<r3>dis ospf lsdb ase

OSPF Process 1 with Router ID 10.1.34.3
Link State Database


Type : External
Ls id : 1.1.1.1
Adv rtr : 10.1.34.4
Ls age : 828
Len : 36
Options : E
seq# : 80000001
chksum : 0x44a7
Net mask : 255.255.255.255
TOS 0 Metric: 1
E type : 1
Forwarding Address : 10.1.34.3
Tag : 1
Priority : Medium

 -----------------------------------------------------------------------------------

此时发现FA地址成了AR3自己的接口ip,FA地址的作用是为了防止产生次优路径,此时指向了自身接口ip。

AR3上的5类LSA的FA地址为自身接口ip。AR3没有将此路由加入到自身全局路由表中。

至此,看来FA地址为自己接口ip时,这条5类LSA不会加入到全局路由表中。

要想此题成立,IGP路由需要换为RIP。

 

常见的环路也就是错误的路由引入(单向)、路由重分发(双向)、路由聚合等引起的,但是排查过程大致为以下办法:

1、先使用最简单的办法tracert查看路由环路经过哪些节点,之后画出这样的拓扑以备后续排查(把环路现象锁定在局部范围的节点上)。

2、 查看拓扑中所涉及到的设备的路由协议相关的配置。

3、结合拓扑和配置理清路由走向,排除问题所在。局部节点可以缩小规模,做一个模拟实验。

 

2021.9.12

更新

事情还没有完...

后续与朋友讨论和做实验验证中发现了如果将AR3和AR4网络类型改为P2P的时候,根据FA地址特性,网络类型为P2P时,FA地址为0.0.0.0,这个时候环路就真正产生了。

那么在此基础不表的情况下,怎么解决此环路现象呢。

1.在AR2上改变EBGP的优先级为120,那么这个时候就可以将EBGP路由引入到OSPF中,此时AR3上根据OSPF选路会比较开销值,下一跳就会更新为AR2,此环路就解决了。

2.AR2到AR3到AR4建立MPLS隧道,此时解决了BGP的路由黑洞问题,那么也就不看IGP的路由了,IGP的路由再怎么环路都没事了。但是默认情况下只给32位主机路由分发标签,需要在MPLS进程下敲lsp-trigger all给所以路由分发标签。就可以全网通了。

 

posted on 2021-09-11 12:53  eveplw  阅读(672)  评论(0编辑  收藏  举报