­

03-3 BGP專有命令–聯盟

該文檔主要整理一下聯盟的相關知識.(現在真實的生產網很少用聯盟的,因為有RR–路由反射器的產生,這裡只是作為了解就可以了.有這樣一個東西來解決路由黑洞的問題,可以打破bgp水平分割所帶來的黑洞問題)

首先要了解一下BGP聯盟到底解決了一個什麼問題,因為每一個技術後面都有他產生的背景:

路由黑洞解決方案:

BGP水平分割帶來的黑洞

(1)原因:IBGP的水平分割(從一個IBGP鄰居學來的路由不會再傳遞另外一個IBGP鄰居.)

(2)解決方法:

■IBGP全互聯(FULL mesh結構,經過這些年的發展,做成全互聯的模式基本是不可能的,對於運營商來說,成本太大了)

■路由反射器(這個是現在每一個運營商都必須用的,實際意義是最大的)

■BGP聯盟(在沒有路由反射器的情況解決水平分割的問題,我猜想這個技術應該是在RR之前的概念,RR出來以後就被RR所取代了,所以今天這裡只做了解.)

BGP聯盟的概念:

它將一個自治系統劃分為若干個子AS,每個子AS系統內部的IBGP同伴全連接,並同聯盟中其他的子AS建立連接。聯盟能很容易的檢測到自治系統內部的路由環路。子AS之間及聯盟本身與外部AS之間使用的是EBGP.下一跳,MED和LP等重要的資訊在穿越子AS的時候都不會丟失。

1、含義:大AS含小AS

2、聯盟AS號:通常為私有AS號

3、角色:聯盟IBGP、聯盟EBGP

4、做法:將IBGP域用私有AS號劃成幾個小AS,對外以大AS宣告

5、問題:

(1)一台路由器上只能起一個BGP進程,私有AS號又不能在公網上識別,如何與外部AS建立EBGP鄰居?

(2)聯盟EBGP之間鄰居關係的建立:須用到EBGP多跳屬性

(3)聯盟EBGP路由器都宣稱自己是大AS,但是又不是屬於同一個AS,怎麼建立鄰居?

(4)下一跳的問題

6、解決:

(1)向外宣告大AS(注意:大AS內所有路由器都得打這條命令);

R3(config-router)#bgp confederation identifier 123

(2)在聯盟EBGP對等體上修改更新源和TTL值;

(3)不向聯盟AS宣告自己的大AS號

R3(config-router)#bgp confederation peers 65100 65200

(4)修改下一跳,聯盟BGP之間也得這樣做

7、變與不變:

(1)變:AS path

路由條目標識

(2)不變:從聯盟EBGP學來的路由條目的管理距離仍為200

8、應用:打破BGP水平分割傳遞路由

在這個圖譜中,左邊的R1/R2/R3/R4/R5都在一個大AS中,AS=1.

在AS1中分了三個子區域:65530/65531/65532.

AS1形成了一個聯盟.

首先看看配置篇:

R1配置:

router bgp 65530

no synchronization

bgp log-neighbor-changes

bgp confederation identifier 1

bgp confederation peers 65531

network 150.150.150.0 mask 255.255.255.0

neighbor 193.16.0.1 remote-as 65531

no auto-summary

R2配置:

router bgp 65531

no synchronization

bgp log-neighbor-changes

bgp confederation identifier 1

bgp confederation peers 65530 65532

neighbor 172.16.0.2 remote-as 65531

neighbor 172.16.0.2 next-hop-self

neighbor 172.16.0.18 remote-as 65532

neighbor 172.16.0.18 next-hop-self

neighbor 193.16.0.2 remote-as 65530

no auto-summary

R3配置:

router bgp 65531

no synchronization

bgp log-neighbor-changes

bgp confederation identifier 1

neighbor 172.16.0.1 remote-as 65531

no auto-summary

R4配置:

router bgp 65532

no synchronization

bgp log-neighbor-changes

bgp confederation identifier 1

bgp confederation peers 65531

neighbor 172.16.0.13 remote-as 65532

neighbor 172.16.0.13 next-hop-self

neighbor 172.16.0.17 remote-as 65531

neighbor 193.16.0.10 remote-as 2

no auto-summary

R5的配置:

router bgp 65532

no synchronization

bgp log-neighbor-changes

bgp confederation identifier 1

neighbor 172.16.0.14 remote-as 65532

no auto-summary

R6的配置:

router bgp 2

no synchronization

bgp log-neighbor-changes

neighbor 193.16.0.9 remote-as 1

no auto-summary

配置總結:

在每台AS1內的設備中,bgp進程下面都需要配置大AS的ID,還有就是peers.peers是打通通往不同子AS路由器的bgp連接,一定需要配置,當然如果本端是末節,只有一個IBGP鄰居,那麼可以不配置。也沒有辦法配置。

驗證:

上面的理論已經說過,路由的諸多bgp屬性中途都不會由子AS修改,會原封不動的隨路由一併通告。

從EBGP鄰居的視角來看(聯盟之外),聯盟會作為一個單獨的AS呈現.

下面我們來看看各個路由器的路由是否都已經正常學到了。

最後再查看一下R4和R6的鄰居關係AS號: