簡介
本檔案介紹邊界閘道通訊協定(BGP) local-AS功能,最初在Cisco IOS®軟體版本12.0(5)S中提供。
必要條件
需求
本文檔建議瞭解BGP路由協定及其操作。有關詳細資訊,請參閱檢查邊界網關協定案例研究。
採用元件
本檔案中的資訊是以此軟體版本所建立,但並不限於特定軟體和硬體版本:
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
慣例
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
背景資訊
除原始AS外,本地AS功能允許路由器顯示為第二自主系統(AS)的成員。此功能只能用於真正的eBGP對等體。不能對屬於不同聯盟子AS成員的兩個對等體使用此功能。
當一個ISP收購另一個ISP時,本地AS功能是一個有用的工具,因為它允許被收購ISP中的路由器無縫地加入被收購ISP的AS。當被收購的ISP的客戶希望維護其現有的對等安排和配置時,這一點特別有用。透過本地AS功能,被收購ISP中的路由器可以顯示為收購ISP的AS的成員,同時仍然保留其原始AS編號供客戶使用。這樣可確保平穩過渡,並將所收購的ISP客戶的中斷降至最低。
例如,請參閱網路圖,其中圖1中ISP-A尚未購買ISP-B,而圖2中ISP-A已購買ISP-B,並且ISP-B使用本地AS功能。如果ISP-A購買ISP-B,但ISP-B客戶不想修改任何配置,則本地AS功能允許ISP-B中的路由器成為ISP-A (100) AS的成員。同時,這些路由器對客戶而言似乎是用來保留其ISP-B (200) AS編號。
在圖2中,ISP-B現在屬於AS 100,而ISP-C(客戶)屬於AS 300。當與ISP-C對等時,ISP-B使用AS 200作為其AS編號,同時使用neighbor <ISP-C> local-as 200命令。在從ISP-B傳送到ISP-C的BGP更新中,AS_PATH屬性中的AS_SEQUENCE包含「200 100」。由於為ISP-C配置的local-as 200命令,ISP-B會在前面附加「200」。
通常,合併的ISP-A/B會將ISP-B中的路由器重新編號為AS 100的一部分。如果ISP-C無法通過ISP-B更改其eBGP配置,該怎麼辦?在本地AS功能之前,合併的ISP-A/B必須維護兩個AS編號。當ISP-A/B對ISP-C顯示為兩個AS時,local-as 命令允許其在物理上成為一個AS。
指令語法
此清單顯示本檔案中的組態所使用命令的語法:
不能為對等組中的單個對等體自定義Local-AS。
Local-AS不能具有本地BGP協定AS編號或遠端對等體的AS編號。
僅當對等體為真eBGP對等體時,local-as 命令才有效。它不適用於聯盟中不同子AS中的兩個對等體。
設定
本節提供用於設定本檔案所述功能的資訊。
網路圖表
本檔案會使用這些網路設定。
圖 1
圖 2
組態
本文件使用以下組態:
ISP-B (AS 100、local-as 200) |
hostname ISP-B
!
interface serial 0
ip address 192.168.1.1 255.255.255.252
!
interface ethernet 0
ip address 192.168.4.1 255.255.255.0
!
router bgp 100
!--- Note the AS number 100. This is the AS number of ISP-A, which is now !--- used by all routers in ISP-B after its acquisition by ISP-A.
neighbor 192.168.1.2 remote-as 300
!--- Defines the e-BGP connection to ISP-C.
neighbor 192.168.1.2 local-as 200
!--- This command makes the remote router in ISP-C to see this !--- router as belonging to AS 200 instead of AS 100. !--- This also make this router to prepend AS 200 in !--- all updates to ISP-C.
network 192.168.4.0
!
! |
ISP-C (AS 300) |
hostname ISP-C
!
interface serial 1
ip address 192.168.1.2 255.255.255.252
!
interface ethernet 0
ip address 192.168.9.1 255.255.255.0
!
router bgp 300
neighbor 192.168.1.1 remote-as 200
!--- Defines the e-BGP connection to ISP-B.
!--- Note AS is 200 and not AS 100.
network 192.168.9.0
!
! |
驗證
本節提供的資訊可用於確認您的組態是否正常運作。
檢視BGP路由表,以瞭解local-as 命令如何更改AS_PATH。您觀察到,ISP-B在AS 200之前預置了向ISP-C傳送和從ISP-C接收的更新。此外,請注意ISP-B位於AS編號100中。
ISP-B#show ip bgp summary
BGP router identifier 192.168.4.1, local AS number 100
BGP table version is 3, main routing table version 3
2 network entries and 2 paths using 266 bytes of memory
2 BGP path attribute entries using 104 bytes of memory
1 BGP AS-PATH entries using 24 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP activity 2/6 prefixes, 2/0 paths, scan interval 15 secs
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
192.168.1.2 4 300 29 29 3 0 0 00:25:19 1
在此輸出中,請注意ISP-C將ISP-B視為AS 200的一部分。
ISP-C#show ip bgp summary
BGP table version is 3, main routing table version 3
2 network entries (2/6 paths) using 480 bytes of memory
2 BGP path attribute entries using 192 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
192.168.1.1 4 200 34 34 3 0 0 00:30:19 1
請注意,在此輸出中,ISP-B會在從ISP-C獲知的路由前面加上「200」。
ISP-B#show ip bgp
BGP table version is 3, local router ID is 192.168.4.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 192.168.4.0 0.0.0.0 0 32768 i
*> 192.168.9.0 192.168.1.2 0 0 200 300 i
請注意,ISP-C看到來自AS_PATH為「200 100」的ISP-B的路由。
ISP-C#show ip bgp
BGP table version is 3, local router ID is 192.168.1.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 192.168.4.0 192.168.1.1 0 0 200 100 i
*> 192.168.9.0 0.0.0.0 0 32768 i
以下命令顯示了在其輸出中配置的local-as 值:
ISP-B#show ip bgp neighbors 192.168.1.2
BGP neighbor is 192.168.1.2, remote AS 300, local AS 200, external link
BGP version 4, remote router ID 192.168.9.1
BGP state = Established, up for 00:22:42
Last read 00:00:42, hold time is 180, keepalive interval is 60 seconds
Neighbor capabilities:
Route refresh: advertised and received(old & new)
Address family IPv4 Unicast: advertised and received
Message statistics:
InQ depth is 0
OutQ depth is 0
Sent Rcvd
Opens: 1 1
Notifications: 0 0
Updates: 2 1
Keepalives: 25 25
Route Refresh: 0 1
Total: 28 28
Default minimum time between advertisement runs is 30 seconds
疑難排解
debug ip bgp updates 命令顯示了從鄰居處接收的字首及其屬性。此輸出顯示,AS PATH 200、100接收字首192.168.4.0/24。
ISP-C#
*May 10 12:45:14.947: BGP(0): 192.168.1.1 computing updates, afi 0, neighbor version 0, table version 5, starting at 0.0.0.0
*May 10 12:45:14.947: BGP(0): 192.168.1.1 send UPDATE (format) 192.168.9.0/24, next 192.168.1.2, metric 0, path
*May 10 12:45:14.947: BGP(0): 192.168.1.1 1 updates enqueued (average=52, maximum=52)
*May 10 12:45:14.947: BGP(0): 192.168.1.1 update run completed, afi 0, ran for 0ms, neighbor version 0, start version 5, throttled to 5
*May 10 12:45:14.947: BGP: 192.168.1.1 initial update completed
*May 10 12:45:15.259: BGP(0): 192.168.1.1 rcvd UPDATE w/ attr: nexthop 192.168.1.1, origin i, metric 0, path 200 100
*May 10 12:45:15.259: BGP(0): 192.168.1.1 rcvd 192.168.4.0/24
*May 10 12:45:15.279: BGP(0): Revise route installing 192.168.4.0/24 -> 192.168.1.1 to main IP table
ISP-C#
相關資訊