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