YANG 特徴

YANG

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/12/22 06:29 UTC 版)

特徴

モジュール構造

モジュールは YANGモデルの単位である。

YANGでは、ネットワーク機器などのモデル化対象の一つを単一のモジュールでモデル化することもできるし、機能ごとに別々のモジュールでモデル化し、それを一つの親モジュールに含めてまとめあげることでモデル化することも可能である。複数のモジュールを包含関係で結びつける場合、他のモデルに含められるほうをサブモジュールという。サブモジュールはまたさらにそのサブモジュールを含むことができる。

通常は、モジュールまたはサブモジュール単位で個別のファイルに記述することとされている[1]。親モジュールがサブモジュールを含むときは、includeステートメントを用いる。

データを木構造として定義

YANGには、データ構造をモデルするために四種類のステートメントを定義している。これらを組み合わせることで、木構造を持つデータ構造を定義できる。

leaf
ある型を持つ単一のスカラー値ノードを定義するためのステートメントである。leafで定義されたデータノードは下位構造を持つことができない[2]
leaf-list
同じ型を持つ値の配列ノードを定義するためのステートメントである。leaf-listに格納されるノード値は、一意でなくてはならない[3]
container
下位のノードをまとめるためのステートメントである。木構造における枝の役割を果たす。containerノード自身は値を持たない[4]
list
同種の下位構造を複数個保持するためのステートメントである。listにはその直下に keyステートメントを持ち、これによりそのリストにおける主キーを格納するためのノードを定義する。この主キーに格納されるノード値は、そのlist内で一意でなくてはならない[5]

状態のモデル化

YANGモデルでは、機器の設定を保持するノードの他に、機器の状態値を保持するノードを定義することができる[6]。これはNETCONFのget操作で機器から取得した状態値を格納する、といった使われ方を想定している。状態ノードはconfigステートメント[7]をfalseとしてモデル化する。

組み込まれたデータ型

いくつかのデータ型があらかじめ定義されている。

型名 意味
int8 -128から127までの整数値を表す型
int16 -2147483648から2147483647までの整数値を表す型
int32 -9223372036854775808から9223372036854775807までの整数値を表す型
int64 -128から127までの整数値を表す型
uint8 0から255までの整数値を表す型
uint16 0から65535までの整数値を表す型
uint32 0から4294967295までの整数値を表す型
uint64 0から18446744073709551615 までの整数値を表す型
decimal64 小数値型
string 文字列型
boolean 真偽値型
enumeration 列挙型
bits ビット値(0 or 1)を並べた値を表す型
leafref 他のleaf値を参照するための型
identityref 他のidentity値を参照するための型
empty 値ではなく、ノードの有無を表現するための型
union その下位で定義された型のいずれかを持つ型

データ型の導出されたデータ型

組み込まれたデータ型や他の導出されたデータ型を組み合わせたり、数値の範囲などを制限することにより、YANGモデル内で新たな型を定義し、ノード値の型として用いることができる。この型の定義にはtypedefステートメント[8]を用いる。

グループ化されたノードの再利用

groupingステートメントを用いてノードのまとまりをグループ化することで、モデル内で再利用することができる[9]。これにより、モデルのいくつかの部分が共通するデータ構造を持つ場合に、定義を共有できる。

モデルの拡張

あるモデルを拡張するため、augmentステートメント[10]を使って別のモジュールを追加することができる。ある機器の設定が、全体的にはある標準規格に従っているが、一部にそのベンダー固有の設定が追加されているような場合をモデル化するときに用いることができる。

RPCのモデル化

rpcステートメントを用いることで、NETCONFなどRPCに対するインターフェイスをモデル化できる[11]。入力パラメタと出力情報の型をそれぞれinputステートメントとoutputステートメントで定義する。

通知のモデル化

機器から何らかの通知が行われる場合に、その通知情報の型を定義することができる[12]


公式サイト

出典

  1. ^ "File Layout". YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF) (英語). pp. 28. sec. 5.2. doi:10.17487/RFC6020. RFC 6020
  2. ^ "The leaf Statement". YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF) (英語). pp. 58. sec. 7.6. doi:10.17487/RFC6020. RFC 6020
  3. ^ "The leaf-list Statement". YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF) (英語). pp. 62. sec. 7.7. doi:10.17487/RFC6020. RFC 6020
  4. ^ "The container Statement". YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF) (英語). pp. 51. sec. 7.5. doi:10.17487/RFC6020. RFC 6020
  5. ^ "The list's key Statement". YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF) (英語). pp. 68. sec. 7.8.2. doi:10.17487/RFC6020. RFC 6020
  6. ^ "State Data". YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF) (英語). pp. 19. sec. 4.2.3. doi:10.17487/RFC6020. RFC 6020
  7. ^ "The config Statement". YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF) (英語). pp. 105. sec. 7.19.1. doi:10.17487/RFC6020. RFC 6020
  8. ^ "The typedef Statement". YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF) (英語). pp. 49. sec. 7.3. doi:10.17487/RFC6020. RFC 6020
  9. ^ "The grouping Statemen". YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF) (英語). pp. 82. sec. 7.11. doi:10.17487/RFC6020. RFC 6020
  10. ^ "The augment Statement". YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF) (英語). pp. 93. sec. 7.15. doi:10.17487/RFC6020. RFC 6020
  11. ^ "The rpc Statement". YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF) (英語). pp. 87. sec. 7.13. doi:10.17487/RFC6020. RFC 6020
  12. ^ "Notification Definitions". YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF) (英語). pp. 24. sec. 4.2.10. doi:10.17487/RFC6020. RFC 6020
  13. ^ "YIN". YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF) (英語). pp. 137. sec. 11. doi:10.17487/RFC6020. RFC 6020





英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「YANG」の関連用語

YANGのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



YANGのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのYANG (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2024 GRAS Group, Inc.RSS