技術(shù)盛宴-數(shù)據(jù)中心自動化運(yùn)維技術(shù)探索之NETCONF_第1頁
技術(shù)盛宴-數(shù)據(jù)中心自動化運(yùn)維技術(shù)探索之NETCONF_第2頁
技術(shù)盛宴-數(shù)據(jù)中心自動化運(yùn)維技術(shù)探索之NETCONF_第3頁
技術(shù)盛宴-數(shù)據(jù)中心自動化運(yùn)維技術(shù)探索之NETCONF_第4頁
技術(shù)盛宴-數(shù)據(jù)中心自動化運(yùn)維技術(shù)探索之NETCONF_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

技術(shù)盛宴|數(shù)據(jù)中心自動化運(yùn)維技術(shù)探索之NETCONF數(shù)據(jù)中心交換機(jī)實現(xiàn)運(yùn)維自動化,零配置上線技術(shù)(ZAM)只是完成了交換機(jī)預(yù)先可知的固定配置,主要是一些基本的互通以及登錄相關(guān)配置。未來的業(yè)務(wù)是變化的,所以具體的與業(yè)務(wù)相關(guān)的配置還需要根據(jù)具體需求配置或更新。NETCONF(NetworkConfigurationProtocols,網(wǎng)絡(luò)配置協(xié)議)協(xié)議提供了業(yè)務(wù)配置部署自動化的解決方案。那么NETCONF是如何出現(xiàn)的?為什么需要開發(fā)NETCONF?NETCONF能干什么?發(fā)展趨勢又是怎樣的?本文將針對以上幾個問題,對數(shù)據(jù)中心運(yùn)維自動化技術(shù)進(jìn)行一些介紹和探討。SNMP的問題要談NETCONF,SNMP是無法繞過去的。SNMP(SimpleNetworkManagementProtocol

,簡單網(wǎng)絡(luò)管理協(xié)議)最早由IETF在20世紀(jì)80年代晚期(1980s)開發(fā),自誕生之日起,SNMP就被用來監(jiān)控(如告警、性能管理)網(wǎng)絡(luò)設(shè)備,大多數(shù)專業(yè)的網(wǎng)絡(luò)設(shè)備都有SNMPagent代理,這些代理被激活和配置后用于和SNMP管理NMS(NetworkManagementSystem,網(wǎng)絡(luò)管理系統(tǒng))通信。一套完整的SNMP系統(tǒng)主要包括管理信息庫(MIB)、管理信息結(jié)構(gòu)(SMI)及SNMP報文協(xié)議。MIBMIB,管理信息庫,匯總存儲著資源與OID的唯一對應(yīng)關(guān)系,NMS根據(jù)查詢的資源在MIB中找到對應(yīng)的OID,通過SNMP查詢報文將讀取的OID信息發(fā)送至網(wǎng)絡(luò)設(shè)備,網(wǎng)絡(luò)設(shè)備根據(jù)OID查詢對應(yīng)的資源信息,最終封裝為SNMP響應(yīng)報文發(fā)送給NMS。如圖一所示,查詢資源ernet.mgmt.mib.ip.ipInReceives對應(yīng)的OID即為:.。圖一:MIB樹形層次結(jié)構(gòu)SMISMI,管理信息結(jié)構(gòu),是SNMP中定義被管理的網(wǎng)絡(luò)實體(即網(wǎng)絡(luò)設(shè)備)中特定數(shù)據(jù)的語言。定義了數(shù)據(jù)類型、對象模型,以及寫入和修改管理信息的規(guī)則等內(nèi)容。SNMP報文SNMP規(guī)定了5種協(xié)議數(shù)據(jù)單元PDU(SNMP報文),用來在管理進(jìn)程和代理之間的信息交換。如圖二所示:get-request,用于從代理進(jìn)程處提取一個或多個參數(shù)值;get-next-request,用于從代理進(jìn)程處提取緊跟當(dāng)前參數(shù)值的下一個參數(shù)值;set-request,用于設(shè)置代理進(jìn)程的一個或多個參數(shù)值;get-response,用于代理向管理進(jìn)程返回的一個或多個參數(shù)值;trap,代理進(jìn)程主動發(fā)出的報文,通知管理進(jìn)程有某些事件發(fā)生。層和內(nèi)容層的內(nèi)容),然后將此響應(yīng)信息發(fā)送給請求者。另外,服務(wù)器可以采用<notification>元素向客戶端通告事件。操作層操作層是承載在消息層上的具體操作內(nèi)容,這些具體操作僅能承載在<rpc>和<rpc-reply>消息上,<notification>消息無操作層內(nèi)容。NETCONF協(xié)議規(guī)定了9種簡單的RPC操作,如表一所示:基本操作說明<get>獲取配置數(shù)據(jù)或狀態(tài)數(shù)據(jù)。<get-config>獲取配置數(shù)據(jù)。<edit-config>修改配置數(shù)據(jù)(包括合并、替換、創(chuàng)建、刪除等操作)。<copy-config>用一個完整數(shù)據(jù)庫替換目標(biāo)數(shù)據(jù)庫。<delete-config>刪除數(shù)據(jù)庫,<running/>庫不能被刪除。<lock>鎖定設(shè)備配置數(shù)據(jù)庫,獨(dú)占數(shù)據(jù)庫修改權(quán)限,以免多用戶操作情況發(fā)生。<unlock>取消設(shè)備配置數(shù)據(jù)庫鎖定,只能取消本用戶的鎖定。<close-session>請求正常中止NETCONF會話。<kill-session>強(qiáng)制中止NETCONF會話,需管理員權(quán)限。表一:RPC基本操作除了以上9種基本操作,NETCONF也支持用戶自定義RPC操作,這里不做展開描述。內(nèi)容層內(nèi)容層主要用來描述網(wǎng)絡(luò)管理所涉及的配置數(shù)據(jù)和通知數(shù)據(jù)等。但是NETCONF并沒有對于內(nèi)容層的數(shù)據(jù)結(jié)構(gòu)模型做標(biāo)準(zhǔn)化定義,那如何來描述內(nèi)容層的相關(guān)數(shù)據(jù)呢,2006年,在NETCONF首個版本RFC4741發(fā)布的同時,一種專門為NETCONF準(zhǔn)備的數(shù)據(jù)建模語言YANG(RFC6020)也同時發(fā)布。目標(biāo)是對NETCONF數(shù)據(jù)模型、操作進(jìn)行建模,覆蓋NETCONF協(xié)議的操作層和內(nèi)容層。下圖即是一個NETCONF的RPC報文中各層內(nèi)容的示意。圖四:NETCONFRPC報文示例NECONF操作那在這個架構(gòu)下NETCONF到底是如何實現(xiàn)設(shè)備配置管理的?我們來看一次NETCONF交互的流程:圖五:NETCONF交互流程示意在Client和Server建立NETCONF會話后,兩端先通過<hello>報文互相通知對端本端對于NETCONF的支持能力,即Capability。同步完成后Client端發(fā)起RPC操作,Server端運(yùn)行后將應(yīng)答消息封裝入<rpc-reply>回復(fù)給Client端。對于設(shè)備配置,就是在Client端發(fā)起RPC配置相關(guān)的操作。NETCONF定義的9項基本RPC操作中有4項與配置直接相關(guān),包括<get-config>;<edit-config>;<copy-config>;<delete-config>。還剩余2項與配置權(quán)限相關(guān),2項會話關(guān)閉和1項狀態(tài)數(shù)據(jù)查詢。從這里也能看出NETCONF對于配置管理的重視??墒沁@些好像還是沒法體現(xiàn)NETCONF比SNMP好在哪?SNMP存在的問題如何解決的?這里不得不引出NETCONF中另外一個重要的組成部分YANG。YANGYANG(YetAnotherNextGeneration),無法用中文給出恰當(dāng)?shù)姆g。從YANG的標(biāo)準(zhǔn)文檔RFC6020中,我們可以明確它的定位:ADataModelingLanguagefortheNetworkConfigurationProtocol(NETCONF),NETCONF的數(shù)據(jù)建模語言。為什么要YANGNETCONF需要對設(shè)備的配置(configuration)和狀態(tài)(state)做操作,例如編輯配置,獲取狀態(tài),而NETCONF的內(nèi)容層并沒有定義標(biāo)準(zhǔn)化的數(shù)據(jù)模型。同時操作層除了定義9種基本的RPC操作,還允許自定義RPC,自定義的RPC和具體操作內(nèi)容都需要進(jìn)行建模,YANG就是用來完成這個建模的。YANG使用modules和submodule進(jìn)行數(shù)據(jù)建模。一個YANGmodule,如圖六所示,定義了具有垂直結(jié)構(gòu)的數(shù)據(jù),這些數(shù)據(jù)可以被用做基于NETCONF的操作,包括配置、狀態(tài)數(shù)據(jù)的描述,還有RPC操作等。它使得NETCONF的Client和Server之間能有完整的數(shù)據(jù)描述。圖六:YANGmodule舉例怎么用YANGYANG建模得到的數(shù)據(jù)具備樹形結(jié)構(gòu)。其中每一個節(jié)點(diǎn)都有一個名字,都有一個值或者一些子節(jié)點(diǎn)。YANG文件為這些節(jié)點(diǎn),以及節(jié)點(diǎn)之間的交互提供明確清晰的描述,即數(shù)據(jù)模型路徑。網(wǎng)絡(luò)設(shè)備對于NETCONF的支持,就是在設(shè)備注冊YANG的數(shù)據(jù)模型路徑,使設(shè)備能夠根據(jù)YANG文件的數(shù)據(jù)模型路徑獲取數(shù)據(jù)或者寫入配置。那么對于運(yùn)維人員來說只需拿到設(shè)備廠商的YANG模型,根據(jù)YANG模型的要求將相關(guān)的配置或數(shù)據(jù)參數(shù)填入,即可通過NETCONF發(fā)起相關(guān)RPC操作,完成配置或數(shù)據(jù)讀取任務(wù)。通過YANG和NETCONF,就實現(xiàn)了基于可編程技術(shù)的網(wǎng)絡(luò)配置和管理,為自動化運(yùn)維提供了基礎(chǔ)。NETCONF與SNMP對比介紹完NETCONF,我們再回頭看下NETCONG與SNMP的簡單對比:SNMPNETCONFDatamodelsDefinedinMIBsDefinedinYANGDatamodelingLanguageSMIYANGManagementOperationsSNMPNETCONFRPCProtocolBERXMLTransportStackUDPSSHTCP表二:SNMP&NETCONF對比相比SNMP,NETCONF具備以下優(yōu)勢:簡單易用,YANG模型簡單易學(xué),可讀性好,且可直接映射到XML;清晰區(qū)分配置數(shù)據(jù)和狀態(tài)數(shù)據(jù),對于不同數(shù)據(jù),存儲在不同數(shù)據(jù)庫中,互相區(qū)分明確;可以統(tǒng)一管理整個網(wǎng)絡(luò)所有設(shè)備,而不再是基于單臺設(shè)備管理;自動化的配置下發(fā)和數(shù)據(jù)收集,降低人工誤操作幾率;標(biāo)準(zhǔn)化數(shù)據(jù)模型(建模語言);擴(kuò)展性好,除了標(biāo)準(zhǔn)操作,還可以自定義操作,實現(xiàn)獨(dú)特管理功能;基于SSH協(xié)議,提供配置鎖定等機(jī)制,數(shù)據(jù)安全性高。NETCONF問題NETCONF協(xié)議因其良好的易用性和擴(kuò)展性,已經(jīng)隨著SDN技術(shù)的逐步落地得到了越來越廣泛的使用,主流設(shè)備廠商設(shè)備均可以支持NETCONF功能。但是這樣是否就解決了網(wǎng)管運(yùn)維面臨的問題呢?答案顯然是否定的。原因在于:各廠商設(shè)備支持NETCONF基本都使用私有YANG模型,不同廠商設(shè)備不能識別其他廠商YANG文件;對于使用NETCONF運(yùn)維平臺的使用者,需要學(xué)習(xí)熟悉各廠商的NETCONF文檔和YANG文件;NETCONFYANGModel整體的標(biāo)準(zhǔn)化進(jìn)程十分緩慢。為了解決這些現(xiàn)實問題,業(yè)界的設(shè)備使用者們推出了另外一種標(biāo)準(zhǔn)化方案。OpenConfig為了屏蔽使用NETCONF時不同廠商設(shè)備的差異,由Google發(fā)起,AT&T,BritishTelecom,F(xiàn)acebook,Apple,Microsoft等參與成立了OpenConfig工作組,希望能創(chuàng)建一個與設(shè)備廠商無關(guān)的開放模型,用于網(wǎng)絡(luò)配置和策略。目前國內(nèi)許多互聯(lián)網(wǎng)巨頭公司也已經(jīng)加入了OpenConfig工作組。OpenConfig標(biāo)準(zhǔn)化OpenConfig的目的是基于實際案例的操作需求,使用YANG語言編譯一組中立的通用數(shù)據(jù)模型,以最終實現(xiàn)基于可編程技術(shù)的網(wǎng)絡(luò)自動化運(yùn)維。OpenConfig具備以下幾個主要特征:沿用NETCONF協(xié)議框架;使用YANG作為建模語言;不修改底層數(shù)據(jù)傳輸,只關(guān)注上層的數(shù)據(jù)表達(dá)和數(shù)據(jù)建模。也就是說OpenConfig更多的是要成為一個建模的標(biāo)準(zhǔn)。OpenConfig本身是基于標(biāo)準(zhǔn)化的NETCONF協(xié)議框架和建模語言YANG來開發(fā),在YANGModel維度進(jìn)行標(biāo)準(zhǔn)化,相當(dāng)對于YANG模型做了規(guī)范,需要各廠家設(shè)備全部需要能夠識別OpenConfigYANGModel的YANG文件,這樣,不同廠商的設(shè)備就可以通過統(tǒng)一模型的YANG文件來管理,不同的只是YANG文件中填入的參數(shù)。通俗的理解,OC(OpenConfig)YANG就是希望做成一種類似公有的YANG模型,如圖七所示。圖七:OCYANG模型OpenConfig生態(tài)情況目前OpenConfig還不是一個官方標(biāo)準(zhǔn)組織,甚至還不是一個正式的組織,很多的成員還都是通過郵件邀請的。它由Google倡導(dǎo),Microsoft、AT&T、英國電信等都是它的擁護(hù)者,國內(nèi)互聯(lián)網(wǎng)巨頭均已加入。OpenConfig目前還沒有發(fā)布標(biāo)準(zhǔn)RFC,但已經(jīng)成為NETCONF的下一個發(fā)展趨勢,各大網(wǎng)絡(luò)設(shè)備廠商都已經(jīng)開始了OpenConfig的開發(fā)工作。目前,由于在網(wǎng)絡(luò)管理、配置下發(fā)以及開放性等方面的優(yōu)勢,NETCONF基本已經(jīng)成為實現(xiàn)數(shù)據(jù)中心運(yùn)維自動化的主流協(xié)議。同時各大網(wǎng)絡(luò)設(shè)備廠商也紛紛將NETCONF加入功能支持列表里。雖然由于私有YANG的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論