选路的前提的是路由必须是优的
bgp表不优的情况
1.如果bgp路由的下一跳不可达(出接口)
2.如果开启了bgp同步,在没有同步的情况下bgp的路由不优(默认关闭的)
" * "标示可用,当*被r取代时,表示在路由表中不优,不加表,管理距离有劣势;
BGP 的选路规则
比较前提–同步被关闭、下一跳可达;均可优
1.首先比较weight 大优–不传递 ,Cisco私有 EBGP/IBGP
2.比较本地优先级,默认100;仅IBGP邻居传递,大优 IBGP
3.优选本地下一跳
4.比较as-pash,经过的AS数量少优,EBGP邻居可增添 EBGP/IBGP
5.起源码最小 i-igp=0 e-egp=1 ?-incomplete=2 EBGP/IBGP
6.MED值最小 EBGP/IBGP
7.普通的EBGP邻居优于联邦内EBGP邻居优于IBGP邻居
8.优选最近的IGP邻居(IGP度量小)
9.优选最先建立EBGP邻居
10.最小BGP邻居的RID
11.优选最小的RR list 列表
bgp默认负载均衡条目是1,也就意味着默认它没有负载均衡,我们可以修改max-path参数来改变负载均衡条目,一旦修改的值大于1,那么选路原则只会工作到第8条。
比较前提–同步被关闭、下一跳可达;均可优
属性比较的先后顺序:
1、首先比较weight 大优–不传递 ,Cisco私有 EBGP/IBGP
2、比较本地优先级,默认100;仅IBGP邻居传递,大优 IBGP
3、优选本地下一跳(next hop=0.0.0.0)
4、比较as-pash,经过的AS数量少优,EBGP邻居可增添 EBGP/IBGP
5、起源码最小 i-igp=0 e-egp=1 ?-incomplete=2 i>e>? EBGP/IBGP
6、MED值最小(加度量把路变烂干涉选路) EBGP/IBGP
7、普通的EBGP邻居优于联邦内EBGP邻居优于IBGP邻居
8、优选最近的IGP邻居(IGP度量小),计算本地到达该条目中下一跳地址的度 量–(依赖IGP计算所得的路由表来进行对比)–IBGP
9、优选最先建立EBGP邻居
10、最小BGP邻居的RID–IBGP
11、优选最小的RR list 列表(IE才讲)
12、若收到到达同一目的地两条均可优的EBGP路由,可以人为实现负载均衡
r2(config)#router bgp 1
r2(config-router)#maximum-paths 2
选路原则应用:一个路由器选路时,优先选择weight;一个AS有多个出口路由器时,优选local_pref;针对对方AS对自己选路时用MED;针对多个AS选路时,选择AS_path;
联盟
把一个大的as拆分为若干个小的私有as
和反射器一样减少建立邻居个数的一种措施
方便管理思路和ospf一样
用大括号来写联盟内部的as-path(eg:5{2,3}),大括号是进来的时候没有,出来的时候有(进5没有出5有)
1.宣告的时候有小as号就先宣告小as,再宣告大as
2.在小as之间建立ebgp时也要申明大as号(只要有ebgp邻居就要声明大as号,为了区分as)
3.联盟内与外部AS有ebgp邻居关系需要申明自己的大as号
4.联盟内部可以用反射,可以跨as但没必要
过滤
bgp路由传递的流程 bgp路由表–发送策略–发送路由表–接收路由表–接收策略–接收路由表–bgp路由表
1.针对邻居的过滤----前缀列表
2.针对bgp路由表----分发列表
3.重发布过滤
route-map
默认路由
1.针对单个邻居的默认路由
2.针对所有邻居的默认路由(全局)
全局路由表必须有默认路由
default-information originate +network 0.0.0.0 (起源origin为i)
default-information originate +重发布全局默认路由(起源origin为?)
BGP 路由惩罚----针对 EBGP 邻居传递的路由有效
1) 目的:抑制路由摆动,被惩罚的路由不能参与选路,不能传递;惩罚是针对该路由的路径
2)惩罚值:默认是 0,路由每翻滚一次,惩罚值增加 1000,路由属性每改变一次,惩罚值增加 500;
惩罚门限:开始进行惩罚的惩罚值,默认 2000(大于 2000 是开始惩罚)
重用门限:当惩罚值降低到该值回复路由,默认 750,当惩罚值降低到重用门限一半时,清 除惩罚的记录
半衰期:经过一个半衰期,惩罚值减半,默认 15 分钟(15min砍一半)
最大惩罚时间:最大成大路由时间,默认 60 分钟
最大惩罚值:重用门限2^(最大惩罚时间/半衰期) ,默认 12000.
中间 4 个可以修改
R1#show ip bgp 1.1.1.0
BGP 后门路由:
Network 对端建立邻居关系的地址,使通过 bgp 学习到其他路由的 AD 为 200 就不会挤掉 IGP学习的路由,这条路由不会加表(AD 值小)但会传递,这样就不会出现邻居翻查看;
EBGP 邻居间非直连建邻(假如说使用环回),使用动态路由协议产生到达对放建立邻居关系的地址路由(到达环回的路由),建立后使用 network宣告到 BGP中,则其 BGP 产生的 路由 AD 值为 20(EBGP 关系)这样会覆盖 IGP 学习到的路由表,然后 IGP 路由没有到达对方建立邻居关系地址的路由(到达环回的路由)则邻居关系会down 掉,然后通过BGP学习的路由在路由表消失,则通过 IGP 学习的路由又会加表,这样会出现邻居翻滚的现象;
R1(config)#router bgp 1
R1(config-router)#network 2.2.2.0 mask 255.255.255.0 backdoor //使用该命令可以将该条路由的管理距离提高
As-path ACL——基于正则表达式
r1(config)#ip as-path access-list 1 permit 2 //抓as-path列表,其中2表示AS号
r1(config)#route-map as deny 10
r1(config-route-map)#match as-path 1
r1(config)#route-map as permit 20
r1(config)#router bgp 64512
r1(config-router)#neighbor 2.2.2.2 route-map as in
