理解BGP協議同步規則

一.理解bgp同步及其基本需求
1.BGP同步規則的定義:
   在bgp同步打開的情況下,一個BGP路由器不會把那些通過ibgp鄰居學到的bgp路由通告給自己的ebgp鄰居;除非自己的igb路由表中存在這些路由,纔可以向ebgp路由器通告.

2.BGP同步規則的目的:

   防止一個AS(不是所有的路由器都運行bgp)內部出現路由黑洞,即向外部通告了一個本AS不可達的虛假的路由.

              BGP同步規則的拓撲示意


3.BGP同步規則的基本需求
   如果一個AS內部存在非bgp路由器,那麼就出現了bgp和igp的邊界,需要在邊界路由器將bgp路由發佈到igp中,才能保證AS所通告到外部的bgp路由在AS內部是連通的.實際上是要求bgp路由和igp路由的同步.

4.滿足BGP同步規則的基本需求的結果
   如果將bgp路由發佈到igp中,由於bgp路由主要是來自AS外部的路由(來自internet),那麼結果是igp路由器要維護數以萬計的外部路由,對路由器的cpu和memeory以及AS內部的鏈路帶寬的佔用將帶來巨大的開銷.

5.結論
通常bgp協議的運行需要關閉同步.

 

二.bgp同步的解決方案1.full mesh ibgp解決方案
   AS內部的所有路由器都運行full mesh ibgp,就可以關閉所有路由器的同步而不影響路由的通告和連通性.

問題:

當as內部路由器數量很多時,需要建立N*(N-1)/2個ibgp會話,帶來過度的系統開銷,擴展性不好.

             Full-Mesh IBGP 拓撲示意:
         15個路由器的AS,需要建立15(15-1)/2=105個ibgp會話

2.路由反射器解決方案
  AS內部的所有路由器都運行bgp,在AS內部部署路由反射器,構建hub and spoke的ibgp(會話數爲N-1), 然後關閉所有bgp路由器的同步.

問題:

此方案可以使bgp路由器傳遞ibgp路由到ebgp, 並保證bgp路由的連通性.但是對物理拓撲有很大的限制(要求是星型拓撲)




             Bgp路由反射器設計拓撲
         15個路由器的AS,具有冗餘的RR方案(33個ibgp會話)

3.bgp聯盟解決方案:
   AS內部的所有路由器都運行bgp,把一個原始的AS基於網絡拓撲劃分爲若干個sub-AS(又稱聯盟AS),聯盟AS之間的bgp鄰居叫做聯盟ebgp,不需要full mesh bgp會話;在每個聯盟AS內部運full mesh ibgp或者hub and spoke反射器,然後就可以關閉所有路由器的bgp同步功能.

結論:

bgp聯盟結合路由反射器的方式較好的解決了bgp的同步規則帶來的需求,是最爲有效的解決方案.

                bgp聯盟拓撲示意圖:

三.BGP同步規則的總結
1.在所有的方案中, 既要保證傳遞bgp路由,還要保證bgp路由的連通性.

2.關閉同步能夠實現bgp路由的傳遞,不一定能保證as內部連通性,除非as內所有路由器都運行bgp纔可以保證連通性;否則,仍然需要路由再發布(bgpàigp)

3.最後,在as內部一般需要部署igp來維持AS內部網絡路徑的連通性,以保證as內部的所通告的bgp路由的下一跳的可達性.這樣bgp網絡就具有更好的靈活性和擴展性.

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