BGP的同步规则分析
BGP的同步规则:学习自IBGP邻居的路由在进入IGP路由表或者被宣告给BGP对等体之前,必须首先通过IGP来知晓该路由,下面通过实验进行分析。
如上图:
R1与R2之间是EBGP邻居关系,R2和R3之间是IBGP邻居关系,而R1通告1.1.1.1/32的路由,R3通告3.3.3.3/32的路由,基础配置略,当R2的同步开启的时候(高版本的IOS默认情况下同步是关闭的),查看R1、R2的路由情况;
R1#show ip bgp
BGP table version is 2, local router ID is 1.1.1.1
Status codes: s suppressed, d damped, h history, * valid, > best,i - internal,
r RIB-failure, SStale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 1.1.1.1/32 0.0.0.0 0 32768 i
R2#show ip bgp
BGP table version is 6, local router ID is 2.2.2.2
Status codes: s suppressed, d damped, h history, * valid, > best,i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 1.1.1.1/32 12.1.1.1 0 0 10 i
* i3.3.3.3/32 23.1.1.2 0 100 0 i
R2#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRPexternal, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA externaltype 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type1, E2 - OSPF external type 2
i - IS-IS, su - IS-ISsummary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area,* - candidate default, U - per-user static route
o - ODR, P - periodicdownloaded static route
Gateway of last resort is not set
1.0.0.0/32 is subnetted,1 subnets
B 1.1.1.1 [20/0] via12.1.1.1, 00:05:15
2.0.0.0/32 is subnetted,1 subnets
C 2.2.2.2 is directlyconnected, Loopback0
23.0.0.0/30 is subnetted,1 subnets
C 23.1.1.0 is directlyconnected, Serial1/0
12.0.0.0/30 is subnetted,1 subnets
C 12.1.1.0 is directlyconnected, FastEthernet0/0
R1并没有收到3.3.3.3/32的路由,而R2收到3.3.3.3/32的路由,但是不是最优的,只是可用,并且R2上的IGP表中没有3.3.3.3/32的路由,这是由于BGP的同步规则,在同步开启的情况下,从IBGP学到的路由是不会传递给他的EBGP邻居的,除非IGP路由信息中有该路由;
现在R2上配置一条静态路由3.3.3.3/32,下一跳指向R3,如下:
R2(config)#ip route3.3.3.3 255.255.255.255 23.1.1.2
现在再次查看R2及R1的BGP路由情况
R2#show ip bgp
BGP table version is 8, local router ID is 2.2.2.2
Status codes: s suppressed, d damped, h history, * valid, > best,i - internal,
r RIB-failure, SStale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 1.1.1.1/32 12.1.1.1 0 0 10 i
r>i3.3.3.3/32 23.1.1.2 0 100 0 i
R1#show ip bgp
BGP table version is 3, local router ID is 1.1.1.1
Status codes: s suppressed, d damped, h history, * valid, > best,i - internal,
r RIB-failure, SStale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 1.1.1.1/32 0.0.0.0 0 32768 i
*> 3.3.3.3/32 12.1.1.2 0 23 i
R2上的3.3.3.3/32路由成为最优的,并且R1上收到了3.3.3.3/32的路由,并且也是最优的。
因此验证了,从IBGP邻居学到的路由,除非也从IGP学习到该路由,否则不会把该路由装载到BGP路由表中,也不会传递给他的EBGP邻居。
上述情况是在R2同步开启的情况下,现将R2的同步关闭,并删除配置的静态路,配置如下:
R2(config)#no ip route 3.3.3.3 255.255.255.255 23.1.1.2 R2(config)#router bgp 23 R2(config-router)#no synchronization
R2#clear ip bgp *
清除邻居之后,再次查看R2及R1的BGP路由情况:
R2#show ip bgp
BGP table version is 3, local router ID is 2.2.2.2
Status codes: s suppressed, d damped, h history, * valid, > best,i - internal,
r RIB-failure, SStale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 1.1.1.1/32 12.1.1.1 0 0 10 i
*>i3.3.3.3/32 23.1.1.2 0 100 0 i
R1#show ip bgp
BGP table version is 5, local router ID is 1.1.1.1
Status codes: s suppressed, d damped, h history, * valid, > best,i - internal,
r RIB-failure, SStale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 1.1.1.1/32 0.0.0.0 0 32768 i
*> 3.3.3.3/32 12.1.1.2 0 23 i
R3#show ip bgp
BGP table version is 9, local router ID is 3.3.3.3
Status codes: s suppressed, d damped, h history, * valid, > best,i - internal,
r RIB-failure, SStale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
* i1.1.1.1/32 12.1.1.1 0 100 0 10 i
*> 3.3.3.3/32 0.0.0.0 0 32768 i
R3收到1.1.1.1/32的路由不优,下一跳是12.1.1.1,在R3上该下一跳地址是不可达的。现采取下面两种方式,然后再次来查看BGP路由情况;
现在R3上配置静态路由:
R3(config)#ip route 12.1.1.1 255.255.255.255 23.1.1.1 或者 R2(config)#router bgp 23 R2(config-router)#neighbor 23.1.1.2 next-hop-self
再次查看R3的BGP路由情况:
R3#show ip bgp
BGP table version is 10, local router ID is 3.3.3.3
Status codes: s suppressed, d damped, h history, * valid, > best,i - internal,
r RIB-failure, SStale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*>i1.1.1.1/32 12.1.1.1 0 100 0 10 i
*> 3.3.3.3/32 0.0.0.0 0 32768 i
从上述输出可知,当BGP同步关闭,并且IGP表中没有3.3.3.3/32的路由情况下,从IBGP学到的路由,可以传递给EBGP邻居,但是在R3上看见1.1.1.1/32的路由并不是最优的,其原因是下一跳不可达,当配置静态路由或者针对R3修改IBGP的下一跳时,1.1.1.1/32就变成最优的路由。
因此验证了,如果不是通告IGP学到的路由,或者下一跳不可达,从IBGP邻居学到的路由是不会装载至BGP路由表的。
转载于:https://blog.51cto.com/muyun/1592030
BGP的同步规则分析相关推荐
- BGP路由黑洞问题及BGP同步规则
BGP路由黑洞出现为原因 两台BGP设备之间无需直连,只要IP连通,并且能够建立TCP连接,就能够建立BGP对等体,这个特点使路由传递更加灵活,但是也可能带来一个问题,就是路由黑洞问题. 如上图,已知 ...
- STM32三个ADC同步规则采样
同步采样一般应用于交流信号中,是指多个ADC的采集时刻完全同步.在电力测量领域,经常会遇到需要同步采样的情况,比如同步采样电压电流信号,计算其相位差.阻抗分析时,也需要对输入输出信号进行同步采集,分析 ...
- FastDFS文件同步机制分析
FastDFS文件同步机制 一.tracker server目录及文件结构 二.storage server目录及文件结构 三.FastDFS文件同步 3.1.同步日志所在目录 3.2.binlog格 ...
- futex同步机制分析之一应用
futex同步机制分析之一应用 一.多线程(进程)的同步机制 c++编程中最难的部分有哪些,估计绝大多数人都会首先提出来是多线程(进程)编程.为什么多线程编程难呢?一个主要的原因就是多线程的同步.在多 ...
- STM32 ADC 同步规则模式 ADC1与ADC2同用一个DMA
STM32 ADC 支持同步规则模式 ,其官方解释为: 大致意思就是通道组的 ADC1 的多路开关(由 ADC1_CTLR2寄存器的 ETSRC[2:0]决定), ADC2 被同步触发.在 ADC1 ...
- 双极型adc与stm32_关于STM32 双ADC同步规则转换两路数据的问题?
因系统要求需升级ADC的采样方式(以前方式:扫描方式,TIMER2触发ADC软启动,2通道规则序列,DMA传完中断),为了进一步实现两路信号的同步性能,采样STM32 双ADC同步规则转换.(time ...
- STM32的同步规则模式使用
由于要采集电压.电流以计算功率.阻抗等信息,STM32的同步规则模式很适合于这种情景.使用时有几点需要注意的: 1.选择正确的模式:ADC_Mode_RegSimult,即DUALMOD[3:0] = ...
- STM32F303RE 四个ADC同步规则采样
STM32F303RE 芯片有4个ADC, 采样频率据说能达到5Mbsps 已经算是非常高的了. 比较适合做采样 参考文章 STM32三个ADC同步规则采样 参考上面的配置文章. 经过不断的失败和重复 ...
- ExoPlayer播放器剖析(六)ExoPlayer同步机制分析
关联博客 ExoPlayer播放器剖析(一)进入ExoPlayer的世界 ExoPlayer播放器剖析(二)编写exoplayer的demo ExoPlayer播放器剖析(三)流程分析-从build到 ...
- 【AAD Connect】03:使用AAD Connect同步到Office365时的同步规则(AD账号同步到O365)
前言 配置并启动AAD Connect之后,同步程序将会自动进行同步,根据测试结果,同步规则如下 [AAD Connect]01:AAD Connect把本地AD账户同步到Office365(AD域账 ...
最新文章
- 两个Fragment之间如何传递数据
- IOS开发-关于代码管理工具之SVN
- 大萧条时期什么行业走俏_大流行时期的用户体验
- 【原创】系统分析师--任重而道远
- python 当前文件路径获取方式_python中获取文件路径的几种方式
- eclipse添加源码的另外一种方法
- 静态变量(static)
- 计算机知识选择题库,计算机基础知识篇选择题库
- Linux教程学习笔记1
- 全网首发:JDK绘制文字:三、绘制句柄的内容是如何定义的
- php用putty安装吗,为什么通过Putty的SSH命令与PHP的phpseclib不同?
- linux系统服务器配置snmptrap步骤
- R16之Access to Unlicensed Spectrum(3)
- Mac 打造开发工作环境
- 基于SVD算法的电影推荐系统实验
- 华东师范大学计算机试题,(华东师范大学计算机考试习题.doc
- C语言实现简单状态机
- java计算机毕业设计快滴预约平台源码+mysql数据库+系统+lw文档+部署
- Xshell6 提示要使用此程序,您必须应用最新的更新或使用新版本
- java时间格式大全