陳彥錚 |
林正森、羅中奇、黃敏彰、方澤涵、王雅纖、楊慧琪、林世媛、林榮賜、孫三為 |
銘傳大學 資訊管理學系 | 中華電信研究所 資訊技術研究室 |
由於Internet網路已成為人們傳遞及獲取資訊不可或缺的媒介,各種Internet相關應用也陸續出現,暢通的網路是保證各種Internet應用正常運作之前提,如何有效地管理網路成為漸受重視的課題。而對於提供網路接取服務之ISP而言,網路管理工作則更必須考量維運上之方便性及時效上之立即性,以有效維持網路之服務品質。本篇論文將介紹利用WWW技術開發之HiNet網路管理系統 - HiView,文中除了敘述以ISP為觀點所提供的網管功能,並將探討如何充分利用WWW技術設計開發符合網路管理上各種需求之網管系統。
隨著Internet快速成長,人們對網路的依賴性,在可見的將來勢必隨著各式各樣的網路應用的出現而日益嚴重,而當網路規模逐漸擴大複雜時,如何確保網路之暢通,以及如何迅速而有效地掌握網路情況,並適時處置與控制網路,勢必成為各網際網路服務者(ISP,Internet Service Provider)、電信網路提供者、以及企業內部網路(Intranet)維護者所面對之重要課題,因此藉由自動化的網路管理系統之幫助,隨時監控網路,是有效管理網路不可或缺的措施。
基本上,TCP/IP網路之網管系統提供各種以SNMP網管通信協定(Simple Network Management Protocol) [1]及其他相關網路協定為基礎之網管應用程式,在人機介面操作上則儘量以圖形化方式來表現所蒐集到之網管資訊,這些應用程式之使用對象通常為對網路管理具有相當專業知識之網路管理人員,網管操作多以設計單一網管控制台為主的運作模式。這種網管模式對於注重網路維運上群組合作與分工之ISP而言,在實務上很難與日常的網路維運工作密切配合,因此如何提供一個以ISP為觀點的Internet網路管理系統,緊密與網路維運管理流程結合,是一值得研究的課題。
在探討如何提供一個更方便及人性化的網管操作環境時,我們可以發現近年來於Internet盛行的WWW其實是一個相當適合且廣受使用者接受的操作介面,更由於各種與WWW相關之研發技術,如CGI (Common Gateway Interface) 、 JavaScript、Java、ActiveX、Dynamic HTML、XML等陸續出現而漸趨成熟,且漸與分散式物件技術CORBA (Common Object Request Broker Architecture) [2]、DCOM (Distributed Component Object Model) [3]結合,大幅改進了WWW原本所能提供的功能,使得WWW之用途從原先基本的超媒體本文瀏覽,擴展至各式各樣的資訊與網路應用。而從網路管理系統設計開發的觀點,除了技術上成熟外,WWW本質上的主從式架構也使得利用WWW技術開發網路管理應用之作法顯得直接而合理。此外,利用WWW作為應用系統平台,即所謂的Web-Based應用,具有以下幾個優點:
事實上,利用WWW技術之Web-Based網路管理相關研究發展,最近已陸續出現[4-11],部分以提供簡易的MIB(Management Infomation Base)瀏覽器[5-7]讓使用者能利用WWW瀏覽器讀取網路設備之SNMP網管資訊,有的則是提供以Java語言撰寫之SNMP應用程式介面或網管開發工具[6,8,9],最近更有多家廠商推動Web-Based Enterprise Management(WBEM)管理標準[10,11],以期充分利用WWW之特點運用於網路管理,而支援Web-Based網管之網路設備產品或網管系統軟體也逐漸出現在市場上。
本篇論文介紹利用WWW技術開發之HiNet網路管理系統 - HiView,文中除了簡介HiView各項網管功能,我們也將探討如何利用WWW特性應用於HiView之開發,也說明利用WWW相關技術開發網管系統時,在設計上應有的特殊考量。
利用WWW開發Internet網路管理系統,在系統架構上會依使用者介面(User Interface)及網管應用程式(Manager)置放於WWW前端或Web伺服器端而有所不同,這也是兩層式(Two-Tier)及三層式(Three-Tier)架構主要不同之處。此外在網管通信架構上也會因被管設備之代理者(Agent)所能支援網管通信方式而採取適當的通信協定機制,如SNMP為目前Internet網路管理之標準通信協定,絕大部分的Internet網路設備即支援此網管通信協定。此外由於近來分散式物件CORBA架構日漸成熟並與WWW結合,利用分散式物件進行網路管理之研究也時有所聞,因此網管通信採用CORBA架構之Web-Based網路管理也是另一選擇。不過,採用分散式物件網管架構時,必須注意WWW前端或Web伺服器端以及網管設備支援CORBA之能力。另外,更有部分網路設備廠商將網管資訊以HTML格式呈現,而網路設備本身即為一Web伺服器,因此網管操作均利用HTTP通信協定來完成。綜合上述說明,我們將Web-Based網管方式分為八類,列於表1。
WWW 前端 |
Web 伺服器端 |
被管設備 (Agent) |
|
1. |
使用者介面 |
網管程式 |
支援 SNMP |
2. |
使用者介面 /網管程式 |
Proxy Agent |
支援 SNMP |
3. |
使用者介面 /網管程式 |
支援 SNMP |
|
4. |
使用者介面 |
網管程式 |
非標準通信機制 |
5. |
使用者介面 /網管程式 |
非標準通信機制 |
|
6. |
使用者介面 |
網管程式 (支援CORBA) |
被管物件 (支援CORBA) |
7. |
使用者介面 /網管程式(支援CORBA) |
被管物件 (支援CORBA) |
|
8. |
使用者介面 /網管程式 |
被管設備支援 Web伺服器程式(支援HTTP) |
表1 Web-Based網路管理一覽表
表1中第1~3類網管方式,適用於管理支援SNMP網管標準之被管設備,其中之不同點在於網管應用程式所在位置及其直接或間接監控被管設備之差異,第4~5類則是利用非標準通信機制開發網管應用,不同點在於網管應用程式所在位置,6,7則類似4,5,主要差異在於利用CORBA作為網管通信機制,第8類則被管設備本身即支援HTTP伺服器,網管應用程式直接以HTTP至被管設備讀取網管資訊。
雖然表1所列各種Web-Based網路管理架構可供選擇,各架構也各有所長,然而在設計Web-Based網管系統架構,除了技術面的充分考量外,尤需考慮實際上使用者之需求,以及在客觀上的網路環境軟硬體之限制,以期提供符合實際需要的網路管理系統。例如在決定管理者端網管程式(Manager)應置放於Web 前端或Web伺服器端時,倘若網管使用者眾多且分處不同地理位置或具高度行動性,則將網管程式置放於Web伺服器端較為恰當,而在管理者端網管程式與被管設備間之通信機制,常見之被管設備如路由器、集線器通常只支援SNMP,因此目前大部分之Web-Based網路管理仍以傳統SNMP為主要之網路管理通信協定。
HiNet骨幹網路之管理範圍為HiNet國內幾個主要網路路由以及出國連線為主,因此網路管理之對象多為負責這些路由介接之路由器,這些路由器均支援標準的SNMP MIB II及廠商專屬的MIB等網管資訊。此外,為充分運用WWW優點,讓使用者無論在何處均只需利用WWW瀏覽器便能上線使用網管系統,在HiView之系統架構設計上,我們以WWW前端作為使用者介面,利用WWW本身豐富的多媒體表現能力,顯示網管資訊;至於網管應用程式則置於WWW伺服器端,負責定期至被管設備蒐集網管資訊。將網管應用程式置於WWW伺服器端是目前最為可行之作法,因為如此可與其他現存的網管工具或系統整合,並可方便網管資料庫之存取,而大部分WWW相關之研發技術也多以此架構為基礎。因此,HiView之系統架構設計是以三層式Web-Based應用架構為主,網管應用程式與被管設備之網管通訊則主要利用標準的SNMP,並利用標準的ICMP偵測基本的網路障礙。圖1為HiView系統架構之示意圖。
HiView之設計開發在軟體工具及平台選用上, WWW前端為Netscape Navigator 4.04以上之版本,WWW伺服器則採用Apache HTTP Server,網管應用程式暨WWW伺服器所在之作業系統平台為Solaris 2.5,資料庫則利用數據通信分公司所提供之Sybase SQL Server System 10或11。而在系統開發上,於WWW前端之使用者介面之開發利用HTML、JavaScript 1.2及Java 1.1.4達成,於WWW伺服器端則以C、C++、Perl結合標準CGI以及Java開發網管應用程式,另外並利用訊務監測工具MRTG (Multi-Router Traffic Grapher) [12] 協助開發訊務監測功能及利用Sybase DB-library開發Sybase資料庫存取程式。
圖1 HiView系統架構
HiView網路管理系統,在網管功能方面之設計考量,除了考量網管功能本身是否能滿足ISP在各項自動化網路管理工作之需求,更需兼顧ISP在網路維運各種操作上的方便性及即時性。此外,在網管功能之實作上,並需考量各種WWW技術所能支援之能力,瞭解Web介面在網管資訊表現上的限制,例如部分即時動態展現訊務變化之網管介面,便必須利用Java Applet,而無法純粹利用HTML或JavaScript來達成。以下針對HiView提供之網管功能,分別敘述。
當網管人員利用WWW瀏覽器登入HiView後,將可看見如圖2所示之主畫面,圖中除了原瀏覽器之主選單視窗外,另外由兩個Java Applet開啟之視窗分別顯示目前之網路節點及網路路由狀態。兩個視窗中所顯示之網路節點,依其型態種類(包含路由器、郵件伺服器、WWW伺服器、網域名稱伺服器、其他節點),分別以不同的圖像表示,並使用不同的顏色來代表各節點目前的狀態,節點之狀態分為Critical、Major、Minor、Warning、Normal、Unknown六種不同等級,分別以紅、桃紅、橙、黃、綠、藍六種不同顏色劃分,其中前五種狀態主要依據節點之傳送封包漏失率(Packet Loss Rate)大小分五個等級(每一等級20%)來決定。在節點監控視窗中,每一節點圖像下方並顯示其名稱以及目前封包漏失率與來回傳輸延遲時間(Round Trip Time)之監測值,這些狀態與監測值之更新工作,是由置於網管伺服器端之HiView網管應用程式主動通報至各使用者端(即WWW前端)來達成,以達到真正"即時"更新網路狀態之功能。而當使用者利用滑鼠右鍵點選問題節點時,操作畫面上將出現快顯功能表,此功能表提供品質監控、介面資訊、刪除節點、及節點內容等可對此節點進一步執行之指令。
另外顯示網路路由狀態之NetMap視窗,可以讓使用者以線上方式直接加入節點及連結線,以編輯所欲顯示之網路路由圖。利用此可編輯之網路路由狀態顯示功能,網管人員可一目了然地掌握HiNet各主要路由之狀態。
圖2 HiView主畫面
針對HiNet各納管之路由器及節點,HiView週期性地以支援ICMP(Internet Control Message Protocol)之Ping程式偵測其封包漏失率及封包來回傳輸延遲,以便瞭解節點的網路服務品質。當封包漏失率偏高或封包來回傳輸延遲較大時,可能是因為此路由之頻寬太小及網路負荷過大、或部分網路設備異常所引起;另外當節點本身發生障礙時,也會使封包漏失率值呈現100%。HiView除了即時將這些服務品質偵測值顯示於網路節點狀態視窗,並利用MRTG網管繪圖工具將各節點過去一日、一週、一月、以及一年來之封包漏失率及封包來回傳輸延遲值,以HTML配合圖像顯示方式提供長期性服務品質監測資料(請參考圖3)。因此利用本功能,HiNet網管人員可以充分瞭解HiNet常態性的服務品質變化,以便維持及改進HiNet整體服務品質。此外,為使HiNet網管在服務品質監測上更具有預防性及主動性能力,HiView並提供傳輸延遲監測臨界機制,亦即網管人員可針對所有節點設定個別的傳輸延遲臨界值,當HiView網管系統發現來回傳輸延遲值超過臨界值時,此節點便會進入Major障礙狀態,網路狀態視窗中之代表此節點之圖像立即由綠色變為桃紅色,網管系統也會同時產生一張問題票(Trouble Ticket)用來記錄此障礙相關資訊,因此HiNet網管人員能很容易地掌握各節點之服務品質現況。
圖3 節點服務品質監測
對一個提供大眾連結Internet服務之ISP而言,網路障礙發生時必須儘可能於最短的時間內將障礙排除,以維持正常的網路服務。對網管系統而言,欲達到縮短障礙時間的目標,前提是必須具備強而有力的障礙告警功能,以便能在發現障礙時,藉由障礙告警即時通知網管人員。一般而言,TCP/IP網路之網管障礙偵錯與告警方式是由扮演網管者(Manager)網管應用程式以輪詢方式(Polling)週期性地至各被管設備監測其狀態,當網管應用程式發現被管設備沒有回應或回應障礙訊息時,障礙告警功能便於此時被觸發執行。這種障礙偵錯與告警方式是直接而合理的設計,不過當某一網路設備發生障礙之持續時間超過網管偵錯程式之輪詢週期時,一般的網管系統通常會在連續幾次的輪詢時,重複發現相同的障礙,因此一個長期性障礙便會導致多次重複告警現象。為避免此現象之發生,HiView針對每一被監測網路設備均建立一狀態管理機制,每次狀態監測結果均經由此機制先行判斷是否確實發生新的障礙,以決定是否必須發出障礙告警。不只如此,HiView並利用此狀態管理機制判斷先前所發生之障礙是否已排除,藉此當障礙排除時,HiView網管伺服器也會通報各網管使用者端將對應之相關障礙告警予以清除,因此HiView完善的障礙告警設計,可大量減低HiNet網管人員之維運負荷。此外,為了確保HiNet網管人員在各種情況下均能得知障礙訊息,HiView提供以下幾種障礙告警方式:
圖4為針對每一節點之障礙告警設定畫面。
圖4 障礙告警設定畫面
一般而言,網路管理系統均會提供障礙事件報告或存錄功能,以記錄所發生的網路障礙。然而針對著重網路維運管理之ISP,這種傳統單純的障礙事件報告或存錄,就維運上的需求而言是不夠的。ISP對網路的維運需要的是一個完整的障礙申告機制,以作為整合網路障礙事件記錄、維運程序控制、以及派工追蹤等與網管相關維運工作之工具。著眼於此,HiView所提供之障礙申告功能(如圖5),除了傳統的障礙事件報告或存錄,並提供一障礙申告機制,網管人員與網管系統本身均可產生等同於傳統障礙事件之問題票。問題票內容包括主題、描述、問題領域、問題類別、產生時間、處理狀態、建議措施等相關細項屬性,這些問題票內容之選定,除了考慮HiNet維運實際需求,並參考RFC1297[13]有關Trouble ticket之建議而設計。在障礙申告操作上,每一問題票根據網路實際狀態及網管人員處置情形,具有開啟(Open)、處理(Held)、關閉(Closed)等三種狀態。問題票在剛產生時處於開啟狀態,網管人員可針對處於開啟狀態之問題票,進行必要的維運操作,並於問題票中記載各障礙的處理過程及解決方法,此時問題票進入處理狀態。而當網管人員進行現場的障礙排除工作後,或網管系統自動發現問題票所描述之障礙已經排除,問題票便進入關閉狀態,完成整個障礙申告暨處理之程序。在整個障礙處理過程中,網管人員並可隨時利用問題票查詢功能,藉由鍵入各種查詢條件,獲得相關問題票資訊,以瞭解網路品質或障礙的情形。
圖5 HiView障礙申告畫面
HiView訊務監測功能是利用SNMP週期性至HiNet骨幹網路各路由器讀取其介面之訊務累計資料,並利用MRTG網管繪圖工具將各路由器介面過去一日、一週、一月、以及一年來之流入及流出的訊務量,以HTML配合圖像顯示方式提供長期性的訊務監測資料(請參考圖6)。因此利用本功能,HiNet網管人員可以充分瞭解HiNet骨幹網路各主要路由之訊務量及頻寬使用率,以便瞭解網路壅塞情形並作為網路規劃參考。
圖6 HiView訊務監測功能
此外,為使網管人員能真正掌握網路實際運作情況,HiView更進一步提供即時訊務監測功能,使網管人員能夠針對欲監測之路由,獲得即時的動態訊務資料。圖7為HiView即時訊務監測畫面,長條圖中代表目前之訊務量變化之線條會隨著時間由右往左捲移,以顯現最近之訊務資料。此即時訊務監測長條圖為一Java Applet,此Java Applet只負責繪製長條圖,其工作為將監測所得之訊務量值以線條表示並負責自動調整縱軸刻度大小,以使圖表儘能清晰呈現。而實際以SNMP至網路設備讀取即時訊務資料之網管程式則置放於Web伺服器端,使用者端負責繪製長條圖之Applet不停地讀取由Web伺服器端送來之訊務資料,以達到即時訊務監測顯示功能。此種典型的三層式網管架構設計,可解決在利用Java 技術開發Web-Based應用時所面臨的沙盒(Sand Box)安全問題, 除此之外,也可提升Java Applet在使用者端之執行效能。
圖7 HiView即時訊務監測
HiView之訊務監測功能除了監測HiNet骨幹網路各主要路由之訊務,另一重要應用便是用來監測HiNet各專線用戶之訊務資料。監測專線用戶訊務固然可使網管人員更能掌握HiNet之使用情況,另一重要目的便是將這些專線用戶訊務資料提供給專線用戶本身,此種提供訊務資料服務,已漸成為提供界接Internet專線業務不可或缺的服務項目。由於HiView監測所得之訊務資料是以HTML格式呈現於WWW伺服器上,各專線用戶可以很方便地利用WWW瀏覽器自遠端讀取專屬其路由之訊務監測網頁。在設計此種為專線用戶提供之訊務監測服務功能時,必須考慮每一客戶訊務監測資料之私密性,即每一專線用戶只能讀取其專屬之訊務監測網頁,因此此功能之提供必須配合WWW伺服器之存取控制機制[14],以及用戶資料、登入碼、及密碼之管理。HiView針對這些工作均已提供完善的自動化處理程序。
無論是HiNet骨幹網路或專線用戶網路之訊務監測,HiView另外提供訊務監測週月報表製作功能。由這些依訊務量或使用率排序之週月報表,網管人員能全面掌握網路使用情形,並很容易從眾多的路由中發現骨幹網路之瓶頸所在以及使用率過高之專線用戶,以作為網路頻寬升級之依據。
由於HiView為一置放於HiNet上之Web-Based網管系統,網管使用者之身分認證及存取控制等相關系統管理功能必需配合WWW伺服器之存取控制機制,並且需提供Web操作介面執行使用者帳號管理工作。藉由系統管理,使HiView所提供之相關網管資訊網頁得以不被外界竊取或破壞,以達到系統之安全管理需求。
通常,Web-Based網管系統使用者端與網管伺服器間之通訊主要依賴HTTP,由於HTTP之應用基本上為單向的瀏覽器要求(Request)-Web伺服器回應(Response)通信模式,而對於大部分網管應用而言,頻繁的網路狀態更新及經常發生的即時障礙告警,均必須在網管伺服器發現狀況時便應立即反應至使用者端的操作介面上,因此Web-Based網管系統在設計上首要工作便是必須提供網管伺服器與使用者端的雙向通信機制;不只如此,由於HTTP具有Stateless連結特性,Web伺服器本身基本上是無法得知確有哪些使用者實際上目前正在使用此網管系統;HiView針對這些利用WWW技術開發網管系統時所遭遇的根本問題,應用Java Applet通信能力建立一般化的系統通訊機制,此通信機制是由使用者端在登入網管系統時所自動載入執行之Server Proxy Applet以及在網管伺服器產生與之對應之Client Proxy物件所組成,Server Proxy負責接收網管伺服器主動傳送之訊息,而每一使用者端在網管伺服器所對應唯一的Client Proxy物件則用來處理與儲存使用者端位址、狀態及通信相關資訊。
利用WWW技術開發網管系統之作法,在國外目前正蔚為潮流,尤其以Java為技術核心之Web-Based網管工具軟體已陸續出現,在國內雖然Web-Based網管偶有專家學者研究討論,然實際運用WWW技術開發網管應用者,則仍不多見。HiNet網管系統之開發,對國內學界及業界而言,在系統實作上是一個起步很早的創新嘗試,而本論文所展現各項以WWW技術成功開發之各項網管功能,也足以證明Web-Based網管之可行。事實上,Web-Based應用由於在其行動性、可攜性、易維護性、及多媒體介面親善性優於傳統之應用程式,加上各項WWW應用技術日趨成熟,Web-Based應用已漸為一般應用程式開發另一選擇。
目前HiView除了運用於HiNet骨幹網路之管理外,提供政府單位網際網路服務之政府網際服務網GSN (Government Service Network)、負責台灣各ISP網際網路互通之台灣網際網路交換中心網路TWIX(TaiWan Internet eXchange)、以及中華電信企業資訊網路CHTNet均利用HiView網管系統執行網路管理工作。在實務上,由於Web-Based特性,我們發現這些網管系統之維護更新工作,的確非常容易且有效率,而另一方面,網管人員也普遍樂意接受以WWW瀏覽器作為網管操作介面,因此這些實際的使用經驗基本上對Web-Based網路管理具有正面的評價。
HiView網路管理系統之設計開發,主要是為了用來管理HiNet的骨幹網路,目前HiView之各項考量維運操作所設計之網管功能的確對HiNet骨幹網路之維運管理頗有幫助;至於HiNet負責提供接取服務之各POP (Point Of Presence)之網路管理,目前則正由中華電信研究所同樣利用WWW技術開發Web-Based HiNet POP接取網路管理系統 ? HiPOP [15],HiPOP所管轄之網路設備為遠端接取伺服器(Remote Access Server)及地區性網路設備。由於HiNet遠端接取伺服器涵蓋為數眾多之T1專線及撥接埠,為期有效監控,目前HiPOP正朝向階層式的Web-Based網管架構發展。未來並計畫結合HiView及HiPOP,提供HiNet整合性網管解決方案,以期改進HiNet維運效能,進而提供高品質之HiNet各項網路服務。
[1] RFC 1157, Simple Network Management Protocol
[2] CORBA, http://www.omg.org/
[3] Distributed Component Object Model (DCOM), http://www.microsoft.com /com/dcom.htm
[4] The Web Based Management Page, http://www.mindspring.com/ ~jlindsay/webbased.html
[5] Ching-Wun Tsai and Ruay-Shiung Change, "SNMP through WWW", International Journal of Network Management, 8,104-119 (1998).
[6] Advent Network Management Inc., http://www.adventnet.com/
[7] SNMP Research International, Inc., http://www.snmp.com/
[8] The Java Based Management Page, http://www.mindspring.com/ ~jlindsay/javamgmt.html
[9] Java Management API (JMAPI), http://java.sun.com/products/JavaManagement/
[10] Web-Based Enterprise Management Initiative, http://wbem.freerange.com/
[11] J. Patrick Thompson, "Web-Based Enterprise Management Architecture", IEEE Communications Magazine, March 1998, p80-86.
[12] The Multi Router Traffic Grapher, http://ee-staff.ethz.ch/~oetiker/webtools/mrtg/mrtg.html
[13] RFC 1297, NOC Integrated Trouble Ticket System Functional Specification Wish list.
[14] Apache 1.3 User's Guide, http://www.apache.org/docs/
[15] HiNet POP網路管理系統需求規格書, 中華電信研究所研究報告,1997.