多核心,尤其是雙核心的星形(以下簡稱雙星)網(wǎng)絡拓撲結(jié)構(gòu)因為其許多優(yōu)點,成為多數(shù)城域?qū)拵P網(wǎng)絡的首選拓撲結(jié)構(gòu)。因此,雙星形結(jié)構(gòu)的路由規(guī)劃在城域網(wǎng)的建設中,顯得尤為重要。
一、 雙星形拓樸結(jié)構(gòu)概述
雙星形的結(jié)構(gòu)綜合了單星形結(jié)構(gòu)和網(wǎng)狀結(jié)構(gòu)的優(yōu)點,即節(jié)省了鏈路,又能起到網(wǎng)狀結(jié)構(gòu)的路由冗余與備份的作用。它一般分為核心層、分布層、接入層三個層面,一個典型的雙星形結(jié)構(gòu)如圖一:
圖中,核心層設計兩個節(jié)點,分布層五個節(jié)點,接入層可以是N個節(jié)點。核心節(jié)點做為城域網(wǎng)骨干,也是城域網(wǎng)出口,兩個節(jié)點設計有鏈路互連;分布層節(jié)點設計五個,每個節(jié)點均以雙鏈路與兩個核心之間互連,接入層節(jié)點設計多個,每個節(jié)點可以有一條或兩條鏈路連到一個分布節(jié)點。這樣的設計,使核心設備可以高速轉(zhuǎn)發(fā)數(shù)據(jù)包,并保持路由冗余;分布層節(jié)點匯接接入層流量并做策略控制,接入層就是接入用戶以及其它一些設備。
二、 路由協(xié)議的選擇
在寬帶IP城域網(wǎng)的建設中,IP路由的規(guī)劃應當參照Internet骨干路由的方法進行設計,對于雙星形結(jié)構(gòu)來說,可以在內(nèi)部路由采用OSPF v2,對于外部路由采用BGP4。內(nèi)部路由在層次上可以分為兩層:骨干路由層和接入層。
骨干路由層原則上采用OSPF v2,OSPF v2是由RFC1583定義,適用于自治域內(nèi)的路由規(guī)劃,有較強的域內(nèi)路由分區(qū)和負載分擔的功能,更重要的是它是一種開放的標準,各種廠家的設備均支持,不必擔心不同廠家設備之間的路由協(xié)議的兼容問題。
接入層路由一般采用靜態(tài)路由,只有在用戶的網(wǎng)絡確實需要采用動態(tài)路由協(xié)議時才分情況采用OSPF或BGP。
外部路由協(xié)議采用BGP4協(xié)議。BGP4是邊界網(wǎng)關協(xié)議,適用于獨立的自治域管理系統(tǒng),有很強的策略路由和流量控制,路由過濾的功能.國內(nèi)大多數(shù)IP網(wǎng)絡的骨干網(wǎng)協(xié)議均選用BGP4。
三、城域網(wǎng)外部路由的規(guī)劃設計
對于雙星形結(jié)構(gòu)的城域網(wǎng)絡來說,BGP4協(xié)議是整個城域網(wǎng)的外部路由協(xié)議,它擔負著與骨干BGP4協(xié)議的互通,廣播城域網(wǎng)路由,學習外網(wǎng)路由,路由過濾,流量控制,路由廣播等功能.雙星結(jié)構(gòu)的城域網(wǎng)原則上應該獨立運行于一個自治域,擁有獨立的自治域號,也可與省網(wǎng)骨干共同運行于同一個自治域。BGP4的功能大部份廠家的設備都支持。下面以Cisco設備為例來說明.
兩個核心路由器之間運行IBGP,互相學習對方從外網(wǎng)學來的BGP路由,與外網(wǎng)運行EBGP,各自學習相應的BGP路由。有條件的話,雙核心應與不同的出口設備互連,做為路由備份,如圖二。
1、 路由的過濾與廣播
BGP運行以后,如何廣播城域網(wǎng)內(nèi)部路由是一個很重要的問題。廣播路由主要有兩種方法。
a)向BGP中自動注入OSPF路由,使用Redistribute OSPF命令;
b)在雙核心上配置相應的廣播路由,OSPF路由不注入BGP路由,而是廣播什么路由就配置什么廣播路由,使用NETWORK X.X.X.X命令。
第一種方法配置簡單,但是由于內(nèi)網(wǎng)路由的復雜性,可能會廣播一些不應該廣播的內(nèi)網(wǎng)路由,從而影響外網(wǎng)的路由的穩(wěn)定性,同時,也比較耗費路由器資源。
第二種方法配置語句較多,但是可以很好的控制路由的廣播,做到內(nèi)網(wǎng)廣播的路由過濾,同時,比較節(jié)省路由器資源。更進一步,通過路由總結(jié),可以只向外網(wǎng)廣播匯聚路由,減少骨干網(wǎng)絡上的路由數(shù)目,有利于整個骨干網(wǎng)絡的穩(wěn)定性!
2、 流量控制
城域網(wǎng)流量全部由雙核心出口出去。為了充分利用雙鏈路,可以利用BGP4的LOCAL PREFERENCE 屬性,設置出口流量控制策略,使雙出口鏈路的帶寬得到充分利用,最優(yōu)化出口流量分布。而且,對于一些多核心的網(wǎng)絡,流量控制更加顯得重要。
3、 使用LOOPBACK地址
對于運行IBGP的雙核心來說,在向鄰居宣告其鄰居關系時,應該使用LOOPBACK地址,而不是相鄰接口地址,這樣,當對應接口鏈路發(fā)生故障時,LOOPBACK地址仍然可達,使BGP鄰居關系仍然能夠形成,可以使用Update-source子句。
4、 對于BGP同步規(guī)則的處理
因為雙星形結(jié)構(gòu)的特殊性,在雙星之間有直達鏈路,因此,一般不要求BGP的同步規(guī)則。但是,如果城域網(wǎng)不是單獨運行在一個自治域內(nèi),而是還有別的IBGP鄰居,并且可能會轉(zhuǎn)發(fā)其它自治域的流量,則應該要求同步規(guī)則,在BGP協(xié)議的配置段中使用Synchronization語句。對于多核心的網(wǎng)絡,一般均要求同步規(guī)則。
一個配置實例如下:
router bgp 100
no synchronization
network 200.100.0.0 mask 255.255.224.0
network 200.100.32.0 mask 255.255.224.0
network 200.150.0.0 mask 255.255.192.0
aggregate-address 200.100.0.0 255.255.224.0 summary-only
aggregate-address 200.100.32.0 255.255.224.0 summary-only
aggregate-address 200.150.0.0 255.255.192.0 summary-only
neighbor 200.100.0.18 remote-as 200
neighbor 200.100.0.18 description "MAN EXIT 1"
neighbor 200.100.0.18 update-source Loopback0
neighbor 200.100.0.18 route-map local-pref in
neighbor 200.100.0.18 filter-list 1 out
neighbor 200.100.0.17 remote-as 300
neighbor 200.100.0.17 description "MAN EXIT 2"
neighbor 200.100.0.17 update-source Loopback0
no auto-summary
route-map local-pref permit 10
set local-preference 300
四、城域網(wǎng)內(nèi)部路由規(guī)劃設計
1、 路由分區(qū)的規(guī)劃
無論是多星還是雙星型結(jié)構(gòu)的城域網(wǎng)結(jié)構(gòu)來說,都應根據(jù)路由器數(shù)量,網(wǎng)絡的基本拓撲,路由器的負載等來合理規(guī)劃路由區(qū)域。對于雙星型結(jié)構(gòu)的網(wǎng)絡,毫無疑問,將雙核心設計為骨干路由區(qū)域,即AREA 0,負責高速,穩(wěn)定的轉(zhuǎn)發(fā)數(shù)據(jù)包。對于各個匯接區(qū),經(jīng)過合理規(guī)劃,將每個匯接區(qū)設計為一個單獨路由區(qū)域。匯接層路由器設計成區(qū)域邊界路由器。各個匯接區(qū)域內(nèi)接入路由器設計成域內(nèi)路由器,也運行OSPF協(xié)議。見圖二。
2、 IP地址規(guī)劃與路由匯總的應用
對于每個匯接區(qū)域內(nèi)的OSPF 區(qū)域來說,由于邊界路由器負責向骨干區(qū)域內(nèi)注入?yún)^(qū)域內(nèi)的路由,許多路由將會是非常零散的小路由,這樣,容易造成AREA 0內(nèi)的路由器路由表項過大,使路由器資源耗費過大,路由收斂時間增大,影響城域網(wǎng)絡的穩(wěn)定性和健壯性。因此,解決這個問題的最好方法是在邊界路由器上做匯接區(qū)域內(nèi)的路由匯總。使注入到零域內(nèi)的路由是一個個較整齊的匯總路由,大大減少了路由表數(shù)目。但是,這就要求進行城域網(wǎng)規(guī)劃時,合理規(guī)劃IP地址,為每個匯接區(qū)域分配連續(xù)的,大段的IP地址,只有這樣,才可以更好利用OSPF的特性,使城域網(wǎng)絡的路由規(guī)劃更合理,使網(wǎng)絡更健壯。
3、 接入用戶路由的注入
對于各個接入層交換機來說,由于許多最終用戶將直接接到這個交換機上,這樣將會產(chǎn)生許多最終用戶的路由,對于這些路由的域內(nèi)廣播可以有兩種方法:
a)將這些路由做為OSPF內(nèi)部路由來廣播,需單獨配置,比較繁瑣,
b)將這些路由做為外部路由來廣播,使用Redistribute Connect和Redistribute Static語句。這種方法只需配置一次,比較簡單,且將來網(wǎng)管人員定義方便。
對于城域網(wǎng)來說,采用第二種方案比較合理
4、 NSSA路由區(qū)域的應用
對于雙星形結(jié)構(gòu)的網(wǎng)絡來說,由于每個域只有一個匯接層路由器做為出口,按照普通的路由區(qū)域,則域內(nèi)路由器不但學到了域內(nèi)的路由,還學到了許多域間路由,路由表項還可以進一步減少。傳統(tǒng)的做法是每一個路由區(qū)域做為stub區(qū)域,但是如前所述,每一個匯接層路由區(qū)域是一個單獨的路由區(qū)域,有許多用戶路由做外部路由注入, 所以不可以做為STUB域,但是可以設計成NSSA(Not So Stub Area)。NSSA區(qū)別于STUB的地方在于NSSA可以允許外部路由以7類LSA注入到OSPF區(qū)域,最后由邊界路由器轉(zhuǎn)化為5類LSA注入到OSPF AREA 0 內(nèi)。同時域內(nèi)的路由器可以不學習域間路由,只用一條默認路由指向邊界路由器。大大減少了路由條目,使用AREA X NSSA語句。
5、 網(wǎng)內(nèi)默認路由的產(chǎn)生
城域網(wǎng)的全網(wǎng)出口是由雙核心出去,對于每個路由器配置默認路由很不現(xiàn)實。因此,可以在雙核心路由器上產(chǎn)生默認路由,通過OSPF廣播到全部城域網(wǎng)內(nèi)的路由器,使每個路由器可以自學習默認路由。使用Default-information originate語句。
6、 動態(tài)接入路由的設計
由于用戶接入路由關系到全網(wǎng)的安全性和穩(wěn)定性,從這方面的因素考慮,建議接入層路由只提供靜態(tài)路由,然后將靜態(tài)路由重分布(Redistribution)到OSPF的路由表中。這樣可以最大限度的保證網(wǎng)絡的安全性和保持整個系統(tǒng)路由的穩(wěn)定性。只有在用戶的網(wǎng)絡確實需要采用動態(tài)路由協(xié)議時才分情況采用OSPF或BGP,例如用戶網(wǎng)絡到城域網(wǎng)間存在多條鏈路,為了提供自動故障恢復功能,可以采用OSPF路由協(xié)議;如果該用戶同時還連接到其它ISP(multihome),可能需要采用BGP協(xié)議予以解決。
一個簡單的配置實例如下:
Router OSPF 100
network 200.100.0.16 0.0.0.240 area 0
network 100.200.200.128 0.0.0.240 area 1
network 100.100.100.128 0.0.0.240 area 1
area 1 nssa
area 1 nssa default-information originate
area 1 range 60.150.231.0 255.255.255.0
redistribution connected
redistribution static
Default-information originate
小結(jié):
城域網(wǎng)的內(nèi)部不適合進行OSPF與BGP路由之間的相互注入,而是應采用OSPF默認路由指向核心,再由核心路由器對內(nèi)網(wǎng)路由進行BGP路由廣播,使外網(wǎng)可以學習城域網(wǎng)內(nèi)路由,同時,保證了外網(wǎng)的穩(wěn)定性。本文主要針對雙核心的星形結(jié)構(gòu)的寬帶IP城域網(wǎng)的路由規(guī)劃設計與配置進行了討論,實際上,對于多核心的星形結(jié)構(gòu)本文所做的討論同樣適用,但是在一些細節(jié)方面較復雜一些。