bgp選路原則
1 最高有weight優先,默認爲0
2 本地優先級高的優先
3 起源本路由器上的路由
4 as-path最短的優先
5 最小的起源代碼
6 最低的med
7 ebgp>ibgp
8 經過最近BGP鄰居的路由
9 若是配置了maixmum-path[IBGP],就負載均衡。
10 最老的EBGP鄰居學到的路由,是路由最老.
11 更低的router-id
12 始發路由器ID相同,那麼選擇 cluster-list短的,
13 優選來自於最低的鄰居地址的路徑,是BGP的neigbor配置中地址 負載均衡
1、 weight值
理論簡介:
1.優選有最大Weight的路由 (範圍0 到 65,535) weight是CISCO私有的參數,路由器配置了Weight在本地有效。ide
2、local-prefrence
理論簡介:
1.經過第一條選路原則不能選出最優BGP條目的狀況下,優選有最大local preference值的BGP條目。
2.local preference值只能夠在IBGP鄰居之間傳遞,在EBGP鄰居之間不能傳遞,也就是說不能在EBGP的出方向上作,由於只在本AS內生效。
3.對於從EBGP鄰居學習到的BGP條目,local preference缺省值爲100,這個值能夠經過命令bgp default local-preference修改
修改方法:
(1)bgp default local-preference xxx
修改後,對IBGP學來的路由不起做用,只對EBGP傳來的和本身產生的路由起做用。
(2)route-map xxx permit 10
set local-preference xxx
(3)不能在EBGP鄰居關係的出方向作修改。
三、local-preference的默認值是100
在show ip bgp 中看到是空,其實也是100,
show ip bgp xxxx 看明細的時候可看見路由的local-preference學習
三:起源本路由器上的路由 ,
優選從本路由器始發的路由(包括本地network配置的重分佈,或者在IGP表中已經有一些須要被配置路由聚合的地址,在BGP中用aggregate-address命令配置的路由聚合)
注意:對於CISCO IOS,若是是從本地往BGP裏注入一條路由,缺省的weight值爲32768,因爲這個weight值很大,對於該注入路由,會根據第一條選路原則成爲最優BGP條目。所以對CISCO IOS來講,第三條選路原則做用不大。然而考慮到第一條選路原則爲CISCO私有,不是全部廠家都支持,第三條選路原則的做用就顯現出來了。code
4、AS-PATH
在經過前三條選路原則不能選出最優BGP條目的狀況下,優選AS path長度短的路由條目
注意:修改AS path長度只能在EBGP鄰居關係之間進行,IBGP鄰居關係是不能夠的
一、as-path只能夠在EBGP鄰居關係的out方向和in的方向去修改
(1)out方向作: 加在原本AS號的前面(右邊
(2)in方向作: 加在原本AS號的後面(左邊
二、last-as 表示在離這個路由器最近的AS號,重複加次數
route-map xx permit 10
match ip address 1
set as-path prepend last-as 數字(加多少次)
三、當寫下面兩個命令時,哪一個先生效?
set as-path prepend 23
set as-path prepend last-as 數字
入/出方向的時候,as-path prepend與last-as同時使用,都是last-as先生效,而後as-path prepend才生效
(1)、聚合 聚合後的{}內的AS算幾個?一個
(2)、聯邦 聯盟內的()內的AS算幾個?一個也不算
(3)、neighbor xxx remove-private-AS 刪除私有AS號,起源於本AS無效,在出方向作。
五、如何跳過as-path選路原則
bgp bestpath as-path ignore router
5、起源代碼origin
在經過前四條選路原則不能選出最優BGP條目的狀況下,優選最低起源類型的BGP路由
最低起源類型的順序是 IGP 優先 EGP 優先 incomplete,其中EGP的方式如今已經不用了。
經過Network,aggregate方式產生的BGP路由的起源屬性是i,經過重分佈產生的BGP路由的起源屬性是incomplete。
1:
i-------igp network xxxxx
e-------egp (沒有了)
?-------重分發
2、origin在 EBGP/或IBGP的in和out方向均可以作
route-map xxx permit 10
match ip address pre 1
set origin incomplete ?接口
6、MED
MED值的用途:在兩個相臨AS之間有多個BGP鏈接的狀況下,MED值用於影響從相鄰AS到本AS的路由選擇,即用於影響鄰居AS到本AS的流量從哪一個接口進來,這是經過向相鄰AS的EBGP鄰居發送具備不一樣MED值的路由條目來實現的,可是須要注意選路過程的實現是相鄰AS的路由器自身根據13條選路原則獨立完成,MED值的的比較是前面的五條選路原則都不能選出最優的狀況下才起做用。
MED的生成:
1)本地network方式生成的BGP條目,會帶上IGP的metric,(同時也會帶上路由的下一跳,開啓彙總後會被取消)會傳給全部鄰居。
2:若是從EBGP鄰居學習到的BGP條目的metric值傳遞給其餘IBGP鄰居,但不傳給EBGP。
-----以上表示MED值只傳遞一次EBGP鄰居-----
3:若是從IBGP鄰居學習到一條BGP條目的metric爲0或者其餘值,缺省不會傳給給EBGP鄰居,顯示爲空
4)彙總方式生成的BGP條目,metric值爲空
5)重分佈方式生成的BGP條目,metric值爲IGP的cost、metric、hop,若是開啓自動彙總會被清除。
6:缺省狀況下,空的metric當0看待
優選最小MED 值的路由(範圍 0到4,294,967,295).
A.只有在經過兩條路徑獲得第一個AS(對等體)是同一個AS時才進行MED比較;任何子自治域的聯盟系統都會被忽略。也就是說,只有在AS序列號中第一個AS號碼一致時,才進行MED比較;任何聯盟AS序列號(AS_CONFED_SEQUENCE)都會被忽略,也就是說從不一樣聯邦AS學到的路由都會比較MED
B.若是路由器上配置了 bgp always-compare-med,在所有的路徑進行MED比較。可是這須要全體AS都同時啓用這個功能,不然有可能發生路由環路。
C.若是路由器上配置了bgp bestpath med confed,將對全部包括/.AS_CONFED_SEQUENCE的路徑進行MED比較 。默認不比較
D.若是接收到的路徑沒有分配MED值,則將此路徑分配爲0,除非路由器上配置了bgp bestpath med missing-as-worst,將被看做MED值爲4,294,967,295的路由將在注入到路由選擇表以前被改成4,294,967,294。
一、 只能在相鄰的AS傳遞,通常在EBGP鄰居的OUT方向的作。影響入站的流量。(IBGP之間是能夠修改的)
六、bgp deterministic-med
是指把路由過來的MED值進行分組
同一個AS的分一組
其餘的AS的分一組
先比較同一個AS的MED值,在和其餘AS的MED值比較路由器那個最小的ROUTE-ID進程
7、EBGP》IBGP
與EBGP的AD小於IBGP的AD是無關的
EBGP>聯盟EBGP>IBGPip
8、最近的BGP鄰居
指的去往BGP鄰居用的IGP路由的metric值
對EBGP,IBGP鄰居都會有效。
r3#sh ip b 22.22.22.0
BGP routing table entry for 22.22.22.0/24, version 4
Paths: (1 available, best #1, table Default-IP-Routing-Table)
Not advertised to any peer
1
1.1.1.1 (metric 1) from 1.1.1.1 (1.1.1.1)
Origin IGP, localpref 100, valid, external, best路由
9、 配置了maixmum-path [IBGP],存在多條等價的路徑,會負載均衡
其實這不算選路的原則,是指當前面的八條選不出最優路由時,在BGP 的進程下配置maximum-paths 命令後,會產生負載均衡
r3(config)#router bgp 3
r3(config-router)#maximum-paths ?
<1-6> Number of paths
ibgp iBGP-multipath
非等價的負載---bgp dmzlink-bw –先進程啓用
Neighbor xxxx dmzlink-bw 再針對鄰居啓用rem
10、old最長的EBGP路由,存在時間最長的優先
bgp bestpath compare-routerid
這句命令的意思是指,選路是前8條都選不出來時,跳過第十條最老的EBGP鄰居
直接選最小的ROUTE-ID
優選最老的路由(最早被學習到的路由).
A.此步驟能夠將路由擺動的影響減到最小,由於新接收到的路徑不會取代老的,即便這條新接收的路徑是經過下面說起到的額外路徑選擇標準來進行選擇的。這使得只在iBGP路徑下應用額外的選擇步驟更有意義。
B.此步驟能夠被bgp bestpath compare_routerid命令語句所關閉。
C.若是路由器標誌是同樣的,此步驟能夠被屏蔽,由於這說明路由器正在從本身那裏接收路由。
D.若是當前沒有最優路由器,此步驟能夠被屏蔽。當提供某個路徑的對等體路由器宏機,就會發生丟失
11、 lowest router-id
最小的IBGP鄰居route-id
在有RR的狀況下不比鄰居的route-ID,比起原ID 起始者標識將代替route-id在路徑選擇過程當中起做用。
將不會用到11條選路原則,會用到12或者13條選路原則。
一個路由器從多個RR收到相同路由進行最優路徑選擇時,第11條選路原則用的Router-ID被更改成originator ID(此ID既是在本AS學得路由的第一跳路由器的Router-ID,是RR的一個client),而不是RR的Router-ID,所以若是BGP路由只是從一個ASBR學習到而後傳入AS內部,將不會用到11條選路原則,會用到12或者13條選路原則。
若是在同一時間學習到多條到同一目的地的路由,優選最小BGP-router-ID的路由,注意,若是一個路徑包括路由反射器屬性,
12、cluster list length
多條路徑的始發路由器ID相同,那麼選擇 cluster-list短的,
由於每通過一個RR, cluster-list會加上這個RR的 cluster-id
十3、lowest neihbor addressBGP優選來自於最低的鄰居地址的路徑,是BGP的neigbor配置中地址