以下、本発明の実施の形態を図面を参照して説明する。
実施の形態1.
図1は、本発明の第1の実施の形態の構成例を示すブロック図である。第1の実施の形態によるVLAN通信範囲特定システム100には、入力手段230と、出力手段240が接続される。VLAN通信範囲特定システム100は、VLAN設定情報記憶装置110と、テーブル生成手段120と、二次テーブル記憶装置130と、VLAN通信範囲分析手段140を備える。なお、VLAN通信範囲特定システム100の外部に入力手段230および出力手段240を設けるのではなく、VLAN通信範囲特定システム100自身が入力手段230や出力手段240を備えていてもよい。
入力手段230は、ネットワーク機器のコンフィグファイルからVLANの設定に関する情報を集めたVLAN設定情報集合210と、ネットワーク機器の物理的な接続構成の情報(ネットワーク構成情報)を集めたネットワーク構成情報集合220をVLAN通信範囲特定システム100に入力する。ここで、ネットワーク機器とは、L2スイッチ、L3スイッチといったスイッチ機器だけでなく、VLAN機能を備えたルータを含めてもよい。
入力手段230は、例えば、各種ネットワーク機器のコンフィグファイルからVLAN設定に関連する情報の集合(以下、VLAN設定情報集合と記す。)210を抽出して出力するVLAN設定情報抽出装置(図示せず。)、および各種ネットワーク機器からネットワーク機器の物理的な接続構成の情報を表すネットワーク構成情報集合220を抽出して出力するネットワーク構成情報抽出装置(図示せず。)と、VLAN通信範囲特定システム100とのインタフェースである。この場合、入力手段230は、VLAN設定情報抽出装置およびネットワーク構成情報抽出装置に接続され、VLAN設定情報抽出装置が出力したVLAN設定情報集合210およびネットワーク構成情報抽出装置が出力したネットワーク構成情報集合220をVLAN通信範囲特定システム100に入力する。
上述のVLAN設定情報抽出装置(図示せず。)や、ネットワーク構成情報抽出装置(図示せず。)は、例えば、プログラムに従って動作するコンピュータである。
ネットワーク構成情報抽出装置を動作させるプログラム(ネットワーク構成情報抽出プログラム)は、各種ネットワーク機器に実装されるSNMP(Simple Network Management Protocol)管理機能やMIB(Management Information Base)情報を使って実現してもよい。SNMPは、ネットワーク管理プロトコルであり、ネットワーク機器の構成や動作に関する情報の設定や管理を行うことができる技術である。MIBは、ネットワーク機器の設定情報の集合である。また、SNMPやMIBによってネットワーク構成情報を収集する機能を備えたネットワーク管理ソフトウェアを使って、ネットワーク構成情報を抽出する動作をVLAN通信範囲特定システム100が行ってもよい。また、ネットワーク構成情報を人手によって作成し、利用してもよい。
図2は、ネットワーク構成情報集合の例を示す説明図である。図2に示すように、ネットワーク構成情報集合220に属する個々のネットワーク構成情報は、構成番号と、送信元機器名と、送信元接続ポートと、宛先機器名と、宛先接続ポートとを含んでいる。構成番号は、ネットワーク構成情報集合220に属する個々のネットワーク構成情報に割り振られる一意な値である。構成番号は、ネットワーク構成情報毎に一意な文字列であってもよい。また、図2や以下の説明では、送信元接続ポート及び宛先接続ポートを、「スロット番号/接続ポート番号」と表すことにする。スロットとは、接続ポートを複数搭載したボードである。例えば、図2に示す構成番号1のネットワーク構成情報は、「送信元機器名がAで1/1と表される送信元接続ポートが、宛先機器名がBで1/1と表される宛先接続ポートと接続している。」というネットワーク機器間の物理的な接続構成の情報を表している。
図3および図4は、コンフィグファイルの例を示す説明図である。図3は、L2スイッチのコンフィグファイルの一例であり、図4は、L3スイッチのコンフィグファイルの一例である。VLAN設定情報抽出装置(図示せず。)は、各ネットワーク機器からコンフィグファイルを収集し、コンフィグファイルからVLANの設定に関する情報(VLAN設定情報)を抽出する。VLAN設定情報には、少なくとも、ネットワーク機器の機器名、ポートとVLAN−IDとの対応関係、ネットワーク機器のルーティング機能が有効化される場合には当該機器のルーティング機能が有効化されることを示す情報、VLAN−IDにサブネットアドレスが設定される場合にはそのサブネットアドレスを特定可能な情報、ポートに対応するフィルタリングルールが存在する場合には、そのフィルタリングルールを特定可能な情報が含まれる。VLAN−IDは、各VLANを識別するための識別情報であり、VIDと称される場合もある。
例えば、図3に示すコンフィグファイルの1行目は、スイッチの機器名が“AAAA”であることを示すVLAN設定情報である。なお、コンフィグファイルの先頭部分に記載されたヘッダ情報にも機器名が記載されている。コンフィグファイルのヘッダ情報内に記載された機器名は、機器のユーザが便宜的に定めた機器名ではなく、予め定められた機器名であり、その機器名から機器の種類(L2スイッチか、L3スイッチか、ルータか)かが特定される。
図3に示すコンフィグファイルの文字列“set vlan portbase ”から始まる行や、文字列“set vlan tagbase”から始まる行は、ポートとVLAN−IDとの対応関係を定めたVLAN設定情報である。例えば、“set vlan portbase 1/1 10”は、ポート1/1に、VLAN−ID10を設定することを意味している。また、“set vlan tagbase 1/8 10,20 ”は、ポート1/8に、VLAN−ID10および20を設定することを表している。また、“set vlan portbase 10 vid10”は、VLAN−ID10に対してネットワーク管理者が定めたvid10という名称を設定することを意味する。
なお、“port”は、VLAN−IDが1つしか設定されないポートを意味し、“tag ”は、VLAN−IDを複数設定可能なポートを意味している。このことは、図4に示す例でも同様である。
また、図3に示す文字列“set filter profile”から始まる行は、フィルタリングルールを示し、“set filter in-port”または“set filter out-port”で始まる行は、ポートに対応するフィルタリングルールを示すVLAN設定情報である。例えば、図3に示す“set filter in-port fe 4/1 10 1”は、ポート4/1(VLAN−ID10)に対応するフィルタリングルールは、1番のフィルタリングルール(図3に示す例では、“set filter profile 1 block src-ip 192.161.1.1 255.255.255.0”)であることを示している。
図4に示すコンフィグファイルの1行目は、スイッチの機器名が“BBBB”であることを示すVLAN設定情報である。なお、コンフィグファイルの先頭部分に記載されたヘッダ情報にも機器名が記載されている。コンフィグファイルのヘッダ情報内に記載された機器名は、機器のユーザが便宜的に定めた機器名ではなく、予め定められた機器名であり、その機器名から機器の種類(L2スイッチか、L3スイッチか、ルータか)かが特定される。
図4に示す2行目および3行目は、ポートに対応付けられるフィルタリングルールである。また、図4に示す“interface vlan”で始まる行および“ip address”で始まる行との組み合わせは、ポートに対応するアドレスを示すVLAN設定情報である。例えば、“interface vlan 10”とその次の行の“ip address 172.16.10.1/24”は、VLAN−ID10のサブネットアドレスが“172.16.10.1/24”であることを示している。“interface vlan”は、VLAN−IDを指定するコマンドであり、例えば、“interface vlan 10”というコマンドはVLAN−ID10を指定する。また、“ip address”は、指定されたVLAN−IDにアドレス(サブネットアドレス)を設定するアドレス設定コマンドである。
また、図4に示す“interface ethernet”から始まる行および“bridge-group”から始まる行の組み合わせは、ポートとVLAN−IDとの対応関係を定めたVLAN設定情報である。例えば、“interface ethernet 1/1”と、その次の行の“bridge-group 10 port”は、ポート1/1にVLAN−ID10を定めることを意味している。
また、図4に示す“router rip”は、ネットワーク機器(本例では、“BBBB”)のルーティング機能が有効化されることを示すVLAN設定情報である。
また、この他に、コンフィグファイルにおけるネットワーク機器の接続ポート数の記述箇所もVLAN設定情報に該当し、そのVLAN設定情報をVLAN設定情報集合210に含めてもよい。
VLAN設定情報抽出装置(図示せず。)は、コンフィグファイル内の所定の文字列から始まる行を抽出することによって、VLAN設定情報を抽出し、その集合をVLAN設定情報集合210として出力すればよい。入力手段230は、VLAN設定情報抽出装置(図示せず。)が出力したVLAN設定情報集合210をVLAN通信範囲特定システム100に入力する。なお、コンフィグファイルの書式は機種毎に異なるので、機種によって、VLAN設定情報の位置を示す所定の文字列は異なる。なお、VLAN通信範囲特定システム100にコンフィグファイルが入力され、VLAN通信範囲特定システム100自身がコンフィグファイルからVLAN設定情報集合210を抽出する構成であってもよい。
VLAN設定情報記憶装置110は、入力手段230から入力されたVLAN設定情報集合210とネットワーク構成情報集合220とを記憶する。
テーブル生成手段120は、VLAN設定情報記憶装置110に記憶されるVLAN設定情報を使って、VLANの通信範囲を分析するために必要なテーブルを作成する。二次テーブル記憶装置130は、テーブル生成手段120によって作成されたVLANの通信範囲を分析するために必要なテーブルを記録する。VLAN通信範囲分析手段140は、二次テーブル記憶装置130に記憶されるテーブルを使って、VLANの通信範囲を分析する。
テーブル生成手段120は、一次テーブル生成手段310と、一次テーブル記憶装置320と、二次テーブル生成手段330を備える。一次テーブル生成手段310は、VLAN設定情報記憶装置110に記憶されるVLAN設定情報を使って、一次テーブルを作成する。ここでいう一次テーブルとは、VLANの通信範囲を分析するために必要となるテーブルの前処理用のテーブルを指す。一次テーブル記憶装置320は、一次テーブル生成手段320によって作成された一次テーブルを記録する。テーブル生成手段120は、一次テーブルとして、ルーティングテーブル、サブネットアドレステーブル、機器接続テーブル、接続ポートテーブル、IPフィルタリングテーブル、VLAN間ルーティング可否表枠、ポート毎のVLAN接続可否表枠、および機種テーブルを作成し、一次テーブル記憶装置320に記憶させる。各種一次テーブルおよび、テーブル生成手段120が各種一次テーブルを作成する動作については後述する。
二次テーブル生成手段330は、一次テーブル記憶装置320に記憶される一次テーブルを使って、二次テーブルを作成する。ここでいう二次テーブルとは、VLANの通信範囲を分析するために必要となる最終的に完成されるテーブルを指す。二次テーブル記憶装置130は、二次テーブル生成手段330によって作成された二次テーブルを記憶する。二次テーブル生成手段330が二次テーブルを作成する動作については後述する。
出力手段240は、VLAN通信範囲特定システム100(より具体的にはVLAN通信範囲分析手段140)によって分析される結果を出力する。出力手段240は、例えば、ディスプレイ装置によって実現される。また、例えば、出力手段240は、ディスプレイ装置を備えたコンピュータによって実現されてもよい。
一次テーブル生成手段310と、二次テーブル生成手段330と、VLAN通信範囲分析手段140は、例えば、プログラムに従って動作するCPUによって実現される。一次テーブル生成手段310、二次テーブル生成手段330、およびVLAN通信範囲分析手段140が同一のCPUによって実現されてもよい。なお、プログラムは、例えば、VLAN通信範囲特定システムが備えるプログラム記憶装置(図示せず)に記憶される。CPUは、そのプログラムを読み込み、そのプログラムに従って一次テーブル生成手段310、二次テーブル生成手段330、およびVLAN通信範囲分析手段140として動作する。VLAN設定情報記憶装置110と、一次テーブル記憶装置320と、二次テーブル記憶装置130は、例えば、記憶装置によって実現される。
次に、動作について説明する。
入力手段230は、VLAN設定情報集合210とネットワーク構成情報集合220をVLAN通信範囲特定システム100に入力し、VLAN設定情報集合210とネットワーク構成情報集合220をVLAN設定情報記憶装置110に記憶させる。
なお、例えば、入力手段230は、VLAN設定情報抽出装置(図示せず。)が出力したVLAN設定情報集合210およびネットワーク構成情報抽出装置(図示せず。)が出力したネットワーク構成情報集合220をVLAN通信範囲特定システム100に入力する。VLAN設定情報抽出装置(図示せず。)およびネットワーク構成情報抽出装置(図示せず。)が定期的に情報(VLAN設定情報集合210、ネットワーク構成情報集合220)を送信し、入力手段230がその情報を受信して、VLAN設定情報記憶装置110に記憶させてもよい。また、例えば、ネットワーク管理者によって入力手段230にVLAN設定情報集合210およびネットワーク構成情報集合220が入力され、入力手段230がその情報を、VLAN通信範囲特定システム100に入力し、VLAN設定情報記憶装置110に記憶させてもよい。また、入力手段230を介してコンフィグファイルが入力され、VLAN通信範囲特定システム100がコンフィグファイルからVLAN設定情報集合210を抽出し、VLAN設定情報記憶装置110に記憶させてもよい。
一次テーブル生成手段310は、VLAN設定情報記憶装置110に記憶されたVLAN設定情報集合210およびネットワーク構成情報集合220を用いて各種一次テーブルを作成する。一次テーブル生成手段310は、一次テーブルとして、ルーティングテーブル、サブネットアドレステーブル、機器接続テーブル、接続ポートテーブル、IPフィルタリングテーブル、VLAN間ルーティング可否表枠、ポート毎のVLAN接続可否表枠、および機種テーブルを作成する。これらのテーブルは、二次テーブル生成手段330で必要となるテーブルである。一次テーブル生成手段310は、上述の各一次テーブルを作成すると、一次テーブルを一次テーブル記憶装置320に記憶させる。
二次テーブル生成手段330は、VLAN間ルーティング可否表枠460(図17参照。)の内容をルーティングテーブル410と、サブネットアドレステーブル420と、機器接続テーブル430を使って完成させる。ポート毎のVLAN接続可否表枠470(図18参照。)の内容を接続ポートテーブル440と、IPフィルタリングテーブル450を使って完成させる。内容が追加されたVLAN間ルーティング可否表枠460や、内容が追加されたポート毎のVLAN接続可否表枠470が二次テーブルとなる。また、機種テーブル480は、二次テーブル生成手段330がVLAN間ルーティング可否表枠460やポート毎のVLAN接続可否表枠470に内容を追加するときに使用される。
図5は、ルーティングテーブルの例を示す説明図である。ルーティングテーブル410は、VLAN設定情報記憶装置110に記憶されるVLAN設定情報が抽出されたコンフィグファイルを持つネットワーク機器がルーティング可能か否かを表すテーブルである。ルーティングテーブル410では、機器名(ネットワーク機器の機器名)と、ルーティングの可否(ルーティング機能が有効化されていること、または、ルーティング機能が無効化されていたりルーティング機能を有していないこと)とが対応付けられる。ルーティングテーブル410は、分析対象となる各ネットワーク機器のVLAN設定情報を使って作成される。ルーティング可とは、ネットワーク機器が有しているルーティング機能が有効化されていることである。ルーティング不可とは、ネットワーク機器がルーティング機能を有しているがそのルーティング機能が有効化されていない(無効化されている)こと、あるいは、ネットワーク機器がルーティング機能を有していないことである。
図6は、ルーティングテーブル410を作成する処理を示すフローチャートである。まず、一次テーブル生成手段310は、VLAN設定情報集合210から各ネットワーク機器の機器名を抽出する(ステップS1)。図3および図4に例示したように、機器名は所定の文字列とともに記述されているので、その所定の文字列とともに記述されている文字列を機器名として抽出すればよい。なお、所定の文字列や、コンフィグファイルの記述形式は、機種毎によって異なるので、各機種に応じた所定の文字列とともに各機種に応じた記述形式で記述された文字列を機器名として抽出する。なお、各機種に応じた所定の文字列とともに各機種に応じた記述形式で記述された情報を抽出する点については、他の情報を抽出する場合でも同様である。
一次テーブル生成手段310は、各ネットワーク機器毎に、ルーティングに関連するコマンド(ルーティング機能が有効化されていることを示す情報。例えば、図4に例示した“router rip”)がVLAN設定情報内に記述されているか否かを判定する(ステップS2)。ルーティングに関連するコマンドがVLAN設定情報内に記述されていれば、そのネットワーク機器がルーティング可であることを、機器名と対応付けて、ルーティングテーブル410に記述する(ステップS3)。一方、ルーティングに関連するコマンドがVLAN設定情報内に記述されていなければ、そのネットワーク機器がルーティング不可であること(ルーティング機能が有効化されていない、あるいはルーティング機能を有していないこと)を、機器名と対応付けて、ルーティングテーブル410に記述する(ステップS4)。
なお、L2スイッチは、ルーティング機能を持っていないので、ネットワーク機器がL2スイッチの場合は、一次テーブル生成手段310は、常に、その機器名(L2スイッチの機器名)とともに、そのネットワーク機器がルーティング機能を有さないこと(ルーティング不可)を記述してもよい。なお、ネットワーク機器がL2スイッチかそれ以外かは、各ネットワーク機器のコンフィグファイルを参照することで容易に判別が可能である。
図7は、サブネットアドレステーブルの例を示す説明図である。サブネットアドレステーブル420は、VLAN−IDに対応するサブネットアドレスを示すテーブルであり、VLAN−IDとサブネットアドレスとが対応付けられる。ただし、VLAN−IDに対応するサブネットアドレスが存在しない場合には、サブネットアドレスが存在しないことを示す文字列(例えば、「×」等の文字列)がサブネットアドレステーブル420に記述される。あるいは、VLAN−IDに対応する情報を何も記述しないことによって、サブネットアドレスが存在しないことを表してもよい。サブネットアドレステーブル420は、分析対象となる各ネットワーク機器のVLAN設定情報を使って作成される。
図8は、サブネットアドレステーブル420を作成する処理を示すフローチャートである。まず、一次テーブル生成手段310は、VLAN設定情報集合210から各ネットワーク機器のVLAN−IDを指定するコマンドを抽出する(ステップS11)。例えば、図4に示す“interface vlan”という所定の文字列を含むコマンドを抽出する。次に、一次テーブル生成手段310は、そのコマンドに対応するサブネットアドレス設定コマンドがあるか否かを判定する(ステップS12)。サブネットアドレス設定コマンドがあると判定された場合、VLAN−IDを指定するコマンドによって指定されるVLAN−IDと、サブネットアドレス設定コマンドが示すサブネットアドレスとを対応させてサブネットアドレステーブル420に記述する(ステップS13)。サブネットアドレス設定コマンドがないと判定された場合、VLAN−IDを指定するコマンドによって指定されるVLAN−IDのみを記述し、そのVLAN−IDに対応するサブネットアドレス欄には何も記述しない(ステップS14)。なお、ステップS14で、サブネットアドレスが存在しないことを示す文字列(例えば「×」)をVLAN−IDに対応付けて記述してもよい。サブネットアドレスが存在しないことを表す文字列は、どのような文字列であってもよい。
なお、サブネットアドレス列の表記方法は、ネットワークのサブネットマスクを表す一般的な表記方法、例えば、「255.255.255.0」のようなものであってもよいし、「/24」のようにプリフィックス長による記述であってもよい。
図9は、機器接続テーブルの例を示す説明図である。機器接続テーブル430は、ネットワーク機器間で通信可能なVLAN−IDを示すテーブルである。図9に示す例では、どの機器のどのポート同士(あるいはどの機器同士)が接続されるかを示す情報を縦方向に示し、VLAN−IDを横方向に示している。ポート同士の接続関係を示す情報およびVLAN−IDに対応させて、そのポート同士の接続およびそのVLAN−IDにおいて通信可能かどうかを示す情報が記述される。図9では、機器接続テーブルに、通信可能か否かを示す情報を示している。図9では、「○」が通信可能、「×」が通信不可を示している。機器接続テーブル430は、ネットワーク構成情報と接続ポートテーブル440を使って作成される。接続ポートテーブル440については後述する。
図10は、一次テーブル生成手段310が機器接続テーブル430を作成する処理の例を示すフローチャートである。まず、一次テーブル生成手段310は、ネットワーク構成情報を参照して、ネットワーク機器の物理的な繋がりを検出する(ステップA1)。本例では、ネットワーク構成情報集合に、「機器Aの接続ポート1/1と機器Bの接続ポート1/8は接続する」というネットワーク構成情報、および「機器Aの接続ポート1/2と機器Cの接続ポート1/8は接続する」というネットワーク構成情報が含まれている場合を例にして説明する。一次テーブル生成手段310は、これらのネットワーク構成情報を参照して、「機器Aの接続ポート1/1と機器Bの接続ポート1/8は接続する」、「機器Aの接続ポート1/2と機器Cの接続ポート1/8は接続する」という接続関係を記述する。図9では、前者の接続関係を「A:1/1−B:1/8」と示し、後者の接続関係を「A:1/2−C:1/8」と示している。
さらに、一次テーブル生成手段310は、ネットワーク機器接続のパターンとして「B−C」も検出し、「A:1/1−B:1/8」等の他の接続関係と並べて記述する。この「B−C」という接続関係を抽出して記述する動作については、図11を参照して後述する。
ステップA1の後、一次テーブル生成手段310は、接続ポートテーブル440を参照して、接続ポートテーブル440に記述された全てのVLAN−IDの種類を抽出する(ステップA2)。接続ポートテーブルについては後述するが、接続ポートテーブルは図13に例示するようなテーブルである。例えば、図13に例示する接続ポートテーブル440が作成されている場合、その接続ポートテーブルから一次テーブル生成手段310によってステップA2で抽出されるVLAN−IDの種類は、100,200となる。
次に、一次テーブル生成手段310は、ステップA1で接続関係が検出された2つのネットワーク機器同士(あるいはネットワーク機器のポート同士)が隣接するか否かを確認する(ステップA3)。隣接するとは、他のネットワーク機器を介さずに直接接続されていることを意味する。例えば、上述の例のように、ネットワーク構成情報集合に、「機器Aの接続ポート1/1と機器Bの接続ポート1/8は接続する」というネットワーク構成情報、および「機器Aの接続ポート1/2と機器Cの接続ポート1/8は接続する」というネットワーク構成情報が含まれている場合、機器Aと機器Bとは隣接することになる。同様に、機器Aと機器Cとは隣接することになる。一方、機器Bと機器Cとは、機器Aを介して接続されていることになるので、隣接に該当しない。一次テーブル生成手段310は、2つの機器同士の接続関係がネットワーク構成情報に記述されていれば、その2つの機器は隣接すると判定すればよい。
2つのネットワーク機器同士(ネットワーク機器のポート同士)が隣接する場合(ステップA3のYes)、一次テーブル生成手段310は、接続ポートテーブル440を参照して、ネットワーク機器同士を繋ぐ両ネットワーク機器の接続ポートが所属するVLAN−IDを参照し、論理積を計算する。この論理積の計算とは、ステップA2で抽出した各VLAN−ID毎に、ステップA2で抽出したVLAN−IDが各ポートに共通のVLAN−IDとして接続ポートテーブル440に記述されているか否かを判定し、共通のVLAN−IDとして記述されていれば、隣接する機器のポート間で通信可(真)と判定し、共通のVLAN−IDとして記述されていなければ、隣接する機器のポート間で通信不可(偽)と判定する処理である。この計算によって、ネットワーク機器間で通信可能なVLAN−IDが分かる。論理積の計算結果が真であれば、一次テーブル生成手段310は、隣接するポートの接続関係を示す情報およびVLAN−IDに対応付けて、通信可を示す文字列(本例では「○」)を記述し、論理積の計算結果が偽であれば、一次テーブル生成手段310は、隣接するポートの接続関係を示す情報およびVLAN−IDに対応付けて、通信不可を示す文字列(本例では「×」)を記述する(ステップA4)。
図12は、論理積の計算例を示す説明図である。例えば、図12の左側に例示する接続ポートテーブル440がされているとする。また、ステップA3において、「A:1/2−C:1/8」が隣接しているか否かが判定され、隣接しているのでステップA4に移行したとする。この場合、一次テーブル生成手段310は、ステップA2で抽出した各VLAN−ID毎に(本例では、VLAN−ID100,200それぞれについて)、そのVLAN−IDが各ポートに共通のVLAN−IDとして接続ポートテーブル440に記述されているか否かを判定する。このとき、まず、一次テーブル生成手段310は、接続ポートテーブル440を参照して機器Aのポート1/2と、機器Cのポート1/8に対応付けて登録(記述)されているVLAN−IDを確認する。図12に示す例では、機器Aのポート1/2には、VLAN−100が対応付けて登録され、機器Cのポート1/8には、VLAN−ID100,200が対応付けて登録されていると確認する。従って、VLAN−ID100に関しては、VLAN−ID100が各ポート(機器Aのポート1/2、機器Cのポート1/8)に共通のVLAN−IDであると判定し、隣接するポートの接続関係「A:1/2−C:1/8」およびVLAN−ID100に対応させて、通信可を示す情報(「○」)を機器接続テーブルに記述する(図12の右側に例示する機器接続テーブル参照。)。また、VLAN−ID200に関しては、VLAN−ID200が機器Cのポート1/8に対応付けて登録されているが、機器Aのポート1/2に対応付けて登録されていないので、計算結果は偽となり、隣接するポートの接続関係「A:1/2−C:1/8」およびVLAN−ID200に対応させて、通信不可を示す情報(「×」)を機器接続テーブルに記述する(図12の右側に例示する機器接続テーブル参照。)。
また、2つのネットワーク機器同士が隣接しない場合(ステップA3のNo)、一次テーブル生成手段310は、ネットワーク機器の接続経路を探索し、その接続経路を、隣接しないネットワーク機器の接続関係に対応させて接続機器テーブルに記述する(ステップA5)。例えば、図9の機器接続テール部430の機器接続「B−C」に関してステップA3の判定を行った場合、機器Bと機器Cが隣接していないことが分かるので、ネットワーク機器の接続経路を探索する。図9に示す例では、機器Bは、機器Aと接続されていて、かつ、機器Aは、機器Cと接続されているので、機器Bから機器Cへは、機器Aを経由して繋がっていることが分かる。その結果、機器接続「B−C」の接続経路は、「A:1/1−B:1/8とA:1/2−C:1/8」であることが分かるので、一次テーブル生成手段310は、この接続経路情報を表に記述する。
図11は、接続機器間の接続経路を特定するまでの動作を示すフローチャートである。一次テーブル生成手段310は、ネットワーク構成情報から、機器接続状態を検出し、機器接続テーブルに記述する(ステップS21)。また、一次テーブル生成手段310は、ネットワーク構成情報に含まれている機器を全て抽出し、各機器間の接続状態を記述可能な情報(例えば、図11の左側上方に示す表を表す情報)を作成する(ステップS22)。一次テーブル生成手段310は、機器接続テーブル430から、物理的に直接接続される機器同士に対応させて、接続されることを示すマーク(本例では「1」とする。)を、ステップS22で作成した情報に記述する(ステップS23)。図11の左側下方に示す表は、接続されることを示すマーク(1)が記述された状態を表している。マーク(1)を記述すべき箇所に全てマーク(1)を記載した後、一次テーブル生成手段310は、異なる機器間の状態を示す欄に、前述のマーク(1)が記述されていない箇所があるか否かを判定する(ステップS24)。ステップS24で、マーク(1)が記述されていない箇所が存在する場合、一次テーブル生成手段310は、マーク(1)が記述されていない箇所に対応する機器同士が接続されることを示す情報(例えば、「B−C」という接続関係を示す情報)を、機器接続テーブルに記述する(ステップS25)。図11の右側に示す表では、機器Bと機器Cとの関係にマークがされていないので、「B−C」という接続関係を示す情報を、機器接続テーブルに記述する(図11の右上に示す機器接続テーブル参照。)。ステップS21からステップS25までの処理は、前述のステップA1の後に行えばよい。ステップS24で、マーク(1)が記述されていない箇所が存在しないと判定された場合(図S24のYes)、ステップA2に移行すればよい。また、ステップS25の後にも、ステップA2に移行すればよい。
ステップS26は、前述のステップA5に相当する処理である。ステップS26では、一次テーブル生成手段310は、ステップS23で作成した情報(図11の右側に示す表)を参照し、機器Aと機器Bに関して、BとAは接続されているが、BはA以外の機器と接続されていないと判定する。そして、一次テーブル生成手段310は、Aは、B以外の機器Cにも接続されていると判定する。その結果、一次テーブル生成手段310は、機器Bと機器Cは、B−A,A−Cという経路で接続されていると判定し、各機器のポートとともに、「A:1/1−B:1/8、A:1/2−C:1/8」という経路を機器接続テーブルに記述する(ステップS26)。
図10に示すステップA4およびステップS5の後、一次テーブル生成手段310は、全てのネットワーク機器接続に対して検査が完了しているか否かを確認する(ステップA6)。すなわち、機器接続テーブルに記述されている2つの機器のポート間あるいは2つの機器間の接続状態を示す情報(図9において縦方向に並べて記述した情報)それぞれについてA3以降の処理を完了しているか否かを判定する。未だ、ステップA3以降の処理を行っていないケースがあれば(ステップA6のNo)、そのケースについてステップA3以降の処理を行う。例えば、図9に示す「A:1/1−B:1/8」に関してのみ、ステップA3以降の処理を行って図9に示す「A:1/2−C:1/8」や「B−C」に関してステップA3以降の処理を行っていないのであれば、それらのケースについてもステップA3以降の処理を行う。全てのケースについてステップA3以降の処理を完了したのであれば(ステップA6のYes)、機器接続テーブルの生成を終了する。
ルーティングテーブル410と、サブネットアドレステーブル420と、機器接続テーブル430は、VLAN間ルーティング可否表枠460の内容を形成する上で必要となる。
図13は、接続ポートテーブルの例を示す説明図である。接続ポートテーブル440は、各ネットワーク機器の接続ポートに所属するVLAN−IDと接続状態を示すテーブルである。接続ポートテーブルでは、ネットワーク機器の機器名および接続ポートが記述され、その接続ポートに所属するVLAN−IDと接続ポートの接続状態を表す情報が記述される。ネットワーク機器によっては、接続ポートを論理的に閉塞する機能があり、ある接続ポートに対して閉塞機能がオンの状態であると、その接続ポートは全てのアクセスを拒否する状態になる。接続ポートの接続状態とは、このように閉塞機能がオン状態に設定され接続ポートが全てのアクセスを拒否する状態になっているか否かを示す情報である。接続ポートの接続状態によって、接続ポートの設定状態によらず通信不可の状態を検査することが可能となる。なお、閉塞機能をオン状態にすると、接続ポートにLANケーブルが挿入してある状態であっても、全てのパケットを遮断することができる。従って、閉塞機能をオンにするのは、接続ポートからLANケーブルを抜く必要があるが、LANケーブルを抜くことができないようなときである。接続ポートテーブル440は、分析対象となる各ネットワーク機器のVLAN設定情報を使って作成される。なお、1つの接続ポートに対して、複数のVLAN−IDが設定されてもよい。また、ネットワーク機器の接続ポートによっては、特定のVLANに所属することなく、特別な専用回線として扱われることがあり、その接続ポートが他VLANと通信可能であるか否かが、ネットワーク機器のコンフィグファイルやネットワーク構成情報からは分からないことがある。そのため、接続ポートテーブル440の内容をユーザが自由に修正できる仕組みであってもよい。
図14は、接続ポートテーブル440を作成する処理を示すフローチャートである。まず、一次テーブル生成手段310は、VLAN設定情報集合210から各ネットワーク機器の接続ポートにVLAN−IDを設定するコマンドを抽出する(ステップS31)。このコマンドは、所定の文字列とともに所定の記述形式で記述されているので、一次テーブル生成手段310は、そのようなコマンドを抽出すればよい。ステップS31には、接続ポートとVLAN−IDの対応が記述されている。例えば、図3に示すコマンド“set vlan portbase 1/1 10”は、接続ポート1/1にVLAN−ID10を設定することをするコマンドであり、このコマンドには接続ポート1/1とVLAN−ID10とが記述されている。ステップS31の後、一次テーブル生成手段310は、ステップS31で抽出したコマンドに記述されている接続ポートとVLAN−IDとを対応付けて、接続ポートテーブルに記述する。
続いて、一次テーブル生成手段310は、VLAN設定情報集合210から(より具体的には、ステップS31で抽出したコマンドと同一のコンフィグファイルから抽出された機器名を示すVLAN設定情報から)、機器名を抽出し、ステップS32で記述した接続ポートおよびVLAN−IDと対応付けて記述する(ステップS33)。また、一次テーブル生成手段310は、各機器の各ポート毎に閉塞機能がオンに設定されているか否かをVLAN設定情報を参照して確認し、閉塞機能がオンに設定されている接続ポートに対しては、接続ポートの接続状態を「不可(閉塞機能がオンに設定され、全てのアクセスを拒否することを示す。)」を記述し、他の接続ポートに対しては「可」を記述する。「可」は、閉塞機能がオンに設定されていないことを示す。
図15は、IPフィルタリングテーブルの例を示す説明図である。IPフィルタリングテーブル450は、各ネットワーク機器の接続ポートに設定されるIPフィルタリングルールを示すテーブルである。IPフィルタリングルールでは、機器名および接続ポートに対応付けて、そのネットワーク機器の接続ポートに設定されるフィルタリングルールが記述される。ここで、IPフィルタリングとは、あらかじめ決められたルールに従ってデータを通過または遮断する機能であり、パケットフィルタリングと同義である。IPフィルタリングルールは、条件部と実行部から構成される。条件部で、送信元IPアドレス、送信元ポート、宛先IPアドレス、宛先ポートを指定し、実行部で、条件部に合致した場合の通信の許可及び拒否を指定する。図15のIPフィルタリングテーブル450では、各ネットワーク機器の接続ポート毎に送信元IPアドレス、宛先IPアドレス及びアクセスの可否が明記される。ここで、送信元IPアドレス及び宛先IPアドレスにおいて、全てのアドレス空間を指定する場合には、「any」という記述方法を用いてもよい。また、1つの接続ポートに対して、複数のIPフィルタリングルールが設定されてもよい。IPフィルタリングテーブル450は、分析対象となる各ネットワーク機器のVLAN設定情報を使って作成される。
ただし、第1の実施の形態では、コンフィグファイル内のIPフィルタリングルールでは、IPアドレスはサブネットアドレス、または全てのアドレス空間を指定する「any」として記述されるものとする。従って、コンフィグファイルから抽出されたVLAN設定情報内のIPフィルタリングルールにおいても、IPアドレスはサブネットアドレス、または全てのアドレス空間を指定する「any」として記述される。その結果、IPフィルタリングテーブルにおける送信元IPアドレス、宛先IPアドレスも、サブネットアドレス、または全てのアドレス空間を指定する「any」として記述される。
図16は、IPフィルタリングテーブルを作成する処理を示すフローチャートである。まず、一次テーブル生成手段310は、VLAN設定情報集合210から各ネットワーク機器の接続ポートに設定されるパケットフィルタリング(IPフィルタリング)のコマンドを抽出する(ステップS41)。このコマンドも、所定の文字列とともに所定の記述形式で記述されているので、一次テーブル生成手段310は、そのようなコマンドを抽出すればよい。例えば、図3に示す“set filter profile 1 block src-ip 192.168.1.1 255.255.255.0”等のようなパケットフィルタリングルールを登録するコマンドを抽出する。
次に、一次テーブル生成手段310は、抽出したパケットフィルタリングルールが設定される接続ポートをVLAN設定情報集合210から抽出し、IPフィルタリングテーブル450に記述する(ステップS42)。例えば、図3に例示するコマンド“set filter in-port fe 4/1 10 1”における最後の「1」は、上記の“set filter profile 1 block src-ip 192.168.1.1 255.255.255.0”において、「block」の直前に記述されたフィルタリングに関するコマンドの番号を示している。従って、この2つのコマンドが対応していて、“set filter in-port fe 4/1 10 1”というコマンドには、“set filter profile 1 block src-ip 192.168.1.1 255.255.255.0”に記述されたフィルタリングルールが設定される接続ポート(本例では、4/1)が記述されている。一次テーブル生成手段310は、この接続ポートと、フィルタリングルールとを対応させて、IPフィルタリングテーブル450に記述する。本実施の形態では、一次テーブル生成手段310は、フィルタリングルールを、送信元IPアドレス、宛先IPアドレス、アクセス(許可または不許可)に分解して、IPフィルタリングテーブル450に記述する。
なお、機器名に関しては、一次テーブル生成手段310は、VLAN設定情報集合210から(より具体的には、ステップS42,S42で抽出したコマンドと同一のコンフィグファイルから抽出された機器名を示すVLAN設定情報から)、機器名を抽出する。一次テーブル生成手段310は、その機器名を、接続ポート、送信元IPアドレス、宛先IPアドレス、およびアクセスに対応付けて記述すればよい。
接続ポートテーブル440と、IPフィルタリングテーブル450は、ポート毎のVLAN接続可否表枠470の中身を形成する上で必要となる。
図17は、VLAN間ルーティング可否表枠の例を示す説明図である。VLAN間ルーティング可否表枠460は、各ネットワーク機器の送信元VLAN−IDから各ネットワーク機器の宛先VLAN−IDに対して通信が可能か否かを示す表の枠組みを示す情報である。VLAN間ルーティング可否表枠460は、接続ポートテーブル440を使って作成される。一次テーブル生成手段310は、接続ポートテーブル440から各ネットワーク機器の機器名およびその機器の接続ポートに設定されるVLAN−ID(機器名およびVLAN−IDの組み合わせ)を抽出し、VLAN間ルーティング可否表枠460の縦軸に機器名およびその機器の接続ポートに設定される送信元VLAN−IDを形成(記述)し、横軸に機器名およびその機器の接続ポートに設定される宛先VLAN−IDを形成(記述)する(図17参照。)。ここで、接続ポートテーブル440の代わりに、サブネットアドレステーブル420を使ってVLAN間ルーティング可否表枠460を作成してもよい。
図18は、ポート毎のVLAN接続可否表枠の例を示す説明図である。ポート毎のVLAN接続可否表枠470は、各ネットワーク機器の接続ポートに対してどのVLAN−IDが通信可能であるかを示す表の枠組みである。ポート毎のVLAN接続可否表枠470は、接続ポートテーブル440を使って作成される。一次テーブル生成手段310は、接続ポートテーブル440から各ネットワーク機器の機器名およびその機器の接続ポートを抽出し、ポート毎のVLAN接続可否表枠470の縦軸に各ネットワーク機器の機器名および接続ポートの組み合わせを形成(記述)する(図18参照。)。また、一次テーブル生成手段310は、接続ポートテーブル440から、各ネットワーク機器の接続ポートに設定されるVLAN−IDを抽出し、ポート毎のVLAN接続可否表枠470の横軸に各VLAN−IDを形成(記述)する(図18参照。)。
一次テーブルとして作成されたVLAN間ルーティング可否表枠、およびポート毎のVLAN接続可否表枠では、内容(通信可能か否か)という情報が記述されていない。この内容は二次テーブル生成手段330によって追加され、VLAN間ルーティング可否表枠、およびポート毎のVLAN接続可否表枠に、通信可能か否かを示す内容が追加された情報が、二次テーブルとなる。
図19は、機種テーブルの例を示す説明図である。機種テーブル480は、各ネットワーク機器の種類及び接続ポートの数を示すテーブルであり、各ネットワーク機器の機器名に対応付けて、そのネットワーク機器の種類および接続ポート数が記述されている。例えば、図19に示す機種テーブル480では、「機器名Aは、L3スイッチであり、64個の接続ポートを装備している」ということを示している。
一次テーブル生成手段310は、以下に示すように機種テーブル480を作成する。一次テーブル生成手段310は、各ネットワーク機器のコンフィグファイルのヘッダ情報から抽出された機器名を記述したVLAN設定情報から、機器名を抽出する。さらに一次テーブル生成手段310は、その機器名からネットワーク機器の種類を判定する。なお、ここでいうネットワーク機器の種類とは、L2スイッチ、L3スイッチ、ルータのいずれかを表す。また、VLAN通信範囲特定システム100は、ネットワーク機器の機器名(コンフィグファイルのヘッダ情報に記述された機器名)と、ネットワーク機器の種類とを対応付けて記憶するデータベース(図示せず。)を予め備えている。一次テーブル生成手段310は、そのデータベースを参照することによって、VLAN設定情報から抽出した機器名に対応するネットワーク機器の種類を判定すればよい。あるいは、インターネットのWebページ(ネットワーク機器のカタログ情報等を記載したWebページ)を検索することによって、機器名に応じたネットワーク機器の種類を判定してもよい。
また、上記のデータベースには、ネットワーク機器の機器名と、ネットワーク機器の種類と、ネットワーク機器の接続ポートの数とを対応付けて登録しておいてもよい。一次テーブル生成手段310は、そのデータベースを参照することによって、VLAN設定情報から抽出した機器名に対応する接続ポートの数を判定する。あるいは、一次テーブル生成手段310は、上述のインターネットのWebページを検索することによって、機器名に応じたネットワーク機器の接続ポートの数を判定してもよい。あるいは、ネットワーク機器の接続ポート数の記述箇所もVLAN設定情報を参照して、機器名に応じた接続ポートの数を判定してもよい。
一次テーブル生成手段310は、ネットワーク機器の機器名と、ネットワーク機器の種類と、ネットワーク機器の接続ポートの数とを対応付けて記述する(図19参照。)。
一次テーブル生成手段310は、作成した各種テーブル(ルーティングテーブル、サブネットアドレステーブル、機器接続テーブル、接続ポートテーブル、IPフィルタリングテーブル、VLAN間ルーティング可否表枠、ポート毎のVLAN接続可否表枠、および機種テーブル)を、一次テーブル記憶装置320に記憶させる。
次に、二次テーブル生成手段330の動作について詳細に説明する。二次テーブル生成手段330は、一次テーブル記憶装置320に記憶されるテーブルを使って、VLANの通信範囲を分析するために必要となる最終的なテーブルである二次テーブルを作成する。二次テーブル生成手段330は、作成した二次テーブルを二次テーブル記憶装置130に記憶させる。
図20は、二次テーブル生成手段330が作成する二次テーブルの例を示す説明図である。図20(a)は、二次テーブルであるVLAN間ルーティング可否表510の例を示し、図20(b)は、ポート毎のVLAN接続可否表520の例を示している。二次テーブル生成手段330は、一次テーブル記憶装置320に記憶されるテーブルを使って、VLAN間ルーティング可否表510とポート毎のVLAN接続可否表520を作成する。VLAN間ルーティング可否表510は、各ネットワーク機器の送信元VLAN−IDから各ネットワーク機器の宛先VLAN−IDに対して通信が可能か否かを示す表である。一方、ポート毎のVLAN接続可否表520は、各ネットワーク機器の接続ポートに対してどのVLAN−IDが通信可能であるかを示す表である。VLAN間ルーティング可否表510は、一次テーブル記憶装置320に記憶されるルーティングテーブル410と、サブネットアドレステーブル420と、機器接続テーブル430を使って、VLAN間ルーティング可否表枠460の内容(通信可能か否かを示す情報)を追加させることで完成する。ポート毎のVLAN接続可否表520は、一次テーブル記憶装置320に記憶される接続ポートテーブル440と、IPフィルタリングテーブル450を使って、ポート毎のVLAN接続可否表枠470の内容(通信可能か否かを示す情報)を追加させることで完成する。以下、VLAN間ルーティング可否表510、ポート毎のVLAN接続可否表520それぞれの作成手順について詳細に説明する。
VLAN間ルーティング可否表510の作成処理について説明する。図21、図22、および図23は、二次テーブル生成手段330がVLAN間ルーティング可否表510を作成する処理の例を示すフローチャートである。まず、二次テーブル生成手段330は、一次テーブル記憶装置320のルーティングテーブル410を使って、1つ以上のネットワーク機器でルーティングが可能であるか否かを確認する(ステップB1)。二次テーブル生成手段330は、一次テーブル記憶装置320に記憶されたルーティングテーブル410において、各機器名に対応するルーティングの可否において全て「不可(ルーティング機能が有効化されていないことあるいは機器がルーティング機能を有していないことを示す)」が記述されている場合には、全てのネットワーク機器でルーティングが可能でないと判定する。また、二次テーブル生成手段330は、ルーティングテーブル410において、1つ以上の機器名に対応するルーティングの可否において「可(ルーティング機能が有効化されていることを示す)」が記述されている場合には、1つ以上のネットワーク機器でルーティングが可能であると判定する。例えば、図5に例示するルーティングテーブル410が一次テーブル記憶装置320に記憶されている場合、機器名「A」に対応して「可」が記憶されている。従って、この場合、二次テーブル生成手段330は、1つ以上のネットワーク機器でルーティングが可能であると判定する。
ルーティングテーブル410を参照して、1つ以上のネットワーク機器でルーティング可能と判定した場合(ステップB1のYes)、ネットワーク機器間の全てのVLANで通信が可能であり、次のステップB3に移行する。
ルーティングテーブル410を参照してルーティング可能なネットワーク機器が1つもないと判定した場合(ステップB1のNo)、異なるVLAN同士は通信不可となるため、二次テーブル生成手段330は、VLAN間ルーティング可否表枠460(図17参照。)において、送信元VLAN−IDと宛先VLAN−IDが異なる項目に通信不可を示す情報(本例では「×」)を記述する(ステップB2)。
なお、ここで「項目」とは、送信元となる機器のVLAN−IDおよび宛先となる機器のVLAN−IDの組み合わせに対応して、通信の可否が記述される箇所を意味する。図17に例示するVLAN間ルーティング可否表枠では、VLAN間ルーティング可否表枠内に図示した各空欄が項目に該当する。
ステップB1において1つ以上のネットワーク機器でルーティング可能と判定された場合、あるいはステップB2の後、二次テーブル生成手段330は、一次テーブル記憶装置320に記憶されたサブネットアドレステーブル420を参照して、VLANに対応するサブネットアドレスがあるか否かを判定する(ステップB3)。ステップB3において、二次テーブル生成手段330は、サブネットアドレステーブル420に記述されているVLAN−ID毎に、サブネットアドレスが割り当てられているか否か(換言すれば、VLAN−ID毎にサブネットアドレスが対応付けて記述されているか否か)を判定する。図7に例示するサブネットアドレステーブル420では、全てのVLAN−ID(100,200)に対してサブネットアドレスが割り当てられている場合を示している。
サブネットアドレステーブル420を参照して全てのVLAN−IDに対してサブネットアドレスが割り当てられていると判定した場合(ステップB3のYes)、異なる全てのVLAN間で通信が可能であり、次のステップB5に移行する。
サブネットアドレステーブル420を参照してサブネットアドレスが割り当てられていないVLAN−IDが1つ以上あると判定した場合(ステップB3のNo)、そのVLAN−IDは他VLANと通信不可であるため、二次テーブル生成手段330は、サブネットアドレスが割り当てられていないVLAN−IDを送信元VLAN−IDとする項目、およびサブネットアドレスが割り当てられていないVLAN−IDを宛先VLAN−IDとする項目に通信不可を示す情報(本例では「×」)を記述する(ステップB4)。ただし、二次テーブル生成手段330は、ステップB4において、サブネットアドレスが割り当てられていないVLAN−IDを送信元の機器のVLAN−IDおよび宛先の機器のVLAN−IDとする項目であって、送信元の機器と宛先の機器とが同一である項目に対しては通信可を示す情報(本例では「○」)を記述する。
図24は、ステップB4における通信可否を示す情報の記述例を示す説明図である。図3(a)に例示するように、VLAN−ID200に対してサブネットアドレスが割り当てられていないサブネットテーブルが一次テーブル記憶装置320に記憶されていて、ステップB4に移行したとする。VLAN−ID200には対応するサブネットアドレスが存在しないので、VLAN−ID200は、他のVLAN(本例ではVLAN−ID100)と通信できない。二次テーブル生成手段330は、ステップB4において、VLAN−ID200を送信元の機器のVLAN−IDとする項目およびVLAN−ID200を宛先の機器のVLAN−IDとする項目に、通信不可を示す「×」を記述する(図24(b)参照。)。ただし、送信元のVLAN−IDと宛先のVLAN−IDとがともに、サブネットアドレスが割り当てられていないVLAN−ID200である項目であって、送信元の機器と宛先の機器とが同一である項目に関しては通信可を示す「○」を記述する。
サブネットアドレステーブル420を参照して全てのVLAN−IDに対してサブネットアドレスが割り当てられていると判定した場合(ステップB3のYes)、あるいは、ステップB4の後、二次テーブル生成手段330は、VLAN間ルーティング可否表枠460の、各送信元VLAN−IDおよび宛先VLAN−IDの各項目(既に、通信の可否が記述済みの項目は除く。)に対して、通信の可否を記述する処理を進める。図17に例示するVLAN間ルーティング可否表枠460であれば、機器Aから機器A、機器Aから機器B、機器Aから機器C、機器Bから機器A、機器Bから機器B、機器Bから機器C、機器Cから機器A、機器Cから機器B、機器Cから機器Cの9通りに関して、未だ通信の可否が記述されていない項目に対して、通信の可否を記述していくことになる。いわば、穴埋めをすることになる。
サブネットアドレステーブル420を参照して全てのVLAN−IDに対してサブネットアドレスが割り当てられていると判定した場合(ステップB3のYes)、あるいは、ステップB4の後、二次テーブル生成手段330は、VLAN間ルーティング可否表枠460の項目のうち、未だ通信の可否が記述されていない項目を選択する。
二次テーブル生成手段330は、VLAN間ルーティング可否表枠460から選択した項目に対応する送信元機器と宛先機器が同一であるか否かを確認する(ステップB5)。VLAN間ルーティング可否表枠460から選択した項目に対応する送信元機器と宛先機器が同一である場合(ステップB5のYes)、図22に示すステップX1に移行する。また、同一でない場合(ステップB5のNo)、図23に示すステップY1に移行する。
図22は、二次テーブル生成手段330がVLAN間ルーティング可否表510を作成する処理の例を示すフローチャートの一部である。図22は、図21に示すステップB5において、VLAN間ルーティング可否表510の送信元機器と宛先機器が同一である場合の処理を示す。
二次テーブル生成手段330は、一次テーブル記憶装置320に記憶されたルーティングテーブル(図5参照。)および機種テーブル(図19参照。)を参照して、同一である送信元機器および宛先機器のネットワーク機器の種類がL3スイッチであるか否かを判定する(ステップX1)。なお、ルーティングテーブル410において、ルーティングの可否として不可と記述されたL3スイッチは、L2スイッチとみなす。また、ステップX1において、ルータもL3スイッチとみなして判定する。すなわち、同一である送信元機器および宛先機器の種類がルータである場合、その機器の種類はL3スイッチであると判定する。すなわち、判定対象となる機器が、機種テーブルにおいてL3スイッチまたはルータと記述され、ルーティングテーブルにおいてルーティングの可否として「可」と記述されている場合には、L3スイッチであると判定し、その他の場合にはL2スイッチであると判定する。その同一機器の種類がL3スイッチであれば(X1のYes)、その同一機器内に設定される全てのVLAN間で通信が可能であり、ステップX7に移行する。
一方、その同一機器の種類がL3スイッチでないと判定した場合(ステップX1のNo、すなわち機器の種類がL2スイッチである場合)、自局(自装置)内での異なるVLAN間の通信は不能であり、ステップX3に移行する。
ステップX3において、二次テーブル生成手段330は、一次テーブル記憶装置320のルーティングテーブル410および機種テーブル480を参照して、分析対象となるネットワーク機器(VLAN間ルーティング可否表枠460に記述されたネットワーク機器)にL3スイッチが存在するか否かを判定する(ステップX3)。ステップX3では、二次テーブル生成手段330は、分析対象となるネットワーク機器毎に、ステップX1と同様の判定を行って、L3スイッチと判定されるネットワーク機器が1つでもあれば、L3スイッチが存在すると判定する。二次テーブル生成手段330は、L3スイッチと判定されたネットワーク機器が存在しなければ、L3スイッチは存在しないと判定する。
L3スイッチが存在する場合(ステップX3のYes)、異なるVLAN間での通信が可能であり、二次テーブル生成手段330は、一次テーブル記憶装置320に記憶された機器接続テーブル430を参照して、自局のL2スイッチから物理的に最も近いL3スイッチを探索し、L3スイッチまでの経路の機器接続情報を抽出する(ステップX5)。図25は、ステップX5の処理の具体例を示す説明図である。一次テーブル記憶手段320には、図25に示す機器接続テーブルおよび機種テーブルが記憶されているものとする。また、本例では、選択中の項目に対応する送信元機器および宛先機器が機器「B」である場合を例に接続する。二次テーブル生成手段330は、機器接続テーブルを参照して、自局である機器「B」と接続されている機器までの通信経路を判定する。本例では、機器接続テーブルに「B−C」と記述され、「A:1/1−B:1/8、A:1/2−C:1/8」と記述されているので、「B−A−C」という通信経路を判定する。二次テーブル生成手段330は、判定した通信経路のうち、L2スイッチである自局「B」から最も近いL3スイッチを探索する。自局Bから送出されたパケットは、「B−A−C」という通信経路で転送されるので、二次テーブル生成手段330は、機種テーブルを参照して、機器「A」の機種を判定する。機器「A」はL3スイッチであるので、最も近いL3スイッチは機器「A」であると判定する。
L3スイッチが存在しない場合(ステップX3のNo)、自局のL2スイッチ内での異なるVLAN間の通信は不可であるため、VLAN間ルーティング可否表枠460から選択中の項目に対応する送信元のVLAN−IDの宛先のVLAN−IDとが異なっていれば通信不可を示す情報(「×」)を記述する(ステップX4)。なお、ステップX4に移行する場合、選択中の項目に対応する送信元の機器と宛先の機器は同一である。
図26は、ステップX4の動作の例を示す説明図である。図26に示す機種テーブルが作成されていて、機器にL3スイッチが存在しないためにステップX4に移行したとする。また、ステップX4に移行するのは、送信元の機器と宛先の機器とが同一となる項目が選択されたときのみであるので、図26に示すVLAN間ルーティング可否表枠において太線で示した項目が選択されたときにステップX4に移行する。例えば、送信元VLAN−IDが「機器A、100」であり、宛先VLAN−IDが「機器A,100」である場合、VLAN−IDが100で共通なので、ステップX4では通信可否を示す情報は記述されない。また、例えば、送信元VLAN−IDが「機器A、200」であり、宛先VLAN−IDが「機器A,100」である場合、VLAN−IDが異なるので、二次テーブル生成手段330は、ステップX4においてその項目に通信不可を示す「×」を記述する。図26において太線で示した他の項目についても同様である。
ステップX4の終了後、ステップX7に移行する。
ステップX5の後、二次テーブル生成手段330は、ステップX5で抽出したL3スイッチまでの経路の機器接続情報を元に、送信元VLAN−IDが宛先VLAN−IDと通信可能であるか否かを確認する。二次テーブル生成手段330は、自局のL2スイッチからL3スイッチまでの機器接続する接続ポートにおいて、送信元VLAN−IDが通信不可、または、L3スイッチから自局のL2スイッチまでの機器接続する接続ポートにおいて、宛先VLAN−IDが通信不可であれば、ネットワーク機器を跨ぐVLAN間の通信は不可となるため、VLAN間ルーティング可否表枠の通信不可に当たる項目に「×」を記入する(ステップX6)。
ステップX6の処理を説明するために、まず、図27を参照して異なるVLAN間での通信を説明する。図27(a)に例示するように、C−A,A−B,B−Dがそれぞれ隣接しているものとする。また、C、DはL2スイッチであり、CのVLAN−IDは100のみ、DのVLAN−IDは200のみであるものとする。さらに、A,BはL3スイッチであり、ルーティングポイントであるものとする。また、機器A,BのVLAN−IDは、100および200であるものとする。
ステップX6において、自局が図27(a)に示すCであったとする。本例の場合、ステップX5において探索されるL3スイッチはAである。二次テーブル生成手段330は、自局のL2スイッチ(図27に示すC)からL3スイッチ(図27に示すA)までの機器接続する接続ポートにおいて、送信元VLAN−IDが通信不可であるか否かを判定する。この判定は、送信元であるCの接続ポートに割り当てられたVLAN−ID100が、Cに接続されたAの接続ポートにも割り当てられていいれば通信可であり、Cの接続ポートに割り当てられたVLAN−ID100が、Cに接続されたAの接続ポートに割り当てられていなければ通信不可と判定することによって行えばよい。なお、各機器の接続ポートに割り当てられたVLAN−IDは、接続ポートテーブル(図13参照。)を参照することによって確認すればよい。
さらに、二次テーブル生成手段330は、L3スイッチ(図27に示すA)から自局のL2スイッチ(図27に示すC)までの機器接続する接続ポートにおいて、宛先VLAN−IDが通信不可であるか否かを判定する。ステップX6に移行するということは、宛先の機器は送信元の機器と同一である。また、機器Aは、機器CからVLAN−ID100で受信したパケットを、VLAN−ID200にルーティングして、機器Cを宛先として送信する。二次テーブル生成手段330は、このときの通信の可否を判定する。この判定は、機器Aの接続ポートに割り当てられた他のVLAN−ID200が、宛先となるCの接続ポートにも割り当てられていれば通信可であり、機器Aの接続ポートに割り当てられた他のVLAN−ID200が、宛先となるCの接続ポートに割り当てられていなければ通信不可と判定すればよい。
本例の場合、L3スイッチから自局のL2スイッチまでの機器接続する接続ポートにおいて、宛先VLAN−IDが通信不可となるので、通信不可を示す「×」を記述することになる。
他の例を示す。図28は、ステップX6の処理の例を示す説明図である。図28を参照すると、L2スイッチA610の接続ポート1/1は、L3スイッチB620の接続ポート1/1と接続されている。さらに、L3スイッチB620の接続ポート1/8は、L2スイッチC630の接続ポート1/1と接続されている。また、接続ポートテーブル640は、各スイッチ機器間の接続ポートに設定されるVLAN−IDを示すテーブルである。以下、ステップX6において二次テーブル生成手段330が、L2スイッチA610に設定されるVLAN−ID100から、L3スイッチB620に設定されるVLAN−ID100への通信が可能か否かを判定する場合を例にして説明する。
L2スイッチA610の接続ポート1/1からL3スイッチB620の接続ポート1/1へは、VLAN−ID100で通信されることが分かっているので、それぞれの接続ポートがVLAN−ID100に所属するか否かを確認する。つまり、接続ポートテーブル640のそれぞれの接続ポートのVLAN−ID100に対して論理積を計算する。この場合は、それぞれの接続ポートは、VLAN−ID100に所属することが分かるので、通信が可能と分かる。次に、ルーティング後のL3スイッチB620の接続ポート1/1からL2スイッチA610の接続ポート1/1への通信の可否を判定する。L3スイッチB620の接続ポート1/1におけるルーティング後のVLAN−IDは200であり、L2スイッチA610の接続ポート1/1のVLAN−IDは100であるので、通信不可となる。よって、本例では、通信不可を示す「×」を記述することになる。
ステップX1においてL3スイッチであると判定された場合(ステップX1のYes)、ステップX4の後、およびステップX6の後には、ステップX7に移行する。ステップX7では、二次テーブル生成手段330は、VLAN間ルーティング可否表枠460の各項目について全て検査したか否かを判定する(ステップX7)。すなわち、VLAN間ルーティング可否表枠460の全ての項目についてステップB5以降の処理を行っているか否かを判定する。
VLAN間ルーティング可否表枠460の各項目について全て検査が完了していれば(ステップX7のYes)、二次テーブル生成手段330は、VLAN間ルーティング可否表枠460に記述した「×」以外の項目は全て通信可能であるため、「×」以外の項目に通信可を示す「○」を記述して(ステップS8)、VLAN間ルーティング可否表510の生成処理を終了する。これで、VLAN間ルーティング可否表510が完成する。二次テーブル生成手段330は、完成したVLAN間ルーティング可否表510を二次テーブル記憶装置130に記憶させる。
一方、VLAN間ルーティング可否表枠460の各項目のうち、まだ検査(ステップB5以降の処理)が完了していない項目があれば(ステップX7のNo)、ステップB5以降の処理がまだ行われていない項目を選択し(ステップX7’)、ステップB5に移行する。
図23は、二次テーブル生成手段330がVLAN間ルーティング可否表510を作成する処理の例を示すフローチャートの一部である。図23は、図21に示すB5において、VLAN間ルーティング可否表510の送信元機器と宛先機器が異なる場合の処理を示す。
二次テーブル生成手段330は、一次テーブル記憶装置320に記憶されたルーティングテーブル410(図5参照。)および機種テーブル(図19参照。)を参照して、送信元機器がL3スイッチであるか否かを判定する(ステップY1)。ステップY1の判定は、ステップX1と同様に行えばよい。
送信元機器がL3スイッチである場合(ステップY1のYes)、自局のスイッチから宛先機器までにおいて、宛先VLAN−IDが通信不可であれば、VLAN間ルーティング可否表枠460から選択した項目に通信不可を示す「×」を記述し(ステップY2)、ステップY10に移行する。例えば、機器接続テーブルにおいて、「A:1/1−B:1/1」という接続に関して、VLAN−ID100については通信可「○」、VLAN−ID200については通信不可「×」と記述されていたとする。そして、選択した項目において、自局のスイッチ(Aとする。)のVLAN−IDが100であり、宛先機器(Bとする。)のVLAN−IDが200であれば、通信不可なので「×」を記述する。また、選択した項目において、自局のスイッチ(Aとする。)のVLAN−IDが200であり、宛先機器(Bとする。)のVLAN−IDが200である場合も、通信不可なので「×」を記述する。同様に、選択した項目において、自局のスイッチ(Bとする。)のVLAN−IDが100であり、宛先機器(Aとする。)のVLAN−IDが200であれば、通信不可なので「×」を記述する。また、選択した項目において、自局のスイッチ(Bとする。)のVLAN−IDが200であり、宛先機器(Aとする。)のVLAN−IDが200であれば、通信不可なので「×」を記述する。
一方、送信元機器がL3スイッチでないと判定した場合(ステップY1のNo、すなわち選択した項目における送信元機器がL2スイッチである場合)、ステップY4に移行する。
ステップY4において、二次テーブル生成手段330は、一次テーブル記憶装置320のルーティングテーブル410および機種テーブル480を参照して、分析対象となるネットワーク機器にL3スイッチが存在するか否かを判定する(ステップY4)。ステップY4の処理はステップX3と同様である。
分析対象となるネットワーク機器にL3スイッチが存在する場合(Y4のYes)、ステップS5に移行する。一方、一方、分析対象となるネットワーク機器にL3スイッチが存在しない場合(ステップY4のNo)、二次テーブル生成手段330は、機器接続テーブル430で通信不可となっているVLAN−IDに対して「×」を記入し(ステップY4’)、ステップY10に移行する。図29は、ステップY4’の処理の例を示す説明図である。図29に示すような機種テーブルが作成されていてL3スイッチが存在せずに、ステップY4’に移行したとする。二次テーブル生成手段330は、選択中の項目に対応する送信元の機器および宛先の機器との接続に関して、選択された項目に対応するVLAN−IDでの通信が可能か否かを、機器接続テーブルを参照して判定する。例えば、送信元機器CのVLAN−ID200および宛先機器AのVLAN−ID200に対応する項目が選択されているとする。すると、二次テーブル生成手段330は、機器A−C間の接続に関して、VLAN−ID200での通信が可能か否かを、機器接続テーブルを参照して判定する。図29に例示する機器接続テーブルように、機器A−C間の接続に関して、VLAN−ID200での通信が不可(×)と記述されている場合には、選択した項目に通信不可を示す「×」を記述する。
ステップS5では、二次テーブル生成手段330は、一次テーブル記憶装置320のルーティングテーブル410と、機器接続テーブル430を参照して、ステップY4で検出したL3スイッチが宛先機器であるか否かを判定する(ステップY5)。
ステップY4で検出したL3スイッチが宛先機器である場合(ステップY5のYes)、二次テーブル生成手段330は、自局のL2スイッチから宛先機器であるL3スイッチまで送信元VLAN−IDが通信不可であれば、VLAN間ルーティング可否表枠460の項目に通信不可を示す「×」を記述する(ステップY6)。図30は、ステップY6の処理の例を示す説明図である。図30に示すような機種テーブルが作成されていて、選択中の項目における送信元の機器がL3スイッチではなく、宛先となる機器がL3スイッチである機器「A」であるとする。二次テーブル生成手段330は、機器接続テーブルを参照して、選択中の項目に対応する送信元の機器および宛先の機器との接続に関して、送信元のVLAN−IDまたは宛先のVLAN−IDで通信不可と記述されてるか否かを判定し、通信不可と記述されているならば、選択中の項目に通信不可を示す「×」を記述する。例えば、送信元機器CのVLAN−ID200および宛先機器AのVLAN−ID100に対応する項目が選択されているとする。すると、二次テーブル生成手段330は、機器接続テーブルを参照し、機器A−C間の接続に関して、送信元のVLAN−ID200で通信不可(×)と記述されていることを確認する。その結果、二次テーブル生成手段330は、図30に示すVLAN間ルーティング可否表枠のように選択した項目に通信不可を示す「×」を記述する。
また、ステップY4で検出したL3スイッチが宛先機器でない場合(ステップS5のNo)、二次テーブル生成手段330は、検査対象となる送信元VLAN−IDと宛先VLAN−ID(選択中の項目に対応する送信元VLAN−IDおよび宛先VLAN−ID)が同一であるか否かを確認する(ステップY7)。
検査対象となる送信元VLAN−IDと宛先VLAN−IDが同一である場合(ステップY7のYes)、同一VLAN間の通信となるため、送信元機器から宛先機器までにおいて、送信元VLAN−ID及び宛先VLAN−IDが通信不可であれば、VLAN間ルーティング可否表枠460の項目に通信不可を示す「×」を記述し(ステップY8)、ステップY10に移行する。図31は、ステップY8の処理の例を示す説明図である。図31に例示するような機種テーブルが作成されていて、分析対象のネットワーク機器にスイッチ(図31に示す例では機器「A」)が存在しているものとする。さらに、選択中の項目における送信元の機器および宛先の機器が異なり、いずれもL3スイッチではなく、選択中の項目における送信元機器のVLAN−IDと宛先機器のVLAN−IDが同一であるものとする。二次テーブル生成手段330は、その同一のVLAN−IDが、選択中の項目における送信元機器から宛先機器までの各経路のいずれかにおいて通信不可と機器接続テーブルに記述されている場合には、選択した項目に通信不可を示す「×」を記述する。例えば、送信元機器CのVLAN−ID100および宛先機器BのVLAN−ID100に対応する項目が選択されているとする。すると、二次テーブル生成手段330は、機器接続テーブルを参照し、機器Cから機器Bまでの各経路において、VLAN−ID100で通信不可となる箇所があるか否かを判定する。図31に示す場合、機器Aと機器Cとの間でVLAN−ID100の通信が不可となっているので、選択した項目に通信不可を示す「×」を記述する。
また、検査対象となる送信元VLAN−IDと宛先VLAN−IDとが異なる場合(ステップY7のNo)、異なるVLAN間の通信となるため、自局のL2スイッチからL3スイッチまで送信元VLAN−IDが通信不可、またはL3スイッチから宛先機器まで宛先VLAN−IDが通信不可であれば、VLAN間ルーティング可否表枠460の項目に通信不可を示す「×」を記述し(ステップY9)、ステップY10に移行する。図32は、ステップY9の処理の例を示す説明図である。図32に例示するような機種テーブルが作成されていて、分析対象のネットワーク機器にスイッチ(図32に示す例では機器「A」)が存在しているものとする。さらに、選択中の項目における送信元の機器および宛先の機器が異なり、いずれもL3スイッチではなく、選択中の項目における送信元機器のVLAN−IDと宛先機器のVLAN−IDが異なるものとする。
なお、図32に示す機種テーブルおよび機器接続テーブルは、L2スイッチBとL3スイッチAとが接続され、L3スイッチAとL2スイッチCとが接続されていることを示す。そして、機器Cから機器Cに対して通信を行う場合には、機器B,A間では、VLAN−ID100で通信し、機器AでVLAN−ID100からVLAN−ID200にルーティングし、機器A,C間ではVLAN−ID200で通信を行う。
二次テーブル生成手段330は、自局のL2スイッチからL3スイッチまで送信元VLAN−IDが通信不可となるか否かと、L3スイッチから宛先機器まで宛先VLAN−IDが通信不可となるか否かを判定する。いずれかで通信不可と判定された場合には、送信元機器から宛先機器までの通信を行えないので、選択した項目に通信不可を示す「×」を記述する。例えば、送信元機器CのVLAN−ID200および宛先機器BのVLAN−ID100に対応する項目が選択されているとする。すると、二次テーブル生成手段330は、L3スイッチ(機器A)から宛先機器BまではVLAN−ID100で通信可能であるが、送信元機器CからL3スイッチ(機器A)まではVLAN−ID200で通信できないことを機器接続テーブルを参照して判定する。従って、選択した項目に通信不可を示す「×」を記述する。
また、例えば、図27に例示するネットワーク構成において、機器Cから機器Dまでの通信可否を判定する場合には、機器CからL3スイッチである機器Aまで通信可能か否か、および、機器Aから機器Dまで通信可能か否かを判定すればよい。また、図27に例示する機器Dから機器Cまでの通信可否を判定する場合には、機器DからL3スイッチである機器Bまで通信可能か否か、および、機器Bから機器Cまで通信可能か否かを判定すればよい。
ステップY10では、二次テーブル生成手段330は、VLAN間ルーティング可否表枠460の各項目について全て検査したか否かを判定する(ステップY10)。すなわち、VLAN間ルーティング可否表枠460の全ての項目についてステップB5以降の処理を行っているか否かを判定する。ステップY10の処理は、ステップX7と同様である。
VLAN間ルーティング可否表枠460の各項目について全て検査が完了していれば(ステップY10のYes)、二次テーブル生成手段330は、VLAN間ルーティング可否表枠460に記述した「×」以外の項目は全て通信可能であるため、「×」以外の項目に通信可を示す「○」を記述して(ステップY11)、VLAN間ルーティング可否表510の生成処理を終了する。これで、VLAN間ルーティング可否表510が完成する。二次テーブル生成手段330は、完成したVLAN間ルーティング可否表510を二次テーブル記憶装置130に記憶させる。
一方、VLAN間ルーティング可否表枠460の各項目のうち、まだ検査(ステップB5以降の処理)が完了していない項目があれば(ステップY10のNo)、ステップB5以降の処理がまだ行われていない項目を選択し(ステップY10’)、ステップB5に移行する。
以上の処理によって、VLAN間ルーティング可否表枠460の各項目に通信可を示す情報(例えば「○」)や通信不可を示す情報(例えば「×」)が追加され、VLAN間ルーティング可否表510が完成する。
ポート毎のVLAN接続可否表520の作成処理について説明する。図33は、二次テーブル生成手段330がポート毎のVLAN接続可否表520を作成する処理の例を示すフローチャートである。まず、二次テーブル生成手段330は、一次テーブル記憶装置320に記憶された接続ポートテーブル440を使って、ポート毎のVLAN接続可否表枠470に対し、各ネットワーク機器の接続ポートに所属しないVLAN−IDについて通信不可を示す情報(例えば「×」)を記述する(ステップC1)。すなわち、ステップC1において、二次テーブル生成手段330は、ポート毎のVLAN接続可否表枠470に記述された機器名および接続ポート毎に、ポート毎のVLAN接続可否表枠470に記述された個々のVLAN−IDが設定されているか否かを接続ポートテーブルを参照して判定する。そして、接続ポートテーブルを参照した結果、機器名および接続ポートの組み合わせに対して、VLAN−IDが設定されていなければ、二次テーブル生成手段330は、ポート毎のVLAN接続可否表枠470におけるその機器名、接続ポートとそのVLAN−IDとの組み合わせに対応させて、通信不可を示す「×」を記述する。
次に、二次テーブル生成手段330は、一次テーブル記憶装置320に記憶された接続ポートテーブル440を参照して、接続状態が不可である各ネットワーク機器の接続ポートについて通信不可を示す情報(例えば「×」)を記述する(ステップC2)。
図34は、ステップC1,C2の処理の例を示す説明図である。まず、二次テーブル生成手段330がステップC1で、通信不可を示す「×」を記述する例を説明する。図34に例示する接続ポートテーブルが作成されていたとする。例えば、二次テーブル生成手段330は、機器Aの接続ポート1/2に関してVLAN−ID100のみが設定されていることを接続ポートテーブルを参照して確認する。従って、二次テーブル生成手段330は、ポート毎のVLAN接続可否表枠の「A:1/2」に関しては、接続ポートテーブルで設定されていないVLAN−ID200に対応付けて通信不可を示す「×」を記述する。ここでは、機器Aの接続ポート1/2を例にして説明したが、ステップC1では、各機器の各接続ポート毎に同様の処理を行う。
次に、図34を参照して、二次テーブル生成手段330がステップC2で、通信不可を示す「×」を記述する例を説明する。図34に例示する接続ポートテーブルが作成されている場合、機器Aの接続ポート2/1に関してVLAN−200が設定されているので、ステップC1では、ポート毎のVLAN接続可否表枠の「A:2/1」およびVLAN−ID「200」に対応させて通信不可を示す「×」は記述されない。しかし、機器Aの接続ポート2/1の接続状態は不可(図34に示す接続ポートテーブル参照)であるので、二次テーブル生成手段330は、ステップC2において、「A:2/1」に対してVLAN−IDによらずに、通信不可を示す「×」を記述する。接続ポートテーブルにおいて、接続状態が不可となっている他の接続ポートに関しても同様の処理を行う。
以下の説明において、ポート毎のVLAN接続可否表枠において、ネットワーク機器の接続ポートおよびVLAN−IDの組み合わせに対応して、通信の可否を記述する箇所を項目と記す。
ステップC2の後、二次テーブル生成手段330は、ステップC1,C2で通信不可を示す「×」を記述した項目以外の項目に、通信可を示す情報(例えば「○」)を記述する(ステップC3)。
次に、二次テーブル生成手段330は、一次テーブル記憶装置320のIPフィルタリングテーブル450を参照して、各ネットワーク機器の接続ポートに設定されるIPフィルタリングルールがあるか否かを確認する(ステップC4)。
ネットワーク機器の接続ポートにIPフィルタリングルールが設定されていれば(ステップC4のYes)、二次テーブル生成手段330は、その接続ポートに設定されたIPフィルタリングルールのアクセス状態と、ポート毎のVLAN接続可否表枠470におけるその接続ポートの通信可否状態とが一致するか否かを確認する(ステップC5)。ステップC5において、IPフィルタリングルールのアクセス状態と、ポート毎のVLAN接続可否表枠470における接続ポートの通信可否状態とが一致するとは、IPフィルタリングルールにおいてアクセスの許可が記述され、接続ポートの各VLAN−IDに対応する項目に通信可を示す情報(「○」)が記述されていること、あるいは、IPフィルタリングルールにおいてアクセスの拒否が記述され、接続ポートの各VLAN−IDに対応する項目に通信不可を示す情報(「×」)が記述されていることを指す。
接続ポートに設定されたIPフィルタリングルールのアクセス状態と、ポート毎のVLAN接続可否表枠470におけるその接続ポートの通信可否状態とが一致していれば(ステップC5のYes)、IPフィルタリングルールによる通信の許可または拒否はポート毎のVLAN接続可否表枠470の接続ポートの通信可否に影響しないため、処理を終了する。
また、接続ポートに設定されたIPフィルタリングルールのアクセス状態と、ポート毎のVLAN接続可否表枠470におけるその接続ポートの通信可否状態とが異なれば、IPフィルタリングルールによる通信の許可または拒否が、ポート毎のVLAN接続可否表枠470の接続ポートの通信可否に影響する。従って、接続ポートに設定されたIPフィルタリングルールのアクセス状態と、ポート毎のVLAN接続可否表枠470におけるその接続ポートの通信可否状態とが異なる場合(ステップC5のNo)、二次テーブル生成手段330は、ポート毎のVLAN接続可否表枠470の接続ポートの通信可否を接続ポートに設定されたIPフィルタリングルールのアクセス状態に合わせて修正する(ステップC6)。すなわち、IPフィルタリングルールにおいてアクセス拒否と記述されていて、ポート毎のVLAN接続可否表枠470の接続ポートにおいて通信可(「○」)と記述されてるときには、二次テーブル生成手段330は、ポート毎のVLAN接続可否表枠470に記述された通信可(「○」)を通信不可(「×」)に修正する。IPフィルタリングルールにおいてアクセス許可と記述されていて、ポート毎のVLAN接続可否表枠470の接続ポートにおいて通信不可(「×」)と記述されているときには、ポート毎のVLAN接続可否表枠470に記述された通信不可(「×」)を通信可(「○」)に修正する。ただし、ステップC2において記述された通信不可(「×」)は、閉塞機能がオン状態になっていることに起因して記述されたものであるので、通信可(「○」)に修正しない。
図35は、ステップC5,C6の処理の具体例を示す説明図である。図35に例示するIPフィルタリングテーブルが生成されていて、機器Aの接続ポート1/1および機器Aの接続ポート1/2にそれぞれIPフィルタリングルールが設定されているとする。また、ポート毎のVLAN接続可否表枠では、機器Aの接続ポート1/1に関して、VLAN−ID100,200ともに通信可(「○」)と記述されていて、機器Aの接続ポート1/2に関して、VLAN−ID100では通信可(「○」)であるが、VLAN−ID200では通信不可(「×」)と記述されているものとする。二次テーブル生成手段330は、機器Aの接続ポート1/1に設定されたIPフィルタリングルールではアクセス許可とされているので、ポート毎のVLAN接続可否表枠における機器Aの接続ポート1/1の記述は変更しない。また、二次テーブル生成手段330は、機器Aの接続ポート1/2に設定されたIPフィルタリングルールアクセス拒否と記述されているので、ポート毎のVLAN接続可否表枠において、「機器Aの接続ポート1/2」および「VLAN−ID100」に対応する項目を通信可(「○」)から通信不可(「×」)に修正する。
また、どのネットワーク機器の接続ポートにもIPフィルタリングルールが設定されていなければ(ステップC4のNo)、IPフィルタリングルールによる各ネットワーク機器の接続ポートに対する通信可否に影響はないため、処理を終了する。以上の処理によって、ポート毎のVLAN接続可否表枠470の各項目に通信可を示す情報(例えば「○」)や通信不可を示す情報(例えば「×」)が追加され、ポート毎のVLAN接続可否表520が完成する。二次テーブル生成手段330は、完成したポート毎のVLAN接続可否表520を二次テーブル記憶装置130に記憶させる。
以上の説明では、一旦VLAN間ルーティング可否表枠460及びポート毎のVLAN接続可否表枠470を作成して、一次テーブル記憶装置320に記憶させてから、VLAN間ルーティング可否表510及びポート毎のVLAN接続可否表520を作成して二次テーブルに記憶させる場合を示した。二次テーブル生成手段330は、一次テーブル記憶装置320に記憶されるルーティングテーブル410、サブネットアドレステーブル420、機器接続テーブル430等を参照して、VLAN間ルーティング可否表510を、接続ポートテーブル440と、IPフィルタリングテーブル450を使って、ポート毎のVLAN接続可否表520をそれぞれ直接作成してもよい。この場合、一次テーブル生成手段310は、VLAN間ルーティング可否表枠460およびポート毎のVLAN接続可否表枠470を作成して一次テーブル記憶装置320に記憶させる必要はない。
次に、VLAN通信範囲分析手段140の動作について詳細に説明する。VLAN通信範囲分析手段140は、二次テーブル記憶装置130に記憶されるテーブルを参照して、VLANの通信可能な範囲を分析する。VLAN通信範囲分析手段140は出力手段240に分析結果を出力する。
図36は、VLAN通信範囲分析手段140がVLANの通信可能な範囲を分析する処理の例を示すフローチャートである。まず、VLAN通信範囲分析手段140には、ユーザによって、例えばキーボード等の入力デバイス(図示せず。)を介して、分析対象となるネットワーク機器の機器名とそのネットワーク機器に設定されるVLAN−IDが入力される(ステップD1)。なお、入力時に表示される入力画面は、例えば、VLAN通信範囲特定システムに搭載されるアプリケーションによって表示される。
次に、VLAN通信範囲分析手段140は、分析対象となるネットワーク機器の機器名とそのネットワーク機器に設定されるVLAN−ID(すなわち入力された機器名およびVLAN−ID)と、二次テーブル記憶装置130に記憶されるVLAN間ルーティング可否表510を使って、通信可能なVLANを検査する(ステップD2)。ステップD2において、VLAN通信範囲分析手段140は、分析対象となるネットワーク機器の機器名とそのネットワーク機器に設定されるVLAN−IDを送信元の機器名および送信元のVLAN−IDとして、VLAN間ルーティング可否表510を参照して、送信元のVLAN−IDから通信可能であることを示す情報(「○」)が記述されている宛先の機器名およびVLAN−IDを検出する。例えば、図20(a)に例示するVLANルーティング可否表510がされていたとする。そして、分析対象となるネットワーク機器名とそのネットワーク機器に設定されるVLAN−IDが「機器AのVLAN−ID100」であったとする。すなわち、入力された機器名が「A」であり、入力されたVLAN−IDが「100」であったとする。すると、VLAN通信範囲分析手段140は、図20(a)に例示するVLAN間ルーティング可否表510を参照して、送信元VLAN−ID(機器AのVLAN−ID100)から通信可能なVLANとして、機器AのVLAN−ID100、機器AのVLAN−ID200、機器BのVLAN−ID100、および機器CのVLAN−ID100を検出する。
ステップD2の後、VLAN通信範囲分析手段140は、ステップD2で得られた分析結果である通信可能なVLAN−ID(ステップD1で入力された機器のVLAN−IDから通信可能なVLAN−ID)と、二次テーブル記憶装置130に記憶されるポート毎のVLAN接続可否表520を使って、分析対象となるネットワーク機器名とそのネットワーク機器に設定されるVLAN−IDの通信範囲となるネットワーク機器の接続ポートを検査する(ステップD3)。VLAN通信範囲分析手段140は、ポート毎の接続可否表を参照して、ステップD2で得られた機器名およびVLAN−IDに対応付けられた項目のうち、通信可を示す情報(「○」)が記述された項目を特定する。そして、VLAN通信範囲分析手段140は、その項目に対応する機器名および接続ポートを、分析対象となるネットワーク機器名とそのネットワーク機器に設定されるVLAN−IDの通信範囲となる機器名および接続ポートとして検出する。このとき、1つのネットワーク機器の1つの接続ポートに所属するVLAN−IDのどれか1つでも通信可能であれば、そのネットワーク機器の接続ポートは通信可能であるとみなす。
例えば、図20(b)に例示するポート毎のVLAN接続可否表520が作成されていたとする。そして、ステップD3において、機器AのVLAN−ID100と通信可能なVLANとして、機器AのVLAN−ID100、機器AのVLAN−ID200、機器BのVLAN−ID100、および機器CのVLAN−ID100が検出されたとする。この場合、ステップD2で得られた機器名およびVLAN−IDに対応付けられた項目は、「機器AおよびVLAN−ID100」、「機器AおよびVLAN−ID200」、「機器BおよびVLAN−ID100」、「機器CおよびVLAN−ID100」に該当する項目である。VLAN通信範囲分析手段140は、これらの項目のうち、通信可を示す「○」が記述された接続ポートを、ポート毎のVLAN接続可否表520から検出する。よって、この例では、機器Aの接続ポート1/1、機器Bの接続ポート1/8、および機器Cの接続ポート1/8を検出する。この各接続ポート(機器Aの接続ポート1/1、機器Bの接続ポート1/8、および機器Cの接続ポート1/8)が、ステップD1で入力された機器AのVLAN−ID100の通信範囲となる。1つのネットワーク機器の1つの接続ポートに所属するVLAN−IDのどれか1つでも通信可能であれば、そのネットワーク機器の接続ポートは通信可能であるとみなすので、仮に、図20(b)において、機器Aの接続ポート1/1において、VLAN−ID200に対して通信不可(×)と記述されていたとしても、VLAN−ID100に対して通信可(○)が記述されていれば、機器Aの接続ポート1/1は通信範囲の接続ポートとして検出される。
最後に、VLAN通信範囲分析手段140は、分析対象となるネットワーク機器名とそのネットワーク機器に設定されるVLAN−IDの通信範囲となるネットワーク機器の接続ポートを分析結果として、出力手段240に出力する(ステップD4)。
図37は、VLAN通信範囲分析手段140による処理の処理経過の例を示す説明図である。VLAN通信範囲特定システムが備える二次テーブル記憶装置に、図37に例示するVLAN間ルーティング可否表およびポート毎のVLAN接続可否表が記憶されているものとする。また、ステップD1で、VLAN通信範囲特定システムに分析対象となるネットワーク機器の機器名およびVLAN−IDとして、「機器A、VLAN−ID100」が入力されたとする。すると、VLAN通信範囲分析手段140は、機器AのVLAN−ID100を送信元として、送信元機器AのVLAN−ID100から通信可能であることを示す「○」が記述されている宛先の機器名およびVLAN−IDを、VLAN間ルーティング可否表から検出する(ステップD2)。図37に例示する場合では、機器AのVLAN−ID100、機器AのVLAN−ID200、機器BのVLAN−ID100を検出する。次に、VLAN通信範囲分析手段140は、ポート毎の接続可否表を参照して、ステップD2で得られた機器名およびVLAN−IDに対応付けられた項目のうち、通信可を示す情報(「○」)が記述された項目を特定する。図37に例示するポート毎のVLAN接続可否表では、斜線で示した項目以外の項目が、ステップD2で得られた機器名およびVLAN−IDに対応付けられた項目に該当する。VLAN通信範囲分析手段140は、この斜線で示した項目以外の項目のうち、通信可を示す「○」が記述された項目を特定し、その項目に対応する機器名および接続ポートを分析対象の通信範囲の接続ポートとして検出する(ステップD3)。本例では、機器Aの1/1、機器Aの2/2、機器Bの1/1を検出する。1つのネットワーク機器の1つの接続ポートに所属するVLAN−IDのどれか1つでも通信可能であれば、そのネットワーク機器の接続ポートは通信可能であるとみなすので、機器Aの2/2に関しては、VLAN−ID100で「×」となっているが、VLAN−ID200で「○」となっているので、ステップD3で検出される。次のステップD4で、VLAN通信範囲分析手段140は、検出した各接続ポートを出力手段240に出力する。
図37では、入力された機器AのVLAN−ID100と同一のVLAN−IDで通信可能な接続ポートと、入力された機器AのVLAN−ID100と異なるVLAN−IDで通信可能な接続ポートとに分類して出力している場合を示している。VLAN通信範囲分析手段140は、ポート毎のVLAN接続可否表を参照して、ステップD3で検出した接続ポートに関して、入力されたVLAN−IDで通信可(「○」)となっていれば、その接続ポートは、入力された機器のVLAN−IDと同一のVLAN−IDで通信可能と判定すればよい。また、VLAN通信範囲分析手段140は、ポート毎のVLAN接続可否表を参照して、ステップD3で検出した接続ポートに関して、入力されたVLAN−ID以外のVLAN−IDで通信可(「○」)となっていれば、その接続ポートは、入力された機器のVLAN−IDと異なるVLAN−IDで通信可能と判定すればよい。また、VLAN通信範囲分析手段140は、ポート毎のVLAN接続可否表に記述された接続ポートのうち、入力された機器のVLAN−IDと同一のVLAN−IDで通信可能な接続ポートおよび入力された機器のVLAN−IDと異なるVLAN−IDで通信可能な接続ポート以外の接続ポートは、入力された機器のVLAN−IDと通信不可の接続ポートとして分類して出力してもよい。
出力手段240は、VLAN通信範囲分析手段140の分析結果を、例えば、ディスプレイ装置を使って出力(この場合、表示)する。ここで、分析結果の出力形式は、分析結果を本発明のシステム上に実装されるアプリケーションに従って表示してもよいし、分析結果をファイルとして出力してもよい。以下、出力手段240がディスプレイ装置であり、VLAN通信範囲分析手段140が、VLAN通信範囲特定システムに搭載されたプログラムに従って、分析結果を出力手段240に表示させる場合を例にして説明する。
図38は、VLAN通信範囲分析手段140の分析結果を出力手段240が出力する例を示す説明図である。図38は、出力手段240が分析結果を表示する画面の例を示している。VLAN通信範囲分析手段140は、出力手段240に、通信状態表示欄720と、コメント表示欄730とを含む分析結果表示画面700を表示させる。通信状態表示欄720は、各ネットワーク機器の接続ポートがユーザの指定したVLANの通信範囲であるか否かを視覚的に表示する表示欄である。ここで、各ネットワーク機器の接続ポートは、コンフィグファイルを使って接続ポートの数を知ることができ、分析対象となるネットワーク機器に応じて、接続ポート数を可変に表示できる。すなわち、図38では、機器A,B,Cの接続ポート数がいずれも8個である場合を示しているが、VLAN通信範囲分析手段140は、機種テーブルから各機器の接続ポートの数を読み取って、その接続ポート数に応じて、各機器毎に接続ポートを出力手段240に表示させればよい。
図38に示す例では、ユーザによって入力されたVLAN−IDと同一のVLAN−IDで通信可能な接続ポートを縦縞で表示している。また、ユーザによって入力されたVLAN−IDと異なるVLAN−IDで通信可能な接続ポートを斜線の縞模様で表示している。また、ユーザによって入力されたVLAN−IDと通信不可の接続ポートを黒色で表示している。なお、ここで示した各種接続ポートの表示態様は例示であり、他の表示態様で各種接続ポートを表示してもよい。例えば、ユーザによって入力されたVLAN−IDと同一のVLAN−IDで通信可能な接続ポート、ユーザによって入力されたVLAN−IDと異なるVLAN−IDで通信可能な接続ポート、ユーザによって入力されたVLAN−IDと通信不可の接続ポートを、それぞれ青色、黄色、赤色で表示するようにして、色によって接続ポートの状態の区別を表してもよい。
コメント表示欄730は、通信状態表示欄720に表示されるネットワーク機器の接続ポートのVLANに関連する設定情報を表示する表示欄である。コメント表示欄730によって、通信状態表示欄720のネットワーク機器の接続ポートの通信状態の詳細情報を表示することができる。例えば、通信不可の接続ポートがユーザによって選択された場合、VLAN通信範囲分析手段140が、「接続ポート1/1は、機器設定により論理的に閉塞されています」や「接続ポート1/1は、IPフィルタリングルールによって通信を拒否されています」等のような、通信不可となっている詳細な要因を出力手段240に表示させる。
以上のように動作する場合、VLAN通信範囲分析手段140が分析結果として分析結果の表示データを出力手段240に出力し、出力手段240に分析結果を表示させる。以上の説明では、出力手段240がディスプレイ装置であり、VLAN通信範囲分析手段140が出力手段240に分析結果表示画面700を表示させる場合を示した。出力装置240が、ディスプレイ装置を備えたコンピュータであり、アプリケーションに従ってディスプレイ装置に分析結果表示画面700を表示させてもよい。
図38に示すように、ユーザによって入力されたVLAN−IDと同一のVLAN−IDで通信可能な接続ポート、ユーザによって入力されたVLAN−IDと異なるVLAN−IDで通信可能な接続ポート、ユーザによって入力されたVLAN−IDと通信不可の接続ポートを区別して表現することで、ユーザによって指定(入力)されたVLANの通信範囲に各ネットワーク機器の接続ポートが含まれるか否かを容易に確認することができる。
次に、本発明の第1の実施の形態の効果について説明する。本発明の第1の実施の形態によれば、ネットワークのVLAN設定管理において、ネットワーク内に設定されるVLANの通信範囲を容易に確認することができる。その理由は、VLAN間ルーティング可否表510を使って、各ネットワーク機器に設定されるVLAN間の通信の可否を検査し、ポート毎のVLAN接続可否表520を使って、各ネットワーク機器の接続ポートが通信可能なVLANを検査し、これらの検査結果を組み合わせることで、任意のネットワーク機器のVLANに対する通信可能な範囲を特定できるからである。
また、本発明の第1の実施の形態によれば、VLANの通信範囲の分析の処理の高速化を行うことができる。その理由は、テーブル生成手段120を使って、あらかじめVLAN通信範囲分析用のテーブルを作成することで、VLAN通信範囲分析の際、余計な範囲の通信可否の検査を行うことがなく、必要な範囲の検査のみを実行することができるからである。これによって、大規模なスイッチネットワークを対象としたVLAN通信範囲分析であっても、短時間で検査を完了することができる。
実施の形態2.
図39は、本発明の第2の実施の形態において一次テーブル生成手段310が作成する一次テーブルの例を示す説明図である。なお、本発明の第2の実施の形態の構成は、第1の実施の形態と同様である。すなわち、第2の実施の形態の構成も図1のように表される。本発明の第2の実施の形態の構成は、第1の実施の形態と同様であるので説明を省略する。
第1の実施の形態では、コンフィグファイル内のIPフィルタリングルールでは、IPアドレスはサブネットアドレス、または全てのアドレス空間を指定する「any」として記述されるものとし、VLAN設定情報内のIPフィルタリングルールにおいても、IPアドレスはサブネットアドレス、または全てのアドレス空間を指定する「any」として記述されるものとした。一方、第2の実施の形態では、コンフィグファイル内のIPフィルタリングルールでは、IPアドレスはサブネットアドレスや全てのアドレス空間を指定する「any」だけでなく、単一のIPアドレスや、始点および終点を指定した複数のIPアドレスの集合(例えば「128.1.1.1−128.1.1.3」等)であってもよい。すなわち、IPフィルタリングルールにおける送信元IPアドレス、宛先IPアドレスは、サブネットアドレスや「any」だけでなく、単一のIPアドレスや、始点および終点を指定した複数のIPアドレスの集合で記述されていてもよい。従って、コンフィグファイルから抽出されたVLAN設定情報内のIPフィルタリングルールにおいても、IPアドレスは、単一のIPアドレスや始点および終点を指定した複数のIPアドレスの集合で記述されていてもよい。
本発明の第2の実施の形態では、一次テーブル生成手段310は、ルーティングテーブル410、サブネットアドレステーブル420、機器接続テーブル430、接続ポートテーブル440、IPフィルタリングテーブル450、VLAN間ルーティング可否表枠460、ポート毎のVLAN接続可否表枠470、および機種テーブル480の作成に加えて、局所的IPフィルタリングテーブル810とMACフィルタリングテーブル820の作成も行う。以下、局所的IPフィルタリングテーブル810とMACフィルタリングテーブル820について詳細に説明する。
局所的IPフィルタリングテーブル810は、各ネットワーク機器の接続ポートに設定される局所的なIPフィルタリングルールを示すテーブルである。ここで、局所的なIPフィルタリングルールとは、送信元IPアドレスまたは宛先IPアドレスにある特定のIPアドレスが指定される場合のルールを指す。具体的には、送信元IPアドレスまたは宛先IPアドレスにサブネットアドレスと「any」以外のIPアドレス(単一のIPアドレス、あるいは始点および終点を指定した複数のIPアドレスの集合)が指定されるIPフィルタリングルールである。
局所的IPフィルタリングテーブル810とIPフィルタリングテーブル450との違いは、IPフィルタリングテーブル450で示されるIPフィルタリングルールの送信元IPアドレス及び宛先IPアドレスがサブネットアドレスか、もしくは、全てのアドレス「any」であったのに対し、局所的IPフィルタリングテーブル810で示されるルールは、送信元IPアドレスまたは宛先IPアドレスに単一のIPアドレスまたは始点および終点を指定した複数のIPアドレスの集合が指定されることである。
局所的IPフィルタリングテーブル810は、分析対象となる各ネットワーク機器のVLAN設定情報を使って作成され、各ネットワーク機器の接続ポートに設定される局所的IPフィルタリングルール情報を持っている。局所的IPフィルタリングテーブル810によって、例えば、特定のIPアドレスを持つ端末だけに通信を許可したり、もしくは通信拒否したりするといったような例外的な通信可否に基づくVLAN通信範囲の特定をVLAN通信範囲分析手段140に行わせることができる。その結果、より正確なVLAN通信範囲の分析が可能となる。
例えば、図39の局所的IPフィルタリングテーブル810では、「機器名Aの接続ポート1/1に対して、送信元IPアドレスが192.168.1.1から宛先IPアドレスが192.168.1.2へのアクセスを拒否する」というように、単一のIPアドレスが指定され、このIPアドレスに関するアクセスのみを拒否するという局所的なフィルタリングが設定されている。ここで、送信元IPアドレスもしくは宛先IPアドレスが、サブネットアドレスを指定した複数のIPアドレス群であってもよい。また、全アドレス空間を示す「any」であってもよい。さらに、送信元IPアドレス及び宛先IPアドレスは、例えば、「128.1.1.1−128.1.1.3」というように、始点と終点を指定して複数のIPアドレスを指定してもよい。さらに、1つの接続ポートに対して、複数の局所的IPフィルタリングルールが設定されてもよい。
局所的IPフィルタリングテーブルでは、機器名および接続ポートに対応付けて、そのネットワーク機器の接続ポートに設定されるフィルタリングルールが記述される。フィルタリングルールとして、送信元IPアドレス、宛先IPアドレス及びアクセスの可否が記述される。従って、局所的フィルタリングテーブル810のデータ構造は、IPフィルタリングテーブル450のデータ構造と同様である。
一次テーブル生成手段310が、局所的IPフィルタリングテーブル810を作成する動作は、IPフィルタリングテーブル450を作成する動作(ステップS41,S42)と同様である。一次テーブル生成手段310は、ステップS41で抽出したコマンドに記述されているIPフィルタリングルールにおいて、送信元IPアドレスおよび宛先IPアドレスの少なくともいずれか一方が、サブネットアドレスでも「any」でもなければ、機器名、接続ポート、送信元IPアドレス、宛先IPアドレス、およびアクセスの可否を局所的IPフィルタリングテーブル810に記述すればよい。また、ステップS41で抽出したコマンドに記述されているIPフィルタリングルールにおいて、送信元IPアドレスおよび宛先IPアドレスが両方とも、サブネットアドレスまたは「any」であるならば、機器名、接続ポート、送信元IPアドレス、宛先IPアドレス、およびアクセスの可否をIPフィルタリングテーブル450に記述すればよい。このように、局所的IPフィルタリングテーブル810を作成する動作は、IPフィルタリングテーブル450を作成する動作と同様である。
局所的IPフィルタリングテーブル810は一次テーブルであり、一次テーブル生成手段310は、作成した局所的IPフィルタリングテーブル810を一次テーブル記憶装置320に記憶させる。
また、局所的IPフィルタリングテーブル810のデータ構造は、IPフィルタリングテーブル450のデータ構造と同様であるので、局所的IPフィルタリングテーブル810をIPフィルタリングテーブル450に含めてもよい。
MACフィルタリングテーブル820は、各ネットワーク機器の接続ポートに設定されるMACフィルタリングルールを示すテーブルである。ここで、MACフィルタリングとは、IPフィルタリングと同様、あらかじめ決められたルールに従ってデータを通過または遮断する機能である。IPフィルタリングが送信元IPアドレス及び宛先IPアドレスを指定するのに対し、MACフィルタリングでは、送信元MACアドレス及び宛先MACアドレスを指定する。MACフィルタリングテーブル820は、分析対象となる各ネットワーク機器のVLAN設定情報を使って作成され、各ネットワーク機器の接続ポートに設定されるMACフィルタリングルール情報を持っている。MACフィルタリングテーブル820によって、例えば、特定のMACアドレスを持つ端末だけに通信を許可したり、もしくは拒否したりするといったような例外的な通信可否に基づくVLAN通信範囲の特定をVLAN通信範囲分析手段140に行わせることができる。その結果、より正確なVLAN通信範囲の分析が可能となる。
例えば、図39のMACフィルタリングテーブル820では、「機器名Aの接続ポート1/3に対して、送信元MACアドレスが00:00:4c:00:11:00から宛先MACアドレスがanyへのアクセスを許可する」といったように、各ネットワーク機器の接続ポート毎に送信元MACアドレス、宛先MACアドレス及びアクセスが明記される。ここで、送信元MACアドレス及び宛先MACアドレスにおいて、全てのMACアドレスを指定する場合には、「any」という記述方法を用いてもよい。また、送信元MACアドレス及び宛先MACアドレスは、複数のMACアドレスを指定してもよい。また、1つの接続ポートに対して、複数のMACフィルタリングルールが設定されてもよい。
MACフィルタリングテーブルでは、機器名および接続ポートに対応付けて、そのネットワーク機器の接続ポートに設定されるフィルタリングルールが記述される。MACフィルタリングテーブルでは、フィルタリングルールとして、送信元MACアドレス、宛先MACアドレス及びアクセスの可否が記述される。
一次テーブル生成手段310がMACフィルタリングテーブルを作成する動作は、VLAN設定情報集合210から各ネットワーク機器の接続ポートに設定されるMACフィルタリングのコマンドを抽出する点以外は、IPフィルタリングテーブル450を作成する動作と同様である。すなわち、一次テーブル生成手段310は、以下のようにMACフィルタリングテーブルを作成する。まず、一次テーブル生成手段310は、VLAN設定情報集合210から各ネットワーク機器の接続ポートに設定されるMACフィルタリングのコマンドを抽出する。例えば、このコマンドも、所定の文字列とともに所定の記述形式で記述されているので、一次テーブル生成手段310は、そのようなコマンドを抽出すればよい。例えば、図3に示す“set filter profile 2 permit dest-mac 00:11:22:33:44:55:66”等のようなMACフィルタリングルールを登録するコマンドを抽出する。
次に、一次テーブル生成手段310は、抽出したMACフィルタリングルールが設定される接続ポートをVLAN設定情報集合210から抽出し、MACフィルタリングテーブル820に記述する。例えば、図3に例示するコマンド“set filter out-port fe 5/1 20 2”における最後の「2」は、上記の“set filter profile 2 permit dest-mac 00:11:22:33:44:55:66”において、「permit」の直前に記述されたフィルタリングに関するコマンドの番号を示している。従って、この2つのコマンドが対応していて、“set filter out-port fe 5/1 20 2”というコマンドには、“set filter profile 2 permit dest-mac 00:11:22:33:44:55:66”に記述されたMACフィルタリングルールが設定される接続ポート(本例では5/1)が記述されている。一次テーブル生成手段310は、この接続ポートと、MACフィルタリングルールとを対応させて、MACフィルタリングテーブル820に記述する。一次テーブル生成手段310は、MACフィルタリングルールを、送信元MACアドレス、宛先MACアドレス、アクセスの可否(許可または不許可)に分解して、MACフィルタリングテーブル820に記述する。
次に本発明の第2の実施の形態の動作について詳細に説明する。本実施の形態では、上述のように、一次テーブル生成手段310が、局所的IPフィルタリングテーブル810およびMACフィルタリングテーブル820を作成するが第1の実施の形態と異なる。この動作については既に説明したので省略する。
また、本実施の形態では、二次テーブル生成手段330が、接続ポートテーブル440、IPフィルタリングテーブル450、ポート毎のVLAN接続可否表枠470、局所的IPフィルタリングテーブル810、MACフィルタリングテーブル820等を参照して、ポート毎のVLAN接続可否表520を生成する動作が第1の実施の形態と異なる。また、VLAN通信範囲分析手段140の動作が第1の実施の形態と異なる。VLAN間ルーティング可否表510の作成等の他の動作に関しては第1の実施の形態と同様であるので説明を省略する。
図40は、本発明の第2の実施の形態における二次テーブル生成手段330がポート毎のVLAN接続可否表520を作成する処理の例を示すフローチャートである。まず、二次テーブル生成手段330は、二次テーブル生成手段330は、一次テーブル記憶装置320に記憶された接続ポートテーブル440を使って、ポート毎のVLAN接続可否表枠470に対し、各ネットワーク機器の接続ポートに所属しないVLAN−IDについて通信不可を示す情報(例えば「×」)を記述する(ステップC1)。次に、二次テーブル生成手段330は、一次テーブル記憶装置320に記憶された接続ポートテーブル440を参照して、接続状態が不可である各ネットワーク機器の接続ポートについて通信不可を示す情報(例えば「×」)を記述する(ステップC2)。ステップC2の後、二次テーブル生成手段330は、ステップC1,C2で通信不可を示す「×」を記述した項目以外の項目に、通信可を示す情報(例えば「○」)を記述する(ステップC3)。次に、二次テーブル生成手段330は、一次テーブル記憶装置320のIPフィルタリングテーブル450および局所的IPフィルタリングテーブル810を参照して、各ネットワーク機器の接続ポートに設定されるIPフィルタリングルール(局所的なIPフィルタリングルールも含む。)があるか否かを確認する(ステップC4)。ステップC1〜C4の動作は、第1の実施の形態で説明したステップC1〜C4の動作と同様である。ただし、本実施の形態のステップC4では、二次テーブル生成手段330は、局所的IPフィルタリングテーブル810を参照して、各ネットワーク機器の接続ポートに設定されるIPフィルタリングルールの有無だけでなく、局所的なIPフィルタリングルールの有無も確認する。
どのネットワーク機器の接続ポートにもIPフィルタリングルール(局所的なIPフィルタリングルールも含む。)が設定されていなければ(ステップC4のNo)、ステップE2に移行する。
ネットワーク機器の接続ポートにIPフィルタリングルール(局所的なIPフィルタリングルールも含む。)が設定されていれば(ステップC4のYes)、二次テーブル生成手段330は、その接続ポートに設定されたIPフィルタリングルールのアクセス状態と、ポート毎のVLAN接続可否表枠470におけるその接続ポートの通信可否状態とが一致するか否かを確認する(ステップC5)。IPフィルタリングルールのアクセス状態と、ポート毎のVLAN接続可否表枠470における接続ポートの通信可否状態とが一致するとは、第1の実施の形態で説明した通りである。ただし、第2の実施の形態におけるステップC5では、ネットワーク機器の接続ポートに設定される局所的なIPフィルタリングルールが存在する場合には、そのIPフィルタリングルールのアクセス状態によらず、後述のステップE1に移行する。
接続ポートに設定されたIPフィルタリングルールのアクセス状態と、ポート毎のVLAN接続可否表枠470におけるその接続ポートの通信可否状態とが一致していれば(ステップC5のYes)、IPフィルタリングルールによるVLAN通信の可否に影響はしないため、ステップE1の処理を行わずにステップE2に移行する。
接続ポートに設定されたIPフィルタリングルールのアクセス状態と、ポート毎のVLAN接続可否表枠470におけるその接続ポートの通信可否状態とが異なれば(ステップC5のNo)、二次テーブル生成手段330は、二次テーブル生成手段330は、ポート毎のVLAN接続可否表枠470の接続ポートの通信可否を接続ポートに設定されたIPフィルタリングルールのアクセス状態に合わせて修正する(ステップE1)。この動作は、第1の実施の形態で説明したステップC6の動作と同様である。ただし、ステップC2において記述された通信不可(「×」)は、閉塞機能がオン状態になっていることに起因して記述されたものであるので、通信可(「○」)に修正しない。また、ステップE1では、ネットワーク機器の接続ポートに設定されるIPフィルタリングルールが局所的なIPフィルタリングルールである場合、二次テーブル生成手段330は、その接続ポートに対応する項目を、ある特定の端末のみに関して通信を許可または通信を拒否することを示す情報(「△」とする。)に修正する。ここでは、ある特定の端末のみに関して通信を許可または通信を拒否することを示す情報を「△」としたが、他の文字列で表してもよい。この「△」は、IPフィルタリングルール及びMACフィルタリングルールよる例外的な通信の可否を表している。これによって、ネットワーク機器の接続ポートに対する例外的な通信の可否の判断をすることが可能となる。また、ステップC2において記述された通信不可(「×」)は、閉塞機能がオン状態になっていることに起因して記述されたものであるので、「△」に修正しない。
ステップE1の後、ステップE2に移行する。
ステップE2では、二次テーブル生成手段330は、MACフィルタリングテーブル820を参照して、各ネットワーク機器の接続ポートに設定されるMACフィルタリングルールがあるか否かを確認する(ステップE2)。
ネットワーク機器の接続ポートにMACフィルタリングルールが設定されていれば(ステップE2のYes)、二次テーブル生成手段330は、その接続ポートに設定されたMACフィルタリングルールのアクセス状態と、ポート毎のVLAN接続可否表枠470における接続ポートの通信可否状態とが一致するか否かを確認する(ステップE3)。ステップE3において、MACフィルタリングルールのアクセス状態と、ポート毎のVLAN接続可否表枠470における接続ポートの通信可否状態とが一致するとは、MACフィルタリングルールにおいてアクセスの許可が記述され、接続ポートの各VLAN−IDに対応する項目に通信可を示す情報(「○」)が記述されていること、あるいは、MACフィルタリングルールにおいてアクセスの拒否が記述され、接続ポートの各VLAN−IDに対応する項目に通信不可を示す情報(「×」)が記述されていることを指す。
接続ポートに設定されたMACフィルタリングルールのアクセス状態と、ポート毎のVLAN接続可否表枠470におけるその接続ポートの通信可否状態とが一致していれば(ステップE3のYes)、MACフィルタリングルールによる通信の許可または拒否はポート毎のVLAN接続可否表枠470の接続ポートの通信可否に影響しないため、処理を終了する。
また、接続ポートに設定されたMACフィルタリングルールのアクセス状態と、ポート毎のVLAN接続可否表枠470におけるその接続ポートの通信可否状態とが異なれば(ステップE3のNo)、ステップE4に移行する。ステップE4では、二次テーブル生成手段330は、MACフィルタリングルールにおける送信元MACアドレスまたは宛先MACアドレスが全てのMACアドレス空間を示す「any」である場合は、そのMACフィルタリングルールが設定される各ネットワーク機器の接続ポートの通信可否を、接続ポートに設定されたMACフィルタリングルールのアクセス状態に合わせて修正する(ステップE4)。すなわち、送信元および宛先が「any」であるMACフィルタリングルールにおいてアクセス拒否と記述されていて、ポート毎のVLAN接続可否表枠470の接続ポートにおいて通信可(「○」)と記述されているときには、二次テーブル生成手段330は、ポート毎のVLAN接続可否表枠470に記述された通信可(「○」)を通信不可(「×」)に修正する。送信元および宛先が「any」であるMACフィルタリングルールにおいてアクセス許可と記述されていて、ポート毎のVLAN接続可否表枠470の接続ポートにおいて通信不可(「×」)と記述されているときには、ポート毎のVLAN接続可否表枠470に記述された通信不可(「×」)を通信可(「○」)に修正する。また、ステップE4では、MACフィルタリングルールにおける送信元あるいは宛先のMACアドレスが「any」ではない特定のアドレスである場合には、二次テーブル生成手段330は、そのMACフィルタリングルールが設定された接続ポートに対応する項目を、ある特定の端末のみに関して通信を許可または通信を拒否することを示す情報(「△」とする。)に修正する。以上で、ポート毎のVLAN接続可否表520が完成する。
また、どのネットワーク機器の接続ポートにもMACフィルタリングルールが設定されていなければ(ステップE2のNo)、MACフィルタリングルールによる各ネットワーク機器の接続ポートに対する通信可否に影響はないため、処理を終了する。
以上の処理によって、第2の実施の形態におけるポート毎のVLAN接続可否表520が完成する。二次テーブル生成手段330は、完成したポート毎のVLAN接続可否表520を二次テーブル記憶装置130に記憶させる。
図41は、ステップE4の処理の具体例を示す説明図である。ステップC4に移行する前のポート毎のVLAN接続可否表枠が、図41の左上に例示する状態であったとする。また、図41に例示するMACフィルタリングテーブルが作成されていたとする。この場合、機器Aの接続ポート2/2および機器Bの接続ポート1/1にMACフィルタリングルールが設定されているので、ステップE2からステップE3に移行する。ポート毎のVLAN接続可否表枠において、機器Aの接続ポート2/2に対応する項目および機器Bの接続ポート1/1に対応する項目には、「○」と「×」が両方とも存在するので、ステップE4に移行する。図41に例示するMACフィルタリングテーブルに記述されたMACフィルタリングルールは、いずれも送信元MACアドレスが「any」ではない。よって、ステップC4において、二次テーブル生成手段330は、機器Aの接続ポート2/2に対応する項目や、機器Bの接続ポート1/1に対応する項目を「△」に修正する。
図42は、本発明の第2の実施の形態におけるVLAN通信範囲分析手段140がVLANの通信可能な範囲を分析する処理の例を示すフローチャートである。なお、以下の説明におけるポート毎のVLAN接続可否表520は、局所的なIPフィルタリングルールとMACフィルタリングルールを考慮して作成されたものである。すなわち、以下の説明におけるポート毎のVLAN接続可否表520は、図40に示すフローチャートに従って作成されたものである。
まず、VLAN通信範囲分析手段140には、ユーザによって、例えばキーボード等の入力デバイス(図示せず。)を介して、分析対象となるネットワーク機器の機器名とそのネットワーク機器に設定されるVLAN−IDが入力される(ステップD1)。次に、VLAN通信範囲分析手段140は、分析対象となるネットワーク機器の機器名とそのネットワーク機器に設定されるVLAN−ID(すなわち入力された機器名およびVLAN−ID)と、二次テーブル記憶装置130に記憶されるVLAN間ルーティング可否表510を使って、通信可能なVLANを検査する(ステップD2)。ステップD1,D2の処理は、第1の実施の形態で説明したステップD1,D2(図36参照。)と同様である。
ステップD2の後、VLAN通信範囲分析手段140は、ステップD2で得られた分析結果である通信可能なVLAN−ID(ステップD1で入力された機器のVLAN−IDから通信可能なVLAN−ID)と、二次テーブル記憶装置130に記憶されるポート毎のVLAN接続可否表520を使って、分析対象となるネットワーク機器名とそのネットワーク機器に設定されるVLAN−IDの通信範囲となるネットワーク機器の接続ポートを検査する(ステップF1)。VLAN通信範囲分析手段140は、ポート毎の接続可否表を参照して、ステップD2で得られた機器名およびVLAN−IDに対応付けられた項目のうち、通信可を示す情報(「○」)または、ある特定の端末のみに関して通信を許可または通信を拒否することを示す情報(「△」)が記述された項目を特定する。そして、VLAN通信範囲分析手段140は、その項目に対応する機器名および接続ポートを、分析対象となるネットワーク機器名とそのネットワーク機器に設定されるVLAN−IDの通信範囲となる機器名および接続ポートとして検出する。このとき、1つのネットワーク機器の1つの接続ポートに所属するVLAN−IDのどれか1つでも通信可能であれば、そのネットワーク機器の接続ポートは通信可能であるとみなす。ただし、「△」に対応する接続ポートは、局所的なIPフィルタリングルールやMACフィルタリングルールによって、例外設定がなされている接続ポートである。
次に、VLAN通信範囲分析手段140は、二次テーブル記憶装置130のポート毎のVLAN接続可否表520を使って、表内に局所的に通信可能もしくは通信不可の接続ポートがあるか否かを確認する(ステップF2)。すなわち、VLAN通信範囲分析手段140は、ポート毎のVLAN接続可否表520において、ステップD2で得られた機器名およびVLAN−IDに対応付けられた項目のうち、「△」が記述された項目があるか否かを判定する。
ポート毎のVLAN接続可否表520に局所的な通信可否がある場合(すなわち、ステップD2で得られた機器名およびVLAN−IDに対応付けられた項目のうち「△」が記述された項目がある場合。ステップF2のYes)、VLAN通信範囲分析手段140は、その「△」を記述する起因となった局所的なIPフィルタリングルールまたはMACフィルタリングルールを特定する(ステップF3)。すなわち、ステップE1,E4で「△」を記述する起因となったIPフィルタリングルールやMACフィルタリングルールを特定する。
ステップF3の後、または、ポート毎のVLAN接続可否表520に局所的な通信可否がない場合(すなわち、ステップD2で得られた機器名およびVLAN−IDに対応付けられた項目のうち「△」が記述された項目がない場合。ステップF2のNo)、ステップF4に移行する。
ステップF4では、VLAN通信範囲分析手段140は、ステップF1で得られた通信可能な接続ポートを出力結果として、出力手段240に出力する。このとき、ステップF3からステップF4に移行した場合には、「△」が記述された項目に対応する接続ポートとともに、その「△」の記述の起因となったフィルタリングルールを、出力手段240に出力する。
出力手段240は、VLAN通信範囲分析手段140の分析結果を、例えば、ディスプレイ装置を使って出力する。例えば図38に例示する画面を表示すればよい。第1の実施の形態の出力手段240によって出力される出力結果に加えて、局所的な通信の可否を出力する。局所的な通信の可否の出力は、例えば、機器Aの1/1が通信可能な接続ポートであった場合に、この結果に加えて、「機器名Aの接続ポート1/1は、通信を許可する。ただし、送信元IPアドレスが192.168.1.1で宛先IPアドレスが192.168.1.2のアクセスは、例外的に通信を拒否する」といったように、ユーザが理解しやすいような文章として出力してもよいし、局所的IPフィルタリングルールテーブル810の当該ルールや、MACフィルタリングテーブルのMACフィルタリングルールをそのまま出力してもよい。また、分析結果の出力形式は、分析結果を本発明のシステム上に実装されるアプリケーション内に表示してもよいし、分析結果をファイルとして出力してもよい。
図43は、VLAN通信範囲分析手段140による処理経過の例を示す説明図である。VLAN通信範囲特定システムが備える二次テーブル記憶装置に、図43に例示するVLAN間ルーティング可否表およびポート毎のVLAN接続可否表が記憶されているものとする。また、ステップD1で、VLAN通信範囲特定システムに分析対象となるネットワーク機器の機器名およびVLAN−IDとして、「機器A、VLAN−ID100」が入力されたとする。すると、VLAN通信範囲分析手段140は、機器AのVLAN−ID100を送信元として、送信元機器AのVLAN−ID100から通信可能であることを示す「○」が記述されている宛先の機器名およびVLAN−IDを、VLAN間ルーティング可否表から検出する(ステップD2)。図43に例示する場合では、機器AのVLAN−ID100、機器AのVLAN−ID200、機器BのVLAN−ID100を検出する。次に、VLAN通信範囲分析手段140は、ポート毎の接続可否表を参照して、ステップD2で得られた機器名およびVLAN−IDに対応付けられた項目のうち、「○」または「△」が記述された項目を特定する。図43に例示するポート毎のVLAN接続可否表では、斜線で示した項目以外の項目が、ステップD2で得られた機器名およびVLAN−IDに対応付けられた項目に該当する。VLAN通信範囲分析手段140は、この斜線で示した項目以外の項目のうち、「○」または「△」が記述された項目を特定し、その項目に対応する機器名および接続ポートを分析対象の通信範囲の接続ポートとして検出する(ステップF1)。「△」に対応する接続ポートは、局所的なIPフィルタリングルールやMACフィルタリングルールによって、例外設定がなされている接続ポートである。また、ステップF1では、1つのネットワーク機器の1つの接続ポートに所属するVLAN−IDのどれか1つでも通信可能であれば、そのネットワーク機器の接続ポートは通信可能であるとみなす。その結果、VLAN通信範囲分析手段140は、機器Aの1/1、機器Aの2/2、機器Bの1/1を検出する。さらに、VLAN通信範囲分析手段140は、局所的に例外設定がなされている通信範囲として、機器Aの1/2を検出する。
ステップF2では、機器Aの1/2に対応する項目に「△」が記述されているので、ステップF2からステップF4に移行する。そして、その「△」の記述の起因となったフィルタリングルールを特定する。次の、次のステップD4で、VLAN通信範囲分析手段140は、検出した各接続ポートを出力手段240に出力する。「△」の記述に対応していない接続ポートは、図37で説明した場合と同様に出力すればよい。また、「△」の記述に対応している機器Aの1/2に関しては、例えば、「A/1/2は、送信元IPが20.20.20.20で、宛先IPが10.10.10.10のアクセスを拒否する。」等の設定(フィルタリングルール)とともに出力する。
次に、本発明の第2の実施の形態の効果について説明する。本発明の第2の実施の形態によれば、ネットワークのVLAN設定管理において、VLANの通信範囲の局所的、例外的に通信を許可もしくは拒否する内容が確認できることで、より正確なVLANの通信範囲を確認することができる。その理由は、局所的IPフィルタリングテーブル810とMACフィルタリングテーブル820を使った局所的なVLAN通信可否を検査できるポート毎のVLAN接続可否表520を使って、各ネットワーク機器の接続ポートが通信可能なVLANを検査することで、任意のネットワーク機器のVLANに対する局所的な通信可能な範囲を特定できるからである。
実施の形態3.
図44は、本発明の第3の実施の形態の構成例を示すブロック図である。第1の実施の形態と同様の構成要素については、図1と同一の符号を付して説明を省略する。第3の実施の形態によるVLAN通信範囲特定システム100は、第1の実施の形態におけるVLAN通信範囲分析手段140の代わりに、接続ポート通信範囲分析手段910を備える。他の構成要素については第1の実施の形態と同様である。
接続ポート通信範囲分析手段910は、例えば、プログラムに従って動作するCPUによって実現される。一次テーブル生成手段310、二次テーブル生成手段330、および接続ポート通信範囲分析手段910が同一のCPUによって実現されていてもよい。
接続ポート通信範囲分析手段910は、二次テーブル記憶装置130に記憶されるVLAN間ルーティング可否表510と、ポート毎のVLAN接続可否表520を使って、指定されたネットワーク機器の接続ポートとVLAN通信が可能なネットワーク機器の接続ポートを検査し、検査結果を出力手段240に出力する。
第1の実施の形態におけるVLAN通信範囲分析手段140は、ネットワーク機器の特定のVLAN−IDを指定され、そのVLANの通信範囲を検査する。それに対して、第3の実施の形態における接続ポート通信範囲分析手段910は、ネットワーク機器の特定の接続ポートを指定され、その接続ポートが通信できるネットワーク機器の接続ポートを検査する。接続ポート通信範囲分析手段910は、指定された接続ポートと通信できるネットワーク機器の接続ポートの検査結果を出力手段240に出力する。
次に、第3の実施の形態の動作について説明する。
一次テーブル生成手段310は、第1の実施の形態と同様に各一次テーブルを作成し、各一次テーブルを一次テーブル記憶手段320に記憶させる。二次テーブル生成手段330は、第1の実施の形態と同様に各二次テーブル(VLAN間ルーティング可否表510、ポート毎のVLAN接続可否表520)を作成し、二次テーブル記憶手段130に記憶させる。
接続ポート通信範囲分析手段910の動作について詳細に説明する。図45は、第3の実施の形態における接続ポート通信範囲分析手段910がVLANの通信可能な接続ポートを分析する処理の例を示すフローチャートである。まず、接続ポート通信範囲分析手段910には、ユーザによって、例えばキーボード等の入力デバイス(図示せず。)を介して、ネットワーク機器名と接続ポートを示す情報が入力される(ステップG1)。すなわち、ステップG1では、ユーザによって機器名および接続ポートが指定される。ステップG1では、接続ポート通信範囲分析手段910に、例えば機器名として「B」、接続ポートを示す情報として「1/1」が入力される。この例の場合、機器名「B」の接続ポート「1/1」が指定されたことになる。
次に、接続ポート通信範囲分析手段910は、二次テーブル記憶装置130に記憶されるポート毎のVLAN接続可否表520を使って、ステップG1で指定されたネットワーク機器の接続ポート(入力された機器名および接続ポートの情報が示す接続ポート)が通信可能なVLAN−IDを検査する(ステップG2)。ステップG2では、接続ポート通信範囲分析手段910は、ポート毎のVLAN接続可否表520を参照して、入力された機器名および接続ポートの情報が示す接続ポートに対応する項目のうち、通信可(「○」)となっている項目を検出し、その項目に対応するVLAN−IDを検出する。
続いて、接続ポート通信範囲分析手段910は、ステップG2のVLAN−IDの検出結果から、指定されたネットワーク機器の接続ポートが1つ以上のVLAN−IDで通信可能か否かを判定する(ステップG3)。すなわち、接続ポート通信範囲分析手段910は、ステップG2で検出したVLAN−IDが1つ以上あったか否かを判定する。ステップG2で1つ以上のVLAN−IDを検出していれば、指定されたネットワーク機器の接続ポートが1つ以上のVLAN−IDで通信可能であることになる。また、ステップG2でVLAN−IDが1つも検出されなければ、指定されたネットワーク機器の接続ポートが通信可能なVLAN−IDが存在しないことになる。
ステップG1でユーザに指定されたネットワーク機器の接続ポートが通信可能なVLAN−IDが存在しない場合(ステップG3のNo)、接続ポート通信範囲分析手段910は、指定された接続ポートが他のネットワーク機器のどの接続ポートとも通信不可であるため、接続ポート通信範囲分析手段910は、指定されたネットワーク機器の接続ポートがどのVLANとも通信不能であることを出力し(ステップG4)、処理を終了する。例えば、出力手段240がディスプレイ装置である場合、接続ポート通信範囲分析手段910は、指定されたネットワーク機器の接続ポートがどのVLANとも通信不能であることを出力手段240に表示させる。また、例えば、出力手段240がディスプレイ装置を備えたコンピュータである場合、接続ポート通信範囲分析手段910は、指定されたネットワーク機器の接続ポートがどのVLANとも通信不能である旨をそのコンピュータに送信し、そのコンピュータは受信した情報をディスプレイ装置に表示させる。
ステップG1でユーザに指定されたネットワーク機器の接続ポートが1つ以上のVLAN−IDで通信可能であれば(ステップG3のYes)、接続ポート通信範囲分析手段910は、二次テーブル記憶装置130に記憶されるVLAN間ルーティング可否表510を使って、ユーザに指定されたネットワーク機器の接続ポートが通信可能なVLAN−IDが他のネットワーク機器のどのVLANと通信可能であるかを確認する(ステップG5)。具体的には、接続ポート通信範囲分析手段910は、ステップG1で入力された機器名を送信元機器名としステップG2で検出したVLAN−IDを送信元のVLAN−IDとして、VLAN間ルーティング可否表510を参照し、送信元のVLAN−IDから通信可能であることを示す情報(「○」)が記述されている宛先の機器名およびVLAN−IDを検出する。
ステップG5の後、接続ポート通信範囲分析手段910は、ポート毎のVLAN接続可否表520の各項目のうち、ステップG5で検出した機器名およびVLAN−IDに対応する項目を参照し、通信可(「○」)が記述された項目に対応する機器名および接続ポートをポート毎のVLAN接続可否表520から抽出する(ステップG6)。その機器名が示すネットワーク機器の接続ポート(ステップG6で抽出されたネットワーク機器の接続ポート)が、ステップG1で指定されたネットワーク機器の接続ポートの通信可能な範囲となる。
続いて、接続ポート通信範囲分析手段910は、その機器名および接続ポートを出力手段240に出力する(ステップG7)。例えば、出力手段240がディスプレイ装置である場合、接続ポート通信範囲分析手段910は、ステップG6で抽出した機器名および接続ポートを出力手段240に表示させる。また、例えば、出力手段240がディスプレイ装置を備えたコンピュータである場合、接続ポート通信範囲分析手段910は、ステップG6で抽出した機器名および接続ポートをそのコンピュータに送信し、そのコンピュータは、受信した機器名および接続ポートをディスプレイ装置に表示させる。
図46は、第3の実施の形態における接続ポート通信範囲分析手段910の処理経過の例を示す説明図である。VLAN通信範囲特定システムが備える二次テーブル記憶装置に、図46に例示するVLAN間ルーティング可否表およびポート毎のVLAN接続可否表が記憶されているものとする。また、ステップG1において、機器名として「B」が入力され、接続ポートを示す情報として「1/2」が入力されたとする。すなわち、機器Bの接続ポート1/2が指定されたとする。
次のステップG2では、接続ポート通信範囲分析手段910は、ポート毎のVLAN接続可否表520を参照して、入力された機器名「B」および接続ポート「1/2」に対応する項目のうち、通信可(「○」)が記述された項目を検出し、その項目に対応するVLAN−IDを検出する。本例では、「B:1/2」に対応する項目で「○」が記述された項目のVLAN−IDは200であるので、「B:1/2」が通信可能なVLAN−IDとして「200」を検出する。
このステップG2の処理でVLAN−IDが検出されなければ(ステップG3のNo)、ステップG4に移行して、指定された接続ポート(機器Bの接続ポート1/2)が他のネットワーク機器のどの接続ポートとも通信不可である旨を出力する。本例では、ステップG2でVLAN−ID200が検出されているので(ステップG3のYes)、ステップG5に移行する。ステップG5では、接続ポート通信範囲分析手段910は、VLAN間ルーティング可否表510を使って、ユーザに指定されたネットワーク機器の接続ポートが通信可能なVLAN−IDが他のネットワーク機器のどのVLANと通信可能であるかを確認する。本例では、機器Bの接続ポート1/2のVLAN−ID200が通信可能なネットワーク機器のVLAN−IDを検出する。すなわち、機器BのVLAN−ID200を送信元のVLAN−IDとして、VLAN間ルーティング可否表510を参照し、送信元(機器BのVLAN−ID200)から通信可能であることを示す「○」が記述されている宛先の機器名およびVLAN−IDを検出する。図46に示す例では、「機器AのVLAN−ID200」と「機器BのVLAN−ID200」とを検出する。
次のステップG6で、接続ポート通信範囲分析手段910は、ポート毎のVLAN接続可否表520の各項目のうち、ステップG5で検出した機器名およびポート毎のVLAN接続可否表520の各項目のうち、ステップG5で検出した機器名およびVLAN−IDに対応する項目を参照し、通信可(「○」)が記述された項目に対応する機器名および接続ポートをポート毎のVLAN接続可否表520から抽出する。本例では、ステップG5において、「機器AのVLAN−ID200」および「機器BのVLAN−ID200」が検出されているので、図46の右側に示すポート毎のVLAN接続可否表の太線で示す項目のうち「○」が記述された項目に対応する機器名および接続ポートを抽出する。本例では、「機器Aの1/1」、「機器Aの1/3」、「機器Aの2/2」、「機器Bの1/1」、および「機器Bの1/2」が検出される。接続ポート通信範囲分析手段910は、これらの接続ポートを、指定された「B:1/2」の通信範囲として出力する。
次に、本発明の第3の実施の形態の効果について説明する。本発明の第3の実施の形態によれば、ネットワークのVLAN設定管理において、ネットワーク機器の特定の接続ポートに対する通信可能な接続ポートの通信の可否を容易に確認することができる。その理由は、接続ポート通信範囲分析手段910によって、ユーザが調べたいネットワーク機器の接続ポートが通信可能な接続ポートを検査することで、任意のネットワーク機器の接続ポートに対する通信可能な全ての接続ポートを特定できるからである。
また、本実施の形態では、ネットワーク機器の接続ポートを指定して、その機器の接続ポートが通信可能な範囲を特定するので、個別の機器の接続ポートが他の機器の接続ポートと通信可能か否かを確認することができる。例えば、ある端末がファイルサーバ等の共用サーバと通信できないときに、その端末の接続ポートを指定して通信範囲を調べ、その通信範囲にファイルサーバが含まれていれば、コンフィグファイルのコマンド設定には問題がなく、LANケーブルが抜けている等の別の原因(コンフィグファイル以外の原因)により通信ができなくなっているということを確認できる。また、本例において、通信範囲にファイルサーバが含まれていなければ、コンフィグファイルのコマンド設定が原因で端末がファイルサーバと通信できないということが分かる。
第1の実施の形態や第2の実施の形態では、ネットワーク機器のVLAN−IDを指定して、VLAN−IDが通信可能な範囲を特定する。この第1の実施の形態は、個別の機器の接続ポートの通信範囲を調べるのではなく、そのVLAN−IDが割り当てられたVLAN(例えば技術部、営業部などの各部門のVLANに接続された機器)が通信可能な範囲を調べることができる。この場合、個々の機器の接続ポート毎に通信範囲を調べなくて済む。
第3の実施の形態は、個々の機器の接続ポートに着目して、その接続ポートの通信範囲を調べる場合に適している。
実施の形態4.
図47は、本発明の第4の実施の形態の構成例を示すブロック図である。第1の実施の形態と同様の構成要素については、図1と同一の符号を付して説明を省略する。第4の実施の形態によるVLAN通信範囲特定システム100は、第1の実施の形態におけるVLAN通信範囲分析手段140の代わりに、二点間通信分析手段1010を備える。他の構成要素については第1の実施の形態と同様である。
二点間通信分析手段1010は、例えば、プログラムに従って動作するCPUによって実現される。一次テーブル生成手段310、二次テーブル生成手段330、および二点間通信分析手段1010が同一のCPUによって実現されていてもよい。
二点間通信分析手段1010は、二次テーブル記憶装置130に記憶されるVLAN間ルーティング可否表510と、ポート毎のVLAN接続可否表520を使って、特定のネットワーク機器の接続ポートと特定のネットワーク機器の接続ポートが通信可能か否かを限定的に検査し、検査結果を出力手段240に出力する。
第1の実施の形態におけるVLAN通信範囲分析手段140は、ネットワーク機器の特定のVLAN−IDを指定され、そのVLANの通信範囲を検査する。それに対して、第4の実施の形態における二点間通信分析手段1010は、始点及び終点となるネットワーク機器の特定の接続ポートを指定され、その接続ポート間が通信可能か否かを限定的に検査する。
次に、第4の実施の形態の動作について説明する。
一次テーブル生成手段310は、第1の実施の形態と同様に各一次テーブルを作成し、各一次テーブルを一次テーブル記憶手段320に記憶させる。二次テーブル生成手段330は、第1の実施の形態と同様に各二次テーブル(VLAN間ルーティング可否表510、ポート毎のVLAN接続可否表520)を作成し、二次テーブル記憶手段130に記憶させる。
二点間通信分析手段1010の動作について詳細に説明する。図48は、第4の実施の形態における二点間通信分析手段1010が2つのネットワーク機器の接続ポート間で通信可能か否かを分析する処理の例を示すフローチャートである。まず、二点間通信分析手段1010には、ユーザによって、例えばキーボード等の入力デバイス(図示せず。)を介して、始点(送信元)となるネットワーク機器とそのネットワーク機器の接続ポートを示す情報、および終点(宛先)となるネットワーク機器とそのネットワーク機器の接続ポートを示す情報が入力される(ステップH1)。すなわち、ステップH1では、ユーザによって、送信元となる機器名および接続ポートと、宛先となる機器名および接続ポートとが指定される。ネットワーク機器を示す情報は、「1/1」等のようなスロット番号と接続ポート番号とを組み合わせた情報である。
次に、二点間通信分析手段1010は、二次テーブル記憶装置130に記憶されるVLAN間ルーティング可否表510を使って、ユーザが指定した2つのネットワーク機器名と接続ポートが所属するネットワーク機器において通信可能なVLAN−IDを検査する(ステップH2)。ステップH2では、二点間通信分析手段1010は、ステップH1で入力(指定)された送信元の機器名および宛先の機器名に対応するVLAN間ルーティング可否表の項目の中から、通信可(「○」)が記述された項目を検出する。そして、二点間通信分析手段1010は、その項目に対応する送信元のVLAN−IDと宛先のVLAN−IDとを抽出する。
続いて、二点間通信分析手段1010は、ステップH2での送信元のVLAN−IDと宛先のVLAN−IDの検出結果から、指定された2つのネットワーク機器名と接続ポートが所属するネットワーク機器において、1つ以上のVLAN−IDで通信可能か否かを確認する(ステップH3)。すなわち、二点間通信分析手段1010は、ステップH2で、通信可(「○」)が記述された項目に対応するVLAN−IDと宛先VLAN−IDのとの組が1つ以上存在したか否かを判定する。ステップH2で、通信可(「○」)が記述された項目に対応するVLAN−IDと宛先VLAN−IDのとの組が1つ以上検出していれば、指定された送信元の機器と宛先の機器において、1つ以上のVLAN−IDで通信可能であることになる。また、ステップH2で、通信可(「○」)が記述された項目に対応するVLAN−IDと宛先VLAN−IDのとの組が1つも検出していなければ、指定された送信元の機器と宛先の機器において、通信可能なVLAN−IDは存在しないことになる。
指定された2つのネットワーク機器名と接続ポートが所属するネットワーク機器において、1つ以上のVLAN−IDで通信可能でないならば、すなわち、指定された送信元の機器と宛先の機器において通信可能なVLAN−IDが存在しないならば(ステップH3のNo)、二点間通信分析手段1010は、指定された2つのネットワーク機器の接続ポート同士は通信ができないため、通信不能であることを出力し(ステップH4)、処理を終了する。例えば、出力手段240がディスプレイ装置である場合、二点間通信分析手段1010は、ステップH1で指定された2つのネットワーク機器の接続ポート同士は通信不能であることを出力手段240に表示させる。また、例えば、出力手段240がディスプレイ装置を備えたコンピュータである場合、二点間通信分析手段1010は、ステップH1で指定された2つのネットワーク機器の接続ポート同士は通信不能である旨をそのコンピュータに送信し、そのコンピュータは受信した情報をディスプレイ装置に表示させる。
指定された2つのネットワーク機器名と接続ポートが所属するネットワーク機器において、1つ以上のVLAN−IDで通信可能であれば、すなわち、指定された送信元の機器と宛先の機器において1つ以上のVLAN−IDで通信可能であれば(ステップH3のYes)、二点間通信分析手段1010は、二次テーブル記憶装置130に記憶されるポート毎のVLAN接続可否表520を使って、ユーザが指定した2つのネットワーク機器の接続ポートが通信可能か否かを確認する(ステップH5)。具体的には、二点間通信分析手段1010は、ポート毎のVLAN接続可否表を参照して、ステップH2で抽出された送信元のVLAN−IDと宛先のVLAN−IDの組毎に、ステップH1で指定された送信元の機器名と接続ポートおよびステップH2で抽出された送信元のVLAN−IDに対応する項目と、ステップH1で指定された宛先の機器名と接続ポートおよびステップH2で抽出された宛先のVLAN−IDに対応する項目との双方で、通信可(「○」)が記述されているか否かを判定する。そして、二点間通信分析手段1010は、いずれの項目でも通信可(「○」)が記述されていれば、ユーザが指定した2つのネットワーク機器の接続ポートが通信可能であると判定する。また、少なくともいずれかの項目で通信不可(「×」)が記述されていれば、ユーザが指定した2つのネットワーク機器の接続ポートが通信不能であると判定する。
次に、二点間通信分析手段1010は、ユーザに指定された2つのネットワーク機器の接続ポートの通信の可否を出力する(ステップH6)。このとき、二点間通信分析手段1010は、どのVLAN−IDで通信可能であるのかも出力してもよい。例えば、出力手段240がディスプレイ装置である場合、二点間通信分析手段1010は、ユーザに指定された2つのネットワーク機器の接続ポートの通信の可否を出力手段240に表示させる。また、例えば、出力手段240がディスプレイ装置を備えたコンピュータである場合、二点間通信分析手段1010は、通信の可否をそのコンピュータに送信し、そのコンピュータは、通信の可否をディスプレイ装置に表示させる。
図49は、第4の実施の形態における二点間通信分析手段1010の処理経過の具体例を示す説明図である。VLAN通信範囲特定システムが備える二次テーブル記憶装置に図49に例示するVLAN間ルーティング可否表およびポート毎のVLAN接続可否表が記憶されているものとする。また、ステップH1において、送信元の機器名として「A」が入力され、送信元の接続ポートを示す情報として「1/1」が入力されたとする。さらに、宛先の機器名として「B」が入力され、宛先の接続ポートを示す情報として「1/2」が入力されたとする。すなわち、送信元として機器Aの接続ポート1/1が指定され、宛先として機器Bの接続ポート1/2が指定されたとする。
次のステップH2では、二点間通信分析手段1010は、送信元の機器名Aおよび宛先の機器名Bに対応するVLAN間ルーティング可否表の項目の中から、通信可(「○」)が記述された項目を検出する。図49に例示するVLAN間ルーティング可否表では、点線で囲った項目が検出されることになる。二点間通信分析手段1010は、この項目に対応する送信元のVLAN−IDと宛先のVLAN−IDとを抽出する。本例では、送信元のVLAN−ID100と宛先のVLAN−ID100、および送信元のVLAN−ID200と宛先のVLAN−ID200とが抽出される。
このステップH2の処理で送信元のVLAN−IDと宛先のVLAN−IDとが抽出されなければ、ステップH4に移行して、指定された2つの機器の接続ポートは通信不可であることを検査結果として出力する。本例では、送信元のVLAN−ID100と宛先のVLAN−ID100、および送信元のVLAN−ID200と宛先のVLAN−ID200とが抽出されるので、ステップH5に移行する。
ステップH5では、二点間通信分析手段1010は、ポート毎のVLAN接続可否表を参照して、抽出された送信元のVLAN−IDと宛先のVLAN−IDの組毎に、指定された送信元の機器名と接続ポートおよびステップH2で抽出された送信元のVLAN−IDに対応する項目と、指定された宛先の機器名と接続ポートおよびステップH2で抽出された宛先のVLAN−IDに対応する項目との双方で、通信可(「○」)が記述されているか否かを判定する。送信元のVLAN−ID100と宛先のVLAN−ID100の組に関しては、指定された宛先の「B:1/2」およびVLAN−100に対応して通信不可(「×」)と記述されているので、通信不可と判定する。送信元のVLAN−ID200と宛先のVLAN−ID200の組に関しては、指定された「A:1/1」およびVLAN−ID200に対応する項目、および指定された「B:1/2」およびVLAN−ID200に対応する項目にいずれも通信可(「○」)が記述されているので、通信可能と判定する。したがって、ステップH6において、機器Aの1/1から機器Bの1/2へは同一VLAN−ID200で通信可能と出力する。
次に、本発明の第4の実施の形態の効果について説明する。本発明の第4の実施の形態によれば、ネットワークのVLAN設定管理において、任意のネットワーク機器の送信元接続ポートから宛先接続ポートまでの通信の可否を限定して容易に確認することができる。その理由は、二点間通信分析手段1010によって、ユーザが調べたい2つのネットワーク機器の接続ポートをそれぞれ始点及び終点として、この2つの接続ポート同士が通信可能か否かを検査することで、任意の2つのネットワーク機器の接続ポート間の通信可否を容易に特定できるからである。
第3の実施の形態および第4の実施の形態において、一次テーブル生成手段310および二次テーブル生成手段330は、第2の実施の形態と同様に動作して、第2の実施の形態で示したように、ポート毎のVLAN接続可否表を作成してもよい。