簡單網絡管理協議的研究與應用
2.3 ANS.1和BER
抽象語法表示(ANS.1)是一種形式語言,可提供統一的網絡數據表示,用于定義應用數據的抽象語法和應用層協議數據單元結構。在OSI和SNMP的管理信息庫都是用其定義的。基本編碼規則(BER)用ANS.1定義的應用數據在傳輸過程中要按照一定的規則轉換成比特串。圖4給出了SNMP消息的BER編碼實例(對代理202.117-49.61的Get請求)。
2.4 RFC1213管理信息庫MIB
RFC1213定義MIB-2管理對象的核心集合,這些對象在任何SNMP系統必須實現。管理信息結構說明了定義和構造MIB的總體框架,以及數據類型的表示和命名方法。SMI只允許存儲標量對象和矢量對象(表對象),不支持復雜的數據結構。其提供標準化技術表示管理信息如下:(1)SNMP所有的管理對象組織成分層結構;(2)提供結構化的信息組織技術;(3)提供命名機制。樹中的葉子結點都有一個分層的編號。葉子結點代表實際的管理對象,從樹根到樹葉的編號串聯起來,用圓點隔開,形成管理對象標識符。
2.5 UDP協議
用戶數據報協議UDP(User Data Protocol)是一個面向無連接的協議,其傳輸效率較高。協議格式如表1所示。在SNMP代理中,常用161作為SNMP消息接收;162為AgentSNMP消息響應。
3 SNMP編程與測試環境
SNMP要求的編程環境有:Java;C/C++;Borland C++Builder6。該程序選用Borland C++ Builder6編程環境。而SNMP的測試環境要求:(1)Windows SNMP服務:Windows NT/Win-dows 2000/Windows XP的網絡監視服務提供SNMP代理,端口:161;(2)AdventNet SNMP服務:AdventNet公司的SNMP代理。端口可自己設定;(3)AdventNet SNMP MIB Browse:AdventNet公司的SNMP動作測試工具;(4)Sniff軟件是一個很好的網上抓包程序,用來分析發送和接收的SNMP消息。
4 SNMP編程實現
4.1 SNMP消息分析
通過對SNMP協議的理解在C++Builder中將其定義為以下結構體類型;分別完成對消息的構造和解析。
(1)消息結構的結構體
相關推薦技術專區 |
評論