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