基于.NET技術(shù)實現(xiàn)的SNMP通信
2 SNMP通信的關(guān)鍵
2.1 數(shù)據(jù)類型的規(guī)范定義
在基于SNMP通信的監(jiān)控系統(tǒng)中,每個被管理設備都維護一個包含統(tǒng)計信息及其他數(shù)據(jù)的數(shù)據(jù)庫,被稱作管理信息庫(Management Infor-mation Base,MIB)。每個MIB的每項都包含一個信息:對象類型、語法、訪問及狀態(tài)等。MIB中的各項內(nèi)容由管理信息結(jié)構(gòu)(Structure of Management Information,SMI)來定義,SMI為MIB提供了一個通用框架,同時規(guī)定了在MIB中使用時的數(shù)據(jù)類型,即如何表示和命名MIB對象。一個對象類型的命名明確代表一個對象,成為對象標識符。它是一個由圓點分隔的整數(shù)序列,這些對象標識符按照類似DNS域名系統(tǒng)的樹狀結(jié)構(gòu)來排列的,一個對象標識符(OID)唯一標識一個MIB對象。另外,MIB還要嚴格遵守ASN.1(Abstract Syntax Notation One,抽象語法標記)的語法格式,ASN.1提供了一套正規(guī)格式用來描述對象結(jié)構(gòu),而且不管對象數(shù)據(jù)的具體指代。
本文中最常用到的幾個數(shù)據(jù)的規(guī)范如表1所示。本文引用地址:http://cafeforensic.com/article/155318.htm
.NET使用以上幾個函數(shù)完成基本的SNMP通信,首先,用RequestAsync函數(shù)建立SNMP請求,然后用sendToBegin函數(shù)發(fā)送此SNMP請求,同時管理代理端有監(jiān)聽函數(shù),收到SNMP請求后會做出響應并給管理站返回需要的信息,此時,管理站用ReceiveBegin函數(shù)接受返回來的信息。在此通信過程中有可能發(fā)生數(shù)據(jù)丟失,RetryAsyncRequest和Request函數(shù)就是為此而設計的重傳請求函數(shù)和重傳協(xié)議函數(shù)。
3 .NET技術(shù)實現(xiàn)
把UDP的Socket通信封裝好之后,運用.NET技術(shù)進行具體的SNMP控制,下面以Get-Request操作和Set-Request操作為例子來演示.NET技術(shù)編程的快速、便捷。
評論