概要

モデル駆動型プログラマビリティについて

Cisco NX-OS デバイスのモデル駆動型プログラマビリティ(model-driven programmability、MDP)により、デバイスの構成と制御を自動化できます。また、デバイスの状態変化をモニターすることもできます。

データ モデリングでは、手作業の構成プロセスの代わりに、プログラムを使用した標準ベースの方法でネットワーク デバイスの構成を記述します。データ モデルは、業界で定義された標準言語で記述されます。CLI を使用した設定のほうがわかりやすいですが、データモデルを使用して設定を自動化すると拡張性が向上します。

Cisco NX-OS デバイスは YANG データ モデリング言語をサポートしています。YANG は、ネットワーク デバイスの構成データと運用データ、リモート プロシージャ呼び出し、および通知を記述するために用いられるデータ モデリング 言語です。

次に、NX-OS でサポートされる標準ベースのプログラマブルインターフェイスを示します。

  • NETCONF

  • RESTCONF

  • gRPC

NX-OS でサポートされるオブザーバビリティインターフェイスは次のとおりです。

  • NETCONF

  • gRPC

  • テレメトリ

プログラム可能なインターフェイス インフラストラクチャについて

ここでは、NX-OS プログラマブル インターフェイス インフラストラクチャの概要について説明します。

NETCONF、RESTCONF または gRPC のどの方法で受信した場合でも、要求は、抽象メッセージ オブジェクトに変換されます。そのメッセージ オブジェクトは、要求内のモデル名前空間に基づいて、基盤となるモデル インフラストラクチャに配布されます。名前空間を使用すると、適切なモデルが選択されて、要求は処理のために渡されます。モデル インフラストラクチャは、基礎となる NX-OS のデバイス データストアで要求(読み取りまたは書き込み)を実行します。結果は要求元のエージェントに返され、要求元のクライアントに応答が送信されます。

NX-OS プログラマビリティエージェント

エージェントは、NX-OS デバイスと外部クライアント間のインターフェイスを提供します。ネットワーキングデバイスとの通信の特定のトランスポート、プロトコル、およびエンコーディングを指定します。NX-OS プログラマブルインターフェイスは、NETCONF、RESTCONF、および gRPC の 3 つのエージェントをサポートします。それぞれが YANG モデルを介する構成管理に異なるインターフェイスを提供します。


(注)  


各 Cisco NX-OS リリースでサポートされている YANG モデルについては、https://devhub.cisco.com/ui/native/open-nxos-agents を参照してください。


表 1. NX-OS プログラマブル インターフェイス エージェント
エージェント トランスポート プロトコル(Protocol) エンコーディング(Encoding)
NETCONF SSH 該当なし XML
RESTCONF HTTP draft-ietf-netconf-restconf-10[1 XML または JSON
gRPC HTTP gRPC プロトコル [2] Google Protobuf

プロトコルの仕様については、次のドキュメントを参照してください。

NX-OS オブザーバビリティエージェント

スイッチイベントをモニターするための、読み取り専用ストリーミングインターフェイスが存在することに注意してください。NX-OS は、標準ベースの NETCONF と gRPC、および独自のソフトウェアテレメトリをサポートします。

表 2. NX-OS オブザーバビリティインターフェイスエージェント
エージェント トランスポート プロトコル(Protocol) エンコーディング(Encoding)
NETCONF SSH 該当なし XML
gRPC HTTP gRPC プロトコル Google Protobuf
テレメトリ HTTP、UDP、GRPC NA KVGPB、JSON

モデル インフラストラクチャ

モデル インフラストラクチャは、エージェントから受信した要求を受け取り、要求内の YANG モデルに関連付けられている名前空間を決定し、名前空間に一致するモデル コンポーネントを選択して要求を処理します。選択したモデル コンポーネントが要求処理を完了すると、処理結果が要求元のエージェントに送信され、クライアントに送り返されます。モデル インフラストラクチャは、エージェント プロトコルの指定に従って、認証、ハンドシェイクなどを含むプロトコル開始要求の処理も行います。

ネイティブ(デバイス)YANG モデル

デバイス構成を記述している YANG モデルは、デバイス YANG モデルと呼ばれます。デバイスモデルは、デバイス名前空間の他のモデルコンポーネントのように、モデルインフラストラクチャに明示されます。

共通(OpenConfig)YANG モデル

共通モデルは、パブリックコミュニティによって定義される別の種類のモデルコンポーネントです。共通モデルの YANG パスは、同等のデバイスモデル要素に変換できます。これら同等のデバイス モデル要素は、デバイス YANG コンテキストでデバイス モデル データの読み取りと書き込みに使用されます。


(注)  


Cisco NX-OSは、中央集中型の DME データベースを維持します。デバイスと OpenConfig YANG は、DME データベースのラッピング表現です。これにより、すべてのプログラマビリティインターフェイスで一貫性が保証されます。ユーザーが異なるインターフェイスを使用していても、同じスイッチの構成/状態が矛盾なく表示されます。