亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于SNMP的網(wǎng)絡(luò)監(jiān)控系統(tǒng)的研究與實現(xiàn)

        2012-09-29 11:27:50劉建卿盧融凱
        關(guān)鍵詞:功能設(shè)備系統(tǒng)

        劉建卿,盧融凱

        (1.天津職業(yè)技術(shù)師范大學(xué) 信息技術(shù)工程學(xué)院,天津300222;2.北京盛安德科技發(fā)展有限公司,天津300000)

        簡單網(wǎng)絡(luò)管理協(xié)議SNMP(Simple Network Management Protocol)是為網(wǎng)絡(luò)管理系統(tǒng)提供的底層網(wǎng)絡(luò)管理的框架。其應(yīng)用范圍非常廣泛,諸多種類的網(wǎng)絡(luò)設(shè)備、軟件和系統(tǒng)中都有所采用。SNMP協(xié)議發(fā)展到目前的第3版,已經(jīng)成為一個非常成熟的網(wǎng)絡(luò)管理協(xié)議[1]。不過由于每個設(shè)備的支持程序有所不同,所以面向SNMP的成熟網(wǎng)絡(luò)管理框架依然非常少見[2]。在SNMP的支持方面,Cisco是走在最前沿的[3],除了完整地支持RFC1213中MIB-2的定義外,還在部分設(shè)備中支持RFC2819和RFC2021中的RMON?;贑isco的主流性,開發(fā)“可擴展”的基于SNMP的網(wǎng)絡(luò)管理框架變得非?,F(xiàn)實。

        1 開發(fā)平臺與架構(gòu)的選擇

        .NET平臺的C#語言有著豐富的語言特性,例如Lambda表達式(在Auto-Topology控件及軟件框架中已多次使用)可以顯著地提升開發(fā)效率,而且支持C#的官方開發(fā)環(huán)境Visual Studio是公認的更加有助于團隊協(xié)作的集成開發(fā)環(huán)境。再者,C#中匿名對象、對象初始化器、閉包支持LINQ等利于DSL表現(xiàn)的特性,加之良好的異步編程支持,使C#成為了首選語言,自然,首選的平臺則為.NET。

        軟件必須面對的兩個基本問題是“通用性”與“可擴展性”。所謂通用性,就是在絕大多數(shù)的網(wǎng)絡(luò)環(huán)境中都能夠使用的基本功能;所謂可擴展性,就是在保證通用的前提下,充分發(fā)揮特有設(shè)備特別功能的能力。這使得通用框架的設(shè)計難度加大。

        如何使網(wǎng)絡(luò)管理任務(wù)充分簡化是需要重點考慮的,軟件的工作方式將會影響操作的行為,C/S結(jié)構(gòu)或者純粹的單體軟件無疑有著更為強大的圖形展現(xiàn)能力,而B/S結(jié)構(gòu)則在伸縮性與跨平臺方面有著更為良好的表現(xiàn)。一個較為折衷并且有經(jīng)濟效益的選擇,就是在框架級別實現(xiàn)通用與跨平臺,在表現(xiàn)層分離為不同的解決方案。最終,軟件采用了普通軟件的工作方式。

        雖然可以自主開發(fā)SNMP底層的通訊類庫來支持整個項目,但考慮到開發(fā)周期等因素,還是尋求一款更為優(yōu)秀的開源組件來承擔基礎(chǔ)通訊。有兩款開源組件可供選擇:SnmpSharpNet和SharpSnmpLib。在仔細研究了這兩款組件后發(fā)現(xiàn),SharpSnmpLib更新頻率更高,而且代碼更加利于維護,于是選擇SharpSnmpLib來支持開發(fā)。

        2 系統(tǒng)分析

        2.1 重點問題

        由于SNMP協(xié)議在不同的設(shè)備上支持的情況不同,所以要求軟件的一些通用功能兼容大部分設(shè)備,這是很有挑戰(zhàn)的。常見的網(wǎng)絡(luò)管理任務(wù)基本都建立在以拓撲圖為藍本的擴展之上,所以無論設(shè)備如何不同、協(xié)議支持情況有多復(fù)雜,自動網(wǎng)絡(luò)拓撲發(fā)現(xiàn)功能是一個不能缺少的核心功能。如何在兼容常見設(shè)備的基礎(chǔ)上實現(xiàn)擴展功能成為研究的重點問題。

        2.1.1 與現(xiàn)有的大部分硬件設(shè)備保持兼容

        與其說實現(xiàn)兼容,倒不如理解為只使用大部分硬件都能支持的功能來實現(xiàn)。一個顯而易見的解決方案就是只使用RFC1213中定義的MIB-2功能組。MIB-2中定義了網(wǎng)絡(luò)管理中經(jīng)常使用的對象,并且得到了絕大多數(shù)設(shè)備的支持。如果只使用MIB-2中定義的功能來支撐軟件的核心功能,那么軟件與硬件的兼容性問題自然也會少很多。

        2.1.2 通過SNMP的方式得到網(wǎng)絡(luò)拓撲

        SNMP協(xié)議的相關(guān)功能中沒有直接獲取拓撲結(jié)構(gòu)的對象,在一些私有MIB中(例如 Cisco中關(guān)于 CDP的相關(guān)對象)有這樣直接的功能,但是對網(wǎng)絡(luò)環(huán)境與設(shè)備要求苛刻(CDP協(xié)議只在純Cisco網(wǎng)絡(luò)中有用,雖然有部分非 Cisco開始支持 CDP,但是數(shù)量很少)[4],所以這不是一個通用的解決方案。

        為了保持設(shè)備和網(wǎng)絡(luò)的兼容性,前面提到應(yīng)該采用“保守”的對象來實現(xiàn)核心功能,所以拓撲圖的自動發(fā)現(xiàn)只能從MIB-2中查找相應(yīng)的解決方案。網(wǎng)絡(luò)拓撲,顧名思義就是網(wǎng)絡(luò)設(shè)備之間的邏輯關(guān)系,那么反映到網(wǎng)絡(luò)技術(shù)中,最為直接的對應(yīng)就是路由表。但是路由表中只有網(wǎng)絡(luò)設(shè)備間的關(guān)系,支持SNMP的PC信息卻不在路由表中。如何解決支持SNMP的PC發(fā)現(xiàn)呢?一個方案就是查找網(wǎng)絡(luò)設(shè)備中的“地址轉(zhuǎn)換表”,這其中有PC的IP信息,通過對這些PC逐一進行SNMP測試,就可完整地支持整個SNMP網(wǎng)絡(luò)[5]。另外,需要知道設(shè)備自身接口的IP,這在MIB-2的IP功能組(1.3.6.1.2.1.4)中都有定義。

        2.2 難點問題

        2.2.1 拓撲圖的布局

        拓撲圖的機制確定之后,另一個難題就是如何將各個設(shè)備以及相關(guān)線路布置在屏幕上。由于設(shè)備之間的唯一關(guān)系就是相互間的鏈路,沒有與物理結(jié)構(gòu)相關(guān)的數(shù)據(jù)可以獲得,所以要想完全通過軟件繪制出與物理結(jié)構(gòu)相同或相似的拓撲圖是非常困難的,可以參考的相關(guān)資料和論文非常少[6]。

        拓撲圖的分布是個學(xué)術(shù)難題,環(huán)狀權(quán)值分布僅作為一種理論嘗試,為了今后有更好的理論支撐,可以靈活地修改布局算法,軟件在開發(fā)過程中采用“策略模式”(Strategy)將布局算法抽象出來,易于替換。

        2.2.2 映射領(lǐng)域模型到存儲模型

        領(lǐng)域模型記錄了一個系統(tǒng)中的關(guān)鍵概念和詞匯表,顯示出了系統(tǒng)中的主要實體之間的關(guān)系,并確定了它們的重要方法和屬性。對于一個SNMP應(yīng)用系統(tǒng)來說,主要的領(lǐng)域模型就是SNMP實體。另外一個擴展功能就是對網(wǎng)絡(luò)設(shè)備的“管理”,這涉及到資產(chǎn)評估、設(shè)備統(tǒng)計、維修管理等相關(guān)的應(yīng)用,換句話講,如何將軟件獲取到的信息與現(xiàn)實中的設(shè)備對應(yīng)起來,是軟件需要解決的一個方面。

        3 總體描述及框架設(shè)計

        3.1 系統(tǒng)核心

        系統(tǒng)實現(xiàn)所涉及的核心問題分別如下:

        (1)如何獲取和繪制拓撲結(jié)構(gòu)圖,并合理地調(diào)整拓撲樣式;

        (2)同步引擎的合理調(diào)度,以及信息存儲結(jié)構(gòu);

        (3)功能的合理分類,以及對相關(guān)OID的分析、組織、建模;

        (4)基礎(chǔ)構(gòu)建塊的選擇。

        由于系統(tǒng)采用了分層開發(fā),以及可擴展性等多方面的考慮,軟件在邏輯上分為4層——持久層、基礎(chǔ)層、業(yè)務(wù)層、表示層,基本的工作模式如圖1所示。

        圖1 系統(tǒng)分層

        3.2 存儲模型

        存儲模型為“設(shè)備管理”以及相關(guān)的擴展應(yīng)用提供持久化的機制,并為統(tǒng)計、分析等要求查詢對比歷史數(shù)據(jù)的需求提供基礎(chǔ)。

        對于數(shù)據(jù)庫的選擇,從成本上考慮,有Microsoft SQL ServerExpress、MicrosoftSQL CE、MongoDB、NoSQL 可供選擇,而從部署上考慮有 MongoDB、部分 NoSQL、Microsoft SQL CE可選擇,最后從性能上考慮,采用Microsoft SQL CE來支持存儲模型。

        經(jīng)過持久后的數(shù)據(jù)可以在相對固定的時間內(nèi)有效,在此基礎(chǔ)上,進行統(tǒng)計、跟蹤、分析等功能就會迅速許多,同時,網(wǎng)絡(luò)的負荷也會明顯降低。

        3.3 領(lǐng)域邏輯設(shè)計

        系統(tǒng)與SNMP網(wǎng)絡(luò)交互的主要邏輯依賴于SNMP協(xié)議所傳輸?shù)腟NMP對象數(shù)據(jù),SNMP對象又依賴于相關(guān)的MIB來描述其特性與結(jié)構(gòu)。軟件所需要的領(lǐng)域邏輯主要集中在對SNMP實體的操作上,但是SNMP的操作是對程序不友好的。也就是說,無法通過流暢的API來操作SNMP使之為軟件所用。所以需要設(shè)計一種領(lǐng)域邏輯,將SNMP的特定領(lǐng)域轉(zhuǎn)化為程序友好的領(lǐng)域。考慮圖2所示的領(lǐng)域轉(zhuǎn)化。

        圖2 領(lǐng)域轉(zhuǎn)化示意

        SNMP的操作原語被轉(zhuǎn)化為對應(yīng)的編程概念,使SNMP的領(lǐng)域完整地轉(zhuǎn)化為程序設(shè)計的領(lǐng)域。這為AOP編程以及存儲模型的擴展奠定了基礎(chǔ)。

        4 系統(tǒng)實現(xiàn)

        4.1 環(huán)狀權(quán)值分布

        拓撲圖的排序算法被叫“環(huán)狀權(quán)值分布”,主要是因為引入了設(shè)備在網(wǎng)絡(luò)中 “權(quán)重”的概念。由于布局的主要目的是讓主要設(shè)備能夠分布且合理定位在屏幕上,所以拓撲布局的算法首先是找出那些“權(quán)重”最高的設(shè)備,并依此排序進行設(shè)備定位。算法主要的步驟有:

        (1)設(shè)備按“權(quán)重”排序。系統(tǒng)主要面向的是路由及交換設(shè)備,所以對拓撲圖最為敏感的信息就是 “路由”信息。如果一個設(shè)備核心的路由數(shù)量高于其他的設(shè)備,則該設(shè)備就是所謂的“核心設(shè)備”。

        (2)最高權(quán)重優(yōu)先定位。步驟(1)已經(jīng)確定了最為核心的設(shè)備以及按“權(quán)值”排序后的設(shè)備分組。最為核心的設(shè)備是第一組,它們將以屏幕正中央為圓心,均勻分布在某個半徑的圓圈上。半徑的確定取決于要定位的設(shè)備數(shù)量,數(shù)量越多半徑值越大。當這些設(shè)備定位結(jié)束時,也就確定了此設(shè)備在屏幕中心點的角度(∠θ),此角度將作為下個步驟定位的依據(jù)。

        (3)“衛(wèi)星”設(shè)備布局。與核心設(shè)備相聯(lián)接的設(shè)備都歸類為該核心設(shè)備的衛(wèi)星設(shè)備,“衛(wèi)星”設(shè)備的具體分布算法如下:

        假定有n個核心設(shè)備,那么每個核心設(shè)備的衛(wèi)星設(shè)備只可以分布在360/n的扇形范圍內(nèi),如圖3所示。

        圖3 衛(wèi)星設(shè)備分布

        圖3中有 3個核心設(shè)備,被分為A、B、C三個扇形區(qū)域,以R2為例,它的3個衛(wèi)星設(shè)備就分布在B區(qū)域,且在B扇形內(nèi)根據(jù)∠θ均勻分布,半徑會以衛(wèi)星設(shè)備的數(shù)量作相應(yīng)的修正。

        (4)繪制鏈路連線。核心設(shè)備區(qū)域的連線允許交錯,因為這部分的連線幾乎不太可能做到不交叉。由于分布是基于環(huán)的,所以連線即便有交錯,問題也不會很嚴重。衛(wèi)星設(shè)備的連線主要是對上一個設(shè)備的,這種情況下可以直連,如果衛(wèi)星設(shè)備之間有連線,則可對衛(wèi)星設(shè)備的布局會做一些小調(diào)整,盡量不出現(xiàn)連線的過度交叉。

        此時如果發(fā)現(xiàn)x設(shè)備與z設(shè)備間有連線,就會根據(jù)屏幕上的空間對x或z的位置做一些小的調(diào)整,以讓x與z的連線分布得更為合理。

        4.2 MIB模塊的實現(xiàn)

        為命名方便,基于簡單網(wǎng)絡(luò)管理協(xié)議的網(wǎng)絡(luò)監(jiān)控系統(tǒng)簡稱為SNMS。根據(jù)MIB的命名方式,在1.3.6.1.4.1節(jié)點下自定義了一個名為 Tute(888)的節(jié)點,在該節(jié)點下定義SNMS(1)節(jié)點。

        定義了MIB中的對象標識符以后,就需要對軟件只能夠涉及到的、需要管理的對象進行劃分,在此,將SNMS這個系統(tǒng)分為system、user和file三部分,分別定義為 system(1)、user(2)和 file(3),如圖 4 所示。

        4.3 Trap模塊的實現(xiàn)

        為了使軟件在設(shè)備出現(xiàn)事件時能得到通知,在SNMP這個背景下就意味著需要一種能夠接收Trap的機制。設(shè)備在自己所能夠支持的事件范圍內(nèi),通過定義不同含義的Trap報文,按照設(shè)備自身所配置的接收對象將Trap發(fā)送出去。

        4.3.1 統(tǒng)一偵聽Trap版本

        SNMP協(xié)議不同的版本對應(yīng)著不同的Trap格式。然而對SNMS自身來說,這些Trap的版本并沒有什么意義,軟件所需要的僅僅是必要的標識和對應(yīng)標識的意義。所以需要一種機制將這些版本的Trap進行統(tǒng)一。

        軟件采用的方式是使用中間層來代理。使用Trap-Monitor來偵聽所有版本的Trap,通過不同的處理最終觸發(fā)TrapComing事件,并將處理之后生成的TrapInfoEventArgs傳入,供訂閱者使用。

        4.3.2 Trap信息翻譯

        Trap包含的信息成百上千,若都由軟件來解析其信息將是一件非常耗時且龐大的工程。況且由于SNMP自身的可擴展性,軟件無法預(yù)測其后出現(xiàn)的新Trap定義,所以考慮這樣一種機制:對Trap進行建模,將其核心抽象為一種可擴展可配置的模式。

        這種機制使得軟件可以輕松適應(yīng)不同的場景,而且部署起來也很方便。軟件自身也集成了Trap信息的配置功能,可以避免手動接觸XML文件。

        4.3.3 Trap過濾

        如何過濾出有用的Trap信息非常關(guān)鍵,這是由系統(tǒng)的“管理”性質(zhì)決定的。系統(tǒng)決定采用一種類似于網(wǎng)絡(luò)ACL的做法,提出了白名單和黑名單的過濾模式。類似于Trap信息翻譯,系統(tǒng)也采用了基于XML的做法,將過濾規(guī)則保存在更加靈活部署的XML文件中。這里白名單是指所有Trap到達后只顯示名單中規(guī)則匹配的Trap;黑名單是指所有Trap到達后不顯示規(guī)則匹配的Trap。

        5 測試及部署

        最終的測試環(huán)境選用了最為常用的網(wǎng)絡(luò)設(shè)備——中型路由式數(shù)據(jù)交換網(wǎng)絡(luò)。環(huán)境使用5臺Cisco 7200路由器與7臺Cisco 3640交換機搭建,并配置了相關(guān)的路由協(xié)議,最后開啟SNMP功能和Trap功能。

        系統(tǒng)對“中型路由式數(shù)據(jù)交換網(wǎng)絡(luò)”環(huán)境進行拓撲發(fā)現(xiàn),測試效果如圖5所示。

        圖6是在一個真實網(wǎng)絡(luò)環(huán)境中進行系統(tǒng)測試得到的網(wǎng)絡(luò)拓撲。

        圖5 模擬環(huán)境測試結(jié)果

        作為基于SNMP的上層應(yīng)用軟件系統(tǒng),軟件除了實現(xiàn)核心的拓撲發(fā)現(xiàn)機制與拓撲布局外,還不斷地完善軟件框架,使其能適應(yīng)不同的上層開發(fā)。軟件理想的演進路線是做成一個基于SNMP的基礎(chǔ)框架,在此框架之上可以不斷地擴充應(yīng)用。由于SNMP協(xié)議本身的成熟性,這種需求的框架有著很大的潛力。

        [1]SHIVA S J,DAMODAR P,VISHAL K S.SNMP over SIP for Network management[J].IEEE/IFIP Network Operations and Management Sym-posium,2004,1(19-23):881-882.

        [2]Liu Jianqing,Liu Gongyong.Research and Implementation of SNMP-Based Network Management System[C].Proceedings of the 4th International Conference on Intelligent Networks and Intelligent Systems,Kunming:IEEE Computer Press,2011:129-132.

        圖6 真實網(wǎng)絡(luò)環(huán)境測試拓撲布局

        [3]CLEMM A.網(wǎng)絡(luò)管理技術(shù)架構(gòu)[M].詹文軍,杜曉峰,劉玉鵬,譯.北京:人民郵電出版社,2008.

        [4]武孟軍,徐龔,任相臣.Visual C++開發(fā)基于 SNMP的網(wǎng)絡(luò)管理軟件(第 2版)[M].北京:人民郵電出版社,2009.

        [5]PANDEY S,CHOI M J,LEE S J,et al.IP Network topology discovery using SNMP[C].International Conference on Information Networking,Chiang Mai:IEEE Computer Press,2009:1-5.

        [6]陳哲,羅軍勇,王清賢.網(wǎng)絡(luò)拓撲自動布局技術(shù)的研究與實現(xiàn)[J].微計算機信息,2006,22(9):100-101,163.

        猜你喜歡
        功能設(shè)備系統(tǒng)
        也談詩的“功能”
        中華詩詞(2022年6期)2022-12-31 06:41:24
        諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機系統(tǒng)
        ZC系列無人機遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        基于MPU6050簡單控制設(shè)備
        電子制作(2018年11期)2018-08-04 03:26:08
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        關(guān)于非首都功能疏解的幾點思考
        500kV輸變電設(shè)備運行維護探討
        原來他們都是可穿戴設(shè)備
        消費者報道(2014年7期)2014-07-31 11:23:57
        五月婷婷激情综合| 日韩亚洲中文有码视频| 特黄aaaaaaaaa毛片免费视频| 四川少妇大战4黑人| 无遮挡中文毛片免费观看| 国产国语一级免费黄片| 亚洲乱码av中文一区二区| 国产精成人品日日拍夜夜免费 | 夜夜高潮夜夜爽国产伦精品| 无码久久精品国产亚洲av影片| AV无码免费不卡在线观看| 国产一区二区在线中文字幕 | 亚洲a∨国产av综合av下载| a毛片全部免费播放| 视频精品熟女一区二区三区| 日本少妇一区二区三区四区| 乱码丰满人妻一二三区| 国产精品亚洲五月天高清| 亚洲在线一区二区三区四区| 日韩精品在线观看在线| 特黄做受又粗又长又大又硬| 四月婷婷丁香七月色综合高清国产裸聊在线| 完整在线视频免费黄片| 国产精品成人av一区二区三区| 制服丝袜中文字幕在线| 国产午夜福利不卡在线观看视频| 国产自产自现在线视频地址| 久久精品国产亚洲av网| 欧美国产一区二区三区激情无套| 精品人伦一区二区三区蜜桃麻豆| 一本一道波多野结衣一区| 加勒比日本东京热1区| 视频区一区二在线观看| 亚洲乱色伦图片区小说| 91精选视频在线观看| 精品人妻久久av中文字幕| 青春草免费在线观看视频| 中文字幕日韩精品无码内射| 欧美激情国产一区在线不卡| 毛片在线播放亚洲免费中文网| 国产精品户外野外|