BGP報文和BGP鄰居狀態

BGP5message


 1.  Open code 1):用於創建鏈接,包含版本號(如BGP3/BGP4Hold Time90sRFC1771規定的。是一個協商的過程,以較小的Hold Time爲準),Router-IDOSPFBGP能夠手動配置),AS(範圍從165535,其中6451265535 AS編號範圍留做私有) 

2.   KeepAlivescode 4):週期發送用於維護鏈接檢查路徑(這個包是不可靠的),THold Time/3, Hold Time=0 => No KeepAlive.keepalive 是個19 字節週期發送的BGP 消息頭標,沒有數據域。

3.   Updatecode 2):消息包含了三個組件:網絡層可達性消息(NLRI)、路徑屬性和被撤銷的路由。包括到達目的網絡的路徑和屬性,更新路由信息用,一次更新只有一條路徑,但能夠有多條網絡。Update能夠刪除(宣告不可達)和增長(宣告可達)路由.其內容是前綴的長度。

4.   Notificationcode 3):網絡中出現錯誤(Error),檢測到後斷開鏈接併發送通知給對方。

5Route-Reflesh message:一個可選的message (negotiated during capability advertisement) that is sent to request dynamic BGP route updates from the Adj-RIB-Out table of a remote BGP speaker

  協商過程基本上是:Idelconnectopen sentopen confirmestablish

BGP鄰居創建會話的5種狀態: 
1.       Idle:查找路由表,該過程BGP對它的資源進行初始化,復位一個鏈接重試計時器,發起一條TCP 鏈接,並開始傾聽遠程對等體所發起的鏈接。 
2  Connect:找到路由表後進行TCP三次握手,TCP 鏈接成功,則轉到OpenSent狀態,TCP鏈接失敗,則轉到active 狀態,將嘗試再次鏈接。 
3  Open Sent:握上手後發送Open message消息,等待其對等體發送打開消息,若是出錯,則發送一條出錯消息並退回空閒狀態,若是無錯,則開始發送Keepalive 並復位keepalive 計時器。 
4  Open Confirm:收到對方發來的Open消息,若是收到keepalive 消息,BGP 就進入established狀態,鄰居關係協商完成;若是系統收到一條更新或keepalive 消息,它將從新啓動保持計時器;若是收到Notification消息,BGP 就退回到空閒狀態。 
5  Established:會話創建,鄰居關係協商過程最終狀態;這時BGP將開始與它的對等體交換路由更新數據包。 
PS: Active狀態:當路由器發送出OPEN包給鄰居等待迴應,若是長時間未接收到迴應則超時,超時後狀態更改成Idle仍是connect狀態?試圖發起TCP鏈接得到對等體,成功轉到Open Sent狀態,鏈接重試計時器超時,退回鏈接狀態,這是因爲TCP鏈路上出現了問題所致。?? 
產生問題的緣由主要有: 
1.         Neighbor命令後面的ip-address配置有錯; 
2.         沒有打上Neighbor命令(兩邊都要) 
3.         更新源錯誤,或者更新源不可達。 
answer: 

1.BGP speaker處於active狀態,BGP嘗試經過初始化傳輸協議鏈接來造成peer。若是傳輸鏈接創建,則進入OpenSent狀態。(同時發送OPEN信息)。若是ConnectRetry 計時器超時,BGP重啓ConnectRetry計時器,而且退回到Connect 狀態。只有當系統停止,或者人爲地把TCP停止時才退到Idle狀態。

2.問:在IBGP關係中,在sh ip b的時候看到的那個next-hopip 地址。下一跳地址,就是通告該路由的IBGP  更新源。???仍是Router-id???

answernext-hopIP地址是更新源地址。Router-ID其實只是路由器的一個標識而已,沒有太多的意義。能夠是虛擬的。好比,它一般就是loopback地址。不要求必定TCP可達。可是更新源必須TCP可達。不然怎麼保障路由信息更新的必定傳達目的地?對吧。

還有一個解決方法關鍵看sh ip bgp nei裏面的tcp會話那一塊,又仍是沒有。若是沒有,檢查路由和acl網絡

相關文章
相關標籤/搜索