bgp路由協議(2)ebgp/ibgp+13條選路原則


一、ebgp和ibgp

1、ebgp(external border gateway protocol):外部邊界網關協議,AS之間建立的bgp鄰居關系

2、ibgp(internal  border gateway protocol):內部bgp協議,AS內部之間建立的bgp鄰居關系

  (1)IBGP路由器必須以全網狀結構相連,以防止路由環路。如果使用了路由反射器或者路由聯盟,則IBGP網狀結構可能遭遇收斂問題,會導致路由黑洞問題。

3、兩者的區別

(1)路由環路的避免措施不一樣。

  IBGP規定:ibgp speaker不允許把一個IBGP鄰居學習到的前綴去傳遞給其它的IBGP鄰居,因此IBGP要求邏輯全連接。

  EBGP:ebgp對路由環路的避免是通過as_path屬性來實現的

(2)使用的bgp屬性不同。如:ibgp可以傳遞local_pore(本地優先性);ebgp不行。

(3)ibgp有同步的要求,而ebgp沒有同步的要求。

(4)ibgp不需要ibgp鄰居之間有物理連接,只需要邏輯連接即可;

   ebgp一般情況下都要求ebgp鄰居之間存在物理連接。

4、路由通告的傳遞

(1)如何將一個AS學到的路由通告給另外一個AS,要視過渡AS內部的情況而定。

(2)規則

  a,bgp路由器會把從ebgp對端學到的路由通告給所有bgp鄰居,包括ibgp鄰居和ebgp鄰居。

  b,從ibgp鄰居處學到的路由是否通告給自己ebgp對端,這就要視本AS內的egp和igp路由表是否同步而定,而是否需要同步——就要看本AS內的“過渡”路由器之間有沒有全互聯ibgp,如果是全互聯的ibgp,就不需要同步。

二,十三條路由的選路原則

前提:每條路由都是最優的,也就是下一條可達,以及同步關閉

序號 名稱 介紹
1 weight值 最高有weight優先,默認是0
2 local preference 本地優先級高的優先
3 next hop 起源本路由器上的路由
4 as path as-path最短的優先
5 origin 最小的起源代碼
6 MED 最低的med
7 EBGP>IBGP ebgp:20;ibgp:200/255
8 度量值最小的IGP 通過最近bgp鄰居的路由
9 EBGP鄰居建立時間 最老的egbp鄰居學到的路由
10 最小的BGP route ID 更低的route-id
11 max-path是否配置 如果配置了,就負載均衡
12 cluster-list短 始發路由器ID相同,選擇cluster-list短的(每經過一個RR(路由反射器),cluster-list會加上這個RR的cluster-id)
13 neighbor配置小 優選來自於最低的鄰居地址的路徑,是bgp的neighbor配置中的地址

1、weight值(權重值)

(1)優選有最大weight的路由(0---65535),weight是Cisco私有的參數,路由器配置了weight在本地有效。

(2)缺省情況下,通過本路由器宣告、重分布或者匯總的路由的weight為32768,從bgp鄰居學習到的路由的weight為0

(3)只在本地有用,影響本路由的選路。

(4)修改方法(在本路由器的入方向上做)

  a,neighbor xxx weight xxx (從此xxx鄰居學到的所有的路由都加)

  b,router-map xxx permit 10 set weight xxx

2、local-preference(本地優先級)

(1)通過第一條選路原則不能選出最優bgp條目的情況下,優選有最大local preference值得bgp條目。

(2)local preference值只可以在ibgp鄰居之間傳遞,在ebgp鄰居之間不能傳遞(不能在ebgp的出方向上做,因為只在本AS內生效)

(3)對於從ebgp鄰居學習到的bgp條目,local preference缺省值為100(show IP bgp中看到是空,其實也是100;show ip bgp xxx看明細的時候可以看見路由的local-preference),這個值可以通過命令bgp default local-preference修改

(4)修改方法

  a,bgp default local-preference xxx //修改后,對ibgp學來的路由不起作用,只對ebgp傳來的和自己產生的路由起作用。

  b,route-map xxx permit 10 set local-preference xxx

  c,不能在ebgp鄰居關系的出方向做修改

3、起源本路由器上的路由

  優選從本路由器始發的路由:包括本地network配置的重分布,或者在igp表中已經有一些需要被配置路由聚合的地址。

4、AS--PATH

  若前三條選路不能選出最優bgp條目的情況下,優選as path長度短的路由條目

  修改as path長度只能在ebgp鄰居關系之間進行,ibgp鄰居關系是不可以的

(1)as-path只可以在ebgp鄰居關系的out方向和in方向去修改:

  a,out方向:加在本來as號的前面/右邊

  b,in方向:加在本來as號的后面/左邊

(2)last-as表示在離這個路由器最近的as號,重復加次數

  route-map xxx permit 10

  match ip address 1

  set as-path prepend last as xx(xx表示加的次數)

(3)入/出方向的時候,as-path prepend與last-as同時使用,last-as先,as-path prepend后

   聚合   聚合后的{  }內的as算一個。

   聯邦   聯盟內的( )內的as一個都不算。

   neighbor xxx remove-private-as刪除私有as號,起源於本as無效,在出方向做。

   bgp best path as-path ignore     // 跳過as-path選路原則

5、起源代碼origin

  前四條選路原則不能選出最優bgp條目,優選最低起源類型的bgp路由

  origin的順序是igp優先egp優先incomplete(egp現在已不用)

(1)類型

  i-----igp,network xxx :通過network,aggregate方式產生的bgp路由的起源屬性

  e-----egp:現在已不使用

  ?-----重分發:通過重分布產生的bgp路由的起源屬性是incomplete

(2)origin在ebgp/ibgp的in和out方向都可以做。

6、MED值

  前五條選路原則都不能選出最優bgp條目

(1)用途:在兩個相鄰as之間有多個bgp連接的情況下,MED值用於影響從相鄰as到本as的路由選擇(用於影響鄰居as到本as的流量從哪個接口進來)

(2)MED的生成

  a,本地network方式生成的bgp條目,會帶上igp的metric,(同時也會帶上路由的下一跳,開啟匯總后會被取消)會傳給所有鄰居。

  b,如果從ebgp鄰居學習到的bgp條目的metric值傳遞給其它ibgp鄰居,但不傳給ebgp

    -------------------------------a,b表示MED值只傳遞一次ebgp鄰居--------------

  c,若ibgp鄰居學習到一條bgp條目的metric為0或者其它值,缺省不會傳給ebgp鄰居,會顯示為空

  d,匯總方式生成的bgp條目,metric值為空

  e,重分布方式生成的bgp條目,metric值為igp的cost】metric、hop,如果開啟自動匯總會被清楚

  f,缺省情況下,空的metric當0看待

(3)優選最小MED值的路由(范圍0到4,294,9671295)

  a,只在通過兩條路徑得到第一個AS(對等體)是同一個AS時才進行MED比較(as序列號中第一個as號碼一致,才比較MED),任何子自治域的聯盟系統都會被忽略(從不同聯邦學到的路由都會比較MED)

  b,如果路由器上配置了bgp always-compare-med,在全部路徑進行med比較(全體as都同時啟用這個功能,否則有可能會發生路由環路)

  c,若路由器上配置了bgp best path med confed,將進行med比較(所有包括/.AS_CONFED_SEQUENCE的路徑下),默認不比較

  d,如果接收到的路徑沒有分配med值,則將此路徑分配為0,除非路由器上配置了bgp best path med missing-as-worst,將被看作MED值為4,294,967,295的路由將在注入到路由選擇表之前被改為4,294,967,294。

7、ebgp > ebgp:ebgp>聯盟ebgp>ibgp

8、最近的bgp鄰居

  指的去往bgp鄰居用的igp路由的metric值,對ebgp,igbp鄰居都會有效。

9、old最長的ebgp路由(存在時間最長的優先)

(1)可以把路由擺動的影響減到最小,因為新接收到的路徑不會取代老的。

(2)使用bgp best path compare router id 可以關閉此步驟

(3)若路由器的標志一樣,此步驟可以被屏蔽,說明路由器正在從自己那里接受路由

(4)如果當前沒有最有路由器,此步驟可以被屏蔽。當提供某個路徑的鄰居路由器宕機,就會發生丟失

10、lowest router id (最小的ibgp鄰居route-id)

  在有RR(路由反射器)的情況下不比鄰居的route-id,比起原id起始者表示將代替route-id在路徑選擇過程中起作用。

 

 

 

 

 

 

 

 

 

 

 

  

 


免責聲明!

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



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