以 Web 為基礎的三階式網路管理實作系統
張阜民、高勝助 中興大學 應用數學研究所 台中/台灣 Email:{fmchang,sjkao}@amath.nchu.edu.tw摘要
隨著網際網路的大小和複雜度的增 加,要提供一個有效、可靠及安全的計算 環境,網路管理扮演著一個重要的角色。 目前流行的網路管理架構,如集中式、集 中平台式、階層式、分散式及網路式的網 路管理架構,雖然能滿足管理工作上的主 要需求,但仍然各有功能上的限制與挑 戰。在本篇論文中,我們提出一融合了集 中式與分散式的特性,三階式的網路管理 架構來滿足管理需求,並以中興大學應用 數學系為實作環境,設計一套以 Web 為基 礎的網路管理系統來驗證此架構的可行 性。 本實作系統利用 Tcl 語言開發而成, 並與 Web 環境整合,讓使用者不再侷限於 網管主機的操作地點,且可跨越不同的作 業平台。實作的網管系統提供了系統管 理、系統資訊、統計資料、連線狀態偵測 等管理功能。 關鍵字:網路管理架構、Web、網路管理 系統、集中式、分散式、Tcl1 簡介
隨著網際網路的持續成長,人們對 於網路依賴的程度也愈來愈深,提供一個 有效、可靠及安全的計算環境,是網路管 理者所面臨重要的課題。目前流行的網路 管理系統,大部分均採用集中式的方式來 管理,意即是由單一網路管理工作站負責 網域內管理資訊收集與監控的工作。這種 方式簡化了設計上的複雜度,也強化了中 央控制的效能。但因為只有一台網路管理 工作站負責整個網路管理的工作,當此工 作站發生故障時,將造成網域內網路管理 工作的停擺。且隨著網路的成長及被管設 備的增加,集中式網路管理系統中的網路 管理工作站,將成為整個網路管理系統效 能上的瓶頸。為了解決此問題,就必須從 改良網路管理架構方面來著手,因此有許 多新的網路管理架構,如集中平台式、階 層式、分散式及網路式等,被陸續的提出。 在 Monhsen Kahani[1]的文章中,已 經針對這些網路管理架構做了一些分類 及比較。我們發現在這些架構中,雖然能 滿足管理工作上的主要需求,但仍然各有 功能上的限制與挑戰。如集中平台式的架 構,雖然因管理平台的前置處理,不再需 要考慮各項繁雜而迥異的通訊協定,但和 集中式相同,都會因為系統架構的擴大, 導致處理效能的不彰。階層式的架構則是 利用網域劃分的方法來降低網管系統工 作站的負擔,但也會面臨擴充性的問題。 分散式的架構和階層式相類似,也是 利用網域劃分建構而成,所不同處在於分 散式架構各劃分網域間的子網域管理者 可以彼此相互溝通協調,而不需要存在一上層控制協調的管理單元。分散式架構的 優點,不但解決了集中式架構因為網域擴 張所可能導致降低網管系統整體效能的 問題,更改良了階層式架構中各劃分網域 各自獨立不具相互協調的問題。但是,分 散式架構的方式雖然改進了集中式架構 與階層式架構所產生的問題,可是對於管 理系統而言,可能因為架構的分散,各劃 分網域地位相同,以協調的方式處理劃分 網域間的問題,因而失去了網管系統集中 管理的效率性。另外網路式架構則為一混 合式架構,它整合了階層式和分散式的架 構,對於系統擴張性、劃分網域協調性、 以及管理系統集中管理的性質都有比其 他架構擁有最佳的解決方式,但是對於網 管系統程式設計與規劃方面可能會因為 過度複雜而不適用於中小型網管環境。 除了管理架構的問題之外,操作介面 是否能夠跨平台,也是網路管理者所關心 的問題。近年來,於 Internet 盛行的 WWW [4] 瀏覽環境,具有一個相當適合且廣受 使用者接受的操作介面,更由於各種與 WWW 相 關 技 術 的 開 發 , 如 CGI [11] (Common Gateway Interface)、Java [12]、 ActiveX[14]、XML [15] 等陸續出現且漸 趨成熟,並與分散式物件技術 CORBA [12] ( Common Object Request Broker Architecture )、DCOM [14] ( Distributed Component Object Model ) 的結合,大幅 改進了 WWW 原本所提供的功能,使得 WWW 之用途從原先基本的超媒體文件 瀏覽,擴展至各式各樣的資訊與網路應 用。基於此特性,整合網路管理系統於 WWW 環境中,不僅簡化了連線上的複雜 度,並可同時提供網路管理者和一般使用 者簡單且具親和力的操作介面。 在本篇論文中,我們基於管理需求及 實作上的考量,提出一改良式的三階網路 管理架構,並在此架構上,利用 SNMP[2] 與網際網路的技術開發一套以 Web 為基 礎的網路管理系統。文中除了簡介此一改 良式網路管理架構及各組成元件之外,並 介紹以中興大學應用數學系為應用實例 所實作之網路管理系統的各項網管功能。
2 網路管理架構
2.1 三階式管理架構
MS MS MA NM NM NM NM NM : Network Manager MS : Management Server MA : Management Agent DB : Database MA MA MA MA MA 圖1 網路管理架構 DB DB 我 們 所 提 出 之 三 階 網 路 管 理 架 構 中 , 包 含 了 三 個 部 分 : NM (Network Manager)、MS ( Management Server ) 、 MA (Management Agent)。圖 1 為此架構的 示意圖。NM 是整個網路管理系統的前 端,包含了圖型化的管理操作介面及網路 管理的應用程式。MS 則是核心部分,包 含了傳統網路管理工作站的核心部分、管 理資訊的資料庫以及與 NM、peer MS、 MA 溝通的機制。MA 則是被管物件的代 理者,在被管物件端負責管理資訊的蒐集 及回應 MS 或 NM 的要求。在這樣的功能 劃分之下,我們將管理應用程式和資料蒐 集、整理及儲存的部分,分散在 NM 及 MS,這樣可以減輕傳統網路管理工作站 的負擔。另外,NM 有著簡單及架構中立 的特性,亦即 NM 是系統獨立且可以跨平 台的,不必侷限某一平台才可以執行。此外,在我們的架構中,可以允許多個 NM 同時存取 MS,如此可讓多個管理者同時 進行管理上的工作,使我們所提的管理架 構具有分散式架構的優點。 我們根據網路的大小來決定有多少 個網域,每一個網域安裝一個 MS。而每 一個 MS 都有整個網域的管理資訊資料 庫,儲存有關網域內的管理資訊,因此在 資料的蒐集與儲存上具有集中式架構的 優點。各網域的 MS 間,彼此聯繫是以主 從(client/server)模式的溝通方式進行,定 期交換網域資料庫的訊息,以保持網域中 管理資訊資料庫的一致性。通常 NM 和 MS 是在不同的機器上所執行,所以可以 將負擔分散。此外,網路管理者可以從 MS 取得管理資訊也可以直接從被管物件 端存取該被管物件端的管理資訊,因此除 提供即時性的管理需求外,也可以降低 MS 的負擔。整體而言,我們所提之網路 管理架構是融合了集中式與分散式特性 的三階式架構,此架構兼具集中管理與分 散負擔的好處。
2.2 實作系統架構
本論文的實作環境是在中興大學應 用數學系分散式系統實驗室內,以一 PC 為 Router,造出兩個獨立的子網域:分別 為 140.120.7.* 和 140.120.8.*。利用這兩 個不同的網域來模擬實作此網路管理系 統,其設備環境如圖 2 所示。圖 2 中 rain 和 lemel 分 別 扮 演 140.120.7.* 和 140.120.8.* 這二個網域的 NM,且此兩個 網域的 MS 也分別架設在這兩台 PC 上。 雖說 NM 和 MS 通常於不同機器上執行, 但為了實作上設備的限制,我們將其架設 在同一台上。此外,圖中每一台 PC 均被 為被管物件,具有被管物件代理者的功 能。 圖 2:系統設備圖 本 系 統 選 擇 以 TCL [7,10]( Tool Command Language ) 為主要程式設計語 言,利用其兼具 String Language 與 Script Language 的特性[8],方便於網路程式 (包 括主程式、CGI 程式、以及與網管工具間 介面)的撰寫 。另外,以 Scotty[9]為網管 工具,利用其內附功能並加以修改,作為 MA 蒐集管理資訊的溝通介面。並以 TCL 程式語言搭配傳統的檔案系統製作管理 資訊的資料庫。在繪圖程式部份,以 TCL 讀取已存在的資料庫內的資訊,並結合 TK[7,10]以 Plug-In 的方式, 將統計資料 繪成圖形介面,呈現於使用者瀏覽器。 在實作系統的結構上可以分為三部 分,如圖 3 所示。NM 是由 Apache Web Server [16]、CGI、Management Application 所 組 成 。 Apache Web Server 為 處 理 HTTP[5]訊息的接收與回應。CGI 為處理 使用者從瀏覽器傳送過來的要求,透過 CGI 去驅動 Management Application,經 Management Application 得到的結果,再 由 CGI 產生動態的網頁回應給網管使用 為了簡化實作上的複雜度,我們以實驗室現有網路來實 作網管系統。其實只要具有 SNMP 代理者程式的機器或 設備都可以是被管物件。 SWITCH HUB ROUTER PENTIUM-200 lemel 140.120.8.200 Linux 2.0.30 RAM 64MB Apache Web Server CMU-SNMP Agent Scotty 2.1.10 TCL/TK 8.0.3 AMD K6-166 fiber 140.120.8.123 Linux 2.0.35 RAM 64MB CMU-SNMP Agent Scotty 2.1.10 TCL/TK 8.0.3 PENTIUM-60 chier 140.120.7.18 Linux 2.0.35 RAM 48MB CMU-SNMP Agent Scotty 2.1.10 TCL/TK 8.0.3 PENTIUM-II-233 rain 140.120.7.16 Linux 2.0.35 RAM 64MB Apache Web Server CMU-SNMP Agent Scotty 2.1.10 TCL/TK 8.0.3者端的使用者。反之,使用者可在遠端利 用一般的瀏覽器,透過 HTTP 通訊協定溝 通連結到 NM 上的 Web server,進入本網 管系統。本系統終端使用者分為兩類型, 分別為管理者及一般使用者兩類;管理者 擁有可對系統做設定的能力,而一般使用 者則只具備監視、瀏覽的功能。 NM (Network Manager) MS (Management Server ) MA (Management Agent) Client/Server Client/Server Client/Server DB Browser Web Server GUI Management Application CGI Communication Module Communication Module Scotty SNMP Agent Communication Module (with NM, peer MS, MA) NMS Kernel HTTP MS in other domain 圖 3 實作系統架構 本系統 MS 架設在與 NM 同一部機器 上,MS 包含網管主要程式,負責提供管 理服務與溝通的任務。每一個 MS,均有 一些背景程式在持續的向被管物件蒐集 管理資訊。至於 MA,則是由 Scotty 及 SNMP Agent[2]所組成。Scotty 是一套網路 管理發展軟體,經由 Scotty 所提供函式庫 可存取相關的網路管理資訊。在每個被管 設備上有常駐 snmpd ( 即 SNMP Agent ) 以接收與回應 SNMP 訊息。
3.實作系統之管理功能
本網管系統採用 Web 的使用介面, 使用者只要具有一瀏覽器,完全不必考慮 所在位置以及使用設備的平台為何,即可 透過 HTTP 通訊協定連結進入並使用本網 管系統提供的各網管功能。以 Web 為基礎 的網管系統,如同網際網上一般性 Web 網站,具有簡單易懂且容易使用的特性。 使用者只要具備一般上網的基本知識,很 容易地來使用本網管系統,不必花費多餘 時間來學習使用方法。 當進入本系統首頁後,可以看到畫面 分為兩部份 (如圖 4):畫面上方為本系統 歡迎畫面;下方則為系統功能索引,使用 者可以依照個人需求,點取適當的項目。 在系統功能索引部份,可以透過滑鼠點選 功能索引的分類進而獲得被管設備的資 訊,其中包括:系統管理 (供管理者管理 之用,一般使用並不能進入管理介面)、系 統資訊 (即系統線上即時資訊,包括 CPU 使用率、記憶體使用率、線上人數和流量 統計)、統計資料 (為一長時間的統計資 訊,其項目與系統資訊相同)、連線狀況 (針對應數系四大機房所作的線上即時連 線狀況偵測) 、線上文件 (提供使用者有 關本系統操作說明、Linux 作業系相關文 作和 Tcl / Tk 的線上使用說明文件) 等 等,各功能索引項目將於後幾節做更深入 的說明。 圖 4 網路管理系統登入畫面3.1 系統管理介面
系統管理主要針對系統設定、系統 記錄及密碼更改等功能應用,基於安全上 的考量,在進入系統的管理時,必須先做 身份確認的動作,來確保系統的安全,只 有具有管理者身份的使用者才能登入。登 入帳號時,需輸入使用者帳號和密碼,登入畫面如圖 5 所示。當輸入的帳號與密碼 不符合時,會出現錯誤的訊息來警示欲登 入的使用者。如此一來,管理系統的安全 考量得以保障,免於遭受未被授權和不具 管理者身份的使用者竄改系統資訊,危害 系統的安全。 圖 5 系統管理登入畫面 當登入成功之後,便正式進入了系統 管理的使用介面,如下圖 6 所示。 圖 6 系統管理 管理功能共分系統設定、系統記錄與 密碼更改等三大類。 1. 系統設定:又分連線狀況設定、定時 回應設定與定時偵測設定三部份,分 別提供管理者對連線狀況、定時回應 與定時偵測作細部的設定。 連線狀況設定 本功能設定乃針對連線狀況偵測提 供數種設定,讓系統管理員依實際 需求作適度的調整。包括連線狀況 偵測的時間週期與各機房內機器的 IP 設定。在時間週期部份,提供一 分鐘、三分鐘、五分鐘三種不同的 時間週期,如有需要,亦可關閉連 線狀況偵測功能;而各機房內機器 的 IP 設定,則提供管理者針對實際 環境的變化,新增或刪除某被偵測 的機器。圖 7 為連線狀況設定的管 理畫面: 圖 7 連線狀況設定 定時回應設定 圖 8 定時回應設定 定時回應設定主要的功能在於 提供管理者對定時回應記錄所作的 設定。而定時回應記錄是指管理系 統定時記錄各被管設備的資訊,其 中包括 CPU 使用率、記憶體使用 率、以及線上人數等等。管理者可 以透過上述系統設定中的定時回應 設定,如圖 8,針對各項目給予一個 限定值,若超過此限定值,系統將 詳細記錄相關資訊。 定時偵測設定 定時偵測設定提供管理者對各項 偵測項目,設定一較適合的偵測週 期,一般使用者並沒有設定的權限, 亦無法進入本設定畫面。本系統提供 三分鐘、五分鐘、十分鐘、一小時等 四種不同的偵測週期,使系統在管理
上更具有彈性。當管理者欲關閉某項 偵測項目,亦可以此處停止系統偵測 的動作,操作畫面如圖 9 所示。 圖 9 定時偵測設定 2. 系統記錄:當管理者點選系統記錄上 之查看定時回應記錄時,出現在記錄 圖 10 定時回應記錄 方框內的是被管設備在某項目的使用 狀況超過管理者所訂下的限定值,也 就是說可能發生某方面的問題,此時 管理可以針對記錄事項加以處理,如 圖 10。而有關被管設備的限定值由管 理者在上述定時回應記錄設定中作相 關的設定。若處理完畢後,可以點選 系統記錄下的刪除定時回應記錄,以 免記錄檔佔用磁碟空間。 3. 密碼更改:當需要更改本網路管理系 統之系統管理者所使用的密碼時,必 須先鍵入原始密碼和新密碼,填寫完 畢後,按下“更新密碼”的按鍵,即 完成更新密碼的動作。其操作畫面如 圖 11 所示。 圖 11 更改密碼
3.2 系統資訊
圖 12 系統資訊 一般的使用者可以透過此項功能來 查看即時的系統資訊,藉以了解目前各網 路設備的使用情況。在圖 12 中,可以看 到 主 要 畫 面 分 為 兩 部 份 , 各 為 網 域 140.120.7 和網域 140.120.8 的相關資訊。 當點選各小部份上的項目索引,其中包括 CPU 使用率、記憶體使用率、線上使用人 數以及流量,將可以看到各網域即時的資 訊。本功能更新資料的設定的部份,可由 管理者在上節中所提到的定時偵測設定 作適當的設定,一般使用者並沒有設定的 權限。3.3 統計資料
一般的使用者,可以透過登入本系統畫面,點選統計資料,藉以查詢各設備有 關 CPU 使用率、記憶體使用率、線
上使
用人數和流量等等的統計記錄,提供
一天或一星期的統計資料。藉由此統
計資料清楚的觀看被管設備的使用狀
態,提供進一步的分析數據,掌握網
路資源使用狀況。本項目圖形介面以
TCL/TK 之 Plug-in 撰寫而成,必需先
下載 Plug-in 的程式安裝於機器上,才
得以看到每日/每週的統計圖表,如圖
13 所示。
圖 13 統計記錄
3.4 連線狀態偵測
使用者可看到如圖 14 所示的即
時連線狀況畫面,而管理系統則會依
照管理者對管理系統所作的設定,定
時更新畫面資料。再透過 Web Server
將更新資料傳至使用者端,呈現在使
用者端的瀏覽器上。
圖 14 即時連線狀況
4. 結論
隨著網際網路的大小和複雜度的增 加,要提供一個有效、可靠及安全的計算 環境,網路管理扮演著一個重要的角色。 目前流行的網路管理架構並無法完全滿 足網路管理的要求,因此我們提出一融合 了集中式與分散式的特性,並結合最新 Internet 技術,改良式的三階網路管理架構 來滿足管理需求。並以中興大學應用數學 系為實作環境,設計一套網路管理系統來 驗證此架構的可行性。 我 們 所 提 出 之 三 階 網 路 管 理 架 構 中 , 包 含 了 三 個 部 分 : NM (Network Manager)、MS ( Management Server ) 、 MA (Management Agent)。NM 是整個網 路管理系統的前端,包含了圖型化的管理 操作介面及網路管理的應用程式。MS 則 是核心部分,包含了傳統網路管理工作站 的核心部分、管理資訊的資料庫以及與 NM、peer MS、MA 溝通的機制。MA 則 是被管物件的代理者,在被管物件端負責 管理資訊的蒐集及回應 MS 或 NM 的要 求。 本實作系統使用三階式(NM、MS、 MA)的管理架構,利用 Tcl 語言開發而 成,並與 Web 環境整合,讓使用者不再侷 限於網管主機的操作地點,且可跨越不同 的作業平台。實作的網管系統提供了系統 管理、系統資訊、統計資料、連線狀態偵 測等管理功能。系統管理功能主要針對系 統設定、系統記錄及密碼更改等功能運 用。而一般使用者或管理者可以透過系統 資訊這項功能來查看即時的系統資訊,藉 以了解目前各網路設備的使用情況。統計 資料這項功能則可以讓使用者查詢各設 備有關 CPU 使用率、記憶體使用率、線 上使用人數和流量等統計記錄。連線狀態 偵測則提供網域內即時連線狀況畫面。透 過 Web 使用介面,使用者只要具備瀏覽 器,即可輕易的連結上本網管系統,使用 上述各項管理功能,以便監視或控制網路 設備的使用狀況。致謝
感謝薛來銘在實作系統各管理功能 程式設計上的幫忙與建議。
參考文獻
[1] Mohsen Kahani, H.W. Peter
Beadle , ”Decentralized Approaches for Network Management ”, ACM Computer CommCommunication Review Journal, July 1997.
[2] J. Case, M. Fedor, M. Schffstall , J. Davin, ”A Simple Network Management Protocol (SNMP)”, RFC 1157, May 1990.
[3] Leinwand, K. Fang, ”Network
Management : A Practical Perspective”, Addison Wesley,1993.
[4] T. Berners-Lee et al., ”World-Wide Web : The Information Universe,”, Elect. Networking , vol.1, no.2, Spring 1992. [5] T. Berners-Lee, R. Fielding, H.Nielsen,
“Hypertext Transfer Protocol-HTTP/1.0”, Internet Draft, Apr 1995.
[6] F. Stamatelopoulos, T. Chiotis, B. Maglaris, ”A Scalable , Platform-Based Architecture for Multiple Domain Network
Management”, IEEE International
Conference on Communications '95, June 1995.
[7] D.Zeltserman, G.Puoplo, “BUILDING NETWORK MANAGEMENT TOOLS WITH TCL/TK “, 1998.
[8] 黃 祈 暐 , " Scripting 語 言 巡 禮 " , RUN!PC,1998 Mar。
[9] J. Schonwalder, T. Braunschweig , "Scotty - Tcl Extensions for Network
Management Application",
http://wwwhome.cs.utwente.nl/~schoenw/s
cotty.
[10] H. Schroeder, M. Doyle, Interactive Web Applications With Tcl/Tk, Eolas Technologies, Inc., Chicago, IL , 1998. [11] NCSA, “ The Common Gateway
Interface”, URL: http://hoohoo.ncsa.
uiuc.edu/cgi, 1995
[12] OMG, “The Common Object Request Broker : Architecture and Specification”, Rev 2.0, OMG TC Document, July 1995. [13] K. Arnold, J. Gosling, “The Java
Programming Language”, Addison-Wesley, 1996.
[14] Microsoft, “Distributed Component
Object Model (DCOM)”,
http://www.microsoft.com/com/dcom.htm
[15] W3C, “Extensible Markup Language
(XML) 1.0 Recommendation”,
http://www.w3.org/TR/1998/REC-XML-1 9980210.html, Feb 1998.
[16] Apache 1.3 User’s Guide,