gRPC プロトコル
Google 定義されたリモート プロシージャ コール(gRPC)は、オープンソースの RPC フレームワークです。これはプロトコル バッファ(Protobuf)に基づいたオープンソースのバイナリ シリアル化プロトコルです。gRPC は、XML などの構造化されたデータをシリアル化するための柔軟で効率的な自動メカニズムですが、小型で使いやすくなっています。ユーザは、.proto ファイルにプロトコル バッファ メッセージ タイプを定義することで構造を定義する必要があります。各プロトコル バッファ メッセージは、一連の名前と値のペアを含む情報の小型の論理レコードです。
Cisco gRPC インターフェイス定義言語(IDL)は、一連のサポートされている RPC(get-config、merge-config、replace-config、cli-config、delete-config、cli-show、get-models、action-json、commit、commit-replace など)を使用します。gRPC サーバは Extensible Manageability Services Daemon(EMSD)プロセス内で動作します。gRPC クライアントは任意のマシン上に配置できます。
gRPC は要求および応答をバイナリでエンコードします。gRPC は、Protobuf とともに他のコンテンツ タイプに拡張可能です。gRPC の Protobuf バイナリ データ オブジェクトは HTTP/2 を介して転送されます。
(注) |
gRPC を有効にする前に、TLS を設定することを推奨します。gRPC プロトコルを有効にすると、TCP で TLS が有効になっていないデフォルトの HTTP/2 トランスポートが使用されます。gRPC では、すべての gRPC 要求に対して AAA 認証および認可が義務付けられています。TLS が設定されていない場合、認証クレデンシャルは暗号化されていないネットワークを介して転送されます。非 TLS モードは、セキュアな内部ネットワークでのみ使用できます。 |
gRPC はクライアントとサーバ間の分散型のアプリケーションやサービスをサポートします。gRPC はサーバとクライアント間の設定データと運用データを交換するためにデバイス管理サービスを構築するインフラストラクチャを提供します。そのデータの構造は YANG モデルによって定義されます。