ここでは、NX-OS プログラマブル インターフェイス インフラストラクチャの概要について説明します。
NETCONF、RESTConf または、 gRPC 経由でのいずれかの方法で受信されても要求は、抽象メッセージ オブジェクトに変換されます。そのメッセージオブジェクトは、要求内の名前空間に基づいて基盤となるモデルインフラストラクチャに配布されます。名前空間を使用すると、適切なモデルが選択され、要求は処理のために渡されます。モデルインフラストラクチャは、デバイスデータストアで要求(読み取りまたは書き込み)を実行します。結果は要求元のエージェントに返され、要求元のクライアントに応答が送信されます。
NX-OS プログラマブル インターフェイス エージェント
エージェントは、デバイスとクライアント間のインターフェイスを提供します。デバイスとの通信のトランスポート、プロトコル、およびエンコーディングを指定します。NX-OS プログラマブル インターフェイスは、NETCONF、RESTConf、および
gRPC の 3 つのエージェントをサポートします。それぞれが YANG モデルを介してデバイスの構成管理に異なるインターフェイスを提供します。
表 1. NX-OS プログラマブル インターフェイス エージェント
Agent
|
トランスポート
|
Protocol
|
エンコーディング
|
NETCONF
|
SSH
|
|
XML
|
RESTConf
|
HTTP
|
draft-ietf-netconf-restconf-10[1
|
XML または JSON
|
gRPC
|
HTTP
|
gRPC Protocol Spec[2]
|
Google Protobuf
|
プロトコルの仕様については、次のドキュメントを参照してください。
モデル インフラストラクチャ
モデル インフラストラクチャは、エージェントから受信した要求を受け取り、要求内の YANG モデルに関連付けられている名前空間を決定し、名前空間に一致するモデル コンポーネントを選択して要求を処理します。選択したモデル コンポーネントが要求処理を完了すると、処理結果が要求元のエージェントに送信され、クライアントに送り返されます。モデル
インフラストラクチャは、エージェント プロトコルの指定に従って、認証、ハンドシェイクなどを含むプロトコル開始要求の処理も行います。
デバイス YANG モデル
デバイス構成は、デバイスモデルと呼ばれる YANG モデルで記述されます。デバイス モデルは、デバイス名前空間を持つ別のモデル コンポーネントとしてモデル インフラストラクチャに明示されます。
共通 YANG モデル
共通モデルは、同等のデバイスモデル要素への YANG パスを要素内に含む、別の種類のモデル コンポーネントです。これら同等のデバイス モデル要素は、デバイス YANG コンテキストでデバイス モデル データの読み取りと書き込みに使用されます。