NETCONFNETCONF(英: Network Configuration Protocol)は、ネットワーク機器の設定を取得、更新するための遠隔手続き呼出し (RPC) ベースの通信プロトコルである。クライアントとしてネットワーク管理アプリケーション、サーバとしてネットワーク機器を想定したクライアントサーバモデルのプロトコルとして定義されている。 経緯IETFでの議論[1]を経て、2006年に初版1.0が RFC 4741 として公開された。その後、2011年に改訂版 1.1 が RFC 6241 として発行されている。 特徴プロトコル構成NETCONFプロトコルは、大きく四つの層に分けられる[2]。 セキュアトランスポート層メッセージを転送するためのプロトコルを規定した層である。RFC 6241 ではこの層については要件のみが規定され、特定のプロトコルには依存しない形になっている。SSH[3]、TLS[4]、SOAP[5]、BEEP[6]などの利用が想定されている。 メッセージ層NETCONFのRPCメッセージはXMLにコード化されてやり取りされる[7]。そのコード化方法を規定した層である。クライアントからのRPCリクエストは <rpc message-id="1" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<get-config>
<source>
<running/>
</source>
<filter xmlns:t="http://example.com/schema/1.2/config" type="xpath"
select="/t:top/t:users/t:user[t:name='fred']"/>
</get-config>
</rpc>
<rpc-reply message-id="1" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<data>
<!-- レスポンス -->
</data>
</rpc-reply>
オペレーション層NETCONFプロトコルでは、設定データストアやNETCONFセッションに対する操作を定義している[8]。
設定データストア[9]とは、ネットワーク機器が動作中、あるいは起動時などそれぞれの状態にあるときに、読み込まれたり設定されたりする対象となる設定データ全体のことである。NETCONFプロトコルでは、動作中の設定データストアは コンテント層NETCONFプロトコルではこの層については特に規定しない。NETCONFでやり取りされるデータの定義は、YANGモデルによって行う[2]。 Capabilityあるネットワーク機器が、標準的な機能に加え、その機器固有の機能をNETCONF経由でアクセスできるようにしたい場合がある。この機能または機能群のことを capability といい、URIを用いて表す。例えば、 ネットワーク機器とNETCONFクライアントの間でセッションが開かれた時、ネットワーク機器とクライアントは相手に対し利用可能な機能の capability のリストを、 以下は、その <hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<capabilities>
<capability>urn:ietf:params:netconf:base:1.1</capability>
<capability>urn:ietf:params:netconf:capability:startup:1.0</capability>
<capability>http://example.net/router/2.3/myfeature</capability>
</capabilities>
<session-id>4</session-id>
</hello>
実装ネットワーク機器ネットワーク管理アプリケーション
ライブラリ/ツール脚注公式サイト出典
外部リンク |
Portal di Ensiklopedia Dunia