BGP MED

MED的作用: 区分到达相同的邻居自治系统的多个出口、入口点。
边界路由器通告给eBGP对等体之前,对路由中的MED操作:


1.如果是eBGP路由,会清除它的MED。
2.如果是iBGP路由,会清除它的MED。(如果需要强制宣告MED,可以通过路由映射命令set-metric-type internal。)
3. 如果是本地被注入,携带MED值。其度量值:
a: 如果通过network或redistribute命令注入到BGP中的路由是来自IGP,那么BGP MED=IGP MED;
b: 如果通过network或redistribute命令注入到BGP中的路由是来自于直连路由的,那么BGP MED=0;
c: 如果通过aggregate-address命令注入路由,那么BGP MED不被设置。
在用MED选择最佳路径:MED值最小的路径胜出。默认情况下,只在两条路径的第一个(邻近)AS相同的情况下进行比较操作,否则不做比较。比如下列三个路径:
1. AS_Path=100 30 5, MED=100, internal,IGP metric to NEXT_HOP = 100
2. AS_Path=200 30 5, MED=200, internal,IGP metric to NEXT_HOP = 50
3. AS_Path=100 80 5, MED=300, external
假设收到的顺序是3,2,1(3是最先收到)。在做比较的顺序是相反的:1 2 3;也就是,会从最新的路由开始比较。
选择的结果是: 2优于1(邻近AS不同时,MED不作比较,2的IGP metric比较低); 3优于2(external的关系)。最佳路径是3.
如果配置bgp deterministic-med,所有路径都将基于邻近的AS进行编组。在每个AS编组内,根据MED的大小对路径进行排序,最小的是该组的最佳路径。在不同编组的最佳路径再比较时,MED不在考虑之内。
以上的同样例子,1和3会被编在同一组,先进行比较,1优于3(MED值低),然后1和2(其它组)比较,由于不同邻居AS,MED不作比较,2的IGP metric比较低而胜出。最佳路径是2.
如果同时也激活了bgp always-compare-med,那么对所有路径都比较MED,而不考虑是否来自同一个相邻的AS。由于deterministic-med配置了,所以会在上面的例子中编组后,每组的最佳路径再进行比较(这时MED被考虑)。所以1是最佳路径(MED低)。
如果bgp deterministic-med没有设置,而只有bgp always-compare-med被配置。那么,不同在于没有根据邻近AS进行编组的过程,可是MED会在不同邻近AS的路径中做比较。所以1优于2(MED值低),1又优于3(MED值低)。最佳路径是1。
MED通常是作为自治系统之间的eBGP对等体metric,而Local preference是作为自治系统内部的iBGP对等体metric。当边界路由器收到eBGP对等体路由时,默认情况下,会把MED值传给它的iBGP对等体,但不会传给它的eBGP对等体。也就是因为如此,bgp always-compare-med的配置在实际生产环境中的应用不是很大。
参考文章:
1. “How BGP Routers Use the Multi-Exit Discriminator for Best Path Selection”: http://www.cisco.com/en/US/customer/tech/tk365/technologies_tech_note09186a0080094934.shtml
2. “How the bgp deterministic-med Command Differs from the bgp always-compare-med Command”
http://www.cisco.com/en/US/customer/tech/tk365/technologies_tech_note09186a0080094925.shtml
3. RFC4277 “Experience with the BGP-4 Protocol”
http://www.ietf.org/rfc/rfc4277.txt

你可能感兴趣的:(Cisco,思科,网络)