03-3 BGP專有命令–聯盟
- 2020 年 1 月 8 日
- 筆記
該文檔主要整理一下聯盟的相關知識.(現在真實的生產網很少用聯盟的,因為有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號:
