技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 應(yīng)用方案 > 基于VxWorks嵌入式操作系統(tǒng)的SNMP應(yīng)用

基于VxWorks嵌入式操作系統(tǒng)的SNMP應(yīng)用

時間:2009-12-28 16:22:48來源:yangliu

導(dǎo)語:?本文介紹了基于VxWorks操作系統(tǒng)下設(shè)備管理的基本流程,同時給出了設(shè)計代理的詳細(xì)過程

摘  要:本文介紹了基于VxWorks操作系統(tǒng)下設(shè)備管理的基本流程,同時給出了設(shè)計代理的詳細(xì)過程。

關(guān)鍵字:實時操作系統(tǒng) 簡單網(wǎng)絡(luò)管理協(xié)議 代理

1. 引言

  簡單網(wǎng)絡(luò)管理協(xié)議(SNMP)已經(jīng)成為目前網(wǎng)絡(luò)管理方面事實上的標(biāo)準(zhǔn)。同命名一樣,它的操作非常簡單易行,所以引起了越來越多的商家的注意,在計算機(jī)、通信和自動化等各個領(lǐng)域都發(fā)揮了很大的作用。同時,VxWorks嵌入式操作系統(tǒng)又由于其出色的實時性和穩(wěn)定性受到業(yè)界的廣泛的好評,所以如何實現(xiàn)在VxWorks系統(tǒng)上通過SNMP協(xié)議對設(shè)備進(jìn)行管理是我們面臨的一個很重要的課題。

2. SNMP及系統(tǒng)簡介

  VxWorks操作系統(tǒng)是美國WindRiver公司設(shè)計開發(fā)的一種嵌入式實時操作系統(tǒng),具有以下特點:

  1.高效的代碼和良好的可裁剪性采用微內(nèi)核結(jié)構(gòu),內(nèi)核可裁減至幾十B 字節(jié),對于資源相對緊張的嵌入式系統(tǒng)具有非常好的適應(yīng)性。

  2.豐富的接口資源和大量的第三方產(chǎn)品為VxWorks的廣泛應(yīng)用奠定了堅實的基礎(chǔ)

  3.良好的移植性,可以移植到不同的處理器平臺,包括PPC、ARM和X86等不同的處理器。

  4.良好的開發(fā)環(huán)境,非常好的開發(fā)環(huán)境Tornado并在不斷升級

  WindNet SNMP代理將工業(yè)標(biāo)準(zhǔn)網(wǎng)絡(luò)管理引入實時嵌入系統(tǒng)中,實現(xiàn)了對嵌入式設(shè)備管理的接口。應(yīng)用上只需配置其初始化過程和應(yīng)用系統(tǒng)提供的部分接口就可以方便實現(xiàn)對嵌入式設(shè)備的管理,同時支持多種SNMP版本的支持,現(xiàn)在已經(jīng)可以支持SNMPv3最高版本。SNMP的工作過程可以如圖1所示:


圖 1 SNMP 基本框架



3. 處理流程

  3.1 初始化過程

  Vxworks是通過調(diào)用usrSnmpInit( )函數(shù)來啟動SNMP服務(wù)的,所以對于VxWorks微內(nèi)核,一定要包含usrSnmpInit( )函數(shù)。它然后創(chuàng)建任務(wù)名為tSnmpd的任務(wù),這個任務(wù)的函數(shù)入口點為snmpIoMain( )。在庫snmpIoLib.c中提供了該函數(shù)的部分源代碼,用戶可以加入自己的代碼,比如讀某些配置文件和私有的配置信息等。snmpIoMain( )然后調(diào)用snmpdInitFinish( )函數(shù)來完成整個代理的初始化過程。然后snmpInitFinish( )通過snmpIoTrapSend( )函數(shù)發(fā)送coldStart的trap,表示整個初始化過程完畢。這里需要注意的是所有其他的初始化和配置工作一定要在snmpInitFinish( )調(diào)用之前,然后系統(tǒng)回到snmpIoMain( )函數(shù)體,開始和管理站之間的收發(fā)包過程。

  3.2 數(shù)據(jù)包處理

  數(shù)據(jù)包的處理過程是通過snmpIoBody( )的這個守護(hù)進(jìn)程開始的,它的主要工作是監(jiān)視 UDP 161端口,如果管理站有請求發(fā)送過來,它把請求發(fā)給snmpdPktProcess( )來處理,通過snmpIoCommunityValidate( )檢查共同體的名稱是否正確。然后調(diào)用用戶自己的程序完成請求,對于SET操作,還要調(diào)用snmpIoWrite( )來完成整個操作。這里要注意的是用戶要提供自己的代碼完成請求,比如說對某一個變量的讀取,一定要給出對應(yīng)的具體位置,這部分可以通過修改snmpdLib.c中的函數(shù)來完成。

  對于trap的處理有單獨的一套流程,首先如果一件意外事件發(fā)生,比如冷啟動,調(diào)用snmpdTrapSend( )函數(shù)來處理。對于trap,可以通過用戶自定義的方式來實現(xiàn)系統(tǒng)需要的trap。一般來講,它通過snmpIoWrite( )函數(shù)把信息傳遞給管理站。

  3.3 退出代理

  如果用戶想中止代理,可以調(diào)用函數(shù)snmpdExit( )來完成,同時會釋放各種資源。

  以上部分流程圖如圖2所示:


圖 2 基本流程



4. 擴(kuò)展MIB模塊

  對默認(rèn)的SNMP配置,代理已經(jīng)包含了包括MIB-II和其他的基本MIB庫,但對于有些環(huán)境不需要部分庫,同時需要加入基于本設(shè)備和本廠家的私有MIB,所以很有必要對MIB進(jìn)行擴(kuò)展和裁減,也利于對嵌入式設(shè)備的標(biāo)準(zhǔn)化管理。以下介紹整個過程。

  1. 定義管理信息

  這步主要用來定義SNMP需要管理的信息,其中部分信息已經(jīng)通過標(biāo)準(zhǔn)MIB實現(xiàn),實際只要加入就可以了。

  2. 創(chuàng)建MIB定義

  根據(jù)ASN.1標(biāo)準(zhǔn)語法創(chuàng)建MIB。

  一般有以下形式:

  DEFINITIONS ::= BEGIN

  —— Title: EXAMPLE

  IMPORTS

  MODULE-IDENTITY,

  OBJECT-TYPE

  FROM SNMPv2-SMI

  ……

  windDemo MODULE-IDENTITY

  LAST-UpdateD "2004-9-26"

  ORGANIZATION

  CONTACT-INFO

  Phone:……

  Email:……

  DESCRIPTION

  "This is a example"

  ::= { demos 1 }

  windObjects OBJECT IDENTIFIER ::= { windDemo 1 }

  sysState OBJECT-TYPE

  SYNTAX INTEGER

  MAX-ACCESS read-write

  STATUS current

  DESCRIPTION

  "EXAMPLE"

  ::= { sysconfig 1 }

  END

  3. 檢查正確性,轉(zhuǎn)換成.h和.c文件

  可以應(yīng)用mibcomp –check工具來檢驗MIB文件的正確性,利于mibcomp –o生成相應(yīng)的.h和.c文件。

  4. 編譯MIB文件

  將MIB文件加入到已經(jīng)存MIB模塊中。通常有靜態(tài)和動態(tài)兩種方式。

  靜態(tài)類似于通常的編譯文件的全過程。這里主要介紹動態(tài)方式,因為這種方式可以實現(xiàn)在原始模塊照常工作的情況下加入或卸載新模塊。首先通過mibcomp –l命令將新的MIB文件編譯成模塊。然后用命令ld在shell下實現(xiàn)MIB的動態(tài)加載。

5. 總結(jié)

  VxWorks將SNMP應(yīng)用到整個系統(tǒng),實現(xiàn)了對嵌入式設(shè)備的標(biāo)準(zhǔn)化管理,利于對同不同的管理站進(jìn)行接口。SNMP不僅實現(xiàn)了對嵌入式設(shè)備的管理還提供了監(jiān)視整個系統(tǒng)正常運行的基本功能,同時還可以通過對CPU的檢查實現(xiàn)發(fā)現(xiàn)軟件方面的漏洞??傊?,將SNMP應(yīng)用到微內(nèi)核,會在嵌入式這個自動化領(lǐng)域發(fā)揮出越來越大的作用。

參考文獻(xiàn):

 ?。?)Tornado user’s guide . WindRiver Corporation

  (2) ”網(wǎng)絡(luò)管理協(xié)議及應(yīng)用開發(fā)” 岑賢道 安常青 清華大學(xué)出版社 1998年7月第一版

 ?。?) 用SNMP管理互聯(lián)網(wǎng)絡(luò)(第三版)[美]Mark A Miller, P.E.著 中國水利水電出版社 2001年3月第一版

標(biāo)簽:

點贊

分享到:

上一篇:三維CAD技術(shù)在機(jī)械設(shè)計中的應(yīng)...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(m.u63ivq3.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號