999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

SNMP代理和W eb網管系統的設計與實現

2012-06-09 10:15:32步園明
電子設計工程 2012年2期
關鍵詞:定義程序管理

步園明

(江南大學 物聯網工程學院,江蘇 無錫 214122)

SNMP在網絡管理領域有著重要地位,但傳統的基于SNMP的網絡管理多采用C/S結構[1]。隨著網絡技術的發展和網絡規模的擴大,這種網絡管理方式逐漸顯露出其缺點,如管理平臺開發費用高,用戶要掌握復雜的系統安裝、維護技術,不便于遠程訪問和分布式管理等。與現有的網絡管理方法相比,基于Web的網絡管理具有許多優勢。采用瀏覽器代替傳統的GUI或命令行界面,大大簡化了用戶界面;進行遠程管理,突破地理限制,以前必須在中心的工作站上得到的信息,現在在任何地方都可以得到;大大降低了成本,瀏覽器可以在絕大多數平臺上運行,使得以前只能在昂貴的Unix工作站上進行的工作,現在在廉價的PC上也可以完成[2]。

然而,盡管基于Web的網絡管理有著諸多優點,但目前卻無法取代現有的管理方式[3]。這是因為嵌入式Web服務器的能力有限,難以提供SNMP代理那樣豐富的管理信息;此外,基于Web的網絡管理缺乏統一的國際標準,這些因素制約了Web管理技術的發展。因此,出現了將基于Web的管理技術與SNMP管理技術相結合這一新型的管理技術。

1 系統的軟件結構

網絡管理系統的軟件結構如圖1所示。用戶通過Web瀏覽器向管理工作站上的Web服務器發出HTTP格式的管理請求,Web 服務器通過 PHP (PHP,Hypertext Preprocessor)程序解釋這一請求,并將其發送給網管工作站上的SNMP管理應用程序 (或者直接從數據庫中提取所需數據),SNMP管理應用程序將請求封裝成SNMP PDU,然后發送給嵌入在被管設備中的SNMP Agent。Agent對SNMP請求做出響應后,將響應結果返回給SNMP管理應用程序,SNMP管理應用程序將它返回給PHP程序 (或存入數據庫),PHP程序返回給Web服務器,最后Web服務器送回HTML頁面,將結果顯示在Web瀏覽器中。

圖1 系統軟件結構Fig.1 Software structure of the system

在這一過程中,網管工作站扮演了服務器和客戶端的雙重角色。作為Server,它向Web客戶端提供HTTP服務,同時,它又作為Client,訪問被管設備上SNMP代理提供的SNMP服務。

2 嵌入式SNMP Agent的實現

2.1 硬件環境

KT505是徐州博聯科技有限公司生產的一款網關,能夠利用SHDSL技術經普通電話線長距離傳輸以太網信號,可用于同時傳送數據、語音、圖象和視頻信息。在一對0.5 mm線徑 (24 awg)的普通電話線上,當實時連續傳輸速率為2.304 Mbps時,傳輸距離可達3.5 km,大大延長了以太網電纜傳輸的通信距離。KT505提供4個10 M/100 M自適應以太網接口,1個console口和一個電話線接口,具有橋接/路由功能。該設備的設計和實現基于嵌入式技術,采用嵌入式Linux操作系統平臺。

2.2 軟件實現

2.2.1 M IB設計

通常,網絡資源被抽象為對象進行管理。對象的集合被組織為管理信息庫(Management Information Base,MIB)。對代理端來說,MIB記錄了可管理的對象的屬性集合;在管理工作站方,需要輪詢時,把對應的MIB轉換成中間結構通過網絡傳遞給代理端,代理端輪詢資料后反饋給管理工作站。

設計網絡設備MIB樹的工作實際就是規劃設備的私有MIB樹。其過程就是將設備的控制點分門別類,再用ASN.1語法規則將其描述出來[4]。文中根據KT505的管理需要規劃出了私有MIB結構,對各節點的名稱、位置、類型、訪問權限和簡單注釋等做出了定義。

KT505的MIB結構分為以下幾個部分:

1)global,定義了 KT505 的系統信息

①system節點定義了系統時間;

②mode節點定義了KT505的工作模式:網橋或者路由;

③snmpConfig節點下又定義了sysSnmpCommunityConfig和snmpTrapCfgTable兩個節點。這兩個節點中分別定義了SNMP的讀共同體、寫共同體、陷阱共同體和Trap的索引號、發送至主機IP、發送Trap端口;

2)portConfig,定義了LAN口和DSL口的基本信息

① lanPort 節 點 下 定 義 了 portEnable、lanSelfAdapting、duplex、speed4個子節點,分別代表了LAN口的使能與否、是否自適應、全/半雙工選擇、LAN口速率等信息。

②dslPort節點下定義了stuType、standard和dataRate3個子節點。stuType節點表示選擇KT505是工作于CO(中心局端,Center Office)模式,還是 RT(客戶端,Remote Terminal)模式;standard表示DSL采用的標準;dataRate是DSL的傳輸速率。

3)advancedConfig節點定義了網橋或路由工作模式下的一些高級設置

①bridgeIPConfig,包含工作在網橋模式下的KT505的IP地址和子網掩碼;

②routerConfig,其下又定義了lanRouterConfig、wanRouter Config、ripEnable、ripVersion、staticRoutingTable5 個子節點。

lanRouterConfig定義了路由模式下LAN口的IP地址和子網掩碼的信息;

wanRouterConfig定義了WAN口采用的協議、WAN口的IP地址、子網掩碼、遠端IP、用戶名和密碼;

ripEnable和ripVersion分別表示RIP協議的使能和RIP協議的版本;

staticRoutingTable定義了靜態路由信息表。

2.2.2 代理程序實現

LIANG Yuan-yuan, YUAN Wang, HUANG Ping, GUO Xin, XU Jia-jie, JIANG Jian

嵌入式代理的開發使用了Net-SNMP軟件,通過這個軟件可以實現代理的主體功能,其他擴展功能再根據需要進行二次開發。本文使用的是Net-SNMP 5.1,首先要將該軟件包移植到基于嵌入式Power PC平臺的目標板中,移植成功后就可以利用該軟件和自己設計的MIB文件生成代理程序的框架。

生成代理程序的框架的方法如下,首先將KT505.txt拷入/home/opt/eldk/ppc_8xx/usr/local/snmp/share/snmp/mibs/目 錄下,運行下面的命令加載MIB文件。

#export MIBS=all

#export MIBDIRS=/home/opt/eldk/ppc_8xx/usr/local/snmp/share/snmp/mibs

然后使用mib2c工具生成與MIB文件相對應的.c和.h文件:

#env MIBS="+KT505"mib2c kt505

生成的兩個文件為kt505.c和kt505.h。由mib2c生成的文件是一個大致的代理程序框架,其中頭文件是對節點進行宏定義,函數聲明。C文件分為兩大塊:一是初始化函數,主要用來對變量注冊;二是響應函數,用來響應管理端的查詢命令,響應函數的返回值,就是我們要手工實現的內容[5-6]。

所要做的工作就是把數據以一種合理的方式導入到代理程序框架中,主要是在初始化函數init_kt505()中對變量進行注冊和初始化;在var_kt505()函數中實現對變量的get和set操作:在這個函數中的 switch(vp->magic){}語句里,各個case的常量表達式對應了各個結點,要在每一個case分支中填充對結點變量進行get和set的具體操作代碼。

之后即可進行可執行代理程序的生成。把編輯好的kt505.c和kt505.h拷貝到Net-SNMP源代碼目錄下的agent/mibgroup中,對Net-SNMP軟件包進行重新編譯,編譯選項配置命令./configure 中增加--with-mib-moudles=”KT505”,使生成的可執行程序snmpd支持新擴展的MIB。此時的snmpd即是本文要實現的代理Agent,可將其拷入目標板的文件系統中,并在目標板啟動時運行snmpd進程。

3 網絡管理端的實現

網絡管理端通過在Windows客戶機上使用Telnet遠程登錄Linux服務器的方式進行開發。在開發過程中使用到了兩款軟件,一款為在開發代理端時使用的Net-SNMP 5.1,另一款為XAMPP。XAMPP是一個易于安裝的Apache發行版,并包含了MySQL和PHP等組件,本文中使用的是XAMPP 1.68 for Linux。

3.1 W eb服務模塊

Web服務模塊的工作流程如圖2所示。用戶首先在瀏覽器端輸入管理端Web服務器的IP或域名,進行登錄認證后,即可看到網絡管理系統的主頁面index.htm。在主頁面中,用戶可進行用戶管理和設備管理等操作。

圖2 Web服務模塊工作流程Fig.2 Flow chart of Web module

當用戶有與服務器端進行交互的需求時,將通過FORM表單向Web服務器發送信息,激活一個PHP程序,一般格式如下:

METHOD屬性指定將數據傳送到Web服務器的方法。在使用GET方法時,表單數據會附加在所指向PHP腳本的URL后一起發送給Web服務器,Web服務器將收到的表單數據賦予環境變量QUERY_STRING。而POST方法通過使用標準輸入將表單數據傳送給Web服務器,Web服務器啟動指定的腳本,并將用戶提供的數據傳入該腳本。ACTION屬性指定了將處理表單數據的PHP程序的URL。

Web服務器將表單數據以下列格式傳遞給PHP程序:

name1=value1&name2=value2&name3=value3……

name和value是表單中元素的名稱和取值。

然后,PHP程序將提取交互信息。PHP程序將通過$_GET變量獲取通過GET方法發送的表單數據,通過$_POST變量獲取通過POST方法發送的表單數據,或者使用$_REQUEST變量,它能獲取通過GET方法或POST方法發送的表單數據。

接下來,PHP程序會將提取到的交互表單數據傳入協議轉換模塊。從協議轉換模塊傳回的響應值通過PHP程序輸出到.htm文件中,在Web瀏覽器上顯示出來。

3.2 協議轉換模塊

由系統的軟件結構圖如圖1所示,可以看出,網管工作站實現了一種類似協議轉換的功能,完成了HTTP協議和SNMP協議之間的轉換。

當用戶需要對設備進行配置等管理操作時,將通過SNMP管理應用程序對被管設備的Agent發送SNMP請求,來完成查詢和配置操作。SNMP管理應用程序使用PHP語言編寫,PHP提供了SNMP網管函數庫,可以在PHP程序中調用Net-SNMP包中的接口函數。

下面以獲取DSL的服務類型為例,說明PHP-SNMP函數的實現。

snmpget()函數獲取PHP程序傳來的參數值:設備地址$nodeIP和SNMP共同體變量$community,返回指定設備中OID為”.1.3.6.1.4.1.5651.11.2.2.1.0”的對象值,并將該對象值賦值給PHP變量$stuType。

3.3 SNMP數據采集模塊

設備操作信息傳給SNMP管理應用程序后,SNMP管理應用程序與代理端的通信將通過報文交換實現。從SNMP管理應用程序這一端來看,發出的命令將啟動SNMP數據報的構造過程,該操作命令類型可能是Set、Get或是Get-Next等中的任何一種。SNMP管理應用程序將創建一個 SNMP報文,并填入合適的報文首部,以便通過網絡向目的代理進程傳送該報文。報文中指定了團體名稱Community、版本號和請求ID,還要確定PDU類型并且將變量綁定列表插入報文,然后將SNMP報文發送給UDP層進行傳送。報文發出之后,網絡管理應用程序一定要記住請求中的Request ID,以便于和隨后接收到的響應配對。SNMP管理端采集數據的流程如圖3所示。

圖3 SNMP管理端采集數據流程Fig.3 Data acquisition flow of SNMP manager

4 結束語

基于Web的網絡管理與傳統的網絡管理方式相比具有更高的性能價格比,使用方便靈活且便于擴展,是網絡管理發展的趨勢。文中采用SNMP網絡管理協議,融合Web技術,設計了一個B/S模式的網絡管理系統,并以徐州博聯科技有限公司的KT505產品作為具體被管設備對系統進行了實現。管理者只需要Web瀏覽器就可以隨時隨地對設備進行管理,并且不受管理者所使用操作系統類型的限制,大大增加了管理的靈活性和易操作性。

[1]張邦奎.簡析網絡管理技術的運用和發展趨勢[J].中小企業管理與科技,2009(21):277.ZHANG Bang-kui.Brief analysis on application and development tendency of the network management technology.Management&Technology of SME,2009(21):277.

[2]肖德寶,徐慧.網絡管理理論與技術[M].武漢:華中科技大學出版社,2009.

[3]劉翔,沈明玉.基于SNMP與Web的服務監控系統[J].合肥工業大學學報:自然科學版,2008,31(1):44-47.LIU Xiang,SHEN Ming-yu.Design ofa server monitoring system based on the SNMP and Web[J].Journal of Hefei University of Technology:Natural Science,2008,31(1):44-47.

[4]Dubuisson O.ASN.1-Communication between heterogeneous systems[M].Morgan Kaufmann Publishers,2000.

[5]呂鋒,閔迪.嵌入式Power PC Linux環境下基于Net-SNMP的代理開發[J].武漢理工大學學報:信息與管理工程版,2006,28(5):51-54.LV Feng,MIN Di.Agent development based on Net-SNMP in Linux for embedded Power PC environment[J].Journal of Wuhan University of Technology:Information&Management Engineering, 2006, 28(5):51-54.

[6]王禮德,向良軍,鄭林華.基于SNMP的通用網管代理軟件的設計[J].科技信息,2007(29):419-420.WANG Li-de,XIANG Liang-jun,ZHENG Lin-hua.Design of generic network management agent software based on SNMP[J].Science&Technology Information,2007(29):419-420.

猜你喜歡
定義程序管理
棗前期管理再好,后期管不好,前功盡棄
今日農業(2022年15期)2022-09-20 06:56:20
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
“這下管理創新了!等7則
雜文月刊(2016年1期)2016-02-11 10:35:51
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
人本管理在我國國企中的應用
現代企業(2015年8期)2015-02-28 18:54:47
修辭學的重大定義
當代修辭學(2014年3期)2014-01-21 02:30:44
山的定義
公務員文萃(2013年5期)2013-03-11 16:08:37
主站蜘蛛池模板: 欧美精品高清| 中文纯内无码H| 欧美激情福利| 国产对白刺激真实精品91| 久久成人18免费| 亚洲一区二区三区中文字幕5566| 91av国产在线| 在线欧美一区| 国产精品第| 久青草网站| 97国产在线观看| 国产九九精品视频| 亚洲毛片一级带毛片基地| 色偷偷综合网| 国产综合在线观看视频| 久久99国产综合精品1| 99精品在线看| 亚洲人成网7777777国产| 2021无码专区人妻系列日韩| 久久综合AV免费观看| 人妻中文字幕无码久久一区| 午夜视频在线观看免费网站| 亚洲欧美综合在线观看| 九九热免费在线视频| 国产中文在线亚洲精品官网| 国产精品亚欧美一区二区三区| 国产视频只有无码精品| 午夜日b视频| 91麻豆国产精品91久久久| 日韩高清一区 | 日日碰狠狠添天天爽| 8090午夜无码专区| 无码内射在线| 天天综合网色中文字幕| 亚洲精品国产综合99久久夜夜嗨| 国产成人啪视频一区二区三区| 黄色在线不卡| 欧美精品成人一区二区视频一| 99免费在线观看视频| 日本欧美在线观看| 日韩无码黄色| 毛片久久久| 激情午夜婷婷| 999国内精品久久免费视频| 亚洲视频色图| 国语少妇高潮| 无码中文字幕乱码免费2| 露脸国产精品自产在线播| 亚洲精品第一在线观看视频| 狠狠色丁香婷婷综合| 亚洲欧美成人在线视频| 成人午夜网址| 欧美日韩一区二区三区在线视频| 精品国产成人三级在线观看| 在线人成精品免费视频| 国产精品无码在线看| 免费中文字幕一级毛片| 国产欧美日韩综合一区在线播放| 国产精品七七在线播放| 欧美中日韩在线| 99热这里只有精品免费国产| 色婷婷成人| 97精品久久久大香线焦| 伊人婷婷色香五月综合缴缴情| 国产人成乱码视频免费观看| 免费看a毛片| 一本一本大道香蕉久在线播放| 成人va亚洲va欧美天堂| 国产天天色| 久夜色精品国产噜噜| 日韩欧美视频第一区在线观看| 91小视频版在线观看www| 中日无码在线观看| 熟妇人妻无乱码中文字幕真矢织江| 一本无码在线观看| 日韩第八页| 18禁影院亚洲专区| 国产精品网曝门免费视频| 亚洲国产精品久久久久秋霞影院| 69av免费视频| 亚洲国产在一区二区三区| 成人午夜亚洲影视在线观看|