SNMP協(xié)議分析和在嵌入式操作系統(tǒng)下的實現(xiàn)_第1頁
SNMP協(xié)議分析和在嵌入式操作系統(tǒng)下的實現(xiàn)_第2頁
SNMP協(xié)議分析和在嵌入式操作系統(tǒng)下的實現(xiàn)_第3頁
SNMP協(xié)議分析和在嵌入式操作系統(tǒng)下的實現(xiàn)_第4頁
SNMP協(xié)議分析和在嵌入式操作系統(tǒng)下的實現(xiàn)_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

.PAGE.....xxxx大學xx畢業(yè)論文SNMP協(xié)議分析及其在嵌入式操作系統(tǒng)下的實現(xiàn)學號:FY04040019專業(yè):通信工程導師:xxxx大學二OO七年十一月PAGE30..SNMP協(xié)議分析及其在嵌入式操作系統(tǒng)下的實現(xiàn)摘要本文以嵌入式SNMP代理的開發(fā)為背景,分別介紹了SNMP協(xié)議和嵌入式系統(tǒng)。在SNMP協(xié)議部分,介紹了網(wǎng)絡管理和協(xié)議的概念,并詳細分析了SNMP協(xié)議;在嵌入式系統(tǒng)部分闡述了嵌入式系統(tǒng)的概念、特點、結構及嵌入式Linux軟件開發(fā)過程。在此基礎上,給出了利用Net-SNMP軟件開發(fā)包實現(xiàn)嵌入式Linux操作系統(tǒng)下的SNMP代理的實例。關鍵詞:網(wǎng)絡管理,SNMP,網(wǎng)管代理,嵌入式系統(tǒng)AnalysisofSNMPProtocolandImplemetationofSNMPAgentinEmbeddedSystemABSTRACTThisdocumentisbasedondevelopmentofembeddedSNMPagent,includinganalysisofSNMPprotocolanddescriptionofembeddedsystem.AtthepartofanalysisofSNMPprotocol,thisdocumentintroducestheconceptofnetworkmanagementandprotocolandlaborsSNMPprotocol.Then,aninstantisgiventoexplainhowtoimplementSNMPagentinembeddedsystem.KEYWORDS:NetworkManagement,SNMP,Agent,andEmbeddedSystem目錄目錄3第一章緒論51.1、背景介紹51.2、論文所做的工作51.3、論文結構5第二章簡單網(wǎng)絡管理協(xié)議<SNMP>62.1、網(wǎng)絡管理6、網(wǎng)絡管理模型7、網(wǎng)絡管理原則72.2、通信協(xié)議7、協(xié)議分層概念8、面向連接和無連接協(xié)議82.3、簡單網(wǎng)絡管理協(xié)議<SNMP>8、管理信息結構SMI9、管理信息庫MIB9、SNMPv1通信模型11、SNMPv1消息格式11、SNMPv1的5種協(xié)議數(shù)據(jù)單元<PDU>12、SNMPv1的消息實例13、SNMPv2和SNMPv3152.4、小結15第三章嵌入式系統(tǒng)173.1、嵌入式系統(tǒng)定義173.2、嵌入式系統(tǒng)特點18、硬件特點18、軟件特點183.3、嵌入式典型硬件結構193.4、嵌入式Linux操作系統(tǒng)193.5、嵌入式Linux系統(tǒng)開發(fā)20、嵌入式軟件開發(fā)特點21、嵌入式Linux軟件開發(fā)步驟223.6、小結22第四章嵌入式SNMP代理的實現(xiàn)234.1、需求分析234.2、系統(tǒng)設計234.3、開發(fā)環(huán)境24、Net-SNMP軟件開發(fā)包24、MG-SOFT的MIB工具244.4、開發(fā)過程24、建立開發(fā)環(huán)境25、編寫MIB25、編寫程序代碼27、調試代理程序28、固件更新294.5、小結29第五章結束語31參考文獻32致謝緒論1.1、背景介紹人類正處于以計算機通信網(wǎng)絡為中心的時代。網(wǎng)絡技術日新月異,網(wǎng)絡的復雜性在不斷增長,網(wǎng)絡數(shù)量、網(wǎng)絡設備越來越多,而且許多設備都是來自不同的廠家,因此,網(wǎng)絡管理的問題也就越來越重要了。由于SNMP協(xié)議簡單,易于實現(xiàn),它得到了廣泛的應用,成為網(wǎng)絡管理事實上的工業(yè)標準。嵌入式系統(tǒng)是計算機系統(tǒng)的一個分支,與通用計算機系統(tǒng)相對。嵌入式系統(tǒng)的范圍相當廣泛,基本上,計算機系統(tǒng)中不屬于通用計算機系統(tǒng)的,都可以歸為嵌入式系統(tǒng),它在數(shù)量上遠遠超過了各種通用計算機系統(tǒng)。在嵌入式設備上實現(xiàn)SNMP代理是發(fā)展趨勢。目前,大部分網(wǎng)絡設備都支持SNMP協(xié)議。1.2、論文所做的工作本文研究了簡單網(wǎng)絡管理協(xié)議〔SimpleNetworkManagementProtocol,SNMP和嵌入式操作系統(tǒng)的相關理論,并且將SNMP協(xié)議應用于嵌入式操作系統(tǒng)。論文主要包括下列內容:簡單網(wǎng)絡管理協(xié)議<SNMP>分析。包括引入網(wǎng)絡管理和協(xié)議的概念,介紹管理信息結構<SMI>和管理信息庫<MIB>,以及對簡單網(wǎng)絡管理協(xié)議<SNMP>的分析。嵌入式系統(tǒng)定義及其特點。介紹了嵌入式系統(tǒng)的定義,特點和軟硬件構架。并著重分析了嵌入式Linux軟件開發(fā)過程。SNMP協(xié)議在嵌入式操作系統(tǒng)下的實現(xiàn)。用一個實例來介紹SNMP代理在嵌入式系統(tǒng)下的實現(xiàn)。1.3、論文結構本文共分五章,其內容如下:第一章:緒論。介紹論文課題研究的背景,給出論文的研究內容。第二章:簡單網(wǎng)絡管理協(xié)議<SNMP>。講述了網(wǎng)絡管理和協(xié)議的概念;詳細分析了簡單網(wǎng)絡管理協(xié)議<SNMP>,包括管理信息結構<SMI>,管理信息庫<MIB>以及SNMP的三個版本<SNMPv1,SNMPv2c和SNMPv3>。第三章:嵌入式系統(tǒng)。介紹嵌入式系統(tǒng),包括其結構和特點;分析嵌入式Linux軟件開發(fā)過程。第四章:嵌入式網(wǎng)絡管理代理的實現(xiàn)。介紹介紹SNMP協(xié)議軟件開發(fā)包和相關應用工具;分析SNMP協(xié)議在嵌入式操作系統(tǒng)下的實現(xiàn)過程。第五章:結束語??偨Y本文的研究工作。簡單網(wǎng)絡管理協(xié)議<SNMP>自從上個世紀中葉世界上第一個分組交換的計算機通信網(wǎng)ARPANET投入運行以來,計算機與通信技術的結合得到飛速發(fā)展,并且產生了國際互聯(lián)網(wǎng)<Internet>,人類進入了以計算機通信網(wǎng)絡為中心的時代。目前,Internet還在以超常的速度發(fā)展。根據(jù)20XX7月的CNNIC第十八次調查報告顯示,截止至20XX6月30日,我國互聯(lián)網(wǎng)發(fā)展的數(shù)據(jù)見下表:表2-1我國互聯(lián)網(wǎng)信息統(tǒng)計表統(tǒng)計項目數(shù)量單位上網(wǎng)用戶總人數(shù)12,300萬人上網(wǎng)計算機5,450萬臺WWW站點數(shù)約788,400個IP地址總數(shù)84,786,688個國際線路的總容量214,175M與此同時,網(wǎng)絡技術也是日新月異,網(wǎng)絡的復雜性在不斷增長,網(wǎng)絡數(shù)量、網(wǎng)絡設備越來越多,而且許多設備都是來自不同的廠家,因此,網(wǎng)絡管理的問題也就越來越重要了。2.1、網(wǎng)絡管理網(wǎng)絡管理也就是管理網(wǎng)絡,它可以分為兩類。第一類是網(wǎng)絡應用程序管理、用戶帳號管理和讀寫權限的管理,使用時間的管理等等。它們都是與軟件有關的網(wǎng)絡管理問題。這里不作討論。本文關心的是第二類,對網(wǎng)絡硬件設備的管理。這一類包括工作站、服務器、網(wǎng)卡、路由器、網(wǎng)橋和集線器等等。他們不象你的用戶,在有問題的時候知道打來告訴你,當一個路由器出問題的時候它并不會通知你,這就給你維護網(wǎng)絡的正常運行帶來了困難。更不幸的是,這些設備通常情況下都分布在各個不同的地方,因此檢查網(wǎng)絡故障非常麻煩。那么,這類設備該如何管理?為了解決這個問題,廠商們已經在一些設備中設立了網(wǎng)絡管理的功能,這樣你就可以遠程地操作它們,如改變它們的參數(shù)、詢問它們的狀態(tài),還能夠讓它們在某一特定類型的事件發(fā)生時發(fā)送告警給你。這些設備通常被稱為"智能"設備,它們能夠幫助你更好的管理網(wǎng)絡。2.1.1、網(wǎng)絡管理模型網(wǎng)絡管理通常被分為四個部分:被管設備。即你想要監(jiān)視的設備。網(wǎng)管代理。它是運行在被管理設備上,用來跟蹤被管理設備狀態(tài),讀寫被管理設備參數(shù)的特殊軟件。網(wǎng)管工作站。它與在不同的被管理設備中的網(wǎng)管代理通信,通過網(wǎng)管代理來管理被管設備。網(wǎng)絡管理協(xié)議。網(wǎng)管工作站和網(wǎng)管代理用來交換信息的一套規(guī)則。被管設備被管設備管理工作站網(wǎng)管代理被管對象管理工作站網(wǎng)管代理被管對象網(wǎng)絡管理協(xié)議網(wǎng)絡管理協(xié)議圖2-1網(wǎng)絡管理模型圖2.1.2、網(wǎng)絡管理原則當設計和構造網(wǎng)絡管理的基礎結構時,需要遵循下列兩條在工業(yè)界被廣泛承認的網(wǎng)絡管理的原則:由于管理信息而導致的通信量增加不應明顯地增加被管理網(wǎng)絡的負擔。被管理設備上的協(xié)議代理不應明顯地增加系統(tǒng)處理的額外開銷,以至于影響該設備的主要功能。2.2、通信協(xié)議通信協(xié)議就是相互通信的雙方或多方傳遞和交互信息的一些規(guī)范。如同人與人之間相互交流是需要遵循一定的規(guī)矩一樣,計算機之間的相互通信需要共同遵守一定的規(guī)則,這些規(guī)則就被稱為網(wǎng)絡協(xié)議。一臺計算機只有在遵守網(wǎng)絡協(xié)議的前提下,才能在網(wǎng)絡上與其他計算機進行正常的通信。常見的協(xié)議有:TCP/IP協(xié)議、IPX/SPX協(xié)議、NetBIOS協(xié)議等等。在互聯(lián)網(wǎng)上被廣泛采用的是TCP/IP協(xié)議,用戶如果要訪問Internet,必須在自己計算機的網(wǎng)絡協(xié)議中添加TCP/IP協(xié)議。2.2.1、協(xié)議分層概念通信協(xié)議通常被分為幾個層次,每層完成自己單獨的功能。通信雙方只有在對等的層次間才能進行交互。圖2-2協(xié)議分層通信2.2.2、面向連接和無連接協(xié)議通信協(xié)議要么是面向連接的,要么是無連接的。在無連接方法中,通信子網(wǎng)的任務僅僅是搬移比特而沒有其它的行為。在面向連接方法中,通信子網(wǎng)在兩個端點之間建立了一條數(shù)據(jù)通信信道<電路>,提供可靠的連接服務。在傳輸控制協(xié)議/因特網(wǎng)協(xié)議<TCP/IP>組中,TCP是面向連接的,而UDP則是無連接的。2.3、簡單網(wǎng)絡管理協(xié)議<SNMP>簡單網(wǎng)絡管理協(xié)議<SimpleNetworkManagementProtocol,SNMP>首先是由Internet工程任務組織<InternetEngineeringTaskForce,IETF>的研究小組為了解決Internet上的路由器管理問題而提出的。由于SNMP協(xié)議簡單,易于實現(xiàn),它得到了廣泛的應用,成為網(wǎng)絡管理事實上的工業(yè)標準。SNMP管理也叫Internet管理,之所以被稱為SNMP管理是因為它不光可以管理Internet還可以管理內部網(wǎng)<intranet>和電信網(wǎng)等等。SNMP是一種應用層協(xié)議,它被設計成與下層協(xié)議無關,因此,SNMP可以在IP,IPX,AppleTalk,OSI以及其它的傳輸協(xié)議上被使用。SNMP是無連接協(xié)議,這種機制減輕了網(wǎng)管代理的負擔,它不必為了建立和維護可靠連接而耗費資源。而盡量少給被管理網(wǎng)絡增加負擔符合了網(wǎng)絡管理的原則。SNMP是一系列協(xié)議組和規(guī)范,它主要由三個部分組成。管理信息結構<StructureofManagementInformation,SMI>管理信息庫<ManagementInformationBase,MIB>簡單網(wǎng)絡管理協(xié)議<SNMP>有關SNMP的定義與協(xié)議的運行方式被詳細的描寫在RFC1155、RFC1212、RFC1157、RFC1213四份文件中,其中RFC1155和RFC1212是關于SMI的,RFC1213定義的MIB-II就是目前使用的版本,而SNMP協(xié)議則被定義在RFC1157中。2.3.1、管理信息結構SMI管理信息結構SMI定義了被管對象的規(guī)范說明。SMI中沒有任何的對象實例,它只關心抽象的對象類型。每個對象類型都有自己的名字、語法和編碼模式。名字是用來標識對象的,它在系統(tǒng)中必須唯一。對象類型的語法通過ASN.1定義。編碼則是通過基本編碼規(guī)則<BasicEncodingRule,BER>來完成,它用標記、長度和值<TLV>對在SNMP協(xié)議間傳遞的信息進行編碼。2.3.2、管理信息庫MIB如果說管理信息結構SMI是一套規(guī)則,那么管理信息庫MIB則是根據(jù)這套規(guī)則定義出來的一組對象。網(wǎng)絡中的被管對象就是通過MIB被訪問。Internet管理機構定義了Internet管理信息庫,它有兩個版本,一個是MIB-I,另一個是MIB-II,目前使用的版本是MIB-II。MIB中的對象是以樹狀分層結構進行組織的,如圖:tcp<6>ip<4>interface<2>system<1>mib-2<1>private<4>experimental<3>mgmt<2>directory<1>internet<1>dod<6>org<3>iso<1>tcp<6>ip<4>interface<2>system<1>mib-2<1>private<4>experimental<3>mgmt<2>directory<1>internet<1>dod<6>org<3>iso<1>enterprise<1>enterprise<1>IBM<IBM<2>圖2-3MIB樹MIB樹的分枝實際上就是數(shù)據(jù)對象的邏輯分組。而樹葉就是被管對象。為了便于使用,MIB樹的每個分枝都有一個專用的名字和一個數(shù)字形式的對象標識符<ObjectIdentifier,OID>。如同DNS和IP地址的關系一樣,專用名字的作用是為了方便人的記憶而設的,OID才是真正在通信中供機器使用的。例如:system組的sysDescr對象,它的OID是,你也可以用來表示它,而且,大多數(shù)人想看到的都是這種文字的表述方法,畢竟,要記住一長串不相干的數(shù)字可不容易。這也是為什么MIB瀏覽器都用文字格式來表示數(shù)據(jù)對象,如圖:圖2-4通過瀏覽器查看MIBMIB中的對象定義,盡可能涵蓋所有的網(wǎng)絡設備的功能,不足的部分則由廠商自行定義,即開發(fā)所謂的私有MIB。私有MIB屬于MIB中的對象{.4.1},即enterprises〔企業(yè)。開發(fā)網(wǎng)絡設備的公司一般都有自己的私有MIB節(jié)點,例如IBM為{.4.1.2},Cisco為{.4.1.9},Novell為{.4.1.23}等等。MIB節(jié)點有專門的組織管理,如果需要一個私有的MIB節(jié)點,可以向該組織申請。具體的方法是發(fā)送電子郵件到進行申請。另外,要注意區(qū)分MIB和數(shù)據(jù)庫。數(shù)據(jù)庫中存放的是靜態(tài)的數(shù)據(jù),而MIB是不會儲存數(shù)據(jù)的,MIB中定義的對象只是提供了一條訪問被管對象數(shù)據(jù)的路徑。當你通過Name去讀取設備的系統(tǒng)名稱的時候,MIB并不會給你結果,而是網(wǎng)管代理根據(jù)你提供的"路徑"去拿sysName的數(shù)據(jù)給你。至于,這個數(shù)據(jù)是什么,存在什么地方,MIB是不知道的。2.3.3、SNMPv1通信模型1990年開發(fā)的SNMPv1是SNMP的第一個版本。大多數(shù)情況下SNMP都是在TCP/IP里實現(xiàn)的,下圖描述了SNMP在TCP/IP體系上的通信過程:圖2-5SNMP通信過程2.3.4、SNMPv1消息格式SNMPv1采用基于共同體<Community>的訪問策略,同時它的安全性也是由共同體來管理的。SNMP管理站<SNMPManager>,SNMP代理<SNMPAgent>和共同體名稱<CommunityName>構成了一個共同體。只有在同一個共同體里面的SNMP管理站和SNMP代理才能相互通信。這種通信可以包括來自SNMP管理站的詢問消息、來自SNMP代理的應答消息或者來自代理給管理站的告警<Trap>消息。一條SNMP消息由三個部分組成:版本<Version>、共同體名稱<CommunityName>和SNMP協(xié)議數(shù)據(jù)單元〔SNMPProtocolDataUnit,SNMPPDU,其結構如下:版本共同體名稱SNMPPDU圖2-6SNMP消息結構版本: 用于說明現(xiàn)在使用的是哪個版本的SNMP協(xié)議。"0"表示SNMPv1。共同體名稱:當前使用的共同體名稱,通信雙方必需事先知道這個名稱才能進行通信。SNMPPDU:SNMPv1的PDU有五種類型,它們是:GetRequest-PDU,GetNextRequest-PDU,GetResponse-PDU,SetRequest-PDU和Trap-PDU。2.3.5、SNMPv1的5種協(xié)議數(shù)據(jù)單元<PDU>SNMPv1規(guī)定了5種協(xié)議數(shù)據(jù)單元PDU〔也就是SNMP報文,用來在管理進程和代理進程之間進行信息交換。下圖描述了SNMP的這5種報文操作。圖2-7SNMP的5種報文操作一般情況下,在代理進程端是用161端口來接收get或set報文,而在管理進程端是用162端口來接收trap報文。下面介紹封裝成UDP數(shù)據(jù)報的5種操作的SNMP報文格式。Get/setPDU:PDU類型RequestID錯誤狀態(tài)錯誤索引變量綁定列表圖2-8SNMPget/setPDUTrapPDU:PDU類型企業(yè)OID代理地址標準告警類型特殊告警類型時間戳變量綁定列表圖2-9SNMPTrapPDUPDU類型:五種PDU類型在RFC1157中被定義成如下形式:表2-2SNMPPDU類型定義類型長度Get-request0Get-next-request1Set-request2Get-response3Trap4RequestID:用于跟蹤消息,確定它是否被成功收到。這是因為SNMP協(xié)議是無連接的,不保證數(shù)據(jù)的可靠傳輸,對于消息的可靠性要系統(tǒng)自己來完成。錯誤狀態(tài):用一個不為零的數(shù)來指示是否有錯誤發(fā)生。錯誤索引:對錯誤狀態(tài)的補充說明。變量綁定列表:由多個變量綁定組成,每個變量綁定由對象標識符和它的值組成。時間戳:從上一次初始化以來經歷的時長。2.3.6、SNMPv1的消息實例本段我們將通過分析數(shù)據(jù)包來看看,SNMP消息實際上的樣子。圖2-10SNMPget消息圖2-10是一個被發(fā)送到被管設備的SNMP消息,它請求讀取sysName。下面我們將用4張圖來層層分解這條消息。圖2-11TLV結構SNMP協(xié)議間傳遞的信息用標記、長度和值<TLV>進行編碼。由圖2-11可以看到,整個消息就是一個TLV結構,十六進制的26表明后面數(shù)據(jù)的長度是38個字節(jié)。數(shù)據(jù)中的各個部分也是按TLV結構編碼的,這里就不再一一說明了。圖2-12SNMP消息的三個部分圖2-12中可以看到,在這條消息中,Version的值是‘0’,它表示消息中使用的是SNMPv1。通過將十六進制的數(shù)字轉為字符,可以得到CommunityName是‘public’。圖2-13SNMPPDU結構圖2-13顯示了以下信息:PDU類型:GetRequestRequestID:39錯誤狀態(tài):0錯誤索引:0圖2-14變量綁定圖2-14是一個對變量綁定的分解,其中變量是OID:..0<.0>,它的值在這里為空<NULL>。2.3.7、SNMPv2和SNMPv31993年發(fā)布的SNMPv2最大的改動在于提供了SNMPv1所沒有的安全功能。但是,由于協(xié)議工作小組在安全性的認識上有較大的分歧,最終還是沿用了SNMPv1的基于共同體的安全模式。作為SNMPv2的修改版本,SNMPv2工作小組在1996年發(fā)布了SNMPv2c。實際中使用的第二版就是SNMPv2c,這里面‘c’表示Community-based,SNMPv2c也就是Community-basedSNMPv2。RFC1901中有關于SNMPv2c的描述,它與SNMPv1之間有一個很大的問題,就是不兼容,例如:SNMPv2c中新增了一個數(shù)據(jù)類型——Counter64,它不能被SNMPv1解析。SNMPv2c重大改進有三:新增get-bulk消息,可以使用此消息請求和接收大批量的數(shù)據(jù)。增加了manager-to-manager消息,允許管理站之間直接通信。升級了管理信息結構<SMI>,并且擴充了MIB。SNMPv1和SNMPv2c都是基于共同體的訪問模式,在安全性方面沒什么不同,SNMPv3滿足了SNMP在管理上的安全要求。SNMPv3采用基于用戶的安全模型<User-basedSecurityModel,USM>和基于視圖的訪問控制模型<View-basedAccessControlModel,VACM>。RFC2574和RFC2575分別描述了USM和VACM?;谟脩舻陌踩P?lt;USM>,類似于傳統(tǒng)的用戶名加密碼的管理方式。它對消息進行身份驗證和加密解密,而在SNMP的前兩個版本中,消息都是以明文傳送的,其中也包括了共同體名稱?;谝晥D的訪問控制模型<VACM>用于控制對SNMP的訪問,它可以控制誰能訪問網(wǎng)絡元素,它們能訪問什么,以及它們的訪問權限<讀/寫>。VACM在RFC2575中描述。2.4、小結本文涉及的網(wǎng)絡管理是對網(wǎng)絡硬件設備的管理,管理站和被管設備用來互通信息的一組規(guī)則被稱為網(wǎng)絡管理協(xié)議?,F(xiàn)在使用最為廣泛的網(wǎng)絡管理協(xié)議叫簡單網(wǎng)絡管理協(xié)議<SNMP>,SNMP是一種應用層的無連接協(xié)議,它一般在TCP/IP體系中應用,但這并不是說SNMP只能用在TCP/IP體系中。SNMP被設計成與協(xié)議無關,所以它可以在IPX,AppleTalk,OSI以及其它的傳輸協(xié)議上被使用。SNMP包括管理信息結構<SMI>,管理信息庫<MIB>和簡單網(wǎng)絡管理協(xié)議<SNMP>三個部分。管理信息結構SMI是一套規(guī)則,而管理信息庫MIB則是根據(jù)這套規(guī)則定義出來的一組對象。MIB中的對象是以樹狀分層結構進行組織的。要注意MIB和存儲數(shù)據(jù)的管理數(shù)據(jù)庫是不一樣的。SNMPv1的安全模式是基于共同體<Community>的。SNMPv1中定義了5種報文操作<get-request、get-next-request、set-request、get-response和trap>,前3個是SNMP管理站發(fā)給SNMP代理的,后兩個是代理發(fā)給管理站的。SNMPv2最大的改動在于提供了SNMPv1所沒有的安全功能。但是并沒有得到實施,它的最終版本SNMPv2c還是基于共同體的。另外,SNMPv2c對SNMPv1不向后兼容。SNMPv3主要改動在安全方面。SNMPv3采用基于用戶的安全模型<USM>和基于視圖的訪問控制模型<VACM>。嵌入式系統(tǒng)上個世紀40年代,美國誕生了第一臺電子計算機。從此,人類在計算領域中進入了一個完全嶄新的時代。計算機的發(fā)展可以分為五代:第一代:電子管計算機。第二代:晶體管計算機。這一時期操作系統(tǒng)的雛形開始形成。第三代:集成電路計算機。第四代:大規(guī)模集成電路計算機。微處理器<CPU>就是從這里開始的,后來在INTER8080的基礎上,出現(xiàn)了我們熟悉的個人計算機<PersonalComputer,PC>。第五代智能計算機。這是目前計算機所處的時代。在快速發(fā)展的過程中,計算機系統(tǒng)出現(xiàn)了兩個分支。一個是我們一般意義上的計算機,也就是通用計算機系統(tǒng),包括大型機,小型機和PC機。另一個是嵌入式系統(tǒng)<EmbededSystem>,它的范圍相當廣泛,基本上,計算機系統(tǒng)中不屬于通用計算機系統(tǒng)的,都可以歸為嵌入式系統(tǒng)。嵌入式系統(tǒng)在數(shù)量上遠遠超過了各種通用計算機系統(tǒng)。就計算機系統(tǒng)的核心CPU而言,每年全球產量中超過80%應用于各類專用性很強的嵌入式系統(tǒng)。嵌入式產品五花八門,如電子表,,各類數(shù)碼產品甚至是電飯煲中,都應用了嵌入式系統(tǒng)。嵌入式產品主要可以分為四類:信息家電。如今,電視機,電冰箱,洗衣機等家用電器都具備了‘智能’。電冰箱可以自動控溫,甚至可以通過Internet控制,都是因為其中嵌入了特殊的計算機系統(tǒng)。移動計算設備。這主要是各類PDA<PersonalDigitalAssistant>,包括電子字典,電子記事本,以前的BP機,現(xiàn)在的手機,手持游戲機<PlayStationPortable,PSP>等等。網(wǎng)絡設備。各種路由器,交換機都屬于嵌入式產品。工控產品。在工控和軍事應用中,也包含了大量的嵌入式系統(tǒng)。3.1、嵌入式系統(tǒng)定義嵌入式系統(tǒng)其實就是一種計算機系統(tǒng),因為它的專用特性而有別于通用計算機系統(tǒng)。它與通用計算機系統(tǒng)的差別主要體現(xiàn)在三個方面:用途。嵌入式系統(tǒng)是專用計算機系統(tǒng),它一般是為了某個特定功能而開發(fā),因而沒有通用計算機系統(tǒng)的通用性。結構。因為執(zhí)行特別的任務,嵌入式系統(tǒng)往往附加了很多外設接口電路。同時,用不到的接口自然是被裁減掉了。外形。因為嵌入式系統(tǒng)的專用性,再加上結構上的變化,它在外形上千變萬化,不同的嵌入式系統(tǒng)有不同的樣子,更不用說與通用計算機比較。因為應用上的需求,嵌入式系統(tǒng)往往被‘嵌入’在各種產品和系統(tǒng)中,嵌入式系統(tǒng)由此而得名。它的本質其實就是把一個計算機系統(tǒng)裁剪加工后嵌入到另一個系統(tǒng)中去。那么,到底什么是嵌入式系統(tǒng)?根據(jù)英國電機工程師協(xié)會的定義,嵌入式系統(tǒng)為控制、監(jiān)視或輔助設備、機器或甚至工廠運作的裝置。它具備了下列四項特性:通常執(zhí)行特定功能;以微電腦與周邊構成核心;嚴格的時序與穩(wěn)定度要求;全自動操作循環(huán)。它的正式定義是:嵌入式系統(tǒng)是以應用為中心,以計算機技術為基礎,并且軟硬件可裁剪,適用于應用系統(tǒng)對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統(tǒng)。3.2、嵌入式系統(tǒng)特點嵌入式系統(tǒng)是面向應用的,因此嵌入式產品的開發(fā)是緊緊圍繞產品功能的進行的,在保障質量的前提下,盡量裁剪掉不必要的軟件和硬件,降低成本,提高競爭力。我們知道,一臺PC機也可以完成路由功能,但是它需要幾千塊錢,而一臺嵌入式的路由器只需幾百塊。很明顯,如果只是完成路由功能的話,路由器比PC機競爭力更強。3.2.1、硬件特點可靠性。嵌入式產品一般都要求長期運行,有的還要處于惡劣環(huán)境中,如戶外或者高溫條件下。這就要求各元器件性能可靠。低功耗。一方面可以省電,另一方面利于散熱。主要是出于散熱考慮,試想,一個手機功耗高散熱慢,打十分鐘就燙手,那誰還會花錢去買。體積小。嵌入式系統(tǒng)的體積需要滿足被嵌入的系統(tǒng)的要求,一般來說都是要求它的體積盡量小。成本控制。為了提高競爭力,嵌入式產品對硬件成本有嚴格控制。只要夠用就可以了,例如CPU,只要它的速度滿足要求即可,并不一定要用最好最快的。監(jiān)控電路。即看門狗電路<WatchDog>,它對系統(tǒng)器監(jiān)控作用,必要的時候能夠復位硬件,被用來保證系統(tǒng)長久運行。3.2.2、軟件特點固態(tài)存儲。出于提高執(zhí)行速度和系統(tǒng)可靠性考慮,嵌入式系統(tǒng)中的軟件一般都固化在存儲器芯片或單片機本身。這樣的嵌入式軟件被稱為固件<Firmware>。精簡性高。在嵌入式系統(tǒng)中,存儲空間是寶貴的,對代碼執(zhí)行效率有較高的要求,因而軟件代碼越精簡越好。實時性強。許多嵌入式系統(tǒng)要求很強的實時性,尤其是在多任務嵌入式系統(tǒng)中,各任務之間的調度必須通過優(yōu)化軟件來完成。界面簡潔。嵌入系統(tǒng)一般不使用過于復雜的人機界面,人機界面的有效、簡潔和軟件系統(tǒng)本身一樣重要。在實際的嵌入式產品中,界面都是盡量做到簡潔,實用,操作方便。3.3、嵌入式典型硬件結構嵌入式系統(tǒng)種類繁多,其中一種典型結構是:ARM+SDRAM+FLASH。下面分別來介紹這三種硬件:ARM。ARM是指采用ARM技術的微處理器。ARM原本是英國一家公司<AdvancedRISCMachines>的縮寫,ARM公司專門從事基于RISC<ReducedInstructionSetComputer>技術晶片設計開發(fā),本身不直接從事晶片生產,而是將其技術授權給世界上許多著名的半導體、軟件和OEM廠商,其中包括Intel、IBM、LG半導體、NEC、SONY、菲利浦等等?;贏RM技術的微處理器應用約占據(jù)了32位RISC微處理器75%以上的市場份額,ARM技術的突出優(yōu)點是低耗,這一點特別適合嵌入式設備。SDRAM<SynchronousDynamicrandomaccessmemory>。同步動態(tài)隨機存儲器也就是我們平時所說的"同步內存"。SDRAM用于系統(tǒng)工作時保存臨時數(shù)據(jù)和程序,因為在系統(tǒng)掉電后,保存在其中的數(shù)據(jù)都會丟失。它的優(yōu)點是,容量大、價格便宜、訪問速度快,所以常被用在嵌入式系統(tǒng)中。FLASH。FLASH在這里是指FlashMemory存儲器,就是"閃存"。閃存屬于電擦除可編程只讀存儲器<Electrically-ErasableProgrammableRead-OnlyMemory,EEPROM>,它既有ROM的特點,又有很高的存取速度,而且易于擦除和重寫,功耗很小。它能在不加電的情況下能長期保持存儲的信息。目前,大多數(shù)閃存可以保證擦寫百萬次以上,如果每5分鐘寫一次的話,可以使用10年以上。綜上原因再加上嵌入式系統(tǒng)中一般是沒有硬盤的,所以,閃存常被用來保存長期的數(shù)據(jù),如:配置信息,固件<Firmware>等。3.4、嵌入式Linux操作系統(tǒng)一般來說,凡是帶有微處理器的專用軟硬件系統(tǒng)都可以稱之為嵌入式系統(tǒng)。早期的嵌入式設備中是沒有操作系統(tǒng)的,原因有二。一是受硬件資源限制無法支持一個操作系統(tǒng);二是諸如洗衣機、微波爐、豆?jié){機這樣的設備僅僅需要幾道簡單的控制指令來管理數(shù)量有限的按鈕和指示燈,沒有使用操作系統(tǒng)的必要。然而,集成電路規(guī)模不斷提高,給嵌入式系統(tǒng)提供了豐富的硬件平臺。同時,嵌入式設備的功能日益強大,嵌入式系統(tǒng)也變得越來越復雜,簡單的幾條指令已經無法滿足系統(tǒng)的要求。因此,嵌入式操作系統(tǒng)就應運而生。嵌入式操作系統(tǒng)近年來發(fā)展很快,目前使用較多的產品有:Vxwork、QNX、PalmOS、WindowsCE、pSOS等,但這些商業(yè)產品都價格昂貴,因此人們將更多的目光投向了Linux。嵌入式Linux〔EmbeddedLinux是指對Linux經過裁剪小型化后,可固化在存儲器或單片機中,應用于特定嵌入式場合的專用Linux操作系統(tǒng)。它具有如下特點:開源免費。Linux是一個免費軟件,而且它的源代碼是開放的。網(wǎng)絡上有大量可靠的源代碼可以使用,任何人都可以獲取這些代碼并修改它們,用于開發(fā)自己的產品。除了代碼,網(wǎng)絡上還有大量的文檔和其它資源供開發(fā)者使用,這都促進了Linux的發(fā)展。高效穩(wěn)定。Linux的內核非常穩(wěn)定,它的高效穩(wěn)定在很多方面得到驗證,尤其是在網(wǎng)絡服務器領域。同時,Linux的內核小巧靈活,其系統(tǒng)內核最小只有約134kB,一個帶有中文系統(tǒng)和圖形用戶界面的核心程序也可以做到不足1MB。這使得Linux非常適合嵌入式應用。強大的網(wǎng)絡功能。Linux誕生于因特網(wǎng)時代并具有Unix的特性。它支持所有標準因特網(wǎng)協(xié)議,嵌入式Linux繼承了這些功能。此外,Linux還支持ext2、fat16、fat32、romfs等文件系統(tǒng),為開發(fā)嵌入式系統(tǒng)應用打下了很好的基礎。支持多種體系結構。Linux通常使用的微處理器是IntelX86芯片家族,但它同樣能運行于Motorola公司的68K系列CPU和IBM、Apple、Motorola公司的PowerPCCPU以及Intel公司的StrongARMCPU等處理器。目前,Linux已經被移植到數(shù)十種硬件平臺上,支持幾乎所有流行的CPU,甚至可以在沒有存儲管理單元〔MemoryManagementUnit,MMU的處理器上運行。這進一步促進了嵌入式Linux的應用。豐富的開發(fā)工具。幾乎所有的Unix系統(tǒng)的應用軟件都已移植到了Linux上,其強大的語言編譯器GCC,C++等也可以很容易得到。Linux具備一整套工具鏈,容易自行建立嵌入式系統(tǒng)的開發(fā)環(huán)境和交叉運行環(huán)境。這降低了開發(fā)難度。3.5、嵌入式Linux系統(tǒng)開發(fā)硬件開發(fā)過程包括了元器件選型,原理圖編制,樣板試制,硬件功能測試;軟件開發(fā)首先是選操作系統(tǒng),移植協(xié)議站,然后是應用程序開發(fā),SNMP代理的開發(fā)就處在這一階段。軟硬件各自開發(fā)結束后,需要進行系統(tǒng)聯(lián)調,確定沒問題后出樣機。接下來就是解決樣機使用過程中出現(xiàn)的問題。直到樣機運行穩(wěn)定才會批量生產。選擇軟件平臺<操作系統(tǒng)>選擇軟件平臺<操作系統(tǒng)>選擇硬件平臺<CPU>應用程序開發(fā)應用程序開發(fā)硬件測試軟件測試硬件測試軟件測試軟硬件聯(lián)調軟硬件聯(lián)調圖3-1嵌入式產品開發(fā)過程3.5.1、嵌入式軟件開發(fā)特點軟件開發(fā)在編碼后都要經過編譯和鏈接最后生成可執(zhí)行的目標文件。這本是一個很自然的過程〔通用計算機系統(tǒng)上開發(fā)工具會處理整個過程,但是在嵌入式系統(tǒng)上就不是這樣了。嵌入式系統(tǒng)由于資源受限,直接在嵌入式系統(tǒng)的硬件平臺上開發(fā)軟件非常困難。一般采用的辦法是,先在通用計算機上編寫程序,然后,通過交叉編譯,生成目標平臺上可運行的二進制代碼格式,最后下載到目標平臺上的特定位置上運行。所謂交叉編譯是指在一臺通用計算機上進行編譯生成在嵌入式設備中運行的目標代碼<可執(zhí)行程序>。用來開發(fā)的通用計算機叫宿主機<Host>,通常是PC機,在其上運行Linux或者Windows操作系統(tǒng)。嵌入式設備叫做目標機<Target>。宿主機和目標機通過本地網(wǎng)絡或者串口<SerialPort>來通信。如下圖所示:目標機宿主機目標機宿主機本地網(wǎng)絡程序執(zhí)行程序開發(fā)本地網(wǎng)絡程序執(zhí)行程序開發(fā)串口串口圖3-2嵌入式開發(fā)模式由此,可知嵌入式軟件開發(fā)特點:開發(fā)環(huán)境≠執(zhí)行環(huán)境 這是嵌入式軟件開發(fā)的特點也是它的難點,因為程序是在宿主機上開發(fā),卻在目標機上運行。同樣,調試也是個大問題。3.5.2、嵌入式Linux軟件開發(fā)步驟現(xiàn)在,我們已經知道了嵌入式軟件開發(fā)的要點,下面看看具體開發(fā)的步驟:建立嵌入式Linux交叉開發(fā)環(huán)境。根據(jù)目標機的硬件平臺,在宿主機上安裝針對目標機的編譯工具。Linux下常用的交叉開發(fā)工具主要有開源和商業(yè)兩種類型,開發(fā)者可以根據(jù)自身情況選擇。編輯編譯程序。在完成嵌入式軟件的編碼之后,就是進行編譯和鏈接,以生成可執(zhí)行代碼。交叉編譯環(huán)境建立好之后,這一步驟與普通程序開發(fā)一樣,只是調用的編譯鏈接工具不同而已。軟件調試。將宿主機上生成的代碼下載到目標板上,對目標板上程序進行調試<可以在宿主機端用調試工具軟件來調試>。燒寫開發(fā)板。在測試滿意后,使用燒寫工具將軟件燒寫定型在開發(fā)板中,也就是人們常說的"Firmware升級"。3.6、小結嵌入式系統(tǒng)是計算機系統(tǒng)中的一個分支,與通用計算機相對。它在用途,結構和外形上不同于通用計算機。它的本質是把一個計算機系統(tǒng)裁剪加工后嵌入到另一個系統(tǒng)中去。它的定義是以應用為中心,以計算機技術為基礎,并且軟硬件可裁剪,適用于應用系統(tǒng)對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統(tǒng)。嵌入式系統(tǒng)是面向應用的,這一點決定了它的其它特點。嵌入式系統(tǒng)種類繁多,有的嵌入式設備中是沒有操作系統(tǒng)的。有一種典型的應用是硬件采取ARM+SDRAM+FLASH結構,軟件使用Linux操作系統(tǒng)。用這種構架開發(fā)出來的產品,成本較低而且性能很好。由于資源受到限制,嵌入式設備往往不具備軟件開發(fā)的條件,需要別的有開發(fā)環(huán)境的計算機幫助它進行開發(fā)。我們通過交叉編譯可以在一臺通用計算機上進行編譯生成在嵌入式設備中運行的目標代碼。即便如此,由于開發(fā)和使用的環(huán)境不同,還是會引出很多問題。這既是嵌入式軟件開發(fā)的特點也是它的難點。嵌入式SNMP代理的實現(xiàn)你可能會在網(wǎng)絡設備的功能介紹中看到"符合SNMP〔簡單網(wǎng)絡管理協(xié)議"或是"支持SNMP協(xié)議"等等。這是什么意思呢?這些話意味著外界可以使用SNMP協(xié)議來與該設備進行信息交換。簡單地說,就是在這個網(wǎng)絡設備上實現(xiàn)了SNMP代理。前面我們已經詳細分析了SNMP協(xié)議和嵌入式系統(tǒng)。本章將用實例說明嵌入式SNMP代理的實現(xiàn)。4.1、需求分析SNMP代理主要負責獲取被管設備對象的信息,完成參數(shù)配置,性能統(tǒng)計,以及故障上報并通過SNMP協(xié)議與管理站進行通信,對被管設備進行管理。這里我們將實現(xiàn)一個基本的SNMP代理,它的需求只有3條:記錄被管設備的版本號<Version>。設備復位。復位設備前告警。這三條是嵌入式代理要實現(xiàn)的基本要求。1設備出廠后硬件一般是不會修改的,但是軟件有可能更新,也就是"Firmware升級"。因為軟件會有改動,在處理問題的時候就必須知道是哪一個版本的設備出問題了,所以要記錄被管設備的版本號,而且這個版本號應該是只讀的<ReadOnly>。2設備復位就是重新啟動設備,當設備出現(xiàn)故障或者是Firmware升級完成的時候,需要重啟設備。在被管設備距離管理者很遠的情況下,通過軟件來復位設備,非常有用。3而"復位"對一個設備來說是一件很重大的事情,通常需要報告給網(wǎng)管站。4.2、系統(tǒng)設計通過上面的需求分析,我們知道了,這個SNMP代理要實現(xiàn)什么功能。下面要做的就是如何來實現(xiàn)這些功能。表4-1功能設計列表需求設計記設備復位在MIB中添加一個表示設備復位的節(jié)點,當SNMP代理收到將該節(jié)點的值設置為"1"的消息后,通知設備重啟。針對該節(jié)點的其它操作無意義。復位設備前告警在設備重啟之前發(fā)送Trap消息通知管理站設備重啟。Trap消息的發(fā)送要在設備重啟之前完成,否則,無法保證Trap消息成功發(fā)送出去。4.3、開發(fā)環(huán)境知道要做什么和如何來做以后,我們需要選擇開發(fā)環(huán)境,因為不同的環(huán)境會有不同的實現(xiàn)方法。本系統(tǒng)的硬件采用ARM+SDRAM+FLASH構架,其中ARM核選用的是IntelIXP420;嵌入式操作系統(tǒng)采用LinuxRedHat9.0;交叉編譯工具用的是MontaVistaLinuxPro3.1;Net-SNMP作為代理軟件開發(fā)包;使用MG-SOFT公司的MIB工具來進行測試。4.3.1、Net-SNMP軟件開發(fā)包Net-SNMP,原名UCD-SNMP<因UniversityofCaliforniaatDavis開發(fā)與維護而得名>。它是一個開源項目,是非常有名的SNMP網(wǎng)管系統(tǒng)開發(fā)包。在Linux下開發(fā)SNMP代理幾乎都是使用這個開發(fā)包。Net-SNMP開發(fā)包支持多種操作系統(tǒng),功能強大。它提供了幾乎所有SNMP網(wǎng)管開發(fā)所需要的資源,而且支持SNMP現(xiàn)有的三個版本。因為它源代碼公開,可以根據(jù)實際情況進行合理的裁剪,非常適合嵌入式設計。Net-SNMP軟件包自帶有可擴展的SNMP代理程序<snmpd>,開發(fā)人員可以通過修改擴展該程序實現(xiàn)自己的SNMP代理。而且,經過編譯后生成的代理程序<snmpd>對SNMPv1和SNMPv2c是兼容的,如果要升級為SNMPv3也只需要修改一些snmpd的配置文件即可。對于Trap,Net-SNMP提供封裝好的API,開發(fā)人員只要調用這些API就可以發(fā)送Trap。Net-SNMP現(xiàn)在發(fā)行的版本是5.4.1,我在開發(fā)中用到的是5.1.2版本。4.3.2、MG-SOFT的MIB工具MG-SOFT公司的MIB工具相當成熟,被廣泛的用于SNMP開發(fā)測試中。它的MIBBrowser不但可以讀寫MIB還可以接收SNMP代理發(fā)來的Trap,被眾多開發(fā)測試人員用來對SNMP代理進行測試;MIBCompiler可以用來檢查MIB的合法性,對于編寫MIB很有幫助。4.4、開發(fā)過程固件更新調試代理程序編寫MI固件更新調試代理程序編寫MIB編寫程序代碼建立開發(fā)環(huán)境圖4-1嵌入式SNMP代理開發(fā)過程由圖可知,整個開發(fā)過程可以分為5步。下面詳細介紹這5個步驟。4.4.1、建立開發(fā)環(huán)境要在一臺普通PC<宿主機>上建立SNMP代理開發(fā)環(huán)境,可以分4小步:在PC上安裝LinuxRedHat9.0。在RedHat上安裝MontaVistaLinuxPro3.1。在RedHat上安裝5.1.2。配置編譯選項。搭建好開發(fā)環(huán)境是必需的,否則后面的開發(fā)就進行不下去了。另外,可以在測試機器上安裝好MIB工具備用。4.4.2、編寫MIB根據(jù)系統(tǒng)設計,這里需要添加兩個節(jié)點,版本號節(jié)點和設備復位節(jié)點,它們都位于〔ernet.private.enterprises下面。這兩個節(jié)點分別是:<sjtu.ce.FY0404.FY04040019.myVersion>,.4.1.889.esetNo>。編寫過程如下:將這兩個MIB對象用ASN.1進行描述就可生成MIB文件<JOHN-MIB.mib>。MIB文件是文本的,所以編寫的時候用一般的文本編輯器就可以了,不需要什么特殊的工具。利用MIBCompiler來進行語法檢查。 文件寫好后,可以通過MIBBroswer來看這兩個節(jié)點,如下圖:圖4-2新建MIB節(jié)點下附MIB文件<JOHN-MIB.mib>:JOHN-MIBDEFINITIONS::=BEGINIMPORTSOBJECT-GROUP,NOTIFICATION-GROUPFROMSNMPv2-CONFenterprises,Integer32,Gauge32,OBJECT-TYPE,MODULE-IDENTITY,NOTIFICATION-TYPEFROMSNMPv2-SMITEXTUAL-CONVENTIONFROMSNMPv2-TC;sjtuOBJECTIDENTIFIER::={enterprises8888}--成教院ceOBJECTIDENTIFIER::={sjtu8}--通信工程2004屆FY0404OBJECTIDENTIFIER::={ce4}--我的學號FY04040019OBJECTIDENTIFIER::={FY040419}我的私有節(jié)點--myVersionOBJECT-TYPESYNTAXOCTETSTRING<SIZE<0..64>>MAX-ACCESSread-onlySTATUScurrentDESCRIPTION"固件版本號"::={FY040400191}mySysResetNoOBJECT-TYPESYNTAXInteger32MAX-ACCESSread-writeSTATUScurrentDESCRIPTION"mySysResetNo=1時,設備重新啟動"::={FY040400192}END4.4.3、編寫程序代碼MIB文件寫好后,可以在MIBBroswer中看到新的節(jié)點,但是這些節(jié)點還不能被使用。接下來通過編寫SNMP代理程序使這些新節(jié)點起作用。Net-SNMP自帶的工具mib2c可以簡化這一過程。利用mib2c可以把MIB文件轉化為相應的C語言文件,這樣代理程序snmpd可以識別新的MIB節(jié)點對象。由工具生成的C語言文件只是描述了新節(jié)點對象的框架結構,包括數(shù)據(jù)類型、訪問許可等,它甚至是不能編譯的。所以,還需要修改這個C語言文件,實現(xiàn)新節(jié)點的具體的操作。編寫過程如下:用mib2c可以把MIB文件轉化為相應的C語言文件。修改生成的C語言文件,實現(xiàn)新節(jié)點的具體的操作。對于版本號節(jié)點。這個節(jié)點是只讀的,而且節(jié)點對象是一個固定的字符串。所以,讀取的時候返回版本號即可。程序片斷如下:unsignedchar*var_myVersion<structvariable*vp,oid*name,size_t*length,intexact,size_t*var_len,WriteMethod**write_method>{charversionStr[64];switch<vp->magic>{caseMYVERSION:sprintf<versionStr,"Ver1.00">;*var_len=strlen<versionStr>;return<unsignedchar*>versionStr;default:ERROR_MSG<"">;}returnNULL;}對于設備復位節(jié)點。當這個節(jié)點被設置為"1"的時候,要做兩件事。首先,發(fā)送Trap通知網(wǎng)管站<利用Net-SNMP的API>。然后,通知被管設備重新啟動<通過代理與被管設備之間的協(xié)議>。程序片斷如下:if<1==*<<long*>var

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論