譚海波,馬宗萼,2+,李曉風
(1.中國科學院 合肥物質(zhì)科學研究院信息中心,安徽 合肥230031;2.中國科學院研究生院,北京100049)
互聯(lián)網(wǎng)上的網(wǎng)絡應用承載著信息社會最重要的數(shù)據(jù),這些應用的性能必須得到保證,由此產(chǎn)生對網(wǎng)絡應用監(jiān)測非常迫切的要求[1]。目前得到廣泛應用的SNMP[2]集中式測量系統(tǒng)根據(jù)豐富可擴展的MIB信息庫,在單一自治域范圍內(nèi)能夠很好地完成網(wǎng)絡測量工作[3],但是在執(zhí)行跨域網(wǎng)絡測量時,其輪詢機制會消耗大量寶貴的帶寬,降低了測量精度。同時在設備不斷增加的情況下,越來越消耗系統(tǒng)和網(wǎng)絡資源的測量工作將導致測量服務器難堪重負。
以往為了分析鏈路的端到端性能,管理員通常在所轄網(wǎng)域內(nèi)部署各類網(wǎng)絡測量工具,常見的如Sniffer、Iperf、OWAMP[4]等,而端到端鏈路很可能跨越多個自治域,域間硬件和軟件系統(tǒng)一般都是異構的,采用的網(wǎng)絡測量工具和手段也大都不一樣。如果能夠有效地整合各個域內(nèi)的測量資源,建立完備的網(wǎng)絡性能視圖[5],不僅有利于快速定位已發(fā)生的網(wǎng)絡故障,還可以通過對歷史性能視圖的分析,及時發(fā)現(xiàn)并排除潛在的性能和安全隱患,優(yōu)化網(wǎng)絡運行。
如今以松耦合方式實現(xiàn)現(xiàn)有測量工具的集成和協(xié)作、域間測量信息的共享[6]成為網(wǎng)絡測量系統(tǒng)新的需求,也是未來的發(fā)展趨勢[7-9]。由于 Web Service技術能夠在異構系統(tǒng)上構建通用、跨平臺、面向服務的體系結構,因此能夠為解決網(wǎng)絡中的分布式測量和資源共享問題,實現(xiàn)網(wǎng)絡測量服務的動態(tài)描述、發(fā)布、發(fā)現(xiàn)和調(diào)用提供解決方案[10-11]。
perfSONAR[12](performance focused service-oriented network monitoring architecture)是一個基于 Web Service技術,支持網(wǎng)絡性能數(shù)據(jù)采集、存檔和發(fā)布服務的框架。它由Internet2、Geant2等共同提出,用于對歐洲科研網(wǎng)絡GEANT2和歐洲國家研究教育網(wǎng)絡NRENs實施精確的網(wǎng)絡測量和監(jiān)控。為了統(tǒng)一分布在各自治域的網(wǎng)絡測量資源,解決多自治域范圍內(nèi)服務注冊和發(fā)現(xiàn)問題,perfSONAR引入了SOA技術,使得各域中的測量服務能夠以通用接入策略整合到框架中。perfSONAR協(xié)議和框架實現(xiàn)[13]中最具代表性的perfSONAR-PS由Internet2開發(fā)[14],同時提供若干具有高可用性的網(wǎng)絡性能監(jiān)控服務組件。
perfSONAR服務間通信遵循NMWG規(guī)范,把測量數(shù)據(jù)劃分為METADATA和DATA兩部分,METADATA描述測量數(shù)據(jù)類型及基本參數(shù),DATA是由時間戳或數(shù)值組成的向量。NMWG消息封裝于SOAP消息中,加上HTTP頭形成Web請求,其協(xié)議棧如圖1所示。
圖1 NMWG消息協(xié)議棧
perfSONAR體系結構中將測量系統(tǒng)分為測量層、服務層和用戶接口層,測量層包含不同自治域內(nèi)功能各異的測量節(jié)點;服務層由測量服務構成,服務為 Web Service形式,彼此間可以跨域通信;用戶接口通過與服務層請求從而獲得所需的測量信息,如圖2所示。
圖2 perfSONAR體系結構[15]
下面在對perfSONAR協(xié)議和框架研究的基礎上,設計提供服務發(fā)布和發(fā)現(xiàn)功能的管理中心,對現(xiàn)有測量工具進行面向服務封裝,同時開發(fā)Web Service代理實現(xiàn)測量服務與管理中心間的交互,構建能夠?qū)Υ笠?guī)模網(wǎng)絡進行分析和診斷的分布式測量系統(tǒng)。
設計網(wǎng)絡測量系統(tǒng)框架如圖3所示,框架中的服務主要劃分為如下類型:
(1)測量服務
測量服務位于系統(tǒng)底層,其本質(zhì)上是各類網(wǎng)絡測量工具,負責執(zhí)行提供性能測量結果或提取存檔數(shù)據(jù),當這些工具封裝為 Web Service并向管理中心注冊后,就成為系統(tǒng)組件。
圖3 網(wǎng)絡測量系統(tǒng)框架
(2)存檔服務
存檔服務通常是數(shù)據(jù)庫服務的Web Service形式,它收集測量服務所產(chǎn)生的數(shù)據(jù),存檔到數(shù)據(jù)庫并對外提供高效的訪問接口,但是它不能產(chǎn)生新的數(shù)據(jù)或者承擔數(shù)據(jù)處理的任務。
(3)服務管理中心
服務管理中心是系統(tǒng)的核心部分,它負責接收和處理其他服務的注冊、更新、查詢、撤銷等請求,維護已注冊服務的功能描述和位置信息列表,使得每個獨立的服務成為系統(tǒng)的可視部分,規(guī)范框架內(nèi)服務的行為,同時提供服務的發(fā)布和發(fā)現(xiàn)功能。
測量系統(tǒng)中所有的網(wǎng)絡性能指標和服務描述都使用NMWG規(guī)范的XML定義,這些信息在框架內(nèi)可以通過XQuery查詢。通過嚴格定義的服務接口,框架中的各服務之間能夠使用定義良好的協(xié)議實現(xiàn)域內(nèi)或域間服務的發(fā)布和發(fā)現(xiàn)、測量數(shù)據(jù)的存儲和檢索等功能。
根據(jù)在測量系統(tǒng)框架中所處的角色,服務管理中心維護一個其所轄管理域內(nèi)的注冊服務列表,如圖4所示,它的主要任務如下:
(1)注冊/發(fā)布服務:時刻監(jiān)聽注冊服務請求,將完整描述的合法服務添加到注冊服務列表,賦予一個服務key,便于查詢和定位;對不滿足條件的服務返回詳細的注冊失敗信息。
(2)查詢/定位服務:時刻監(jiān)聽服務查詢請求,根據(jù)查詢條件搜索注冊服務列表,如果查找成功,則返回服務所注冊的描述信息。
(3)更新服務信息:維護注冊服務列表,列表中每個服務有對應的過期時間,到期仍未提交刷新請求的服務將被移出列表;同時根據(jù)服務提交的更新請求更新列表內(nèi)的服務信息。
圖4 服務管理中心
測量服務即封裝測量功能的 Web Service,例如Iperf Client、SNMP Agent等。測量服務首先檢測測量請求中命令和參數(shù)的合法性,檢測通過后,構造完整的本地可執(zhí)行命令字符串,然后調(diào)用所封裝的測量命令,執(zhí)行完成后對命令的輸出進行分析和處理,得到本次測量所需的結果數(shù)據(jù),最后將測量數(shù)據(jù)封裝為NMWG規(guī)范形式,通過SOAP管道返回給調(diào)用它的客戶程序。測量服務的Web Service處理流程如圖5所示。
存檔服務即封裝數(shù)據(jù)庫服務的 Web Service,例如MySQL、Oracle、RRD等。存檔服務分析存檔請求,使用客戶端傳遞過來的數(shù)據(jù)庫連接參數(shù)與DBMS建立連接,同時將操作數(shù)據(jù)庫的語句提交到DBMS完成執(zhí)行,將DBMS的反饋結果進行處理和分析后返回,如果操作失敗則返回錯誤信息。存檔服務的Web Service處理流程如圖6所示。
Web Service代理通過調(diào)用服務管理中心提供的接口與之通信,負責Web Service的注冊、更新、查詢等工作。首先它執(zhí)行registerRequest提交注冊請求,管理中心將新注冊的Web Service服務信息保存到它的服務列表中,并確定列表中該服務條目的有效期。已注冊的服務信息可以通過registerUpdateRequest對服務信息進行修改,此外,代理程序周期性執(zhí)行keepaliveRequest刷新自己在注冊列表中的條目,保證其在系統(tǒng)框架內(nèi)的有效性。
如果需要與其他服務協(xié)作,可通過代理發(fā)出queryRequest請求,管理中心將檢索本地服務列表,必要時向外域管理中心轉發(fā)請求以返回協(xié)作服務的信息。如果服務不再提供向系統(tǒng)其部分或全部功能,則調(diào)用deregisterRequest撤銷。Web Service代理的設計如圖7所示。
在構造好測量服務和存檔服務的Web Service后,可以通過代理向服務管理中心完成注冊,從而成為網(wǎng)絡測量系統(tǒng)的一個組件,注冊時需要得知管理中心的URI,以及本地注冊服務的基本信息,下面是將封裝Iperf Client的Web Service注冊為測量服務的代碼段:
可以看到系統(tǒng)服務組件的4個基本屬性:serviceName、accessPoint、serviceType、serviceDescription,分別代表服務的名稱、接入點、類型、描述,其中accessPoint使用URI對服務的進行定位,服務屬性信息保存在NMWG消息的METADATA部分。rdata為注冊服務接口詳細的XML描述,保存在NMWG消息的DATA部分,供服務管理中心發(fā)布和檢索。
圖7 Web Service代理
在系統(tǒng)框架內(nèi),服務通過Web Service實施互操作,彼此之間相互獨立,僅當需要進行協(xié)作時才向其他服務發(fā)送請求獲取所需測量資源,從而形成松耦合的體系結構。
為了測試測量系統(tǒng)的分布式網(wǎng)絡測量功能,搭建了如圖8所示的分布式網(wǎng)絡測量實驗平臺。自治域A中的Cacti通過SNMP協(xié)議對域內(nèi)的主機實施性能監(jiān)控;自治域B中將Iperf和OWAMP測量工具向管理中心注冊,分別封裝成Iperf服務和OWAMP服務,用于實施BC之間網(wǎng)絡鏈路的吞吐量和延遲測量。測量服務采集的數(shù)據(jù)由各自域內(nèi)的存檔服務管理。
圖8 分布式測量網(wǎng)絡
當位于自治域A的網(wǎng)絡管理員收到Cacti的警告信息,提示某個廣域網(wǎng)鏈路交換機接口的流量出現(xiàn)異常狀況,但這只是域內(nèi)被動測量的結果,由于已知這條鏈路經(jīng)過自治域B和C,管理員希望獲取BC鏈路的更多性能信息,則可以根據(jù)管理中心的URI和服務描述信息,通過Web Service代理向NMS SCA發(fā)出查詢網(wǎng)絡帶寬測量服務的請求:
NMS SCA向NMS SCB轉發(fā)請求,向請求者返回自治域B中帶寬測量服務信息如下:
隨后管理員可以像調(diào)用本地應用一樣向B中的服務提交相應的測量請求,獲得BC之間鏈路的性能數(shù)據(jù),同樣的方法可獲得網(wǎng)絡上已注冊的其他測量資源,從而獲取整條網(wǎng)絡鏈路上所有監(jiān)測點的可用數(shù)據(jù)??梢娀赪eb Service的分布式網(wǎng)絡測量系統(tǒng)有效地整合網(wǎng)絡上可利用的資源,為管理員呈現(xiàn)完備的全網(wǎng)性能視圖,有助于找出異常發(fā)生的時間并準確定位故障點,從而為大規(guī)模分布式網(wǎng)絡的性能分析和故障診斷提供了較為理想的解決方案。
本文通過研究國外大規(guī)模網(wǎng)絡測量基礎設施perfSONAR,采用Web Service及其相關的SOAP、XML等技術,設計一個實現(xiàn)服務發(fā)布和發(fā)現(xiàn)功能的管理中心,將現(xiàn)有的測量工具封裝成為面向服務的組件,同時設計Web Service代理負責將測量服務向管理中心注冊成為系統(tǒng)組件,系統(tǒng)服務組件間能夠通過明確定義的協(xié)議進行通信和協(xié)作,從而整合成為一個功能完備的網(wǎng)絡測量系統(tǒng),該系統(tǒng)具有開放、靈活、可擴展性強等優(yōu)點。下一步的工作將考慮實現(xiàn)perfSONAR框架內(nèi)更多類型的服務,同時完善測量數(shù)據(jù)分析模型實現(xiàn)對網(wǎng)絡性能的評估及異常檢測,并優(yōu)化管理中心的調(diào)度行為,以盡可能小的代價實現(xiàn)服務協(xié)作。
[1]NIU Yahua,REN Xinhua,BI Jingping.A survey on internet measurement mode [J].Computer Applications and Software,2006,23(7):11-13(in Chinese).[牛燕華,任新華,畢經(jīng)平.Internet網(wǎng)絡測量方式綜述 [J].計算機應用與軟件,2006,23(7):11-13.]
[2]LI Mingjiang.SNMP simple network management protocol[M].Beijing:Publishing House of Electronics Industry,2007:78-162(in Chinese). [李明江.SNMP簡單網(wǎng)絡管理協(xié)議[M].北京:電子工業(yè)出版社,2007:78-162.]
[3]ZHAO Linhai,LI Xiaofeng,TAN Haibo.Design and implementation of distributed oracle monitor system based on CACTI[J].Computer Systems & Applications,2010,19(9):134-137(in Chinese).[趙林海,李曉風,譚海波.基于CACTI的分布式ORACLE監(jiān)控系統(tǒng)的設計與實現(xiàn) [J].計算系統(tǒng)應用,2010,19(9):134-137.]
[4]SONG Yanmiao,HUANG Anwei,MU Yuan,et al.Network performance measurement technique based on OWAMP [J].Computer Engineering,2009,35(14):138-141(in Chinese).[宋焱淼,皇安偉,穆源,等.基于OWAMP的網(wǎng)絡性能測量技術 [J].計算機工程,2009,35(14):138-141.]
[5]TANG Haina,LI Jun.A survey:Network performance monitoring technology [J].Application Research of Computers,2004,21(8):10-13(in Chinese).[唐海娜,李俊.網(wǎng)絡性能監(jiān)測技術綜述 [J].計算機應用研究,2004,21(8):10-13.]
[6]CHEN Song,WANG Shan,ZHOU Mingtian.Research on layered internet synthetic measurement management system [J].Computer Engineering and Applications,2009,45(14):7-9(in Chinese).[陳松,王珊,周明天.分層的互聯(lián)網(wǎng)綜合測量管理系統(tǒng)的研究[J].計算機工程與應用,2009,45(14):7-9.]
[7]YANG Jiahai,WU Jianping,AN Changqing.Internet measurement theory and application [M].Beijing:People's Posts and Telecommunications Press,2009(in Chinese).[楊家海,吳建平,安常青.互聯(lián)網(wǎng)絡測量理論與應用 [M].北京:人民郵電出版社,2009.]
[8]CHEN Xiaoxia,REN Yongmao,LI Jun,et al.A survey on network measurement and analysis [J].Computer Systems &Applications,2010,19(7):244-249(in Chinese).[陳曉霞,任勇毛,李俊,等.網(wǎng)絡測量與分析研究綜述 [J].計算機系統(tǒng)應用,2010,19(7):244-249.]
[9]WANG Ruetong,ZHANG Hui,YANG Jiahai,et al.Design and implementation of the information model of a P2P-based network management system [J].Journal on Communications,2010,31(1):85-91(in Chinese).[王若瞳,張輝,楊家海,等.P2P網(wǎng)絡管理系統(tǒng)信息模型的設計與實現(xiàn) [J].通信學報,2010,31(1):85-91.]
[10]ZHANG Nan,QIU Xuesong.Research and implementation of telecom network management architecture based on web services[J].Application Research of Computers,2008,25(6):1882-1885(in Chinese).[張楠,邱雪松.基于 Web服務的電信網(wǎng)絡管理架構研究和實現(xiàn) [J].計算機應用研究,2008,25(6):1882-1885.]
[11]QU Zaihong,ZHANG Miao,XU Mingwei,et al.XML-based network management:A survey [J].Journal of Chinese Computer Systems,2008,29(2):245-250(in Chinese).[屈在宏,章淼,徐明偉,等.基于XML的互聯(lián)網(wǎng)網(wǎng)絡管理研究綜述 [J].小型微型計算機系統(tǒng),2008,29(2):245-250.]
[12]Hanemann A,Boote J,Boyd E,et al.PerfSONAR:A service oriented architecture for multi-domain network monitoring[G].LNCS 3826:Proceedings of the third International Conference on Service Oriented Computing.Amsterdam,the Netherlands:Springer Verlag,2005:241-254.
[13]Zurawski J,Swany M,Gunter D.A scalable framework for representation and exchange of network measurements [C].Barcelona,Spain:IEEE/Create-Net Conference on Testbeds and Research Infrastructures for the Development of Networks and Communities,2006.
[14]Tierney B,Boote J,Boyd E,et al.Instantiating aglobal network measurement framework [R].LBNL Technical Report LBNL-1452E,2009.
[15]Zurawski J,Boote J,Boyd E,et al.Hierarchically federated registration and lookup within the perfsonar framework(short paper,poster session) [C].Tenth IFIP/IEEE International Symposium on Integrated Network Management,2007.