BGP路由屬性詳解


Weight 屬性 : cisco 私有 BGP 屬性參數,它只適用於一台路由器中的路由,也就是 不會傳遞給任何其他的路由器 。他的取值范圍為 <0-65535> ,這個數 越大優先級越高 ,默認從鄰居學到的路由的 weight 都為 0 ,從本地重分布進 BGP 路由表中的值為 32768 Weight 屬性 不能包括在 BGP update 中,也不能以任何形式傳遞給其他運行 BGP 的鄰居,就是說一個路由器上權值的分配不會影響其他路由器上的路由選項。
Neighbor X.X.X.X weight 命令可以更改從該鄰居收到的路由的 weight 。也可以用 route-map 中的 set weight 來設置 weight ,但是 weigh 不能用在路由更新的出方向 。我們還可以在 neighbor X.X.X.X filter-list ? Weight 設置 weight 從而來 匹配 ip as-path access-list 列表 中的 AS 為他們設置 weigh 。如果三種都配置。那么 route-map 優於 filter-list 優於 neighbot weight !!
Origin 屬性和 next-hop 屬性 在前面已經做了解釋,在此不再贅述只說一下他們的修改方法。
Origin 屬性: route-map set origin[egp/igp/ incomplete ] 修改 origin 屬性
Next-hop 屬性: neighbor X.X.X.X [next-hop-self/ next-hop-unchanged ] 修改 next-hop 屬性,也可以 route-map set ip next-hop[X.X.X.X/dynamic/in-vrf/peer-address/recursive/ verify-availability ] 中進行更詳細的修改。
第三方下一跳現象: 當前綴通過 EBGP 通告出去后, next-hop 會被自動的設置為那個正在發送該前綴的 EBGP 對等體的 IP 地址。有一種情況是例外的,就是當多個對等體同在一個共享的多路訪問網絡中,那么宣告者會把同一個網段上原來的宣告者設置為下一跳,而不是他自身。   這個特性可以被 neighbor next-hop-self 命令修改掉!
 
As-path 屬性: 它以 相反的順序 列出了一條前綴先后所經過的 AS ,最后一個 AS 放置在該列表的開始處。 AS-path 主要目的是為 AS 域間路由選擇提供環路防止機制。因為 AS-path 列表的最短優先 原則,因此在列表中 前置相同的 AS 影響入站路由選擇是常用的方法,這種方法叫 AS-path 的通路附加 。可以在 route-map in 方向 設置 set as-path prepend 100 101 102 AS-path 列表的 最前面 增加 100 101 102 三個 AS 號碼 out 方向在最后面加 Set as-path prepend last-as  3 AS-path 列表的 最前面 增加 3 最后的 AS 號碼 只有在 EBGP 對等體之間公布路由的時候 AS 號才會被附加到 AS-path
CISCO-IOS 軟件支持 4 as-path AS-SET AS-SEQUENCE AS-CONFED-SET AS-CONFED-SEQUENCE !set Sequence 不同處是 set 中的 AS-path 是無序的,而 sequence 中的 AS-path 列表是有序的 。當執行路由匯總時,會丟失 AS-Path 的細節信息,因為聚合點后面的 AS 號不會加在 AS-path 中,這樣會出現路由選擇環路。所以有了 AS-set 列表 , 當一個運行 BGP 的路由器根據從其他 AS 學習到的 NLRI 生成一個聚合路由時,在聚合點后面的路由所經過的 AS 會形成一個 AS-SET 。這個 as-set show ip bgp  {} 括起來 , {} 外面的就是 as-sequence. 如: 3 {1,2} i as-set 默認是關閉的 我們可以在聚合命令下 Aggregate-address 10.10.0.0 255.255.0.0 summary-only as- Set 開啟 as-set 功能 。因為 as-set 會攜帶更多信息,所以 只要開啟 as-set 就不會再產生 atomic-aggregate
 
Local-preference 屬性 :本地優先級,它只用在 IBGP 對等體之間的 update 消息中 ,以設置離開本 AS 的最優出口點,不會傳給其他的 AS (典型的,在入境 EBGP 更新中被設置),並且僅僅被同一個 AS 內的路徑選擇處理所使用。 默認為 100 ( 可以被 bgp default local-preference 修改 ), 越高越優先 。即使在 EBGP 鄰居使用 route-map  配置了 Set local-preference <0-4294967295> 在出方向也是沒用的,因為 發給 EBGP 對等體的 update 根本不會攜帶這個屬性 ,所以這樣配置沒有意義。這個屬性 發給 IBGP 對等體時會被自動繼承下來 ,傳遞到所有路由器都知道這個路由前綴的本地優先級屬性。
 
Multi-Exit-Disc MED )屬性: 它被典型的用在 AS 間的鏈路上,以區分到達相同的鄰居 AS 的多個出口點。它在 EBGP IBGP update 消息中攜帶但不可以在接收 AS 范圍之外的地方傳遞 MED 屬性,也就是說 MED 只會在相鄰的 AS 之間影響業務量。 它允許一個 AS 將它的首選入口點通過此屬性通告給另外一個 AS 。可以在 route-map 中的 set metric<0-4294967295> 中設置 ,還可以在 route-map set metric  +/-<metric> 格外增加或者減少這個值 。具有 最低的 metric 值的路由優先 。我們可以把它看為一個度量,越小越優先。 如果到同一個目的地的兩條路由來自不同的 AS ,此時 BGP 路由選路時不進行比較 MED MED 只對單一的 AS 有意義 (我們可以強制讓它們比較 bgp always-compare-med )。
在邊界路由器本地被注入到 BGP 中的路由在被通告給 EBGP 對等體時攜帶 MED 值。他們的規則如下:
如果通過 network redistribute 命令注入到 BGP 中的路由是來自於 IGP 的,那么 BGP MED IGP 中導出。
如果通過 network redistribute 命令注入到 BGP 中的路由是來自於直連的,那么 BGP MED 被設置為 0  
如果是通過 aggregate-address 命令注入路由,那么本 BGP 表的 MED 不被設置。鄰居收到后寫成 0
如果 路由從 i/eBGP 對等體學習到,那么它的 MED 傳給 EBGP 對等體是刪除的 。我們可以強制邊界路由器通告 MED EBGP 對等體鄰居。 Route-map 中設置 set metric-type internal 這樣就會將 本地 IGP 路由表的 metric 增加到條目中,如果本地 IGP 沒有那么就為 0
Default-metric 這條命令可以更改 重分布(必須是 redistribute 命令)進 BGP 路由表的 IGP 條目的默認 MED 為多少 。(缺省情況下 redistribute 會把 IGP 的開銷放到 BGP MED 屬性中)
 
ATOMIC-AGGREGATE 屬性和 AGGREGATOR 屬性: 一個運行 BGP 的路由器能夠向另外一個運行 BGP 的路由器傳送重疊的路由。聚合路由是產生重疊路由的最主要方式。
重疊路由:可以到達同一個目的地但是不完全相同的路由。(常見的就是一條路由包含另一條路由)
當執行路由聚合時,會丟失路由信息 as-path next-hop 等),路由會變得不准確。 聚合的發起者只會把自己的 AS 放入 AS-path 中,聚合前的 AS 信息都會丟失。
Atomic-aggregate 屬性: 它可以 警告下游路由器出現了路徑的丟失 。聚合時總是會把這個屬性放進聚合后路由的 update 中。任何下游路由器再公布給其他路由器時,會 傳遞這條路由的這個屬性
Aggregator 屬性: 聚合時也會自動出現該屬性。它包括發動 聚合路由器的 AS 號碼還有它的 router-id ,從而提供了執行聚合的地點信息。 Atomic-aggregate 屬性指示出現了路徑信息的丟失而 aggregator 屬性指示聚合路由出現在哪里
 
Community 屬性: 它被一組 共享相同特性的前綴 所定義, 多個社團可以應用到一條前綴上 Community 屬性有 4 個字節, RFC1997 規定前兩個字節代表 AS 號碼,后兩個字節是管理上定義的標識符。格式為 AA:NN cisco 缺省時 NN:AA 格式,但是可用命令 ip bgp-community new-format 將這個缺省的 NN:AA 改為 RFC1997 AA:NN
團體屬性有以下兩種類型: well-known (公共)和 Private (私有)
公共社團屬性:當收到這些帶有團體屬性的前綴時,對等體會 自動根據預定義(操作已經定義好了)的社團屬性意義來采取操作 ,不需要額外的配置。公共團體屬性的保留范圍是( 0xFFFF0000-0xFFFFFFFF )。下面是 4 種公共社團屬性
Internet: 所有屬於這個社團屬性的路由都有一個缺省值,可以自由地公布屬於這個團體的路由。換句話說 這個社團的前綴通告沒有任何限制 。在 cisco IOS 軟件中, 每一條前綴都沒有團體屬性 ,但配置上這個屬性並不會有什么變化,也是可以自由傳遞。它的 值為 0
No-export: 有這個屬性的前綴 不會被通告給 EBGP 對等體 ,但是 可以發送給聯邦的 EBGP 對等體 ,也就是不能在聯邦范圍以外公布。這個團體的值為 0xFFFFFF01
Local-AS: 有這個屬性的路由條目 不會被通告到本地 AS 之外 。在聯邦情況下,只有在同一個 AS 中的對等體 才會允許接受這些前綴。它的值為 0xFFFFFF03 RFC1997 中這個團體也叫做 no-export-subconfed
No-advertise: 接受到帶有值的路由 不能公布給任何對等體 ,包括 IBGP 對等體和 EBGP 對等體。它的值為 0xFFFFFF02
私有社團屬性: 有網絡管理員自己定義的社團屬性,它的主要目的是 為前綴附加管理標記 ,以便制定合適的策略。
社團屬性默認並不會在對等體之間傳遞,傳遞社團屬性需要命令 neighbor send-community
 
Originator-id 屬性和 cluster-list 屬性: 他們在路由反射器中使用用來防止路由選擇環路。
Originator-id 是本地 AS 路由發起者的路由器 ID 。如果路由發起者在接收到路由的 originator-id 中發現了自己的 RID ,就知道產生了環路,於是 忽略 該路由條目,它提供在 AS 內的防環作用,它由 第一個 RR 創建,並且不被后續的 RR 修改 。它只應在 IBGP 對等體那里接收到, RR originator-id 用來替代路由選擇過程中的 router-ID 它應該是這些路由器的 router-id 在本地 AS 始發路由的 BGP 宣告者的 router-id; 如果是從 EBGP 學到的就是最初學到那個條目的路由器 ( AS 內邊界路由器 ) router-id (它一定是本 AS 內路由器的 router-id )。
Cluster-list 是路由經過的 路由反射器的簇 ID (默認 RR router-ID )的一個列表 ,如果路由反射器接收到的路由的 cluster-List 中發現了自己的本地簇 ID ,就知道產生了環路,於是忽略該路由條目, RR 從而能夠分別出路由選擇信息是否又環回到同一個簇。可以配置 bgp cluster-id cluter-id 默認為 RR 自己的 router-id 所以默認情況下所有的 RR 都不在同一個簇。
MP_Reach_NLRI 屬性、 MP_Unreach_NLRI 屬性和 Extended_Communities 屬性將在 MPLS/VPN 體系結構中詳細講述。
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM