譚海波,馬宗萼,2+,李曉風
(1.中國科學院 合肥物質科學研究院信息中心,安徽 合肥230031;2.中國科學院研究生院,北京100049)
互聯網上的網絡應用承載著信息社會最重要的數據,這些應用的性能必須得到保證,由此產生對網絡應用監測非常迫切的要求[1]。目前得到廣泛應用的SNMP[2]集中式測量系統根據豐富可擴展的MIB信息庫,在單一自治域范圍內能夠很好地完成網絡測量工作[3],但是在執行跨域網絡測量時,其輪詢機制會消耗大量寶貴的帶寬,降低了測量精度。同時在設備不斷增加的情況下,越來越消耗系統和網絡資源的測量工作將導致測量服務器難堪重負。
以往為了分析鏈路的端到端性能,管理員通常在所轄網域內部署各類網絡測量工具,常見的如Sniffer、Iperf、OWAMP[4]等,而端到端鏈路很可能跨越多個自治域,域間硬件和軟件系統一般都是異構的,采用的網絡測量工具和手段也大都不一樣。如果能夠有效地整合各個域內的測量資源,建立完備的網絡性能視圖[5],不僅有利于快速定位已發生的網絡故障,還可以通過對歷史性能視圖的分析,及時發現并排除潛在的性能和安全隱患,優化網絡運行。
如今以松耦合方式實現現有測量工具的集成和協作、域間測量信息的共享[6]成為網絡測量系統新的需求,也是未來的發展趨勢[7-9]。由于 Web Service技術能夠在異構系統上構建通用、跨平臺、面向服務的體系結構,因此能夠為解決網絡中的分布式測量和資源共享問題,實現網絡測量服務的動態描述、發布、發現和調用提供解決方案[10-11]。
perfSONAR[12](performance focused service-oriented network monitoring architecture)是一個基于 Web Service技術,支持網絡性能數據采集、存檔和發布服務的框架。它由Internet2、Geant2等共同提出,用于對歐洲科研網絡GEANT2和歐洲國家研究教育網絡NRENs實施精確的網絡測量和監控。為了統一分布在各自治域的網絡測量資源,解決多自治域范圍內服務注冊和發現問題,perfSONAR引入了SOA技術,使得各域中的測量服務能夠以通用接入策略整合到框架中。perfSONAR協議和框架實現[13]中最具代表性的perfSONAR-PS由Internet2開發[14],同時提供若干具有高可用性的網絡性能監控服務組件。
perfSONAR服務間通信遵循NMWG規范,把測量數據劃分為METADATA和DATA兩部分,METADATA描述測量數據類型及基本參數,DATA是由時間戳或數值組成的向量。NMWG消息封裝于SOAP消息中,加上HTTP頭形成Web請求,其協議棧如圖1所示。
圖1 NMWG消息協議棧
perfSONAR體系結構中將測量系統分為測量層、服務層和用戶接口層,測量層包含不同自治域內功能各異的測量節點;服務層由測量服務構成,服務為 Web Service形式,彼此間可以跨域通信;用戶接口通過與服務層請求從而獲得所需的測量信息,如圖2所示。
圖2 perfSONAR體系結構[15]
下面在對perfSONAR協議和框架研究的基礎上,設計提供服務發布和發現功能的管理中心,對現有測量工具進行面向服務封裝,同時開發Web Service代理實現測量服務與管理中心間的交互,構建能夠對大規模網絡進行分析和診斷的分布式測量系統。
設計網絡測量系統框架如圖3所示,框架中的服務主要劃分為如下類型:
(1)測量服務
測量服務位于系統底層,其本質上是各類網絡測量工具,負責執行提供性能測量結果或提取存檔數據,當這些工具封裝為 Web Service并向管理中心注冊后,就成為系統組件。
圖3 網絡測量系統框架
(2)存檔服務
存檔服務通常是數據庫服務的Web Service形式,它收集測量服務所產生的數據,存檔到數據庫并對外提供高效的訪問接口,但是它不能產生新的數據或者承擔數據處理的任務。
(3)服務管理中心
服務管理中心是系統的核心部分,它負責接收和處理其他服務的注冊、更新、查詢、撤銷等請求,維護已注冊服務的功能描述和位置信息列表,使得每個獨立的服務成為系統的可視部分,規范框架內服務的行為,同時提供服務的發布和發現功能。
測量系統中所有的網絡性能指標和服務描述都使用NMWG規范的XML定義,這些信息在框架內可以通過XQuery查詢。通過嚴格定義的服務接口,框架中的各服務之間能夠使用定義良好的協議實現域內或域間服務的發布和發現、測量數據的存儲和檢索等功能。
根據在測量系統框架中所處的角色,服務管理中心維護一個其所轄管理域內的注冊服務列表,如圖4所示,它的主要任務如下:
(1)注冊/發布服務:時刻監聽注冊服務請求,將完整描述的合法服務添加到注冊服務列表,賦予一個服務key,便于查詢和定位;對不滿足條件的服務返回詳細的注冊失敗信息。
(2)查詢/定位服務:時刻監聽服務查詢請求,根據查詢條件搜索注冊服務列表,如果查找成功,則返回服務所注冊的描述信息。
(3)更新服務信息:維護注冊服務列表,列表中每個服務有對應的過期時間,到期仍未提交刷新請求的服務將被移出列表;同時根據服務提交的更新請求更新列表內的服務信息。
圖4 服務管理中心
測量服務即封裝測量功能的 Web Service,例如Iperf Client、SNMP Agent等。測量服務首先檢測測量請求中命令和參數的合法性,檢測通過后,構造完整的本地可執行命令字符串,然后調用所封裝的測量命令,執行完成后對命令的輸出進行分析和處理,得到本次測量所需的結果數據,最后將測量數據封裝為NMWG規范形式,通過SOAP管道返回給調用它的客戶程序。測量服務的Web Service處理流程如圖5所示。
存檔服務即封裝數據庫服務的 Web Service,例如MySQL、Oracle、RRD等。存檔服務分析存檔請求,使用客戶端傳遞過來的數據庫連接參數與DBMS建立連接,同時將操作數據庫的語句提交到DBMS完成執行,將DBMS的反饋結果進行處理和分析后返回,如果操作失敗則返回錯誤信息。存檔服務的Web Service處理流程如圖6所示。
Web Service代理通過調用服務管理中心提供的接口與之通信,負責Web Service的注冊、更新、查詢等工作。首先它執行registerRequest提交注冊請求,管理中心將新注冊的Web Service服務信息保存到它的服務列表中,并確定列表中該服務條目的有效期。已注冊的服務信息可以通過registerUpdateRequest對服務信息進行修改,此外,代理程序周期性執行keepaliveRequest刷新自己在注冊列表中的條目,保證其在系統框架內的有效性。
如果需要與其他服務協作,可通過代理發出queryRequest請求,管理中心將檢索本地服務列表,必要時向外域管理中心轉發請求以返回協作服務的信息。如果服務不再提供向系統其部分或全部功能,則調用deregisterRequest撤銷。Web Service代理的設計如圖7所示。
在構造好測量服務和存檔服務的Web Service后,可以通過代理向服務管理中心完成注冊,從而成為網絡測量系統的一個組件,注冊時需要得知管理中心的URI,以及本地注冊服務的基本信息,下面是將封裝Iperf Client的Web Service注冊為測量服務的代碼段:
可以看到系統服務組件的4個基本屬性:serviceName、accessPoint、serviceType、serviceDescription,分別代表服務的名稱、接入點、類型、描述,其中accessPoint使用URI對服務的進行定位,服務屬性信息保存在NMWG消息的METADATA部分。rdata為注冊服務接口詳細的XML描述,保存在NMWG消息的DATA部分,供服務管理中心發布和檢索。
圖7 Web Service代理
在系統框架內,服務通過Web Service實施互操作,彼此之間相互獨立,僅當需要進行協作時才向其他服務發送請求獲取所需測量資源,從而形成松耦合的體系結構。
為了測試測量系統的分布式網絡測量功能,搭建了如圖8所示的分布式網絡測量實驗平臺。自治域A中的Cacti通過SNMP協議對域內的主機實施性能監控;自治域B中將Iperf和OWAMP測量工具向管理中心注冊,分別封裝成Iperf服務和OWAMP服務,用于實施BC之間網絡鏈路的吞吐量和延遲測量。測量服務采集的數據由各自域內的存檔服務管理。
圖8 分布式測量網絡
當位于自治域A的網絡管理員收到Cacti的警告信息,提示某個廣域網鏈路交換機接口的流量出現異常狀況,但這只是域內被動測量的結果,由于已知這條鏈路經過自治域B和C,管理員希望獲取BC鏈路的更多性能信息,則可以根據管理中心的URI和服務描述信息,通過Web Service代理向NMS SCA發出查詢網絡帶寬測量服務的請求:
NMS SCA向NMS SCB轉發請求,向請求者返回自治域B中帶寬測量服務信息如下:
隨后管理員可以像調用本地應用一樣向B中的服務提交相應的測量請求,獲得BC之間鏈路的性能數據,同樣的方法可獲得網絡上已注冊的其他測量資源,從而獲取整條網絡鏈路上所有監測點的可用數據。可見基于Web Service的分布式網絡測量系統有效地整合網絡上可利用的資源,為管理員呈現完備的全網性能視圖,有助于找出異常發生的時間并準確定位故障點,從而為大規模分布式網絡的性能分析和故障診斷提供了較為理想的解決方案。
本文通過研究國外大規模網絡測量基礎設施perfSONAR,采用Web Service及其相關的SOAP、XML等技術,設計一個實現服務發布和發現功能的管理中心,將現有的測量工具封裝成為面向服務的組件,同時設計Web Service代理負責將測量服務向管理中心注冊成為系統組件,系統服務組件間能夠通過明確定義的協議進行通信和協作,從而整合成為一個功能完備的網絡測量系統,該系統具有開放、靈活、可擴展性強等優點。下一步的工作將考慮實現perfSONAR框架內更多類型的服務,同時完善測量數據分析模型實現對網絡性能的評估及異常檢測,并優化管理中心的調度行為,以盡可能小的代價實現服務協作。
[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).[牛燕華,任新華,畢經平.Internet網絡測量方式綜述 [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簡單網絡管理協議[M].北京:電子工業出版社,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監控系統的設計與實現 [J].計算系統應用,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的網絡性能測量技術 [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).[唐海娜,李俊.網絡性能監測技術綜述 [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).[陳松,王珊,周明天.分層的互聯網綜合測量管理系統的研究[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).[楊家海,吳建平,安常青.互聯網絡測量理論與應用 [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).[陳曉霞,任勇毛,李俊,等.網絡測量與分析研究綜述 [J].計算機系統應用,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網絡管理系統信息模型的設計與實現 [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服務的電信網絡管理架構研究和實現 [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的互聯網網絡管理研究綜述 [J].小型微型計算機系統,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.