BGP属性详解
Prefer-Value
私有属性,定义本地路由的优先级,本地有效,不传给邻居,并且越大越优先
R2:
acl 2001
rule permit source 44.44.44.44 0
acl 2002
rule permit source 55.55.55.55 0route-policy R1 permit node 10
if-match acl 2001
apply preferred-value 200
route-policy R1 permit node 20
if-match acl 2002
apply preferred-value 150 ----//对于R1方向的路由2001匹配的优先级200,2002匹配的150
route-policy R2 permit node 10
if-match acl 2001
apply preferred-value 150
route-policy R2 permit node 20
if-match acl 2002
apply preferred-value 200 ----//对于R3方向的路由2001匹配的优先级150,2002匹配的200
route-policy R2 permit node 30 ----//制造空节点bgp 100
peer 1.1.1.1 route-policy R1 import
peer 3.3.3.3 route-policy R2 import //对于 ACL匹配的路由,数据流的走向到本地是入,因此指定入方向接受邻居的路由
Origin
起源属性,定义路由信息的来源,标记一条路由是怎样成为BGP路由的
- Network i
- Import ?
优先级:i>?
AS_Path
AS路径属性代表一条路由所经过的AS,可以用来防环并运用过滤路由
- AS_Path也可以用作过滤器来用
- 只有在EBGP传输时才会更新
- 会丢弃AS号相同的路由(防止环路)
- AS数量越少越优先
R4:
acl 2001
rule permit source 44.44.44.44 0
acl 2002
rule permit source 55.55.55.55 0route-policy AS_path permit node 10
if-match acl 2001
apply as-path 200 additive
route-policy AS_path permit node 20
if-match acl 2002
apply as-path 200 200 200 additive
route-policy as_path permit node 30 //放行所有bgp 200
peer 1.1.1.1 route-policy AS_path export
R5:
acl 2001
rule permit source 44.44.44.44 0
acl 2002
rule permit source 55.55.55.55 0route-policy AS_path permit node 10
if-match acl 2001
apply as-path 200 200 200 additive
route-policy AS_path permit node 20
if-match acl 2002
apply as-path 200 additive
route-policy as_path permit node 30 //放行所有bgp 200
peer 2.2.2.2 route-policy AS_path export
Next-Hop
下一跳属性=更新源
- EBGP到IBGP需要在边界路由器上对邻居做下一跳走自己的命令,只想AS内部的邻居
- IBGP到EBGP上不用,但是需要考虑路由黑洞和同步的问题
Local-Preference
应用场景:针对自己访问其他AS走不同出口
本地优先级属性,用于AS内优选到目的网段的路由优先级
非常常用的属性,只传给IBGP邻居
用于影响路由怎么出去,我访问别人
越大越优先,默认100
Local-Preference 不能出AS,只在AS内传播
针对EBGP的 Import 方向调用是可以的
针对EBGP的 Export 方向调用是无效的
针对IBGP的 Export 方向调用是可以的
R1:
acl 2001
rule permit source 44.44.44.44 0
acl 2002
rule permit source 55.55.55.55 0route-policy local_pre permit node 10
if-match acl 2001
apply local-preference 200
route-policy local_pre permit node 20
if-match acl 2002
apply local-preference 150
route-policy local_pre permit node 30 //放行所有bgp 100
peer 4.4.4.4 route-polic local_pre import //因为这里的EBGP邻居使用逻辑接口 LoopBack 建立
R3:
acl 2001
rule permit source 44.44.44.44 0
acl 2002
rule permit source 55.55.55.55 0route-policy local_pre permit node 10
if-match acl 2001
apply local-preference 150
route-policy local_pre permit node 20
if-match acl 2002
apply local-preference 200
route-policy local_pre permit node 30 //放行所有bgp 100
peer 35.1.1.5 route-polic local_pre import //因为这里的EBGP邻居使用物理接口建立
MED
应用场景:针对其他AS访问自己走不同出口
与 Local_Preference 使用比较像 多出口度量值
用来影响别人怎么进来,别人访问我,类似于IGP里面的开销,越小越优先
既可以在目的IP所在区域边缘设备的出方向调用配置,也可以在源IP的入方向调用
看数据的流向是出还是入,例如R1对于R2通告给AS200的路由是出方向,因此指定EBGP邻居的出方向调用
看数据的流向是出还是入,例如R4对于R2通告给AS200的路由是入方向,因此指定EBGP邻居的入方向调用
MED属性针对EBGP邻居的Export可以生效
MED属性针对EBGP邻居的Import可以生效
仅在相邻的两个AS之间传递,收到该属性的AS不会再传给其他任何第三方AS
缺省情况下不允许比较来自不同的AS邻居的路由信息和MED值除非能确认不同的AS采用了同样的IGP协议和路由选择方式,则可以使用:compare-different-as-med
R1:
acl 2001
rule permit source 20.20.20.20 0
acl 2002
rule permit source 22.22.22.22 0route-policy MED permit node 10
if-match acl 2001
apply cost 50
route-policy MED permit node 20
if-match acl 2002
apply cost 100
route-policy MED permit node 30 //放行所有bgp 100
peer 4.4.4.4 route-policy MED export //因为这里的EBGP邻居使用逻辑接口 LoopBack 建立,出方向调用,控制别人访问我
R3:
acl 2001
rule permit source 20.20.20.20 0
acl 2002
rule permit source 22.22.22.22 0route-policy MED permit node 10
if-match acl 2001
apply cost 100
route-policy MED permit node 20
if-match acl 2002
apply cost 50
route-policy MED permit node 30 //放行所有bgp 100
002
rule permit source 22.22.22.22 0route-policy MED permit node 10
if-match acl 2001
apply cost 100
route-policy MED permit node 20
if-match acl 2002
apply cost 50
route-policy MED permit node 30 //放行所有bgp 100
peer 35.1.1.5 route-polic MED export //因为这里的EBGP邻居使用物理接口建立,出方向调用,控制别人访问我
作者:DC