snmp 获得硬件信息_计算机网络基础课程—简单网络管理协议(SNMP)
簡單網(wǎng)絡管理協(xié)議
(Simple Network Management Protocol)
?除了提供網(wǎng)絡層服務的協(xié)議和使用那些服務的應用程序,因特網(wǎng)還需要運行一些讓管理員進行設備管理、調(diào)試問題、控制路由、監(jiān)測機器狀態(tài)的軟件。這種行為稱為網(wǎng)絡管理。
?
?隨著網(wǎng)絡技術(shù)的飛速發(fā)展,網(wǎng)絡數(shù)量、網(wǎng)絡設備越來越多,而且許多設備來自各個不同的廠家,如何管理這些設備就變得更加重要了。
?從設備來看,基于TCP/IP得網(wǎng)絡管理包含兩個部分:網(wǎng)絡管理站和被管理的網(wǎng)絡單元(也叫被管設備)。(見下下頁示例圖)
–網(wǎng)絡管理站是運行管理進程的主機。一般都是帶有彩色監(jiān)視器的工作站,可以顯示所有被管設備的狀態(tài)(例如連線是否掉落、各連線上的流量狀況)。
–被管設備主要包括種類繁多的被管主機和被管路由器,但都應該是運行TCP/IP協(xié)議的。在被管設備中需要運行與管理相關(guān)的軟件,叫做代理程序(Agent)或代理進程。
–管理站作為客戶,運行客戶端的軟件;而各個被管設備運行的代理程序為服務器端程序
?為進行管理,管理進程(客戶端)需要和代理程序(服務器端)進行通信,這種通信可以有兩種方式:
–管理進程向代理進程發(fā)出請求,詢問一個具體的參數(shù)(如詢問網(wǎng)絡單元中不可達的端口數(shù)目)或者要求代理進程改變某些參數(shù)值(如把 IP 數(shù)據(jù)包的生存期改為 64 TTL)
–代理進程主動向管理進程報告有某些重要的事件發(fā)生(如某個連接口故障)
?單個被管設備可能接收多個管理站的管理。管理軟件使用授權(quán)機制來確保只有獲得授權(quán)的管理員才能管理相應的設備。同時也支持多等級授權(quán)。例如:允許多個管理員從某個路由器獲得信息,但是只允許其中一部分的管理員能修改和控制路由。
?最初,許多網(wǎng)絡都在鏈路層協(xié)議中包含管理協(xié)議,這樣,即使高層協(xié)議失效,也可以在底層進行控制。
?
?但是,對于廣域網(wǎng),基于TCP/IP的因特網(wǎng)不可能只用單一的鏈路層協(xié)議,而是通常是由多種物理網(wǎng)絡由IP路由連接而成。因此,因特網(wǎng)管理和單一網(wǎng)絡管理是不同的。這種不同表現(xiàn)在:
–單一網(wǎng)絡的管理工作站不能控制異質(zhì)路由設備
–受控實體不使用相同的鏈路層協(xié)議
–管理工作站控制的機器可能在因特網(wǎng)中的任意一個節(jié)點,管理工作站有可能需要控制和它不在同一物理網(wǎng)絡中的設備,因此除非使用端到端的高層連接,管理工作站不能與受控設備進行通信。
?因此因特網(wǎng)管理協(xié)議工作在應用層,使用運輸層協(xié)議進行通信。
?管理協(xié)議工作在運輸層之上有如下的好處:
–協(xié)議可以設計成與硬件無關(guān),因而相同的協(xié)議可以用于所有被管設備
–從管理員的角度來看,單一的管理協(xié)議集意味著所有的路由將響應相同的命令集,通過使用TCP/IP通信,管理員可以控制整個IP網(wǎng)絡,而無需直接接觸具體的每個物理網(wǎng)絡或路由器類型。
?
?當然,工作在應用層也提出了更多的要求:
–就需要下層協(xié)議都是在正常工作的,否則無法進行網(wǎng)管所需要的高層通信
–需要操作系統(tǒng)也是正常工作的,操作系統(tǒng)不正常,就不可能達到應用層
?
?基于TCP/IP的網(wǎng)絡管理協(xié)議分為兩個部分:
–其一是管理中所需要的數(shù)據(jù)及其格式,分別為:
?管理信息庫(Management Information Base)
?管理信息結(jié)構(gòu)(Structure of Management Information)
–其二是規(guī)定運行在管理站上的客戶軟件如何與管理代理進行通信,這部分定義了客戶與服務器端交換信息的格式和意義。即簡單網(wǎng)絡管理協(xié)議。
?
?下面分別介紹
>
?簡單網(wǎng)絡管理協(xié)議(Simple Network Management Protocol)
?
?SNMP 規(guī)定管理進程如何與管理代理進行通信,定義了客戶與服務器端交換信息的格式和意義。此外,提供管理授權(quán)機制。
?
?早期的管理方式是提供一些管理命令,如重啟系統(tǒng)用reboot、刪除或增加路由用 delete 或 add 等等。但是這種方式的一個重要缺陷是對于每種數(shù)據(jù)項的每種操作都必須定義一個單獨的命令,這樣,當出現(xiàn)一種新的數(shù)據(jù)項時,需要增加相應的協(xié)議。
?
?SNMP采取另一種方式,
?SNMP 規(guī)定了兩類從管理進程到代理的基本命令:
–從一個數(shù)據(jù)項取數(shù)據(jù),這包括兩個命令:
?get-request:從代理進程處提取一個或多個數(shù)據(jù)項
?get-next-request:從代理進程處提取一個或多個數(shù)據(jù)項的下一個數(shù)據(jù)項(關(guān)于“下一個”于數(shù)據(jù)格式有關(guān),在后面講。)
–把值存儲到一個數(shù)據(jù)項中。
?set-request:設置代理進程的一個或多個數(shù)據(jù)項
?而其他的命令都是通過這兩類命令來實現(xiàn)。
?
?從代理進程到管理進程規(guī)定了兩個操作:
–get-response:這個操作是代理進程作為對上述三個管理進程操作的響應。
–trap:代理進程主動發(fā)出的報文,通知管理進程有某些事件發(fā)生。
?
?前四種操作是簡單的請求--應答方式,而 SNMP 傳輸通常使用UDP ,因而需要使用超時重傳機制。
?
?SNMP 報文格式:
SNMP報文使用ASN.1編碼,其各字段長度取決于其取值,因此整個長度(除了IP、UDP首部長度確定)不是固定的。
?Abstract?Syntax?Notation 1 是一種形式語言,有兩種表示方式:
–供人閱讀使用的
–壓縮編碼表示,用于通信協(xié)議
?特點:
–無歧義
–標準化
–互操作
?版本字段的值為SNMP版本號減 1
?共同體字段是管理進程與代理進程之間的明文格式的口令,默認值為 public
PDU類型字段
0-3時的報文格式如上述表格
而為4時有所不同
?請求標識由管理進程在命令中設置,由代理進程在響應中返回。該字段用于使客戶進程能夠?qū)⒎掌鬟M程發(fā)出的響應和客戶進程先前發(fā)出的查詢進行匹配。
?差錯狀態(tài)字段由代理進程標注,指明有差錯發(fā)生,差錯發(fā)生在哪個參數(shù)。
?差錯索引字段是一個整數(shù)偏移量,指明當有差錯發(fā)生時,差錯發(fā)生在哪個參數(shù)。它是由代理進程標注的,且只在差錯狀態(tài)為2、3、4時才進行標注。
?名稱和值字段是要請求的數(shù)據(jù)名稱或要設置的變量名稱以及其值。
?信息管理庫(Management?Information?Base)(MIB-II RFC 1213 1991)
?本標準指定主機和路由器等被管設備需要保存的數(shù)據(jù)項,以及可以對這些數(shù)據(jù)項進行的操作。例如:MIB 規(guī)定 IP 軟件必須保存到達每個網(wǎng)絡接口的8位組的數(shù)目,并規(guī)定網(wǎng)絡管理軟件只能讀這項數(shù)據(jù)。
?MIB把管理信息劃分為八組,每組都有若干種數(shù)據(jù)項:
?管理信息結(jié)構(gòu)(Structure of?Management?Information)(RFC 1155)
?對MIB中允許的變量類型進行約束,定義MIB 中各種數(shù)據(jù)項的數(shù)據(jù)結(jié)構(gòu)和表示符號,并指定命名變量的規(guī)則。SMI規(guī)定所有的MIB變量也必須使用ASN.1。
?SNMP中使用的數(shù)據(jù)類型如下:
–INTEGER、OCTER STRING、……、SEQUENDE OF等共12種。
?
?MIB變量的命名采用對象標識符(Object Identifier),所用對象標識符組成一個名稱空間,由OSI 與 ITU 共同管理對象標識符命名體系利用對象標識符命名體系可以為任意對象命名(如每個國際協(xié)議標準都有一個名稱)
?每個命名都是全球唯一的絕對名稱
?名稱空間為一個層次結(jié)構(gòu)(類似DNS)(如下頁圖)
?說明:
?層次結(jié)構(gòu)中每個節(jié)點的對象標識符是由從根節(jié)點到其上的數(shù)字序列組成,如 mib 的對象標識符為 1.3.6.1.2.1,為方便閱讀也可以用相應的字符序列 iso.org.dod.internet.mgmt.mib
?可以看到在MIB中說明的八個組實際上是對象標識符空間中mib節(jié)點的8個子節(jié)點。這8個節(jié)點進一步可以往下分,即為各個組的變量。例如 ipInReceives 是 ip 下的第三個節(jié)點,則其對象標識符為:1.3.6.1.2.1.4.3 ,相應字符序列為:iso.org.dod.internet.mgmt.mib.ip.ipInReceives
?末尾為0表明是一個變量的實例:如1.3.6.1.2.1.4.3 .0,標識一個1.3.6.1.2.1.4.3 (ipInReceives的)變量的實例。
?
?以上介紹的是SNMPv1,1993年,發(fā)表SNMPv2(RFC 1441),版本二的改進:
?
–為從代理進程讀取大塊數(shù)據(jù)而定義了一個新的分組
–為使在管理進程之間通信而增加了另一個分組
–定義了兩個新的 MIB ,用于管理進程之間的數(shù)據(jù)
–提高了安全性, 可以對報文進行加密和鑒別
?小結(jié)
?SNMP是一種簡單的管理進程和代理進程之間的請求應答協(xié)議。
?MIB中定義了所有代理進程所包含的、能夠被管理進程查詢和設置的變量。
?所有這些變量都以對象標識符進行標識,這些對象標識符構(gòu)成了一個層次命名結(jié)構(gòu)。
上海艾磊科技有限公司專門為企業(yè)提供IT咨詢,IT外包,系統(tǒng)集成,以及各類IT增值服務。其中增值服務包括OFFICE 365云服務,鼎捷企業(yè)ERP管理軟件,云備份,企業(yè)郵箱,無線覆蓋,上網(wǎng)行為管理,VPN架設,網(wǎng)絡安全服務,INTERNET接入,設備租賃, IP電話服務。
總結(jié)
以上是生活随笔為你收集整理的snmp 获得硬件信息_计算机网络基础课程—简单网络管理协议(SNMP)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为啥Deepseek需要定期维护?
- 下一篇: 指针在c语言中的运用,怎么理解C语言中的