自学习BGP以来,有个问题一直困扰,一个是MED、另一个是Loacl-Preference,总认为对他们的定义与方向(import、export)理解上不能与书本理论一致,通过以下三个实验,来学习源路由条目+对等体(手动指的peer)+传递方向(import/export)、可选非传递属性的理解(第三个实验)。

MED(Multi-Exit-DISC)

可选非过渡属性

MED值越小越有先

仅仅在两个相邻的AS之间传递,不会传给邻居的邻居。

用于控制数据流进入的控制(进入到本AS的选路,如进入AS100)

一般上行连接同一AS的两台或多台设备,(默认情况不比较来自不同的AS的MED值,但是可以通过compare-different-as-med来比较)。

如果使用default med xxx,那么只对引入的路由有效,network进入的路由是无效的,如果通过route-pliocy 可以对任意类型路由起效。

可以通过refresh bgp all export/import来刷新BGP路由更新

wKiom1eTKMbR7cnKAABsRilu7Uo957.png-wh_50

默认情况ping -a 55.1.1.1 11.1.1.1 都会走R2,通过修改MED值从而使R5访问11.1.1.1数据包走R3,

经过测试三种方式来实现,第一种在R1上实现AS之间传递med,是MED最重要的一种控制数据包流入的方式,第二种是在R2 G0/0/0 入方向也可以实现,第三种方式是在AS内部传递MED:

route-policy MED permit node 10

 if-match acl 2000

 apply cost 220

route-policy MED permit node 20

acl number 2000

 rule 5 permit source 11.1.1.1 0


第一种:在R1 peer 10.1.12.2 route-policy MED export (G0/0/0

最重要的MED的使用方式,意义在于我能控制你访问我的资源。(第二种、第三种方式也能控制访问11.1.1.1的选路,但是有些类似local-preference属性的使用)

[R4]display bgp routing-table 


 Total Number of Routes: 5

      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>i  11.1.1.1/32        33.1.1.1        0          100        0      100i

 * i                     22.1.1.1        220        100        0      100i

 *>   55.1.1.1/32        10.1.45.5       0                     0      300i

 *>i  111.1.1.1/32       22.1.1.1        0          100        0      100i

 * i (i从IBGP邻居学习到的)33.1.1.1        0          100        0      100i(i起始路由是network进入bgp路由器的)


<R5>tracert -a 55.1.1.1 11.1.1.1

 1 10.1.45.4 60 ms  50 ms  60 ms 

 2 10.1.34.3 50 ms  60 ms  100 ms 受路由策略影响走R3了

 3 10.1.13.1 70 ms  80 ms  100 ms

扩展:以上是55.1.1.1 到11.1.1.1,反之11.1.1.1到55.1.1.1不受路由策略的影响,仍然会选择走R2,因为路由条目在传递的时候是加入每个路由器入接口的cost值。


[R1]tracert -a 11.1.1.1 55.1.1.1

1 10.1.12.2 30 ms  30 ms  50 ms 不受路由策略影响,默认走R2

 2 10.1.24.4 100 ms  70 ms  80 ms 

 3 10.1.45.5 110 ms  140 ms  90 ms 

---------------------------------------------------------------------------------

第二种:在R2 peer 10.1.12.1 route-policy MED import   (G0/0/0)

<R5>tracert -a 55.1.1.1 11.1.1.1

 1 10.1.45.4 30 ms  50 ms  30 ms 

 2 10.1.34.3 60 ms  70 ms  60 ms 受路由策略影响走R3

 3 10.1.13.1 80 ms  80 ms  90 ms 


<R1>tracert -a 11.1.1.1 55.1.1.1

1 10.1.12.2 50 ms  40 ms  50 ms 不受路由策略影响走R2

 2 10.1.24.4 80 ms  80 ms  70 ms 

 3 10.1.45.5 100 ms  90 ms  110 ms 

同理,不会受到路由策略的影响

[R2]dis bgp routing-table 

Total Number of Routes: 3

      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   11.1.1.1/32        10.1.12.1       220                   0      100i med被打上220

 *>i  55.1.1.1/32        44.1.1.1        0          100        0      300i

 *>   111.1.1.1/32       10.1.12.1       0                     0      100i

[R3]dis bgp routing-table 

 Total Number of Routes: 3

      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   11.1.1.1/32        10.1.13.1       0                     0      100i 

 *>i  55.1.1.1/32        10.1.34.4       0          100        0      300i 

 *>   111.1.1.1/32       10.1.13.1       0                     0      100i

[R4]dis bgp routing-table 

 Total Number of Routes: 5

      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>i  11.1.1.1/32        33.1.1.1        0          100        0      100i

 * i                     22.1.1.1        220        100        0      100i 同一AS内传递med

 *>   55.1.1.1/32        10.1.45.5       0                     0      300i

 *>i  111.1.1.1/32       22.1.1.1        0          100        0      100i

 * i                     33.1.1.1        0          100        0      100i

<R5>dis bgp routing-table 

 Total Number of Routes: 3

      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   11.1.1.1/32        10.1.45.4                             0      200 100i 未传递med值

 *>   55.1.1.1/32        0.0.0.0         0                     0      i

 *>   111.1.1.1/32       10.1.45.4                             0      200 100i

对第一条路由解释:

R2打上med值220后,不会经过R4在传给R5,因为只在相邻两个AS间传递,不会传递给第三个AS(export方向)。

此时是在R2的import方向,那么只能在本AS内传递。?

-----------------------------------------------

第三种:在R2 peer 44.1.1.1 route-policy MED export ( G0/0/1

说明MED可以在同一AS内也能起效,理解可选非传递的侧面意思。


[R4]dis bgp routing-table 

 Total Number of Routes: 5

      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>i  11.1.1.1/32        33.1.1.1        0          100        0      100i

 * i                     22.1.1.1        220        100        0      100i

 *>   55.1.1.1/32        10.1.45.5       0                     0      300i

 *>i  111.1.1.1/32       22.1.1.1        0          100        0      100i

 * i                     33.1.1.1        0          100        0      100i


<R5>dis bgp routing-table 

 Total Number of Routes: 3

      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   11.1.1.1/32        10.1.45.4                             0      200 100i

 *>   55.1.1.1/32        0.0.0.0         0                     0      i

 *>   111.1.1.1/32       10.1.45.4                             0      200 100i


<R1>tracert -a 11.1.1.1 55.1.1.1

 1 10.1.12.2 40 ms  50 ms  30 ms 

 2 10.1.24.4 70 ms  60 ms  40 ms 

 3 10.1.45.5 100 ms  90 ms  80 ms 

11.1.1.1 到55.1.1.1仍然不受路由策略影响

<Huawei>tracert -a 55.1.1.1 11.1.1.1

 1 10.1.45.4 50 ms  30 ms  50 ms 

 2 10.1.34.3 40 ms  60 ms  70 ms 

 3 10.1.13.1 90 ms  60 ms  80 ms 

55.1.1.1到11.1.1.1受到路由策略影响