姚楠+康京山
摘 要
本文首先概要介紹了簡單網(wǎng)絡(luò)管理協(xié)議(SNMP)和NET-SNMP軟件包。在此基礎(chǔ)上介紹了如何利用NET-SNMP軟件開發(fā)包在Linux系統(tǒng)上實(shí)現(xiàn)嵌入式SNMP網(wǎng)絡(luò)管理軟件的基本流程。為種類繁多的網(wǎng)絡(luò)設(shè)備提供了一種簡單、快速的嵌入式網(wǎng)管開發(fā)方法。
【關(guān)鍵詞】Linux NET-SNMP SNMP 網(wǎng)絡(luò)管理
【關(guān)鍵詞】Linux NET-SNMP SNMP 網(wǎng)絡(luò)管理
隨著下一代網(wǎng)絡(luò)技術(shù)的廣泛應(yīng)用,網(wǎng)絡(luò)設(shè)備的可管可控性呈現(xiàn)出越來越重要的意義。然而,當(dāng)前的電信網(wǎng)絡(luò)和業(yè)務(wù)系統(tǒng)設(shè)備軟硬件平臺(tái)大多采用封閉私有技術(shù),影響了電信網(wǎng)絡(luò)的可管理性和可擴(kuò)展性,同時(shí)各設(shè)備之間也不能有效的實(shí)現(xiàn)應(yīng)用共享及協(xié)同工作,新業(yè)務(wù)開發(fā)速度慢,造成電信網(wǎng)絡(luò)投資和運(yùn)營成本較高,開發(fā)和部署速度遲緩,不能快速滿足用戶大量快速多變的數(shù)據(jù)業(yè)務(wù)開發(fā)需求。
針對上述問題,本文提出基于Linux平臺(tái)的嵌入式網(wǎng)絡(luò)管理軟件的快速開發(fā)方案,通過SNMP協(xié)議對被管網(wǎng)絡(luò)設(shè)備進(jìn)行管控操作。具有實(shí)現(xiàn)簡單,開發(fā)速度快等特點(diǎn),很好地實(shí)現(xiàn)了網(wǎng)絡(luò)管控設(shè)備的敏捷開發(fā)。
1 嵌入式網(wǎng)管軟件簡介
隨著網(wǎng)絡(luò)的規(guī)模迅速增加,節(jié)點(diǎn)數(shù)隨之大幅增多,不同廠家,不同類型的大量網(wǎng)絡(luò)設(shè)備加入網(wǎng)絡(luò)后,增加了網(wǎng)絡(luò)的復(fù)雜度。由于這些網(wǎng)絡(luò)設(shè)備大多采用了封閉的配置管理手段,因此給傳統(tǒng)上集中式的網(wǎng)絡(luò)管理帶來極大不便。以思科、華為、中興等廠家的路由器為例,其配置手段雖然多種多樣,但都存在操作繁瑣等缺點(diǎn)。為此,需要培訓(xùn)大量的網(wǎng)絡(luò)維護(hù)人員來維護(hù)著網(wǎng)絡(luò)的快速開通和通暢。目前在網(wǎng)絡(luò)控制管理方面,集中式與分布式相結(jié)合的方式已經(jīng)成為必然趨勢。然而單純增加分布式網(wǎng)絡(luò)管控設(shè)備的數(shù)量又不利于降低系統(tǒng)整體功耗。
為減少分布式網(wǎng)管設(shè)備的功耗,加快網(wǎng)絡(luò)開通速度,在此利用嵌入式系統(tǒng)低功耗、高效率的特點(diǎn),以及各網(wǎng)絡(luò)設(shè)備大多支持SNMP協(xié)議的特點(diǎn),把嵌入式技術(shù)與網(wǎng)絡(luò)管理技術(shù)相結(jié)合進(jìn)行研究,設(shè)計(jì)并實(shí)現(xiàn)嵌入式網(wǎng)管系統(tǒng),以達(dá)到高效率、低功耗和分布式的目的。
嵌入式網(wǎng)管軟件基于Intel i7硬件平臺(tái)和RHEL 6.3 Linux操作系統(tǒng),與管控設(shè)備上的其它軟件模塊處于同一平臺(tái)。采用NET-SNMP軟件包開發(fā)網(wǎng)絡(luò)管控設(shè)備與被管設(shè)備之間的接口軟件,并為管控設(shè)備的上層軟件模塊提供開放的API接口。上層應(yīng)用軟件通過調(diào)用API函數(shù)向被管設(shè)備下發(fā)管控命令,從而實(shí)現(xiàn)網(wǎng)管管理。
2 SNMP協(xié)議
簡單網(wǎng)絡(luò)管理協(xié)議(Simple Network Management Protocol, SNMP)是很著名的網(wǎng)絡(luò)管理協(xié)議,被廣泛應(yīng)用于數(shù)據(jù)通訊領(lǐng)域以及用于監(jiān)視應(yīng)用。SNMP在最初設(shè)計(jì)時(shí)首要的目的是簡單——即對于被管設(shè)備(硬件資源有限)而言,在其上面易于實(shí)現(xiàn)代理。
SNMP到目前為止有三個(gè)版本,其中SNMP vl是SNMP的經(jīng)典版本,其后的版本均是在此版本之上進(jìn)行的升級和改進(jìn),但在實(shí)際應(yīng)用中SNMP v2c使用最多。
SNMP定義了5種報(bào)文:get-request操作:從代理進(jìn)程處提取一個(gè)或多個(gè)參數(shù)值。get-next-request操作:從代理進(jìn)程處提取一個(gè)或多個(gè)參數(shù)的下一個(gè)參數(shù)值。set-request操作:設(shè)置代理進(jìn)程的一個(gè)或多個(gè)參數(shù)值。get-response操作:返回的一個(gè)或多個(gè)參數(shù)值。這個(gè)操作是由代理進(jìn)程發(fā)出的。它是前面3中操作的響應(yīng)操作。trap操作:代理進(jìn)程主動(dòng)發(fā)出的報(bào)文,通知管理進(jìn)程有某些事情發(fā)生。前面的3個(gè)操作是由管理進(jìn)程向代理進(jìn)程發(fā)出的。后面兩個(gè)是代理進(jìn)程發(fā)給管理進(jìn)程的。
3 NET-SNMP軟件包介紹
NET-SNMP是一套優(yōu)秀的開源snmp工具包,使用它可以開發(fā)snmp代理程序,也可以開發(fā)snmp管理程序,目前最新的版本已經(jīng)支持snmp v3。
NET-SNMP源于卡耐基梅隆大學(xué)的SNMP軟件包CMU snmp 2.1.2.1,后由加州大學(xué)Davis分校(UniversityofCalifoniaatDavis)開發(fā)與維護(hù),被命名為UCD-SNMP。2000年11月UCD-SNMP項(xiàng)目轉(zhuǎn)到由SourceForge(www.sourceforge.net)管理,并更名為NET-SNMP。UCD-SNMP4.2是以UCD-SNMP命名的最后的一個(gè)主要版本。也就是說,以后發(fā)布的UCD-SNMP 4.2.x只是修改軟件包中的Bugs;而大的修改版本以NET-SNMP命名,并發(fā)布為NET-SNMP 5.x。NET-SNMP 5.7.1是目前較新版本。
NET-SNMP的主要內(nèi)容包括:
(1)完整的API用于SNMP(支持V1、V2、V3版本)應(yīng)用開發(fā)(包括c、perl、Python等的API);
(2)一個(gè)可擴(kuò)展的SNMP代理程序(snmpd);開發(fā)員可以擴(kuò)展自己的代理程序;
(3)一套工具命令集(snmpget、snmpset、snmptrap、snmpwalk、snmp等);
(4)一個(gè)trap接收進(jìn)程,用于接收和顯示trap。并可以將trap記錄到日志文件里;
(5) 一個(gè)圖形化的MIB瀏覽工具(tkmib:基于Tk/Perl的)。
使用NET-SNMP軟件包開發(fā)代理端軟件比較常用,互聯(lián)網(wǎng)上可以查到很多相關(guān)資料,本文不再重復(fù)。這里主要介紹應(yīng)用NET-SNMP開發(fā)管理端軟件的方法。
4 嵌入式網(wǎng)管軟件的實(shí)現(xiàn)
嵌入式網(wǎng)管軟件在Linux操作系統(tǒng)上進(jìn)行應(yīng)用開發(fā),根據(jù)功能不同可分為三個(gè)軟件模塊:網(wǎng)管通信模塊、控制命令處理模塊及控制管理模塊。如圖1所示。
其中控制管理模塊負(fù)責(zé)生成管控命令,并通過內(nèi)部消息將之下發(fā)給控制命令處理模塊,等待接收響應(yīng)結(jié)果。endprint
控制命令處理模塊負(fù)責(zé)管控命令的解析與網(wǎng)管通信命令的封裝,能從控制管理模塊獲取的管控指令解析出具體信息,并通過調(diào)用網(wǎng)管通信模塊的API函數(shù)實(shí)現(xiàn)查詢和配置管理。
網(wǎng)管通信模塊主要負(fù)責(zé)與管理站進(jìn)行SNMP協(xié)議通信及與控制命令處理模塊通信,能將控制命令處理模塊的指令封裝成SNMP協(xié)議報(bào)文轉(zhuǎn)發(fā)給被管設(shè)備。
下面分別介紹嵌入式網(wǎng)管軟件的實(shí)現(xiàn)方法。
4.1 安裝NET-SNMP軟件包
之所以要先安裝一個(gè)可運(yùn)行的NET-SNMP系統(tǒng),是因?yàn)槲覀冮_發(fā)程序運(yùn)行環(huán)境需要使用SNMP協(xié)議的配置文件;另外,還可以利用NET-SNMP提供的命令工具來測試程序。
NET-SNMP包目前可以移植的版本包括各種UNIX(基于SYSTEM V內(nèi)核及基于BSD內(nèi)核)、Linux、Windows版本。目前NET-SNMP包的安裝主要有程序編譯安裝與二進(jìn)制文件安裝兩種方式,源程序安裝可以從NET-SNMP的官網(wǎng)下載。
Linux系統(tǒng)下安裝net-snmp-5.7.1步驟:
(1)下載net-snmp-5.7.1.tar.gz文件
(2)使用命令tar –xvf net-snmp-5.7.1.tar.gz解壓
(3)進(jìn)入net-snmp-5.7.1文件夾,執(zhí)行./configure --prefix=/usr/net-snmp/ --enable-embedded-perl --enable-shared --with-perl-modules
(4)執(zhí)行make
(5)執(zhí)行make install
4.2 配置NET-SNMP
使用NET-SNMP之前需要進(jìn)行環(huán)境設(shè)置,否則無法查詢到希望的結(jié)果。配置NET-SNMP重要的是配置snmpd.conf文件,其中最重要的是配置共同體(community)。因?yàn)楣餐w定義了認(rèn)證、訪問控制和代理的特性,每個(gè)共同體擁有一個(gè)唯一的名字,共同體中的管理端必須使用該共同體的community進(jìn)行GET和SET操作。所以,共同體也是訪問口令。還有就是trap/notification的發(fā)送地址,即trapsink或trap2sink項(xiàng),trapsink對應(yīng)snmp vl的trap,trap2sink對應(yīng)snmp v2的notification。
配置snmpd.conf文件,可以直接手動(dòng)修改/usr/net-snmp/share/snmp路徑下的同名文件。將文件中rwcommunity、rocommunity所對應(yīng)的讀寫、只讀團(tuán)體名修改為系統(tǒng)所需字段即可。其余修改內(nèi)容可參考NET-SNMP相關(guān)幫助自行決定。
4.3 編寫網(wǎng)管通信模塊API函數(shù)
為了實(shí)現(xiàn)SNMP協(xié)議通信,網(wǎng)管通信模塊需要利用net-snmp-5.7.1實(shí)現(xiàn)管理端的三個(gè)功能,get,getnext,set。
下面以set命令為例,簡單說明函數(shù)的實(shí)現(xiàn)方式。
首先編寫網(wǎng)管通信模塊程序需包含以下三個(gè)頭文件:
#include
#include
#include
實(shí)現(xiàn)set命令的基本步驟:
(1)調(diào)用init_snmp("set")函數(shù)初始化snmp;
(2)調(diào)用snmp_sess_init( &session )初始化結(jié)構(gòu)session,然后用一些賦值語句設(shè)置session;
(3)調(diào)用snmp_open(&session),打開SNMP session;
(4)調(diào)用snmp_pdu_create(SNMP_MSG_SET)創(chuàng)建snmp pdu;
(5)調(diào)用snmp_parse_oid根據(jù)mib分析parse oid;
(6)調(diào)用snmp_add_var為SET request添加對象名及值;
(7)調(diào)用snmp_synch_response發(fā)送SET request報(bào)文。
函數(shù)中的session字段是名為netsnmp_session的結(jié)構(gòu),在其中定義了SNMP協(xié)議的版本、團(tuán)體名及發(fā)送UDP端口號(hào)等內(nèi)容,需特別注意。
5 結(jié)束語
本文首先介紹了嵌入式網(wǎng)管軟件的意義和特點(diǎn);然后給出了SNMP協(xié)議本身的管理模型和基本原理。在此基礎(chǔ)上結(jié)合NET-SNMP軟件包詳細(xì)地介紹了在嵌入式網(wǎng)管軟件在Linux平臺(tái)下的開發(fā)過程。
參考文獻(xiàn)
[1]胡方煒.基于嵌入式Linux系統(tǒng)的SNMP代理開發(fā)研究[D].浙江工業(yè)大學(xué),2004.
[2]IETF.RFCll57 A Simple Network Management Protocol(SNMP).May 1990.
[3]IETF.RFCl901.Introduction to Comm-unity·based SNMPv2.January 1996.
[4]Net-Snmp官方網(wǎng)站:http://www.source-forge.net.
作者簡介
姚楠(1979-),男,現(xiàn)為中國電科第五十四所通信系統(tǒng)與網(wǎng)絡(luò)專業(yè)部工程師。主要研究方向?yàn)橥ㄐ畔到y(tǒng)與網(wǎng)絡(luò)。
作者單位
中國電子科技集團(tuán)公司第五十四研究所 河北省石家莊市 050081
控制命令處理模塊負(fù)責(zé)管控命令的解析與網(wǎng)管通信命令的封裝,能從控制管理模塊獲取的管控指令解析出具體信息,并通過調(diào)用網(wǎng)管通信模塊的API函數(shù)實(shí)現(xiàn)查詢和配置管理。
網(wǎng)管通信模塊主要負(fù)責(zé)與管理站進(jìn)行SNMP協(xié)議通信及與控制命令處理模塊通信,能將控制命令處理模塊的指令封裝成SNMP協(xié)議報(bào)文轉(zhuǎn)發(fā)給被管設(shè)備。
下面分別介紹嵌入式網(wǎng)管軟件的實(shí)現(xiàn)方法。
4.1 安裝NET-SNMP軟件包
之所以要先安裝一個(gè)可運(yùn)行的NET-SNMP系統(tǒng),是因?yàn)槲覀冮_發(fā)程序運(yùn)行環(huán)境需要使用SNMP協(xié)議的配置文件;另外,還可以利用NET-SNMP提供的命令工具來測試程序。
NET-SNMP包目前可以移植的版本包括各種UNIX(基于SYSTEM V內(nèi)核及基于BSD內(nèi)核)、Linux、Windows版本。目前NET-SNMP包的安裝主要有程序編譯安裝與二進(jìn)制文件安裝兩種方式,源程序安裝可以從NET-SNMP的官網(wǎng)下載。
Linux系統(tǒng)下安裝net-snmp-5.7.1步驟:
(1)下載net-snmp-5.7.1.tar.gz文件
(2)使用命令tar –xvf net-snmp-5.7.1.tar.gz解壓
(3)進(jìn)入net-snmp-5.7.1文件夾,執(zhí)行./configure --prefix=/usr/net-snmp/ --enable-embedded-perl --enable-shared --with-perl-modules
(4)執(zhí)行make
(5)執(zhí)行make install
4.2 配置NET-SNMP
使用NET-SNMP之前需要進(jìn)行環(huán)境設(shè)置,否則無法查詢到希望的結(jié)果。配置NET-SNMP重要的是配置snmpd.conf文件,其中最重要的是配置共同體(community)。因?yàn)楣餐w定義了認(rèn)證、訪問控制和代理的特性,每個(gè)共同體擁有一個(gè)唯一的名字,共同體中的管理端必須使用該共同體的community進(jìn)行GET和SET操作。所以,共同體也是訪問口令。還有就是trap/notification的發(fā)送地址,即trapsink或trap2sink項(xiàng),trapsink對應(yīng)snmp vl的trap,trap2sink對應(yīng)snmp v2的notification。
配置snmpd.conf文件,可以直接手動(dòng)修改/usr/net-snmp/share/snmp路徑下的同名文件。將文件中rwcommunity、rocommunity所對應(yīng)的讀寫、只讀團(tuán)體名修改為系統(tǒng)所需字段即可。其余修改內(nèi)容可參考NET-SNMP相關(guān)幫助自行決定。
4.3 編寫網(wǎng)管通信模塊API函數(shù)
為了實(shí)現(xiàn)SNMP協(xié)議通信,網(wǎng)管通信模塊需要利用net-snmp-5.7.1實(shí)現(xiàn)管理端的三個(gè)功能,get,getnext,set。
下面以set命令為例,簡單說明函數(shù)的實(shí)現(xiàn)方式。
首先編寫網(wǎng)管通信模塊程序需包含以下三個(gè)頭文件:
#include
#include
#include
實(shí)現(xiàn)set命令的基本步驟:
(1)調(diào)用init_snmp("set")函數(shù)初始化snmp;
(2)調(diào)用snmp_sess_init( &session )初始化結(jié)構(gòu)session,然后用一些賦值語句設(shè)置session;
(3)調(diào)用snmp_open(&session),打開SNMP session;
(4)調(diào)用snmp_pdu_create(SNMP_MSG_SET)創(chuàng)建snmp pdu;
(5)調(diào)用snmp_parse_oid根據(jù)mib分析parse oid;
(6)調(diào)用snmp_add_var為SET request添加對象名及值;
(7)調(diào)用snmp_synch_response發(fā)送SET request報(bào)文。
函數(shù)中的session字段是名為netsnmp_session的結(jié)構(gòu),在其中定義了SNMP協(xié)議的版本、團(tuán)體名及發(fā)送UDP端口號(hào)等內(nèi)容,需特別注意。
5 結(jié)束語
本文首先介紹了嵌入式網(wǎng)管軟件的意義和特點(diǎn);然后給出了SNMP協(xié)議本身的管理模型和基本原理。在此基礎(chǔ)上結(jié)合NET-SNMP軟件包詳細(xì)地介紹了在嵌入式網(wǎng)管軟件在Linux平臺(tái)下的開發(fā)過程。
參考文獻(xiàn)
[1]胡方煒.基于嵌入式Linux系統(tǒng)的SNMP代理開發(fā)研究[D].浙江工業(yè)大學(xué),2004.
[2]IETF.RFCll57 A Simple Network Management Protocol(SNMP).May 1990.
[3]IETF.RFCl901.Introduction to Comm-unity·based SNMPv2.January 1996.
[4]Net-Snmp官方網(wǎng)站:http://www.source-forge.net.
作者簡介
姚楠(1979-),男,現(xiàn)為中國電科第五十四所通信系統(tǒng)與網(wǎng)絡(luò)專業(yè)部工程師。主要研究方向?yàn)橥ㄐ畔到y(tǒng)與網(wǎng)絡(luò)。
作者單位
中國電子科技集團(tuán)公司第五十四研究所 河北省石家莊市 050081
控制命令處理模塊負(fù)責(zé)管控命令的解析與網(wǎng)管通信命令的封裝,能從控制管理模塊獲取的管控指令解析出具體信息,并通過調(diào)用網(wǎng)管通信模塊的API函數(shù)實(shí)現(xiàn)查詢和配置管理。
網(wǎng)管通信模塊主要負(fù)責(zé)與管理站進(jìn)行SNMP協(xié)議通信及與控制命令處理模塊通信,能將控制命令處理模塊的指令封裝成SNMP協(xié)議報(bào)文轉(zhuǎn)發(fā)給被管設(shè)備。
下面分別介紹嵌入式網(wǎng)管軟件的實(shí)現(xiàn)方法。
4.1 安裝NET-SNMP軟件包
之所以要先安裝一個(gè)可運(yùn)行的NET-SNMP系統(tǒng),是因?yàn)槲覀冮_發(fā)程序運(yùn)行環(huán)境需要使用SNMP協(xié)議的配置文件;另外,還可以利用NET-SNMP提供的命令工具來測試程序。
NET-SNMP包目前可以移植的版本包括各種UNIX(基于SYSTEM V內(nèi)核及基于BSD內(nèi)核)、Linux、Windows版本。目前NET-SNMP包的安裝主要有程序編譯安裝與二進(jìn)制文件安裝兩種方式,源程序安裝可以從NET-SNMP的官網(wǎng)下載。
Linux系統(tǒng)下安裝net-snmp-5.7.1步驟:
(1)下載net-snmp-5.7.1.tar.gz文件
(2)使用命令tar –xvf net-snmp-5.7.1.tar.gz解壓
(3)進(jìn)入net-snmp-5.7.1文件夾,執(zhí)行./configure --prefix=/usr/net-snmp/ --enable-embedded-perl --enable-shared --with-perl-modules
(4)執(zhí)行make
(5)執(zhí)行make install
4.2 配置NET-SNMP
使用NET-SNMP之前需要進(jìn)行環(huán)境設(shè)置,否則無法查詢到希望的結(jié)果。配置NET-SNMP重要的是配置snmpd.conf文件,其中最重要的是配置共同體(community)。因?yàn)楣餐w定義了認(rèn)證、訪問控制和代理的特性,每個(gè)共同體擁有一個(gè)唯一的名字,共同體中的管理端必須使用該共同體的community進(jìn)行GET和SET操作。所以,共同體也是訪問口令。還有就是trap/notification的發(fā)送地址,即trapsink或trap2sink項(xiàng),trapsink對應(yīng)snmp vl的trap,trap2sink對應(yīng)snmp v2的notification。
配置snmpd.conf文件,可以直接手動(dòng)修改/usr/net-snmp/share/snmp路徑下的同名文件。將文件中rwcommunity、rocommunity所對應(yīng)的讀寫、只讀團(tuán)體名修改為系統(tǒng)所需字段即可。其余修改內(nèi)容可參考NET-SNMP相關(guān)幫助自行決定。
4.3 編寫網(wǎng)管通信模塊API函數(shù)
為了實(shí)現(xiàn)SNMP協(xié)議通信,網(wǎng)管通信模塊需要利用net-snmp-5.7.1實(shí)現(xiàn)管理端的三個(gè)功能,get,getnext,set。
下面以set命令為例,簡單說明函數(shù)的實(shí)現(xiàn)方式。
首先編寫網(wǎng)管通信模塊程序需包含以下三個(gè)頭文件:
#include
#include
#include
實(shí)現(xiàn)set命令的基本步驟:
(1)調(diào)用init_snmp("set")函數(shù)初始化snmp;
(2)調(diào)用snmp_sess_init( &session )初始化結(jié)構(gòu)session,然后用一些賦值語句設(shè)置session;
(3)調(diào)用snmp_open(&session),打開SNMP session;
(4)調(diào)用snmp_pdu_create(SNMP_MSG_SET)創(chuàng)建snmp pdu;
(5)調(diào)用snmp_parse_oid根據(jù)mib分析parse oid;
(6)調(diào)用snmp_add_var為SET request添加對象名及值;
(7)調(diào)用snmp_synch_response發(fā)送SET request報(bào)文。
函數(shù)中的session字段是名為netsnmp_session的結(jié)構(gòu),在其中定義了SNMP協(xié)議的版本、團(tuán)體名及發(fā)送UDP端口號(hào)等內(nèi)容,需特別注意。
5 結(jié)束語
本文首先介紹了嵌入式網(wǎng)管軟件的意義和特點(diǎn);然后給出了SNMP協(xié)議本身的管理模型和基本原理。在此基礎(chǔ)上結(jié)合NET-SNMP軟件包詳細(xì)地介紹了在嵌入式網(wǎng)管軟件在Linux平臺(tái)下的開發(fā)過程。
參考文獻(xiàn)
[1]胡方煒.基于嵌入式Linux系統(tǒng)的SNMP代理開發(fā)研究[D].浙江工業(yè)大學(xué),2004.
[2]IETF.RFCll57 A Simple Network Management Protocol(SNMP).May 1990.
[3]IETF.RFCl901.Introduction to Comm-unity·based SNMPv2.January 1996.
[4]Net-Snmp官方網(wǎng)站:http://www.source-forge.net.
作者簡介
姚楠(1979-),男,現(xiàn)為中國電科第五十四所通信系統(tǒng)與網(wǎng)絡(luò)專業(yè)部工程師。主要研究方向?yàn)橥ㄐ畔到y(tǒng)與網(wǎng)絡(luò)。
作者單位
中國電子科技集團(tuán)公司第五十四研究所 河北省石家莊市 050081