當BGP裝置學習到去往同- -個目的網絡的多條BGP路由(路徑)時,裝置将這些路由都裝載到BGP路由表,并在這些條目中進行路由優選,最終決策出最優( Best )的路由,将該BGP路由加載到全局路由表中,作為資料轉發的依據。
當存在多路徑時, BGP隻會将其選擇出來的最優路由通告給其他對等體。
BGP定義了一系列路由優選規則,進而使得裝置能夠在多條路由中選擇出最優的路由。BGP在選擇路由時嚴格按照先後順序比較路由的屬性,如果通過目前的屬性就可以選出最優路由, BGP将不再進行後面的比較。
BGP的選路規則與BGP路徑屬性及路由政策息息相關,它們使得BGP擁有了強大的路由操控能力。
路徑屬性:path attributes, 作用類似于metric,用于度量BGP的路由優劣(用來進行選路)
公認必遵屬性:所有的BGP的update消息都要包含該屬性
AS路徑( AS-path )
下一一跳( next-hop )
起源(Origin)
公認自決屬性:該屬性是可選可不選的,但是所有的BGP程序都能識别
本地優先級(local preferent)
可選傳遞屬性:即使BGP程序不能識别該屬性,也會繼續傳遞下去
團體屬性( community)
可選非傳遞屬性:如果BGP進 程不能識别該屬性,可以忽略這條update,并且不傳遞下去
MED
1.如果此路由的下一跳不可達,忽略此路由
2.Preferred-Value值數值越高越優先,華為私有屬性,僅本地有意義
3.Local-Preference值最高的路由優先
4.聚合路由優先于非聚合路由
5.本地手動聚合路由的優先級高于本地自動聚合的路由
6.本地通過Network指令引入的路由的優先級高于本地通過import-route指令引入的路由
7.As-path的長度最短的路徑優先
8.比較Origin屬性,IGP優于EGP, EGP優于Incomplete
9.選擇MED較小的路由
10.EBGP路由優于IBGP路由
11.BGP優先選擇到BGP下一跳的IGP路徑成本最低的路徑
當以上全部相同,則為等價路由,可以負載分擔(注意: AS_ Path必須一緻,當負載分擔時,以下3條原則無效)
12.比較Cluster_ list長度, 短者優先.
13.比較Originator ID (如果沒有Originator ID, 則用Router_ ID比較),選擇數值較小的路徑。
14.比較對等體的Ip位址,選擇IP位址數值最小的路徑。
為公認自決屬性,用于告訴AS中的路由器,哪條路徑是離開AS的首選路徑
Local Preference屬性隻能在IBGP對等體間傳遞(除非做了政策否則Local Preference值在 IBGP對等體間傳遞過程中不會丢失),而不能在EBGP對等體間傳遞,如果在EBGP對等體間收到的路由的路徑屬性中攜帶了Local Preference, 則會觸發Notifacation封包,造成會話中斷。
但是可以在AS邊界路由器上使用Import方向的政策來修改Iocal _Preference屬性值。也就是在收到路由之後,在本地為路由賦予Local _Preference 。
在R3上對R4執行出站export方向的路由政策,使得其在收到對方通告的路由後,在路由的local-prefernce的屬性值改為222,使得R4優選R3通告的路由;如果此路由政策在R4配置則方向為入站import
為公認必遵屬性,是前往目标網絡的路由經過的AS号清單
作用:確定路由在EBGP對等體之間傳遞無環:另外也作為路由優選的衡量标準之一
路由在被通告給EBGP對等體時,路由器會在該路由的AS_Path中追加上本地的AS号;路由被通告給IBGP對等體時,AS-path不會發生改變
使用route-policy修改BGP路由的AS_ Path:
使用route-policy修改BGP路由的AS Path時,可以在EBGP對等體之間改變EBGP路由的AS Path屬性,進而影響BGP路由的優選。在華為路由器上,在IBGP對等體之間,也可以使用route-policy修改BGP路由的AS Path。無論何種場景,改變BGP路由的AS_ Path都必須十分謹慎,建議跟上一個經過的AS号保持一緻。
Bestroute as-path-ignore指令用來配置BGP在選擇最優路由時忽略AS路徑屬性。配置該指令後,BGP将不比較AS路徑的長度。預設情況下,長度更小者優先。
為可選非傳遞屬性,是一種路徑成本
一般情況下,BGP裝置隻比較來自同一AS (不同對等體)的路由的MED屬性值。可以通過配置指令來允許BGP比較來自不同AS的路由的MED屬性值。執行compare-different-as-med指令後,系統将比較來自不同AS中的對等體的路由的MED值。
Origin屬于公有必遵,用來定義路徑資訊的來源,其作用是标記一條路由是怎麼成為BGP路由的,EBGP鄰居之間起作用
它有三種屬性:
①IGP (i) :優先級最高 ②EGP (e):優先級次之③lncomplete (? ) :優先級最低
将聚合的路由通告出去,因為在手動彙總的這個192.168.0.0在路由表中是不存在的的,要把它加入到NULL0裡才能在bgp程序裡用上面的network來通告這條路由
配置手動路由聚合用aggregate,detail-suppressed是抑制明細路由的通告,增加as-set關鍵字後,該彙總路由将繼承明細路由的路徑屬性,其中對明細路由AS_Path屬性可以起到彙總路由防環作用.