BGP狀態機及其總結

拓撲

在這裏插入圖片描述

基礎配置

1、IGP

(1)AR-1,AR-2,AR-3運行OSPF協議
AR-1,AR-2的環回口宣告進OSPF協議,AR-3環回口不要宣告進OSPF
(2)AR-4與AR-5運行IS-IS協議,將各自環回口宣告進IS-IS協議

2、靜態路由

在AR3與AR5互相配置指向對方環回接口的靜態路由

3、BGP

IBGP: AR-1與AR-3通過環回口建立IBGP鄰居(AS 100)
EBGP:AR-3與AR-4通過直連物理接口建立EBGP鄰居
AR-3與AR-5通過環回接口建立EBGP鄰居

[AR-5]bgp 200
[AR-5-bgp]peer 3.3.3.3 connect-interface LoopBack 0
[AR-5-bgp]peer 3.3.3.3 next-hop-local
[AR-5-bgp]peer 3.3.3.3 ebgp-max-hop
其他設備配置類似

dis bgp peer
在這裏插入圖片描述

BGP狀態停留測試

1、Idel空閒狀態(不進行TCP連接也不發送任何BGP報文)

本BGP設備的IP路由表內不存在去往鄰居的路由信息

(1)只在設備AR1配置了以下命令,其他設備沒有配置BGP的相關信息

[AR-1]bgp 100
[AR-1-bgp]router-id 1.1.1.1
[AR-1-bgp]peer 3.3.3.3 connect-interface l0
[AR-1-bgp]peer 3.3.3.3 next-hop-local

dis bgp peer
在這裏插入圖片描述
(2)在IBGP全互聯的情況下,執行以下命令

[AR-1-bgp]undo peer 12.1.1.2 

[AR-2-bgp]undo peer 23.1.1.3
[AR-2-bgp]undo peer 12.1.1.1

[AR-3-bgp]undo peer 23.1.1.2

dis bgp peer
在這裏插入圖片描述
2、Connect連接狀態

嘗試TCP連接狀態

(1)本地設備存在去往指定鄰居的路由,但是中間設備不存在去往指定鄰居的路由

[AR-1-bgp]undo peer 12.1.1.2 

[AR-2-bgp]undo peer 23.1.1.3
[AR-2-bgp]undo peer 12.1.1.1

[AR-3-bgp]undo peer 23.1.1.2

dis bgp peer
在這裏插入圖片描述
(2)EBGP建立鄰居數據包的TTL值消耗殆盡

AR6

isis 1
 auto-cost enable
 network-entity 49.0001.0000.0000.0006.00
#
interface GigabitEthernet0/0/0
 ip address 56.1.1.6 255.255.255.0 
 isis enable 1
#
interface LoopBack0
 ip address 6.6.6.6 255.255.255.255 
 isis enable 1
#
bgp 200
 peer 3.3.3.3 as-number 100 
 peer 3.3.3.3 ebgp-max-hop 255 
 peer 3.3.3.3 connect-interface LoopBack0
 peer 5.5.5.5 as-number 200 
 peer 5.5.5.5 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  peer 3.3.3.3 enable
  peer 5.5.5.5 enable
#
ip route-static 0.0.0.0 0.0.0.0 56.1.1.5
#
[AR-3-bgp]peer 6.6.6.6 ebgp-max-hop

[AR-6-bgp]peer 3.3.3.3 ebgp-max-hop

dis bgp peer
在這裏插入圖片描述
修改EBGP數據包中的TTL值爲1

[AR-6-bgp]peer 3.3.3.3 ebgp-max-hop 1

[AR-3-bgp]peer 6.6.6.6 ebgp-max-hop 1

dis bgp peer
在這裏插入圖片描述
3、Active:活躍狀態

TCP連接失敗,完成重傳計時器後重新發起新一輪TCP連接

dis bgp peer
在這裏插入圖片描述
(1)指定鄰居地址錯誤

[AR-2-bgp]peer 12.1.1.3 as 100
[AR-2-bgp]undo peer 12.1.1.1

dis bgp peer
在這裏插入圖片描述
(2)與鄰居R-ID重複(短暫出現在Active狀態)

[AR-1-bgp]router-id 3.3.3.3

在這裏插入圖片描述
AR3的g0/0/1接口,開啓抓包;(重新啓動鄰居狀態)
在這裏插入圖片描述
在這裏插入圖片描述

總結

BGP5種報文類型

Open:協商鄰居

TCP 會話建立起來自以後,兩個鄰居都要發送一個 Open 報文,每個鄰居都使用該報文標識自己,並且規定自己的 BGP 運行參數。如果 open 消息被接受,則回送一條 keepalive 消息進行確認,確認後就能發送 update

Update:更新路由/撤銷路由

Update報文進行路由信息的交換;Update報文既用來通告可用路由信息,也可以通告不可達需要撤銷的路由信息

Notification:錯誤通告

當BGP檢測到錯誤狀態時,就會向對等體發出Notification通知報文,之後BGP連接會立即中斷

Keeplive:保持鄰居關係

如果路由器接受了鄰居在 OPEN 消息中的參數,就會應答一個 keeplive 消息,並且在此後 1/3 的 holdtime(但不小於 1S)爲週期發送該消息,華爲設備默認 60S一發,保持時間默認180S。如果協商後保持時間爲 0,標識此鄰居永遠UP,則不發送 keepalive 保活消息

Route-refresh:用來刷新路由

路由刷新報文用來要求對等體重新發送指定地址族的路由信息

BGP狀態機

1、Idle狀態

Ide-----空閒狀態

(1)BGP空閒狀態,在Idle狀態下BGP拒絕鄰居發送的連接請求,此時等待由BGP系統發出的Start事件
(2)Start(管理員配置鄰居)事件發生後,BGP會對自己的資源進行初始化,重置連接計時器(Connect Retry 默認32S)發起TCP連接請求,並開始偵聽遠端對等體發起的連接端口,並轉至Connect狀態

2、Connect狀態

Connect-----連接狀態-----發起TCP的三次握手

在Connect狀態下,BGP啓動連接重傳定時器,等待TCP完成連接。
(1)如果TCP連接成功,那麼BGP會向對等體發送Open報文,並轉至OpenSent狀態
(2)如果TCP連接失敗,那麼BGP轉至Active狀態
(3)如果連接重傳定時器超時,BGP任沒有收到BGP對等體的響應,那麼BGP繼續嘗試TCP連接,停留在Connect狀態。

3、Active狀態

Actieve-----活躍狀態-----不斷重新發起TCP的三次握手

在Active狀態下,BGP總是試圖建立TCP連接
(1)如果TCP連接成功,那麼BGP向對等體發送Open報文,關閉連接重傳定時器,並轉至OpenSent
(2)如果TCP連接失敗,停留在Active狀態
(3)如果連接重傳定時器超時,任沒有收到BGP對等體的響應,那麼BGP轉至Connect狀態

4、OpenSent狀態

openset-----發送open報文協商部居關係

在OpenSent狀態,BGP等對等體的Open報文,並對收到的Open報文中的AS號,版本號,認證信息等進行檢查
(1)如果收到的Open報文正確,那麼BGP發送Keepalive報文,且重置Keepalive定時器,並轉至OpenConfirm狀態。
(2)如果發現收到的Open報文有錯誤,那麼BGP發送Notification報文給對等體。並轉至Idle狀態。

5、OpenConfirm狀態

Openconfim-----自己發送Keeplive-----等待對方的Keeplieve

在OpenConfirm狀態下,BGP等待Keepalive或Notification報文。
(1)如果收到Keepalive報文,則轉至Established狀態(BGP鄰居的最終狀態)
(2)如果收到Notification報文,則轉至Idle狀態

6、Established狀態

Established-----最終狀態----接下來就可以發送UPdate

在Established狀態下,BGP對等體之間交互Update,Keepalive,Route-refresh報文和Notification報文。

BGP鄰居的建立

1、通用事項

(1)建立鄰居之前請先檢查本設備BGP的更新源地址與對端更新源地址網絡互通。
(2)確保本設備爲任何針對BGP鄰居地址的TCP-179的限制或者策略

2、EBGP鄰居建立

(1)不同AS號的BGP設備建立EBGP鄰居,用於不同AS之間路由信息的傳遞
(2)EBGP建立鄰居建議採用直連物理接口
(3)如果EBGP鄰居之間存在多條直連路徑,需要指定建立BGP鄰居的更新源地址(connect-interface 接口編號)
(4)如果採用環回口建立EBGP鄰居,必須補充以下兩步
必須指定對等體的更新源地址

[AR-3-bgp]peer 12.1.1.1 connect-interface LoopBack 0 //指定與12.1.1.1建立鄰居時更新源地址爲本設備的環回口0必須更改建立鄰居數據包的TTL值參數(EBGP的數據包,TTL默認爲1)
[AR-3-bgp]peer 34.1.1.4 ebgp-max-hop                 //修改與34.1.1.4建立EBGP鄰居的數據包TTL值爲X,如果不明寫則修改爲255

(5)如果採用物理接口建立鄰居,存在多條路徑,且屬於非直連狀態時,需要指定更新源

3、IBGP鄰居建立

(1)同AS號的BGP設備建立IBGP鄰居,用來傳遞本AS內路由信息的傳遞
(2)IBGP建立鄰居建議採用設備環回口,如果採用環回口建立鄰居,必須執行以下動作
必須指定對等體的更新源地址

[AR-3-bgp]peer 12.1.1.1 connect-interface LoopBack 0 //指定與12.1.1.1建立鄰居時更新源地址爲本設備的環回口0(建立IBGP鄰居建議採用環回口)

(3)如果採用物理接口建立鄰居,存在多條路徑,且屬於非直連狀態時,需要指定更新源

BGP鄰居關係建立

在這裏插入圖片描述

BGP路由屬性及所屬類型

類型 屬性類型代碼 屬性類型
公認必須遵循 1 Origin(源)
公認必須遵循 2 AS-Path(AS路徑)
公認必須遵循 3 Next_Hope(下一跳)
可選非過渡/可選非傳遞 4 Multi_Exit_Dise(多出口區分)
公認任意 5 Local_Pref(本地優先級)
公認任意 6 Atomic_Aggregate
公認任意 7 Aggregator
可選過渡/可選傳遞 8 Community(團體)
可選非過渡/可選非傳遞 9 Originator_ID
可選非過渡/可選非傳遞 10 Cluster_List

在這裏插入圖片描述

本人所有文章都受版權保護,著作權歸藝博東所有!未經授權,轉載必究或附上其原創鏈接。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章