黃錦燦陸明典*戴春容杜小洪黃先香白瑪多吉
(1.佛山市氣象局,廣東 佛山 528000;2.那曲班戈縣氣象局,西藏 那曲 852000)
廣東省氣象局已經(jīng)完成了市縣氣象業(yè)務(wù)通訊系統(tǒng)的城域網(wǎng)雙鏈路互備建設(shè),在市局端的兩臺MSR5040路由器上利用BDF、NQA的技術(shù)實現(xiàn)兩條鏈路在發(fā)生故障以后,把業(yè)務(wù)自動切換到另外一條鏈路上,實現(xiàn)業(yè)務(wù)不中斷的應(yīng)用效果[1],該模型典型網(wǎng)絡(luò)結(jié)構(gòu)拓撲如圖1所示。兩條鏈路通訊正常時,核心業(yè)務(wù)通過主干鏈路進行傳輸,視頻會商業(yè)務(wù)通過備份鏈路進行傳輸[2];當主干鏈路故障時,NQA檢測到主干鏈路的網(wǎng)關(guān)不可達,路由器Track聯(lián)動模塊將業(yè)務(wù)切換到備份鏈路,從而實現(xiàn)雙鏈路的主備自動切換。
圖1 市縣氣象業(yè)務(wù)通信系統(tǒng)城域網(wǎng)拓撲圖
由于策略規(guī)則的原因,在當前應(yīng)用環(huán)境下,要實現(xiàn)兩條鏈路的帶寬測量,需要先對主干鏈路進行帶寬測量,然后斷開主干鏈路,將所有業(yè)務(wù)遷移到備份鏈路,再進行帶寬測量。斷開主干鏈路需要登錄路由器禁用端口,或者采取插拔網(wǎng)線或運營商光纖的方式。手工進行該項操作有兩個弊端:有可能在操作期間影響到其他端口,甚至帶來接口模塊的物理損壞;其次,斷開主干鏈路后,所有的通訊數(shù)據(jù)轉(zhuǎn)移到備份鏈路,而備份鏈路帶寬小,測量期間還要承載大量的數(shù)據(jù)傳輸,對測量結(jié)果影響較大。為改進上述測量流程,本文提出一種利用服務(wù)器的靜態(tài)路由功能以及對端路由器的策略路由功能[3],實現(xiàn)主備等多鏈路的帶寬測量方案。
其中,s為文件大小,單位:比特,?t為傳輸時間差,單位:秒。
常用的TCP傳輸以FTP、HTTP、SOCKET為主,這幾種傳輸方式中以FTP最為簡單。FTP即文件傳輸協(xié)議(File Transfer Protocol),它可以在網(wǎng)絡(luò)中傳輸多種類型的文件,用戶通過一個支持FTP協(xié)議的客戶端程序,連接到遠程FTP服務(wù)器,通過命令能夠?qū)崿F(xiàn)文件的上傳和下載[5],本文采用FTP傳輸來進行帶寬測試[6]。
數(shù)據(jù)鏈路帶寬測量是利用網(wǎng)絡(luò)邊緣設(shè)備測量鏈路端到端的帶寬,端到端可用帶寬真實反映了某時段內(nèi)鏈路的實際通信能力,對提高網(wǎng)絡(luò)接入效率和提高服務(wù)質(zhì)量有著顯著的指導(dǎo)意義[4]。本文忽略傳輸期間背景損耗及測試期間其他業(yè)務(wù)的影響,將鏈路速率定義為:
根據(jù)圖1的網(wǎng)絡(luò)拓撲,帶寬測量可由市局作為發(fā)起端,縣局作為接收端進行數(shù)據(jù)上傳和下載,從而計算端到端的傳輸速率。據(jù)此,在市局即發(fā)起端設(shè)置一臺服務(wù)器A運行測量軟件,縣局即接收端設(shè)置一臺服務(wù)器B運行FTP服務(wù)器軟件。令服務(wù)器A的IP地址為10.151.1.10;服務(wù)器B配置2個IP地址,設(shè)為10.151.16.10,10.151.16.11(子接口)。A和B都應(yīng)該盡量接近邊界路由器,這樣可以避免不必要的網(wǎng)絡(luò)損耗,對內(nèi)網(wǎng)的影響也能夠降至最低。
進行主干鏈路帶寬測量時,A與B的IP地址10.151.16.10進行通訊;接收端回程路由使用默認配置,指定下一跳是1.1.1.1。往返數(shù)據(jù)包路由如下:
去程:10.151.1.10->10.151.1.250->1.1.1.1->1.1.1.2->10.151.16.1->10.151.16.10。
回程:10.151.16.10->10.151.16.1->1.1.1.2->1.1.1.1->10.151.1.250->10.151.1.10。
進行備份鏈路帶寬測量時,A配置靜態(tài)路由,指定前往B的IP地址10.151.16.11,其下一跳網(wǎng)關(guān)是10.151.1.251;接收端路由器新增策略路由,指定回程的下一跳是2.1.1.1。往返數(shù)據(jù)包路由如下:
去程:10.151.1.10->10.151.1.251->2.1.1.1->2.1.1.2->10.151.16.1->10.151.16.11。
回程:10.151.16.11->10.151.16.1->2.1.1.2->2.1.1.1->10.151.1.251->10.151.1.10。
兩種情況的路由拓撲圖如圖2所示,若存在多條鏈路,也可按上述流程進行路由分析。
圖2 兩種情況的路由拓撲圖
根據(jù)路由分析結(jié)果,服務(wù)器A需要通過靜態(tài)路由,指定去往10.151.16.11,下一跳是備份鏈路所連接的B路由器,在Linux操作系統(tǒng)上,使用route命令指定靜態(tài)路由:
route add-host 10.151.16.11 gw 10.151.1.251
如果有多條鏈路,則需要依次添加該鏈路所連接路由器網(wǎng)關(guān)的靜態(tài)路由。
通過路由分析可知,位于發(fā)起端的服務(wù)器A完成路由設(shè)置后,A去往接收端的服務(wù)器B已經(jīng)能夠按需走主干或者是備份鏈路。但是接收端的路由器,在未設(shè)置策略路由的情況下,默認是走主干鏈路的,需要在縣局路由器上,編寫規(guī)則,匹配源IP地址為10.151.16.11去往10.151.1.11的數(shù)據(jù)包,其下一跳是備份鏈路的網(wǎng)關(guān)。
創(chuàng)建ACL規(guī)則:
[MSR3020]acl advanced 3000
[MSR3020-acl-adv-3000]rule permitip source 10.151.16.110 destination 10.151.1.100
創(chuàng)建策略路由:
[MSR3020]policy-based-route bandwidth_test node 10
[MSR3020-pbr-bandwidth_test-10]if-match acl 3000
[MSR3020-pbr-bandwidth_test-10]apply ip-address nexthop 2.1.1.1
在10.151.16.1所在的端口上,下發(fā)策略路由規(guī)則:
[MSR3020-Ethernet5/0]ip policy-based-route bandwidth_test
路由器配置完成后,通過執(zhí)行trace[7]命令跟蹤路由走向,其輸出結(jié)果與4.1的分析結(jié)論一致。
設(shè)計輔助軟件,目的是簡化日常的管理工作,將原先由人工完成的操作流程,交由軟件來定時執(zhí)行測量,以及記錄測量結(jié)果、進行數(shù)據(jù)統(tǒng)計。多鏈路帶寬測量系統(tǒng)使用Java語言進行編碼,采用MySQL作為數(shù)據(jù)存儲工具[8],軟件系統(tǒng)主要功能包括鏈路信息的增刪改查、轄區(qū)信息增刪改查、計劃任務(wù)增刪改查、報表定義等。
(1)鏈路信息管理
鏈路信息是一個POJO類,屬性分別為:鏈路名稱,對應(yīng)的IP地址(服務(wù)器A據(jù)此編寫靜態(tài)路由),F(xiàn)TP端口號,F(xiàn)TP登錄用戶名和密碼,用于測量的文件名。
(2)測量計劃任務(wù)管理
測量計劃是一個POJO類,屬性分別為:縣局名稱,開通的鏈路名稱,測量執(zhí)行時間,測量次數(shù)。測量執(zhí)行時間使用Quartz包進行管理,Quartz框架是一個全功能、開源的任務(wù)調(diào)度服務(wù),其標準的cron表達式為[秒分時日月星期年]。
軟件系統(tǒng)安裝在服務(wù)器A上,程序啟動后,根據(jù)預(yù)先配置的規(guī)則,定時器根據(jù)規(guī)則分別向服務(wù)器B循環(huán)上傳和下載文件,并記錄傳輸文件大小及起止時間,計算出鏈路帶寬。
Java提供了很多FTP的客戶端工具[9],本文使用ftp4j來完成,ftp4j包含了較為完整的FTP接口封裝,根據(jù)程序設(shè)計文檔,在執(zhí)行FTP上傳、下載時,記錄文件大小、傳輸起止時間,部分代碼如下:
上述代碼,展示了數(shù)據(jù)測量和存儲流程。
通過定時任務(wù)功能,調(diào)用帶寬測量服務(wù)接口,完成了任意鏈路的帶寬測量,并將結(jié)果存儲到數(shù)據(jù)庫。數(shù)據(jù)庫中包含了完整的帶寬測量信息,利用ECharts將帶寬測量的結(jié)果以圖表的形式展現(xiàn)出來[10]。
本文探討了利用路由器策略路由功能、服務(wù)器靜態(tài)路由功能,分析設(shè)計并實現(xiàn)一套多數(shù)據(jù)鏈路的網(wǎng)絡(luò)帶寬自動測量軟件系統(tǒng)。經(jīng)過業(yè)務(wù)運行,證實該軟件能夠簡化日常的帶寬測試工作,測量期間無需人工干預(yù),且對業(yè)務(wù)的影響比較小,有效提高了網(wǎng)絡(luò)維護人員的工作效率。
參考文獻:
[1]朱璇,梁慎青,吳兆雄,等.省氣象局新建業(yè)務(wù)寬帶備份系統(tǒng)的配置要點[J].廣東氣象,2011(4):59-61.
[2]馬渝勇,方國強,向繼濤,等.省級氣象信息網(wǎng)絡(luò)系統(tǒng)的整體設(shè)計與實現(xiàn)[J].計算機應(yīng)用研究,2012(4):1374-1377.
[3]張翼,陳曉敏.氣象市-縣寬帶網(wǎng)絡(luò)升速端口路由器電口速率瓶頸的解決方案[J].廣東氣象,2013(8):78-80.
[4]張峰,雷振明.端到端網(wǎng)絡(luò)帶寬測量技術(shù)研究[J].電信科學(xué),2005(4):74-78.
[5]胡偉峰,張運林,馬佩強.F T P在新型探空雷達系統(tǒng)通訊業(yè)務(wù)中的應(yīng)用[J].氣象水文海洋儀器,2009(9):114-119.
[6]鄭吉妮,黃河,王方金.以太網(wǎng)專線F T P_T C P實測帶寬性能問題分析[J].電信工程技術(shù)與標準化,2015(7):8-11.
[7]宋凌怡,舒濤,夏齡,等.網(wǎng)絡(luò)管理系統(tǒng)中P i n g和T r a c e r t功能的實現(xiàn)[J].赤峰學(xué)院學(xué)報,2011(7):29-30.
[8]陸明典,洪汝強,王瑩.天氣和預(yù)警信息搖出來[J].信息化建設(shè),2015(10):29-30.
[9]劉沖,張海玥,張衛(wèi)東,等.用J a v a J D K編寫F T P客戶程序[J].計算機應(yīng)用,2011(8):99-102.
[10]王子毅,張春海.基于E C h a r t s的數(shù)據(jù)可視化分析組件設(shè)計實現(xiàn)[J],2016(14):46-51.