R1与R2运行IGP协议,通过IGP可以学习到对方loopback0的路由,使用loopback0作为update-source建立邻居关系。
如果将R1和R2loopback地址使用network命令宣告进BGP进程,就会产生邻居的flapping现象。
当把loopback0地址宣告到BGP进程中时,会把这条路由传递给EBGP邻居,从EBGP邻居学到的路由的管理距离是20,小于IGP的默认管理距离,EBGP路由优,BGP路由替代IGP路由写入路由表,当BGP检测到neighbor后边的地址不可达时,会断掉BGP邻居会话,BGP路由被删除,IGP路由重新写入路由表。这样就产生了EBGP邻居flapping的现象。
R1:
interface Loopback0
ip address 1.1.1.1 255.255.255.255
!
interface FastEthernet0/0
ip address 12.1.1.1 255.255.255.0
duplex auto
speed auto
!
router ospf 110
log-adjacency-changes
network 1.1.1.1 0.0.0.0 area 0
network 12.1.1.1 0.0.0.0 area 0
!
router bgp 1
no synchronization
bgp log-neighbor-changes
network 1.1.1.1 mask 255.255.255.255
neighbor 2.2.2.2 remote-as 2
neighbor 2.2.2.2 ebgp-multihop 255
neighbor 2.2.2.2 update-source Loopback0
no auto-summary
R2:
interface Loopback0
ip address 2.2.2.2 255.255.255.255
!
interface FastEthernet0/0
ip address 12.1.1.2 255.255.255.0
duplex auto
speed auto
!
router ospf 110
log-adjacency-changes
network 2.2.2.2 0.0.0.0 area 0
network 12.1.1.2 0.0.0.0 area 0
!
router bgp 2
no synchronization
bgp log-neighbor-changes
neighbor 1.1.1.1 remote-as 1
neighbor 1.1.1.1 ebgp-multihop 255
neighbor 1.1.1.1 update-source Loopback0
no auto-summary
查看BGP的flapping现象
解决方法:
1.EBGP建立邻居时不要把环回口引入BGP
注意:并不是EBGP使用环回口建立邻居就不能使用IGP协议学习环回口的路由,而是不能将环回口地址引入BGP中
2.使用静态路由
静态路由的管理距离小于EBGP路由的管理距离
3.network+backdoor
建立后门链路,使环回口的路由的管理距离为200,比IGP路由的管理距离大