NFX150デバイス上のYANGファイル
NFX150 デバイスでの YANG について
YANGは、スタンダードベースの拡張可能なデータモデリング言語で、ネットワークデバイスの設定や運用状態データ、リモートプロシージャ コール(RPC)、サーバーイベント通知のモデル化に使用されます。IETF の NETMOD ワーキング グループはもともと、ネットワーク管理データをモデル化し、ネットワーク設定プロトコル(NETCONF)モデルのコンテンツ層の標準を提供するために YANG を設計しました。ただし、YANG はプロトコルに依存せず、YANG データ モデルはトランスポートや RPC プロトコルとは無関係に使用でき、ネットワーク設定プロトコルがサポートする任意の符号化形式に変換できます。
ジュニパーネットワークスは、Junos OSの設定階層と運用コマンド、およびJunos OS YANG拡張を定義するYANGモジュールを提供します。Junos OS を実行しているデバイス上でモジュールを生成できます。
YANG は、C 言語に似た構文、つまりデータの階層構造を使用し、一連の組み込み型と派生型を定義する機能を提供します。YANGは可読性を重視しており、モジュールとサブモジュール、および再利用可能なタイプとノードグループを使用することで、モジュール性と柔軟性を提供します。
YANG モジュールは 1 つのデータ モデルを定義し、そのデータのエンコーディングを決定します。YANG モジュールは、そのデータ、およびそのデータの階層構造と制約を通じてデータ モデルを定義します。モジュールは、完全なスタンドアロン エンティティにすることも、他のモジュールやサブモジュールの定義を参照したり、追加のノードで他のデータ モデルを拡張したりすることもできます。
YANG モジュールは、データの構文だけでなくセマンティクスも定義します。これにより、データ間の関係と制約が明示的に定義されます。これにより、制約要件を満たす構文的に正しいコンフィギュレーション データを作成でき、データをアップロードしてデバイスにコミットする前に、モデルに対してデータを検証できます。
YANG は、SMI(管理情報の構造)が MIB を使用して SNMP 操作のデータをモデル化するのと同じ方法で、モジュールを使用してネットワーク操作の設定および状態データ、通知、RPC を定義します。ただし、YANG には運用データと設定データを区別できるという利点があります。YANG は SNMP の SMI バージョン 2(SMIv2)との互換性を維持しており、libsmi を使用して SMIv2 MIB モジュールを YANG モジュールに、またその逆の変換を行うことができます。また、YANG パーサを使用できない場合は、YANG モジュールを YANG 独立記法(YIN)に変換できます。これは、XML パーサや XSLT スクリプトで読み取ることができる同等の XML 構文です。
YANG の詳細については、 RFC 6020、 YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)、および関連する RFC を参照してください。
詳細については、「 YANG モジュールの概要」、「 ジュニパーネットワークスの YANG モジュールの使用」、および 「show system schema」を参照してください。
YANG ファイルの生成
NFX150デバイス上でJCP用のYANGファイルを生成できます。
JCP の YANG ファイルを生成するには、次の手順に従います。