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

掃一掃
關(guān)注微信公眾號

大規(guī)模網(wǎng)絡(luò)配置管理系統(tǒng)的設(shè)計思想及實(shí)現(xiàn)
2010-06-01   網(wǎng)絡(luò)

隨著網(wǎng)絡(luò)規(guī)模不斷加大,設(shè)備類型越來越多,網(wǎng)絡(luò)中各種實(shí)體間的關(guān)系越來越復(fù)雜,對網(wǎng)絡(luò)管理系統(tǒng)的要求也越來越高。在ISO/IEC7498-4文檔中定義了網(wǎng)絡(luò)管理的五大功能:故障管理、配置管理、性能管理、計費(fèi)管理和安全管理,配置管理是五大功能的基礎(chǔ)。目前大多數(shù)配置管理系統(tǒng)只能獲取網(wǎng)絡(luò)配置信息,監(jiān)控網(wǎng)絡(luò)運(yùn)行狀況,而無法有效地對網(wǎng)絡(luò)進(jìn)行配置。基于此,我們設(shè)計和實(shí)現(xiàn)了一個新的網(wǎng)絡(luò)配置管理系統(tǒng),不僅能監(jiān)控網(wǎng)絡(luò),還能配置網(wǎng)絡(luò)。

  在本文實(shí)現(xiàn)的網(wǎng)絡(luò)配置管理系統(tǒng)中,主要包括配置信息管理和遠(yuǎn)程配置模塊。配置信息管理獲取路由器、主機(jī)、端口等網(wǎng)絡(luò)設(shè)備以及它們之間的邏輯關(guān)系等配置信息,并維護(hù)這些信息,包括查詢、修改、刪除等。遠(yuǎn)程配置模塊可以把管理員對系統(tǒng)中配置信息的修改在網(wǎng)絡(luò)設(shè)備上實(shí)現(xiàn)。兩者互為輔助,真正實(shí)現(xiàn)了ISO對配置管理的定義和要求。此外,本系統(tǒng)對外還可以與拓?fù)浒l(fā)現(xiàn)系統(tǒng)銜接,自動獲取批量設(shè)備的配置信息;還可以以晴雨表的方式顯示網(wǎng)絡(luò)運(yùn)行狀況,實(shí)現(xiàn)了可視化互動式的網(wǎng)絡(luò)配置信息展現(xiàn)。

  設(shè)計思想

  為適應(yīng)實(shí)際網(wǎng)絡(luò)管理工作的需求,我們在設(shè)計配置管理系統(tǒng)時,應(yīng)至少考慮以下幾點(diǎn):

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

  第二,在長時間的運(yùn)行過程中,系統(tǒng)數(shù)據(jù)要與實(shí)際設(shè)備配置保持一致。實(shí)際網(wǎng)絡(luò)中變化是經(jīng)常發(fā)生的,包括網(wǎng)絡(luò)的拓?fù)?、設(shè)備的配置等都會為了運(yùn)行的需求而經(jīng)常變化。那么,最好能讓系統(tǒng)中的數(shù)據(jù)能自動更新,而不需要每次改變實(shí)際網(wǎng)絡(luò)配置后,還需要管理員手動更新。

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

  系統(tǒng)框架與實(shí)現(xiàn)

  基于以上幾點(diǎn)考慮,我們設(shè)計的配置管理系統(tǒng)的架構(gòu)。其中,節(jié)點(diǎn)Agent是SNMP協(xié)議中的網(wǎng)絡(luò)管理代理,通常對應(yīng)于網(wǎng)絡(luò)的路由器、交換機(jī)等網(wǎng)絡(luò)設(shè)備自身;終端設(shè)備是指網(wǎng)絡(luò)設(shè)備出于遠(yuǎn)程管理目的,對外提供的命令行訪問入口,通常為Telnet或者SSH登錄方式。

  系統(tǒng)核心功能部分采用功能強(qiáng)大的腳本語言Perl及其模塊進(jìn)行開發(fā),底層數(shù)據(jù)由MySQL數(shù)據(jù)庫進(jìn)行管理,外部交互由基于Web Service技術(shù)的Web框架實(shí)現(xiàn)。在開發(fā)過程中,我們借鑒了一般Web應(yīng)用開發(fā)過程中的分層思想。其中,Perl程序負(fù)責(zé)完成業(yè)務(wù)邏輯控制,之所以采用Perl進(jìn)行開發(fā),主要是因為Perl可以很方便地與網(wǎng)絡(luò)設(shè)備、數(shù)據(jù)庫、Web界面、系統(tǒng)shell等進(jìn)行交互,而且Perl具有大量實(shí)用模塊可以很方便地用于網(wǎng)絡(luò)管理開發(fā)。

  系統(tǒng)中,拓?fù)浒l(fā)現(xiàn)是配置管理系統(tǒng)的一個輔助模塊,可以發(fā)現(xiàn)并向配置管理系統(tǒng)提供管理域內(nèi)大部分管理對象的基本信息及其連接關(guān)系;配置信息管理模塊有選擇地從拓?fù)浒l(fā)現(xiàn)模塊獲取管理對象的基本信息,輔以管理員的人工輸入,就能覆蓋到管理域的全部對象,再自動通過SNMP協(xié)議獲取監(jiān)控節(jié)點(diǎn)的配置信息并寫入數(shù)據(jù)庫;遠(yuǎn)程配置模塊可以把管理員對被管對象的操作轉(zhuǎn)換成對設(shè)備進(jìn)行配置需要的命令,并通過Telnet或者SSH方式在設(shè)備上執(zhí)行,達(dá)到遠(yuǎn)程修改配置的目的;此外,晴雨表也能從配置數(shù)據(jù)庫讀取設(shè)備信息,并以圖形化的方式顯示給用戶。

  1.配置信息管理模塊

  一個有效的配置管理系統(tǒng)應(yīng)該存儲管理域內(nèi)所有網(wǎng)絡(luò)配置信息,以便管理員可以快速有效地訪問配置數(shù)據(jù)。關(guān)系數(shù)據(jù)庫管理系統(tǒng)可以使用戶將各種類型的數(shù)據(jù)關(guān)聯(lián)起來,使得系統(tǒng)服務(wù)器能夠有效、快速地存取、關(guān)聯(lián)、查詢數(shù)據(jù)和建立設(shè)備清單。我們采用MySQL數(shù)據(jù)庫存儲配置信息,事實(shí)上,我們的系統(tǒng)也能很方便地遷移到其他的數(shù)據(jù)庫管理系統(tǒng)。

  配置信息可以通過多種方式獲得:一種可以通過拓?fù)浒l(fā)現(xiàn)的結(jié)果得到,可以從中有選擇地導(dǎo)入配置信息數(shù)據(jù)庫;一種可以通過SNMP 協(xié)議直接從設(shè)備上取得。我們采用了這兩種方法互補(bǔ)的方案,系統(tǒng)中拓?fù)浒l(fā)現(xiàn)的結(jié)果可以有選擇地導(dǎo)入配置信息數(shù)據(jù)庫,同時對于無法發(fā)現(xiàn)的系統(tǒng),可以調(diào)用snmpRouter程序(這是一個通過SNMP協(xié)議獲取路由器等網(wǎng)絡(luò)設(shè)備的配置信息和運(yùn)行狀態(tài)的程序)直接從設(shè)備讀取,這樣保證了配置信息的完整性。

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

  2. 遠(yuǎn)程配置模塊

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

  因此,在實(shí)際網(wǎng)管工作中,SNMP協(xié)議更適合于獲取配置信息和監(jiān)視網(wǎng)絡(luò)設(shè)備的運(yùn)行狀況,對設(shè)備的配置管理一般都是手動對路由器配置文件進(jìn)行修改。

  我們的配置管理系統(tǒng)作為基于Web的網(wǎng)絡(luò)管理系統(tǒng),采用Perl的Net::Telnet::Cisco模塊實(shí)現(xiàn)Telnet登錄遠(yuǎn)程Cisco路由器或交換機(jī),執(zhí)行配置命令,解析設(shè)備應(yīng)答等功能。Net::Telnet::Cisco是Perl的一個擴(kuò)展模塊,它把對Cisco路由器或交換機(jī)的操作包裝成方法,十分便利于編寫與設(shè)備交互的程序。

  管理員可以從設(shè)備的管理頁面上選擇要對設(shè)備進(jìn)行的配置操作,這些操作都是比較簡單的,或者是對所有設(shè)備都可用的命令;而對于某些較復(fù)雜或者定制性較強(qiáng)的管理操作,則需要管理員輸入想要在遠(yuǎn)端設(shè)備上執(zhí)行的命令。

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

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

  命令全部產(chǎn)生后并不是立刻發(fā)送到設(shè)備上執(zhí)行,管理員可以對其進(jìn)行檢查,如果不符合自己的意圖就重新在頁面上進(jìn)行修改,再次檢查并確認(rèn)之后才通過Telnet協(xié)議發(fā)送到設(shè)備上執(zhí)行。

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

  遠(yuǎn)端設(shè)備接收到我們發(fā)送過去的命令之后,執(zhí)行命令更新配置文件。配置過程中,遠(yuǎn)端設(shè)備的應(yīng)答也會被記錄下來并進(jìn)行分析,供管理員查看結(jié)果和日后回溯處理。

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

  本小節(jié)是我們設(shè)計的遠(yuǎn)程配置模塊的技術(shù)方案和實(shí)現(xiàn)細(xì)節(jié)。總的來說,是基于基本的Telnet協(xié)議實(shí)現(xiàn),對被管設(shè)備和系統(tǒng)運(yùn)行環(huán)境都沒有特殊的要求。另外,核心功能全部由Perl編寫,而且功能獨(dú)立,與被管設(shè)備和界面都沒有很深的耦合關(guān)系,因此,具有良好的可擴(kuò)展性和可二次開發(fā)性,既可以被其他網(wǎng)管功能模塊調(diào)用,豐富各自的功能;還能用于桌面程序開發(fā),實(shí)現(xiàn)Web上難以展現(xiàn)的功能。

  相關(guān)工作比較

  與現(xiàn)有其他網(wǎng)絡(luò)管理系統(tǒng)中的配置管理相比,我們的系統(tǒng)具有以下優(yōu)點(diǎn):

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

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

  第一, 目前只適用于Cisco網(wǎng)絡(luò)設(shè)備,對其他廠商的設(shè)備用Net::Telnet模塊同樣能實(shí)現(xiàn);

  第二, 系統(tǒng)使用的是Telnet協(xié)議登錄到遠(yuǎn)程網(wǎng)絡(luò)設(shè)備,安全性方面存在不足,不過使用Net::SSH模塊來實(shí)現(xiàn)SSH協(xié)議登錄能夠很好地改善這一點(diǎn)。

  本文詳細(xì)介紹了我們設(shè)計并實(shí)現(xiàn)的一個不僅能監(jiān)控網(wǎng)絡(luò),還能配置網(wǎng)絡(luò)的配置管理系統(tǒng),貼近大規(guī)模網(wǎng)絡(luò)管理的實(shí)際需求。目前該系統(tǒng)已經(jīng)應(yīng)用在CERNET2主干網(wǎng)和一些其他大規(guī)模網(wǎng)絡(luò)的實(shí)際網(wǎng)絡(luò)管理中,效果良好。

  不過,目前系統(tǒng)的配置信息管理只能采集基于SNMP協(xié)議設(shè)備的配置信息,而遠(yuǎn)程配置也只能對Cisco設(shè)備進(jìn)行,因此,對不支持SNMP協(xié)議,或者其他廠家設(shè)備的管理還需要做進(jìn)一步工作。



 

熱詞搜索:

上一篇:網(wǎng)絡(luò)故障管理預(yù)警先行
下一篇:自動化網(wǎng)絡(luò)配置管理:減少你80%的失誤

分享到: 收藏