CCIE笔记之BGP
基本特性
路由属性,路由策略,路径矢量,route-policy。触发更新,增量更新。TCP 179。
3tables
邻居表:show ip bgp summary
BGP的转发表:show ip bgp
路由表:只有在转发表中有大于号的才会放在路由表中
Message
OPEN包:用于发现建立BGP邻居关系的。(EBGP 1跳 IBGP 255 跳)
KEEPLIVE:类似于HELLO包,维护BGP的邻居关系的。60秒一次,HOLDDOWN 180秒。
UPDATE:只有邻居建立之后才会发送UPDATE。
NOTIFICATION:类似于EIGRP的GOODBYE。
Table version.默认为1. 类似VTP中的那个。
State/pfxrcd
状态/前缀
状态为空是正常的,前缀表示收到的路由条目。
邻居TS
Router-id一样能建立邻居吗?
无法建立邻居,会收到通告消息。(neighbor router-id wrong)
更新源也会影响BGP邻居建立
AS号指定错误也会影响邻居建立。
EBGP要配置多跳。
路由学习
Network
BGP network 网络必须是本地有的,掩码严格匹配。
Auto
自动汇总如果开启,主类网络会汇总。需要通告主类。(也就是如果开启了auto summary ,就可以不用精确宣告,这里的不精确宣告一定是主类宣告。)如果不宣告主类,对方学到的依然是明细。
Example:network10.0.0.0 mask 255.0.0.0
Int lo10
Ip add 10.1.1.1 255.255.255.0
重分发进来的路由,在auto-summary开启的情况下会被自动汇总。
Syn
EBGP学习路由不看同步原则。
Next-hop
Neighbor x.xx.xx.x Next-hopunchanged(这条命令只针对IBGP)
不改变下一条
Default-route
default-information originate 全局开启的时候本地需要有默认路由
防环
路径属性
公认必选
1)I(不单单指IBGP)>?(通常指重分发) >E(EGP淘汰)
2)下一跳
3)AS-PATH 右边开始,左面结束
公认自选
1)local-preference只能在一个AS内起作用。
2)automic-aggregate公认自选属性,配置了手动汇总之后才会携带这个属性。
任选可透明传递
1)aggregated
2)community
团体属性:公认和自定义
公认:local-as只在本地AS内传递。
No-advertise不会像任何peer通告。不论是IBGP还是EBGP
No-export和local-as作用一样。
如果打多个属性,则以影响最大的为准
自定义:
{
就是数字,相当于TAG,可以在另外一方route-map中match community
用 ip community-list 1 permit 10
用这个匹配自定义的community属性。(important)
Route-map中match community 1
} //important&&new
Neighbor x.x.x.x send com(如果不加这个命令,IBGP对等体上讲不会鞋带这个comminuty)
冒号的自定AA:NN需要在本地全局模式下打上ip bgpnew-format才能识别这个格式,否则是传统数字。
任选非可透明传递
1)metric(MED)
EBGP之间学习默认是空的。
Originate-id
Cluster-id 簇ID
选路(套用route-map的时候注意IN/OUT)
1)weight 本地有效 套用的route-map的时候也只能IN方向。
2)本地优先级从IBGP学习默认是100IBGP不和EBGP比较
3)起始,优选本地始发的。一般是network进来的路由
4)AS-PATH
OUT 会加到路由的右边,in 会加到路径的左面,(important)
Bgpbestpath as-path ignore 忽略比较AS (这是个隐藏命令)
5 ) ORIGIN 起源 IGP>EGP>Incomplete
6 ) MED
本地起源是0,从EBGP学的默认是空
本地设置影响EBGP对等体
也可以影响IBGP邻居
Neighbor x.x.x.x shutdown
MED也不能跨AS。(important)
同一个AS过来的相同路由才会比较MED,从不同AS过来的相同路由是不比较MED的。(important)想让他们比较:BGPalways-cpmre-med
7 ) EBGP优于IBGP
8)优选IGP not IBGPmetric最小的。
9)EBGP负载均衡和IBGP负载均衡
EBGP负载均衡,进程下 MAXI-PATH (1-16)
IBGP更改方式一样
条件,都从相同的AS收到
Neighbor x.x.x.xnext-hop-unchanged(important)
10 ) EBGP路由优选最老的,也就是最先学到的EBGP路由。
只有EBGP有这个,防止EBGP路由表浮动,增强稳定性。
关闭的语句:BGPBESTPATH COMPARE_ROUTERID
11)如果在同一时间学到,优选router-id最小的。
12)从路由反射器上学习的优选cluster-id最小的。
13)优选最低对等体地址的。建立TCP的地址。
手工汇总
坏处:路由不精确
BGP默认是汇总加明细一起发送
汇总路由会有一个公认自选属性 automic-AGGREGATE会造成路径的丢失。
AS1 ----------AS2---------------AS3
AS2汇总AS1给它的路由,汇总条目传到AS3会丢失AS1的AS号,如果AS1链接AS3,AS3会把这套汇总路由条目继续传给AS1。所以AS3上这条汇总路由会有一个警告消息,automic-aggreate.
进程下 aggregate-address x.x.x.x x.x.x.x ?会面很多参数。
1)Suppress-map 抑制映射 匹配的不通告。
2)As-set还原汇总路由的AS-PATH,不会丢失,AS。打上这个命令之后会出现aggregate。在AS3上automic-aggreate会消失。
AS-SET还可以继承属性,像community
3)Attribute-map 更改属性
明细起源不一样,汇总继承最小的 ? E I
汇总的AS-PATH 如果加上AS-SET会把明细中的所有AS全加上。放在括号中。
Aggregate-address x.x.x.x x.x.x.x as-setadvertise-map 手工指定继承哪一条明细的属性。(important)
路由过滤
1)filter-list
正则表达式:
^_$:美元符表示开始,上箭头表示结束。下划线表示的是经过。
_4$ 起始4
^4_ 以4结束
_4_ 经过4
^4_5_6$ 6开始4结束,经过5
^4$ 只有4
.* 所有
Neighbor x.x.x.x filter-list 1 in/out
Ip as-path access-list 1
2 ) route-map deny掉
大型BGP网络
1 )RR ROUTE-reflector
2 )从非客户IBGP对等体学到的路由会反射给所有客户
从客户学到的路由会反射给所有peer
从EBGP学到的路由会反射给所有peer
3 )路由反射器下一跳是不改变的,即使next-hop-self也不改变。
5)路由反射器放环靠 起源ID和簇ID。起源ID防止环路。任选非可透明传递属性。
6)不管是起源 客户也好,都会看起源簇ID。
联盟
Bgp confederation identifier 联盟A
如果联盟内有EBGP关系,还需要
BGP CONFEDERATION PEERSNUM指定一下
1)联盟内的对等体号放在括号内。
2)联盟内外部路由属性不改变。
联盟外部路由进来下一条属性不改变 next_hop,手工修改会改变
Med属性在联盟内是保留的。在联盟内的AS之间传递。
进入联盟的外部路由会加上联盟内的AS,但不会传到外部。
联盟内的AS用于避免环路,但联盟内选路,可以不考虑联盟内的AS
联盟内的LOCALP在整个联盟范围内予以保留。
3)从联盟内的EBGP对等体学到的路由优先级是100,传统的EBGP是空。(important)
对等体组
缺点,做策略麻烦,nei x.x.x.x route-map 对所有邻居生效。
路由抑制
Dampening
防止邻居浮动,反复学习路由。
只对EBGP路由起作用(important)
抑制之后 sh ip bgp 路由条目前面会有h ,也不会在继续传递给它的下一个对等体。
后门链路
Network x.x.x.x mask x.x.x.x backdoor
这条路由的管理距离变大。变成本地路由,管理距离变为200。
BGP注意点:
跨路由器的IBGP路由更新
R4-----EBGP-----àR1---------àR2---------àR3
R1 R3运行IBGP R2不运行IBGP ,R4中通告的路由,R3能不能学到?
R3可以学。
原因,BGP更新单播更新,目的地址不是自己就向下继续转发。
欺骗对方neighbor x.x.x.x local-as 3 ?
如果对方指自己的AS,指错了,又没法更改,所以可以通过这个欺骗对方,让对方认为自己的AS是3从而建立邻居。
问号后面还有参数。
Neighbor x.x.x.x allowas-in?(1-10)
允许学习AS-PATH中包含自己AS的路由。(谨慎使用)
后面的1-10 允许学习包含本地AS路由的次数,默认三次。
AS1-----------------------AS2--------------------------AS3