FAQ-local-preference和MED这两种BGP路由属性在使用中的几个问题

发布时间:  2012-07-31 浏览次数:  105 下载次数:  0
问题描述
Q:
1、MED值只在EBGP对等体之间有效?那么从EBGP对等体学习过来的路由,在向IBGP对等体发布时,会携带MED属性吗?如果会,MED值会影响IBGP对等体的选路吗?
2、IBGP对等体之间通告路由时,如果使用路由策略,apply 上相应的MED值,会生效吗?接收到该路由的IBGP对等体在将这种路由通告给EBGP对等体时,还会携带该MED值吗?
3、EBGP对等体之间通告路由时,如果在本端export方向使用路由策略,apply上local-preference数值,能否生效?如果是在对端接收设备侧import方向使用相应的路由策略呢?








处理过程
A:

为了能够较好地解释以上几种情况,结合以下拓扑图进行分析:

1、MED值可以在IBGP对等体之间传递,从EBGP对等体学习过来的路由,在向IBGP对等体发布时,会携带MED属性,MED值会影响IBGP对等体的选路。如上图,如果ASBR1向ASBR3通告路由时,将MED值改为100,ASBR2向ASBR4通告路由时,将MED值改为200,那么ASBR3会把从ASBR1学习过来的路由通告给ASBR4,同时携带MED属性,在ASBR4  上会优选ASBR3通告的路由,因为其MED值小于从ASBR-2上学习到的路由的MED值。

2、IBGP对等体之间通告路由时,如果使用路由策略,apply 上相应的MED值,是可以生效的,但是接收到该路由的IBGP对等体在将这种路由通告给EBGP对等体时,将不会携带该MED值,MED值恢复为空,因为MED路由属性是非过渡的。如上图,如果SR-1向ASBR-1通告路由时,将MED值改为100,ASBR-1上学习到的路由会包含该MED属性值100,同时会指导BGP路由选路,但是在ASBR-1将该路由通告给ASBR-3时,MED恢复为空。

3、EBGP对等体之间通告路由时,如果在本端export方向使用路由策略,apply上local-preference数值,是不能生效的,因为local-preference属性只在IBGP对等体之间传递,但是如果是在对端接收设备侧import方向使用相应的路由策略,则可以生效,而且该local-preference属性  值会指导BGP路由选路,就算该路由是EBGP对等体通告的。如上图,如果ASBR1向ASBR3通告路由时,在export方向使用路由策略apply local-preference为200,路由策略不能生效,ASBR3接收到的路由的local-preference为空,而如果在ASBR3接收import方向使用相同的策略,则可以生效,路由local-preference值为200,并会指导其BGP选路。  ,,

根因
N/A
解决方案




建议与总结




END