摘 要: 分析了跨校區(qū)路由選擇,根據(jù)各校區(qū)網(wǎng)絡(luò)的實(shí)際應(yīng)用情況,使用域間協(xié)議BGP,運(yùn)用合理的路由策略,靈活過濾和選擇跨校區(qū)間沖突的內(nèi)部地址和私有地址,滿足各校區(qū)自治網(wǎng)絡(luò)不同應(yīng)用需求,實(shí)現(xiàn)跨校區(qū)自治網(wǎng)絡(luò)之間的互聯(lián),充分發(fā)揮了一校多區(qū)網(wǎng)絡(luò)平臺(tái)穩(wěn)定高效的作用。
關(guān)鍵詞: 跨校區(qū);路由策略;OSPF;BGP;自治系統(tǒng)
近年來高等教育得到快速的發(fā)展,我國高等教育由精英型教育向大眾化教育轉(zhuǎn)變,許多高校因校園面積有限,不能滿足快速發(fā)展的需要而紛紛異地選址建設(shè)新校區(qū)。為了實(shí)現(xiàn)學(xué)校信息實(shí)時(shí)發(fā)布、資源共享互訪,必須建立多個(gè)校區(qū)互聯(lián)的網(wǎng)絡(luò)平臺(tái)。多校區(qū)網(wǎng)絡(luò)建設(shè)的投入不是一次性的,而是根據(jù)應(yīng)用和技術(shù)的不斷發(fā)展,需要不斷投入。因此,網(wǎng)絡(luò)的建設(shè)不可能一步到位,剛開始時(shí)校區(qū)間網(wǎng)絡(luò)互聯(lián)可能只是通過簡(jiǎn)單的鏈路連接、簡(jiǎn)單的路由設(shè)置實(shí)現(xiàn)互聯(lián)互通。隨著信息應(yīng)用和網(wǎng)絡(luò)技術(shù)的發(fā)展、網(wǎng)絡(luò)投入的不斷增加,就需要進(jìn)行適當(dāng)?shù)恼{(diào)整,通過合理的路由策略實(shí)現(xiàn)多校區(qū)之間的高速安全互聯(lián)互通,充分發(fā)揮網(wǎng)絡(luò)平臺(tái)穩(wěn)定高效的作用。
1 跨校區(qū)網(wǎng)絡(luò)互聯(lián)分析
跨校區(qū)之間的互聯(lián)可以使用靜態(tài)路由、內(nèi)部網(wǎng)關(guān)路由選擇協(xié)議OSPF(Open Shortest Path First)和外部網(wǎng)關(guān)路由選擇協(xié)議BGP(Border Gateway Protocol)。
靜態(tài)路由配置簡(jiǎn)單,網(wǎng)絡(luò)尋址快捷,但當(dāng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)或鏈路的狀態(tài)發(fā)生變化時(shí),需要手工修改路由配置,不能實(shí)時(shí)更新,而且靜態(tài)路由只適合單路徑路由,在鏈路或節(jié)點(diǎn)故障后,不能自動(dòng)恢復(fù)正常的數(shù)據(jù)通信。網(wǎng)絡(luò)的可靠性和穩(wěn)定性很大程度上取決于出現(xiàn)鏈路或節(jié)點(diǎn)故障后,路由協(xié)議可以重新計(jì)算并獲得可用路徑所需的響應(yīng)時(shí)間。雙鏈路甚至多鏈路使用域內(nèi)協(xié)議OSPF、域間協(xié)議BGP是多校區(qū)保證在鏈路或節(jié)點(diǎn)故障后,能及時(shí)自動(dòng)恢復(fù)正常數(shù)據(jù)通信的主要手段。
各校區(qū)由于網(wǎng)絡(luò)建設(shè)的先后性形成不同的網(wǎng)絡(luò)系統(tǒng),每個(gè)校區(qū)根據(jù)建設(shè)情況部署了各自校區(qū)網(wǎng)絡(luò)系統(tǒng)內(nèi)的路由協(xié)議類型、路由策略和內(nèi)部地址。每個(gè)校區(qū)內(nèi)負(fù)責(zé)系統(tǒng)內(nèi)的路由器間的連通性主要使用域內(nèi)協(xié)議OSPF,但OSPF沒有BGP強(qiáng)大的策略控制能力,不能靈活過濾和選擇校區(qū)間沖突的內(nèi)部地址和私有地址,因此實(shí)現(xiàn)各校區(qū)網(wǎng)絡(luò)之間的連通,主要還是使用域間協(xié)議BGP。根據(jù)各校區(qū)網(wǎng)絡(luò)的實(shí)際應(yīng)用情況,靈活運(yùn)用BGP不同種類的路徑屬性來實(shí)現(xiàn)各校區(qū)網(wǎng)絡(luò)之間的策略路由,滿足各校區(qū)自治網(wǎng)絡(luò)不同應(yīng)用的需求。
2 BGP協(xié)議簡(jiǎn)介
2.1 BGP基本概念
(1)自治系統(tǒng)(AS):擁有同一選路策略,在同一技術(shù)管理部門下運(yùn)行的網(wǎng)絡(luò)系統(tǒng),如大學(xué)、政府部門、企業(yè)和公司的網(wǎng)絡(luò),以及Internet服務(wù)提供者網(wǎng)絡(luò)[1]。
(2)BGP對(duì)等體:為了交換路由信息,在任意兩個(gè)路由器之間建立起TCP連接,且用BGP來進(jìn)行網(wǎng)絡(luò)可達(dá)信息的交換,則這兩個(gè)路由器叫作BGP對(duì)等體,也叫BGP相鄰體。
(3)iBGP和eBGP:如果兩個(gè)交換選路信息的路由器同屬一個(gè)自治系統(tǒng),稱為內(nèi)部相鄰體;如果分屬不同自治系統(tǒng),則稱為外部相鄰體。在一個(gè)自治系統(tǒng)中發(fā)送路由通告信息以傳遞自治系統(tǒng)內(nèi)路由可達(dá)信息的協(xié)議稱為iBGP;而向其他自治系統(tǒng)的鄰居路由器發(fā)送通告信息,傳遞外部相鄰體網(wǎng)絡(luò)可達(dá)信息的協(xié)議稱為eBGP。iBGP 和eBGP 會(huì)話路由決策過程是相同的, 唯一的區(qū)別是BGP收到iBGP 通告消息后決策得到的路由不會(huì)繼續(xù)向自治系統(tǒng)內(nèi)的其他BGP通告[2]。
(4)BGP協(xié)議:BGP是用來連接網(wǎng)絡(luò)中不同自治系統(tǒng)的路由選擇協(xié)議,采用的是結(jié)合了距離矢量和鏈路狀態(tài)的路徑矢量的路由算法,在對(duì)等的實(shí)體交換路由信息時(shí)使用類似距離矢量的算法,而在建立網(wǎng)絡(luò)拓?fù)潢P(guān)系圖時(shí)則采用了類似鏈路狀態(tài)的算法。結(jié)合兩種算法的特點(diǎn),達(dá)到減少信息傳輸量和降低處理復(fù)雜度的目的[3]。
2.2 BGP的策略選擇工作機(jī)制
BGP用到的路由策略(route-policy)基本原理是通過route-map控制BGP路由屬性,或者定義路由再分配的條件,從而實(shí)現(xiàn)BGP根據(jù)需要選路的目的。
通過定義路由重分配的條件來影響B(tài)GP的選路也叫路由過濾,通常路由過濾可以采用以下4種方法:
(1)distribute-list,用于過濾由ACL定義的路由。
(2)route-map,與distribute-list一樣,用于過濾ACL定義的路由,與修改路由屬性方法不同的是它通常不需要有set關(guān)鍵字。
(3)prefix-list,用于過濾由ip prefix-list定義的路由。
(4)filter-list,用于過濾由ip as-path access-list定義的路由。
2.3 BGP特點(diǎn)
(1)支持無類別域間選路CIDR(Classless Inter Domain Routing),可以有效減少日益增長的路由表[7]。
(2)具有豐富的路由策略,BGP通過自治系統(tǒng)邊界的路由器加上一定的策略,選擇過濾路由,可以把RIP、OSPF、BGP等的路由重新分發(fā)到對(duì)方。
(3)使用TCP作為傳輸協(xié)議,保證了數(shù)據(jù)傳輸?shù)目煽啃浴?/p>
(4)支持路由聚合、路由過濾等[4]。
3 跨校區(qū)路由解決方案
以兩個(gè)校區(qū)為例,校區(qū)A與校區(qū)B之間通過靜態(tài)路由建立兩個(gè)校區(qū)的連接,跨校區(qū)連接部署如圖1所示。
單條鏈路鏈接兩個(gè)校區(qū),不具備網(wǎng)絡(luò)故障瞬時(shí)恢復(fù)的能力,在鏈路(或節(jié)點(diǎn)設(shè)備)等引發(fā)網(wǎng)絡(luò)故障后,需要等待鏈路恢復(fù)或人工路由重新配置才能恢復(fù)兩個(gè)校區(qū)正常的數(shù)據(jù)通信。在具備多條鏈路鏈接條件下,使用域內(nèi)協(xié)議OSPF、域間協(xié)議BGP是多校區(qū)保證在鏈路或節(jié)點(diǎn)故障后,能及時(shí)自動(dòng)恢復(fù)正常數(shù)據(jù)通信的主要手段[5-6]。
各個(gè)校區(qū)內(nèi)部核心設(shè)備都廣泛使用OSPF來承載各校區(qū)內(nèi)部的路由。BGP由于其自身的靈活性和豐富的路由策略機(jī)制,使得跨校區(qū)路由使用外部網(wǎng)關(guān)路由協(xié)議BGP來控制校區(qū)間的路由的傳播和最佳路徑選擇成為跨校區(qū)核心網(wǎng)網(wǎng)絡(luò)規(guī)劃和優(yōu)化工作的主要內(nèi)容。
根據(jù)前面BGP的基本概念,可以把同一個(gè)校區(qū)管理的一系列路由器和網(wǎng)絡(luò)看成一個(gè)自治系統(tǒng),校區(qū)內(nèi)部的所有路由器通過OSPF不斷交換路由信息來保持相互的內(nèi)部連通性。每個(gè)校區(qū)可以被賦予一個(gè)自治系統(tǒng)編號(hào),號(hào)碼由私有編號(hào)來定義。在這里定義校區(qū)A為BGP1,校區(qū)B為BGP2,兩個(gè)校區(qū)邊界路由設(shè)備啟用BGP,通過兩條路徑攜帶各自校區(qū)路徑信息以及BGP路由通告原則,解決校區(qū)之間網(wǎng)絡(luò)互聯(lián)與校區(qū)內(nèi)部的路由環(huán)路問題。
由于各校區(qū)網(wǎng)絡(luò)建設(shè)的先后性,各個(gè)校區(qū)都按照校區(qū)需求對(duì)私有地址進(jìn)行了規(guī)劃和使用,為了避免私有地址路由條目進(jìn)入到其他校區(qū)自治域內(nèi),需過濾掉可能重復(fù)的私有地址,重發(fā)布公有地址。根據(jù)BGP用到的路由策略,在跨校區(qū)BGP策略部署中使用route-map,定義route-map采用route-map關(guān)鍵字,關(guān)聯(lián)一個(gè)自定義的參數(shù)。在一個(gè)route-map下定義多個(gè)序列,用十進(jìn)制的序列號(hào)來表示,用route-map在各校區(qū)重發(fā)布自治域路由時(shí),關(guān)聯(lián)一個(gè)已經(jīng)定義好的route-map,通過創(chuàng)建多個(gè)序列號(hào)語句,進(jìn)而對(duì)不同的路由設(shè)置不同的屬性和動(dòng)作。
以校區(qū)A的A-RG8610為例進(jìn)行BGP路由設(shè)置:
access-list 127 permit ip host 10.0.0.0 host 255.0.0.0
access-list 127 permit ip host 172.16.0.0 host 255.240.0.0
access-list 127 permit ip host 192.168.0.0.0 host 255.255.0.0
access-list 128 permit ip any 10.254.0.0 0.0.255.255
//創(chuàng)建兩個(gè)ACL,分別匹配需要過濾的路由和允許的路由
route-map filter deny 10
match ip address 127
//當(dāng)路由匹配ACL127時(shí)拒絕發(fā)布
exit
route-map filter permit 20
match ip address 128
//當(dāng)路由匹配ACL128時(shí)重發(fā)布
route-map filter permit 30
//由于route-map末尾隱含deny any、多條match語句時(shí)
使用邏輯and運(yùn)算,因此加上這句,對(duì)不匹配ACL127和
ACL128外的其他情況重發(fā)布
exit
router bgp 1
//啟動(dòng)BGP
no synchronization
bgp log-neighbor-changes
no auto-summary
neighbor 10.10.0.1 remote-as 1
//與同一校區(qū)A建立自治域1
neighbor 10.10.0.1 description A-Cisco7609
//與同一校區(qū)的A-Cisco7609路由設(shè)備
建立內(nèi)部相鄰體關(guān)系
neighbor 10.10.0.6 remote-as 2
//與另外校區(qū)B建立自治域2
neighbor 10.10.0.6 description B-RG-8610-1
//與校區(qū)B的B-RG-8610-1路由設(shè)備
建立外部相鄰體關(guān)系
network 10.10.0.2 mask 255.255.255.252
network 10.10.0.5 mask 255.255.255.252
redistribute ospf 1 match internal external 1 external 2
//重發(fā)布校區(qū)A自治域
exit
router ospf 1
redistribute bgp 1 subnets
exit
通過show ip bgp查看跨校區(qū)的路由:
RG8610#show ip bgp
……
Network Next Hop Metric LocPrf Weight Path
*10.254.0.0/16 10.10.0.2 0 0 0 2 1 i
……
保留地址和專有地址沒有出現(xiàn)在BGP路由表中,沒有允許這些地址在兩個(gè)校區(qū)間通告,而10.254.0.0 255.255.0.0和10.255.0.0 255.255.0.0出現(xiàn)在BGP路由表中,允許地址在兩校區(qū)間通告。
校區(qū)A和校區(qū)B加入BGP1和BGP2自治域的路由設(shè)備設(shè)置類同,最后形成雙鏈路冗余負(fù)載、路由策略可控的跨校區(qū)互聯(lián)網(wǎng)絡(luò),如圖2所示。
在目前多校區(qū)、多鏈路互聯(lián)的高校網(wǎng)絡(luò)模式下,使用域間協(xié)議BGP來實(shí)現(xiàn)各校區(qū)網(wǎng)絡(luò)的互連互通是非常有效的方式。本文主要從技術(shù)和應(yīng)用層面探討B(tài)GP對(duì)路由信息的控制能力,啟用策略選擇機(jī)制,增加了校區(qū)間多鏈路冗余和流量負(fù)載分配,有效地防范了各校區(qū)自治網(wǎng)絡(luò)系統(tǒng)的互相干擾和路由失效等路由故障,實(shí)現(xiàn)了各個(gè)校區(qū)靈活可靠的路由連通。下一步將考慮運(yùn)用 BGP4+,這樣既可以運(yùn)行在IPv4網(wǎng)絡(luò)上,也可以運(yùn)行在IPv6網(wǎng)絡(luò)上[7]。
參考文獻(xiàn)
[1] 王洪君,王大東,梁海英,等.一種BGP路由配置錯(cuò)誤動(dòng)態(tài)檢測(cè)方法[J].計(jì)算機(jī)工程,2006,32(14):81-103.
[2] 李琦,徐明偉,吳建平.一種互聯(lián)網(wǎng)的穩(wěn)定路由選擇策略[J].計(jì)算機(jī)學(xué)報(bào),2012,35(12):2668-2675.
[3] REKHTER Y.A border gateway protocol 4(BGP-4)[Z].RFC1771,March 1995.
[4] 賈書娟,耿秋月.BGP協(xié)議研究及應(yīng)用[J].無線電工程,2005,35(4):11-31.
[5] Wang Feng,Mao Zhuoqing,Wang Jia,et al.A measurementstudy on the impact of routing events on end-to-end Internet path performance[C].ACM SIGCOMM Computer Communication Review,2006,36(4):375-386.
[6] KUSHMAN N,KANDULA S,KATABI D.Can you hear me now?!It must be BGP[J].ACM SIGCOMM Computer Comm-unication Review,2007,37(2):75-84.
[7] 丁雪蓮.互操作性測(cè)試研究-BGP4+測(cè)試[J].微型機(jī)與應(yīng)用,2011,30(15):50-56.