考華為認證必備的BGP知識

BGP鄰居狀態機

考華為認證必備的BGP知識


可以利用鄰居狀態機描述BGP連接的建立和維護,它將有以下的6中狀態:
1、ldle (空閒)狀態
BGP總以ldle狀態為起點,該狀態拒絕所有入站的連接。只有在BGP起動之後,BGP進程將初始化所有BGP資源,初始化去往鄰居的TCP連接,監聽來自鄰居的TCP初始化消息,並更改為連接狀態。啟動事件一般是配置BGP進程。
2、Connect(連接)狀態
進入Connect狀態後,BGP進程將一直等待TCP連接的完成(三次握手),當TCP連接建立成功,BGP將會向鄰居發送Open消息,並進入OpenSent(打開發送)狀態。如果TCP會話沒有建立,BGP將繼續監聽鄰居初始化的連接,開啟連接重試定時器,遷移到Active(激活)狀態。Connect→→OpenSent(TCP連接建立);Connect→→Active(TCP連接暫未建立)。
3.Active(激活)狀態
該狀態下,BGP進程繼續嘗試和鄰居建立TCP連接,如果TCP連接建立成功,BGP進程清除連接重試定時器,完成初始化過程,並向鄰居發送Open報文,遷移到OpenSent(打開發送)狀態。
如果連接重試定時器到期BGP進程依然處在激活狀態,進程將返回連接狀態,監聽鄰居發起的TCP會話,這個過程將反覆循環,直到監聽到由鄰居發起的TCP會話。
4.OpenSent(打開發送)狀態


進入了該狀態,已經發送了Open消息,BGP將一直等待來自鄰居的Open消息。一旦接收到Open消息後,將檢查該消息的每一個字段,如果有差錯,將會發送Notification消息遷入Idle狀態。
如果接收到的Open消息沒錯,就會發送Keepalive消息並商討Keepalive定時器和Keepalive發送的時間。 並遷移到OpenConfirm(打開確認)狀態。
5.OpenConfirm(打開確認)狀態
進入了這個狀態下,BGP進程將等待鄰居確認的Keepalive或Notification消息。如果接收到的是Keepalive消息則遷移到Established(建立)狀態,如果是Notification消息那麼就將遷移到Idle狀態。
6.Established(建立)狀態
進入了這個狀態就說明了BGP的對等連接正式建立了,對等體之間交互Update,Keepalive和Notification消息,如果接受到的是Update或Keepalive消息,則重啟保持定時器,如果接受到一個Notification消息,則會遷移到Idle狀態。
注:
①Q:長時間停留在Active或ldle狀態,可能的原因是什麼?
A:a)本路由器沒有到達BGP Open報文中源IP地址的路由(debug ip bgp輸出:no route)
b)neighbor命令中配置了錯誤的IP地址(debug ip bgp輸出:no route)
c)neighbor命令中沒有配置更新源地址(debug ip bgp輸出:Connection refused by remote host)
d)在建立eBGP鄰居是的neighbor命令中沒有考慮到TTL值問題
e)沒有配置neighbor命令
f)AS號配置錯誤(debug ip bgp輸出:Connection refused by remote host)

②我們在實際網絡中操作BGP時,為了避免路由動盪,可以使用命令router(config-router)# neighbor A.B.C.D shutdown來暫時的關閉BGP鄰居,此時鄰居配置未刪除但是路由丟失。
③查看命令show ip bgp summary #觀察最後1列顯示為空白或數字,表示該鄰居正常建立。
查看命令show ip bgp neighbors #觀察BGP State顯示為Established表示鄰居正常建立。


分享到:


相關文章: