基於網絡配置協議的設備配置方法及裝置與流程
2023-09-11 14:52:25 3

本申請涉及通信技術領域,特別涉及一種基於網絡配置協議的設備配置方法及裝置。
背景技術:
網絡配置協議(英文:networkconfigurationprotocol;縮寫:netconf)是一種基於可擴展標記語言(英文:extensiblemarkuplanguage;縮寫:xml)的網絡管理協議。netconf協議採用四層體系結構,包括:安全傳輸(英文:securetransport)層、消息(英文:messages)層、操作(英文:operations)層和內容(英文:content)層。目前,netconf協議的安全傳輸層、消息層和操作層已經有標準來定義,但內容層尚未有標準的數據建模語言和相關的數據模型,這成為制約netconf協議真正普及應用的重要因素。
近年來,yang(英文:yetanothernextgeneration)數據建模語言(英文:datamodelinglanguage)被國際網際網路工程任務組(英文:theinternetengineeringtaskforce;縮寫:ietf)作為標準的netconf數據建模語言。它不僅可以建立配置數據的模型(英文:modelconfigurationdata),還可以建立各種操作和通知的模型,具有良好的可讀性和可擴展性。目前,yang語言可以對netconf協議的內容層、操作層和消息層進行數據建模。
netconf協議採用客戶端/伺服器(英文:client/server;縮寫:c/s)架構。如圖1所示,其示出了netconf與yang的關係示意圖。netconf客戶端與netconf伺服器之間基於netconf協議通信。netconf客戶端使用yang語言建立配置數據的模型,而後採用xml對建模後的配置數據進行編碼得到xml文件,netconf客戶端向netconf伺服器下發的netconf消息中攜帶上述xml文件。netconf伺服器從netconf客戶端接收到netconf消息之後,對消息內容進行解析處理得到配置數據。
如圖2所示,其示出了一種設備級聯場景的示意圖。網管設備21與被管理 設備22相連,被管理設備22與若干個下級設備23相連。其中,網管設備21作為netconf客戶端,被管理設備22作為netconf伺服器,網管設備21與被管理設備22之間基於netconf協議通信。被管理設備22與下級設備23之間可基於任意的配置管理協議通信。例如,被管理設備22與下級設備23之間基於無線接入點的控制和配置協議(英文:controlandprovisioningofwirelessaccesspointsprotocolspecification;縮寫:capwap)通信。網管設備21通過netconf協議,配置被管理設備22和下級設備23配置。下級設備23不直接與網管設備21相連,而是通過capwap接收被管理設備22發送的配置數據。被管理設備22接收網管設備21發送的配置數據,包括對被管理設備22的配置數據和下級設備23的配置數據。對於網管設備21下發的對下級設備23的配置數據,被管理設備22終結網管設備21下發的netconf消息,對消息內容進行解析處理得到配置數據,而後將配置數據重新封裝為capwap報文並發送至下級設備23。
對於上述圖2所示的設備級聯場景,在採用netconf協議進行配置管理時存在如下問題:在標準的netconf消息中,並沒有體現配置數據與被配置設備之間的關係。也即,被管理設備22無法獲知netconf消息中攜帶的配置數據是下發給哪個或哪些下級設備23的。為了解決上述問題,在現有技術中,通過在netconf消息中添加擴展欄位,利用該擴展欄位實現附加信息的傳遞。具體來講,網管設備21向被管理設備22下發的netconf消息中包括內容欄位和擴展欄位。其中,內容欄位按照yang語言定義的數據模型,攜帶配置數據;擴展欄位攜帶設備信息,該設備信息用於指示該netconf消息中的配置數據的目標下級設備。
然而,上述現有技術至少存在如下技術問題:
1、由於需要在netconf消息中添加擴展欄位,以增加私有的設備信息,導致網管設備和第三方供應商提供的被管理設備無法對接,方案的通用性較差;
2、一條netconf消息中,只能攜帶對於某個下級設備的配置數據或者攜帶對於某些下級設備均相同的配置數據,不同的配置數據需要通過多條netconf消息分多次發送,導致配置處理的效率較低;
3、被管理設備需要根據擴展欄位,針對不同的下級設備生成多個不同的資料庫,以分別存儲相應的配置數據,導致保存數據的處理流程較為複雜。
技術實現要素:
為了解決現有技術中針對設備級聯場景,採用在netconf消息中添加擴展欄位的方式指示netconf消息中的配置數據的目標下級設備,所存在的方案的通用性較差、配置處理的效率較低、以及保存數據的處理流程較為複雜的問題,本申請實施例提供了一種基於網絡配置協議的設備配置方法及裝置。所述技術方案如下:
第一方面,提供了一種基於netconf協議的設備配置方法,該方法應用於網管設備中。網管設備與被管理設備相連,被管理設備與若干個下級設備相連,網管設備和被管理設備支持netconf協議。該方法包括:採用預定義yang模型建立配置數據的模型;其中,預定義yang模型中包括n個引用欄位以及與每一個引用欄位分別對應的若干個對象欄位,引用欄位用於指示在預定義yang模型中被引用的yang模型,第i個引用欄位對應的對象欄位用於指示第i個引用欄位中引用的yang模型模型化的目標配置數據的目標下級設備和/或下級設備群組,下級設備群組是指由若干個下級設備構成的群組,1≤i≤n且i、n為正整數;基於netconf協議向被管理設備發送上述配置數據。
在第一方面的第一種可能的實施方式中,引用欄位採用第一聲明進行定義,第一聲明用於在一個yang模型中引用另一yang模型所定義的模型樹。
結合第一方面或者第一方面的第一種可能的實施方式,在第一方面的第二種可能的實施方式中,對象欄位採用leaf-list特性進行定義,leaf-list特性用於描述一組相同類型的葉子節點。
結合第一方面、第一方面的第一種可能的實施方式或者第一方面的第二種可能的實施方式,在第一方面的第三種可能的實施方式中,第i個引用欄位對應的對象欄位包括:若干個第一對象欄位和/或若干個第二對象欄位。每一個第一對象欄位用於指示第i個引用欄位中引用的yang模型模型化的目標配置數據所要下發至的一個下級設備。每一個第二對象欄位用於指示第i個引用欄位中引用的yang模型模型化的目標配置數據所要下發至的一個下級設備群組。
第二方面,提供了一種基於netconf協議的設備配置方法,該方法應用於被管理設備中。被管理設備與網管設備相連,被管理設備還與若干個下級設備相連,網管設備和被管理設備支持netconf協議。該方法包括:接收網管 設備基於netconf協議發送的配置數據;其中,配置數據由網管設備採用預定義yang模型模型化;根據預定義yang模型解析配置數據;根據解析得到的配置數據配置下級設備。
在第二方面的第一種可能的實施方式中,根據解析得到的配置數據配置下級設備,包括:對於第i個引用欄位中引用的yang模型模型化的目標配置數據,根據第i個引用欄位對應的對象欄位確定目標配置數據的目標下級設備,目標下級設備是指第i個引用欄位對應的對象欄位所指示的下級設備和/或下級設備群組中的下級設備;基於目標配置管理協議向目標下級設備發送目標配置數據,目標配置管理協議是被管理設備和目標下級設備支持的配置管理協議。
結合第二方面或者第二方面的第一種可能的實施方式,在第二方面的第二種可能的實施方式中,根據預定義yang模型解析配置數據之後,還包括:將解析得到的配置數據存儲至同一配置資料庫中。
第三方面,提供了一種基於netconf協議的設備配置裝置,該裝置包括至少一個單元,該至少一個單元用於實現上述第一方面或者第一方面中任意一種可能的實施方式所提供的設備配置方法。
第四方面,提供了一種基於netconf協議的設備配置裝置,該裝置包括至少一個單元,該至少一個單元用於實現上述第二方面或者第二方面中任意一種可能的實施方式所提供的設備配置方法。
第五方面,提供了一種基於netconf協議的設備配置系統,該系統包括:網管設備、被管理設備和若干個下級設備。其中,網管設備與被管理設備相連,被管理設備與若干個下級設備相連,網管設備和被管理設備支持netconf協議。網管設備包括如第三方面所述的設備配置裝置;被管理設備包括如第四方面所述的設備配置裝置。
第六方面,提供了一種網管設備,該網管設備包括:處理器、存儲器和收發器,存儲器用於存儲一個或者一個以上的指令,該指令被配置成由處理器執行,該指令用於實現上述第一方面或者第一方面中任意一種可能的實施方式所提供的設備配置方法。
第七方面,提供了一種被管理設備,該被管理設備包括:處理器、存儲器和收發器,存儲器用於存儲一個或者一個以上的指令,該指令被配置成由處理器執行,該指令用於實現上述第二方面或者第二方面中任意一種可能的實施方 式所提供的設備配置方法。
本申請實施例提供的技術方案帶來的有益效果包括:
通過網管設備採用預定義yang模型建立配置數據的模型,而後基於netconf協議向被管理設備發送上述配置數據,被管理設備根據該預定義yang模型解析配置數據,並根據解析得到的配置數據配置下級設備;解決了現有技術中針對設備級聯場景,採用在netconf消息中添加擴展欄位的方式指示netconf消息中的配置數據的目標下級設備,所存在的方案的通用性較差、配置處理的效率較低、以及保存數據的處理流程較為複雜的問題。
在不修改已經定義的yang模型的前提下,通過預定義yang模型,在該預定義yang模型中設計引用欄位和對象欄位,實現引用配置數據,以及指示配置數據的目標下級設備和/或下級設備群組,所達到的技術效果包括:
第一,由於並未在netconf消息中添加擴展欄位,因而無需擴展netconf協議,使得網管設備與被管理設備之間仍然基於標準的netconf協議通信,方案的通用性更好;
第二,由於可通過多個引用欄位在預定義yang模型中引用多個yang模型模型化的配置數據,且每一項配置數據的目標下級設備和/或下級設備群組可分別標識,因此在一條netconf消息中,可以攜帶針對不同的下級設備/下級設備群組所下發的不同的配置數據,從而提高配置處理的效率;
第三,由於網管設備下發的netconf消息中攜帶的配置數據,統一使用預定義yang模型進行建模,使得被管理設備中可以只維護與預定義yang模型對應的資料庫,無需為不同的下級設備和下級設備群組分別維護多個不同的資料庫,簡化了資料庫的配置管理,同時也簡化了保存數據的處理流程。
附圖說明
為了更清楚地說明本申請實施例或現有技術中的技術方案,下面將對實施例及現有技術描述中所需要使用的附圖作簡單地介紹。
圖1示出了netconf與yang的關係示意圖;
圖2示出了一種設備級聯場景的示意圖;
圖3a示出了本申請實施例涉及的一種應用場景的示意圖;
圖3b示出了本申請實施例涉及的另一應用場景的示意圖;
圖4示出了無線區域網中的設備級聯場景的網絡架構圖;
圖5a/圖5b示出了本申請一個實施例提供的網絡設備的框圖;
圖6示出了本申請一個實施例提供的基於netconf協議的設備配置方法的流程圖;
圖7示出了本申請另一實施例提供的基於netconf協議的設備配置方法的流程圖;
圖8示出了本申請另一實施例提供的基於netconf協議的設備配置方法的流程圖;
圖9示出了本申請一個實施例提供的基於netconf協議的設備配置裝置的框圖;
圖10示出了本申請另一實施例提供的基於netconf協議的設備配置裝置的框圖。
具體實施方式
為使本申請的目的、技術方案和優點更加清楚,下面將結合附圖對本申請實施方式作進一步地詳細描述。
在本文中提及的「模塊」是指存儲在存儲器中的能夠實現某些功能的程序或指令;在本文中提及的「單元」是指按照邏輯劃分的功能性結構,該「單元」可以由純硬體實現,或者由軟硬體的結合實現。
在本文中提及的「若干個」是指一個或多個,「多個」是指兩個或兩個以上。「和/或」,描述關聯對象的關聯關係,表示可以存在三種關係,例如,a和/或b,可以表示:單獨存在a,同時存在a和b,單獨存在b這三種情況。字符「/」一般表示前後關聯對象是一種「或」的關係。
本申請實施例提供的技術方案,應用於如圖2所示的設備級聯場景中。在一種可能的實施方式中,如圖3a所示,網管設備21作為netconf客戶端,被管理設備22作為netconf伺服器。網管設備21與被管理設備22之間基於netconf協議通信,而被管理設備22與下級設備23之間基於非netconf協議通信。例如,當該設備級聯場景應用於無線區域網(英文:wirelesslocalareanetwork;縮寫:wlan)中時,上述非netconf協議可以是capwap。
在另一種可能的實施方式中,如圖3b所示,網管設備21作為netconf客戶端,被管理設備22作為netconf代理,下級設備23作為netconf伺服器。對於網管設備21,netconf代理實現netconf伺服器的功能;對於下級設備23,netconf代理實現netconf客戶端的功能。網管設備21與被管理設備22之間基於netconf協議通信,且被管理設備22與下級設備23之間也基於netconf協議通信。
需要說明的一點是,netconf客戶端、netconf伺服器和netconf代理均是運行在設備中的軟體進程,而非硬體。
如圖4所示,以wlan中的設備級聯場景為例,該網絡架構包括:控制器41、本地控制器(英文:localaccesscontroller;縮寫:lac)42和若干個接入點(英文:accesspoint;縮寫:ap)。控制器41與lac42之間基於netconf協議通信,lac42與ap之間基於capwap通信。
控制器41作為netconf客戶端。控制器41用於通過netconf協議配置lac42和各個ap。控制器41也可稱為集中控制器或敏捷控制器,用於集中式管理其下屬的ap。控制器41下屬管理的ap的數量可達到十萬級、甚至百萬級。
lac42作為netconf伺服器。lac42用於接收控制器41發送的配置數據,包括對lac42的配置數據和對lac42管理的ap的配置數據。對於控制器41下發的netconf消息,lac42終結該netconf消息,對解析消息內容得到配置數據,而後將配置數據重新封裝為capwap報文並發送給相應的ap。lac42也可稱為輕量級接入控制器(英文:lightaccesscontroller)。lac42與ap之間通過區域網建立通信連接。例如,lac42可通過一級或多級交換機與ap相連;再例如,lac42也可通過一級或多級路由器與ap相連。
ap不直接與控制器41相連,而是通過capwap接收lac42發送的配置數據。
此外,每個lac42可用於管理若干個ap和/或若干個ap組。每一個ap組中包括至少一個ap。例如,圖4中左側的lac42用於管理ap3和兩個ap組(組1和組2),組1中包括ap1和ap2,組2中包括ap4。
若採用現有技術提供的在netconf消息中添加擴展欄位的方式,對ap 的動態主動配置協議(英文:dynamichostconfigurationprotocol;縮寫:dhcp)、域名系統(英文:domainnamesystem;縮寫:dns)等特性進行配置,具體流程如下:
1、控制器採用yang模型建立配置數據的模型;
以對ap的dhcp特性進行配置為例,假設相應的yang模型為hw-dhcp.yang,控制器採用hw-dhcp.yang所定義的數據模型,對dhcp配置數據建模。
2、控制器生成netconf消息;
netconf消息中包括內容欄位和擴展欄位。其中,內容欄位攜帶採用yang模型構建的配置數據,例如採用hw-dhcp.yang模型化的dhcp配置數據。擴展欄位攜帶設備信息,該設備信息用於指示該netconf消息中的配置數據所要下發至的ap和/或ap組。例如,當ap3和group1中的ap1、ap2均適用上述dhcp配置數據時,擴展欄位攜帶ap3和group1所對應的標識信息。
例如,該netconf消息如下:
3、控制器向lac發送netconf消息;
相應地,lac從控制器接收netconf消息。
4、lac解析netconf消息,得到擴展欄位中攜帶的設備信息和內容欄位中攜帶的配置數據。
5、lac將配置數據分別存入擴展欄位所指示的ap和/或ap組所對應的資料庫中。
例如,lac將dhcp配置數據存入group1所對應的資料庫db1中;以及,將dhcp配置數據存入ap3所對應的資料庫db2中。
6、lac根據設備信息和配置數據配置ap。
lac中用於配置管理ap的功能模塊,在監測到資料庫中的配置數據發生變化後,從資料庫讀取配置數據,並將配置數據分別發送給相應的ap和/或ap組。
因此,針對設備級聯場景,採用現有技術提供的在netconf消息中添加擴展欄位的方式配置下級設備,存在方案的通用性較差、配置處理的效率較低、以及保存數據的處理流程較為複雜的問題。
下面,通過幾個實施例對本申請提供的技術方案進行介紹和說明。
請參考圖5a/圖5b,其示出了本申請一個實施例提供的網絡設備的框圖。網絡設備500可以是本申請實施例中涉及的網管設備(例如圖4所示網絡架構中的控制器),也可以是本申請實施例中涉及的被管理設備(例如圖4所示網絡架構中的lac)。
網絡設備500可以包括:處理器510、存儲器520、收發器530以及總線540。存儲器520和收發器530通過總線540與處理器510相連。
處理器510包括一個或者一個以上處理核心。處理器510通過運行軟體程序以及模塊,從而執行各種功能應用以及數據處理。處理器510包括運算邏輯部件、寄存器部件以及控制部件等,其可以是獨立的中央處理器,或者也可以是嵌入式處理器,比如微處理器(英文:microprocessorunit;縮寫:mpu)、微控制器(英文:microcontrollerunit;縮寫:mcu)或者數位訊號處理器(英文:embeddeddigitalsignalprocessor;縮寫:edsp)等。
存儲器520可以由任何類型的易失性或非易失性存儲設備或者它們的組合實現,如靜態隨機存取存儲器(英文:staticrandomaccessmemory;縮寫:sram),電可擦除可編程只讀存儲器(英文:electricallyerasableprogrammableread-onlymemory;縮寫:eeprom),可擦除可編程只讀存儲器(英文:erasableprogrammableread-onlymemory;縮寫:eprom),可編程只讀存儲器(英文:programmableread-onlymemory;縮寫:prom),只讀存儲器(英文:readonlymemory;縮寫:rom),磁存儲器,快閃記憶體,磁碟或光碟。存儲器520可用於存儲軟體程序以及模塊等可執行的指令。
處理器510被配置為執行存儲器520中存儲的指令。當網絡設備500為網 管設備時,處理器510通過執行該指令來實現下述方法:採用預定義yang模型建立配置數據的模型;控制收發器530基於netconf協議向被管理設備發送上述配置數據。預定義yang模型中包括n個引用欄位以及與每一個引用欄位分別對應的若干個對象欄位。引用欄位用於指示在預定義yang模型中被引用的yang模型。第i個引用欄位對應的對象欄位用於指示第i個引用欄位中引用的yang模型模型化的目標配置數據的目標下級設備和/或下級設備群組。下級設備群組是指由若干個下級設備構成的群組。其中,1≤i≤n且i、n為正整數。當網絡設備500為被管理設備時,處理器510通過執行該指令來實現下述方法:控制收發器530接收網管設備基於netconf協議發送的配置數據;根據預定義yang模型解析配置數據;根據解析得到的配置數據配置下級設備。
收發器530用於對外通信,其可以包括多種類型接口。例如,當網絡設備500為網管設備時,收發器530用於基於netconf協議向被管理設備發送配置數據。當網絡設備500為被管理設備時,收發器530用於接收網管設備基於netconf協議發送的配置數據。
可選地,存儲器520可存儲作業系統522以及至少一個功能所需的應用程式模塊524。作業系統522可以是實時作業系統、linux、unix、windows或osx之類的作業系統。當網絡設備500為網管設備時,如圖5a所示,應用程式模塊524可以包括:建模模塊524a和發送模塊524b。建模模塊524a用於採用預定義yang模型建立配置數據的模型。發送模塊524b用於基於netconf協議向被管理設備發送上述配置數據。當網絡設備500為被管理設備時,如圖5b所示,應用程式模塊524可以包括:接收模塊524c、解析模塊524d和配置模塊524e。接收模塊524c用於接收網管設備基於netconf協議發送的配置數據。解析模塊524d用於根據預定義yang模型解析配置數據。配置模塊524e用於根據解析得到的配置數據配置下級設備。
可選地,網絡設備500還可以包括輸入/輸出組件(圖中未示出)。輸入/輸出組件包括有用於顯示信息的顯示器和用於用戶輸入信息的諸如滑鼠、鍵盤之類的輸入設備。其中,顯示器和輸入設備都通過總線540與處理器510相連。
請參考圖6,其示出了本申請一個實施例提供的基於netconf協議的設備配置方法的流程圖。本實施例提供的方法應用於網管設備中。其中,網管設備 與被管理設備相連,被管理設備與若干個下級設備相連,網管設備和被管理設備支持netconf協議。該方法包括如下幾個步驟。
步驟602,採用預定義yang模型建立配置數據的模型。
預定義yang模型中包括n個引用欄位以及與每一個引用欄位分別對應的若干個對象欄位。引用欄位用於指示在預定義yang模型中被引用的yang模型。第i個引用欄位對應的對象欄位用於指示第i個引用欄位中引用的yang模型模型化的目標配置數據的目標下級設備和/或下級設備群組。下級設備群組是指由若干個下級設備構成的群組。其中,1≤i≤n且i、n為正整數。
步驟604,基於netconf協議向被管理設備發送上述配置數據。
綜上所述,本實施例提供的方法,通過網管設備採用預定義yang模型建立配置數據的模型,而後基於netconf協議向被管理設備發送上述配置數據;解決了現有技術中針對設備級聯場景,採用在netconf消息中添加擴展欄位的方式指示netconf消息中的配置數據的目標下級設備,所存在的方案的通用性較差、配置處理的效率較低、以及保存數據的處理流程較為複雜的問題。在不修改已經定義的yang模型的前提下,通過預定義yang模型,在該預定義yang模型中設計引用欄位和對象欄位,實現引用配置數據,以及指示配置數據的目標下級設備和/或下級設備群組,所達到的技術效果包括:
第一,由於並未在netconf消息中添加擴展欄位,因而無需擴展netconf協議,使得網管設備與被管理設備之間仍然基於標準的netconf協議通信,方案的通用性更好;
第二,由於可通過多個引用欄位在預定義yang模型中引用多個yang模型模型化的配置數據,且每一項配置數據的目標下級設備和/或下級設備群組可分別標識,因此在一條netconf消息中,可以攜帶針對不同的下級設備/下級設備群組所下發的不同的配置數據,從而提高配置處理的效率;
第三,由於網管設備下發的netconf消息中攜帶的配置數據,統一使用預定義yang模型進行建模,使得被管理設備中可以只維護與預定義yang模型對應的資料庫,無需為不同的下級設備和下級設備群組分別維護多個不同的資料庫,簡化了資料庫的配置管理,同時也簡化了保存數據的處理流程。
請參考圖7,其示出了本申請另一實施例提供的基於netconf協議的設備 配置方法的流程圖。本實施例提供的方法應用於被管理設備中。其中,被管理設備與網管設備相連,被管理設備還與若干個下級設備相連,網管設備和被管理設備支持netconf協議。該方法包括如下幾個步驟。
步驟702,接收網管設備基於netconf協議發送的配置數據。
配置數據由網管設備採用預定義yang模型構建。預定義yang模型中包括n個引用欄位以及與每一個引用欄位分別對應的若干個對象欄位。引用欄位用於指示在預定義yang模型中被引用的yang模型。第i個引用欄位對應的對象欄位用於指示第i個引用欄位中引用的yang模型模型化的目標配置數據的目標下級設備和/或下級設備群組。下級設備群組是指由若干個下級設備構成的群組。其中,1≤i≤n且i、n為正整數。
步驟704,根據預定義yang模型解析配置數據。
步驟706,根據解析得到的配置數據配置下級設備。
綜上所述,本實施例提供的方法,通過被管理設備接收網管設備基於netconf協議發送的配置數據,該配置數據由網管設備採用預定義yang模型構建,被管理設備根據預定義yang模型解析配置數據,並根據解析得到的配置數據配置下級設備;解決了現有技術中針對設備級聯場景,採用在netconf消息中添加擴展欄位的方式指示netconf消息中的配置數據的目標下級設備,所存在的方案的通用性較差、配置處理的效率較低、以及保存數據的處理流程較為複雜的問題。在不修改已經定義的yang模型的前提下,通過預定義yang模型,在該預定義yang模型中設計引用欄位和對象欄位,實現引用配置數據,以及指示配置數據的目標下級設備和/或下級設備群組;達到了提高方案的通用性,提高配置處理的效率,以及簡化資料庫的配置管理,簡化保存數據的處理流程的技術效果。
請參考圖8,其示出了本申請另一實施例提供的基於netconf協議的設備配置方法的流程圖。
步驟801,網管設備採用預定義yang模型建立配置數據的模型。
預定義yang模型中包括n個引用欄位以及與每一個引用欄位分別對應的若干個對象欄位。引用欄位用於指示在預定義yang模型中被引用的yang模型。第i個引用欄位對應的對象欄位用於指示第i個引用欄位中引用的yang模 型模型化的目標配置數據的目標下級設備和/或下級設備群組。下級設備群組是指由若干個下級設備構成的群組。其中,1≤i≤n且i、n為正整數。預定義yang模型是指預先在基於netconf協議通信的兩端設備(在本實施例中即網管設備和被管理設備)定義的yang模型,也即預先在netconf客戶端和netconf伺服器兩端定義的yang模型。
引用欄位採用第一聲明進行定義,第一聲明用於在一個yang模型中引用另一yang模型所定義的模型樹(英文:schematree)。
在一種可能的實施方式中,通過擴展yang語言語法,所述第一聲明為新增的refer聲明。引用欄位採用refer聲明進行定義。refer聲明用於在一個yang模型中引用另一yang模型所定義的模型樹。refer聲明的參數為被引用的yang模型的名稱。例如,假設在yang模型moduley中引用另一個yang模型modulex所定義的模型樹,則moduley中的引用欄位可表示為:referx。
假設預定義yang模型為moduley,被引用的yang模型為modulex。其中,modulex的語法結構如下:
moduley的語法結構如下:
則,上述moduley的語法結構等同於:
可選地,對象欄位採用leaf-list特性進行定義。leaf-list特性用於描述一組相同類型的葉子節點,其功能類似於c語言中的數組。通過leaf-list特性,可以定義一個或多個下級設備,或者定義一個或多個下級設備群組。例如,採用leaf-listdevices描述配置數據的目標下級設備,採用leaf-listdevice-groups描述配置數據的目標下級設備群組。
此外,第i個引用欄位對應的對象欄位包括:若干個第一對象欄位和/或若干個第二對象欄位。每一個第一對象欄位用於指示第i個引用欄位中引用的yang模型模型化的目標配置數據所要下發至的一個下級設備。例如,第一對象欄位採用leaf-listdevices表示。每一個第二對象欄位用於指示第i個引用欄位中引用的yang模型模型化的目標配置數據所要下發至的一個下級設備群組。例如,第二對象欄位採用leaf-listdevice-groups表示。
結合參考圖4所示的網絡架構,控制器配置ap的dhcp、dns等特性。這裡以配置ap的dhcp特性為例,其它特性的配置可採用類似方式完成。基於ap的不同特性,已經定義了一系列yang模型,包括用於配置ap的dhcp特性的yang模型hw-dhcp.yang。在hw-dhcp.yang中,定義了ap所使用的dhcp伺服器組名稱,dhcp伺服器對應的ip地址等特性所對應的數據模型。示例性地,該hw-dhcp.yang的語法結構如下:
假設預定義yang模型為master-device.yang,該master-device.yang的語法結構如下:
由於可通過多個引用欄位在預定義yang模型中引用多個yang模型模型化的配置數據,且每一項配置數據的目標下級設備和/或下級設備群組可分別標識,因此在一條netconf消息中,可以攜帶針對不同的下級設備/下級設備群組所下發的不同的配置數據,從而提高配置處理的效率。
步驟802,網管設備基於netconf協議向被管理設備發送上述配置數據。
網管設備採用xml語言對建模完成的上述配置數據進行編碼,而後網管設備向被管理設備發送netconf消息,該netconf消息中攜帶編碼後的配置數據。
相應地,被管理設備接收網管設備基於netconf協議發送的配置數據。
步驟803,被管理設備根據預定義yang模型解析配置數據。
被管理設備從網管設備接收到netconf消息之後,採用預定義yang模型對消息內容進行解析,得到配置數據。
可選地,被管理設備將解析得到的配置數據存儲至同一配置資料庫中。由於網管設備下發的netconf消息中攜帶的配置數據,統一使用預定義yang模型進行建模,使得被管理設備中可以只維護與預定義yang模型對應的資料庫,無需為不同的下級設備和下級設備群組分別維護多個不同的資料庫,簡化了資料庫的配置管理,同時也簡化了保存數據的處理流程。
步驟804,被管理設備根據解析得到的配置數據配置下級設備。
對於第i個引用欄位中引用的yang模型模型化的目標配置數據,被管理設備根據第i個引用欄位對應的對象欄位確定目標配置數據所要下發至的目標下級設備。目標下級設備是指第i個引用欄位對應的對象欄位所指示的下級設備和/或下級設備群組中的下級設備。被管理設備基於目標配置管理協議向目標下級設備發送目標配置數據。其中,目標配置管理協議是指被管理設備和目標下級設備支持的配置管理協議。
在本申請實施例中,對被管理設備與下級設備之間所採用的配置管理協議不作限定。在一種可能的實施方式中,結合參考圖3a,被管理設備與目標下級 設備之間基於非netconf協議通信。例如,當圖3a所示的設備級聯場景應用於wlan中時,該非netconf協議可以是capwap。對於需要下發至目標下級設備的目標配置數據,被管理設備將目標配置數據封裝為capwap報文並發送給目標下級設備。在另一種可能的實施方式中,結合參考圖3b,被管理設備作為netconf代理,被管理設備與目標下級設備之間也基於netconf協議通信。對於需要下發至目標下級設備的目標配置數據,被管理設備將目標配置數據封裝為netconf消息並發送給目標下級設備。當然,除capwap和netconf協議之外,目標配置管理協議還可以是其它類型的配置管理協議,對於其它類型的配置管理協議,被管理設備在配置管理目標下級設備時,所做處理基本類似,此處不再一一贅述。
此外,被管理設備對下級設備完成配置之後,可向網管設備反饋響應消息。響應消息的反饋流程可採用netconf協議規定的已有機制實現。
綜上所述,本實施例提供的方法,通過網管設備採用預定義yang模型建立配置數據的模型,而後基於netconf協議向被管理設備發送上述配置數據,被管理設備根據該預定義yang模型解析配置數據,並根據解析得到的配置數據配置下級設備;解決了現有技術中針對設備級聯場景,採用在netconf消息中添加擴展欄位的方式指示netconf消息中的配置數據的目標下級設備,所存在的方案的通用性較差、配置處理的效率較低、以及保存數據的處理流程較為複雜的問題。
在不修改已經定義的yang模型的前提下,通過預定義yang模型,在該預定義yang模型中設計引用欄位和對象欄位,實現引用配置數據,以及指示配置數據的目標下級設備和/或下級設備群組,所達到的技術效果包括:
第一,由於並未在netconf消息中添加擴展欄位,因而無需擴展netconf協議,使得網管設備與被管理設備之間仍然基於標準的netconf協議通信,方案的通用性更好;
第二,由於可通過多個引用欄位在預定義yang模型中引用多個yang模型模型化的配置數據,且每一項配置數據的目標下級設備和/或下級設備群組可分別標識,因此在一條netconf消息中,可以攜帶針對不同的下級設備/下級設備群組所下發的不同的配置數據,從而提高配置處理的效率;
第三,由於網管設備下發的netconf消息中攜帶的配置數據,統一使用 預定義yang模型進行建模,使得被管理設備中可以只維護與預定義yang模型對應的資料庫,無需為不同的下級設備和下級設備群組分別維護多個不同的資料庫,簡化了資料庫的配置管理,同時也簡化了保存數據的處理流程。
另外,通過擴展yang語言語法,增加第一聲明,可以實現在一個yang模型中方便地引用任何一個已經定義的yang模型中的模型樹,從而有效解決設備級聯場景下的yang模型復用問題,實現在設備級聯場景下利用netconf協議和yang模型配置下級設備。
另外,通過leaf-list特性,實現定義一個或多個下級設備,或者定義一個或多個下級設備群組,從而方便、靈活地定義配置數據的目標下級設備和/或下級設備群組。
需要補充說明的一點是,在現有的yang語言語法中,也存在兩種yang模型復用的機制:module-submodule和uses-grouping。
採用module-submodule方式實現的yang模型復用機制如下:首先定義一個submodule,聲明其從屬於(belongs-to)某一個module,並定義與submodule相對應的模型樹;而後定義一個module,在該module中包括(include)之前定義的submodule,從而實現在該module中引用submodule所定義的模型樹。採用module-submodule方式實現的yang模型復用存在如下缺陷:module中只能引用已經定義的且從屬於該module的submodule,而不是任意的submodule或者module,而已經定義的yang模型中,一般都是按照yang模型所配置的功能特性形成一個個獨立的module,因此無法實現在一個module中引用另一個module所定義的模型樹。
此外,採用uses-grouping方式實現的yang模型復用所存在的缺陷為:由於uses只支持復用在本模型或者引入模型中用grouping定義的模型樹,而已經定義的yang模型中,沒有哪一個yang模型會定義一個包含本模型所有欄位的grouping,因此採用uses-grouping方式同樣無法解決設備級聯場景下的yang模型復用問題。
基於上述分析,在不修改已經定義的yang模型的前提下,採用module-submodule方式或者uses-grouping方式均無法解決設備級聯場景下的yang模型復用問題。本申請實施例提供的技術方案,通過擴展yang語言語 法,增加refer聲明,可以實現在一個yang模型中方便地引用任何一個已經定義的yang模型中的模型樹,從而有效解決設備級聯場景下的yang模型復用問題,實現在設備級聯場景下利用netconf協議和yang模型配置下級設備管理。
還需要補充說明的一點是,在本申請實施例中,僅以在yang語言語法中增加的聲明類型的名稱為「refer聲明」為例進行舉例說明,在實際應用中,該增加的聲明類型可能被命名為其它不同的名稱,如引用聲明、自定義聲明等等,本申請實施例對此不做限定。不論該增加的聲明類型被命名為何種名稱,其作用與上文介紹的「refer聲明」的作用相同,用於在一個yang模型中引用另一yang模型所定義的模型樹。
下面,通過一個具體的例子對配置數據示例進行介紹。
用於配置ap的dhcp特性的yang模型hw-dhcp.yang對應的一個配置數據實例如下:
假設預定義yang模型為lac-device.yang,在lac-device.yang中,通過refer聲明引用hw-dhcp.yang,從而配置lac的下級設備ap的dhcp特性。ip地址10.163.18.1和10.163.23.6屬於一個dhcp-server-group,其名字為dhcp-cfg1。控制器配置lac的下級設備的時候,這份dhcp-server-group的配置數據會下發到下級設備ap3,下級設備組group1和group2上獲得應用。lac-device.yang對應的一個配置數據實例如下:
下述為本申請裝置實施例,可以用於執行本申請方法實施例。對於本申請裝置實施例中未披露的細節,請參照本申請方法實施例。
請參考圖9,其示出了本申請一個實施例提供的基於netconf協議的設備配置裝置的框圖。本實施例提供的裝置可以為網管設備的部分或全部。其中,網管設備與被管理設備相連,被管理設備與若干個下級設備相連,網管設備和被管理設備支持netconf協議。該裝置可以包括:建模單元(英文:modelingunit)910和發送單元920。
建模單元910,用於採用預定義yang模型建立配置數據的模型。
預定義yang模型中包括n個引用欄位以及與每一個引用欄位分別對應的若干個對象欄位。引用欄位用於指示在預定義yang模型中被引用的yang模型。第i個引用欄位對應的對象欄位用於指示第i個引用欄位中引用的yang模型模型化的目標配置數據的目標下級設備和/或下級設備群組。下級設備群組是指由若干個下級設備構成的群組。其中,1≤i≤n且i、n為正整數。
發送單元920,用於基於netconf協議向被管理設備發送建模單元910模型化的配置數據。
綜上所述,本實施例提供的裝置,通過網管設備採用預定義yang模型建立配置數據的模型,而後基於netconf協議向被管理設備發送上述配置數據;解決了現有技術中針對設備級聯場景,採用在netconf消息中添加擴展欄位的方式指示netconf消息中的配置數據的目標下級設備,所存在的方案的通用性較差、配置處理的效率較低、以及保存數據的處理流程較為複雜的問題。在不修改已經定義的yang模型的前提下,通過預定義yang模型,在該預定義yang模型中設計引用欄位和對象欄位,實現引用配置數據,以及指示配置數據的目標下級設備和/或下級設備群組;達到了提高方案的通用性,提高配置處理的效率,以及簡化資料庫的配置管理,簡化保存數據的處理流程的技術效果。
在基於圖9所示實施例提供的一個可選實施例中,引用欄位採用第一聲明進行定義,第一聲明用於在一個yang模型中引用另一yang模型所定義的模型樹。
在基於圖9所示實施例提供的另一可選實施例中,對象欄位採用leaf-list特性進行定義,leaf-list特徵用於描述一組相同類型的葉子節點。
在基於圖9所示實施例提供的另一可選實施例中,第i個引用欄位對應的對象欄位包括:若干個第一對象欄位和/或若干個第二對象欄位。每一個第一對象欄位用於指示第i個引用欄位中引用的yang模型模型化的目標配置數據所要下發至的一個下級設備。每一個第二對象欄位用於指示第i個引用欄位中引用的yang模型模型化的目標配置數據所要下發至的一個下級設備群組。
請參考圖10,其示出了本申請另一實施例提供的基於netconf協議的設備配置裝置的框圖。本實施例提供的裝置可以為被管理設備的部分或全部。其中,被管理設備與網管設備相連,被管理設備還與若干個下級設備相連,網管設備和被管理設備支持netconf協議。該裝置可以包括:接收單元1010、解析單元1020和配置單元1030。
接收單元1010,用於接收網管設備基於netconf協議發送的配置數據。
配置數據由網管設備採用預定義yang模型構建。預定義yang模型中包 括n個引用欄位以及與每一個引用欄位分別對應的若干個對象欄位。引用欄位用於指示在預定義yang模型中被引用的yang模型。第i個引用欄位對應的對象欄位用於指示第i個引用欄位中引用的yang模型模型化的目標配置數據的目標下級設備和/或下級設備群組。下級設備群組是指由若干個下級設備構成的群組。其中,1≤i≤n且i、n為正整數。
解析單元1020,用於根據預定義yang模型解析配置數據。
配置單元1030,用於根據解析得到的配置數據配置下級設備。
綜上所述,本實施例提供的裝置,通過被管理設備接收網管設備基於netconf協議發送的配置數據,該配置數據由網管設備採用預定義yang模型構建,被管理設備根據預定義yang模型解析配置數據,並根據解析得到的配置數據配置下級設備;解決了現有技術中針對設備級聯場景,採用在netconf消息中添加擴展欄位的方式指示netconf消息中的配置數據的目標下級設備,所存在的方案的通用性較差、配置處理的效率較低、以及保存數據的處理流程較為複雜的問題。在不修改已經定義的yang模型的前提下,通過預定義yang模型,在該預定義yang模型中設計引用欄位和對象欄位,實現引用配置數據,以及指示配置數據的目標下級設備和/或下級設備群組;達到了提高方案的通用性,提高配置處理的效率,以及簡化資料庫的配置管理,簡化保存數據的處理流程的技術效果。
在基於圖10所示實施例提供的一個可選實施例中,配置單元1030,具體用於:
對於第i個引用欄位中引用的yang模型模型化的目標配置數據,根據第i個引用欄位對應的對象欄位確定目標配置數據所要下發至的目標下級設備;其中,目標下級設備是指第i個引用欄位對應的對象欄位所指示的下級設備和/或下級設備群組中的下級設備;
基於目標配置管理協議向目標下級設備發送目標配置數據,目標配置管理協議是指被管理設備和目標下級設備支持的配置管理協議。
在基於圖10所示實施例提供的另一可選實施例中,該裝置還包括存儲單元,用於將解析得到的配置數據存儲至同一配置資料庫中。
本申請一個實施例還提供了一種基於metconf協議的設備配置系統。結 合參考圖2,該系統包括:網管設備、被管理設備和若干個下級設備。其中,網管設備與被管理設備相連,被管理設備與上述若干個下級設備相連。網管設備和被管理設備支持netconf協議。網管設備包括如圖9所示實施例提供的設備配置裝置;被管理設備包括如圖10所示實施例提供的設備配置裝置。
需要說明的是:上述實施例提供的裝置在實現其功能時,僅以上述各功能單元的劃分進行舉例說明,實際應用中,可以根據需要而將上述功能分配由不同的功能單元完成,即將設備的內部結構劃分成不同的功能單元,以完成以上描述的全部或者部分功能。另外,上述實施例提供的裝置與方法實施例屬於同一構思,其具體實現過程詳見方法實施例,這裡不再贅述。
上述本申請實施例序號僅僅為了描述,不代表實施例的優劣。
本領域普通技術人員可以理解實現上述實施例的全部或部分步驟可以通過硬體來完成,也可以通過程序來指令相關的硬體完成,所述的程序可以存儲於一種計算機可讀存儲介質中,上述提到的存儲介質可以是只讀存儲器,磁碟或光碟等。
以上所述僅為本申請的較佳實施例,並不用以限制本申請,凡在本申請的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本申請的保護範圍之內。