Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

デバイスで動作している YANG についてJunos OS

YANG は、設定と運用状態データ、リモート プロシージャ コール(RPC)、およびネットワーク デバイスのサーバー イベント通知をモデル化するために使用される、標準ベースの拡張可能なデータ モデリング言語です。ネットワーク構成プロトコル(NETCONF)モデルIETFのコンテンツレイヤーの標準を提供するために、ネットワーク管理データをモデル化する YANG が最初に設計された NETMOD 作業グループ。ただし、YANG はプロトコルに依存しないモデルであり、YANG データ モデルはトランスポート プロトコルや RPC プロトコルに依存しないモデルを使用して、ネットワーク設定プロトコルでサポートされる任意のエンコーディング形式に変換できます。

ジュニパーネットワークス、yang の設定階層と運用コマンド、および YANG Junos OSを定義する YANG モジュールJunos OS提供します。YANG モジュールは、yang の web サイトジュニパーネットワークスまたは YANG の ジュニパーネットワークス GitHub リポジトリからダウンロードするか、デバイスで動作しているデバイスでモジュールを生成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 ベースのツールを使用したり、カスタム ネットワーク管理アプリケーションを開発したりして、YANG モジュールを利用して、より高速で正確なネットワーク のプログラム可能性を実現できます。たとえば、クライアント アプリケーションは YANG モジュールを使用して異なるデバイスのベンダー固有の設定データを生成し、そのデータを検証してからデバイスにアップロードすることができます。また、このアプリケーションは、予期しない RPC の応答やエラーを処理およびトラブルシューティングする可能性があります。

YANG の詳細については 、 RFC 6020YANG - A Data Modeling Language for the Network Configuration Protocol(NETCONF)、および関連する RFC をご覧ください。