yang模型介紹及語法

yang模型介紹及語法

ID:33721149

大?。?.54 MB

頁數(shù):23頁

時(shí)間:2019-02-28

yang模型介紹及語法_第1頁
yang模型介紹及語法_第2頁
yang模型介紹及語法_第3頁
yang模型介紹及語法_第4頁
yang模型介紹及語法_第5頁
資源描述:

《yang模型介紹及語法》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、YANG模型介紹及語法YANG模型是什么?YANG模型是一種數(shù)據(jù)建模語言,用來建模由NETCONF協(xié)議、NETCONF遠(yuǎn)端過程調(diào)用(RPCs)、和NETCONF通知(notification)操作的配置數(shù)據(jù)和狀態(tài)數(shù)據(jù)。YANG建模NETCONF協(xié)議的操作和內(nèi)容層(RFC4741,Section1.1)。YANG模型特性:?建模XML格式數(shù)據(jù)并由控制器元素提供功能:具有自己的語法格式,可以無差地轉(zhuǎn)化為XML格式,同時(shí)通過yangtoolsplugin可以生成相應(yīng)的java接口、類及方法等,為OpenDaylight內(nèi)部數(shù)據(jù)(控制

2、器元素)處理編程提供了便利。?定義語義元素和他們的關(guān)系,模擬所有的元素作為一個(gè)系統(tǒng),YANG模型是一種樹形結(jié)構(gòu)的建模語言,通過YANG模型本身的語法和語義關(guān)系可以看出其定義方式的靈活性。?YANG數(shù)據(jù)模型的XML特性提供了一種自表述數(shù)據(jù)的方式,控制器元素和采用控制器北向接口API的應(yīng)用可以以一種原生格式與數(shù)據(jù)模型一起調(diào)用。?利用一種模式語言簡化控制器元素和應(yīng)用的開發(fā)。模塊中提供功能的開發(fā)者可以定義一個(gè)模型,從而可以創(chuàng)建對(duì)于所提供功能的更簡單的、數(shù)據(jù)類型的API。因此降低了通過服務(wù)抽象層提供的數(shù)據(jù)結(jié)構(gòu)的錯(cuò)誤交互。YANG模型與N

3、ETCONF由最初YANG模型的定義可知,YANG模型與NETCONF密切相關(guān),其產(chǎn)生是為了對(duì)NETCONF協(xié)議所操作的數(shù)據(jù)進(jìn)行建模。最初的網(wǎng)絡(luò)管理協(xié)議SNMP也有對(duì)應(yīng)的建模語言SMI。下圖給出NETCONF/YANG與SNMP/SMI相關(guān)概念對(duì)比。圖1如圖中所示,NETCONF在很多方面體現(xiàn)出對(duì)于SNMP協(xié)議的優(yōu)越性,NETCONF協(xié)議由XML編碼,以SSH加密,采用TCP連接,體現(xiàn)出更好的安全性和可靠性。下面簡單引出NETCONF協(xié)議的configurationdatastore。PicYANG模型通過樹形結(jié)構(gòu)的節(jié)點(diǎn)定義描

4、述了數(shù)據(jù)模型的層級(jí)嵌套結(jié)構(gòu)以及各屬性的數(shù)據(jù)類型。YANG具有自己的語法格式,也可以無差別地轉(zhuǎn)換為XML格式,稱之為YIN??梢允褂玫谌焦ぞ遬yang進(jìn)行轉(zhuǎn)換。pyang地址:http://www.yang-central.org/twiki/pub/Main/YangTools/pyang.1.html接下來將會(huì)對(duì)YANG模型的語法和語義進(jìn)行描述,說明在YANG中數(shù)據(jù)模型是如何定義的,并且以XML格式展示,以及NETCONF操作如何來操作數(shù)據(jù)。(https://tools.ietf.org/html/rfc6020#sect

5、ion-1)YANG模型語義及語法YANG模型主要內(nèi)容圖2正如之前所提到的,除去headerinformation、imports&includes、Typedefinitions之外,YANG模型的主要內(nèi)容Configuration&Operationaldatadeclarations和Action(RPC)&Notificationdeclarations對(duì)應(yīng)了YANG模型定義中的“NETCONF協(xié)議、NETCONF遠(yuǎn)端過程調(diào)用(RPCs)、和NETCONF通知(notification)”。下面將通過基本示例來介紹以上

6、所述主要內(nèi)容。YANGHEADER圖3上圖所示是一個(gè)YANG文件的HEADER,其中modulename(vxlan)要與YANG文件的文件名一致(即這個(gè)YANG文件的名字為vxlan.yang),namespace用來唯一標(biāo)識(shí)這個(gè)YANG模型與其他YANG模型不同,prefix作為namespace的一種簡寫,其次import用來定義導(dǎo)入的其他YANG模型,注意到在后面的大括號(hào)中包括這個(gè)YANG模型的prefix和revision-data。revision用來唯一定義這個(gè)YANG模型的revision。其余一些organi

7、zation、contact、description定義僅用于描述。YANG模型是一個(gè)XML格式定義語言。另外,針對(duì)上圖示例中沒有體現(xiàn)的“include”來說,include是用于將sub-module引入到module里面,這個(gè)module不一定要有一個(gè)文件。Submodule沒有namespace而是以belongs-to來表征屬于哪一個(gè)mainmodule.YANGTYPESDataTypeYANG模型的DataType包括BaseType和DerivedType,BaseType即為一個(gè)簡單的類型,DerivedTyp

8、e或許是typedefs定義的一個(gè)BaseType或許是grouping定義的具有結(jié)構(gòu)的類型。接下來在TypedefStatement和GroupingStatement中將會(huì)進(jìn)一步介紹DerivedType。BaseTypeTheleafStatementTheleaf-l

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。