Cisco Nexus 1000V XML 管理インターフェイス ユーザ ガイド リリース 4.2(1)SV1(5.1)
概要
概要
発行日;2012/06/17 | 英語版ドキュメント(2012/01/31 版) | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 528KB) | フィードバック

目次

概要

はじめに

用語の定義

スキーマ

サーバ

ネットワーク設定プロトコル

XML メッセージおよび返信形式

XML 宣言

要求

動作

返信

その他の関連資料

標準

RFC

概要

この章では、XML API を使用して、Cisco Nexus 1000V を設定およびモニタする方法について説明します。内容は次のとおりです。

「用語の定義」

「はじめに」

「スキーマ」

「サーバ」

「ネットワーク設定プロトコル」

「XML メッセージおよび返信形式」

「その他の関連資料」

はじめに

eXtensible Markup Language(XML)アプリケーション プログラミング インターフェイス(API)では、XML を使用して、Cisco Nexus 1000V を管理およびモニタできます。クライアント PC から XML API タグを使用して CLI コマンドを符号化し、セキュア SSH 接続経由でデバイスに送信できます。

用語の定義

表 1-1 では、このマニュアルで使用されている用語、略語、およびアクションを定義します。

表 1-1 用語の定義

用語
説明

CLI

コマンドライン インターフェイス

NETCONF

ネットワーク設定プロトコル

NETCONF 動作

NETCONF プロトコルによって実行されるアクション。

RPC

リモート プロシージャ コール。クライアント PC からのリモート XML サーバのサービスを使用するためのプログラミング インターフェイス。クライアント PC は、リモート XML サーバに要求メッセージを送信します。リモート XML サーバは必要な動作を実行し、結果を送信します。

SSH

セキュア シェル

XML

Extensible Markup Language(主にテキストとタグで構成されます)。

XML エージェント

XML サーバ:クライアント要求を実行し、応答する Cisco Nexus 1000V の XML プロセス。

XML クライアント

Cisco Nexus 1000V XML サーバに要求を送信し、このサーバからの応答を受信する外部アプリケーション。

XML オペレーション

XML クライアント要求のうち、XML エージェントの実行内容を指定する部分。

XML オペレーション プロバイダー

次の作業を実行する Cisco Nexus 1000V コード:

XML 要求の解析。

要求された動作の実行。

XML 返信のアセンブル。

XML 要求

実行する必要がある複数の要求動作が含まれている XML ドキュメント。Cisco Nexus 1000V に送信されます。

XML 返信

XML 要求への返信。

XML スキーマ

XML ドキュメントに含めることができる XML 要素の構造および考えられるコンテンツを指定する XML ドキュメント。

スキーマ

XML インターフェイスは、XML でサポートされる CLI コマンドの XML スキーマ定義(XSD)とともに実装されます。Cisco.com から機能ベースの XSD ファイルをダウンロードできます。

XSD のコピーを取得するには、ブラウザで次の URL のシスコ ソフトウェア ダウンロード サイトに移動します。

http://www.cisco.com/go/1000v/

サーバ

XML サーバとも呼ばれる Cisco Nexus 1000V XML エージェントを使用すると、セキュアな接続を介した XML 形式の要求ストリームおよび応答ストリームの交換を使用して、設定およびモニタリングを行うことができます。

XML サーバとの SSH セッションを開始すると、XML サーバは自身の機能を示す hello メッセージを即時に送信します(例 1-1 参照)。サーバで以降の要求が処理される前に、サーバに対して hello メッセージでクライアントの機能をアドバタイズする必要があります(例 1-2 参照)。


) すべての XML ドキュメントは、]] >]] > で終了して、SSH 経由の NETCONF の同期がサポートされるようにする必要があります。


例 1-1 サーバからの hello メッセージ

<?xml version="1.0"?>
<hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<capabilities>
<capability>urn:ietf:params:xml:ns:netconf:base:1.0</capability>
</capabilities>
</hello>]]>]]>

例 1-2 クライアントからの hello メッセージ

<?xml version="1.0"?>
<nc:hello xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">
<nc:capabilities>
<nc:capability>urn:ietf:params:xml:ns:netconf:base:1.0</nc:capability>
</nc:capabilities>
</nc:hello>]]>]]>
 

ネットワーク設定プロトコル

XML API との通信は、XML でネットワーク設定プロトコル(NETCONF)経由で実行されます。NETCONF は、セキュア接続のための単純なリモート プロシージャ コール(RPC)および SSH トランスポート プロトコルを使用します。

NETCONF over SSHv2 を実行するには、クライアントと XML サーバの SSH 転送接続を確立します。クライアントとサーバは、セキュリティおよびパスワード暗号化に使用するキーを交換します。NETCONF SSHv2 セッションのユーザ ID とパスワードは、認可および認証に使用されます。そのユーザの権限レベルが適用されるため、十分に高い権限レベルでなければ、クライアント セッションから NETCONF 動作にフル アクセスできません。

AAA が設定されている場合、AAA サービスは、SSH セッションを直接 Cisco Nexus 1000V と確立したかのように使用されます。クライアントは、正常に認証されると、SSH 接続プロトコルを開始し、SSH セッションを確立します。SSH セッションが確立されると、ユーザまたはアプリケーションは、SSH サブシステムとして NETCONF を開始します。

NETCONF の詳細については、 RFC 4741 を参照してください。

セキュア シェル(SSH)での NETCONF プロトコルの使用の詳細については、 RFC 4742 を参照してください。

XML メッセージおよび返信形式

クライアントとサーバ間の通信は、一連の交互要求/返信メッセージで構成されます。

有効なクライアント ID は、32 ビットの符号なし整数です。要求メッセージに有効なクライアント ID が含まれている場合、サーバは、返信にも同じクライアント ID を含めます。クライアント ID は、隠されたデータとして扱われ、XML API によって他のあらゆる点で無視されます。

クライアント アプリケーションによってサーバに送信された各要求は、XML 宣言タグで始まり、要求タグと 1 つ以上の動作タグが続きます。各要求には、サポートされている各動作タイプの 1 つ以上の動作を含めることができ、動作は繰り返すことができます。

同様に、サーバからのすべての 返信 は、XML 宣言タグで始まり、返信タグと、クライアント要求の動作タグに対応する 1 つ以上の動作タグが続きます。

図 1-1 に、NETCONF XML メッセージの内容の各ラインの識別に使用されるタグを示します。

「XML 宣言」

「要求」

「動作」

図 1-1 NETCONF XML メッセージ形式

 

 

XML 宣言

各要求および返信は、XML のバージョンと使用される文字セット(任意)を示す XML 宣言で始まります。

次に、XML 宣言の属性を示します。

Version:使用する XML のバージョンを指定します。

Encoding:(任意)使用する標準化された文字セットを指定します。

例 1-3 宣言ステートメント

<?xml version="1.0"?>

要求

XML メッセージ形式では、クライアント要求は XML 宣言タグの後に配置されます。各要求は、一連の RPC タグで囲まれている必要があります。要求には、NETCONF 動作とデバイス(CLI-based)動作が含まれます。

例 1-4 に示すように、CLI コマンド(たとえば、 show xml server status )に続いて NETCONF 動作(たとえば、 get )指定します。

例 1-4 要求

<nc:rpc message-id="1" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"
xmlns="http://www.cisco.com/nxos:1.0:xml">
<nc:get>
<nc:filter type="subtree">
<show>
<xml>
<server>
<status/>
</server>
</xml>
</show>
</nc:filter>
</nc:get>
</nc:rpc>]]>]]>
 

動作

クライアント要求では、NETCONF 動作および CLI コマンドベースの動作の両方を指定します。例 1-5 に、XML API メッセージに次の動作がどのように表示されるかを示します。

 

NETCONF 動作
CLI コマンド動作

get

フィルタ タイプ = subtree

show xml server status


) サポートされている NETCONF 動作を識別するには、表 1-2 を参照してください。


例 1-5 動作

<nc:get>
<nc:filter type="subtree">
<show>
<xml>
<server>
<status/>
</server>
</xml>
</show>
</nc:filter>
</nc:get>
 

 

クライアント要求は XML エージェントで受信されると、処理のために XML API ライブラリにルーティングされます。要求された動作がすべて処理されると、XML エージェントはクライアントに XML で符号化された返信ストリームを送信します。 表 1-2 に、サポートされている NETCONF 動作を示します。

 

表 1-2 NETCONF 動作

NETCONF 動作
サポートの有無
説明

close-session

Yes

サーバ セッションを終了します。

「例:セッションの終了」

commit

No

--

--

copy-config

No

--

--

delete-config

Yes

スタートアップ コンフィギュレーションの write erase コマンドと同等に機能します。

「例:設定の削除」

edit-config

Yes

デバイスの実行コンフィギュレーションの機能を設定します。この動作は、コンフィギュレーション コマンドに使用します。

「例:設定の編集」

get

Yes

デバイスから設定情報を受信します。この動作は、 show コマンドに使用します。データのソースは実行コンフィギュレーションです。

「例:複数動作によるメッセージの作成」

get-config

No

--

--

kill-session

Yes

他のサーバ セッションを終了します。

「例:独自セッション以外のセッションの終了」

lock

No

--

--

unlock

No

--

--

validate

No

--

--

返信

クライアントから送信するすべての XML 要求に対して、例 1-6 に示すように XML サーバから XML 返信が送信されます。要求メッセージと同様に、サーバからのすべての返信は、 XML 宣言 で始まり、1 つ以上の 動作 が含まれています。 表 1-3 に、可能な返信を示します。


) 受信する返信の順序は、要求の送信順序とは異なることがあります。


例 1-6 返信

<nc:rpc-reply message-id=”315” xmlns xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">
<ok/>
</nc:rpc-reply>]]>]]>
 

 

表 1-3 返信

要素
説明

<ok>

要求が正常に完了し、返信に追加情報が含まれません。

<data>

要求が正常に完了し、返信に追加情報が含まれます。

<rpc-error>

要求は失敗し、返信にエラー情報が応答に含まれます。

その他の関連資料

XML 管理インターフェイスの実装に関連する詳細情報については、次の項を参照してください。

「標準」

「RFC」

標準

標準
タイトル

この機能でサポートされる新規の標準または変更された標準はありません。また、既存の標準のサポートは変更されていません。

--

RFC

RFC
タイトル

RFC 4741

『NETCONF Configuration Protocol』

RFC 4742

『Using the NETCONF Configuration Protocol over Secure Shell (SSH)』