甲殼蟲論壇組網(wǎng)技術系列教程3adsl網(wǎng)管系統(tǒng)的實現(xiàn)_第1頁
甲殼蟲論壇組網(wǎng)技術系列教程3adsl網(wǎng)管系統(tǒng)的實現(xiàn)_第2頁
甲殼蟲論壇組網(wǎng)技術系列教程3adsl網(wǎng)管系統(tǒng)的實現(xiàn)_第3頁
甲殼蟲論壇組網(wǎng)技術系列教程3adsl網(wǎng)管系統(tǒng)的實現(xiàn)_第4頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、ADSL 是一項變得越來越為家庭和中小企業(yè)用戶所熟知的寬帶技術,它被稱為“非對稱”是由于其雙向或雙工帶寬中的大部分被分配給了下行方向,即向用戶發(fā)送數(shù)據(jù)的方向。ADSL 下行速率可高達6.1Mbps,而上行速率最多為640Kbps。由于 ADSL 技術具有在帶寬和資費上的優(yōu)勢,各 ISP 都在廣泛地推廣 ADSL 業(yè)務。一個大型 ISP 的網(wǎng)絡往往由許多節(jié)點組成,ADSL 設備被分布在各個節(jié)點中為用戶提供接入服務,同時每個節(jié)點中又可能存在不同廠家的或同一廠家的不同型號的 ADSL 設備。目前的情況是,各廠家提供的 ADSL系統(tǒng)只是針對本身設備或單個節(jié)點的 ADSL 設備進行網(wǎng)絡管理,而無法對 I

2、SP 所有各節(jié)點的不同種類的 ADSL 設備進行管理。筆者對黑龍江省所采用的 ADSL 設備進行了分析研究,開發(fā)出一套 ADSL 網(wǎng)絡管理系統(tǒng),將全省各節(jié)點的各種 ADSL 設備系統(tǒng)的總體設計到了一個管理上。為了提高整個系統(tǒng)的運行效率,同時也為了使系統(tǒng)管理員在系統(tǒng)時有一個好的程序相對獨立視覺效果,ADSL 網(wǎng)絡管理系統(tǒng)分為前臺和兩個部分。前、運行。前臺程序用 HTML 語言編寫,調用程序的輸出結果并加入說明。程序用 C的交互,語言編寫,負責數(shù)據(jù)、處理數(shù)據(jù)、生成結果輸出。另外,為了便于前臺和在系統(tǒng)中采用 CGI 技術來顯示 ADSL 接入設備的面板。這樣系統(tǒng)管理員在需要調用此網(wǎng)絡系統(tǒng)時,在任意計

3、算機上調用瀏覽器就可以看到相應 ADSL 設備的運行情況。對于一個 ADSL 網(wǎng)絡管理系統(tǒng)來說,第一步要做的事情就是ADSL 接入設備上有關接入端口當前占用情況的原始數(shù)據(jù)。利用 SNMP 協(xié)議來獲得這些數(shù)據(jù),通過開發(fā)基于 UDP 的 SNMP 通信程序取得 ADSL 接入設備上 MIB 中的相應項。如果沒有一個唯一對應的 MIB 項是所需要的,還可以通過取得 ADSL 上每個接入端口狀態(tài)的方法來最終統(tǒng)計出所需要的數(shù)據(jù)。在數(shù)據(jù)時生成兩種件:一種為.temp 文件,另一種為.che 文件。這兩種件都是文本文件。首先將取得的原始數(shù)據(jù)放入每臺 ADSL 接入設備所對應的數(shù)據(jù)庫中,因為對每臺 ADSL

4、接入設備來說,其槽位和端是固定的,所以此數(shù)據(jù)庫可以簡化為一個文本文件,其內容是順序存放的端口狀態(tài),而文件名則為相應 ADSL 接入設備的IP 地址.temp。這樣,當程序部分執(zhí)行完畢后,對每臺 ADSL 接入設備就有了一個唯一對應的件,文件內容為當前該設備各端口的狀態(tài)標識,每次程序執(zhí)行時這些件被清空重寫。.che件存放的內容為每天各節(jié)點的占用端口數(shù)及總的占用端口數(shù),每條對應兩個數(shù)據(jù)項,分別為端口數(shù)及所對應的時間。在程序的數(shù)據(jù)處理部分,其輸入為部分的輸出,可統(tǒng)計出現(xiàn)有設備的端口占用情況和設備的運行情況。系統(tǒng)的程序實現(xiàn)1總體流程前臺程序程序圖1 程序流程圖2SNMP 通信程序圖3 通信過程圖程序進

5、行時利用基于 UDP 的 SNMP 協(xié)議獲取 ADSL 接入設備上的端口狀態(tài)信息。利用 SNMP 協(xié)議進行通信的過程如圖2所示。本文以公司的 ADSL 設備為例介紹程序的實現(xiàn)過程。的 MA5100提供對用戶的接入服務,MA5100采用標準插框結構設計,每框16個槽位,可插16塊板,其中7塊為 ADSL用戶接入板,每塊板上提供16個端口。有關端口狀態(tài)的 MIB 項如下:.4.1.20.其中,倒數(shù)第三個0代表機框號為0,當 MA5100為單機框時,此項為0。倒數(shù)第二個0代表槽位號為0,為了獲取一個設備上的所有用戶狀態(tài)信息,在此項上分別填入06。倒數(shù)第一個0代表端為0,在程序中應依次填入015。以上

6、的 MIB7個取值,分別代表的含義為:0:激活;1:去激活;2:物理損壞;3:正在激活;4:正在去激活;5:阻塞;6:解阻塞。其中取0和3狀態(tài)為用戶狀態(tài)。利用 adslwalk 程序來遍歷 MIB 樹,該程序每執(zhí)行一次,獲取一塊板上的信息,需執(zhí)行7次獲取一臺設備上的所有信息。以下為 adslwalk 程序的主要部分,程序中的函數(shù)調用了如圖3所示的一些基本通信函數(shù):if(fp=fopen(fiuf,“a”)=NULL)prf(“canntfilen”);openwhile(1)pdusnmp_pdu_create(SNMP_PDU_GETNEXT);=snmp_add_null_var(pdu,

7、name_length);name,sus=snmp_synch_response(ss,pdu, response);for(vars=response variables;vars;next_variable)vars=varsmemcpy(char )name,name,(char)varsvarsname_lengthsizeof(oid);name_lengthname_length;=varsspr_value(buf,vars name,varsname_length,vars);j=strlen(buf);bufj=n;bufj1=0;fwrite(buf,strlen(buf

8、),1,fp); / End of var pro/sing loopfclose(fp);adslwalk 程序執(zhí)行時的格式為:adslwalkpublic其中0 為指定 MA5100 設備的地址。程序執(zhí)行完畢后,生成名為0.temp 的文件,文件內容為該 MA5100的用戶端口狀態(tài)信息。3CGI 程序在本系統(tǒng)中,為了便于前臺和中生成 MA5100設備的面板圖。之間的交互,筆者采用了 CGI 技術,用它在 WWW標準的CGI 程序是用戶和作為程序輸入部分。的直接交互,而所編寫的 CGI 程序則將.temp件以下為本系統(tǒng)中 CGI 程序的主要部分:strcpy(fi

9、lename,homedir);strcat(filename,“0.temp”);draw(filename);/下面是繪圖函數(shù)/draw(ptr)char ptr;FILE fp;structsbuf;scharbuf200;i=0,j,k;charinputs200;if(fp=fopen(ptr,“r”)=NULL)prf(“cantfileopenn”);fss(fileno(fp),buf);if(sbuf.st_size!=0)i= 0;while(!feof(fp)fgets(buf,sizeof(buf)1,fp);if(strstr(buf,“0”)inputsi=0;e

10、lseif(strstr(buf,“3”)inputsi=3;e lseinputsi=5;i ;prf(“”);prf(“TH0123456”);for (k=0;k16;k )prf(“”);for (j=0;j7;j )if(j=0)prf(“d”,k);if(inputsj 16 k=0)prf(“c”,inputsj 16 k);elseif(inputsj 16 k=3)prf(“c”,inputsj 16 k);e lseprf(“c”,inputsj 16 k);prf(“”);prf(“”);fclose(fp);return(0);上述程序放置在/cgibin 目錄下,當管

11、理員按下查看面板圖的按鈕時,系統(tǒng)調用該程序輸出結果。臺的 HTML 文件中用以下的語句來調用 CGI 程序:Table4各種的生成程序以 Solaris 操作系統(tǒng)為例,加載 ZBLIB、GDLIB包,就可以在 Solaris 下用 C 語言編寫程序,將來的數(shù)據(jù)生成 JPG、PNG 等壓縮格式的。5程序的調度以 Solaris 操作系統(tǒng)為例,在 Solaris 中利用 Crontab 來定期重復執(zhí)行相關命令。Crontab 命令的定期執(zhí)行是由 Cron daemon 完成的。Cron daemon 實時檢查系統(tǒng)的/var/spool/cron/crontabs目錄,根據(jù)指定的時間運行相應的程序。

12、Cron daemon 根據(jù)每個 Crontab 文件中令定期運行系統(tǒng)任務,Crontab 文件的每行代表一條命令,每行開頭是該條命令執(zhí)行的日期和時間。時間域的順序為:分、小時、日期、月、。例如:0200, 4/etc/cron.d/logchecker表示每周日、周四晚8點運行 logchecker。Crontab 存放在/var/spool/cron/crontabs 目錄中系統(tǒng)默認的 Crontab 文件中。建立Crontab 的過程如下:設置全局變量 EDITOR:setenvEDITOR/usr/bin/vi建立 Crontab 文件: crontabe按語法要求,加入要求系統(tǒng)定時完成的任務。存盤退出。查看 Crontab 內容用以下命令: crontabl下面是一個應用實例:rootsearch che crontabl This is a crontab file

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論