<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>

    曙海教育集團論壇VxWorks專區VxWorks技術討論區 → 基于VxWorks嵌入式操作系統的SNMP應


      共有8003人關注過本帖樹形打印

    主題:基于VxWorks嵌入式操作系統的SNMP應

    美女呀,離線,留言給我吧!
    wangxinxin
      1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


    加好友 發短信
    等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
    基于VxWorks嵌入式操作系統的SNMP應  發帖心情 Post By:2010-11-17 10:46:26

    摘  要:本文介紹了基于VxWorks操作系統下設備管理的基本流程,同時給出了設計代理的詳細過程。

    關鍵字:實時操作系統 簡單網絡管理協議 代理

    1. 引言

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

    2. SNMP及系統簡介

      VxWorks操作系統是美國WindRiver公司設計開發的一種嵌入式實時操作系統,具有以下特點:

      1.高效的代碼和良好的可裁剪性采用微內核結構,內核可裁減至幾十B 字節,對于資源相對緊張的嵌入式系統具有非常好的適應性。

      2.豐富的接口資源和大量的第三方產品為VxWorks的廣泛應用奠定了堅實的基礎

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

      4.良好的開發環境,非常好的開發環境Tornado并在不斷升級

      WindNet SNMP代理將工業標準網絡管理引入實時嵌入系統中,實現了對嵌入式設備管理的接口。應用上只需配置其初始化過程和應用系統提供的部分接口就可以方便實現對嵌入式設備的管理,同時支持多種SNMP版本的支持,現在已經可以支持SNMPv3最高版本。SNMP的工作過程可以如圖1所示: 


    圖 1 SNMP 基本框架

    3. 處理流程

      3.1 初始化過程

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

      3.2 數據包處理

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

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

      3.3 退出代理

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

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


    圖 2 基本流程

    4. 擴展MIB模塊

      對默認的SNMP配置,代理已經包含了包括MIB-II和其他的基本MIB庫,但對于有些環境不需要部分庫,同時需要加入基于本設備和本廠家的私有MIB,所以很有必要對MIB進行擴展和裁減,也利于對嵌入式設備的標準化管理。以下介紹整個過程。

      1. 定義管理信息

      這步主要用來定義SNMP需要管理的信息,其中部分信息已經通過標準MIB實現,實際只要加入就可以了。

      2. 創建MIB定義

      根據ASN.1標準語法創建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. 檢查正確性,轉換成.h和.c文件

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

      4. 編譯MIB文件

      將MIB文件加入到已經存MIB模塊中。通常有靜態和動態兩種方式。

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

    5. 總結

      VxWorks將SNMP應用到整個系統,實現了對嵌入式設備的標準化管理,利于對同不同的管理站進行接口。SNMP不僅實現了對嵌入式設備的管理還提供了監視整個系統正常運行的基本功能,同時還可以通過對CPU的檢查實現發現軟件方面的漏洞。總之,將SNMP應用到微內核,會在嵌入式這個自動化領域發揮出越來越大的作用。


    支持(0中立(0反對(0單帖管理 | 引用 | 回復 回到頂部

    返回版面帖子列表

    基于VxWorks嵌入式操作系統的SNMP應








    簽名
    主站蜘蛛池模板: 一本一道精品欧美中文字幕| 免费国产a国产片高清网站| 99精品无人区乱码1区2区3区 | 波多野结衣女上司| 国产亚洲人成无码网在线观看 | 69成人免费视频无码专区| 快穿之青梅竹马女配| 亚洲av日韩综合一区二区三区| 污污网站免费下载| 四虎影视永久在线yin56xyz| 222www免费视频| 夜夜操免费视频| 中文成人无字幕乱码精品区| 日韩在线观看免费完整版视频| 亚洲精品无码国产| 男男高h粗暴黄车文| 国产亚洲精品aaaaaaa片| 黑森林av福利网站| 国内精品一区二区三区最新| 中国大陆高清aⅴ毛片| 无码少妇精品一区二区免费动态| 亚洲人成片在线观看| 欧美日韩亚洲第一页| 办公室啪啪激烈高潮动态图| 老师让我她我爽了好久网站| 国产日韩精品欧美一区| 99re5久久在热线播放| 大肉大捧一进一出好爽视频 | 另类ts人妖精品影院| 色综合天天综合网国产成人网| 国产精品久久久久久久久齐齐| bt天堂新版中文在线地址| 小雪与门卫老头全文阅读| 久久九九久精品国产| 日韩在线播放全免费| 亚洲国产美女精品久久| 欧美精品高清在线观看| 免费看男女做好爽好硬视频 | 女网址www女大全小| 久久久99视频| 日本69xxxx|