當(dāng)前位置:首頁 > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]摘要:隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大和復(fù)雜性的提高,網(wǎng)絡(luò)安全越來越受到網(wǎng)絡(luò)管理者的重視,SNMP以設(shè)計(jì)簡單為最大優(yōu)勢,得到了廣大廠商的支持和應(yīng)用。基于開發(fā)一個(gè)功能健全的網(wǎng)絡(luò)監(jiān)控系統(tǒng)為目的,利用.NET技術(shù)支持下的SNMP-Sh

摘要:隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大和復(fù)雜性的提高,網(wǎng)絡(luò)安全越來越受到網(wǎng)絡(luò)管理者的重視,SNMP以設(shè)計(jì)簡單為最大優(yōu)勢,得到了廣大廠商的支持和應(yīng)用。基于開發(fā)一個(gè)功能健全的網(wǎng)絡(luò)監(jiān)控系統(tǒng)為目的,利用.NET技術(shù)支持下的SNMP-SharpNet開發(fā)包提供的接口不斷進(jìn)行實(shí)驗(yàn)研究,最終從SNMP請(qǐng)求的建立、發(fā)送和接受以及SNMP請(qǐng)求的超時(shí)和重傳都實(shí)現(xiàn)了函數(shù)封裝,同時(shí)實(shí)現(xiàn)了管理站和管理代理之間的SNMP通信,為監(jiān)控系統(tǒng)后續(xù)功能的開發(fā)奠定了良好基礎(chǔ)。
關(guān)鍵詞:SNMP;.NET技術(shù);SNMPSharpNet開發(fā)包;SNMP通信

    隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,通信網(wǎng)絡(luò)結(jié)構(gòu)越來越復(fù)雜,通信網(wǎng)絡(luò)使用的設(shè)備也越來越復(fù)雜,由于網(wǎng)絡(luò)的大型化和復(fù)雜化,如何有效地進(jìn)行網(wǎng)絡(luò)管理日益成為們普遍關(guān)注的問題。網(wǎng)絡(luò)管理的目標(biāo)是最大限度地增加網(wǎng)絡(luò)的可用時(shí)間,提高網(wǎng)絡(luò)設(shè)備的利用率、網(wǎng)絡(luò)性能、服務(wù)質(zhì)量和安全性,簡化多廠商混合網(wǎng)絡(luò)環(huán)境下的管理和控制網(wǎng)絡(luò)運(yùn)行成本,提供網(wǎng)絡(luò)的長期規(guī)劃。
    SNMP(Simple Network Management Protocol,簡單網(wǎng)絡(luò)管理協(xié)議)易于實(shí)現(xiàn)和廣泛的TCP/IP應(yīng)用基礎(chǔ),可以在多廠商混合網(wǎng)絡(luò)環(huán)境下,通過提供單一的網(wǎng)絡(luò)操作控制環(huán)境來管理所有子網(wǎng)和被管理設(shè)備,以集中的、統(tǒng)一的方式遠(yuǎn)程控制網(wǎng)絡(luò),以排除故障和重新配置網(wǎng)絡(luò)設(shè)備而獲得廠商的支持。
    然而,實(shí)現(xiàn)SNMP編程常見方法是使用網(wǎng)絡(luò)管理應(yīng)用SNMP的API,大多數(shù)API都提供了一個(gè)很大的函數(shù)庫,比如WinsNMP。由于.NET有豐富的、可復(fù)用的標(biāo)準(zhǔn)類庫,采用.NET開發(fā)越來越受到開發(fā)人員的青睞。為了簡化SNMP網(wǎng)絡(luò)管理系統(tǒng)的開發(fā)復(fù)雜度、開發(fā)出高效易擴(kuò)展的代碼,采用把復(fù)雜的WinSNMP的API函數(shù)封裝成一個(gè)個(gè)相關(guān)的.NET類,從而簡化了SNMP網(wǎng)絡(luò)管理軟件開發(fā)的復(fù)雜性。用于它把SNMP編程中的核心部分都面向?qū)ο蠡庋b起來,因此開發(fā)人員不必了解SNMP底層機(jī)制,只要了解.NET的編程知識(shí)和SNMP編程的流程,就可以快速開發(fā)出高效的SNMP程序。

1 SNMP概述
    SNMP(Simple Network Management Protocol,簡單網(wǎng)絡(luò)管理協(xié)議)首先是有IETF的研究小組為了解決Internet上的路由器的管理問題而提出的。1989年SNMPv1發(fā)行時(shí),雖然能顯示出管理大部分Internet設(shè)備的強(qiáng)大能力,但是也暴露出明顯不足:給網(wǎng)絡(luò)帶來沉重負(fù)擔(dān)、網(wǎng)絡(luò)中數(shù)據(jù)的安全性差。1993年IETF發(fā)布了新的SNMP v2,然后再增加了安全機(jī)制的同時(shí),也增加了實(shí)施的復(fù)雜性。隨著網(wǎng)絡(luò)安全重要性的發(fā)展,SNMPv3誕生了,其體系結(jié)構(gòu)不僅體現(xiàn)了模塊化的設(shè)計(jì)思想,還能簡單地實(shí)現(xiàn)功麓模塊的增加和修改。從總體上說,SNMP的設(shè)計(jì)原則是簡單性和可擴(kuò)展性。簡單性是通過信息類型限制、請(qǐng)求響應(yīng)或協(xié)議而實(shí)現(xiàn)的;可擴(kuò)展性是通過將管理信息模型與協(xié)議、被管理對(duì)象的詳細(xì)規(guī)定(MIB)分離而實(shí)現(xiàn)的。
1.1 SNMP通信模型
    SNMP通信管理模型采用的是管理站/管理代理模型,共有4個(gè)組成部分:管理站、管理代理、管理信息庫和網(wǎng)絡(luò)管理協(xié)議,如圖1所示。


    它們之間的關(guān)系是:管理站通過與管理代理發(fā)送/接受/響應(yīng)SNMP請(qǐng)求來完成對(duì)管理代理的監(jiān)控管理工作、所有管理設(shè)備的信息都被儲(chǔ)存在管理代理實(shí)體的管理信息庫中、管理站和管理代理之間交互的數(shù)據(jù)格式和規(guī)則都由SNMP來規(guī)范。每個(gè)部分的具體介紹如下:
    1)管理站  一個(gè)單獨(dú)的設(shè)備或者是共享網(wǎng)絡(luò)中的一員,為管理站和網(wǎng)絡(luò)管理系統(tǒng)提供接口。
    2)管理代理  一般的網(wǎng)絡(luò)終端如路由器、交換機(jī)等在設(shè)備出廠時(shí)都已經(jīng)配置好相關(guān)的SNMP管理代理,對(duì)于不支持SNMP協(xié)議的設(shè)備,如果網(wǎng)絡(luò)終端是主機(jī)的話,可以在“控制面板”的“添加/刪除程序”的“添加/刪除windows組件”。安裝“簡單網(wǎng)絡(luò)管理協(xié)議”。
    3)管理信息庫(MIB)  存放了網(wǎng)絡(luò)設(shè)備上被管對(duì)象資源的所有信息,每個(gè)被管對(duì)象有一個(gè)惟一對(duì)象的對(duì)象標(biāo)識(shí)符(OID)。管理信息庫本身就是一個(gè)定義如何把對(duì)象標(biāo)識(shí)符組合成邏輯相關(guān)的集合。
    4)網(wǎng)絡(luò)管理協(xié)議(SNMP)  主要有以下3個(gè)功能:取值(Get)使網(wǎng)管站能讀取代理處對(duì)象的值;設(shè)置值(Set)使網(wǎng)管站能設(shè)置管理代理處對(duì)象的值;告警信息(Trap)使管理代理能夠向管理站通報(bào)重要事件。
1.2 SNMP協(xié)議數(shù)據(jù)單元
    在SNMP中,信息按照SNMP報(bào)文格式在管理站和管理代理之間進(jìn)行交換,一共有Get-Request操作、Get-Next-Request操作、Set-Request操作、Get-Response操作、Trap操作一共5種報(bào)文類型。如圖2所示。


    前面3個(gè)操作是由管理站向管理代理發(fā)出的,后面2個(gè)操作是管理代理發(fā)給管理站的。這里值得注意的一點(diǎn)是,在管理代理一端使用熟知端口161來接受get或set報(bào)文,而在管理站一端是用熟知端口162來接受trap報(bào)文。

2 SNMP通信的關(guān)鍵
2.1 數(shù)據(jù)類型的規(guī)范定義
    在基于SNMP通信的監(jiān)控系統(tǒng)中,每個(gè)被管理設(shè)備都維護(hù)一個(gè)包含統(tǒng)計(jì)信息及其他數(shù)據(jù)的數(shù)據(jù)庫,被稱作管理信息庫(Management Infor-mation Base,MIB)。每個(gè)MIB的每項(xiàng)都包含一個(gè)信息:對(duì)象類型、語法、訪問及狀態(tài)等。MIB中的各項(xiàng)內(nèi)容由管理信息結(jié)構(gòu)(Structure of Management Information,SMI)來定義,SMI為MIB提供了一個(gè)通用框架,同時(shí)規(guī)定了在MIB中使用時(shí)的數(shù)據(jù)類型,即如何表示和命名MIB對(duì)象。一個(gè)對(duì)象類型的命名明確代表一個(gè)對(duì)象,成為對(duì)象標(biāo)識(shí)符。它是一個(gè)由圓點(diǎn)分隔的整數(shù)序列,這些對(duì)象標(biāo)識(shí)符按照類似DNS域名系統(tǒng)的樹狀結(jié)構(gòu)來排列的,一個(gè)對(duì)象標(biāo)識(shí)符(OID)唯一標(biāo)識(shí)一個(gè)MIB對(duì)象。另外,MIB還要嚴(yán)格遵守ASN.1(Abstract Syntax Notation One,抽象語法標(biāo)記)的語法格式,ASN.1提供了一套正規(guī)格式用來描述對(duì)象結(jié)構(gòu),而且不管對(duì)象數(shù)據(jù)的具體指代。
    本文中最常用到的幾個(gè)數(shù)據(jù)的規(guī)范如表1所示。


2.2 SNMP通信的關(guān)鍵函數(shù)
    SNMP規(guī)定使用用戶數(shù)據(jù)報(bào)協(xié)議(UDP)作為第4層傳輸協(xié)議,在數(shù)據(jù)傳輸過程中,網(wǎng)絡(luò)一步步把UDP數(shù)據(jù)封裝成SNMP報(bào)文的形式來保障管理站和管理代理之間的數(shù)據(jù)順利交互,而UDP使用的是無連接服務(wù),所以SNMP無需在管理站和管理代理之間保持連接,但可能發(fā)生數(shù)據(jù)報(bào)丟失的情況,因此一定要有超時(shí)和重傳機(jī)制。主要實(shí)現(xiàn)的幾個(gè)函數(shù)如下:


    .NET使用以上幾個(gè)函數(shù)完成基本的SNMP通信,首先,用RequestAsync函數(shù)建立SNMP請(qǐng)求,然后用sendToBegin函數(shù)發(fā)送此SNMP請(qǐng)求,同時(shí)管理代理端有監(jiān)聽函數(shù),收到SNMP請(qǐng)求后會(huì)做出響應(yīng)并給管理站返回需要的信息,此時(shí),管理站用ReceiveBegin函數(shù)接受返回來的信息。在此通信過程中有可能發(fā)生數(shù)據(jù)丟失,RetryAsyncRequest和Request函數(shù)就是為此而設(shè)計(jì)的重傳請(qǐng)求函數(shù)和重傳協(xié)議函數(shù)。

3 .NET技術(shù)實(shí)現(xiàn)
    把UDP的Socket通信封裝好之后,運(yùn)用.NET技術(shù)進(jìn)行具體的SNMP控制,下面以Get-Request操作和Set-Request操作為例子來演示.NET技術(shù)編程的快速、便捷。


    在主程序中執(zhí)行了這兩段代碼,都返回了開發(fā)者想要的結(jié)果。最重要的是,使用.NEET技術(shù)封裝了SNMP底層通信的編程,使整個(gè)程序看起來簡單易懂。

4 結(jié)束語
    隨著網(wǎng)絡(luò)規(guī)模和復(fù)雜性的發(fā)展,一個(gè)功能健全的安全監(jiān)控管理軟件自然成為網(wǎng)絡(luò)管理者的最大愿望。.NET的開發(fā)語言之一C#的主要特點(diǎn)就是簡單易用。由于C#把對(duì)編程中的很多部分都對(duì)象化,編程人員不需要了解函數(shù)的具體實(shí)現(xiàn),在使用的時(shí)候,著重注意函數(shù)的參數(shù)類型和個(gè)數(shù)以及對(duì)象與函數(shù)之間的對(duì)應(yīng)關(guān)系,就可以很方便地實(shí)現(xiàn)各種參數(shù)的傳輸、修改等等。如此一來,整個(gè)基于SNMP的網(wǎng)站監(jiān)控管理系統(tǒng)的開發(fā)周期就大大縮短。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉