bgp私房貨_第1頁
已閱讀1頁,還剩437頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、BGP,※ BGP 簡介※ BGP 消息 ● BGP 消息頭部 ● Open 消息 ● Update 消息 ● Notification 消息 ● Keepalive 消息,目錄(特性),※ BGP 有限狀態(tài)機(jī) ● Idle 狀態(tài) ● Connect 狀態(tài) ● Active 狀態(tài) ● OpenSen

2、t 狀態(tài) ● OpenConfirm 狀態(tài) ● Established 狀態(tài),※ 路徑屬性 ● ORIGIN 屬性 ● AS_PATH 屬性 ● NEXT_HOP 屬性 ● LOCAL_PREF 屬性 ● MED 屬性 ● ATOMIC_AGGREGATE 屬性 ● AGGREGATE 屬性 ●

3、 COMMUNITY 屬性 ● ORIGINATOR_ID 屬性 ● CLUSTER_LIST 屬性,目錄(特性),● Administrative Weight※ IGP、IBGP 和 EBGP 的關(guān)系※ BGP 決策進(jìn)程 ● BGP 路由表 ● BGP 的 13 條選路原則※ 管理 BGP 連接※ 對等體組※ 路由反射器※ 聯(lián)盟,※

4、宣告默認(rèn)路由※ 路由匯總※ 條件路由※ 路由過濾 ● 路由過濾的 4 種方法 ● Prefix-list 使用方法 ● ORF※ 路由阻尼※ 其他命令,目錄(特性),※ BGP 基本配置※ 多跳 EBGP & 關(guān)閉直連檢測※ 通過 IGP 對 BGP 進(jìn)行負(fù)載分擔(dān)和冗余※ 宣告默認(rèn)路由※ 將 IGP 路由重分發(fā)到 BGP 中※

5、 重分發(fā) OSPF 外部路由到 BGP※ backdoor※ 開啟 auto-summary※ 通過靜態(tài)路由匯總※ 通過 aggregate-address 進(jìn)行路由匯總-1※ 通過 aggregate-address 進(jìn)行路由匯總-2,目錄(配置),※ BGP通過 aggregate-address 進(jìn)行路由匯總-3※ 宣告聚合路由和選定的精確路由※ 更改聚合路由的屬性※ 為聚合路

6、由使用 AS_SET 屬性※ 基于精確路由的屬性構(gòu)建聚合路由※ 認(rèn)證※ 限制本地接收鄰居發(fā)送路由的路由量※ 使用 distribute-list 對 NLRI 進(jìn)行過濾※ 使用 filter-list 對 AS_PATH 進(jìn)行過濾※ 通過 LOCAL_PREF 屬性控制出站路由※ 管理性權(quán)值,※ 通過 MED 屬性控制入站路由-1※ 通過 MED 屬性控制入站路由-2※ 預(yù)附加

7、AS_PATH※ 路由標(biāo)記 ● 路由標(biāo)記 set as-path tag ● 路由標(biāo)記 set automatic-tag※ 路由阻尼※ 對等體組※ 周知團(tuán)體屬性的配置※ 自定義團(tuán)體屬性的配置※ 使用新格式配置自定義團(tuán)體屬性,目錄(配置),※ 私有 AS 號※ 聯(lián)盟 ● 聯(lián)盟的基本配置 ● 聯(lián)盟中 MED 屬性的操作※ 路由反射器

8、,BGP 簡介,,BGP 簡介,從云間俯視 BGP 的世界,一切細(xì)節(jié)都將被忽視,數(shù)據(jù)包按跳途經(jīng)各個 AS(自主系統(tǒng))最終到達(dá)目的地。一個 AS 可能是一個運營商,在 AS 的內(nèi)部運行著許多路由器,這些路由器運行著 IGP 和 IBGP。,,這種宏觀的按跳路由使得 BGP 與距離矢量協(xié)議極其相似,但因為其每跳的單位是 AS,所以被稱之為路徑矢量(path vector)協(xié)議。在 BGP 路由的傳遞過程中,途經(jīng)的每個 AS 號都會被累加

9、到路由通告消息的 AS_PATH 屬性中(累加到 AS_PATH 列表的左側(cè)),每臺路由器都會通過檢測所學(xué)路由條目的 AS_PATH 中是否包含自己的 AS 號來感知是否形成了環(huán)路,如果宣入路由的 AS_PATH 中出現(xiàn)了自己的 AS 號,則表明出現(xiàn)了環(huán)路,本地路由器將忽略該路由,以達(dá)到環(huán)路避免的目的。,BGP 簡介,,BGP 的鄰居可以位于相同 AS,也可以位于不同的 AS,在同一個 AS 內(nèi)的鄰居稱為 IBGP 鄰居,在不同 AS

10、之間建立的鄰居被稱為 EBGP 鄰居。兩臺路由器建立鄰居關(guān)系后,將交換各自路由表中的全部信息,隨后僅做增量更新。由于使用 TCP 進(jìn)行信息傳輸,因此路由器之間的信息交互是可靠的。鄰居建立后,路由器將使用 Keepalive 報文來進(jìn)行?;?,Cisco 路由器的默認(rèn) Keepalive 間隔是 60 秒。如果在 Keepalive 間隔的 3 倍時間內(nèi)既沒有收到鄰居發(fā)送的 Keepalive,也沒有收到鄰居發(fā)送的 Update 消

11、息,則表明鄰居間的鏈路出現(xiàn)故障,從而拆除鄰居關(guān)系。,BGP 簡介,,BGP 消息,,BGP 使用 TCP 協(xié)議進(jìn)行消息的可靠傳輸,由于使用的協(xié)議是 TCP,所以 BGP 的鄰居需要以點到點的方式進(jìn)行建立。BGP 監(jiān)聽 TCP 的 179 端口,被動地等待到達(dá)本地 179 端口的 TCP 建連,同時,本地也使用隨機(jī)端口號主動向?qū)Χ寺酚善鞯?TCP 179 端口發(fā)起 TCP 的建連??梢酝ㄟ^下面的命令來設(shè)置本路由器建立 TCP 的連接方

12、式: neighbor x.x.x.x transport connection-mode [ active | passive ],BGP 消息,,可以通過命令 show tcp brief 查看已成功建立的 TCP 連接,同時可以通過命令 clear tcp tcb [ TCB address ] 清除已建立的 TCP 連接。,BGP 消息,,BGP 消息,在 TCP 連接建立完畢后,鄰居之間就可以進(jìn)行信息交互了。BG

13、P 使用了以下 4 種消息:· Open 消息 (打開消息,類型 1)· Update 消息 (更新消息,類型 2)· Notification 消息 (通告消息,類型 3)· Keepalive 消息 (保活消息,類型 4)當(dāng)發(fā)送消息給 EBGP 鄰居時,默認(rèn)的 TTL 為 1,而發(fā)送消息給 IBGP 鄰居時,TTL 被

14、設(shè)置為 255 。,,BGP 消息(BGP 消息頭部),,BGP 消息(BGP 消息頭部),BGP 消息頭部格式:,,· 標(biāo)志(marker) 用于探測 BGP 對等體之間的同步丟失情況,如果支持認(rèn)證,則進(jìn)行消息 認(rèn)證。如果消息類型是 Open 或 Open 消息承載了認(rèn)證信息(作為可選 參數(shù)),則標(biāo)記必須是全 1,否則標(biāo)記的值會通過認(rèn)證機(jī)制來計算。· 長度(length)

15、包括 BGP 消息頭部在內(nèi)的消息總長度。· 類型(type) 消息的類型,共有四種類型的消息。,BGP 消息(BGP 消息頭部),,BGP 消息(Open 消息),,BGP 消息(Open 消息),Open 消息格式:,,在 TCP 連接建立后,雙方會互發(fā) Open 消息給對方,Open 消息中包含:· BGP 版本號:默認(rèn)版本號為 BGP-4,當(dāng)雙方版本號不一致時,持有較高 版本號的路

16、由器會下調(diào)自己的版本號,直到雙方所協(xié)商的版本一致。· 我的 AS 號:發(fā)起者的 AS 號,用于確定 IBGP 或 EBGP 鄰居關(guān)系。· BGP RID:路由器 ID,用于標(biāo)識自己,與 OSPF 的選擇順序一致。· 可選參數(shù)長度:表示可選參數(shù)的長度,無可選參數(shù)時填 0 。· 可選參數(shù): 用于向鄰居宣告自己的能力,包括自身是否支持驗證、多協(xié)議 擴(kuò)展、路由刷新、GR 等功能。,

17、BGP 消息(Open 消息),,BGP 消息(Update 消息),,BGP 消息(Update 消息),Update 消息格式:,Update 消息格式 路徑屬性字段中的屬性類型部分的格式,,,Update 消息用來向鄰居宣告一條或多條可行路由、撤銷一條或多條路由或同時宣告兩者,它包括:· 不可行路由的長

18、度 指示后面緊接的“被撤銷路由”字段的的長度,如果 Update 消息中不存 在需要被撤銷的路由,該字段的長度為 0。· 被撤銷路由 用來填寫被撤銷路由的條目明細(xì),它是一個(長度,前綴)的二元組, 如果二元組中的長度為 0,則表示匹配全部路由。,BGP 消息(Update 消息),,· 路徑長度 指示緊隨其后的“路徑屬性”字段的長度,如果 Update 消息中沒有路徑

19、 屬性和 NLRI,則該字段為 0 。· 路徑屬性 描述所經(jīng)過的 AS,用于環(huán)路避免。該字段是一個TLV 。· NLRI(網(wǎng)絡(luò)層可達(dá)信息) 該字段是一個(長度,前綴)的二元組,用于通告可行路由。如果二元組 中的長度部分為 0,則表示匹配全部路由。,BGP 消息(Update 消息),,BGP 路由并不是立刻通告給鄰居,IBGP 每隔 5 秒集中進(jìn)行一次路由的集中通告,EBGP 則每

20、隔 30 秒進(jìn)行一次路由通告??梢酝ㄟ^命令 neighbor x.x.x.x advertisement-interval 修改向鄰居通告的間隔時間(通過鄰居的 AS 可獲知是 IBGP 還是 EBGP)。,BGP 消息(Update 消息),,路徑屬性及屬性值,BGP 消息(Update 消息),,BGP 消息(Update 消息),,BGP 消息(Notification 消息),,BGP 消息(Notific

21、ation 消息),Notification 消息格式,,當(dāng)路由器感知到差錯時,會發(fā)送 Notification 消息給鄰居,并在發(fā)送該消息后立即關(guān)閉與鄰居的 BGP 連接。· 差錯代碼 指示差錯類型。· 差錯子代碼 提供更精確的差錯。· 數(shù)據(jù) 用于診斷差錯原因的數(shù)據(jù)。,BGP 消息(Notification 消息),,差錯代碼和差錯字代碼,BGP 消息(Notific

22、ation 消息),,BGP 消息(Notification 消息),,BGP 消息(Notification 消息),,BGP 消息(Keepalive 消息),,BGP 消息(Keepalive 消息),Keepalive 消息僅包含一個 BGP 消息頭部,不包含其他任何數(shù)據(jù)。當(dāng)本地路由器收到 Open 消息后,會檢查其攜帶的參數(shù)。如果參數(shù)可被接受,則回應(yīng)一條 Keepalive 消息進(jìn)行確認(rèn),隨后會以每隔 60 秒的速度發(fā)送

23、Keepalive 消息用來刷新鄰居的 hold timer,以達(dá)到?;畹哪康摹.?dāng)本地路由器收到鄰居發(fā)送來的 Update 消息時,也會刷新 hold timer。如果長時間(默認(rèn)是 Keepalive 間隔的 3 倍時間,即 180 秒)沒有收到鄰居發(fā)送來的 Keepalive 消息或 Update 消息,將會導(dǎo)致本地的 hold timer 超時,從而認(rèn)定鄰居之間的連接出現(xiàn)故障,并立即終止鄰居關(guān)系。,,當(dāng) Keepalive 設(shè)

24、置為 0 時,則表示雙方不需要發(fā)送 Keepalive,這就意味著“不會發(fā)生鏈路故障”。可以通過 BGP 視圖下的命令 timers bgp 來改變 Keepalive 的發(fā)送間隔和 hold timer 的時間:例:R1(config-router)# timers bgp 60 180,BGP 消息(Keepalive 消息),,BGP 有限狀態(tài)機(jī)(BGP Finite State Machine,F(xiàn)SM),,BGP 有

25、限狀態(tài)機(jī),BGP 的狀態(tài)機(jī)如下:,,BGP 有限狀態(tài)機(jī)(輸入事件,IE),,BGP 有限狀態(tài)機(jī)(Idle 狀態(tài)),,BGP 有限狀態(tài)機(jī)(Idle 狀態(tài)),當(dāng) BGP 進(jìn)程啟動時,將進(jìn)入 Idle 狀態(tài)。在這個狀態(tài)下,BGP 拒絕任何進(jìn)入的連接,也不分配資源給鄰居。BGP 將在這個狀態(tài)下進(jìn)行資源初始化,隨后啟動 ConnectRetry 定時器,初始化監(jiān)聽套接字。初始化工作完畢后,一旦監(jiān)聽到連接進(jìn)入,則遷移到 Connect 狀態(tài)。

26、當(dāng) BGP 發(fā)言者探測到連接差錯時,將關(guān)閉連接,并遷移到 Idle 狀態(tài)。如果因任何問題導(dǎo)致狀態(tài)機(jī)遷移到 Idle 狀態(tài),路由器都將 ConnectRetry 定時器設(shè)置為 60 秒(Cisco IOS 的默認(rèn)值)。當(dāng)定時器到期后,路由器會重啟 BGP 進(jìn)程。如果再次發(fā)生錯誤,則設(shè)置 ConnectRetry 定時器時間將翻倍,即 120 秒,如果連續(xù)出錯,定時器的時長每次都會再次翻倍 。,,BGP 有限狀態(tài)機(jī)(Connect 狀

27、態(tài)),,BGP 有限狀態(tài)機(jī)(Connect 狀態(tài)),如果保持在 Connect 狀態(tài),則表明雙方正在建立 TCP 連接。· 如果 TCP 連接建立成功,則 BGP 進(jìn)程會清除 ConnectRetry 定時器, 發(fā)送 Open 消息給鄰居,并遷移到 OpenSent 狀態(tài)。· 如果 TCP 連接失?。ɡ?TCP 重傳超時),本地路由器會在繼續(xù)監(jiān)聽 TCP 端口的同時重啟 Connect

28、Retry 定時器,并遷移到 Active 狀態(tài)。· 如果在 Connect 狀態(tài)下 ConnectRetry 定時器超時,本地路由器會重啟 定時器,并初始化套接字,以便發(fā)起一個新的 TCP 連接到對端。,,BGP 有限狀態(tài)機(jī)(Active 狀態(tài)),,BGP 有限狀態(tài)機(jī)(Active 狀態(tài)),在 Active 狀態(tài)中,Cisco 路由器的 BGP 進(jìn)程會每隔 30 秒(加入一個五秒的隨機(jī)值)進(jìn)行一次主動連接,

29、同時會監(jiān)聽自己的 TCP 179 端口,如果 TCP 連接建立成功,則進(jìn)行下面的操作:· 清除 ConnectRetry 定時器;· 設(shè)置 hold timer 為一個較大值(建議 4 分鐘);· 發(fā)送 Open 消息給鄰居,遷移到 OpenSent 狀態(tài)。如果此狀態(tài)下的 ConnectRetry 定時器超時,則回遷到 Connect 狀態(tài)。如果 TCP 連接中的遠(yuǎn)端 IP 地址不正確,本地

30、將重啟 ConnectRetry 定時器,并繼續(xù)進(jìn)行 TCP 監(jiān)聽。,,BGP 有限狀態(tài)機(jī)(OpenSent 狀態(tài)),,BGP 有限狀態(tài)機(jī)(OpenSent 狀態(tài)),進(jìn)入 OpenSent 狀態(tài)時,表明本地路由器已經(jīng)發(fā)送 Open 消息給鄰居,并且本地路由器正在等待鄰居發(fā)送 Open 消息。· 如果收到鄰居發(fā)來 Open 消息中的參數(shù)正確,則會回應(yīng)一個 Keepalive 消息,并設(shè)置 hold timer 為

31、 Keepalive 時間的 3 倍(hold timer 是通 過 Open 消息協(xié)商好的值),隨后遷移到 OpenConfirm 狀態(tài)。· 如果收到的 Open 消息中有差錯,則回應(yīng) Notification 消息,并遷移到 Idle 狀態(tài)。,,BGP 有限狀態(tài)機(jī)(OpenSent 狀態(tài)),通過 Open 消息中攜帶的 AS 號,可以確定鄰居關(guān)系是 IBGP 還是 EBGP。如果收到斷開 TCP 連

32、接的請求,本地進(jìn)程將會關(guān)閉 BGP 連接,并隨后重啟 ConnectRetry 定時器,回遷到 Active 狀態(tài)。如果 hold timer 超時,本地路由器將發(fā)送 Notification 消息給對方。,,BGP 有限狀態(tài)機(jī)(OpenConfirm 狀態(tài)),,BGP 有限狀態(tài)機(jī)(OpenConfirm 狀態(tài)),進(jìn)入 OpenConfirm 狀態(tài)時,表示本地路由器正在等待鄰居的 Keepalive 或 Notification

33、 消息:· 如果收到 Keepalive 消息,將遷移到 Established 狀態(tài)。· 如果收到 Notification 消息或斷開 TCP 連接請求,則遷移到 Idle 狀態(tài)。· 如果在收到 Keepalive 消息前 hold timer 超時,則發(fā)送 Notification 消息給對方。· 定期發(fā)送 Keepalive 消息用來進(jìn)行?;睿↘eepalive

34、timer 用于計算 Keepalive 消息發(fā)送的間隔)。,,BGP 有限狀態(tài)機(jī)(Established 狀態(tài)),,BGP 有限狀態(tài)機(jī)(Established 狀態(tài)),Established 狀態(tài)表示已經(jīng)與 BGP 鄰居形成了對等體關(guān)系。對等體之間將交換 Update、Notification 和 Keepalive 消息。· 如果收到了 Update 或 Keepalive 消息,本地路由器將重置 hold

35、 timer, 如果協(xié)商的 hold timer 是 0,則無需重置定時器的動作;· 如果收到 Notification 消息,將遷移到 Idle 狀態(tài);· 如果收到的 Update 消息在本地檢測到差錯,將發(fā)送 Notification 消息, 隨后本地遷移到 Idle 狀態(tài);· 如果 hold timer 超時,則發(fā)送 Notification 消息,并遷移到 Idle 狀態(tài)

36、;· 如果收到斷開 TCP 連接請求, 將遷移到 Idle 狀態(tài);,,BGP 有限狀態(tài)機(jī)(Established 狀態(tài)),· 每次發(fā)送 Update 或 Keepalive 消息時,都會重置 keepalive timer;· Keepalive timer 到期時,發(fā)送 Keepalive 消息用于保活。,,路徑屬性,,路徑屬性,路徑屬性是所宣告 BGP 路由的特性,有四種屬性類型:

37、3; 周知強(qiáng)制屬性· 周知自選屬性· 可選傳遞屬性· 可選非傳遞屬性如果鄰居收到不識別的屬性,則丟棄該 Update 消息。,,路徑屬性,Cisco 支持的路徑屬性,,路徑屬性(ORIGIN 屬性),,路徑屬性(ORIGIN 屬性),ORIGIN 屬性周知強(qiáng)制屬性,指明了路由條目產(chǎn)生的源頭,ORIGIN 屬性是由所產(chǎn)生這條路由的路由器填寫的,路由器會依據(jù)路由的來源,按照下面的順序優(yōu)選

38、路由:· IGP:表明路由的源頭是 IGP,即原始路由是一條 IGP 路由,用“i”表示。· EGP:表明路由的源頭是 EGP。· Incomplete:表示路由條目是從其他途徑學(xué)到的,即產(chǎn)生的源頭不確定, 在 BGP 路由表中用“?”表示。被重分發(fā)到 BGP 進(jìn)程中的路由就是 Incomplete 的,因為這條路由的最初源頭已經(jīng)不確定了,這種可能的一 個例子是:一條 EGP

39、路由被重分發(fā)到 IGP,隨后又被重分發(fā)到 BGP 中。,,路徑屬性(AS_PATH 屬性),,路徑屬性(AS_PATH 屬性),AS_PATH 屬性周知強(qiáng)制屬性,在 AS_PATH 列表中填寫的一串 AS 號,用于記錄途經(jīng)的 AS 。僅當(dāng) Update 消息要離開本 AS 時才會追加本地 AS 號(追加到列表的左邊)。AS_PATH 的一個主要用途是用于防環(huán),當(dāng)路由器通過 BGP 學(xué)習(xí)到一條路由時,它將檢查 AS_PATH 中

40、是否已經(jīng)含有了本地 AS 號。如果發(fā)現(xiàn)了自己,則證明環(huán)路已經(jīng)形成,隨后忽略這條路由,以達(dá)到防環(huán)目的。,,路徑屬性(AS_PATH 屬性),如果同時存在兩條相同的 destination 路由,且 ORIGIN 屬性也相同,則 比較 AS_PATH 的長度,AS_PATH 越短,表明路由越優(yōu)。在離開本 AS 時,可以通過某種方法追加多個重復(fù)的本地 AS 號,以達(dá)到增大這條路由條目的 AS 跳數(shù)的目的。,,有四種類型的 AS_PATH:&

41、#183; AS_SEQUENCE 一個有序的 AS 號列表,可以通過這個有序的列表逆回到源頭。· AS_SET 一個無序的 AS 號列表,匯總時使用。如果負(fù)責(zé)匯總的路由器在匯總命令 后面追加 as-set 關(guān)鍵字,匯總時會將 AS_PATH 中的所有 AS 號復(fù)制到 AS_SET 中,隨后刪除 AS_PATH 中的全部內(nèi)容,并將本地 AS 號填寫到 AS_PATH 中。這樣一來,下游路

42、由器即可以通過 AS_PATH 逆回到負(fù)責(zé) 匯總的路由器,又可以通過 AS_PATH 和 AS_SET 中的 AS 號進(jìn)行防環(huán)。,路徑屬性(AS_PATH 屬性),,對于 AS_SET 的問題是:AS_SET 既然是從 AS_PATH 拷貝來的,為什么說它是無序的呢?這個原因在于,匯總后的路由會沿不同的方向被傳遞出去,途經(jīng)不同的 AS。如果在途中再次被匯總,則兩條路由的 AS_SET 就一定不同了。當(dāng)這條路由沿不同的方向被傳遞,并

43、在地球上的某臺路由器上再次相遇時,路由器會發(fā)現(xiàn)雖然是相同的路由,但 AS_SET 卻是不同的,正是因為這個原因,我們說它是無序的。由于 AS_SET 中包含了全部的 AS 號,從而不能對細(xì)節(jié)進(jìn)行隱藏,所以當(dāng)某 AS 頻繁震蕩時,會造成路由的穩(wěn)定性降低。當(dāng) AS_PATH 中包含 AS_SET 時,將不再需要 ATOMIC_AGGREGATE 屬性,因為 AS_SET 擁有更詳細(xì)的信息。,路徑屬性(AS_PATH 屬性),,·

44、 AS_CONFED_SEQUENCE 用于聯(lián)盟,與 AS_SEQUENCE 的使用相同,區(qū)別在于該屬性中的 AS 號 是本地聯(lián)盟中的 AS。· AS_CONFED_SET 用于聯(lián)盟,與 AS_SET 的使用相同,區(qū)別在于該屬性中的 AS 號是本地聯(lián) 盟中的 AS。,路徑屬性(AS_PATH 屬性),,路徑屬性(NEXT_HOP 屬性),,路徑屬性(NEXT_HOP 屬性),NEXT_HOP

45、 屬性周知強(qiáng)制屬性,定義了邊界路由器的出接口 IP 地址。始發(fā) BGP 路由的路由器會對 Update 消息中的 NEXT_HOP 屬性進(jìn)行初次填寫,填寫的地址是去往 IBGP/EBGP 鄰居出接口的 IP 地址。該屬性僅在下列情況才會被改變:· 在 Update 消息離開本 AS 前,本 AS 的邊界路由器會將 Update 消息中 的 NEXT_HOP 屬性填寫(改寫)為去往 EBGP 鄰居的出接口 IP 地

46、址。· 如果路由器針對某個鄰居配置了 next-hop-self 命令,在發(fā)送 Update 消息時,路由器會將 Update 消息中的 NEXT_HOP 屬性填寫(改寫) 為 IBGP/EBGP 鄰居的直連出接口 IP 地址。,,路徑屬性(LOCAL_PREF 屬性),,路徑屬性(LOCAL_PREF 屬性),LOCAL_PREF 屬性周知自選屬性,是本地優(yōu)先級,它是一種權(quán)值。該屬性僅應(yīng)用于 AS

47、 內(nèi)部。如果 EBGP 鄰居發(fā)送來的 Update 中包含了此屬性,則該屬性將被忽略。如果多個 IBGP 鄰居都宣告了相同的外部路由,則 LOCAL_PREF 值最高的路由將被本地路由器優(yōu)選,如果 LOCAL_PREF 值相同,則會使用其他方法仲裁(后續(xù)描述)。LOCAL_PREF 的默認(rèn)優(yōu)先級是 100,可以在 route-map 視圖下通過命令 set local-preference value 來設(shè)置路由前綴的 LOC

48、AL_PREF 屬性值。,,路徑屬性(LOCAL_PREF 屬性),,路徑屬性(MED 屬性),,路徑屬性(MED 屬性),MED 屬性可選非傳遞屬性,當(dāng) Update 消息發(fā)送給 EBGP 鄰居時,本 AS 的邊界路由器填充此值,以來告訴 EBGP 鄰居到達(dá)自己的開銷。MED 屬性在多歸屬的情況下將起到作用,它可以告訴鄰居通往本 AS 的哪個入口更優(yōu),但鄰居否根據(jù) MED 值來決定流量出站完全取決于鄰居是否使用了該屬性進(jìn)行比

49、較。Cisco 路由器默認(rèn)的 MED 值為 0 。當(dāng)一個 AS 邊界路由器收到攜帶有 MED 屬性的 Update 消息后,會告知本 AS 中的其他路由器,但不會將 MED 屬性再次傳遞給下一個 AS 。,,路徑屬性(MED 屬性),,路徑屬性(ATOMIC_AGGREGATE 屬性),,路徑屬性(ATOMIC_AGGREGATE 屬性),ATOMIC_AGGREGATE 屬性周知自選屬性,當(dāng)一條路由被聚合時,路由器需要填寫此

50、屬性。當(dāng)通過 Update 消息傳遞攜帶該屬性的路由時,鄰居就可以知道如下事實:· 這是一條被匯總過的路由,匯總前的精確 NLRI 已經(jīng)不可知;· 被聚合前的 AS_PATH 細(xì)節(jié)有可能丟失。這種情況是,負(fù)責(zé)匯總的路由器 將之前的 AS 信息全部刪除,隨后僅在 AS_PATH 屬性中填寫本地 AS 號。 也正因此,如果不攜帶其它屬性用來防環(huán),則很有可能出現(xiàn)環(huán)路。· 可以通過 Upd

51、ate 消息中的 AS_PATH 逆向追蹤到匯總這條路由的AS。,,路徑屬性(AGGREGATE 屬性),,路徑屬性(AGGREGATOR 屬性),AGGREGATE 屬性可選傳遞屬性,當(dāng)設(shè)置 ATOMIC_AGGREGATE 屬性時,可以附加此屬性。負(fù)責(zé)聚合的路由器會將自己的 RID 和本地 AS 號填寫到這個屬性中,這樣其它路由器就可以通過這個屬性跟蹤到負(fù)責(zé)匯總的路由器,以便在出現(xiàn)問題時準(zhǔn)確定位。,,路徑屬性(COMMU

52、NITY 屬性),,路徑屬性(COMMUNITY 屬性),COMMUNITY 屬性可選傳遞屬性,稱作“團(tuán)體”或“共同體”,它的作用是簡化路由策略執(zhí)行。它的操作步驟及原理如下:1、本地路由器配置“訪問列表”或“路徑列表”,在 route-map 中匹配 列表中指定的路由前綴,設(shè)置 COMMUNITY 屬性并應(yīng)用到某鄰居。此 后發(fā)送給該鄰居的 Update 消息(宣告的某條路由)就攜帶了所設(shè)置的

53、自定義團(tuán)體屬性值。,,2、當(dāng)鄰居接收到 Update 消息后,會查看 COMMUNITY 屬性。 · 如果是預(yù)定義屬性,則進(jìn)行默認(rèn)操作。 · 如果是自定義屬性,路由器會在 route-map 中查看是否 match 到所 配的 COMMUNITY,如果 match,則進(jìn)行相應(yīng)的操作(例如,如果 命中了團(tuán)體值,就設(shè)置相應(yīng)的 LOCAL_PREF)。

54、* 團(tuán)體列表的命令舉例:ip community-list 65535:1,其中 65535:1 是 自定義團(tuán)體屬性值。,路徑屬性(COMMUNITY 屬性),,下面是四個預(yù)定義 COMMUNITY 屬性,如果同時配置了多個預(yù)定義屬性,則以最嚴(yán)格的屬性為準(zhǔn):· INTERNET(NULL) 所有路由器默認(rèn)都設(shè)置該團(tuán)體屬性,表明路由可以在 Internet 中自由通告。· NO_EXPOR

55、T(0xFFFFFF01) 不能將該路由宣告給 EBGP 對等體,可以在聯(lián)邦內(nèi)傳遞。· NO_ADVERTISE(0xFFFFFF02) 發(fā)送給 IBGP 鄰居的屬性,鄰居不能將路由再次宣告給任何 IBGP 和 EBGP 鄰居。· LOCAL_AS(0xFFFFFF03) 不能宣告給 EBGP 鄰居(包括同一聯(lián)盟內(nèi)的其他 AS)。,路徑屬性(COMMUNITY 屬性),,Cisco

56、 默認(rèn)的自定義 COMMUNITY 屬性格式為 NN:AA,而 RFC 1997 定義的格式為 AA:NN。AA:AS 號。NN:出于管理目的而定義的標(biāo)識符??梢酝ㄟ^ ip bgp-community new-format 命令將 Cisco 的默認(rèn)格式轉(zhuǎn)換為 RFC 標(biāo)準(zhǔn)格式。,路徑屬性(COMMUNITY 屬性),,可以通過 ip community-list 設(shè)置團(tuán)體列表,團(tuán)體列表支持“標(biāo)準(zhǔn)團(tuán)體列表”和“擴(kuò)展團(tuán)體列表

57、”,其中“擴(kuò)展團(tuán)體列表”可以支持正則表達(dá)式。配置了團(tuán)體列表后,可以通過 route-map 的 match community 進(jìn)行命中。標(biāo)準(zhǔn)訪問列表命令舉例:ip community-list 99 permit 65535:1擴(kuò)展訪問列表命令舉例:ip community-list 500 permit a-regular-expression,路徑屬性(COMMUNITY 屬性),,路徑屬性(ORI

58、GINATOR_ID 屬性),,路徑屬性(ORIGINATOR_ID 屬性),ORIGINATOR_ID 屬性可選非傳遞屬性,用于路由反射器(后續(xù)描述)。ORIGINATOR_ID 屬性記錄了路由反射簇中始發(fā)一條路由的路由器 RID,如果路由器在其鄰居宣告來的路由中看到了自己的 RID,則說明出現(xiàn)了環(huán)路,路由器將忽略該路由,以避免環(huán)路。,,路徑屬性(CLUSTER_LIST 屬性),,路徑屬性(CLUSTER_LIST 屬性),

59、CLUSTER_LIST 屬性可選非傳遞屬性,用于路由反射器(后續(xù)描述)。該屬性中記錄了路由在傳遞過程中途經(jīng)的“路由反射簇”的“簇 ID”。如果路由反射器在宣告進(jìn)來的路由中發(fā)現(xiàn)其“本地簇 ID” 在 CLUSTER_LIST 中出現(xiàn),則表明出現(xiàn)了環(huán)路,從而忽略該路由以避免環(huán)路。,,路徑屬性(Administrative Weight),,管理性權(quán)值(Administrative Weight),管理性權(quán)值(Administrat

60、ive Weight)管理性權(quán)值是 Cisco 的私有參數(shù),管理性權(quán)值越大,則路由越會被優(yōu)選。當(dāng)給鄰居設(shè)置管理性權(quán)值后,本地路由器會對那些從鄰居學(xué)來的路由追加一個權(quán)值。當(dāng)有多條從不同鄰居學(xué)習(xí)來的相同的目的地路由時,本地路由器通過比較這些路由條目的管理性權(quán)值來進(jìn)行最優(yōu)路由的選擇。從鄰居學(xué)習(xí)來的路由的默認(rèn)權(quán)值是 0,而本地生成的路由的權(quán)值為 32768。,,IGP、IBGP 和 EBGP 的關(guān)系,,IGP、IBGP 和 EBGP

61、的關(guān)系,為了說明它們的關(guān)系,先來看一下這個場景:AS 100 宣告了一條 BGP 路由 217.17.0.0/16 ,AS 200 中的 R1 從 EBGP 鄰居 R7 學(xué)習(xí)到這條路由,最終將本 AS 的邊界路由器 R3 會將這條路由宣告給 AS 300 的路由器 R8。,,EBGP 鄰居關(guān)系建立在 AS 之間,可以通過 EBGP 鄰居學(xué)習(xí) EBGP 路由。IBGP 鄰居關(guān)系建立的范圍是在本 AS 內(nèi),圖中的 R1、R2、R3 之間建

62、立的就是 IBGP 鄰居。IBGP 鄰居的建立是為了將一條 EBGP 路由傳遞給其他所有 IBGP 鄰居。圖中 R1 學(xué)到 R7 宣告的 EBGP 路由后,會通過 IBGP 鄰居關(guān)系將這條路由通過 TCP 連接以點到點的方式分別通告給 R2 和 R3。IBGP 規(guī)定:當(dāng)一臺路由器從 IBGP 鄰居學(xué)習(xí)到一條路由后,不允許再轉(zhuǎn)告給其他 IBGP 鄰居(本地終結(jié))。這個規(guī)定出現(xiàn)的原因是為了避免環(huán)路。正因如此,這也就要求 IBGP 鄰居在邏

63、輯上必須是全互聯(lián)的,這樣,宣告路由的源路由器才能將路由分別單播給自己的所有 IBGP 鄰居。,IGP、IBGP 和 EBGP 的關(guān)系,,在下圖的非共享網(wǎng)絡(luò)中,R1 僅知道自己的直連鏈路 10.0.0.0/24,它可以到達(dá)鄰居 R2 10.0.0.2,但它不知道如何到達(dá) 20.0.0.0/24,這樣它就無法與 R3 建立 IBGP 鄰居關(guān)系( 無法建立 TCP 連接)。,IGP、IBGP 和 EBGP 的關(guān)系,,雖然配置靜態(tài)路由是一種解決

64、辦法,但在 AS 中存在大量路由器的時,通過 IGP 協(xié)議使得全網(wǎng)路由可達(dá)才是唯一可行的辦法。通過在 AS 200 的全部路由器上運行 IGP 協(xié)議,每臺路由器就都可以獲知如何到達(dá)鄰居的網(wǎng)段了。,IGP、IBGP 和 EBGP 的關(guān)系,,這里提一下一種古老并被拋棄的同步機(jī)制:拓?fù)渲?R1 僅與 R3 建立了 IBGP 鄰居關(guān)系,R1 將學(xué)來的 EBGP 路由重分發(fā)到 IGP 中,通過 IGP 將路由宣告給 R2,隨后 R2 通過 IGP

65、 宣告給 R3,R3 將 IGP 路由重分發(fā)到 BGP 中。,IGP、IBGP 和 EBGP 的關(guān)系,,就像我們知道的那樣,IGP 不能處理規(guī)模數(shù)量的路由。BGP 可以容納規(guī)模數(shù)量的路由,但如果將大量的路由從 BGP 注入到 IGP 中,那么 IGP 路由表將會爆炸,從而導(dǎo)致網(wǎng)絡(luò)癱瘓。,IGP、IBGP 和 EBGP 的關(guān)系,,如果需要將 EBGP 重分發(fā)到 IGP,需要打開 bgp redistribute-internal 開關(guān),只

66、有打開該開關(guān)后,路由器才允許將 IBGP 重分發(fā)到 IGP。,IGP、IBGP 和 EBGP 的關(guān)系,,BGP 決策進(jìn)程,,BGP 決策進(jìn)程(BGP 路由表),,BGP 決策進(jìn)程(路由表),BGP 路由表包含三個部分:· Adj-RIBs-In 記錄了從鄰居處學(xué)到的路由,這個表中的路由沒有經(jīng)過任何本地策略處理, Adj-RIBs-In 表中的路由是從鄰居那里學(xué)到的“原版”路由。· Loc-R

67、IB 經(jīng)過本地路由策略處理和優(yōu)選后的最優(yōu)路由,它將可能被安插到 RIB 中。 如果 NEXT_HOP 不可達(dá),路由將安插失敗。· Adj-RIBs-Out 向?qū)Φ润w宣告的路由,已經(jīng)進(jìn)行了出站前的屬性處理,如 MED 和匯總等。,,BGP 決策進(jìn)程(BGP 的 13 條選路原則),,BGP 決策進(jìn)程(BGP 的 13 條選路原則),BGP 依照 13 條選路原則依次進(jìn)行選路:1、管理性權(quán)值(weig

68、ht) Cisco 私有屬性,本地有效,越大越優(yōu)。本地始發(fā) BGP 路由的 weight 默認(rèn)為 32768,學(xué)習(xí) 到的 BGP 路由的 weight 默認(rèn)為 0。如果同時通過 neighbor x.x.x.x weight 和 route-map 配置了 weight,則以 route-map 為準(zhǔn)。2、本地優(yōu)先級(LOCAL_PREF) 周知自選屬性,該屬性可在本 AS 和聯(lián)

69、盟內(nèi)傳遞,越大越優(yōu)。LOCAL_PREF 的默認(rèn)值為 100 。 可以通過命令 bgp default local-preference 來配置本地默認(rèn)的優(yōu)先級, 也通過 route-map 進(jìn)行配置。,,3、本地起源(BGP 路由表中 next-hop 為 0.0.0.0 的路由) 對于在 BGP 路由表中 next-hop 為 0.0.0.0 的路由,按照下面的順序優(yōu)選路由: (1)

70、 為指定 neighbor 配置的 default-originate; (2) default-information originate; (3) 本地 network 的直連路由 & 本地 redistribute 的路由; (4) 通過命令 aggregate-address 聚合的路由。4、路徑長度(AS_PATH) 周知強(qiáng)制屬性,路徑越短越優(yōu)(不計算聯(lián)盟中帶括號的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論