基本介紹
- 外文名:NETCONF
- 定義:NETCONF的事件通知機制
- 作用:故障管理
- 優點:進行數據交流
- 成立時間:2003年5月
- 功能:基於XML的網路配置(NETCONF)協定
簡介,四個層次,
簡介
RFC4741- 4744 分別描述了NETCONF在三種不同的傳輸模式SOAP,BEEP和SSH下是如何工作的。2008 年7 月推出RFC5277,主要定義了NETCONF的事件通知機制,用於故障管理。2009 年5 月推出的RFC5539 描述了NETCONF如何保證傳輸層傳輸信息的安全機制,加強了NETCONF的安全體系。2011年6月RFC6242更新了基於 SSH 的傳輸模式。NETCONF 協定是完全基於XML 之上的,所有的配置數據和協定訊息都用XML 表示,XML 可以表達複雜的、具有內在邏輯關係的、模型化的管理對象,而且由於它是W3C提出的國際標準,因而受到廣大軟體提供商的支持,易於進行數據交流和開發。
四個層次
如同ISO/OSI 一樣NETCONF協定也採用了分層結構,每個層分別對協定的某一個方面進行包裝,並向上層提供相關的服務。分層結構能讓每個層只關注協定的一個方面墓婆槳,實現起來更加簡單,同估習時合理的解耦各個層之間的依賴,可以將各層內部實現機制的變更對其它層的影響降低到最低。NETCONF 協定分成四層:內容層、操作層、RPC層、通信協定層。
內容層表示的是被管對象的集合。內容層的內容需要來自數據模型中,而原有的MIB等數據模型對於配置管理存在著如不允許創建和刪除行,對應的MIB 不支持複雜的表結構等缺陷,因此內容層的內容沒有定義在RFC4741 中,但在 RFC6242進行了更新,數據建模語言和數據模型使用2011年提出的 YANG 模型。
操作層定義了一系列在RPC中套用的基本的原語操作集,這些操作將組成NETCONF的基本能力。為了簡單的目的,SNMP只定義了五種基本操作,涵蓋了取值、設值和告警三個方面。NETCONF全面地定義了九種基礎操作,功能主要包括三個方面取值操作、配置操作、鎖操作和會話操作,其中get、get- config用來對設備進行取值操作,而edit- config、copy- config、delete- config則是用於配置設備參數,lock和unlock 則是在對設備進行操作時為防止並發產生混亂的鎖行為,close- session和kill- session則是相對比較上層的操作,用於舉牛獄抹結束一個會話操作。
RPC層為RPC模組的編碼提供了一個簡單的、傳輸協定無關的機制。通過使用<rpc> 和<rpc- reply> 元素對NETCONF協定的客戶端(網路管理者或網路配置應用程式) 和伺服器端(網路設備) 的請求和回響數據(即操作層和內容層的內容) 進行封裝,正常情況下<rpc- reply> 元素封裝客戶端所需的數據或配置成功的提示遙疊拜信息,當客戶端請求報文存在錯誤或伺服器端處理不成功時,伺服器端在<rpc- reply> 元素中會封裝一個包含詳細錯誤信息的<rpc- error> 元素來反饋給客戶端。
一旦NETCONF會話開始,控制器和設備就會交換一組“特性”。這組“特性”包括一些信息,如NETCONF協定版本支持列表、備選數據是否存在、運行中的數據存儲可修改的方式。除此之外,“特性”在NETCONF RFC中定義,開發人員可以通過遵循RFC中描述的規範格式添加額外的“特性”。