BGP 网络通告及自动汇总特性
1:BGP 公告方式
1.1 精确通告(by default)
要求被宣告的网络必须存在于IGP ROUTING TABLE 内.而且是每一位都要匹配.
C 1.1.1.0/24
Network 1.1.1.0 mask 255.255.255.0
BGP 的AUTO-SUMMARY 现在是默认关闭的.
AUTO-SUMMARY 只要是关闭的,那么BGP 的通告方式就是精确的.
1.2 非精确通告
它配合AUTO-SUMMARY 完成,而且AUTO-SUMMARY 要开启. 1.1.1.0/24 1.2.2.0/24
他就允许判断被通告的网络是否有子网在本地路由表内出现,如果有,就将该汇总路由通告给邻居.
Network 1.0.0.0 mask 255.0.0.0
2:AUTO-SUMARRY 特性
AUTO-SUMMARY 可以用来设定BGP 是精确通告还是非精确通告.
C 1.1.1.0/24
C2.2.2.0/24----------------------R1(RUNNING BGP) 所有充分发进BGP 的条目都是明细
AUTO-SUMMARY 如果开启了就是汇总,而且汇总到主类路由.
重分发的时候AUTO-SUMMARY 才有边界汇总的功能
C 1.1.1.0/24
C2.2.2.0/24----------------------R1-------12--------------R2 C 3.3.3.0/24 No auto
Network 1.0.0.0 mask 255.0.0.0
BGP 的auto-summary 不是针对的路由更新,而是针对的重分发
AUTO-SUMMARY 针对重分发,所有的被重分发的网络将自动变成汇总的主类网
BGP的更新不会立刻发送给邻居,而是以一个间隔时间分批发送给邻居(默认IBGP每5秒一次,EBGP每30秒一次),可以通过如下命令修改: Neighbor X.X.X.X advertisement-interval X
IBGP next-hop & sync 特性的理解
当前路由器从EBGP peer 接受路由更新时,是直接装在到BGP 转发表 中,并且直接学习的。
当前路由器从IBGP PEER 学习路由时,需要判断下一跳,以及需要考虑同 步问题(同步默认是关闭的,所以不考虑)
当本地路由器从EBGP 对等体学习路由的时候,只用EBGP 防环原则判断该条 目是学还是不学
接受到的条目是否包含了本地AS 号,如果包含了就不学习.
当前路由器从IBGP 对等体学习路由的时候,就首先要判断该路由的下一跳 是否可达.下一条如果可达了还需要判断同步是否满足,都满足了才学习
1:NEXT-HOP
1.1 如果路由起源于EBGP,但是被IBGP 通告,那么接受者依旧认为下一跳是 起源,就是EBGP,所以可能出现下一跳不可达.
1.2 如果路由起源于IBGP,并且是被IBGP 通告.那么接受者就认为该路由下一 跳就是IBGP通告者.
BGP中的下一跳地址可能不是直连的,所以会在路由表中进行递归查找,找到对应下一
跳的IGP路径,因此可能BGP中的下一跳所走的路径并不是实际数据包转发的路由
R1-----R2-----R3 R1到达R3的网络BGP中可能是R2,而实际IGP的路径可能就是走R4 --------R4--------
neighbor xxxxx next-hop-self
这样就可以把所有公告给IBGP 的路由的下一跳设置为通告者本身.
2:同步sync
12.2 以后被关闭了,12.2的IOS 启用BGP 后,只关心IBGP 学习路由时考虑下一 条,而不考虑同步.
当一个路由被I当前路由器 从IBGP 对等体那里学习到的时候,他需要考虑该路由是否已经在IGP ROUTING TALBLE 中存在,如果有, 学习并且通告给ANY BGP PEER.如果没有该路由不被学习且不被通告
默认同步被关闭 Router bgp xx No sync
No auto-summary
Show ip bgp x.x.x.x
R3#sh ip bgp
BGP table version is 5, local router ID is 3.3.3.3
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 r>i11.11.11.0/24 2.2.2.2 0 100 0 1 i r>i22.22.22.0/24 2.2.2.2 0 100 0 i
R 代表RIB 失败,是说同样一个路由,有了更优的IGP 路由了,所以BGP 路由虽然同步,那么 也被更优的IGP 路由替代,而被抑制,不进入RIB 表。
3:下一跳不改变 neighbor x.x.x.x next-hop-unchange
所有路由被EBGP PEER 通告,那么他的下一条就是EBGP
BGP prevent routing loop meach BGP 防止环路
1:IBGP 如何防止
1.1 环路如何产生
1.2 IBGP 水平分割防止环路,IBGP SPLIT HORIZON
从IBGP 学习而来的路由不会再转发给任何的IBGP对等体.
1.3 IBGP 水平分割在水平拓扑上的问题.
1.4 解决方法
1.4.1 full mesh全互联拓扑
1.4.2 RR 路由反射器 route-reflector
RR 可以定义路由反射器客户,他可以将来自客户的路由再反射给另外一个客户.
Neighbor xxxxx route-reflector-client
R1#sh ip bgp 3.3.3.0
BGP routing table entry for 3.3.3.0/24, version 5
Paths: (1 available, best #1, table Default-IP-Routing-Table) Flag: 0x820
Not advertised to any peer Local
20.1.1.2 (metric 1) from 10.1.1.2 (20.1.1.1)
Origin IGP, metric 0, localpref 100, valid, internal, best Originator: 3.3.3.3, Cluster list: 20.1.1.1
2:EBGP 防止环路
2.1 EBGP 如何产生环路.
2.2EBGP 通过AS 号和AS-PATH 属性防止环路
当前路由器把路由条目通告给EBGP PEER的时候会携带当前的AS 号.' 如果当前路由器收到一个路由条目发现,该条目的AS-PATH 属性中包含了本地AS 号,那么该路由条目不会被学习
BGP 路径属性 1:属性的分类
? ? ? ?
公认必选属性 公认自选属性 任选可透明传送属性
任选非可透明传送属性 1:公认必选路由属性 1.1 ORIGINATE CODE 表示前缀的由来
I(network) ?(redistribute) E (EGP)
1.2 next hop
在BGP 中,如果当前路由器指定了router-id,那么当前路由器公告的路由下一跳就是当 前路由器的ROUTER-ID,对等体地址就是NEXT-HOP,除非路由起源于本地(0.0.0.0)
1.3 as-path EBGP PEER 间进行路由更新交换时,会将当前的AS 号包含在AS PATH 中 BGP 中的起源代码和AS-PATH 两个属性,在BGP 转发表中,共用AS-PATH 字段
2:公认自选路由属性
2.1 LOCAL-preference
本地优先 100 (0--4294967295 范围) 越大 越优
影响出站流量路径
本路由器设置,只影响IBGP 对等体
假如路由起源于本地,那么该路由的本地优先值为空
假如该路由起源于EBGP,被当前路由器学习,那么本地优先值为空 假如该路由起源于IBGP,并且被当前路由器学习,那么该路由本地优先值为100.
2.1AUtomic-aggregate原子聚合
只有配置BGP 手动汇总后,汇总路由才会携带该属性. 警告下游路由器已经有路径信息(AS号)丢失了.
在BGP 中配置手动汇总会产生AS PATH 的路径信息丢失.
R1#sh ip bgp 1.0.0.0
BGP routing table entry for 1.0.0.0/8, version 3