NETCONF

ウィキペディアから、無料の百科事典
ナビゲーションにジャンプ 検索にジャンプ
NETCONFプロトコルレイヤー。

ネットワーク構成プロトコルNETCONF)は、 IETFによって開発および標準化されネットワーク管理プロトコルです。NETCONFワーキンググループ[1]で開発され、 2006年12月にRFC 4741 [2]として公開され、その後2011年6月に改訂されてRFC6241として公開されました。[3] NETCONFプロトコル仕様はインターネット標準トラックドキュメントです。

NETCONFは、ネットワークデバイスの構成をインストール、操作、および削除するためのメカニズムを提供します。その操作は、単純なリモートプロシージャコール(RPC)レイヤーの上で実現されます。NETCONFプロトコルは、構成データとプロトコルメッセージにExtensible Markup Language(XML)ベースのデータエンコーディングを使用します。プロトコルメッセージは、安全なトランスポートプロトコルの上で交換されます。

NETCONFプロトコルは、概念的に4つの層に分割できます。

  1. コンテンツレイヤーは、構成データと通知データで構成されます。
  2. 操作レイヤーは、構成データを取得および編集するための一連の基本プロトコル操作を定義します。
  3. メッセージ層は、リモートプロシージャコール(RPC)と通知をエンコードするためのメカニズムを提供します。
  4. Secure Transportレイヤーは、クライアントとサーバー間のメッセージの安全で信頼性の高い転送を提供します。

NETCONFプロトコルは、一部の主要な機器ベンダーによってルーターやスイッチなどのネットワークデバイスに実装されています。NETCONFの特別な強みの1つは、多数のデバイスが関与するトランザクションを使用した堅牢な構成変更のサポートです。

歴史

IETFは、1980年代後半にSNMP(Simple Network Management Protocol )を開発し、非常に人気のあるネットワーク管理 プロトコルであることが証明されました。21世紀の初めに、当初の意図にもかかわらず、SNMPはネットワーク機器の構成に使用されておらず、主にネットワーク監視に使用されていたことが明らかになりました。2002年6月、インターネットアーキテクチャ委員会とIETFのネットワーク管理コミュニティの主要メンバーがネットワーク事業者と集まり、状況について話し合いました。この会議の結果はRFC3535に文書化されています。各ネットワーク事業者は、主に異なる独自のコマンドラインインターフェイスを使用していたことが判明しました。(CLI)デバイスを構成します。これには、 BERエンコードされたSNMPとは対照的に、テキストベースであるという事実を含め、オペレーターが好む多くの機能がありました。さらに、多くの機器ベンダーは、SNMPを介してデバイスを完全に構成するオプションを提供していませんでした。オペレーターは通常、ボックスの管理に役立つスクリプトを作成することを好みましたが、SNMPCLIにはいくつかの点で欠けていることがわかりました。最も顕著なのは、出力の予測不可能な性質でした。出力の内容とフォーマットは、予測できない方法で変更される傾向がありました。

同じ頃、ジュニパーネットワークスXMLベースのネットワーク管理アプローチを使用していました。これはIETFに持ち込まれ、より広いコミュニティと共有されました。まとめると、これら2つのイベントにより、2003年5月にIETFはNETCONFワーキンググループを設立しました。このワーキンググループは、ネットワーク構成プロトコルに取り組むために設立されました。これは、ネットワークオペレーターと機器ベンダーのニーズによりよく一致します。ベースNETCONFプロトコルの最初のバージョンは2006年12月にRFC4741として公開されました。その後、いくつかの拡張機能が公開されました(2008年7月のRFC 5277での通知、2009年12月のRFC 5717での部分ロック、6月のRFC6243でのデフォルト2011、2012年2月のRFC 6470のシステム通知、2012年3月のRFC 6536のアクセス制御)。基本NETCONFプロトコルの改訂版は、2011年6月にRFC6241として公開されました。

プロトコル層

コンテンツ

NETCONF操作の内容は整形式のXMLです。ほとんどのコンテンツはネットワーク管理に関連しています。その後、JavaScript Object Notation(JSON)でのエンコードのサポートも追加されました。

NETMODワーキンググループは、 YANGと呼ばれる、運用データ、構成データ、通知、および運用のセマンティクスを定義するための「人間に優しい」モデリング言語を定義する作業を完了しましたYANGはRFC6020(バージョン1)およびRFC 7950(バージョン1.1)で定義されており、RFC6991にある「一般的なYANGデータ型」が付属しています。

2010年の夏に、NETMODワーキンググループは、コア構成モデル(システム、インターフェイス、およびルーティング)に取り組むとともに、SNMPモデリング言語との互換性に取り組むために再編成されました。

操作

基本プロトコルは、次のプロトコル操作を定義します。

手術 説明
<get> 実行コンフィギュレーションおよびデバイス状態情報を取得します
<get-config> 指定された構成データストアの全部または一部を取得する
<edit-config> コンテンツを作成、削除、マージ、または置換して、構成データストアを編集します
<copy-config> 構成データストア全体を別の構成データストアにコピーします
<delete-config> 構成データストアを削除します
<ロック> デバイスの構成データストア全体をロックする
<ロック解除> <lock>操作で以前に取得した構成データストアロックを解放します
<クローズセッション> NETCONFセッションの正常な終了を要求する
<キルセッション> NETCONFセッションを強制的に終了します

基本的なNETCONF機能は、NETCONF機能の定義によって拡張できます。実装がサポートする追加のプロトコル機能のセットは、セッションセットアップの機能交換部分の間にサーバーとクライアントの間で通信されます。必須のプロトコル機能は想定されているため、機能交換には含まれていません。RFC 4741は、:xpathや:validateを含むいくつかのオプション機能を定義しています。RFC6241はRFC4741を廃止することに注意してください

非同期イベント通知のサブスクライブと受信をサポートする機能は、RFC 5277で公開されています。このドキュメントでは、リアルタイムおよびリプレイサブスクリプションの作成を可能にする<create-subscription>操作を定義しています。次に、通知は<no​​tification>構造を使用して非同期に送信されます。また、:interleave機能も定義します。これは、基本的な:notification機能でサポートされている場合、サブスクリプションがアクティブなときに他のNETCONF操作の処理を容易にします。

実行コンフィギュレーションの部分的なロックをサポートする機能は、RFC 5717で定義されています。これにより、複数のセッションで、実行コンフィギュレーション内の重複しないサブツリーを編集できます。この機能がない場合、使用可能なロックは構成全体に対してのみです。

NETCONFプロトコルを監視する機能は、RFC 6022で定義されています。このドキュメントには、NETCONFサーバーの管理を容易にする、NETCONFデータストア、セッション、ロック、および統計に関する情報を含むデータモデルが含まれています。また、NETCONFクライアントがNETCONFサーバーでサポートされているデータモデルを検出するためのメソッドを定義し、それらを取得するための<get-schema>操作を定義します。

メッセージ

NETCONFメッセージレイヤーは、エンコーディング用のシンプルでトランスポートに依存しないフレーミングメカニズムを提供します

  • RPC呼び出し(<rpc>メッセージ)、
  • RPC結果(<rpc-reply>メッセージ)、および
  • イベント通知(<notification>メッセージ)。

すべてのNETCONFメッセージは整形式のXMLドキュメントです。RPCの結果は、message-id属性によってRPC呼び出しにリンクされます。NETCONFメッセージはパイプライン化できます。つまり、クライアントは、最初にRPC結果メッセージを待たずに複数のRPCを呼び出すことができます。RPCメッセージはRFC6241で定義されており、通知メッセージはRFC5277で定義されています。

トランスポート

  • セキュアシェル(SSH)を介したNETCONFプロトコル:rfc:6242
  • 相互X.509認証を使用したトランスポート層セキュリティ(TLS)を介したNETCONFプロトコル:rfc:7589

も参照してください

  • ヤン
  • ステファン・ヴァリン(2014-10-18)。NETCONFチュートリアル(YouTube)。ストックホルム:tail-f。2021年12月21日にオリジナルからアーカイブされました。
  • ネットワーク管理
  • 構成管理
  • ネットワーク監視
  • XMLスキーマ

参照

  1. ^ 「ネットワーク構成ワーキンググループ」IETF。
  2. ^ Enns、Rob(2006)。NETCONF構成プロトコル(テクニカルレポート)。IETF。土井10.17487/RFC4741RFC4741。
  3. ^ エンス、ロブ; ビョルクルンド、マーティン; Schönwälder、Jürgen; Bierman、Andy(2011)。ネットワーク構成プロトコル(NETCONF)(テクニカルレポート)。IETF。土井10.17487/RFC6241RFC6241。