以下に、本願の開示するネットワーク管理制御プログラム、ネットワーク管理制御装置およびネットワーク管理制御方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
本願の開示するネットワーク管理制御装置10は、実施例1で説明した機能部以外にも様々な機能部を有していてもよい。そこで、実施例2では、実施例1で説明した機能以外の他の様々な機能部を有するネットワーク管理制御装置の例を説明する。
[ネットワーク管理制御装置の構成]
まず、図2を用いて実施例2に係るネットワーク管理制御装置の構成について説明する。図2は、実施例2に係るネットワーク管理制御装置の構成を示すブロック図である。図2に示すように、ネットワーク管理制御装置20は、通信制御I/F部21と記憶部22と制御部23とを有する。
また、実施例2では、ネットワーク管理制御装置20を含むネットワークの構成は、図1と同様であるとする。つまり、実施例2に係るネットワークは、ネットワークAとネットワークBとネットワークCとネットワークDと管理端末1とネットワーク管理制御装置20とを有する。そして、実施例1と同様、各ネットワークに属するノード各々は、それぞれのネットワークで利用されるプロトコルの管理情報を記憶している。
なお、ネットワーク管理制御装置20は、図2に示した機能部に限定されるものではなく、例えば入力部や表示部など他の様々な機能部を有してもよい。例えば、入力部は、管理者等から各種指示を受け付けるキーボードやマウスであり、受け付けた情報を制御部23に出力する。また、表示部は、例えば、モニタ、ディスプレイ、タッチパネルやスピーカなどであり、入力部と協働してポインティングディバイス機能を実現する。
通信制御I/F部21は、他の装置との間の通信を制御する通信ポート等のインタフェースである。例えば、通信制御I/F部21は、プロビジョニング実行開始指示やプロトコル別設定情報を管理端末1から受信してプロビジョニング要求受付部25に出力する。また、通信制御I/F部21は、Telnet実行部29によって発行されたコマンドを該当ノードに送信し、また、送信されたコマンドの実行結果を受信してTelnet実行部29に送信する。
記憶部22は、半導体メモリ素子やハードディスク、光ディスクなどの記憶装置であり、制御部23による各種処理に必要なデータおよびプログラムを格納する。また、記憶部22は、ノード情報DB22aとリンク情報DB22bとプロトコル情報格納位置設定ファイル群22cとプロトコル管理情報DB22dとプロトコル構成情報DB22eとコンフィグ定義設定ファイル群22fとを有する。
ノード情報DB22aは、各ネットワークに属するノードに関する情報を記憶する。例えば、ノード情報DB22aは、図3に示すように、「機種、ノード名」として「機種A、ノードA1」、「機種A、ノードA2」、「機種B、ノードB1」、「機種B、ノードC」などを記憶する。なお、図3は、ノード情報DBに記憶される情報の例を示す図である。
ノード情報DB22aが記憶する「機種」は、製造メーカやネットワーク機器種別を特定する情報である。例えば、機種Aと機種Bとでは、製造メーカが異なることを示し、また、一方がルータで他方がスイッチであるなどネットワーク機器種別が異なることを示す。つまり、機種Aと機種Bとでは、コンフィグ設定ファイルが異なり、プロビジョニングを実行するコマンド等が異なることを示す。一例として示した図3の場合、ノードA1とノードA2とノードA3とが同じ機種である機種Aのネットワーク機器であることを示し、ノードB1とノードB2とノードCとが同じ機種である機種Bのネットワーク機器であることを示す。
リンク情報DB22bは、異なるプロトコルで制御される複数のネットワークにおいて、各ネットワークに属するノード間の接続情報を記憶する。言い換えると、リンク情報DB22bは、ノード同士の接続関係を示すリンク情報を記憶する。例えば、リンク情報DB22bは、図4に示すように、「始端ノード、始端I/F、終端ノード、終端I/F」として「ノードA1、port1、ノードB1、port1」、「ノードA1、port2、ノードA2、port3」等を記憶する。なお、図4は、リンク情報DBに記憶される情報の例を示す図である。
リンク情報DB22bが記憶する「始端ノード」は、リンクの始点となるノードを示して、「始端I/F」は、リンクの始点となるノードのポート番号を示す。また、「終端ノード」は、リンクの終点となるノードを示して、「終端I/F」は、リンクの終点となるノードのポート番号を示す。一例として示した図4の場合、ノードA1のport1からノードB1のport1の間が接続されていることを示し、ノードA1のport2からノードA2のport3の間が接続されていることを示す。また、ノードA2のport4からノードA3のport5の間が接続されていることを示す。
プロトコル情報格納位置設定ファイル群22cは、プロトコル管理情報DB22dまたはプロトコル構成情報DB22eに対して情報を格納する場合の格納先を定義した格納位置情報を記憶する。例えば、プロトコル情報格納位置設定ファイル群22cは、図5に示すように、(A)機種A(VLAN)の格納位置ファイル、(B)機種B(VPN(BGP))の格納位置ファイル、(C)機種B(LSP)の格納位置ファイルを記憶する。また、プロトコル情報格納位置設定ファイル群22cは、(D)機種D(VPN(Static))の格納位置ファイル、(E)機種B(VLAN+VPN)の格納位置ファイルを記憶する。なお、図5は、プロトコル情報格納位置設定ファイル群に記憶される情報の例を示す図である。
かかる(A)機種A(VLAN)の格納位置ファイルは、VLANで制御されるネットワークにおける機種Aのネットワーク機器の情報を格納する格納位置を定義したファイルである。この(A)機種A(VLAN)の格納位置ファイルは、図5に示すように、「機種、識別子、(1)項目、(1)格納位置、(2)項目、(2)格納位置、(3)項目、(3)格納位置、(4)項目、(4)格納位置、(5)項目、(5)格納位置」を記憶する。例えば、(A)機種A(VLAN)の格納位置ファイルは、「機種A、VLAN、VLAN名、管理キー、VLAN名、管理:ID(1)、VLAN−ID、管理:ID(2)、機器、構成:アドレス、インタフェース、構成:インタフェース」などを記憶する。
つまり、VLANの名称である「VLAN名」は、プロトコル管理情報DB22dの「管理キー」およびプロトコル管理情報DB22dの「ID(1)」の位置に格納することを示す。また、VLANを識別する「VLAN−ID」は、プロトコル管理情報DB22dの「ID(2)」の位置に格納することを示す。そして、ネットワーク機器を特定する「機器」は、プロトコル構成情報DB22eの「アドレス」の位置に格納することを示し、利用されているポート番号である「インタフェース」は、プロトコル構成情報DB22eの「インタフェース」の位置に格納することを示す。
(B)機種B(VPN(BGP))の格納位置ファイルは、BGPを用いたVPNで制御されるネットワークにおける機種Bのネットワーク機器の情報を格納する格納位置を定義したファイルである。この(B)機種B(VPN(BGP))の格納位置ファイルは、図5に示すように、「機種、識別子、(1)項目、(1)格納位置〜(8)項目、(8)格納位置」を記憶する。例えば、(B)機種B(VPN(BGP))の格納位置ファイルは、図5に示すように、「機種B、VPN(BGP)、VRF(Virtual Routing and Forwarding)名、管理キー、RD値、管理:ID(1)、RT値、管理:ID(2)」を記憶する。さらに、(B)機種B(VPN(BGP))の格納位置ファイルは、「機器、構成:アドレス、インタフェース、構成:インタフェース」を記憶する。さらに、(B)機種B(VPN(BGP))の格納位置ファイルは、「CE−WAN(Customer Edge−Wide Area Network)、構成:ID(1)、AS(Autonomous System)番号、構成:ID(2)、マップ名、構成:ID(3)」などを記憶する。
つまり、仮想ルーティングを識別する「VRF名」は、プロトコル管理情報DB22dの「管理キー」の位置に格納することを示し、VPNを一意に識別する「RD値」は、プロトコル管理情報DB22dの「ID(1)」の位置に格納することを示す。また、VPNを一意に識別する「RT値」は、プロトコル管理情報DB22dの「ID(2)」の位置に格納することを示す。そして、「機器」は、プロトコル構成情報DB22eの「アドレス」の位置に格納することを示し、「インタフェース」は、プロトコル構成情報DB22eの「インタフェース」の位置に格納することを示す。また、CEルータを用いたWANを識別する「CE−WAN」は、プロトコル構成情報DB22eの「ID(1)」の位置に格納することを示す。また、各組織が保有および運用する自立したネットワークを識別する「AS番号」は、プロトコル構成情報DB22eの「ID(2)」の位置に格納することを示す。また、BGPでの経路制御であるルートマップを識別する「マップ名」は、プロトコル構成情報DB22eの「ID(3)」の位置に格納することを示す。
(C)機種B(LSP)の格納位置ファイルは、LSPで制御されるネットワークにおける機種Bのネットワーク機器の情報を格納する格納位置を定義したファイルである。この(C)機種B(LSP)の格納位置ファイルは、図5に示すように、「機種、識別子、(1)項目、(1)格納位置〜(6)項目、(6)格納位置」を記憶する。例えば、(C)機種B(LSP)の格納位置ファイルは、図5に示すように、「機種B、LSP、トンネル名、管理キー、LSP名、管理:ID(1)、PEアドレス始、管理:ID(2)、優先度、管理:ID(3)」を記憶する。さらに、(C)機種B(LSP)の格納位置ファイルは、「ポップアドレス、構成:アドレス、PEアドレス終、管理:ID(4)」などを記憶する。
つまり、LSPのトンネルの名称である「トンネル名」は、プロトコル管理情報DB22dの「管理キー」の位置に格納することを示し、LSPを一意に識別する「LSP名」は、プロトコル管理情報DB22dの「ID(1)」の位置に格納することを示す。また、LSPの始端ノードを示す「PEアドレス始」は、プロトコル管理情報DB22dの「ID(2)」の位置に格納し、LSP経路選択の優先度である「優先度」は、プロトコル管理情報DB22dの「ID(3)」の位置に格納することを示す。そして、始端ノードから終端ノードにおいてホップするノードを示す「ホップアドレス」は、プロトコル構成情報DB22eの「アドレス」の位置に格納することを示す。また、LSPの終端ノードを示す「PEアドレス終」は、プロトコル管理情報DB22dの「ID(4)」の位置に格納することを示す。
(D)機種B(VPN(Static))の格納位置ファイルは、通常のVPNで制御されるネットワークにおける機種Bのネットワーク機器の情報を格納する格納位置を定義したファイルである。この(D)機種B(VPN(Static))の格納位置ファイルは、図5に示すように、「機種、識別子、(1)項目、(1)格納位置〜(8)項目、(8)格納位置」を記憶する。例えば、(D)機種B(VPN(Static))の格納位置ファイルは、「機種D、VLAN(Static)、VRF名、管理キー、RD値、管理:ID(1)、RT値、管理:ID(2)」を記憶する。さらに、(D)機種B(VPN(Static))の格納位置ファイルは、「機器、構成:アドレス、インタフェース、構成:インタフェース、NWアドレス、構成:ID(1)、NWマスク、構成:ID(2)、ホップアドレス、構成:ID(3)」等を記憶する。
つまり、「VLAN名」は、プロトコル管理情報DB22dの「管理キー」の位置に格納し、「RD値」は、プロトコル管理情報DB22dの「ID(1)」の位置に格納することを示す。また、「RT値」は、プロトコル管理情報DB22dの「ID(2)」の位置に格納することを示す。そして、「機器」は、プロトコル構成情報DB22eの「アドレス」の位置に格納し、「インタフェース」は、プロトコル構成情報DB22eの「インタフェース」の位置に格納することを示す。さらに、ネットワークアドレスである「NWアドレス」は、プロトコル構成情報DB22eの「ID(1)」の位置に格納することを示す。また、ネットワークマスクである「NWマスク」は、プロトコル構成情報DB22eの「ID(2)」の位置に格納し、「ホップアドレス」は、プロトコル構成情報DB22eの「ID(3)」の位置に格納することを示す。
(E)機種B(VLAN+VPN)の格納位置ファイルは、VLANのネットワークとVPNのネットワークとを接合する機種Bのネットワーク機器の情報を格納する格納位置を定義したファイルである。この(E)機種B(VLAN+VPN)の格納位置ファイルは、図5に示すように、「機種、識別子、(1)項目、(1)格納位置〜(5)項目、(5)格納位置」を記憶する。例えば、(E)機種B(VLAN+VPN)の格納位置ファイルは、「機種B、VLAN+VPN、VPN管理キー、管理キー、VPNアドレス、構成:アドレス、VPNインタフェース、構成:インタフェース」を記憶する。さらに、(E)機種B(VLAN+VPN)の格納位置ファイルは、「VLAN管理ID(2)、構成:ID(1)、VPN構成ID(1)、構成:ID(2)」等を記憶する。
つまり、接合対象のVPNに対応付けてプロトコル管理情報DB22dの管理キーに記憶される「VPN管理キー」は、プロトコル管理情報DB22dの「管理キー」の位置に格納することを示す。また、接合対象のVPNに対応付けてプロトコル構成情報DB22eのアドレスに記憶される「VPNアドレス」は、プロトコル構成情報DB22eの「アドレス」の位置に格納することを示す。
また、接合対象のVPNに対応付けてプロトコル構成情報DB22eのインタフェースに記憶される「VPNインタフェース」は、プロトコル構成情報DB22eの「インタフェース」の位置に格納することを示す。そして、接合対象のVLANに対応付けてプロトコル管理情報DB22dのID(2)に記憶される「VLAN管理ID(2)」は、プロトコル構成情報DB22eの「ID(1)」の位置に格納することを示す。接合されるVPNに対応付けてプロトコル管理情報DB22dのID(1)に記憶される「VPN管理ID(1)」は、プロトコル構成情報DB22eの「ID(2)」の位置に格納することを示す。
なお、上述したファイル群は、管理者等によって予め設定および格納された情報である。また、図5では、VPNやLSPなど図1に示したネットワークで使用されているプロトコルについて例示したがこれに限定されるものではなく、ネットワーク管理制御装置20が管理するネットワークで使用されているプロトコルごとに格納される。また、ここでは、接合対象として「VLAN」と「VPN」とを接合する例について説明したが、これに限定されるものではなく、任意のネットワークを接合することができる。その場合、接合対象ごとに、プロトコル情報格納位置ファイルを設ければよい。
図2に戻り、プロトコル管理情報DB22dは、例えばVLAN−IDなどのプロトコルの識別子など、各プロトコルやプロトコル間を接合するプロビジョニングに関するプロトコル管理情報を記憶する。このプロトコル管理情報DB22dは、各プロトコルごとに、「管理キー、ID(1)、ID(2)、ID(3)、ID(4)、ID(5)、識別子」を有するテンプレートを記憶する。そして、プロトコル管理情報DB22dは、後述するデータ共通化部26または接合情報生成部27がこのテンプレートに格納した情報を記憶する。つまり、データ共通化部26または接合情報生成部27は、プロトコル情報格納位置設定ファイル群22cに記憶される情報に従って、管理端末1から受け付けたデータから情報を抽出してテンプレートに格納する。そして、プロトコル管理情報DB22dは、テンプレートに格納された情報をプロビジョニングに関する情報として記憶する。
例えば、プロトコル管理情報DB22dは、図6に示すように、(A)VLANのプロトコル管理情報、(B)VPN(BGP)のプロトコル管理情報、(C)LSPのプロトコル管理情報を記憶する。さらに、プロトコル管理情報DB22dは、(D)VLAN(Static)のプロトコル管理情報、(E)VLAN+VPNのプロトコル管理情報を記憶する。図6は、プロトコル管理情報DBに記憶される情報の例を示す図である。
かかる(A)VLANのプロトコル管理情報は、「管理キー、ID(1)、ID(2)、ID(3)、ID(4)、ID(5)、識別子」として「VLAN100、VLAN100、100、−、−、−、VLAN」を有する。つまり、プロトコル管理情報DB22dは、VLAN100を管理キーとして、VLAN名=VLAN100、VLAN−ID=100のVLAN情報を記憶する。
また、(B)VPN(BGP)のプロトコル管理情報は、「管理キー、ID(1)、ID(2)、ID(3)、ID(4)、ID(5)、識別子」として「VPN20−1、65535:0、65535:0、−、−、−、VPN(BGP)」を有する。つまり、プロトコル管理情報DB22dは、VPN20−1を管理キーとして、RD値=65535:0、RT値=65535:0のVPN情報を記憶する。
また、(C)LSPのプロトコル管理情報は、「管理キー、ID(1)、ID(2)、ID(3)、ID(4)、ID(5)、識別子」として「Tunnel3、LSP3、ノードB、10、ノードD、−、LSP」を有する。つまり、プロトコル管理情報DB22dは、Tunnel3を管理キーとして、始端ノードがノードB、終端ノードがノードDであり、LSP名=LSP3、優先度=10のLSP情報を記憶する。
また、(D)VLAN(Static)のプロトコル管理情報は、「管理キー、ID(1)、ID(2)、ID(3)、ID(4)、ID(5)、識別子」として「VPN20−2、65535:0、65535:0、−、−、−、VPN(Static)」を有する。つまり、プロトコル管理情報DB22dは、VPN20−2を管理キーとして、RD値=65535:0、RT値=65535:0のVPN情報を記憶する。
また、(E)VLAN+VPNのプロトコル管理情報は、「管理キー、ID(1)、ID(2)、ID(3)、ID(4)、ID(5)、識別子」として「VPN20−1、−、−、−、−、−、VLAN+VPN」を有する。つまり、VPN20−2を管理キーとするVLANとVPNの接合情報を記憶する。
ここで、(A)〜(D)については、データ共通化部26が生成および格納する情報であり、(E)については、接合情報生成部27が生成および格納する情報である。したがって、(A)〜(E)のそれぞれは、データ共通化部26や接合情報生成部27が情報を格納するまでは、空のデータベースであり、図6に示した状態は、データ共通化部26や接合情報生成部27によって情報が格納された状態を示している。
図2に戻り、プロトコル構成情報DB22eは、例えばプロトコルのネットワーク構成など、各プロトコルやプロトコル間を接合するプロビジョニングに関するプロトコル構成情報を記憶する。このプロトコル構成情報DB22eは、「管理キー、No(順序)、機種、アドレス、インタフェース、ID(1)、ID(2)、ID(3)、ID(4)」を有するテンプレートを記憶する。そして、プロトコル構成情報DB22eは、後述するデータ共通化部26または接合情報生成部27がこのテンプレートに格納した情報を記憶する。つまり、データ共通化部26または接合情報生成部27は、プロトコル情報格納位置設定ファイル群22cに記憶される情報に従って、管理端末1から受け付けたデータから情報を抽出してテンプレートに格納する。そして、プロトコル構成情報DB22eは、テンプレートに格納された情報をプロビジョニングに関する情報として記憶する。
プロトコル構成情報DB22eは、プロトコル管理情報DB22dに記憶される(A)〜(E)のそれぞれについて、プロトコルの構成情報を記憶する。例えば、プロトコル構成情報DB22eは、(A)VLANのプロトコル管理情報に関して、図7に示すように、(A−1)〜(A−5)に示すプロトコル構成情報を記憶する。なお、図7は、プロトコル構成情報DBに記憶されるVLANに関する情報の例を示す図である。
例えば、プロトコル構成情報DB22eは、(A−1)として「VLAN100、1、機種A、ノードA1、port1、−、−、−、−」を記憶する。つまり、プロトコル構成情報DB22eは、VLAN100を管理キーとして、機種AのノードA1のport1にはVLAN名=VLAN100、VLAN−ID=100のVLANが接続されることを示すプロトコル構成情報を記憶する。また、プロトコル構成情報DB22eは、(A−2)として「VLAN100、2、機種A、ノードA1、port2、−、−、−、−」を記憶する。つまり、プロトコル構成情報DB22eは、VLAN100を管理キーとして、機種AのノードA1のport2にはVLAN名=VLAN100、VLAN−ID=100のVLANが接続されることを示すプロトコル構成情報を記憶する。
また、プロトコル構成情報DB22eは、(A−3)として「VLAN100、3、機種A、ノードA2、port3、−、−、−、−」を記憶する。つまり、プロトコル構成情報DB22eは、VLAN100を管理キーとして、機種AのノードA2のport3にはVLAN名=VLAN100、VLAN−ID=100のVLANが接続されることを示すプロトコル構成情報を記憶する。また、プロトコル構成情報DB22eは、(A−4)として「VLAN100、4、機種A、ノードA2、port4、−、−、−、−」を記憶する。つまり、プロトコル構成情報DB22eは、VLAN100を管理キーとして、機種AのノードA2のport4にはVLAN名=VLAN100、VLAN−ID=100のVLANが接続されることを示すプロトコル構成情報を記憶する。
また、プロトコル構成情報DB22eは、(A−5)として「VLAN100、5、機種A、ノードA3、port5、−、−、−、−」を記憶する。つまり、プロトコル構成情報DB22eは、VLAN100を管理キーとして、機種AのノードA3のport5にはVLAN名=VLAN100、VLAN−ID=100のVLANが接続されることを示すプロトコル構成情報を記憶する。
そして、プロトコル構成情報DB22eは、(B)VPN(BGP)のプロトコル管理情に関して、図8に示すように、(B−1)と(B−2)に示すプロトコル構成情報を記憶する。なお、図8は、プロトコル構成情報DBに記憶されるVPN(BGP)に関する情報の例を示す図である。
例えば、プロトコル構成情報DB22eは、(B−1)として「VPN20−1、1、機種B、ノードB1、port1、1.1.1.1、1、bgp1、−」を記憶する。つまり、プロトコル構成情報DB22eは、VPN20−1を管理キーとして、機種BのノードB1のport1にはCE−WAN=1.1.1.1、AS番号=1、マップ名=bgp1のBGPを用いたVPNが接続されることを示すプロトコル構成情報を記憶する。
また、プロトコル構成情報DB22eは、(B−2)として「VPN20−1、2、機種B、ノードB2、port1、1.1.2.2、1、bgp1、−」を記憶する。つまり、プロトコル構成情報DB22eは、VPN20−1を管理キーとして、機種BのノードB2のport1にはCE−WAN=1.1.2.2、AS番号=1、マップ名=bgp1のBGPを用いたVPNが接続されることを示すプロトコル構成情報を記憶する。
そして、プロトコル構成情報DB22eは、(C)LSPのプロトコル管理情報に関して、図9に示すように、(C−1)〜(C−3)に示すプロトコル構成情報を記憶する。なお、図9は、プロトコル構成情報DBに記憶されるLSPに関する情報の例を示す図である。
例えば、プロトコル構成情報DB22eは、(C−1)として「Tunnel3、1、機種B、ノードB2、−、2.2.2.2、−、−、−」を記憶する。つまり、プロトコル構成情報DB22eは、Tunnel3を管理キーとして、機種BのノードB2のport2に接続開始アドレス=2.2.2.2のLSPが接続されることを示すプロトコル構成情報を記憶する。
また、プロトコル構成情報DB22eは、(C−2)として「Tunnel3、2、機種B、ノードB2、−、2.2.3.3、−、−、−」を記憶する。つまり、プロトコル構成情報DB22eは、Tunnel3を管理キーとして、機種BのノードB2のport2に接続開始アドレス=2.2.3.3のLSPが接続されることを示すプロトコル構成情報を記憶する。
また、プロトコル構成情報DB22eは、(C−3)として「Tunnel3、3、機種B、ノードB2、−、2.2.4.4、−、−、−」を記憶する。つまり、プロトコル構成情報DB22eは、Tunnel3を管理キーとして、機種BのノードB2のport2に接続開始アドレス=2.2.4.4のLSPが接続されることを示すプロトコル構成情報を記憶する。
そして、プロトコル構成情報DB22eは、(D)VLAN(Static)のプロトコル管理情報に関して、図10に示すように、(D−1)に示すプロトコル構成情報を記憶する。なお、図10は、プロトコル構成情報DBに記憶されるVLAN(Static)に関する情報の例を示す図である。
例えば、プロトコル構成情報DB22eは、(D−1)として「VPN20−2、1、機種D、ノードD、port1、6.6.6.0、ff.ff.ff.0、1.1.1.1、−」を記憶する。つまり、プロトコル構成情報DB22eは、VPN20−2を管理キーとして、機種DのノードDのport1にはNWアドレス=6.6.6.0、NWマスク=ff.ff.ff.0、ホップアドレス=1.1.1.1のVPNが接続されることを示すプロトコル構成情報を記憶する。
そして、プロトコル構成情報DB22eは、(E)VLAN+VPNのプロトコル管理情報に関して、図11に示すように、(E−1)に示すプロトコル構成情報を記憶する。なお、図11は、プロトコル構成情報DBに記憶されるVLAN+VPNに関する情報の例を示す図である。例えば、プロトコル構成情報DB22eは、(E−1)として「VPN20−1、1、機種B、ノードB1、port1、100、1.1.1.1、−、−」を記憶する。つまり、プロトコル構成情報DB22eは、VPN20−1を管理キーとして、機種BのノードB1のport1はVLAN−ID=100のVLANと、CE−WAN=1.1.1.1のVPNとを接合するプロトコル構成情報を記憶する。
なお、上述したファイル群は、管理者等によって予め設定および格納された情報である。また、図7〜図11では、VPNやLSPなど図1に示したネットワークで使用されているプロトコルについて例示したがこれに限定されるものではなく、ネットワーク管理制御装置20が管理するネットワークで使用されているプロトコルごとに格納される。また、ここでは、接合対象として「VLAN」と「VPN」とを接合する例について説明したが、これに限定されるものではなく、任意のネットワークを接合することができる。その場合、接合対象ごとに、プロトコル情報格納位置ファイルを設ければよい。
ここで説明した(A)〜(D)については、データ共通化部26が格納する情報であり、(E)については、接合情報生成部27が生成および格納する情報である。したがって、(A)〜(E)のそれぞれは、データ共通化部26や接合情報生成部27が情報を格納するまでは、空のデータベースであり、図7〜図11に示した状態は、データ共通化部26や接合情報生成部27によって情報が格納された状態を示している。
図2に戻り、コンフィグ定義設定ファイル群22fは、各プロトコルやプロトコル接合情報に応じたコマンドを記憶する。具体的には、コンフィグ定義設定ファイル群22fは、ノードの機種と当該機種が利用するプロトコルに対応付けたコンフィグを記憶する。例えば、コンフィグ定義設定ファイル群22fは、図12に示すように、「機種、識別子、CMD(1)〜(X)(但し、Xは任意の自然数)」を有する(A)、(B)、(D)、(E)のコンフィグを記憶する。なお、図12は、コンフィグ定義設定ファイル群に記憶される情報の例を示す図である。
「機種」は、ノードで使用されている機種を示し、「識別子」は、ノードが属するプロトコルを示し、CMD(1)〜CMD(5)は、ノードに対してプロビジョニングとして実行するコマンドを示す。例えば、コンフィグ定義設定ファイル群22fは、「機種B、VLAN」に対応付けて「CMD(1)=interface [構成:インタフェース]、CMD(2)=switchport mode trunk」を記憶する。さらに、コンフィグ定義設定ファイル群22fは、「機種B、VLAN」に対応付けて「CMD(3)=switch trunk encapsulation dot1q、CMD(4)=switchport trunk allowed vlan remove [管理:ID(2)]」を記憶する。さらに、コンフィグ定義設定ファイル群22fは、「機種B、VLAN」に対応付けて「CMD(5)=switchport trunk allowed vlan add [管理:ID(2)]」を記憶する。
そして、コンフィグ定義設定ファイル群22fは、「機種C、VLAN」に対応付けて「CMD(1)=create vlan [管理:ID(1)]、CMD(2)=config vlan [管理:ID(1)] tag [管理:ID(2)]」を記憶する。さらに、コンフィグ定義設定ファイル群22fは、「CMD(3)=create vlan [管理:ID(1)] add poret [構成:インタフェース]」を記憶する。
そして、コンフィグ定義設定ファイル群22fは、「機種B、VPN(BGP)」に対応付けて「CMD(1)=ip vrf [管理:管理キー]」、「CMD(2)=rd [管理:ID(1)]」を記憶する。さらに、コンフィグ定義設定ファイル群22fは、「CMD(3)=route target export [管理:ID(2)]」、「CMD(4)=route target import [管理:ID(2)]」、「CMD(5)=interface [構成:インタフェース]」を記憶する。また、コンフィグ定義設定ファイル群22fは、「CMD(6)=description [管理:管理キー]」、「CMD(7)=ip vrf forwarding [管理:管理キー]」、「CMD(8)=ip address [構成:アドレス] 255.255.255.0」を記憶する。
また、コンフィグ定義設定ファイル群22fは、「機種B、VPN(BGP)」に対応付けて「CMD(9)=router bpg 6500」、「CMD(10)=adddress-family ipv4 vrf [管理:管理キー]」を記憶する。さらに、コンフィグ定義設定ファイル群22fは、「CMD(11)=ip vrf forwarding [管理:管理キー]」、「CMD(12)=neighbor [構成:ID(1) remote-as [構成:ID(2)]]を記憶する。また、コンフィグ定義設定ファイル群22fは、「CMD(13)=neighbor [構成:ID(1) activate]」、「CMD(14)=neighbor [構成:ID(1) route-map [構成:ID(3)]]を記憶する。
また、コンフィグ定義設定ファイル群22fは、「機種B、VPN(BGP)」に対応付けて「CMD(15)=no auto-summary」、「CMD(16)=no synchronization」、「CMD(17)=exit-address-family」を記憶する。
そして、コンフィグ定義設定ファイル群22fは、「機種B、VLAN+VPN」に対応付けて「CMD(1)=interface [構成:インタフェース] [構成:ID(1)]、CMD(2)=encapsulation dot1Q [構成:ID(1)]」を記憶する。さらに、コンフィグ定義設定ファイル群22fは、「CMD(3)=ip vrf forwarding [管理:管理キー]」、「CMD(4)=ip address [構成:ID(2)] 255.255.255.0」、「CMD(5)=no cdp enable」を記憶する。
上述したCMDにおいて、[管理:管理キー]や[構成:ID(1)]と表されているのは、入力する値を示している。例えば、[管理:管理キー]の場合、プロトコル管理情報DB22dに記憶される[管理キー]の値を代入することを示し、[構成:ID(1)]の場合、プロトコル構成情報DB22eに記憶される[ID(1)]の値を代入することを示す。この値の代入は、コマンド生成部28が実行する。例えば、図12の(A)のCMD(1)を実行する場合、コマンド生成部28は、「機種B、VLAN」としてプロトコル構成情報DB22eに記憶される情報から「インタフェース」の値を取得してCMD(1)の[構成:インタフェース]に代入して、CMD(1)を生成する。
なお、上述したファイル群は、管理者等によって予め設定および格納された情報である。また、図12では、VPNやLSPなど図1に示したネットワークで使用されているプロトコルについて例示したがこれに限定されるものではなく、ネットワーク管理制御装置20が管理するネットワークで使用されているプロトコルごとに格納される。
図2に戻り、制御部23は、例えば、ASIC(Application Specific Integrated Circuit)などの集積回路やCPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路である。この制御部23は、OS(Operating System)などの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有する。さらに、制御部23は、ネットワーク構成管理部24とプロビジョニング要求受付部25とデータ共通化部26と接合情報生成部27とコマンド生成部28とTelnet実行部29とを有し、これらによって各種処理を実行する。
ネットワーク構成管理部24は、通信制御I/F部21を介して、リンク情報やノード情報を受け付ける。そして、ネットワーク構成管理部24は、受け付けたリンク情報でリンク情報DB22bを更新し、受け付けたノード情報でノード情報DB22aを更新する。例えば、ネットワーク構成管理部24は、新たに追加するリンク情報やノード情報を受け付けてノード情報DB22aやリンク情報DB22bに格納する。また、ネットワーク構成管理部24は、削除するンク情報やノード情報を受け付けてノード情報DB22aやリンク情報DB22bから当該情報を削除する。
プロビジョニング要求受付部25は、通信制御I/F部21を介して、管理端末1から各種操作や情報を受け付けて、各制御部に出力する。例えば、プロビジョニング要求受付部25は、プロビジョニング開始指示を受信すると、データ共通化部26と接合情報生成部27に、処理開始時を指示する。また、プロビジョニング要求受付部25は、管理端末1から各プロトコルの設定情報を受信し、データ共通化部26に出力する。
データ共通化部26は、プロトコル情報格納位置設定ファイル群22cに格納される格納位置に従って、プロトコル管理情報DB22dまたはプロトコル構成情報DB22eに、各プロトコル情報を共通フォーマットで格納する。なお、データ共通化部26が実行する処理については、図13〜図17を用いて詳細に説明するので、ここでは概要について説明する。
例えば、データ共通化部26は、プロビジョニング要求受付部25によって受け付けられたVLAN設定情報から、プロトコル情報格納位置設定ファイル群22cに格納される(A)機種A(VLAN)の格納位置ファイルに従って情報を抽出する。続いて、データ共通化部26は、抽出した情報の格納位置を(A)機種A(VLAN)の格納位置ファイルで特定する。そして、データ共通化部26は、特定されたプロトコル管理情報DB22dまたはプロトコル構成情報DB22eの格納位置に、受信したVLAN設定情報から抽出した情報を格納する。
接合情報生成部27は、リンク情報DB22bに記憶されるノード間の接続情報とプロビジョニング要求受付部25によって受け付けられたネットワークの構成情報とに基づいて、各ネットワーク間の接合情報を生成する。言い換えると、接合情報生成部27は、結合するプロトコルの構成情報とネットワークを構成するリンク情報DB22bから接合箇所の特定を行い、プロトコル間を接合する情報の生成を行う。なお、接合情報生成部27が実行する処理については、図18〜図26を用いて詳細に説明するので、ここで概要について説明する。
具体的には、接合情報生成部27は、プロビジョニング要求受付部25によって受け付けられた接合対象プロトコルについて、プロトコル管理情報DB22dまたはプロトコル構成情報DB22e並びにプロトコル情報格納位置設定ファイル群22cを参照する。そして、接合情報生成部27は、接合対象のプロトコル管理情報およびプロトコル構成情報を特定する。続いて、接合情報生成部27は、プロトコル情報格納位置設定ファイル群22cに従って、特定したプロトコル管理情報およびプロトコル構成情報から情報を抽出し、指定された格納位置に格納して、プロトコル間を接合する情報の生成を実施する。
コマンド生成部28は、プロトコル情報格納位置設定ファイル群22cに記憶されるプロビジョニングとしての設定内容を生成する。なお、コマンド生成部28が実行する処理については、図27〜図29を用いて詳細に説明するので、ここで概要について説明する。
例えば、コマンド生成部28は、データ共通化部26又は接合情報生成部27によって格納されたプロトコル管理情報DB22dまたはプロトコル構成情報DB22eに格納される情報から機器とプロトコル(識別子)とを特定する。そして、コマンド生成部28は、特定した機器とプロトコル(識別子)に対応するコンフィグ定義設定ファイル群22fをプロトコル情報格納位置設定ファイル群22cから特定する。その後、コマンド生成部28は、特定したコンフィグ定義設定ファイル群22fに格納されるCMDをTelnet実行部29に順次出力する。
Telnet実行部29は、ネットワーク機器へ実際のプロビジョニングを実施する。例えば、Telnet実行部29は、コマンド生成部28からCMDを受信すると、Telnetを起動して該当ノードに接続する。そして、Telnet実行部29は、該当ノードにTelnetを介してCMDを発行し、その応答をコマンド生成部28に送信する。
[処理の流れ]
次に、図13〜図29を用いて、実施例2に係るネットワーク管理制御装置によるプロビジョニング処理の流れを説明する。ここでは、図13を用いて、プロビジョニング処理の全体的な流れを説明し、図14〜図17を用いて、プロトコル管理情報またはプロトコル構成情報生成処理について説明する。また、図18〜図26を用いて、プロトコル間接合処理について説明し、図27〜図29を用いて、プロビジョニングの実行について説明する。
(プロビジョニング処理の流れ)
まず、図13を用いて、プロビジョニング処理の全体的な流れを説明する。図13は、実施例2に係るネットワーク管理制御装置によるプロビジョニング処理の流れを示すフローチャートである。この処理は、S101〜S104までのプロトコル管理情報またはプロトコル構成情報生成処理、S105のプロトコル間接合処理、S106のリンク間接続確認、S107のプロビジョニングの実行を有する。
図13に示すように、ネットワーク管理制御装置20のプロビジョニング要求受付部25は、処理開始が指示されると(ステップS101肯定)、各プロトコルの設定情報を受け付ける(ステップS102)。
続いて、データ共通化部26は、プロトコル管理情報DB22dおよびプロトコル構成情報DB22e上の格納位置をプロトコル情報格納位置設定ファイル群22cから特定する(ステップS103)。そして、データ共通化部26は、プロトコル管理情報DB22dおよびプロトコル構成情報DB22eを各プロトコルで共通のフォーマットで生成する(ステップS104)。
その後、接合情報生成部27は、共通フォーマットで生成されたプロトコル管理情報DB22dおよびプロトコル構成情報DB22eを用いて、プロトコル間接合処理を実施する(ステップS105)。
続いて、コマンド生成部28は、リンク接続の確認をした後(ステップS106)、プロビジョニングを実行する(ステップS107)。例えば、コマンド生成部28は、リンク接続の確認として、プロトコル管理情報DB22dおよびプロトコル構成情報DB22eにおいて、End−to−Endの設定がされているかを確認する。つまり、コマンド生成部28は、隣接するノードに対して、プロビジョニング設定言い換えるとプロトコル管理情報DB22dおよびプロトコル構成情報DB22eの登録がされているか否かを確認する。
(プロトコル管理情報またはプロトコル構成情報生成処理)
次に、図14〜図17を用いて、図13のステップS101〜ステップS104に該当するプロトコル管理情報またはプロトコル構成情報生成処理について具体的に説明する。図14は、管理端末から受信したVLAN設定情報の例を示す図であり、図15は、管理端末から受信したVPN(BGP)設定情報の例を示す図である。また、図16は、管理端末から受信したLSP設定情報の例を示す図であり、図17は、管理端末から受信したVPN(Static)設定情報の例を示す図である。
管理端末1は、プロトコル別の設定画面をディスプレイ等の表示部に出力し、マウスやキーボード等を介して設定画面に入力されたプロトコル設定情報(図14〜図17)をネットワーク管理制御装置20に送信する。そして、プロビジョニング要求受付部25は、管理端末1から受け付けたプロトコル設定情報をデータ共通化部26に送信する。その後、データ共通化部26は、受信したプロトコル設定情報を共通フォーマットでプロトコル管理情報DB22dおよびプロトコル構成情報DB22eに格納する。
(VLANの場合の格納例)
例えば、図14に示したVLAN設定情報について説明する。データ共通化部26は、VLAN設定情報として、図14に示す「機種=機種A、VLAN名=VLAN100、VLAN−ID=100、機器=ノードA、インタフェース=port1」を受信したとする。
この場合、データ共通化部26は、受信した設定情報が「機種AのVLAN情報」であることから、図5に示したプロトコル情報格納位置設定ファイル群22cの(A)機種A(VLAN)の格納位置ファイルを参照する。また、データ共通化部26は、プロトコル管理情報のフォーマットを図6の(A)に示したVLANのプロトコル管理情報に決定し、プロトコ構成情報のフォーマットを図7に示したVLANのプロトコル構成情報に決定する。
その後、データ共通化部26は、(A)機種A(VLAN)の格納位置ファイルに従って、受信した設定情報から情報と抽出して、決定したプロトコル管理情報のフォーマットおよびプロトコ構成情報のフォーマットに情報を格納する。
具体的には、データ共通化部26は、格納位置設定ファイルでは「項目=VLAN名、格納位置=管理キー」であることから、受信した設定情報の「VLAN名=VLAN100」をプロトコル管理情報DB22dの「管理キー」に格納する。そして、データ共通化部26は、格納位置設定ファイルでは「項目=VLAN名、格納位置=管理:ID(1)」であることから、受信した設定情報の「VLAN名=VLAN100」をプロトコル管理情報DB22dの「ID(1)」に格納する。また、データ共通化部26は、格納位置設定ファイルでは「項目=VLAN−ID、格納位置=管理:ID(2)」であることから、受信した設定情報の「VLAN−ID=100」をプロトコル管理情報DB22dの「ID(2)」に格納する。
さらに、データ共通化部26は、格納位置設定ファイルでは「項目=機器、格納位置=構成:アドレス」であることから、受信した設定情報の「機器=ノードA」をプロトコル構成情報DB22eの「アドレス」に格納する。また、データ共通化部26は、格納位置設定ファイルでは「項目=インタフェース、格納位置=構成:インタフェース」であることから、受信した設定情報の「インタフェース=port1」をプロトコル構成情報DB22eの「インタフェース」に格納する。なお、プロトコル構成情報DB22eに格納される情報は、「VLAN名=VLAN100」の設定情報である。したがって、データ共通化部26は、「VLAN名=VLAN100」をプロトコル構成情報DB22eの「管理キー」に格納する。この結果、図7に示すように、プロトコル管理情報とプロトコル構成情報を別々に管理してもリンクさせることができる。
(VPN(BGP)の場合の格納例)
続いて、図15に示したVPN(BGP)設定情報を例にして説明する。データ共通化部26は、図15に示す「機種=機種B、VRF名=VPN20−1、RD値=65535:0、RT値=65535:0、機器=ノードB、インタフェース=port1、CE−WAN=1.1.1.1、AS番号=1、マップ名=bgp1」を受信したとする。
この場合、データ共通化部26は、受信した設定情報が「機種BのVPN(BGP)情報」であることから、図5に示したプロトコル情報格納位置設定ファイル群22cの(B)機種B(VPN(BGP))の格納位置ファイルを参照する。また、データ共通化部26は、プロトコル管理情報のフォーマットを図6の(B)に示したVPN(BGP)のプロトコル管理情報に決定し、プロトコル構成情報のフォーマットを図8に示したVPN(BGP)のプロトコル構成情報に決定する。
その後、データ共通化部26は、(B)機種B(VPN(BGP))の格納位置ファイルに従って、受信した設定情報から情報と抽出して、決定したプロトコル管理情報のフォーマットおよびプロトコル構成情報のフォーマットに情報を格納する。
具体的には、データ共通化部26は、格納位置設定ファイルでは「項目=VRF名、格納位置=管理キー」であることから、受信した設定情報の「VRF名=VPN20−1」をプロトコル管理情報DB22dの「管理キー」に格納する。そして、データ共通化部26は、格納位置設定ファイルでは「項目=RD値、格納位置=管理:ID(1)」であることから、受信した設定情報の「RD値=65535:0」をプロトコル管理情報DB22dの「ID(1)」に格納する。また、データ共通化部26は、格納位置設定ファイルでは「項目=RT値、格納位置=管理:ID(2)」であることから、受信した設定情報の「RT値=65535::0」をプロトコル管理情報DB22dの「ID(2)」に格納する。
さらに、データ共通化部26は、格納位置設定ファイルでは「項目=機器、格納位置=構成:アドレス」であることから、受信した設定情報の「機器=ノードB」をプロトコル構成情報DB22eの「アドレス」に格納する。また、データ共通化部26は、格納位置設定ファイルでは「項目=インタフェース、格納位置=構成:インタフェース」であることから、受信した設定情報の「インタフェース=port1」をプロトコル構成情報DB22eの「インタフェース」に格納する。
また、データ共通化部26は、格納位置設定ファイルでは「項目=CE−WAN、格納位置=構成:ID(1)」であることから、受信した設定情報の「CE−WAN=1.1.1.1」をプロトコル構成情報DB22eの「ID(1)」に格納する。また、データ共通化部26は、格納位置設定ファイルでは「項目=AS番号、格納位置=構成:ID(2)」であることから、受信した設定情報の「AS番号=1」をプロトコル構成情報DB22eの「ID(2)」に格納する。また、データ共通化部26は、格納位置設定ファイルでは「項目=マップ名、格納位置=構成:ID(3)」であることから、受信した設定情報の「マップ名=bgp1」をプロトコル構成情報DB22eの「ID(3)」に格納する。なお、ここでプロトコル構成情報DB22eに格納される情報は、「VRF名=VPN20−1」の設定情報である。したがって、データ共通化部26は、「VRF名=VPN20−1」をプロトコル構成情報DB22eの「管理キー」に格納する。この結果、図8に示すように、プロトコル管理情報とプロトコル構成情報を別々に管理してもリンクさせることができる。
(LSPの場合の格納例)
続いて、図16に示したLSP設定情報を例にして説明する。データ共通化部26は、図16に示す「機種=機種B、LSP名=LSP3、トンネル名=Tunnel3、PEアドレス始=ノードB、優先度=10、ホップアドレス=2.2.2.2、ホップアドレス=2.2.3.3、ホップアドレス=2.2.4.4、PEアドレス終=ノードD」を受信したとする。
この場合、データ共通化部26は、受信した設定情報が「機種BのLSP情報」であることから、図5に示したプロトコル情報格納位置設定ファイル群22cの(C)機種B(LSP)の格納位置ファイルの格納位置ファイルを参照する。また、データ共通化部26は、プロトコル管理情報のフォーマットを図6の(C)に示しLSPのプロトコル管理情報に決定し、プロトコル構成情報のフォーマットを図9に示したLSPのプロトコル構成情報に決定する。
その後、データ共通化部26は、(C)機種B(LSP)の格納位置ファイルに従って、受信した設定情報から情報と抽出して、決定したプロトコル管理情報のフォーマットおよびプロトコル構成情報のフォーマットに情報を格納する。
具体的には、データ共通化部26は、格納位置設定ファイルでは「項目=トンネル名、格納位置=管理キー」であることから、受信した設定情報の「トンネル名=Tunnel3」をプロトコル管理情報DB22dの「管理キー」に格納する。そして、データ共通化部26は、格納位置設定ファイルでは「項目=LSP名、格納位置=管理:ID(1)」であることから、受信した設定情報の「LSP名=LSP3」をプロトコル管理情報DB22dの「ID(1)」に格納する。
また、データ共通化部26は、格納位置設定ファイルでは「項目=PEアドレス始、格納位置=管理:ID(2)」であることから、受信した設定情報の「PEアドレス始=ノードB」をプロトコル管理情報DB22dの「ID(2)」に格納する。また、データ共通化部26は、格納位置設定ファイルでは「項目=優先度、格納位置=管理:ID(3)」であることから、受信した設定情報の「優先度=10」をプロトコル管理情報DB22dの「ID(3)」に格納する。
さらに、データ共通化部26は、格納位置設定ファイルでは「項目=ホップアドレス、格納位置=構成:アドレス」であることから、受信した設定情報の「ホップアドレス=2.2.2.2」をプロトコル構成情報DB22eの「アドレス」に格納する。また、データ共通化部26は、格納位置設定ファイルでは「項目=PEアドレス終、格納位置=管理:ID(4)」であることから、受信した設定情報の「PEアドレス終=ノードD」をプロトコル管理情報DB22dの「ID(4)」に格納する。
なお、ここでプロトコル構成情報DB22eに格納される情報は、「トンネル名=Tunnel3」の設定情報である。したがって、データ共通化部26は、「トンネル名=Tunnel3」をプロトコル構成情報DB22eの「管理キー」に格納する。この結果、プロトコル管理情報とプロトコル構成情報を別々に管理してもリンクさせることができる。
ところが、VLANやVPNとは異なり、上述した処理では受信した設定情報に含まれる「ホップアドレス=2.2.3.3、ホップアドレス=2.2.4.4」がプロトコル構成情報DB22eに格納されず残っている。そこで、これらをプロトコル構成情報DB22eに格納するために、「トンネル名=Tunnel3」を「管理キー」とするプロトコル構成情報を複数設ける。この複数の構成情報を設ける際に、「機種=機種B、PEアドレス始=ノードB」をプロトコル管理情報DB22dの「機種」と「アドレス」とに格納するとともに、ホップアドレスの順番を示す「No(順序)」を格納する。
つまり、「管理キー=Tunnel3、No=1、機種=機種B、アドレス=ノードB、インタフェース=−、ID(1)=2.2.2.2、ID(2)=−、ID(3)=−、ID(4)=−」をプロトコル構成情報の1つとする。また、「管理キー=Tunnel3、No=2、機種=機種B、アドレス=ノードB、インタフェース=−、ID(1)=2.2.3.3、ID(2)=−、ID(3)=−、ID(4)=−」をプロトコル構成情報の1つとする。また、「管理キー=Tunnel3、No=3、機種=機種B、アドレス=ノードB、インタフェース=−、ID(1)=2.2.4.4、ID(2)=−、ID(3)=−、ID(4)=−」をプロトコル構成情報の1つとする。
この結果、図9に示したように、プロトコル管理情報とプロトコル構成情報をリンクさせることができるとともに、受信した設定情報を漏れなく構成情報に格納することができる。
(VPN(Static)の場合の格納例)
続いて、図17に示したVPN(Static)設定情報を例にして説明する。データ共通化部26は、図17に示す「機種=機種D、VRF名=VPN20−2、RD値=65535:0、RT値=65535:0、機器=ノードD、インタフェース=port1、NWアドレス=6.6.6.0、NWマスク=ff.ff.ff.0、ホップアドレス=1.1.1.1」を受信したとする。
この場合、データ共通化部26は、受信した設定情報が「機種BのVPN(Static)情報」であることから、図5に示したプロトコル情報格納位置設定ファイル群22cの(D)機種D(VPN(Static))の格納位置ファイルを参照する。また、データ共通化部26は、プロトコル管理情報のフォーマットを図6の(D)に示したVPN(Static)のプロトコル管理情報に決定し、プロトコル構成情報のフォーマットを図10に示したVPN(Static)のプロトコル構成情報に決定する。
その後、データ共通化部26は、(D)機種D(VPN(Static))の格納位置ファイルに従って、受信した設定情報から情報と抽出して、決定したプロトコル管理情報のフォーマットおよびプロトコル構成情報のフォーマットに情報を格納する。
具体的には、データ共通化部26は、格納位置設定ファイルでは「項目=VRF名、格納位置=管理キー」であることから、受信した設定情報の「VRF名=VPN20−2」をプロトコル管理情報DB22dの「管理キー」に格納する。そして、データ共通化部26は、格納位置設定ファイルでは「項目=RD値、格納位置=管理:ID(1)」であることから、受信した設定情報の「RD値=65535:0」をプロトコル管理情報DB22dの「ID(1)」に格納する。また、データ共通化部26は、格納位置設定ファイルでは「項目=RT値、格納位置=管理:ID(2)」であることから、受信した設定情報の「RT値=65535::0」をプロトコル管理情報DB22dの「ID(2)」に格納する。
さらに、データ共通化部26は、格納位置設定ファイルでは「項目=機器、格納位置=構成:アドレス」であることから、受信した設定情報の「機器=ノードD」をプロトコル構成情報DB22eの「アドレス」に格納する。また、データ共通化部26は、格納位置設定ファイルでは「項目=インタフェース、格納位置=構成:インタフェース」であることから、受信した設定情報の「インタフェース=port1」をプロトコル構成情報DB22eの「インタフェース」に格納する。
また、データ共通化部26は、格納位置設定ファイルでは「項目=NWアドレス、格納位置=構成:ID(1)」であることから、受信した設定情報の「NWアドレス=6.6.6.0」をプロトコル構成情報DB22eの「ID(1)」に格納する。また、データ共通化部26は、格納位置設定ファイルでは「項目=NWマスク、格納位置=構成:ID(2)」であることから、受信した設定情報の「NWマスク=ff.ff.ff.0」をプロトコル構成情報DB22eの「ID(2)」に格納する。また、データ共通化部26は、格納位置設定ファイルでは「項目=ホップアドレス、格納位置=構成:ID(3)」であることから、受信した設定情報の「ホップアドレス=1.1.1.1」をプロトコル構成情報DB22eの「ID(3)」に格納する。なお、ここでプロトコル構成情報DB22eに格納される情報は、「VRF名=VPN20−2」の設定情報である。したがって、データ共通化部26は、「VRF名=VPN20−2」をプロトコル構成情報DB22eの「管理キー」に格納する。この結果、図10に示すように、プロトコル管理情報とプロトコル構成情報を別々に管理してもリンクさせることができる。
(プロトコル間接合処理の流れ)
次に、図18と図19を用いて、図13のステップS105に該当するプロトコル間接合処理について具体的に説明する。図18および図19は、プロトコル間接合処理の流れを示すフローチャートである。
図18に示すように、接合情報生成部27は、接合するプロトコルを特定し(ステップS201)、特定した接合パターンに応じた管理情報を生成する(ステップS202)。
例えば、接合情報生成部27は、管理端末1から設定された接合対象のプロトコルが「VLAN」と「VPN(BGP)」である場合には、図20に示すように、この組み合わせに応じたプロトコル管理情報DB22dの定義ファイル(テンプレート)を特定する。また、接合情報生成部27は、接合対象のプロトコルが「VPN(BGP)」と「LSP」である場合には、図21に示すように、この組み合わせに応じたプロトコル管理情報DB22dの定義ファイル(テンプレート)を特定する。なお、図20および図21は、接合パターンに応じた管理情報の設定例を示す図である。
図18では、接合情報生成部27は、図22に示したプロトコル管理情報DB22dの定義ファイル(テンプレート)を特定したとする。図22は、VLANとVPNの接合に関する情報として定義されたプロトコル管理情報の例を示す図である。
図18に戻り、続いて、接合情報生成部27は、接合対象のプロトコルの構成情報を取得し(ステップS203)、同一アドレスであるか否かを判定する(ステップS204)。例えば、接合情報生成部27は、プロトコル管理情報DB22dに記憶されるVLAN構成情報とVPN構成情報をそれぞれ取得し、構成情報に含まれる「アドレス」が同じ値であるか否かを判定する。つまり、接合情報生成部27は、接合対象が同じノードであるか否かを判定する。このとき、接合情報生成部27は、プロトコル管理情報DB22dに記憶される全てのVLAN構成情報と、全てのVPN構成情報との組み合わせについて検討する。
続いて、接合情報生成部27は、構成情報に含まれる「アドレス」が同じ値でない場合(ステップS204否定)、接合対象のプロトコルの構成情報を参照し(ステップS205)、アドレスとインタフェースとからリンク情報を取得する(ステップS206)。そして、接合情報生成部27は、接合対象のプロトコルの構成情報が同一リンクの始端および終端であるか否かを判定する(ステップS207)。続いて、接合情報生成部27は、接合対象のプロトコルの構成情報が同一リンクの始端および終端である場合には(ステップS207肯定)、参照したプロトコルの構成情報を接合対象として特定する(ステップS208)。なお、このステップS205〜ステップS207の処理は、ステップS203とステップS204で抽出されたプロトコル情報の組全てについて実施される。なお、接合情報生成部27は、構成情報に含まれる「アドレス」が同じ値である場合(ステップS204肯定)、ステップS208の処理を実行する。
例えば、VLAN構成情報が「管理キー=VLAN100、No=1、機種=機種A、アドレス=ノードA1、インタフェース=port1」である。そして、VPN構成情報が「管理キー=VPN20−1、No=1、機種=機種B、アドレス=ノードB1、インタフェース=port1」である。また、リンク情報に「始端ノード=ノードA1、始端I/F=port1、終端ノード=ノードB1、終端I/F=port1」が記憶されていたとする。この場合、接合情報生成部27は、図23に示すように、VLAN構成情報の「アドレス=ノードA1、インタフェース=port1」を始端とし、VPN構成情報の「アドレス=ノードB1、インタフェース=port1」が終端とするリンクが接続されていると判定する。したがって、この例の場合には、接合情報生成部27は、接合対象のプロトコルの構成情報が同一リンクの始端および終端であると判定する。なお、図23は、接合対象として特定されたリンク情報の例を示す図である。
一方、VLAN構成情報が「管理キー=VLAN100、No=2、機種=機種A、アドレス=ノードA1、インタフェース=port2」である。そして、VPN構成情報が「管理キー=VPN20−1、No=2、機種=機種B、アドレス=ノードB2、インタフェース=port1」である。また、リンク情報に「始端ノード=ノードA1、始端I/F=port2、終端ノード=ノードA2、終端I/F=port3」が記憶されていたとする。この場合、図24に示すように、VLAN構成情報の「アドレス=ノードA1、インタフェース=port2」が始端であるが、VPN構成情報の「アドレス=ノードB2、インタフェース=port1」が終端としてリンク情報DB22bに記憶されていない。したがって、この例の場合、接合情報生成部27は、接合対象のプロトコルの構成情報が同一リンクの始端および終端でないと判定する。なお、図24は、接合対象として特定されないリンク情報の例を示す図である。
図18に戻り、接合情報生成部27は、プロトコル情報格納位置設定ファイル群22cに記憶される接合対象に対応したプロトコル情報格納位置設定ファイルを参照し、接合対象のプロトコル構成情報から項目内容を取得する(ステップS209)。そして、接合情報生成部27は、取得した項目内容が「プロトコル管理情報に格納されている情報」か否かを判定する(ステップS210)。
続いて、接合情報生成部27は、取得した項目内容が「プロトコル管理情報に格納されている情報」である場合(ステップS210肯定)、プロトコル情報格納位置設定ファイルが指定する管理情報を取得する(ステップS211)。さらに、接合情報生成部27は、プロトコル情報格納位置設定ファイルが指定する格納位置を取得し(ステップS212)、指定の格納位置に取得した管理情報を格納する(ステップS213)。そして、接合情報生成部27は、プロトコル情報格納位置設定ファイルが指定する全ての項目について終了した場合には(ステップS214肯定)、処理を終了し、終了していない場合には(ステップS214否定)、ステップS209以降の処理を繰り返す。なお、接合情報生成部27は、取得した項目内容が「プロトコル管理情報に格納されている情報」でない場合(ステップS210否定)、ステップS215の処理を実行する。
上述したステップS209〜ステップS214について、VLANとVPNとを接合対象とし、接合対象のVLAN管理情報が図6の(A)であり、VPN管理情報が図6の(B)である例について説明する。この場合、接合情報生成部27は、VLANとVPNとを接合対象としていることから、図5の(E)のプロトコル情報格納位置設定ファイルを参照する。続いて、接合情報生成部27は、図5の(E)の「(1)項目」から順に情報を取得する。そして、接合情報生成部27は、はじめに「(1)項目=VPN管理キー」を取得し、この情報はプロトコル管理情報DB22dに記憶される情報であるので、S210において取得した項目内容が「プロトコル管理情報に格納されている情報」であると判定する。
続いて、接合情報生成部27は、「(1)項目=VPN管理キー」に該当する情報として、図6の(B)に示す情報から「管理キー=VPN20−1」を取得する。さらに、接合情報生成部27は、「(1)項目=VPN管理キー」の格納位置「管理キー」をプロトコル情報格納位置設定ファイルから特定する。そして、接合情報生成部27は、ステップS202で特定したテンプレートの「管理キー」に「VPN20−1」を格納する。その後、接合情報生成部27は、「(2)項目=VPNアドレス」を取得し、この情報はプロトコル構成情報DB22eに記憶される情報であるので、S210において取得した項目内容が「プロトコル管理情報に格納されている情報」でないと判定する。したがって、「(2)項目=VPNアドレス」については、ステップS215以降で処理される。
上述した処理を実行した結果、接合情報生成部27は、図25に示すように、情報が格納されていないプロトコル管理情報「VLAN+VPN」のテンプレートに、「管理キー=VPN20−1」を格納することができる。図25は、接合対象のプロトコル管理情報DBの状態遷移を示す図である。
図18のステップS210に戻り、接合情報生成部27は、取得した項目内容が「プロトコル管理情報に格納されている情報」でない判定したとする(ステップS210否定)。この場合、接合情報生成部27は、図19に示すように、接合対象に対応したプロトコル情報格納位置設定ファイルを参照し、接合対象のプロトコル構成情報から次の項目内容を取得する(ステップS215)。続いて、接合情報生成部27は、プロトコル情報格納位置設定ファイルが指定する構成情報を取得し(ステップS216)、プロトコル情報格納位置設定ファイルが指定する格納位置を取得する(ステップS217)。
そして、接合情報生成部27は、指定の格納位置に取得した構成情報を格納し(ステップS218)、未だ参照していない未格納の構成情報が他に存在するか否かを判定する(ステップS219)。未だ参照していない未格納の構成情報が他に存在する場合(ステップS219肯定)、接合情報生成部27は、ステップS216〜ステップS218と同様の処理を実行する(ステップS220〜ステップS222)。一方、未だ参照していない未格納の構成情報が他に存在しない場合(ステップS219否定)、つまり、全ての構成情報が格納された場合、接合情報生成部27は、ステップS214以降の処理を繰り返す。
上述したステップS215〜ステップS222について、接合対象のVLAN構成情報が図7の(A−1)であり、VPN構成情報が図8の(B−1)である例について説明する。この場合、接合情報生成部27は、図5の(E)のプロトコル情報格納位置設定ファイルを参照する。続いて、接合情報生成部27は、図5の(E)に「(2)項目」から順に取得する。そして、接合情報生成部27は、はじめに「(2)項目=VPNアドレス」を取得し、この情報はプロトコル管理情報DB22dに記憶される情報であるので、S210において取得した項目内容が「プロトコル管理情報に格納されている情報」でないと判定する。
続いて、接合情報生成部27は、「(2)項目=VPNアドレス」に該当する情報として、図8の(B−1)に示す情報から「アドレス=ノードB1」を取得する。さらに、接合情報生成部27は、「(2)項目=VPNアドレス」の格納位置「構成:アドレス」をプロトコル情報格納位置設定ファイルから特定する。そして、接合情報生成部27は、ステップS202で特定したテンプレートに対応するプロトコル構成情報のテンプレートの「アドレス」に「ノードB1」を格納する。
その後、接合情報生成部27は、「(3)項目=VPNインタフェース」に該当する情報として、図8の(B−1)に示す情報から「インタフェース=port1」を取得する。さらに、接合情報生成部27は、「(3)項目=VPNインタフェース」の格納位置「構成:インタフェース」をプロトコル情報格納位置設定ファイルから特定する。そして、接合情報生成部27は、プロトコル構成情報のテンプレートの「インタフェース」に「port1」を格納する。
その後、接合情報生成部27は、「(4)項目=VLAN管理:ID(2)」に該当する情報として、図6の(A)に示す情報から「ID(2)=100」を取得する。さらに、接合情報生成部27は、「(4)項目=VLAN管理:ID(2)」の格納位置「構成:ID(1)」をプロトコル情報格納位置設定ファイルから特定する。そして、接合情報生成部27は、プロトコル構成情報のテンプレートの「ID(1)」に「100」を格納する。
さらに、接合情報生成部27は、「(5)項目=VPN構成:ID(1)」に該当する情報として、図8の(B−1)に示す情報から「ID(1)=1.1.1.1」を取得する。さらに、接合情報生成部27は、「(5)項目=VPN構成:ID(1)」の格納位置「構成:ID(2)」をプロトコル情報格納位置設定ファイルから特定する。そして、接合情報生成部27は、プロトコル構成情報のテンプレートの「ID(2)」に「1.1.1.1」を格納する。
上述した処理を実行した結果、接合情報生成部27は、図26に示すように、情報が格納されていないプロトコル構成情報「VLAN+VPN」のテンプレートに、プロトコル管理情報と対応付ける「No=1」と「機種=機種B」を格納する。その後、接合情報生成部27は、「管理キー=VPN20−1」を格納し、続いて「アドレス=ノードB1」を格納し、続いて「インタフェース=port1」を格納し、続いて「ID(1)=100」を格納し、続いて「ID(2)=1.1.1.1」を格納することができる。図26は、接合対象のプロトコル構成情報DBの状態遷移を示す図である。
このように、ステップS201〜ステップS222の処理を実行することで、プロトコル管理情報DB22dおよびプロトコル構成情報DB22eに記憶される共通フォーマットで格納される情報から接合情報を生成することができる。また、生成された接合情報の管理情報および構成情報についても、他の情報と同様の共通フォーマットで生成することができる。
(プロビジョニング実行の説明)
次に、図27〜図29を用いて、図13のステップS107に該当するプロビジョニング実行について具体的に説明する。図27は、VLANに対するプロビジョニングの実行例を示す図であり、図28は、VPNに対するプロビジョニングの実行例を示す図であり、図29は、接合対象(VPN+VLAN)に対するプロビジョニングの実行例を示す図である。
例えば、コマンド生成部28がVLANを制御する機種AのノードA1に実行するプロビジョニングを決定する場合について説明する。この場合、コマンド生成部28は、図27に示すように、図6の(A)に示したプロトコル管理情報に含まれる「識別子」と図7の(A−1)に示したプロトコル構成情報に含まれる「機種」とからコンフィグ定義設定ファイルを図12の(A)と決定する。そして、コマンド生成部28は、決定したコンフィグ定義設定ファイルに定義される「CMD(1)〜CMD(5)」をコマンドとしてTelnet実行部29に出力し、Telnet実行部29が「CMD(1)〜CMD(5)」をノードA1に実行する。
また、コマンド生成部28がVPNを制御する機種BのノードB1に実行するプロビジョニングを決定する場合について説明する。この場合、コマンド生成部28は、図28に示すように、図6の(B)に示したプロトコル管理情報に含まれる「識別子」と図8の(B−1)に示したプロトコル構成情報に含まれる「機種」とからコンフィグ定義設定ファイルを図12の(D)と決定する。そして、コマンド生成部28は、決定したコンフィグ定義設定ファイルに定義される「CMD(1)〜CMD(17)」をコマンドとしてTelnet実行部29に出力し、Telnet実行部29が「CMD(1)〜CMD(17)」をノードB1に実行する。
また、コマンド生成部28が接合対象のVLAN+VPNを制御する機種BのノードB1に実行するプロビジョニングを決定する場合について説明する。この場合、コマンド生成部28は、図29に示すように、図6の(E)に示したプロトコル管理情報に含まれる「識別子」と図11の(E−1)に示したプロトコル構成情報に含まれる「機種」とからコンフィグ定義設定ファイルを図12の(E)と決定する。そして、コマンド生成部28は、決定したコンフィグ定義設定ファイルに定義される「CMD(1)〜CMD(5)」をコマンドとしてTelnet実行部29に出力し、Telnet実行部29が「CMD(1)〜CMD(5)」をノードB1に実行する。
[実施例2による効果]
このように、実施例2によれば、ネットワーク管理制御装置20がプロトコル間を接合するプロビジョニングを実施できるようになるため、管理者が手動でコマンド投入する必要がない。したがって、異なるプロトコルで制御されるネットワーク間を接合するプロビジョニングを自動で実行することが可能である。
また、実施例2によれば、プロトコル間を接合するプロビジョニングを含めてネットワーク管理制御装置20より実施できるようになるため、管理者が手動でコマンド投入する必要がなくなり、コマンド投入誤りによるネットワークの通信停止が発生しなくなる。また、プロトコル間を接合するプロビジョニングを含めてネットワーク管理制御装置より実施できるようになるため、管理者におけるネットワーク機器への高度な知識を必要としなくなるため、管理者育成に対する教育費・期間を大幅に軽減する事ができる。
また、実施例2によれば、プロトコル間を接合するプロビジョニングを含めてネットワーク管理制御装置20から実施できるようになる。この結果、管理者によるプロビジョニングコマンドの検討が不要となるため、即時にプロビジョニングが行え、顧客へのサービス提供が迅速に行えるとともに、プロトコルの接合に関する管理者の作業を無くす事ができる。
また、実施例2によれば、プロトコル間の接合情報をネットワーク管理制御装置20にて管理する事ができるようになるため、ネットワークの障害発生に際して、ネットワークがどのように構成されているか把握する事ができる。また、プロトコルの情報ならびにプロトコル間の接合情報を共通形態で管理するとともに、定義に従ったプロビジョニングを実施する事で、新たなプロトコルや接合パターンへの対応において、定義情報を作成するだけで対応が可能となる。この結果、導入コストを大幅に軽減する事ができ、顧客のニーズに合わせた新たなサービス提供が可能となる。
また、実施例2によれば、プロトコルの情報ならびにプロトコル間の接合情報を共通形態で管理するとともに、定義に従ったプロビジョニングを実施する事で、新たなプロトコルや接合パターンへの対応において、定義情報を作成するだけで対応が可能となる。この結果、ソフト開発期間が不要となり、市場動向に合わせたネットワーク構築ができ、新たなビジネス獲得に繋がる。