摘要:2NETCONFIETF在2003年5月成立了Netconf工作組,該工作組主要是為了提出一個全新的基于XML的網(wǎng)絡(luò)配置(NETCONF)協(xié)議而成立的。該工作組已于2006年12月通過了NETCONF協(xié)議的基本標(biāo)準(zhǔn)RFC4741-4744.NETCONF允許查詢設(shè)備的運行和配置數(shù)據(jù),允許修改設(shè)備的配置數(shù)據(jù)。使用NETCONF,設(shè)備可以發(fā)布一套完整的編程接口(API),管理客戶端使
2 NETCONF
IETF在2003年5月成立了Netconf工作組,該工作組主要是為了提出一個全新的基于XML的網(wǎng)絡(luò)配置(NETCONF)協(xié)議而成立的。該工作組已于2006年12月通過了NETCONF協(xié)議的基本標(biāo)準(zhǔn)RFC4741-4744.
NETCONF允許查詢設(shè)備的運行和配置數(shù)據(jù),允許修改設(shè)備的配置數(shù)據(jù)。使用NETCONF,設(shè)備可以發(fā)布一套完整的編程接口(API),管理客戶端使用這套API即可實現(xiàn)對網(wǎng)絡(luò)設(shè)備的自動化管理。
NETCONF使用XML語言來完成配置過程數(shù)據(jù)和協(xié)議消息的交互,所有NETCONF的請求和應(yīng)答都使用XML描述?;赬ML數(shù)據(jù)交換,使它具有了強大的跨平臺通訊能力。同ISO/OSI一樣,NETCONF協(xié)議也采用了分層結(jié)構(gòu),NETCONF協(xié)議分成四層:內(nèi)容層、操作層、RPC層和通信協(xié)議層,如圖6所示:
圖6 NETCONF分層
l 通信協(xié)議層為NETCONF提供面向連接的、可靠的、順序的數(shù)據(jù)鏈路。NETCONF協(xié)議本身并不包含數(shù)據(jù)通訊協(xié)議,但定義了一系列推薦的數(shù)據(jù)通訊層協(xié)議,有console、SSH、BEEP、HTTPS、TELNET等。
l RPC層提供了一個簡單的、傳輸協(xié)議無關(guān)的機制,通過使用<rpc>和<rpc-reply>元素分別對操作層和內(nèi)容層的內(nèi)容進(jìn)行封裝。
l 操作層(Operations)定義了一系列在RPC中應(yīng)用的基本的原語操作,用來完成不同的網(wǎng)絡(luò)管理和監(jiān)控動作,這些操作將組成NETCONF的基本能力。H3C Comware V7在此基礎(chǔ)上進(jìn)行協(xié)議操作擴(kuò)展,以提高協(xié)議操作的易用性。
l 內(nèi)容層定義管理對象的集合,可以是配置數(shù)據(jù)、狀態(tài)數(shù)據(jù)、統(tǒng)計信息等。
NETCONF協(xié)議定義了數(shù)據(jù)獲取的子樹過濾(Sub tree)機制,為用戶提供靈活的數(shù)據(jù)獲取過濾手段。Comware V7在此基礎(chǔ)上,擴(kuò)展了正則表達(dá)式過濾和簡單匹配過濾,進(jìn)一步增加了NETCONF數(shù)據(jù)過濾的操作易用性。
NETCONF協(xié)議支持向設(shè)備訂閱管理節(jié)點關(guān)心的系統(tǒng)日志事件。即,只要設(shè)備有符合訂閱條件的日志事件產(chǎn)生,設(shè)備就會將日志信息以NETCONF事件的方式通知給管理節(jié)點。通過事件訂閱機制,管理節(jié)點能夠?qū)崟r響應(yīng)設(shè)備的狀態(tài)變化,做出快速的反應(yīng),大大提高了管理節(jié)點的監(jiān)控能力。
NETCONF采用XML進(jìn)行管理者和代理者之間的數(shù)據(jù)傳輸和模塊表達(dá),并且兼顧監(jiān)控和故障管理,安全驗證和訪問控制,可擴(kuò)展性強。它將配置數(shù)據(jù)和狀態(tài)數(shù)據(jù)分開,避免了操作時對不相關(guān)的數(shù)據(jù)進(jìn)行的多余處理,例如可以避免對狀態(tài)數(shù)據(jù)進(jìn)行的配置操作,進(jìn)一步提高了操作的效率。它不僅定義了多種取值和配置操作,還定義了錯誤回滾等多種能力,并且支持能力的添加,具有較強的擴(kuò)展性,可滿足各種大型異構(gòu)網(wǎng)絡(luò)的配置需求。NETCONF規(guī)定必須采用安全的面向連接的通信傳輸方式,相比起SNMP采用UDP進(jìn)行傳輸?shù)姆绞絹碚f,進(jìn)一步加強了系統(tǒng)的安全性,同時也避免了UDP傳輸數(shù)據(jù)最大值的局限性。NETCONF解決了SNMP和CLI在配置等方面的先天性不足。同時,通過將XML技術(shù)引入到網(wǎng)絡(luò)管理當(dāng)中來,能夠安全高效地處理大批量的數(shù)據(jù)傳輸。
3 自動化腳本
TCL和python都是業(yè)界廣泛使用的腳本語言,網(wǎng)絡(luò)設(shè)備支持這些腳本語言,可以大大降低網(wǎng)絡(luò)管理員的學(xué)習(xí)成本,利用這些腳本語言,網(wǎng)絡(luò)管理員可以實現(xiàn)高度自動化的管理。
網(wǎng)絡(luò)設(shè)備支持腳本語言通常都遵循如圖7的體系結(jié)構(gòu):
圖7 自動化腳本架構(gòu)
用戶腳本由腳本解釋器解釋執(zhí)行,腳本解釋器內(nèi)嵌在網(wǎng)絡(luò)設(shè)備操作系統(tǒng)的內(nèi)部。TCL和Python都有各自獨立的腳本解釋器。除了用戶自行編寫的腳本,還可以使用業(yè)界開源或者第三方開發(fā)的腳本庫或者工具。腳本的解釋和執(zhí)行是在一個安全上下文內(nèi)進(jìn)行的,可以有效避免非授權(quán)的惡意攻擊。
在大型機構(gòu)里,大量的接入設(shè)備的配置一般都具有很大的相似性,但又不完全相同,不能通過簡單的復(fù)制粘貼copy其他設(shè)備的配置文件。業(yè)務(wù)有變更需要對網(wǎng)絡(luò)設(shè)備配置進(jìn)行修改時,如果不使用自動化技術(shù),需要逐一手工對每臺設(shè)備進(jìn)行配置,耗時非常長且容易出錯;而通過自動化腳本可以對大批的設(shè)備進(jìn)行批量配置,既縮短了變更時間、出錯的概率也大大降低。
4 嵌入式自動化技術(shù)
嵌入式自動化技術(shù)主要是對設(shè)備內(nèi)部事件進(jìn)行監(jiān)控,事件發(fā)生時執(zhí)行用戶定義策略。針對一些特定類型的故障,通過嵌入式自動化技術(shù),維護(hù)人員可以預(yù)先定義故障處理的方法,一旦發(fā)生該類故障,設(shè)備自動執(zhí)行預(yù)先定義好的故障處理策略,從而提高故障處理的效率。下文主要以H3C RTM(Real-Time event Manager)技術(shù)為例進(jìn)行說明。
RTM是一種嵌入式設(shè)備上內(nèi)嵌的、實時的策略驅(qū)動的模型。用戶通過策略訂閱感興趣的實時事件。事件發(fā)生時,執(zhí)行策略中制定的動作。RTM可用來實時監(jiān)控設(shè)備,當(dāng)故障發(fā)生時能及時的收集第一現(xiàn)場信息,并采取故障診斷、故障恢復(fù)、匯總上報等措施。例如RTM與SCM聯(lián)動,監(jiān)控進(jìn)程的啟動和停止,衡量系統(tǒng)的可靠性,并采取更靈活的策略。如圖8所示。
圖8 嵌入式自動化技術(shù)架構(gòu)
RTM是一種開放的架構(gòu),可以很容易的將事件源添加到RTM框架中。RTM目前支持7種事件源。其它事件源也將會陸續(xù)添加到RTM框架中。
有匹配的事件發(fā)生時,RTM可以執(zhí)行用戶配置的一個動作或者多個動作。RTM目前支持的動作主要有:CLI、syslog、trap、switch-over、reboot等*.CLI是指執(zhí)行任一命令行;syslog和trap是向網(wǎng)管發(fā)送特定消息;switch-over可以實現(xiàn)主備自動倒換;reboot可以實現(xiàn)對單獨板卡或者整個設(shè)備的重新啟動。
RTM是一種開發(fā)的框架,很容易將動作添加到RTM框架中。熟悉Comware CLI的用戶可以選擇使用Comsh script訂閱事件。RTM也支持完整的TCL8.5語法,并在此基礎(chǔ)上做了適當(dāng)擴(kuò)展,使用TCL可以編寫出更為靈活且功能強大的策略腳本。RTM框架對策略腳本執(zhí)行的安全性做了特別考慮。只有管理員或授權(quán)用戶才可注冊策略腳本,而且只有注冊的策略腳本才會生效運行。策略腳本一旦被篡改,則不能再運行。
5 結(jié)論
在網(wǎng)絡(luò)日益復(fù)雜的環(huán)境下,網(wǎng)絡(luò)管理承受著大量挑戰(zhàn)。通過“零配置”管理讓大量設(shè)備的開局能在短時間內(nèi)完成,使得新機房、新業(yè)務(wù)上線時間大大縮短。通過NETCONF網(wǎng)絡(luò)管理技術(shù),用戶可以使用API深度定制網(wǎng)絡(luò)管理系統(tǒng),將不同廠商的設(shè)備統(tǒng)一管理起來。自動化腳本技術(shù)使得網(wǎng)絡(luò)管理腳本(甚至工具)共享成為可能,使一些低效的、繁瑣的、機械的網(wǎng)絡(luò)管理操作變成自動化的高效操作。嵌入式自動化技術(shù)使管理員能實時監(jiān)控設(shè)備,并及時進(jìn)行信息收集和故障恢復(fù)嘗試,大大減少了網(wǎng)絡(luò)故障時間。
隨著自動化管理技術(shù)的不斷進(jìn)步,網(wǎng)絡(luò)管理在“化繁為簡”的同時,網(wǎng)絡(luò)資源調(diào)度的靈活性也極大提高了,從而使“隨需而動”成為可能。
[1] [2]
通信工程師備考資料免費領(lǐng)取
去領(lǐng)取