摘要:本文分析了多形式配置管理中目前存在的問題,并給出了一種適配多形式配置管理的方法,引入管理信息模型的概念。介紹了管理信息模型的核心功能:建模、建數(shù)據(jù)庫表,統(tǒng)一消息結(jié)構(gòu),檢查、分發(fā)和恢復(fù)配置。同時,通過一個實例,給出了具體的實施過程。
關(guān)鍵詞:管理信息模型;多形式配置;檢查、分發(fā)和恢復(fù)配置
1 多形式配置管理目前存在的問題
隨著internet的飛速發(fā)展,網(wǎng)絡(luò)設(shè)備的配置管理形式也日趨多元化。從傳統(tǒng)的數(shù)據(jù)設(shè)備管理方式,以人機接口為主導(dǎo)的基于命令行接口CLI(Command Line Interface)配置方式,簡單的機機接口為主導(dǎo)的WEB管理;到引入了管理信息庫MIB(Management Information Base)的簡單網(wǎng)絡(luò)管理協(xié)議SNMP(Simple Network Management Protocol);再到近年來隨著軟件定義網(wǎng)絡(luò)SDN(Software Defined Network)興起而發(fā)展起來的基于XML的網(wǎng)絡(luò)配置協(xié)議NETCONF(Network Configuration Protocol)、支持JISON作為編碼的網(wǎng)絡(luò)配置協(xié)議RESTCONF。
多元化的配置管理途經(jīng),對應(yīng)著不同的網(wǎng)絡(luò)接口協(xié)議,也就意味著報文的格式均不相同。這給承載協(xié)議的業(yè)務(wù)編碼帶來了極大的復(fù)雜性。有些廠商設(shè)備的解決方法是將不同的終端配置管理協(xié)議進(jìn)行融合,或者將不同的終端配置管理協(xié)議根據(jù)結(jié)果轉(zhuǎn)換成傳統(tǒng)的CLI配置,下發(fā)到承載協(xié)議的各個業(yè)務(wù)執(zhí)行。協(xié)議在不同的終端定義的業(yè)務(wù)粒度不一致,強行融合不同配置管理終端協(xié)議會導(dǎo)致邏輯處理的復(fù)雜性和實施的困難性。而根據(jù)配置的結(jié)果來將配置轉(zhuǎn)換成CLI的報文格式,又會導(dǎo)致某些配置終端的高級能力無法更好地呈現(xiàn),比如netconf的validate能力,replace能力等。
2 管理信息模型介紹
為了解決上述問題,本文引入了管理信息模型MIM(Management Information Model),為承載協(xié)議的業(yè)務(wù)分離了不同的配置管理終端的區(qū)別,在C/S結(jié)構(gòu)中,統(tǒng)一了不同的配置終端到協(xié)議的消息格式,完成了配置語義和語法校驗,完成了配置分發(fā)和配置恢復(fù)。
2.1 承載協(xié)議的業(yè)務(wù)建模
模型是由語義和語義的用戶視圖組成。語義包括結(jié)構(gòu)、行為和功能。對承載協(xié)議的業(yè)務(wù)建模就是設(shè)計表結(jié)構(gòu)來保存業(yè)務(wù)配置,一個對象就是一張數(shù)據(jù)庫表,對象的一個屬性對應(yīng)數(shù)據(jù)庫表的一個字段,對象的一個實例對應(yīng)數(shù)據(jù)庫表的一行記錄。
承載協(xié)議的業(yè)務(wù)需要將業(yè)務(wù)邏輯上屬于同一個概念的配置數(shù)據(jù)設(shè)計在同一個對象里,羅列每個配置數(shù)據(jù)并將其作為該對象的屬性建模,并給每個屬性進(jìn)行相關(guān)信息的補充,如:數(shù)據(jù)類型、長度、默認(rèn)配置值、取值范圍等。
2.2 統(tǒng)一消息結(jié)構(gòu)
管理信息模型作為一個獨立的模塊,在各個配置終端駐留客戶端,并提供組包消息接口給配置終端進(jìn)程使用。同時,在承載協(xié)議的業(yè)務(wù)側(cè)也會駐留客戶端,并提供解包的接口給業(yè)務(wù)調(diào)用。根據(jù)承載協(xié)議的業(yè)務(wù)建模,定義出消息的ITLV結(jié)構(gòu),I(identity)為報文的標(biāo)識,T(type)為配置的類型,L(Length)為配置的長度,V(Value)為配置的值。ITLV結(jié)構(gòu)的消息,就是管理信息模型服務(wù)端和客戶端通信的消息結(jié)構(gòu)。圖1為管理信息模型上下游消息交互圖。
2.3 檢查、分發(fā)和恢復(fù)配置
由于管理信息模型可以直接讀寫數(shù)據(jù)庫,因此,配置管理終端的過程數(shù)據(jù),管理信息模型是可以獲取到的?;诖?,管理信息模型可以對不同的配置管理終端下發(fā)的報文進(jìn)行一些語義上的檢查。比如檢查接口配置的地址是否在合法范圍內(nèi),協(xié)議配置之間的順序關(guān)系是否正確,協(xié)議允許配置的實例個數(shù)是否超限等。這樣的好處是,避免配置報文發(fā)送到承載協(xié)議的業(yè)務(wù)后,業(yè)務(wù)檢查報錯,業(yè)務(wù)報錯后,需要處理錯誤流程,恢復(fù)協(xié)議狀態(tài)。如果能夠提前報錯,即極大地減輕了業(yè)務(wù)的負(fù)擔(dān),又快速地給用戶提示出配置錯誤信息。
管理信息模型的客戶端駐留在承載協(xié)議的業(yè)務(wù)進(jìn)程,通過管理信息模型提供的接口進(jìn)行模型的動態(tài)信息的注冊,當(dāng)管理信息模型的服務(wù)端感知到客戶端UP后,會將客戶端注冊的信息以建模中對象的粒度進(jìn)行緩存。當(dāng)配置管理終端下發(fā)配置,管理信息模型會將配置管理終端下發(fā)的配置和數(shù)據(jù)庫中的配置進(jìn)行比較,有差異的配置會通過可靠消息機制分發(fā)到注冊了該對象的業(yè)務(wù)執(zhí)行。
當(dāng)前設(shè)備中已經(jīng)生效的配置,可以通過寫盤,保存到設(shè)備的物理內(nèi)存中。當(dāng)設(shè)備掉電重啟,管理信息模型會將設(shè)備物理內(nèi)存中的配置恢復(fù)到設(shè)備的數(shù)據(jù)庫中,并根據(jù)承載協(xié)議的業(yè)務(wù)定義的配置恢復(fù)順序?qū)⒃O(shè)備中恢復(fù)出來的配置數(shù)據(jù)分發(fā)到業(yè)務(wù)進(jìn)程生效配置。
3 實例操作指導(dǎo)
本文通過CLI以及NETCONF作為配置管理終端,承載協(xié)議的業(yè)務(wù)為FTP為例,來說明管理信息模型在系統(tǒng)配置中的作用。本文中需要支持的協(xié)議能力是:配置FTP服務(wù)器允許用戶通過FTP訪問的頂層目錄和其訪問權(quán)限。
3.1 分析協(xié)議功能并完成協(xié)議建模
根據(jù)協(xié)議需要支持的功能,一個是設(shè)置用戶通過FTP訪問的頂層目錄,一個是設(shè)置用戶通過FTP訪問的頂層目錄的權(quán)限。因為兩個是相關(guān)聯(lián)的,所以,可以設(shè)置成一個對象的兩個配置屬性。頂層目錄可以設(shè)置成字符型,并作為必選屬性。必選屬性在建數(shù)據(jù)庫表的時候,就是該數(shù)據(jù)庫表的主鍵。權(quán)限可以設(shè)置的值是讀、寫,因此用unit8就已經(jīng)足夠。
3.2 將不同的用戶配置終端報文轉(zhuǎn)換成管理信息模型定義的統(tǒng)一消息格式
本文以基于命令行接口CLI終端配置接入、基于XML的網(wǎng)絡(luò)配置協(xié)議NETCONF接入為例。管理信息模型駐留在不同的配置管理進(jìn)程的客戶端,將對應(yīng)的不同配置管理協(xié)議,轉(zhuǎn)換成統(tǒng)一的ITLV報文。
3.3 檢查,分發(fā)和恢復(fù)配置
管理信息模型的服務(wù)端在收到配置管理終端的ITLV報文后,根據(jù)模型對其檢查,比如設(shè)置的目錄合法性,配置長度是否超過范圍等。
駐留在承載協(xié)議的業(yè)務(wù)側(cè)的管理信息模塊客戶端,在收到管理信息模型發(fā)送過來的ITLV報文后,對報文進(jìn)行解包,分離出配置對應(yīng)的業(yè)務(wù)領(lǐng)域信息,承載協(xié)議的業(yè)務(wù)再對協(xié)議配置信息進(jìn)行處理。如,本例中,分離出的配置信息就是:用戶通過FTP協(xié)議上傳和下載時頂層路徑名稱(/sysdisk0/)、用戶通過FTP協(xié)議訪問頂層路徑的權(quán)限為只讀。同時管理信息模型還會提供一套配置結(jié)果的設(shè)置接口供承載協(xié)議的業(yè)務(wù)使用。承載協(xié)議的業(yè)務(wù)再處理協(xié)議邏輯之后,將處理結(jié)果通過管理信息模型的接口,從管理信息模型駐留在承載協(xié)議的業(yè)務(wù)的客戶端通過可靠消息發(fā)送到管理信息模型的服務(wù)端。管理信息模型同時會在配置管理終端進(jìn)程提供一套解析業(yè)務(wù)返回碼信息的接口,轉(zhuǎn)換成不同的配置管理用戶可以識別的碼字。
當(dāng)承載協(xié)議的業(yè)務(wù)完成協(xié)議邏輯處理,并給管理信息模型的服務(wù)端返回成功后,管理信息模型將本次的配置提交到運行數(shù)據(jù)庫中。此時,操作任一配置管理終端的用戶,可以通過出發(fā)寫盤操作,將運行數(shù)據(jù)庫中的配置寫入到物理設(shè)備中。目前支持的寫入格式包括:二進(jìn)制格式文件,文本格式文件。二進(jìn)制格式文件有啟動版本速度快的優(yōu)點,適用于同版本掉電重啟恢復(fù)配置。文本格式文件,適用于跨版本升級。不論是采取哪種文件格式,都是先將配置恢復(fù)到內(nèi)存數(shù)據(jù)庫中。當(dāng)承載協(xié)議的業(yè)務(wù)進(jìn)程UP后,會調(diào)用管理信息模型提供的接口,來向管理信息模型注冊需要恢復(fù)的配置信息,將內(nèi)存數(shù)據(jù)庫中的配置數(shù)據(jù)按照配置順序進(jìn)行恢復(fù)。
4 展望
路由設(shè)備或者是交換機設(shè)備,在引入了管理信息模型之后,業(yè)務(wù)可以專注于邏輯處理,分離了配置終端對業(yè)務(wù)邏輯層面代碼的沖擊,增加了業(yè)務(wù)側(cè)的穩(wěn)定性,也就間接增加了產(chǎn)品的穩(wěn)定性和市場競爭性。
隨著互聯(lián)網(wǎng),5G的飛速發(fā)展,設(shè)備管理多元化將成為不可避免的趨勢,傳統(tǒng)的機機接口配置管理對用戶的要求過高,已經(jīng)漸漸被其他人機接口的管理配置終端替代。未來,越來越多的承載協(xié)議的業(yè)務(wù)需要支持多配置終端。而有了管理信息模型之后,業(yè)務(wù)支持多配置終端,在業(yè)務(wù)層面上沖擊大大減少。提高了設(shè)備的穩(wěn)定性和市場的競爭力。
參考文獻(xiàn)
[1]浪潮思科網(wǎng)絡(luò)科技有限公司.一種多形式配置管理的公共配置數(shù)據(jù)庫方法以及裝置:中國,CN 112272104[P].2021-01-26
[2]李晨.基于CLI的IP RAN 網(wǎng)絡(luò)管理系統(tǒng)框架的研究和實現(xiàn)[D].武漢郵電科學(xué)研究院,2014
作者介紹:李艷文(1988-) ,安徽桐城人,現(xiàn)任職于中興通訊股份有限公司,負(fù)責(zé)高端路由器的軟件研發(fā)和維護,通信協(xié)議軟件開發(fā)有限專家級工程師。研究方向:配置管理,用戶數(shù)據(jù)的存儲和恢復(fù)。
2249501705262