このページで
NFX250デバイス上のYANGファイル
NFX250デバイスのYANGについて
YANGは、スタンダードベースの拡張可能なデータモデリング言語で、ネットワークデバイスの設定および運用状態データ、リモートプロシージャコール(RPC)、サーバーイベント通知のモデル化に使用されます。IETF の NETMOD 作業グループはもともと、ネットワーク管理データをモデル化し、NETCONF(ネットワーク構成プロトコル)モデルのコンテンツ レイヤーの標準を提供するために YANG を設計しました。ただし、YANG はプロトコルに依存しません。YANG データ モデルは、トランスポート プロトコルや RPC プロトコルから独立して使用でき、ネットワーク設定プロトコルでサポートされている任意のエンコード形式に変換できます。
ジュニパーネットワークスは、Junos OS 設定階層と運用コマンド、Junos OS YANG 拡張を定義する YANG モジュールを提供します。Junos OS を実行しているデバイスでモジュールを生成できます。
YANGは、Cのような構文、データの階層的な組織を使用し、組み込み型のセットと派生型を定義する機能を提供します。YANGは読みやすさを強調し、モジュールやサブモジュール、再利用可能なタイプやノードグループを使用することで、モジュール性と柔軟性を提供します。
YANG モジュールは単一のデータ モデルを定義し、そのデータのエンコーディングを決定します。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モジュールの使用、および システムスキーマを表示するを参照してください。
YANG ファイルの生成
NFX250 デバイスで JDM およびJCP用の YANG ファイルを生成できます。
JDM 用の YANG ファイルを生成するには、
JCP用の YANG ファイルを生成するには、次の手順に沿います。
JCP CLI にログインします。
{master:0} root@jdm> ssh jdm-sysuser@vjunos0 {master:0} jdm-sysuser>
生成された YANG ファイルを保存する一時ディレクトリを作成します。
{master:0} jdm-sysuser> file make-directory /var/tmp/jcp_yang {master:0} jdm-sysuser> file list /var/tmp/jcp_yang /var/tmp/jcp_yang: {master:0} jdm-sysuser>
JCP用の YANG ファイルを生成します。
{master:0} root> show system schema module all format yang output-directory /var/tmp/jcp_yang
YANGファイルが指定されたターゲットディレクトリで生成されるかどうかを確認します。
{master:0} root> file list /var/tmp/jcp_yang /var/tmp/jcp_yang: junos-common-types@2020-01-01.yang junos-qfx-conf-access-profile@2020-01-01.yang junos-qfx-conf-access@2020-01-01.yang junos-qfx-conf-accounting-options@2020-01-01.yang junos-qfx-conf-applications@2020-01-01.yang ...Output truncated...
生成された YANG ファイルを JCP から JDM にコピーします。
JCP CLI を終了して JDM CLI に戻ります。
{master:0} jdm-sysuser> exit Connection to vjunos0 closed. {master:0} root@jdm>
JDM シェルに移動し、生成されたJCP YANG ファイルをJCPから JDM にコピーします。
{master:0} root@jdm> start shell jdm:~# scp -r jdm-sysuser@vjunos0:/var/tmp/jcp_yang /var/third-party/ junos-qfx-conf-access-profile@2020-01-01.yang 100% 923 0.9KB/s 00:00 junos-qfx-conf-access@2020-01-01.yang 100% 179KB 178.9KB/s 00:00 junos-qfx-conf-accounting-options@2020-01-01.yang 100% 20KB 20.4KB/s 00:00 junos-qfx-conf-applications@2020-01-01.yang 100% 11KB 10.6KB/s 00:00 ...Output truncated... jdm:~#
または
file copy
コマンドを使用して、生成されたJDMおよびJCP YANGファイルをYANGベースのツールまたはオーケストレータにscp
コピーします。