思科BGP技術詳解七

來源:本站原創 網絡技術詳解 超過1,838 views圍觀 0條評論

五、BGP的屬性

屬性決定路由的選路。分為四種類別:公認必遵、公認自選、可選可傳遞 、可選不可傳遞,路徑屬性是Update包攜帶的。

(一)屬性分為:

origin 起源屬性。

Next-hop:下一跳屬性

AS-path屬性

本地優先屬性

多出口鑒別器屬性

1.公認必遵

對于任何一臺運行的BGP路由器,都必須支持公認必遵屬性,并且半路由信息發給其它BGp鄰居時,必須中路由中寫入公認必遵屬性,這些屬性是強制定入路由中的,一條不帶公認必遵的路由被BGP路由器視為無效而被丟棄。個不支持公認強制屬性的BGP,是不正常的,不合法的BGP

BGp路由必須攜帶的公認必遵屬性有三種:origin\next-hop\as-path.

必用的屬性。

2.公認自選(well-known discretionary

公認自選屬性并不象強制屬性那么嚴格,任何一臺運行BGP的路由器上都必須支持公認自選屬性,必須理解認識公認自選屬性,但是為路由定入公認自選屬性并不是必須的,是否要為路由寫入公認自選屬性可以自由決定,為路由寫上公認自選之后,所有BGP路由都能認識和理解,并且都會自動保留和傳遞該屬性。

3.可選可傳遞(optional transitive

并不是所有運行BGp的路由器都是能理解和支持可選可傳遞屬性,路由的可選可傳遞屬性是任意寫入的,其它BGp路由器并不一定能理解,也并不一定能保留和傳遞該屬性,但是當為路由設置了可選可傳遞后,可以明確要求BGP路由器保留和傳遞該屬性。

意思是:一但用該屬性,必須向下傳遞。

4.選不可傳遞屬性(optional Nontransitive

只有特定的BGp路由器才理解和支持選不可傳遞屬性,并且選不可傳遞屬性理論上是不能手工設置的,即便手工設置了選不可傳遞屬性,這些屬性也不能任意傳遞,只可以傳遞到特定的BGP路由器

意思是:只要設置上,不能隨便傳,只傳遞特定的路由器。

(二)分別討論各種分類:

1.origin(公認必遵的屬性)

show ip bgp 在每行的最后有一i,標識的都是起源屬性是一個代碼,在這里起源是i – IGP

Network Next Hop Metric LocPrf Weight Path

*> 1.1.0.0/22 12.1.1.1 0 0 100 i

*> 2.2.2.0/24 0.0.0.0 0 32768 i

定義:

在路由器之間建立BGP鄰居之后,鄰居之間只能相互傳遞BGP路由表中的路由,在初始狀態下,BGP的路由表為空,沒有任何路由,要讓BGp傳遞相應的路由,只能先將該路由導入BGP表,之后才能在BGP鄰居之間傳遞。默認情況下,任何路由都不會自動進入BGP路由表,只能手工導入,對于路由是怎么進入BGp路由表的,這咱方式記錄在路由條目中,稱為origin屬性,origin屬性就反映出了路由是如何進入BGp 路由表的。要將路由導入BGP路由表,有三種方式:

(意思是:很明顯,要建立TCP連接,無論什么時候看到最后是i,i代表IGP,只有在直連鏈路在路由表出現了,才能有可能加入到路由表,在BGp中,network命令只是把該是路由放入到BGP表中,只要TCP可達,就可以使用network命令把該路由放入到路由表中。

起源IGP,是IGP加進去的。

E: 代表EBGP

?:代表重分發,同步原則時,沒有使用全互連時,要用?了。)

第一條:因為路由器上默認會有IGP路由表,通過命令show ip route可以查看到,這些IGP表中的路由可以被手工導入BGP,通過在BGP進程模式下使用命令network,即可將IGP表中的相應路由導入BGP路由表,并且需要指定掩碼,只有network后面的網段和掩碼在IGP路由表中能找到時,才會進入BGP路由表,并不能通過這種方式將一條不存在的路由憑空導入BGP,通過命令network被導入BGP的路由的Origin屬性為IGP屬性。

意思是:只有直連有了才能進去;掩碼宣錯了也進不去;通過network導入的是IGP

第二:BGP可以從EGP路由協議中獲得路由信息,而EGP已經被淘汰,被BGP所取代,所以我們很難遇見EGP路由協議,從EGP路由協議獲得的路由的Origin屬性為EGP

意思是:很難遇到EGP,現在沒有了。

第三:BGP路由表除了從IGPEGP獲得路由外,還可以將路由重分布進BGP路由表,而重分布的路由的Origin屬性為Incomplete(?)。

BGP路由表中到達同一目的地存在多條路徑時,會通過比較路由的Origin屬性來選擇最優路徑,它們的優先級為IGP優于EGPEGP優于Incomplete,即IGP>EGP>Incompletei>e>?)。

第三條:我到達相同的網絡,即有bgpIGP ?學的來的,優先的順序j :IGP>egp>inconplete (i>E>?)

2.AS-path(公認必遵的屬性)

意思是:一是防止環路,二是比較到達目的的優劣。分為:AS-sequenceAS-set .

AS-sequence是記錄序列號。AS-set記錄所經過的AS號,但是無序的,也是為了以上環路的中圖:

3.next-hop

AS_Path中包含了BGP路由器到達目的地所經過的所有AS的集合,AS_Path中會包含了多個AS號碼,號碼的多少,邏輯上反映了到達目的地的遠近。

AS_Path還能細分為:

AS_SEQUENCE(有序的AS號碼,即AS號碼在AS_Path中是按一定順序排列的)

AS_SET(無序的AS號碼,即AS號碼在AS_Path中的排列是沒有順序的,通常是將多條擁有不同AS_Path的路由匯總后產生的)

BGP路由表中到達同一目的地存在多條路徑時,會優選AS-Path最短的路徑

意思是:

宣告路由器(發信息的路由器):是宣告本自治系統的路由器給別的路由器,即從到本身來看其它路由器。

比較到目的地的優劣;

能將多個AS中的地址匯總,要設置一個AS-set,讓回來的路徑知道去哪里。

3.Next-hop:(網絡可達消息通告的網絡)(公認必遵的屬性)

官方解釋:

也就是BGP將數據包發往目的地的下一跳,BGP路由的下一跳,就是BGP建立鄰居時的地址,也是BGP之間建立TCP連接所使用的地址。因為這個地址可以是路由器上任意接口的地址,是要能通信即可(其連通性由IGP提供保證),所以BGP在將數據包發往下一跳時,通常需要采用遞歸查詢在IGP路由表中查詢該下一跳地址。默認情況下,一臺BGP路由器將路由傳遞給eBGP鄰居時,會將Next-hop屬性改為自己的地址,也就是和對方建立鄰居所使用的地址,而在將路由傳遞給iBGP鄰居時,不會改變Next-hop屬性。

對于將路由傳遞給BGP鄰居時,是否改變Next-hop屬性的功能,可以自由關閉或啟用。

BGP路由表中由本地產生的路由而不是從BGP鄰居學習來的,即本地發起路由的Next-hop屬性都為0.0.0.0

如果宣告路由器和接收路由器位于不同的自制系統中,那么Next-hop是宣告路由器的接口地址

如果宣告路由器和接收路由器位于同一自治系統中,且Update消息的NLRI指向的是同一AS內的目的地址,那么Next-hop是宣告該路由的鄰居的IP地址

如果宣告路由器和接收路由器位于同一自治系統中,且Update消息的NLRI指向的是不同AS內的目的地址,那么Next-hop是外部對等體的IP地址.

意思是:

1)如果宣告路由器和與接受路由器位于不同自治系統,下一跳是宣告路由器的接口地址;

2)如宣告路由器與接受路由器位于同一自治系統,宣告的地址為本自治系統,則下一跳是他的更新源。

3)如宣告路由器是宣告的網絡是和本向不是同一自治系統,則下一跳是

4.:多出口鑒別器(MED)屬性(屬于可選非傳遞屬性)

官方:

MED就是BGP路由中的metric,是被設計用來影響在多個下一跳都為eBGP鄰居時,如何選擇最優路徑,因為在多個下一跳都為iBGP時,是建議使用修改Local_Pref屬性來影響選路的,而多個下一跳都為eBGP時,則使用MEDMEDBGP路由的metric,所以多條路徑中擁有最小MED值的路徑會被優先使用。MED默認值為0

Local_Pref屬性只在同一個AS內部傳遞,而MED只能在AS之間傳遞,只有在將路由發給eBGP鄰居時,才會傳遞MED,在發給iBGP時,是不會傳遞MED的。當一條路由被設置MED值后傳遞給eBGP鄰居,在eBGP鄰居收到后,如果將該路由繼續傳遞給iBGP鄰居,那么這個值會被還原為默認值0,也就是說同一個AS內,所有發給iBGP鄰居的路由的MED值都為0,這是為了讓所有AS內部路由器都能夠擁有相同的選路結果。

MED值也是可以隨意修改的。

clip_image002

在上圖中,當AS 20中的路由器R4要去往目的地為AS 10的網段時,由于下一跳R1R2都為eBGP鄰居,所以可以通過修改MED值來影響R4對于下一跳的選擇。比如將R2MED改為10,而R1MED保持默認不變,那么最終R4將選擇R1去往AS 10中的目的地,因為R1MED0小于R2MED10,所以被優先使用。

默認情況下,只有當去往目的地的多個下一跳eBGP鄰居都為相同AS時,才會比較MED值,如果多個eBGP鄰居為不同AS時,是不會比較MED的,若是要強制在多個不同的eBGP鄰居之間比較MED值,需要在BGP進程下輸入命令:bgp always-compare-med

意思是:

默認把MED看作是一度量,可以修改

1)在BGP 中,流量是分方向的,從R1loop R4loop ,去的時候走的下面,回來的時候要上面了,這和IGP不一要,IGp是去走哪,回來也走哪。

2)“當存在到某個網段的多個入口的時候作為度量來指明最佳入口路徑”MED影響的入站路由。在本地做配置將影響到外面。在本地影響對方進來的流量。

3)影響鄰居;

4)默認值為0.越小越優先。

5)相同的自治系統傳給對方的流量不會再回來。

6)只有當外部對等體屬于同一個相鄰的自治系統的時候才會比較多出口鑒

別器值,這個量度只應用于配置的外部對等體之間的連接。即用于外部對等體之間即EBGP之間。

4Local_Pref本地優先(公認自選屬性):(是用在IBGp之間)

Local_Pref稱為本地優先級,其中的(Local)本地就是指本AS,或AS內的意思,所以可以想象得出,Local_Pref屬性的傳遞范圍,只在同一個AS內有效,一條路由的Local_Pref屬性只能在同一AS內部傳遞,出了AS后就會被還原成默認值。

Local_Pref屬性在BGP鄰居之間是自動傳遞的,只有在將路由發給iBGP時才會傳遞,而在發給eBGP時,是沒有Local_Pref值的,一條路由的Local_Pref屬性在一個AS內的所有BGP路由器上是完全相同的。Local_Pref的默認值為100,由此可以看出,一條路由在AS內的所有路由器上默認值為100

本地優先級屬性是用于區分到同一目的地的各個路由優先程度的。本地優先級越高,路由優先級越高。默認值為100

BGP路由表中到達同一目的地存在多條路徑時,會比較Local_Pref值的大小,Local_Pref值大的會被選為最優路徑,如110100,那么110會被選為最優路徑。

Local_Pref值可以被隨意修改,修改后將在整個AS內傳遞,所以推薦使用Local_Pref屬性來控制一個AS的路由器去往目的地在其它AS的路徑。如下圖:

clip_image004

在上圖中,AS 10中的BGP路由器R3可以同時通過R1R2去往目的地在AS 20中的R4上時,可以通過在AS 10內部修改路由的Local_Pref值來影響選路,比如在R1上將路由的Local_Pref值改為110,而路由器R2上不作任何改動,最終R3將選擇從R1去往AS 20,因為R1Local_Pref值為110,而R2Local_Pref值為100(默認),所以R3選擇R1為最優路徑。

因為R1R2在將路由發給iBGP鄰居R3時會攜帶Local_Pref屬性,所以R3同時比較iBGP鄰居R1iBGP鄰居R2時,才合適使用Local_Pref屬性,因為下一跳都是iBGP鄰居,如果下一跳不都是iBGP鄰居,并不建議修改Local_Pref屬性來影響選路。

意思:當到一個外部目的網段有多個路徑時本地優先屬性用來指明對路徑的優選程度,和多出口鑒別

器一樣,本地優先的配置也是基于鄰居的,它的默認值是100,越大越優先,而且不會被傳送給EBGP

對等體。

(三)BGP的選路規則:

1.權重:

當到目的地有多路徑時,首先看權重。

權重是cisco私有的,只對本地路由器起作用,不會被告轉發給其他任何對等體。

Weight屬性為Cisco私有屬性,只有Cisco的路由器才能認識和理解Weight。路由的Weight屬性只在路由器本地起作用,BGP將路由傳遞給鄰居時,并不會保留WeightWeight值的范圍為0~65535,默認為0,如果是BGP本地路由,則Weight值為32768。可以手工任意修改路由的Weight值,可以對路由進行修改,也可以對整個鄰居進行修改,但也只能對本地起作用,路由的Weight值并不會傳遞給鄰居。

BGP路由表中到達同一目的地存在多條路徑時,會優選Weight值最大的路徑。在Cisco路由器中,比較最優路徑的第一條規則就是比較Weight值,所以只要改動Weight值,就絕能夠控制Cisco路由器的BGP選路。

2.本地優先:

如果沒有權重,看本地優先,越大越優先。

3.本地始發:

只要TCP可達,就是到達BGP,學到二條路由,先選擇本地始發的路由。

4.最短的AS-Path

5.起源屬性:i>e>?

6.MED:多出口器,默認值為0,越小越優先。

7.EBGP>IBGP: EBGPIBGP優先,

8.有二條相同路徑(無論是EBGP還是IBGP),選擇最小的IGP度量的路徑

如前面8條都相等,則Maxinum-paths才生效。

9.如果路徑都是外部的,建立時間最長的優先。

10.選擇最小的router-id

11.選擇最小的集群標識符

12.選擇最小的對等體的地址。

文章出自:CCIE那點事 http://www.qdxgqk.live/ 版權所有。本站文章除注明出處外,皆為作者原創文章,可自由引用,但請注明來源。 禁止全文轉載。
本文鏈接:http://www.qdxgqk.live/?p=3037轉載請注明轉自CCIE那點事
如果喜歡:點此訂閱本站
?
?
萌宠夺宝游戏