1. 程式人生 > >BGP路徑屬性之as-path 實驗分析

BGP路徑屬性之as-path 實驗分析

BGP路徑屬性之AS-path

作用:用來標識路由經過的AS路徑

BGP路由每經過一個AS,就會將這個AS號加入自已的AS-Path中。

當一個路由器收到兩條相同目的地的路由,它將選擇AS路徑最短的路由。

例如:檢視R1身上的bgp database 可以看到從R5身上通告出來的172.16.0.1/32路由條目

R1#show ip bgp      

   Network          Next Hop            Metric LocPrf Weight Path *  172.16.0.1/32    3.3.3.3                                            0 234 5

i *                         2.2.2.2                                            0 234 5 i *  172.16.1.1/32    3.3.3.3                                            0 234 5 i *>                  2.2.2.2                                                    0 234 5 i *  172.16.2.1/32    3.3.3.3                                            0 234 5 i *>                  2.2.2.2                                                    0 234 5 i *  172.16.3.1/32    3.3.3.3                                            0 234 5 i *>                  2.2.2.2                                                    0 234 5 i *> 192.168.0.1/32   0.0.0.0                       0         32768 i

可以看到172.16.0.1/32此路由經過 234和 1 兩個自治系統,其中一條來自R3,一條來自R2

可以看到Next Hop為2.2.2.2左邊有個">",表示最優路徑,傳給172.16.0.1的流量向R2傳送

只能在EBGP鄰居之間傳路由時進行改動,對IBGP鄰居傳來的路由改不了

通過AS-path屬性可以進行防環:當一臺路由器收到一條BGP路由,會檢視路由的AS-path屬性,如果發現有自己的AS號碼,就會丟棄這條路由。

GNS3實驗分析路徑屬性as-path

實驗部署

要求:172.16.0.1的路由預設走的是R2,通過AS-path屬性改為走R3

控制:

EBGP鄰居起作用,所以不能在R2與R4之間配置,只能在R1與R2之間配置

本實驗以在R2上配置為例:

第一步,通過Prefix-list抓取路由

R2(config)#ip prefix-list AS_PATH permit 172.16.0.1/32

第二步,通過route-map呼叫prefix-list並設定策略

R2(config)#route-map AS_PATH permit 10

R2(config-route-map)#match ip address prefix-list AS_PATH

R2(config-route-map)#set as-path prepend 8 8 8    //通過路由策略增加as-path 8 8 8 三個AS號

R2(config)#route-map AS_PATH permit 20

第三步,針對鄰居1.1.1.1呼叫應用策略

R2(config)#router bgp 234

R2(config-router)#nei 1.1.1.1 route-map AS_PATH out   //此路由策略是是從R2發出發給R1,所以方向應為out

再次檢視R1的bgp database

R1#show ip bgp

   Network          Next Hop            Metric LocPrf Weight Path *> 172.16.0.1/32    3.3.3.3                                           0 234 5 i *                             2.2.2.2                                           0 234 8 8 8 5 i *  172.16.1.1/32     3.3.3.3                                           0 234 5 i *>                           2.2.2.2                                           0 234 5 i *  172.16.2.1/32     3.3.3.3                                           0 234 5 i *>                           2.2.2.2                                           0 234 5 i *  172.16.3.1/32     3.3.3.3                                           0 234 5 i *>                           2.2.2.2                                           0 234 5 i *> 192.168.0.1/32  0.0.0.0                                  0 32768         i

可以看到172.16.0.1的最優路徑修改為R3即Next Hop為3.3.3.3

Next Hop為2.2.2.2的Path被修改成 234 8 8 8 5,

對比這兩條路徑,R1自然選擇as-path較短的R3路徑為最優路徑。