13條選路原則(attribute)
Next-hop 可達是選路的前提
采用特殊的方法去記憶BGP的13條選路原則: 世界戀愛組織亞洲辦公室;紀念碑;半獸人 如:
1、W (world,對應世界),即屬性 Weight( 思科的私有屬性,本地有意義,越大越優先,默認情況下從鄰居學到的weight值為0,隻能用在in方向)
A、針對鄰居修改來自該鄰居的所有路由的Weight
B、明細的用Route-map修改某些路由
2、L (love,對應戀愛),即Local Preference (本地優先級)
通常情況用于離開本AS的選路,默認為100,可以在IBGP鄰居之間傳遞,不會更新真正的EBGP鄰居
全局修改;Route-map
3、O (organization,對應“組織”),即屬性Sourced(本地起源)
4、A(Asia,對應“亞洲“),即屬性AS-PATH
5、O (office,對應“辦公室”),即“Origin”(起源代碼)
紀念碑拼寫: MEML,對應英文單詞:
6、M,即屬性MED(多出口分離器)
7、E,屬性EBGP(優于IBGP)
8、M,即屬性代表到達更新源的Metric值小的進行下一跳
9、L,即屬性負載均衡
半獸人拼寫為ORC, 即對應
我們在R1和R2配置EIGRP,通告lo0和直連關閉彙總,并建立IBGP鄰居關系,同時R1和R2分别與R3建立EBGP鄰居關系. R3 BGP通告兩個lo (lo0 33.1.1.1 lo1 3.3.3.3)
R1:
R2:
R3:
一、使用Weight值來幹預BGP選路
BGP優先權重最大的,默認從BGP鄰居學到的路由的Weight值為0,從本設備宣告重分布或者彙總路由的權重值為32768,我們針對鄰居修改來自鄰居的所有路由的權重值,增大來自R2的所有路由權重值,使R1優先選擇R2作為下一跳:
以上R1所有路由都選擇R2作為下一跳,如果明細來幹預選路,我們需要用到Route-map:
R1(config)#ip prefix-list 1 seq 5 permit 3.3.3.3/32
R1(config)#route-map Weight permit 10
R1(config-route-map)#match ip address prefix-list 1
R1(config-route-map)#set weight 2 ---設置權重為2,即優于來自R2的路由,此時是有問題的
R1(config)#router bgp 100
R1(config-router)#neighbor 13.1.1.3 route-map Weight in---隻能在in方向調用
R1#clear ip bgp * so
此時R1上3.3.3.3的路由權重為2已經優于R3,但是我們發現33.1.1.1的路由隻有一個下一跳,這就是剛剛提到的問題,route-map不僅僅可以設置BGP的屬性,當匹配了前綴列表或ACL時一定要考慮其他的路由是否還需要收取,R1還需要收取來自R3的其他路由條目
修改:R1(config)#route-map Weight permit 20---隻需要增加一個序列号,行為是permit,那麼匹配條件為任意
二、需求:使用Weight值來幹預BGP選路,控制R2 ,R1上33.1.1.1 路由選擇R2作為下一跳
修改本地優先級後隻更新給IBGP鄰居,也就是R2修改本地優先級後更新給R1,不會更新R3:
R2(config)#router bgp 100
R2(config-router)#bgp default local-preference 101 ----全局修改
我們使用Route-map調用,來自R3的3.3.3.3的路由R1直接走R3,R2走R2到達R3,隻能在in方向生效,R1更改本地優先級後更新給IBGP鄰居R2:
查看R1和R2,R1 33.1.1.1通過R2到達R3,R2查看3.3.3.3路由通過R1到達R3:
R2查看收到R1更改的BGP本地優先級屬性,3.3.3.3路由本地優先級同樣更改為102:
三、O(Organization) Sourced,本地起源
R2一個環回口被本地通告時用Route-map修改為Weight=0
R1重分布靜态路由得到的2.2.2.2 更新
R2(config)#int lo 1
R2(config-if)#ip address 2.2.2.2 255.255.255.255
R2(config)#route-map Test
R2(config-route-map)#set weight 0
R2(config)#router bgp 100
R2(config-router)#network 2.2.2.2 ma 255.255.255.255 route-map Test
本設備生成的路由在Weight無效(0)當然本地優先級默認為100情況下,是最優的。
(valid, sourced, local, best)
四、A (Asia)AS-Path ---越長越不優先
33.1.1.1選擇R2作為下一跳,3.3.3.3選擇R3作為下一跳
R1#sho access-lists
Standard IP access list 33
10 permit 33.1.1.1 (1 match)
R1#sho run | s route-map ASPATH
neighbor 13.1.1.3 route-map ASPATH in
route-map ASPATH permit 10
match ip address 33
set as-path prepend 200 200
route-map ASPATH permit 20
有一條隐含的命令bgp bestpath as-path ignore ---as-path ignore隐含的
R1(config-router)#bgp bestpath ?
compare-routerid Compare router-id for identical EBGP paths
cost-community cost community
igp-metric igp metric
med MED attribute
R1(config-router)#bgp bestpath a i ----方便記憶使用該命令進行操作,忽略as-path選路
忽略as-path選路後R1上到33.1.1.1路由直接到R3而沒有選擇AS-path短的路徑到R2:
五、起源代碼幹預選路--O (office,對應“辦公室”),即“Origin”(起源代碼)
R1(config)#router bgp 100
R1(config-router)#no neighbor 13.1.1.3 route-map ASPATH in
R1(config-router)#no bgp bestpath as-path ignore
以上是删掉幹擾的因素
i---igp(通告、aggregate)
e--egp (不存在)
?--incomplete(重分布産生的路由 )
i優于e,e優于?
需求:33.1.1.1選擇R2作為下一跳
R1(config)#route-map ORIGIN pe
R1(config)#route-map ORIGIN permit 10
R1(config-route-map)#match ip address 33
R1(config-route-map)#set origin incomplete ----設置incomplete
R1(config)#route-map ORIGIN permit 20
R1(config-route-map)#router bgp 100
R1(config-router)#neighbor 13.1.1.3 route-map ORIGIN in ---針對鄰居R3設置incomplete
在以上4個選路都一樣情況下,i由于?所以選擇R2作為下一跳:
歡迎關注和轉發,需要免費教程的朋友單獨加頭條簡介裡的V備注今日頭條,更多精彩内容下期繼續分享!
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!