當創建一個BGP回話將經歷一下幾種狀態:網絡
Idle(空閒):路由器搜索路由表,看是否存在路由到達鄰居
ide
Connect(鏈接):路由器發現了去往鄰居的路由並準備TCP的三次握手。創建成功則進入open sent,不然,變爲active(激活)等待從新創建TCP鏈接。spa
Open sent(發送):發送OPEN消息,而後等待一個OPEN的到來router
Open confirm(確認):路由器收到一個OPEN,檢查BGP會話參數,匹配後發送keep alive確認,而後進入到等待本身的OPEN保溫被確認。進程
Established(創建):收到了對本身的OPEN保溫的keep alive確認,對等體創建;準備交接路由ip
若是收到一個Notification消息,則說明本身的OPEN不被承認,則斷開TCP鏈接,遷移到Idle狀態。ci
Active:改狀態正常不會發生,只有當參數不匹配,TCP創建不成功等,BGP進程會初始化與鄰居的TCP鏈接嘗試從新創建時纔會進入的狀態。路由
鄰居沒法創建的狀況:it
TCP創建不成功(io
ACL
IP不可達)
參數不匹配致使鄰居沒法創建(
1 ipv4 to ipv6
)
AS號不匹配,也沒法創建鄰居
BGP定義瞭如下幾種消息類型:
Open
包含hold time以及BGP router ID
Keepalive
Update
發送如何到達目的的網絡路由更新
包含路徑屬性以及網絡
Notification
檢測到錯誤
BGP鏈接關閉消息的發送
Route-refresh message