BGP詳解

來源:本站原創 CISCO 超過1,933 views圍觀 0條評論

 

為什么使用BGP

            BGP是可靠的,基于TCP(Port Numer 179)進行建立和維護連接,并且具有并使用TCP的滑動窗口的機制來更新路由表,可以支持一次性的大量路由條目的更新. BGP是增量更新,同時也是觸發更新;周期性的發送Keepalive 信息來驗證TCP連接是否正常,以確保對方的路由器狀態是正常的。

             PS:EIGRP(使用IPV4協議號89)和OSPF-V2(使用IPV4協議號88)使用One-One 窗口機制,OSPF一次更新100條路由。

BGP的使用原則

1.   多條路徑時,BGP Speaker只選最優的給自己使用

2.   BGP Speaker只把自己的路由通告給鄰居

3.   從EBGP獲得的路由會向它所有BGP 鄰居通告(EBGP/IBGP)

BGP Speaker從IBGP獲得的路由不會通告給它的IBGP鄰居(BGP 的水平分割)IGP是基于端口的水平分割;而IBGP是基于鄰居的水平分割。水平分割的作用是避免產生路由環路。

4.   BGP Speaker從IBGP獲得的路由是否通告給它的EBGP鄰居要服從IGP和BGP是否同步來決定

5.   鄰居關系一建立,BGP Speaker就把自己所有的BGP最優路由通告給新的鄰居

 

BGP鄰居協商過程(4Message

   1. Open (code 1):用于建立連接,包含版本號(如BGP3/BGP4)Hold Time=180s(是一個協商的過程,以較小的Hold Time為準),Router-ID(OSPF和BGP可以手動配置),AS號(范圍從1~65535,其中64512~65535 的AS編號范圍留作私有);

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

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

4. Notification(code 3):網絡中出現錯誤(Error),檢測到后斷開連接并發送通知給對方。

5.Route-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

PS :BG Ptime

在BGP路由配置模式下可以配置全局的BGP timer :timers bgp 70 210

對于特定的neighbor可以使用特定的 BGP timer:neighbor 172.17.1.2 timers 80 240

過程:Idel,connect,open sent,open confirm,establish。

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,試圖發起TCP連接獲得對等體,成功轉到Open Sent狀態,連接重試計時器超時,退回連接狀態。,這是由于TCP鏈路上出現了問題所致。??

產生問題的原因主要有:

1.          Neighbor命令后面的ip-address配置有錯;

2.          沒有打上Neighbor命令(兩邊都要)

3.          更新源錯誤,或者更新源不可達。

  Debug信息:

Aspen#

18:24:33: BGP: 192.168.1.221 went from Idle to Active

18:24:41: BGP: 192.168.1.221 went from Active to OpenSent

18:24:42: BGP: 192.168.1.221 went from OpenSent to OpenConfirm

18:24:42: BGP: 192.168.1.221 went from OpenConfirm to Established

18:24:43: BGP: 192.168.1.221 computing updates, neighbor version 0, table version

n 1, starting at .0

18:24:43: BGP: 192.168.1.221 update run completed, ran for 0ms, neighbor version

0, start version 1, throttled to 1, check point net .0

BGP Input Events

BGP的3個數據庫

         鄰居表、BGP轉發表(也叫轉發庫)、IP路由表。

文章出自:CCIE那點事 http://www.qdxgqk.live/ 版權所有。本站文章除注明出處外,皆為作者原創文章,可自由引用,但請注明來源。 禁止全文轉載。
本文標題:BGP詳解
本文鏈接:http://www.qdxgqk.live/?p=406轉載請注明轉自CCIE那點事
如果喜歡:點此訂閱本站
  • 相關文章
  • 為您推薦
  • 各種觀點
?
暫時還木有人評論,坐等沙發!
發表評論

您必須 [ 登錄 ] 才能發表留言!

?
?
萌宠夺宝游戏