![]() |
在SNMP處理過程中,SNMP的編碼和解碼非常關鍵,以解碼為例來說明,解碼出SNMP報文使用SNMP的版本號,報文所使用的共同體號,版本號,表明了報文使用SNMP的版本,如果管理器與代理器使用協議的版本不同,將不能正常通信,共同體相當于密鑰,只有有了密鑰的管理器才能夠訪問代理器,否則,代理器不予響應,PDU解碼出管器所要訪問的對象,SNMP解碼的流程圖見圖5。
![]() |
流程圖中的snmpDec()函數解碼SNMP函數報文,將有用的信息提取出來,MibRequest()函數的作用是將駐留在嵌入式SNMP代理器中的MIB中查找解碼出來的OID(對象標識符),查找到OID后,同時獲得了這個對象的信息,編碼同時開始進行,MibCmpObjId()函數的作用是采用比較的方式查找表項。SnmpEnc()函數將得到的響應報文按SNMP的編碼規(guī)則編碼成SNMP報文。make_udp()函數將SNMP報文封裝在UDP報文中。再經過IP協議封裝,以太網協議封裝后,就可以通過以太網傳輸。
4 結束語
我們將該系統(tǒng)用于光無線通信的網絡管理與監(jiān)控系統(tǒng)。經過使用后發(fā)現:該系統(tǒng)能夠實時監(jiān)控光無線通信系統(tǒng)的運行,由于采用Internet傳送數據,所以傳輸距離不受限制,SNMP是應用最廣泛的網絡管理協議及實現嵌入式SNMP代理器,可以使光無線通信系統(tǒng)的管理很方便地加入到現有的網絡管理系統(tǒng),由于采用廉價的單片機來實現嵌入式SNMP代理器,主要的協議處理由軟件實現,成本很低。







