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