BGP基本概念與配置示例

      BGP(邊界網關協議)是互聯網上一個核心的去中心化自治路由協議,它的目的是去中心化,以達到各個網絡自治。

      BGP裏面的核心概念包括:

       1) AS(Autonomous system):自治系統,指在一個(有時是多個)組織管轄下的所有IP網絡和路由器的全體,它們對互聯網執行共同的路由策略。也就是說,對於互聯網來說,一個AS是一個獨立的整體網絡。而BGP實現的網絡自治也是指各個AS自治。每個AS有自己唯一的編號。

       2) IGP(Interior Gateway Protocol):內部網關協議,在一個AS內部所使用的一種路由協議。一個AS內部也可以有多個路由器管理多個網絡。各個路由器之間需要路由信息以知道子網絡的可達信息。IGP就是用來管理這些路由。代表的實現有RIP和OSPF。

       3) EGP(Exterior Gateway Protocol):外部網關協議,在多個AS之間使用的一種路由協議,現在已經淘汰,被BGP取而代之。

       BGP分爲IBGP(Interior BGP :同一個AS之間的連接)和EBGP(Exterior BGP:不同AS之間的BGP連接)。IGP的協議是針對同一個AS網絡來設計的,一個自治網絡的規模一般都不大,所以設計的時候就沒有考慮大規模網絡的情況。而當一個自治網絡足夠大時,OSPF存在性能瓶頸(後面會說明)。BGP本身就是爲了在Internet工作,其設計就是爲了滿足大型網絡的要求,所以大型私有IP網絡內部可以使用IBGP。總的來說,這幾類路由協議,小規模私有網絡IGP,大規模私有網絡IBGP,互聯網EBGP。

       IBGP應用在AS內部,作爲IGP的一種。一般的IGP,例如OSPF,EIGRP,用來在鄰接路由器之間傳遞路由。而IBGP可以用來在edge router之間同步路由,edge router並不需要鄰接。Edge router是指在AS邊緣,用來連接其他AS的router,那麼edge router肯定是運行了EBGP。同時這個edge router也會有對端AS的路由。通過IBGP,edge router會將學習到的對端AS的路由,傳遞給其他的edge router。這樣,可以實現跨AS的連通。

       下面我們在HCL中搭建BGP的基本示例:

        該組網圖中,劃分了3個AS域,現在需要設置BGP使得Router D和Router E之間相互互通。

        1) 首先配置各個接口的ip地址,RouterA、RouterB、RouterC分別還需配置Loopback接口

            1.1.1.1/32、2.2.2.2/32、3.3.3.3/32

        2) 在as 200內部,配置ospf協議,使得各個節點之間可以互相通信:

        RouterA的ospf配置如下

        

        配置好ospf之後,查看ospf的路由表如下:

        

       3) 配置RouterD與RouterA、RouterC與RouterE的EBGP連接

           RouterD的bgp配置如下:

           

           此時RouterD暫時還不能和RouterE通信,因爲RouterD的BGP路由中沒有10.5.1.0/24網段的路由。

      4) 配置AS200內部的IBGP連接

          RouterA和RouterC屬於AS200內部的邊界路由器,通過IBGP協議,RouterA可以將AS100的路由傳遞到RouterC,RouterC再傳遞到AS300內部,這樣AS100和AS300之間就互通了。

          與EBGP不同,IBGP對等體的兩個路由器之間不要求物理直連,只要路由可達就行,因此可以直接配置RouterA與RouterC之間的IBGP連接,但爲了防止路由環路,通過IBGP學習到的路由,不會傳遞到其它的IBGP,因此需要AS內部的Router兩兩相連,組成一個full-mesh的網絡。Full-mesh的連接數與節點的關係是n*(n-1),連接數隨着節點數的增加而迅速增加,這給配置和管理帶來了問題。

          爲了優化full-mesh網絡問題,可以通過路由反射器來解決。這是一個特殊的IBGP Router,它會將學習到的IBGP路由,傳遞給所有連接的RR-client。因此AS中的路由器只需要和路由反射器建立連接即可,減少了連接個數。

         這裏我們將RouterB作爲路由反射器,配置如下:

         

         其中的peer 1.1.1.1 reflect-client 即將RouterA作爲路由反射器的客戶端。

      5) 在RouterA和RouterC的BGP中引入OSPF路由,這樣使得對端的BGP Router可以訪問到AS200內部:

          RouterA的配置如下:

          

          執行完成之後,查看RouterD的BGP路由表,發現已經學習到了10.3.1.0/24和10.4.1.0/24網段的路由:

          

          此時RouterD還沒有10.5.1.0/24網段的路由,因此不能和RouterE通信,需要在RouterC中引入10.5.1.0/24網絡路由,這樣在AS200內部通過IBGP可以將10.5.1.0/24通告到各個Router,最後通過EBGP,RouterD也可以學習到該路由。

          

          如圖所示,RouterD已經學習到了10.5.1.0/24網段的路由

          同樣,在RouterD中引入10.2.1.0/24網段的路由,則RouterE也可以學習到10.2.1.0/24網段的路由:

          

 

         完成以上配置之後,RouterD和RouterE之間可以相互ping通:

         

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