亚洲成精品动漫久久精久,九九在线精品视频播放,黄色成人免费观看,三级成人影院,久碰久,四虎成人欧美精品在永久在线

掃一掃
關注微信公眾號

大規模網絡配置管理系統的設計思想及實現
2010-06-01   網絡

隨著網絡規模不斷加大,設備類型越來越多,網絡中各種實體間的關系越來越復雜,對網絡管理系統的要求也越來越高。在ISO/IEC7498-4文檔中定義了網絡管理的五大功能:故障管理、配置管理、性能管理、計費管理和安全管理,配置管理是五大功能的基礎。目前大多數配置管理系統只能獲取網絡配置信息,監控網絡運行狀況,而無法有效地對網絡進行配置?;诖?,我們設計和實現了一個新的網絡配置管理系統,不僅能監控網絡,還能配置網絡。

  在本文實現的網絡配置管理系統中,主要包括配置信息管理和遠程配置模塊。配置信息管理獲取路由器、主機、端口等網絡設備以及它們之間的邏輯關系等配置信息,并維護這些信息,包括查詢、修改、刪除等。遠程配置模塊可以把管理員對系統中配置信息的修改在網絡設備上實現。兩者互為輔助,真正實現了ISO對配置管理的定義和要求。此外,本系統對外還可以與拓撲發現系統銜接,自動獲取批量設備的配置信息;還可以以晴雨表的方式顯示網絡運行狀況,實現了可視化互動式的網絡配置信息展現。

  設計思想

  為適應實際網絡管理工作的需求,我們在設計配置管理系統時,應至少考慮以下幾點:

  第一,應該具有自動初始化的功能。實際網絡中被管設備數量巨大,通常能達到百位量級,如果初始化時需要管理員手動輸入所有被管設備的基本信息(如IP地址,共同體名等),這是一個相當枯燥漫長的過程,會大大降低系統的實用性。

  第二,在長時間的運行過程中,系統數據要與實際設備配置保持一致。實際網絡中變化是經常發生的,包括網絡的拓撲、設備的配置等都會為了運行的需求而經常變化。那么,最好能讓系統中的數據能自動更新,而不需要每次改變實際網絡配置后,還需要管理員手動更新。

  第三,操作簡單直觀,不依賴于太多的專業知識。無論是信息的展示,還是可以進行的操作,希望都能以簡單的頁面元素來表達,管理員通過簡單的點擊、選擇等操作就能完成大部分管理任務,而不需要對復雜的SNMP MIB或者繁瑣的路由器的操作命令等有十分深刻的了解。

  系統框架與實現

  基于以上幾點考慮,我們設計的配置管理系統的架構。其中,節點Agent是SNMP協議中的網絡管理代理,通常對應于網絡的路由器、交換機等網絡設備自身;終端設備是指網絡設備出于遠程管理目的,對外提供的命令行訪問入口,通常為Telnet或者SSH登錄方式。

  系統核心功能部分采用功能強大的腳本語言Perl及其模塊進行開發,底層數據由MySQL數據庫進行管理,外部交互由基于Web Service技術的Web框架實現。在開發過程中,我們借鑒了一般Web應用開發過程中的分層思想。其中,Perl程序負責完成業務邏輯控制,之所以采用Perl進行開發,主要是因為Perl可以很方便地與網絡設備、數據庫、Web界面、系統shell等進行交互,而且Perl具有大量實用模塊可以很方便地用于網絡管理開發。

  系統中,拓撲發現是配置管理系統的一個輔助模塊,可以發現并向配置管理系統提供管理域內大部分管理對象的基本信息及其連接關系;配置信息管理模塊有選擇地從拓撲發現模塊獲取管理對象的基本信息,輔以管理員的人工輸入,就能覆蓋到管理域的全部對象,再自動通過SNMP協議獲取監控節點的配置信息并寫入數據庫;遠程配置模塊可以把管理員對被管對象的操作轉換成對設備進行配置需要的命令,并通過Telnet或者SSH方式在設備上執行,達到遠程修改配置的目的;此外,晴雨表也能從配置數據庫讀取設備信息,并以圖形化的方式顯示給用戶。

  1.配置信息管理模塊

  一個有效的配置管理系統應該存儲管理域內所有網絡配置信息,以便管理員可以快速有效地訪問配置數據。關系數據庫管理系統可以使用戶將各種類型的數據關聯起來,使得系統服務器能夠有效、快速地存取、關聯、查詢數據和建立設備清單。我們采用MySQL數據庫存儲配置信息,事實上,我們的系統也能很方便地遷移到其他的數據庫管理系統。

  配置信息可以通過多種方式獲得:一種可以通過拓撲發現的結果得到,可以從中有選擇地導入配置信息數據庫;一種可以通過SNMP 協議直接從設備上取得。我們采用了這兩種方法互補的方案,系統中拓撲發現的結果可以有選擇地導入配置信息數據庫,同時對于無法發現的系統,可以調用snmpRouter程序(這是一個通過SNMP協議獲取路由器等網絡設備的配置信息和運行狀態的程序)直接從設備讀取,這樣保證了配置信息的完整性。

  配置信息變化的管理方式有:第一,手動更新:當某個設備配置發生變化時,可以啟動snmpRouter 程序從設備獲取配置信息,然后與配置數據庫中的數據進行比較,經過管理員確認后,進行配置數據庫更新等操作。第二,自動更新:通過設置snmpRouter 程序的運行周期,系統可以定期讀取設備當前配置信息,然后提供配置變化列表,管理員確認后,更新配置數據庫;也可以不通過管理員確認,系統直接更新,管理員可以通過日志查看配置更改情況。此外,配置管理工具還可以產生必要的報告以使管理者及時了解整個網絡的配置情況。

  2. 遠程配置模塊

  IP網絡中設備的配置信息以配置文件的形式存在于網絡設備中,對配置文件進行修改就能實現對設備的配置,有多種方式可以達到這一目的。有些廠商通過特定的命令行接口(CLI,Command Line Interface)讀取配置文件或對其進行修改,管理員通過Telnet或者SSH方式登錄到遠程設備上,通過CLI輸入一系列命令對配置文件的模塊進行增加、刪除和修改操作以次實現對路由器的不同功能模塊進行配置;有些廠商使用FTP來下載或者上傳配置文件,達到管理設備的目的;其他一些廠商使用SNMP協議,但是一方面因為協議在安全方面存在缺陷,大多數設備都禁止了SNMP SET的功能,另一方面MIB也沒有完全實現(例如不允許創建和刪除行)。

  因此,在實際網管工作中,SNMP協議更適合于獲取配置信息和監視網絡設備的運行狀況,對設備的配置管理一般都是手動對路由器配置文件進行修改。

  我們的配置管理系統作為基于Web的網絡管理系統,采用Perl的Net::Telnet::Cisco模塊實現Telnet登錄遠程Cisco路由器或交換機,執行配置命令,解析設備應答等功能。Net::Telnet::Cisco是Perl的一個擴展模塊,它把對Cisco路由器或交換機的操作包裝成方法,十分便利于編寫與設備交互的程序。

  管理員可以從設備的管理頁面上選擇要對設備進行的配置操作,這些操作都是比較簡單的,或者是對所有設備都可用的命令;而對于某些較復雜或者定制性較強的管理操作,則需要管理員輸入想要在遠端設備上執行的命令。

  命令生成器根據這兩類輸入生成遠端設備可執行的配置命令。例如,管理員選擇了修改路由器本地標識的操作,則會產生一條“hostname thurouter\n”的命令;選擇了修改MOTD(登錄上路由器之后看到的信息)的操作則會生成一條“banner motd #\nhello, welcome!\n#\n”命令;系統也提供了配置接口的操作,比如設置接口本地描述的命令就是“int e0\ndesc toMainBuilding”。隨后,系統會把由操作生成的命令和直接輸入的命令組合在一起。

  另外,如果管理員只是執行幾條命令獲取一些運行狀態信息,那么這時候生成的命令就是最終的了。而如果管理員想對配置進行修改,那么還需要在所有命令之前加上“conf t\n”,在所有命令最后加上“end\nwrite mem\n”語句,這樣才是設備可執行的命令。

  命令全部產生后并不是立刻發送到設備上執行,管理員可以對其進行檢查,如果不符合自己的意圖就重新在頁面上進行修改,再次檢查并確認之后才通過Telnet協議發送到設備上執行。

  出于對安全的考慮,對是否具有配置權限的判斷方式和實際網管中一致,采用設備登錄密碼和特權密碼相結合的二級認證方式,只有事先配置了正確的兩個密碼,才能執行遠程配置功能。但是,為了實現的方便,我們采用Telnet協議來登錄并執行命令,這樣數據包可能被監聽甚至篡改,這不能不說是一個安全隱患。我們考慮在今后的版本中,使用SSH協議來進行通信,可以杜絕這一安全問題。

  遠端設備接收到我們發送過去的命令之后,執行命令更新配置文件。配置過程中,遠端設備的應答也會被記錄下來并進行分析,供管理員查看結果和日后回溯處理。

  以上就是一次對設備配置操作的過程,事實上,我們的系統也具有對批量設備執行相同操作的功能。管理員只需在以上所有操作之前設置好要操作的所有設備的選擇條件,系統會自動對所有滿足條件的設備執行相同的配置命令,并把結果全部展示出來。在大規模網絡的管理工作中,這是一個非常實用的功能。

  本小節是我們設計的遠程配置模塊的技術方案和實現細節??偟膩碚f,是基于基本的Telnet協議實現,對被管設備和系統運行環境都沒有特殊的要求。另外,核心功能全部由Perl編寫,而且功能獨立,與被管設備和界面都沒有很深的耦合關系,因此,具有良好的可擴展性和可二次開發性,既可以被其他網管功能模塊調用,豐富各自的功能;還能用于桌面程序開發,實現Web上難以展現的功能。

  相關工作比較

  與現有其他網絡管理系統中的配置管理相比,我們的系統具有以下優點:

  第一,不僅能監控網絡中的設備,還能對被管設備進行遠程配置,是一個功能完整的配置管理系統;第二,對設備的遠程配置不依賴于SNMP協議,而基本上所有的網絡設備都提供了基于Telnet或者SSH協議的管理接口,因此遠程配置功能對目前幾乎所有網絡設備都適用;第三,支持Cisco幾乎全系列的設備,包括較老的Catalyst 1900系統,使用較少的CatOS以及目前大部分設備使用的IOS等網絡操作系統。同時,對其他廠商的設備也能很方便地加上。

  但是,這只是一個原型系統,雖然證明了這種遠程配置技術方案的可行性,但是在適用性和完整性方面還有一些欠缺:

  第一, 目前只適用于Cisco網絡設備,對其他廠商的設備用Net::Telnet模塊同樣能實現;

  第二, 系統使用的是Telnet協議登錄到遠程網絡設備,安全性方面存在不足,不過使用Net::SSH模塊來實現SSH協議登錄能夠很好地改善這一點。

  本文詳細介紹了我們設計并實現的一個不僅能監控網絡,還能配置網絡的配置管理系統,貼近大規模網絡管理的實際需求。目前該系統已經應用在CERNET2主干網和一些其他大規模網絡的實際網絡管理中,效果良好。

  不過,目前系統的配置信息管理只能采集基于SNMP協議設備的配置信息,而遠程配置也只能對Cisco設備進行,因此,對不支持SNMP協議,或者其他廠家設備的管理還需要做進一步工作。



 

熱詞搜索:

上一篇:網絡故障管理預警先行
下一篇:自動化網絡配置管理:減少你80%的失誤

分享到: 收藏