李泰國(guó),王志龍,李文新,曹靚姝,王世佳,夏加高
(1.蘭州空間技術(shù)物理研究所,甘肅 蘭州 730000;2.蘭州工業(yè)學(xué)院,甘肅 蘭州 730000)
(b)Response-PDU
圖4 SNMPv2 PDU結(jié)構(gòu)
基于SNMP的嵌入式終端狀態(tài)管理系統(tǒng)的設(shè)計(jì)
李泰國(guó)1,王志龍2,李文新1,曹靚姝1,王世佳1,夏加高1
(1.蘭州空間技術(shù)物理研究所,甘肅 蘭州 730000;2.蘭州工業(yè)學(xué)院,甘肅 蘭州 730000)
為支持航天器嵌入式網(wǎng)絡(luò)終端在研制過(guò)程中調(diào)試、測(cè)試及排故的需要,研究了基于SNMP的嵌入式終端狀態(tài)管理系統(tǒng)的實(shí)現(xiàn)方法。在介紹了SNMP協(xié)議的原理以及工作環(huán)境的基礎(chǔ)上,詳細(xì)分析基于KSZ8851以太網(wǎng)控制器的嵌入式終端軟件設(shè)計(jì);在上位機(jī)采用WinSNMP、套接字以及多線程技術(shù)實(shí)現(xiàn)對(duì)航天器網(wǎng)絡(luò)終端狀態(tài)的管理與測(cè)試。系統(tǒng)測(cè)試結(jié)果表明,該系統(tǒng)可以有效地對(duì)信息終端進(jìn)行全面監(jiān)測(cè)與管理,工作穩(wěn)定可靠,維護(hù)和使用方便,操作方法簡(jiǎn)單,具有一定的應(yīng)用價(jià)值。
嵌入式終端;SNMP協(xié)議;WinSNMP;套接字;多線程技術(shù)
在某航天器內(nèi)部通信系統(tǒng)中,由于被管理的終端設(shè)備數(shù)量較多,如果對(duì)各終端不進(jìn)行集中管理,信息不能共享,容易形成“信息孤島”。終端狀態(tài)管理系統(tǒng)設(shè)計(jì)采用集中管理模式完成網(wǎng)絡(luò)終端的管理功能,應(yīng)用層采用標(biāo)準(zhǔn)的SNMPv2協(xié)議對(duì)終端的狀態(tài)進(jìn)行定期查詢,終端同時(shí)具備主動(dòng)向管理處理器匯報(bào)狀態(tài)。為支持航天器網(wǎng)絡(luò)終端研制工作,需要研制基于SNMP的網(wǎng)絡(luò)終端管理軟件模擬航天器內(nèi)部通信系統(tǒng)的管理處理器完成對(duì)網(wǎng)絡(luò)終端真實(shí)設(shè)備的調(diào)試、測(cè)試及排故。采用SNMP協(xié)議的Get-Request(獲取每個(gè)對(duì)象的值)、Response(響應(yīng)取操作)、Trap(代理者向管理者報(bào)告事件信息),網(wǎng)絡(luò)終端利用161端口偵聽(tīng)處理器發(fā)送的Get請(qǐng)求,網(wǎng)絡(luò)終端利用162端口向處理器發(fā)送Response響應(yīng)和Trap報(bào)告。
系統(tǒng)中上位機(jī)采用WinSNMP、原始套接字以及多線程技術(shù);嵌入式終端采用DSP架構(gòu)完成以太網(wǎng)的通訊并實(shí)現(xiàn)SNMP功能。管理系統(tǒng)通過(guò)局域網(wǎng)實(shí)現(xiàn)對(duì)航天器網(wǎng)絡(luò)終端狀態(tài)的管理與測(cè)試。為航天器整體通信系統(tǒng)的聯(lián)試做好準(zhǔn)備。
SNMP(Simple Network Management Protocol,簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議)[1-5]自20世紀(jì)80年代末期面世以來(lái)得到了快速發(fā)展,伴隨著其管理功能的增強(qiáng)以及管理對(duì)象的擴(kuò)大,網(wǎng)絡(luò)管理技術(shù)逐步成為網(wǎng)絡(luò)構(gòu)建和維護(hù)中非常重要的要素之一[6]。SNMP是以TCP/IP協(xié)議為基礎(chǔ),工作在傳輸層,對(duì)于底層的傳輸是完全透明的。SNMP協(xié)議通常使用UDP協(xié)議進(jìn)行信息傳輸。SNMP主要的功能是向代理發(fā)出管理操作指令,可以接收來(lái)自代理的陷阱信息及其他反饋信息。SNMP代理一般在被管理設(shè)備內(nèi)部,將由管理者發(fā)送的命令轉(zhuǎn)換為本設(shè)備特有的指令進(jìn)行執(zhí)行,并可返回本設(shè)備的相關(guān)信息。管理進(jìn)程通過(guò)161端口發(fā)送GetRequest、GetNextRequest、SetRequest等消息,同時(shí)管理進(jìn)程在端口162上偵聽(tīng)Trap消息。對(duì)于代理則是在161端口上偵聽(tīng)GetNextRequest、GetRequest、SetRequest命令,同時(shí)代理需要通過(guò)162端口發(fā)送Trap消息和通過(guò)161端口發(fā)送GetResponse消息。其工作環(huán)境如圖1所示。

圖1 SNMP工作環(huán)境
嵌入式終端管理系統(tǒng)主要包括數(shù)據(jù)采集嵌入式終端設(shè)備、通信網(wǎng)以及終端管理系統(tǒng)上位機(jī)部分。系統(tǒng)結(jié)構(gòu)框圖如圖2所示。

圖2 系統(tǒng)結(jié)構(gòu)框圖
嵌入式終端設(shè)備主要負(fù)責(zé)采集各終端設(shè)備中的終端狀態(tài)信息并根據(jù)上位機(jī)發(fā)送的數(shù)據(jù)對(duì)嵌入式終端設(shè)備進(jìn)行控制。通信網(wǎng)主要負(fù)責(zé)各嵌入式終端與上位機(jī)之間的信息傳輸。上位機(jī)主要是根據(jù)對(duì)收集的各終端狀態(tài)信息進(jìn)行分析判斷,并根據(jù)實(shí)際情況對(duì)各終端設(shè)備進(jìn)行控制。
嵌入式終端是航天器整體通信系統(tǒng)的末梢,具有向上位機(jī)發(fā)送入網(wǎng)請(qǐng)求、解析控制命令、采集并預(yù)處理數(shù)據(jù)、自動(dòng)發(fā)送告警等功能。嵌入式終端設(shè)備的硬件主要包括TI公司的TMS320C6415處理器、Micrel公司的KSZ8851-16mll以太網(wǎng)控制器等模塊。另外,還包括維持DSP系統(tǒng)正常工作的外圍電路,如電源模塊、SDRAM接口、FLASH接口、復(fù)位電路以及看門狗電路等。
嵌入式終端軟件設(shè)計(jì)主要是在TMS320C6415處理器、KSZ8851-16mll以太網(wǎng)控制器上完成以太網(wǎng)協(xié)議棧的移植,并實(shí)現(xiàn)嵌入式終端設(shè)備的SNMP軟件設(shè)計(jì)。
3.1 KSZ8851-16mll以太網(wǎng)控制器
KSZ8851-16mll是一種單端口嵌入式控制芯片,由美國(guó)Micrel公司研制。KSZ8851-16mll以太網(wǎng)控制器包括一個(gè)8/16 bit的普通主機(jī)處理器接口、一個(gè)快速以太網(wǎng)的MAC控制器以及在12 kB的接收緩存(RXQ)和6 kB的發(fā)送緩存(TXQ)之間共享18 kB內(nèi)部緩沖存儲(chǔ)器,并通過(guò)Wake-on-LAN技術(shù)有效地解決快速以太網(wǎng)的應(yīng)用;支持Big-Endian(大端)和Little-Endian(小端)的處理器、多幀數(shù)據(jù)傳輸和接收、IPv4/IPv6校驗(yàn)和以及32 bit循環(huán)冗余碼(CRC)的生成與校驗(yàn)。
KSZ8851-16mll集成MAC和PHY以太網(wǎng)控制器完全符合IEEE802.3/802.3u標(biāo)準(zhǔn),專為高性能和高吞吐量應(yīng)用,支持10BASE-T/100BASE-TX,支持IEEE802.3X全雙工和半雙工流控,支持IP報(bào)頭(IPv4)/TCP/UDP/ICMP的校驗(yàn),自動(dòng)生成32 bit循環(huán)冗余碼(CRC)校驗(yàn)等。
3.2 OpenTCP協(xié)議棧
OpenTCP協(xié)議棧是Micrel公司開(kāi)發(fā)的基于KSZ8851-16mll以太網(wǎng)控制器的開(kāi)源代碼協(xié)議棧。OpenTCP針對(duì)KSZ8851-16mll進(jìn)行了相應(yīng)的優(yōu)化,有效提高了協(xié)議棧的處理效率。
OpenTCP是TCP/IP和Internet應(yīng)用層的精簡(jiǎn)協(xié)議,是一款高質(zhì)量,面向嵌入式系統(tǒng)的,開(kāi)源的,用于8/16位MCU的源碼開(kāi)放的TCP/IP協(xié)議棧。全部代碼使用C語(yǔ)言編寫(xiě),與通用的TCP/IP協(xié)議棧相比,其代碼更為精簡(jiǎn),不需要操作系統(tǒng)的支持,可以在各種MCU體系結(jié)構(gòu)上實(shí)現(xiàn),減少了對(duì)資源的消耗,滿足了嵌入式應(yīng)用的要求。
3.3 底層驅(qū)動(dòng)程序設(shè)計(jì)
系統(tǒng)采用查詢方式完成KSZ8851-16mll以太網(wǎng)控制器的數(shù)據(jù)操作。主要分為以下幾個(gè)過(guò)程:
(1)初始化KSZ8851-16mll以太網(wǎng)控制器芯片,通過(guò)初始化函數(shù)int Ethernet_Init(void)完成發(fā)送/接收相關(guān)寄存器的設(shè)置,如對(duì)以太網(wǎng)控制器進(jìn)行復(fù)位,對(duì)本機(jī)IP地址、MAC地址等信息進(jìn)行設(shè)置。
(2)KSZ8851寄存器操作。
可以通過(guò)以下兩個(gè)步驟訪問(wèn)KSZ8851寄存器:
①將CMD置高,將寄存器的偏移地址和字節(jié)使能號(hào)(BEn)寫(xiě)到共享數(shù)據(jù)總線上;
②將CMD置低,在共享數(shù)據(jù)總線上讀或者寫(xiě)數(shù)據(jù)。
寄存器讀操作:*((volatile FAR unsigned short *)(IO_BASE_KS8851+CMD_HIGH))=(UINT16)(addr|((BE1|BE0) <<(addr&0x02)));
*data=*((volatile FAR unsigned short *)(IO_BASE_KS8851+CMD_LOW));
寄存器寫(xiě)操作:*((volatile FAR unsigned short *)(IO_BASE_KS8851+CMD_HIGH))=(unsigned short)(addr|((BE1|BE0)<<(addr & 0x02)));
*((volatile FAR unsigned short *)(IO_BASE_KS8851+CMD_LOW))=(unsigned short)(data);
其中,IO_BASE_KS8851為網(wǎng)卡芯片基地址。當(dāng)CMD_LOW=0(CMD=0),則表示當(dāng)前為共享數(shù)據(jù)總線;當(dāng)CMD_HIGH=8(CMD=1),表示當(dāng)前為共享地址總線。
(3)KSZ8851以太網(wǎng)控制器數(shù)據(jù)接收與發(fā)送操作。
操作KSZ8851進(jìn)行數(shù)據(jù)的接收與發(fā)送是通過(guò)一系列的宏函數(shù)實(shí)現(xiàn)的,如NETWORK_CHECK_IF_RECEIVED()、NETWORK_COMPLETE_SEND(c)、HW_READ_ONE_FRAME(data,len)、HW_WRITE_ONE_FRAME (data,len)等。
3.4 基于OpenTCP的UDP通信實(shí)現(xiàn)
系統(tǒng)進(jìn)行UDP通訊調(diào)用的函數(shù)有process_udp_in、udp_demo_eventlistener、udp_demo_run、udp_demo_send、udp_send。通訊流程如圖3所示。
3.5 嵌入式終端的SNMP軟件設(shè)計(jì)
基于SNMP的嵌入終端設(shè)備采用Poll輪詢方式和Trap告警方式來(lái)設(shè)計(jì)SNMP代理程序,用以實(shí)現(xiàn)代理端和上位機(jī)管理系統(tǒng)之間的通信。嵌入式終端上電啟動(dòng)后,SNMP監(jiān)控程序自動(dòng)運(yùn)行,等待上位機(jī)發(fā)來(lái)的指令并采集終端設(shè)備的狀態(tài)數(shù)據(jù)。嵌入式終端軟件接收到上位機(jī)的指令,對(duì)指令進(jìn)行解析。判斷是SNMP的Set(采集)命令,還是Get(上報(bào))命令,據(jù)此判斷是采集終端設(shè)備的狀態(tài),還是將采集的狀態(tài)數(shù)據(jù)上報(bào)給管理系統(tǒng)[7-8]。

圖3 UDP通訊流程
管理系統(tǒng)中的上位機(jī)軟件采用SNMP管理模型,設(shè)計(jì)思路如下:
(1)系統(tǒng)初始化。初始化SNMP環(huán)境,指定SNMP Community,初始化報(bào)文接收套接字,定義參數(shù),申請(qǐng)各種資源。
(2)啟動(dòng)SNMP報(bào)文發(fā)送定時(shí)器以及SNMP報(bào)文接收線程。
(3)SNMP報(bào)文構(gòu)造與輪詢。管理工作站周期性主動(dòng)訪問(wèn)所有的被管終端設(shè)備。輪詢模塊需要輸入被管對(duì)象的IP/OID列表構(gòu)造SNMP報(bào)文。使用SNMP GetRequest異步原語(yǔ)周期性發(fā)送SNMP訪問(wèn)消息。其中,異步原語(yǔ)指發(fā)出SNMP訪問(wèn)消息后無(wú)須等待繼續(xù)執(zhí)行,另有專門的線程負(fù)責(zé)接收SNMP應(yīng)答消息。
(4)SNMP報(bào)文接收與解析。在接收線程中接收由被管終端設(shè)備發(fā)出的Trap及GetResponse消息。
(5)實(shí)時(shí)顯示。對(duì)輪詢和Trap接收數(shù)據(jù)中的重要信息進(jìn)行實(shí)時(shí)顯示,在有緊急情況時(shí)通知管理員,由管理員采取相應(yīng)措施。
(6)日志寫(xiě)入。管理工作站由輪詢和Trap從被管對(duì)象上收集到大量數(shù)據(jù),加以整理,成為日志記錄,按照指定的數(shù)據(jù)庫(kù)視圖存入日志數(shù)據(jù)庫(kù)。
(7)內(nèi)存管理。中止SNMP后,由WinSNMP應(yīng)用程序負(fù)責(zé)釋放所有在調(diào)用WinSNMP API函數(shù)過(guò)程中所分配的資源。
文中在Visual C++ 6.0的基礎(chǔ)上,選用Microsoft WinSNMP工具包開(kāi)發(fā)終端管理系統(tǒng)。其中,WinSNMP是由微軟公司專門針對(duì)SNMP協(xié)議為用戶開(kāi)發(fā)的API(應(yīng)用程序接口),其主要目的是提供一種解決方案,方便在Windows下開(kāi)發(fā)基于SNMP的網(wǎng)絡(luò)管理程序。它定義了過(guò)程調(diào)用、數(shù)據(jù)類型、數(shù)據(jù)結(jié)構(gòu)及相關(guān)語(yǔ)法的開(kāi)放式單一接口規(guī)范,SNMP開(kāi)發(fā)者必須在此規(guī)范的基礎(chǔ)上開(kāi)發(fā)相應(yīng)的程序。WinSNMP以函數(shù)的形式封裝了SNMP協(xié)議的各部分(在VC++6.0開(kāi)發(fā)環(huán)境中體現(xiàn)為wsnmp32.dll、wsnmp32.lib和winsnmp.h),且針對(duì)SNMP使用UDP的特點(diǎn)而設(shè)置了消息重傳、超時(shí)機(jī)制等。
4.1 終端管理協(xié)議
嵌入式終端管理系統(tǒng)中采用集中管理模式,由上位機(jī)完成嵌入式終端的管理功能,應(yīng)用層采用標(biāo)準(zhǔn)的SNMPv2協(xié)議對(duì)終端的狀態(tài)進(jìn)行定期查詢,終端同時(shí)具備主動(dòng)向上位機(jī)管理系統(tǒng)匯報(bào)狀態(tài)的能力。
采用SNMP協(xié)議的Get-Request、Response、Trap,終端利用161端口偵聽(tīng)管理系統(tǒng)發(fā)送的Get請(qǐng)求,并利用162端口向管理系統(tǒng)發(fā)送Response響應(yīng)和Trap報(bào)告。
系統(tǒng)中SNMP通信需要用到的信息結(jié)構(gòu)主要包括:
(1)SNMPv2消息結(jié)構(gòu)。
Message::=SEQUENCE{
Version INTEGER{version(1)} —SNMPv2的版本號(hào)為1
CommunityOCTET STRING —共同體名
Data ANY —SNMPv2 PDU
}
主要由版本號(hào)、共同體名、消息實(shí)體PDU組成。
(2)SNMPv2 PDU的結(jié)構(gòu)如圖4所示。

PDU類型Request-ID00Variable-bindings

(a)GetRequest-PDU,SNMPv2-Trap-PDU
(b)Response-PDU
圖4 SNMPv2 PDU結(jié)構(gòu)
(3)網(wǎng)絡(luò)管理器采用SNMP協(xié)議中的MIB庫(kù)對(duì)嵌入式終端進(jìn)行管理[7-9],具體管理的主要內(nèi)容如表1所示。
4.2 SNMP報(bào)文的構(gòu)造與解析
終端管理軟件和終端設(shè)備之間通過(guò)SNMP報(bào)文完成相關(guān)信息交換,只有符合SNMP協(xié)議規(guī)范的數(shù)據(jù)才能被管理軟件和終端設(shè)備所識(shí)別[9-11]。因此,SNMP協(xié)議報(bào)文的構(gòu)造是協(xié)議實(shí)現(xiàn)中最為關(guān)鍵的一環(huán)。SNMP報(bào)文構(gòu)造首先通過(guò)API/GUI獲得需向代理發(fā)出報(bào)文的各種數(shù)據(jù),然后調(diào)用wsnmp32.dll所封裝的API進(jìn)行報(bào)文構(gòu)造。其報(bào)文構(gòu)造流程如圖5所示。

表1 網(wǎng)絡(luò)管理器管理嵌入式終端內(nèi)容列表

圖5 SNMP報(bào)文構(gòu)造流程
上述是在發(fā)送SNMP報(bào)文時(shí)的報(bào)文構(gòu)造方法,在接收到報(bào)文并對(duì)報(bào)文進(jìn)行解析時(shí),采用相反的過(guò)程。將接收線程中收到的SNMP報(bào)文作為參數(shù)傳給報(bào)文解析函數(shù),在報(bào)文解析函數(shù)中調(diào)用asn1lib.dll中已經(jīng)封裝好的API解析SNMP報(bào)文,得到各OID所對(duì)應(yīng)的變量值。
4.3 SNMP報(bào)文的發(fā)送與接收
將SNMP協(xié)議報(bào)文封裝完成后,就可以將SNMP報(bào)文以UDP數(shù)據(jù)包的形式發(fā)送到目的終端設(shè)備,以及等待接收終端設(shè)備回送的響應(yīng)報(bào)文[12-14]。文中采用WinSNMP發(fā)送報(bào)文,其過(guò)程主要有以下四個(gè)部分:WinSNMP的初始化、PDUs的創(chuàng)建、發(fā)送信息以及資源的釋放。
由于網(wǎng)絡(luò)速度或者其他因素的影響,如果終端管理軟件在短時(shí)間內(nèi)連續(xù)向被管終端設(shè)備發(fā)送多條管理命令,在前一個(gè)發(fā)送報(bào)文操作未完成之前,則下一個(gè)發(fā)送請(qǐng)求無(wú)法接收,從而導(dǎo)致后面的請(qǐng)求報(bào)文丟失。文中采用發(fā)送定時(shí)器解決該問(wèn)題,定時(shí)器定時(shí)長(zhǎng)度為5 s,這樣就可以控制發(fā)送報(bào)文的時(shí)間間隔。
通常,在接收?qǐng)?bào)文時(shí)WinSNMP有兩種方式的異步消息驅(qū)動(dòng)。一種方法是創(chuàng)建一個(gè)消息處理函數(shù),在這個(gè)函數(shù)里處理消息的接收、信息的提取與處理等事務(wù),讓W(xué)inSNMP在有響應(yīng)消息到達(dá)時(shí)發(fā)送一個(gè)消息給系統(tǒng)。另一種方式是讓系統(tǒng)自動(dòng)調(diào)用一個(gè)函數(shù)。使用這兩種方式接收終端設(shè)備發(fā)來(lái)的Response及Trap消息時(shí)需要啟動(dòng)SNMP Service及SNMP Trap Service。但是,文中沒(méi)有采用這兩種方式,而是通過(guò)開(kāi)啟一個(gè)接收線程監(jiān)聽(tīng)161、162端口來(lái)接收終端設(shè)備發(fā)來(lái)的消息。在161端口收到的Response消息或162端口收到的Trap消息后,調(diào)用asn1lib.dll中封裝的API進(jìn)行SNMP報(bào)文的解析。將解析后的數(shù)據(jù)實(shí)時(shí)顯示并存儲(chǔ)。
4.4 SNMP報(bào)文的顯示與存儲(chǔ)
將解析后的數(shù)據(jù)采用樹(shù)形控件的形式在用戶界面上實(shí)時(shí)顯示,方便用戶實(shí)時(shí)監(jiān)測(cè)終端設(shè)備是否正常運(yùn)行。同時(shí)將解析后的重要數(shù)據(jù)保存到數(shù)據(jù)庫(kù)中,主要包括終端設(shè)備IP、變量名稱以及變量值等。該系統(tǒng)選用ACCESS數(shù)據(jù)庫(kù),其可處理的記錄大于10萬(wàn)條,能滿足一般的要求,并且操作方便、易于維護(hù)。
文中在詳細(xì)介紹SNMP協(xié)議的原理以及工作機(jī)制的基礎(chǔ)上,在下位機(jī)中以KSZ8851以太網(wǎng)控制器為核心實(shí)現(xiàn)嵌入式終端及軟件設(shè)計(jì),在上位機(jī)中提出了基于WinSNMP的嵌入式終端狀態(tài)管理軟件的設(shè)計(jì)實(shí)現(xiàn)方案。利用SNMP協(xié)議管理模型設(shè)計(jì)的上層管理及底層終端管理系統(tǒng),可以對(duì)分散的終端設(shè)備進(jìn)行集中管理并實(shí)現(xiàn)數(shù)據(jù)交互和處理。結(jié)果表明,該系統(tǒng)工作穩(wěn)定可靠、維護(hù)和使用方便。使用已有的動(dòng)態(tài)庫(kù)縮短了研制周期,節(jié)省了研制成本。
[1] 王煥然,徐明偉.SNMP網(wǎng)絡(luò)管理綜述[J].小型微型計(jì)算機(jī)系統(tǒng),2004,25(3):358-366.
[2] 孫 為.SNMP協(xié)議管理機(jī)制及其代理進(jìn)程的實(shí)現(xiàn)[J].硅谷,2009(5):46-47.
[3] Mc Cloghrie K.Structure of management information version 2(SMlv2)[S].[s.l.]:[s.n.],1999.
[4] Case J.Protocol operations for version 2 of the simple network management protocol[S].[s.l.]:[s.n.],1996.
[5] Mathias H,David G.SNMP versions 1&2 simple network management protocol theory and practice[M].London:International Thomson Computer Press,1995.
[6] 吳黎兵,崔建群,吳產(chǎn)樂(lè),等.SNMP管理者協(xié)議實(shí)現(xiàn)的關(guān)鍵技術(shù)[J].計(jì)算機(jī)工程,2004,30(21):85-86.
[7] 張大陸,高 方.基于SNMP的計(jì)算資源管理系統(tǒng)的設(shè)計(jì)[J].計(jì)算機(jī)工程,2004,30(20):98-100.
[8] Presuhn R.Management information base (MIB) for the simple network management protocol (SNMP)[S].[s.l.]:[s.n.],2002.
[9] 馮興樂(lè),姜云國(guó),宋 凡,等.面向智能家居監(jiān)控系統(tǒng)的SNMP協(xié)議設(shè)計(jì)[J].測(cè)控技術(shù),2014,33(8):88-90.
[10] 楊妮妮,趙新慧,李文超,等.基于Web的SNMP網(wǎng)絡(luò)管理[J].微計(jì)算機(jī)信息,2006,22(2-3):110-111.
[11] 李 莉,韓春燕,張 煒,等.基于SNMP的信息化小區(qū)網(wǎng)管系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].小型微型計(jì)算機(jī)系統(tǒng),2002,23(2):207-209.
[12] 吳海峰,張?jiān)铝?基于SNMP的網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)算法[J].大連理工大學(xué)學(xué)報(bào),2005,45(z1):65-68.
[13] 李 琳,李 杰.基于SNMP的網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)算法[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,29(6):1345-1347.
[14] 王志剛,王汝傳,王紹棣,等.網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)算法的研究[J].通信學(xué)報(bào),2004,25(8):36-43.
Design of Embedded Terminal State Management System Based on SNMP
LI Tai-guo1,WANG Zhi-long2,LI Wen-xin1,CAO Jing-shu1,WANG Shi-jia1,XIA Jia-gao1
(1.Lanzhou Institute of Physics,Lanzhou 730000,China; 2.Lanzhou Institute of Technology,Lanzhou 730000,China)
With the purpose to support debugging,unit testing,system test and troubleshooting on a spacecraft embedded network terminal,the implementation of the embedded terminal state management system based on SNMP is researched.Based on the introduction of the principle and working environment of SNMP,the design of the embedded terminal software based on KSZ8851 Ethernet controller is analyzed in detail.In the host computer,WinSNMP,socket,and multi-thread technology is used to realize management and testing of spacecraft network terminal state.The test results show that the system can be effective for overall monitoring of information terminal,which is stable and reliable,and convenient for maintenance and operation,with simple method.It has a certain practical value.
embedded terminal;SNMP;WinSNMP;socket;multi-thread technology
2015-04-14
2015-09-15
時(shí)間:2016-07-29
國(guó)家自然科學(xué)基金資助項(xiàng)目(11161041)
李泰國(guó)(1985-),男,碩士研究生,工程師,研究方向?yàn)榭臻g物理電子學(xué)。
http://www.cnki.net/kcms/detail/61.1450.TP.20160729.1833.010.html
TP302
A
1673-629X(2016)08-0138-05
10.3969/j.issn.1673-629X.2016.08.029