(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024030246
(43)【公開日】2024-03-07
(54)【発明の名称】通信装置および通信装置の制御方法
(51)【国際特許分類】
H04L 41/085 20220101AFI20240229BHJP
【FI】
H04L41/085
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022132967
(22)【出願日】2022-08-24
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100107515
【弁理士】
【氏名又は名称】廣田 浩一
(72)【発明者】
【氏名】山田 純平
(57)【要約】
【課題】ネットワーク構成が不明なネットワーク上に複数の通信装置が配置される場合にも、通信装置に直接接続された端末の端末情報のみを出力する。
【解決手段】通信装置は、フレームの送信元の端末の端末情報を端末情報記憶部に格納し、他の通信装置から自発的に送信された自発フレームを受信したポートを除外ポートと判定して、除外ポート情報を除外ポート記憶部に格納し、ポートに接続された端末を識別する識別情報をポートの識別情報に対応付けて保持する対応テーブルを参照し、端末情報記憶部に保持された端末情報に対応付けて、端末が接続されているポートの識別情報を格納するポート情報格納処理部と、端末情報の出力要求に基づいて、端末情報記憶部に保持された端末情報のうち、除外ポートに対応する端末情報を除く端末情報を出力する端末情報出力処理部と、を有する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
端末または他の通信装置を接続可能な複数のポートを有し、フレームを送受信する通信装置であって、
前記ポートで受信したフレームの送信元の端末の端末情報を端末情報記憶部に格納し、前記受信したフレームが前記他の通信装置から自発的に送信された自発フレームである場合、自発フレームを受信したポートを除外ポートと判定するフレーム監視処理部と、
前記フレーム監視処理部が判定した前記除外ポートを識別する除外ポート情報が記憶される除外ポート記憶部と、
前記ポートに接続された端末を識別する識別情報を前記ポートの識別情報に対応付けて保持する対応テーブルを参照し、前記端末情報記憶部に保持された前記端末情報に対応付けて、前記端末が接続されているポートの識別情報を格納するポート情報格納処理部と、
端末情報の出力要求に基づいて、前記端末情報記憶部に保持された端末情報のうち、除外ポート記憶部に保持されているポートの識別情報に対応する端末情報を除く端末情報を出力する端末情報出力処理部と、
を有する通信装置。
【請求項2】
前記フレーム監視処理部は、前記ポートで受信したフレームが他の通信装置から送信されるが前記端末からは送信されないフレームである場合、前記自発フレームであると判定する
請求項1に記載の通信装置。
【請求項3】
前記フレーム監視処理部は、前記ポートで受信したフレームが前記通信装置の制御に使用されるフレームである場合、前記自発フレームであると判定する
請求項2に記載の通信装置。
【請求項4】
前記端末を識別する識別情報は、MACアドレスであり
前記フレーム監視処理部は、前記受信したフレームに含まれるMACアドレスが前記自発フレームを送信する通信装置を示す特定MACアドレスである場合、前記受信したフレームが前記自発フレームであると判定する
請求項1ないし請求項3のいずれか1項に記載の通信装置。
【請求項5】
複数の前記特定MACアドレスを識別可能な共通MACアドレスと、MACアドレスの特定のビット群のマスクに使用するマスクコードとを保持する特定MACアドレス記憶部を有し、
前記フレーム監視処理部は、前記受信したフレームに含まれるMACアドレスの前記特定のビット群を前記マスクコードによりマスクして得たMACアドレスが前記共通MACアドレスと一致する場合、前記受信したフレームが前記自発フレームであると判定する
請求項4に記載の通信装置。
【請求項6】
端末または他の通信装置を接続可能な複数のポートを有し、フレームを送受信する通信装置の制御方法であって、
前記通信装置が有するフレーム監視処理部が、前記ポートで受信したフレームの送信元の端末の端末情報を端末情報記憶部に格納し、前記受信したフレームが前記他の通信装置から自発的に送信された自発フレームである場合、自発フレームを受信したポートを除外ポートと判定し、判定した前記除外ポートを識別する除外ポート情報を除外ポート記憶部に格納し、
前記通信装置が有するポート情報格納処理部が、前記ポートに接続された端末を識別する識別情報を前記ポートの識別情報に対応付けて保持する対応テーブルを参照し、前記端末情報記憶部に保持された前記端末情報に対応付けて、前記端末が接続されているポートの識別情報を格納し、
前記通信装置が有する端末情報出力処理部が、端末情報の出力要求に基づいて、前記端末情報記憶部に保持された端末情報のうち、除外ポート記憶部に保持されているポートの識別情報に対応する端末情報を除く端末情報を出力する
通信装置の制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信装置および通信装置の制御方法に関する。
【背景技術】
【0002】
近年、ネットワーク上には多様な端末が接続される。端末のネットワークへの不正な接続、または、脆弱なOS(Operating System)を使用している端末によるマルウェアの感染を抑止するため、ネットワークにどのような端末が接続されているかを可視化することは、セキュリティ上重要である。
【0003】
例えば、L2スイッチ等のネットワーク機器において、端末が接続されているポート番号および端末で使用しているOS、MAC(Media Access Control)アドレスおよびIP(Internet Protocol)アドレス等の端末情報を出力する手法が知られている。これにより、ネットワーク機器に接続された端末の端末情報が可視化される(例えば、特許文献1参照)。
【0004】
また、調査用端末から、MACアドレス学習テーブルを保持するスイッチに接続し、MACアドレス学習テーブルから調査用端末のMACアドレスに対応するポートを含む対を全て除去し、端末が接続されたポートを特定する手法が知られている(例えば、特許文献2参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2020-31321号公報
【特許文献2】特開2012-175139号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
例えば、ネットワーク機器は、他のネットワーク機器がブロードキャストするフレームを監視することで、端末情報を収集する。しかしながら、同一ネットワーク上に複数のネットワーク機器が接続される場合、ポートに直接接続された端末の端末情報だけでなく、他のネットワーク機器を介して接続された端末の端末情報も収集される。このため、例えば、脆弱性を有する端末が直接接続されているネットワーク機器を特定することが困難になる。この結果、ネットワーク構成が不明の場合、脆弱性を有する端末をネットワークから遮断することが困難である。
【0007】
1つの側面では、本発明は、ネットワーク構成が不明なネットワーク上に複数の通信装置が配置される場合にも、通信装置に直接接続された端末の端末情報のみを出力することを目的とする。
【課題を解決するための手段】
【0008】
一つの観点によれば、通信装置は、端末または他の通信装置を接続可能な複数のポートを有し、フレームを送受信する通信装置であって、前記ポートで受信したフレームの送信元の端末の端末情報を端末情報記憶部に格納し、前記受信したフレームが前記他の通信装置から自発的に送信された自発フレームである場合、自発フレームを受信したポートを除外ポートと判定するフレーム監視処理部と、前記フレーム監視処理部が判定した前記除外ポートを識別する除外ポート情報が記憶される除外ポート記憶部と、前記ポートに接続された端末を識別する識別情報を前記ポートの識別情報に対応付けて保持する対応テーブルを参照し、前記端末情報記憶部に保持された前記端末情報に対応付けて、前記端末が接続されているポートの識別情報を格納するポート情報格納処理部と、端末情報の出力要求に基づいて、前記端末情報記憶部に保持された端末情報のうち、除外ポート記憶部に保持されているポートの識別情報に対応する端末情報を除く端末情報を出力する端末情報出力処理部と、を有する。
【発明の効果】
【0009】
ネットワーク構成が不明なネットワーク上に複数の通信装置が配置される場合にも、通信装置に直接接続された端末の端末情報のみを出力することができる。
【図面の簡単な説明】
【0010】
【
図1】一実施形態における通信装置を含むネットワークの構成の一例を示す図である。
【
図2】
図1に示すL2スイッチのハードウェア構成の一例を示すブロック図である。
【
図3】
図1に示すL2スイッチの機能構成の一例を示すブロック図である。
【
図4】
図3のMACアドレステーブル、端末情報記憶部および除外ポート記憶部の一例を示すブロック図である。
【
図5】
図1のサブネットワークSNET1に配置されるL2スイッチにおける除外ポートの一例を示す説明図である。
【
図6】
図3のフレーム監視処理部およびポート情報格納処理部により生成される端末情報記憶部に保持される内容の一例を示す図である。
【
図7】
図3のフレーム監視処理部の動作の一例を示すフロー図である。
【
図8】
図3のポート情報格納処理部の動作の一例を示すフロー図である。
【
図9】
図3の端末情報出力処理部の動作の一例を示すフロー図である。
【
図10】
図3の端末情報出力処理部が出力するファイルに含まれる端末情報一覧の一例を示す図である。
【
図11】別の実施形態におけるL2スイッチの機能構成の一例を示すブロック図である。
【
図12】
図11のMACアドレステーブル、端末情報記憶部、除外ポート記憶部および特定MACアドレス記憶部の一例を示すブロック図である。
【発明を実施するための形態】
【0011】
以下、図面を参照して、実施形態が説明される。
【0012】
図1は、一実施形態における通信装置を含むネットワークの構成の一例を示す。
図1に示すネットワーク100は、複数のL2(Layer 2)スイッチ10(10A、10B、10C、10D)、ルータ20およびネットワークの管理者用の端末30を含む。各L2スイッチ10は、イーサネットポート等の端末TMまたは他のL2スイッチ10等を接続可能な複数のポートを有する。ポートの数は、4つに限定されない。以下では、各ポートは、4つの識別番号1-4で識別される。L2スイッチ10は、通信装置の一例である。
【0013】
L2スイッチ10C、10Dは、ルータ20に接続され、L2スイッチ10A、10Bは、L2スイッチ10Cに接続される。そして、L2スイッチ10A、10B、10CおよびL2スイッチ10A、10Bに接続される端末TM(TM-A、TM-B、TM-C、TM-D、TM-E、TM-F)によりサブネットワークSNET1が構築される。L2スイッチ10Dおよび端末30によりサブネットワークSNET2が構築される。
【0014】
例えば、L2スイッチ10Aのポート1、2、3は、端末TM-A、TM-B、TM-Cにそれぞれ接続される。L2スイッチ10Aのポート4は、L2スイッチ10Cのポート1に接続される。L2スイッチ10Bのポート1、2、3は、端末TM-D、TM-E、TM-Fにそれぞれ接続される。L2スイッチ10Aのポート4は、L2スイッチ10Cのポート2に接続される。L2スイッチ10Cのポート4は、ルータ20に接続される。L2スイッチ10Dの図示しない2つのポートは、ルータ20とネットワークの管理者用の端末30とにそれぞれ接続される。
【0015】
図2は、
図1に示すL2スイッチ10のハードウェア構成の一例を示す。L2スイッチ10は、CPU11、メモリ12、不揮発性メモリ13、スイッチデバイス14、ポート1-4およびコンソールポートを有する。CPU11は、メモリ12、不揮発性メモリ13、スイッチデバイス14およびコンソールポートに接続される。
【0016】
CPU11は、L2スイッチ10の全体を制御する制御部として機能する。例えば、CPU11は、スイッチデバイス14の転送機能を設定し、他のL2スイッチ10またはルータ20からの中継フレームおよび自発フレームの送受信を制御する。例えば、中継フレームは、端末TMが送信元のフレームであり、L2スイッチ10またはルータ20により中継されるフレームである。
【0017】
自発フレームは、L2スイッチ10またはルータ20等のネットワーク機器が自発的に送信する送信元のフレームであり、中継フレーム以外のフレームである。自発フレームは、ネットワーク機器間で送受信される。例えば、ループ回避制御のためのSTPプロトコルで使用されるBPDU(Bridge Protocol Data Unit)フレームは、ネットワーク機器の自発フレームの1つであり、ネットワーク機器間で送受信される。
【0018】
BPDUフレームは、ネットワークが循環経路となることを抑止するためにL2スイッチ10が定期的にブロードキャストするスパニングツリー用のフレームの一例である。また、BPDUフレームは、L2スイッチ10から送信されるが端末TMからは送信されない第1フレームの一例である。
【0019】
メモリ12は、例えば、RAM(Random Access Memory)等の揮発性メモリである。メモリ12は、例えば、CPU11が実行する制御プログラムを保持し、各種の設定データおよびテーブル等の情報を保持する。不揮発性メモリ13は、例えば、フラッシュメモリであり、CPU11が実行する制御プログラムおよび各種初期値等を保持する。不揮発性メモリ13に保持する制御プログラムは、メモリ12にロードされた後、CPU11により実行される。制御プログラムを実行するCPU11は、メモリ12または不揮発性メモリ13を作業領域として使用する。
【0020】
スイッチデバイス14は、例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)等に搭載される。スイッチデバイス14は、例えば、イーサネットを介して他のL2スイッチ10等のポートとの間で送受信されるフレームの中継を制御する。
【0021】
コンソールポートは、PC(Personal Computer)等のコンソール端末に接続される。CPU11は、コンソールポートを介してコンソール端末から入力されるコマンドに基づいて、設定の操作や端末情報等の各種情報の入出力を行うことができる。設定操作や端末情報等の各種情報の入出力は、リモートからイーサネットポートを経由し、SSH(Secure Shell)またはTelnet(Teletype network)等のプロトコルを使用して接続することで実施されてもよい。
【0022】
図3は、
図1に示すL2スイッチ10の機能構成の一例を示す。L2スイッチ10は、機能構成として記憶部15と処理部16とを有する。処理部16は、L2スイッチ10に接続される端末TMの情報を可視化する可視化処理を実施するソフトウェアとして機能する。記憶部15は、処理部16が実施する可視化処理に使用される情報を記憶する。記憶部15は、
図2のメモリ12内の図示しないデータ領域に割り当てられる。処理部16は、
図2のメモリ12内の図示しないプログラム領域に割り当てられる。
【0023】
記憶部15は、MACアドレステーブル121、端末情報記憶部122および除外ポート記憶部123を有する。MACアドレステーブル121には、ポートのいずれかに直接または間接に接続される端末TMのMACアドレスが、ポート番号に対応付けて保持される。MACアドレステーブル121は、ポートに接続された端末TMを識別する識別情報をポートの識別情報に対応付けて保持する対応テーブルの一例である。
【0024】
端末情報記憶部122には、端末TMのMACアドレス、IPアドレスおよび端末TMの情報である端末情報が、ポート番号に対応付けて保持される。例えば、端末情報は、端末TMに搭載されるOSの種別、OSのバージョン情報およびホスト名のうちの1つまたは複数を含む。
【0025】
除外ポート記憶部123には、L2スイッチ10が端末情報一覧を出力する場合に、端末情報一覧としての出力が除外されるポート番号である除外ポート番号が記憶される。除外ポート番号は、除外ポートを識別する除外ポート情報の一例である。MACアドレステーブル121、端末情報記憶部122および除外ポート記憶部123の例は、
図4に示される。
【0026】
処理部16は、CPU11による端末情報出力プログラムの実行により実現されて端末情報の可視化処理を行うフレーム監視処理部111、ポート情報格納処理部112および端末情報出力処理部113を有する。また、処理部16は、CPU11によるフレーム処理プログラムの実行により実現されるフレーム送受信処理部114と、コマンド処理プログラムの実行により実現されるコマンド入出力処理部115とを有する。
【0027】
なお、フレーム監視処理部111、ポート情報格納処理部112、端末情報出力処理部113、フレーム送受信処理部114およびコマンド入出力処理部115の1つまたは複数は、ハードウェアにより実現されてもよい。
【0028】
フレーム監視処理部111は、フレーム送受信処理部114により受信したフレームが解析対象のフレームである場合、ネットワーク機器が送信した自発フレームかどうかを判定する判定処理を実施する。また、フレーム監視処理部111は、受信したフレームが他のL2スイッチ10から送信された自発フレームである場合、自発フレームを受信したポートを除外ポートと判定し、判定した除外ポートのポート番号を除外ポート記憶部123に格納する。フレーム監視処理部111の動作の例は、
図7に示される。
【0029】
ポート情報格納処理部112は、MACアドレステーブル121を定期的に参照し、MACアドレステーブル121に保持されたポート番号を、端末情報記憶部122に保持された端末情報に対応付けて格納する処理を行う。ポート情報格納処理部112の動作の例は、
図8に示される。
【0030】
端末情報出力処理部113は、コマンド入出力処理部115を介して受信する端末情報の出力要求に応じて、端末情報記憶部122および除外ポート記憶部123を参照し、端末情報を生成する。例えば、端末情報出力処理部113は、端末情報記憶部122に保持された端末情報のうち、除外ポート記憶部123に保持されているポート番号に対応する端末情報を除く端末情報を生成する。そして、端末情報出力処理部113は、生成した端末情報をコマンド入出力処理部115に出力する。端末情報出力処理部113の動作の例は、
図9に示される。
【0031】
フレーム送受信処理部114は、フレームの送受信処理を実施する。コマンド入出力処理部115は、端末情報出力処理部113から受信した端末情報をコマンドラインインタフェースに出力する。
【0032】
図4は、
図3のMACアドレステーブル121、端末情報記憶部122および除外ポート記憶部123の一例を示す。
図4では、
図1のL2スイッチ10Aの記憶部15に保持される情報が示される。
【0033】
MACアドレステーブル121は、ポート番号毎に、ポートに直接または間接に接続される端末TMのMACアドレスを保持する。複数の端末TMが接続されたL2スイッチ10がポートに接続される場合、MACアドレステーブル121は、1つのポート番号に対して複数のMACアドレスを保持する。
【0034】
端末情報記憶部122は、MACアドレステーブル121に保持されたMACアドレスおよびMACアドレステーブル121からコピーされたポート番号とともに、MACアドレス毎にIPアドレスおよび端末情報を保持する。
図4に示す例では、端末情報として、端末TMで実行されているOSの種別が示されるが、さらにOSのバージョンが含まれてもよい。なお、MACアドレスおよびIPアドレスも、端末情報に含まれる。端末情報記憶部122の端末情報の欄に示すWindows10、WindowsXP(Windowsは登録商標)は一例であり、他のOSの種別が示されてもよい。
【0035】
除外ポート記憶部123は、
図3のフレーム監視処理部111により格納された除外ポート番号を保持する。ここで、除外ポートは、他のL2スイッチ10等のネットワーク機器が接続されたポートであり、端末TMが直接接続されないポートであり、上述したように、自発フレームの受信により判定される。
【0036】
図5は、
図1のサブネットワークSNET1に配置されるL2スイッチ10A、10B、10Cにおける除外ポートの一例を示す説明図である。除外ポートの判定は、
図3のフレーム監視処理部111により行われる。
【0037】
例えば、L2スイッチ10Aは、L2スイッチ10Cからの自発フレームをポート4で受けるため、ポート4に端末TMが直接接続されていないと判定する。L2スイッチ10Bは、L2スイッチ10Cからの自発フレームをポート4で受けるため、ポート4に端末TMが直接接続されていないと判定する。
【0038】
同様に、L2スイッチ10Cは、L2スイッチ10A、10Bからの自発フレームをポート1、2でそれぞれ受けるため、ポート1、2に端末TMが直接接続されていないと判定する。
【0039】
なお、L2スイッチ10Cのポート4に接続されるルータ20は、自発フレームを送信しないため、L2スイッチ10Cは、ポート4を除外ポートと判定しない。また、L2スイッチ10Cのポート3は、端末TM、他のL2スイッチ10またはルータ20のいずれにも接続されない空きポートであり、自発フレームおよび中継フレームを受信しない。このため、L2スイッチ10Cは、ポート3を除外ポートと判定しない。
【0040】
図6は、
図3のフレーム監視処理部111およびポート情報格納処理部112により生成される端末情報記憶部122に保持される内容の一例を示す。
図6では、L2スイッチ10A、10Bの端末情報記憶部122の内容が示される。
【0041】
図6において、各端末情報記憶部122の枠外の括弧内に示す端末TMの識別子は、参考用であり、実際の端末情報記憶部122には含まれない。また、端末情報記憶部122において、古いOSを使用している端末TM-Cに対応するレコードが網掛けで示されている。しかしながら、網掛けは、説明を分かりやすくするために付加したものであり、実際の端末情報記憶部122には、古いOSを識別する情報は含まれない。
【0042】
各L2スイッチ10A、10Bのポート情報格納処理部112は、自L2スイッチ10のMACアドレステーブル121から取得したMACアドレスとポート番号の対を端末情報記憶部122に格納する。各L2スイッチ10A、10Bのフレーム監視処理部111は、受信した中継フレームを解析し、端末情報を抽出する。端末情報には、IPアドレスが含まれる。フレーム監視処理部111は、端末情報を解析した中継フレームを受信したポートに対応する端末情報記憶部122のレコードに、IPアドレスを含む端末情報を格納する。
【0043】
端末情報記憶部122への端末TMの情報の蓄積は、サブネットワークSNET1全体に同報されるフレームを監視することで行われる。このため、L2スイッチ10Aが生成した端末情報記憶部122には、L2スイッチ10Aに直接接続されていない端末TM-D、TM-E、TM-Fの情報も含まれる。同様に、L2スイッチ10Bが生成した端末情報記憶部122には、L2スイッチ10Bに直接接続されていない端末TM-A、TM-B、TM-Cの情報も含まれる。したがって、各L2スイッチ10の端末情報記憶部122を参照するだけでは、各L2スイッチ10に直接接続されている端末TMを判断することは困難である。
【0044】
図7は、
図3のフレーム監視処理部111の動作の一例を示す。すなわち、
図7は、通信装置の制御方法の一例を示す。フレームの監視を開始したフレーム監視処理部111は、ステップS10において、自L2スイッチ10によるフレームの受信を待つ。フレーム監視処理部111は、自L2スイッチ10がフレームを受信した場合、処理をステップS11に移行する。
【0045】
ステップS11において、フレーム監視処理部111は、自L2スイッチ10が受信したフレームのヘッダ情報からフレームの種別(プロトコル)を判定し、受信したフレームが解析対象フレームであるか否かを判定する。フレーム監視処理部111は、受信したフレームが解析対象フレームである場合、処理をステップS12に移行する。フレーム監視処理部111は、受信したフレームが解析対象フレームでない場合、処理をステップS10に戻し、自L2スイッチ10によるフレームの受信を待つ。
【0046】
ステップS12において、フレーム監視処理部111は、受信したフレームの解析処理を実施し、受信したフレームが他のL2スイッチ10等のネットワーク機器が送信した自発フレームであるか否かを判定する。フレーム監視処理部111は、受信したフレームが自発フレームの場合、処理をステップS13に移行し、受信したフレームが自発フレームでない場合、処理をステップS15に移行する。
【0047】
例えば、フレーム監視処理部111は、フレームの種別がBPDUの場合、受信したフレームがL2スイッチ10等のネットワーク機器が送信した自発フレームであると判定する。なお、フレーム監視処理部111は、フレーム種別がLLDPの場合、"System Capability"コードに基づいてネットワーク機器からの自発フレームか否かを判定してもよい。例えば、"System Capability"コードが"B:ブリッジ"または"R:ルータ"である場合、自発フレームであると判定することができる。
【0048】
このように、フレーム監視処理部111は、受信したフレームが他のL2スイッチ10から送信されるが端末TMからは送信されないフレームである場合、自発フレームであると判定する。換言すれば、フレーム監視処理部111は、受信したフレームが、BPDUまたはLLDPのように、L2スイッチ10の制御に使用されるフレーム種別である場合、自発フレームであると判定する。
【0049】
さらに、フレーム監視処理部111は、フレームの送信元のMACアドレスが特定のMACアドレスと判断した場合、L2スイッチ10等のネットワーク機器が送信した自発フレームと判定してもよい。また、フレーム監視処理部111は、フレーム種別とフレーム種別以外のデータの値を組み合わせることで、自発フレームを判定してもよい。
【0050】
ステップS13において、フレーム監視処理部111は、フレームの送信元のMACアドレスをキーとしてMACアドレステーブルを検索し、自発フレームを受信した自L2スイッチ10のポートの番号を特定する。なお、フレーム監視処理部111は、スイッチデバイス14の制御プログラム(例えば、受信ディスクリプタ)がフレームの受信時に記憶領域から取得する管理情報に基づいてポート番号を取得してもよい。
【0051】
次に、ステップS14において、フレーム監視処理部111は、ステップS13で特定した自発フレームを受信したポート番号を、除外ポート番号として除外ポート記憶部123に記憶させる。ステップS14の後、処理は、ステップS15に移行される。
【0052】
ステップS15において、フレーム監視処理部111は、ステップS11でのフレームの解析により特定したプロトコルに応じて、フレームに含まれる各種情報を抽出する。例えば、各種情報は、MACアドレス、IPアドレス、フレーム内のフィールドから判別できるOS名、OSのバージョンおよびホスト名のうちの1つまたは複数である。フレーム監視処理部111は、抽出した情報を端末情報として、端末情報記憶部122に格納する。ステップS15の後、処理はステップS10に戻される。
【0053】
図8は、
図3のポート情報格納処理部112の動作の一例を示す。すなわち、
図8は、通信装置の制御方法の一例を示す。ポート番号情報の付与処理を開始したポート情報格納処理部112は、
図8に示すフローを一定時間毎に繰り返し実行する。
【0054】
まず、ステップS20において、ポート情報格納処理部112は、記憶部15内のMACアドレステーブル121からMACアドレスとポート番号とを対とするレコード情報を順次取得する。次に、ステップS21において、ポート情報格納処理部112は、端末情報記憶部122のレコード番号を示すインデックスと最大レコード数とを比較する。ここで、インデックスは、処理がステップS20からステップS21に移行されるときに、最小レコード数に設定される。ポート情報格納処理部112は、インデックスが最大レコード数以下の場合、処理をステップS22に移行し、インデックスが最大レコード数より大きい場合、処理をステップS25に移行する。
【0055】
ステップS22において、ポート情報格納処理部112は、自L2スイッチ10が受信したフレームの送信元MACアドレスをキーとして端末情報記憶部122のレコードを検索する。次に、ステップS23において、ポート情報格納処理部112は、端末情報記憶部122において、MACアドレスが送信元MACアドレスと一致するレコードのポート番号を更新する。すなわち、フレーム監視処理部111により格納されたMACアドレス、IPアドレスおよびOS名、OSバージョンなどの端末情報に、ポート番号が付加される。
【0056】
なお、端末情報記憶部122に格納されるポート番号は、自L2スイッチ10がフレームを受信したときに、
図2のスイッチデバイス14の制御プログラムがメモリ12等の記憶領域に格納する管理情報(受信ディスクリプタ)から取得されてもよい。
【0057】
次に、ステップS24において、ポート情報格納処理部112は、インデックスを+1して処理をステップS21に戻す。これにより、端末情報記憶部122の全てのレコードのポート番号を更新することができる。
【0058】
一方、ステップS25において、ポート情報格納処理部112は、予め設定された時間T1を待った後、処理をステップS20に移行し、上述したポート番号の更新処理を実施する。
【0059】
図9は、
図3の端末情報出力処理部113の動作の一例を示す。すなわち、
図9は、通信装置の制御方法の一例を示す。
図9に示すフローは、
図3のコマンド入出力処理部115からの要求に応じて開始される。
【0060】
まず、端末情報出力処理部113は、ステップS30において、端末情報記憶部122のレコード番号を示すインデックスと最大レコード数とを比較する。なお、インデックスは、
図9の処理が開始されるときに、最小レコード数に設定される。端末情報出力処理部113は、インデックスが最大レコード数以下の場合、処理をステップS31に移行し、インデックスが最大レコード数より大きい場合、全てのレコードの端末情報の出力が完了したため、
図9に示す処理を終了する。
【0061】
ステップS31において、端末情報出力処理部113は、現在のインデックスにより示される端末情報記憶部122のレコードの情報を取得する。次に、ステップS32において、端末情報出力処理部113は、取得したレコードに含まれるポート番号が、除外ポート記憶部123に記憶されている除外ポート番号のいずれかと一致するか否かを判定する。
【0062】
端末情報出力処理部113は、ポート番号が除外ポート番号のいずれかと一致する場合、ステップS31で取得したレコードの情報が自L2スイッチ10に直接接続された端末TMの情報でないため、処理をステップS30に戻す。端末情報出力処理部113は、ポート番号が除外ポート番号のいずれとも一致しない場合、ステップS31で取得したレコードの情報が自L2スイッチ10に直接接続された端末TMの情報であるため、処理をステップS33に移行する。
【0063】
ステップS33において、端末情報出力処理部113は、ステップS31で取得したレコードに含まれるレコード情報(すなわち、端末情報)を端末情報記憶部122から取得し、取得したレコード情報を、例えば文字列としてファイルに出力する。
【0064】
次に、ステップS34において、端末情報出力処理部113は、インデックスを+1して処理をステップS30に戻す。以上により、端末情報記憶部122の全てのレコードのうち、除外ポート番号で示されるポートを除くポートに接続された端末TMの端末情報を出力することができる。なお、端末情報出力処理部113から出力されるファイルは、コマンド入出力処理部115により参照され、コマンドラインインタフェースに出力される。
【0065】
図10は、
図3の端末情報出力処理部113が出力するファイルに含まれる端末情報一覧の一例を示す。なお、
図6と同様に、各端末情報一覧の枠外の括弧内に示す端末TMの識別子は、参考用であり、実際の端末情報一覧には含まれない。また、端末情報一覧に示す網掛は、説明用であり、実際の端末情報一覧には含まれない。
【0066】
例えば、ネットワークの管理者は、端末30を介してSSHによりL2スイッチ10A、10Bに接続し、L2スイッチ10A、10Bの各々から端末情報一覧のファイルを取得する。端末30は、L2スイッチ10A、10Bの各々から受信したファイルに含まれる端末情報一覧を、例えば、端末30の表示装置にコマンドラインとして表示する。
図10は、L2スイッチ10A、10Bの端末情報出力処理部113から出力される端末情報一覧のファイルに基づいて、端末30が表示装置に表示するL2スイッチ10A、10Bの端末情報一覧でもある。
【0067】
ネットワークの管理者は、表示装置に表示された端末情報一覧を見ることで、例えば、古いOS(この例では、WindowsXP)を使用している端末TM-Cと、端末TM-Cが接続されたL2スイッチ10とを容易に認識することができる。そして、ネットワークの管理者は、端末TM-Cをネットワークから遮断したい場合、L2スイッチ10Aのポート3を遮断すればよいと判断できる。
【0068】
これに対して、
図6に示す端末情報記憶部122の内容そのものがファイルとしてネットワークの管理者の端末30に送信される場合、古いOSを使用している端末TM-Cが接続されているL2スイッチ10およびポート番号を認識することは困難である。したがって、ネットワークの管理者は、端末TM-Cをネットワークから遮断するために、どのL2スイッチ10のどのポートを遮断すればよいか判断することが困難である。換言すれば、ネットワークの管理者は、端末TM-Cが接続されているネットワーク構成が不明な場合、端末TM-Cをネットワークから遮断することが困難である。
【0069】
以上、この実施形態では、ネットワーク構成が不明なネットワーク上に複数のL2スイッチ10が配置される場合にも、各L2スイッチ10は、自L2スイッチ10に直接接続された端末TMの端末情報のみ含む端末情報一覧を出力することができる。端末情報一覧は、例えば、ネットワークの管理者が使用する端末30からの端末情報の出力要求に基づいて、端末30に送信される。
【0070】
これにより、ネットワークの管理者は、表示装置に表示された端末情報一覧を見ることができ、例えば、古いOSを使用している端末TM-Cと、端末TM-Cが接続されたL2スイッチ10とを容易に認識することができる。このため、ネットワークの管理者は、端末TM-Cをネットワークから遮断したい場合、L2スイッチ10Aのポート3を遮断すればよいと判断できる。
【0071】
そして、例えば、脆弱性を有する端末TM-Cをネットワークから迅速に遮断することができ、マルウェアの感染などからネットワークを保護することができる。この結果、マルウェアの感染拡大を抑制することができ、感染が多数の端末TMに広がることによる業務の停止等の不具合を抑制することができる。
【0072】
例えば、フレーム監視処理部111は、ポートで受信したフレームが他のL2スイッチ10のみから送信されるフレームである場合、自発フレームであると判定し、自発フレームを受信したポートを除外ポートとすることができる。例えば、フレーム監視処理部111は、他のL2スイッチ10がブロードキャストするBPDUフレームを受信したポートを除外ポートとすることができる。
【0073】
端末TMが直接接続されたポートの判定は、各L2スイッチ10が実施する。このため、ネットワークの管理者が使用する端末30が端末情報一覧を出力するサブネットワークSNET1とは異なるサブネットワークSNET2に接続される場合にも、端末情報一覧を受信することができる。これにより、ネットワークの管理者は、脆弱性を有する端末TM-Cが接続されたL2スイッチ10とポート番号とを認識することができる。
【0074】
また、端末情報一覧は、IPアドレスなどの端末TMの識別情報を含む。このため、ネットワークの管理者は、特定のIPアドレスを持つ端末TMをネットワークから遮断したい場合、コマンドラインに表示された端末情報一覧からIPアドレスを検索し、遮断したい端末TMが接続されたL2スイッチ10とポート番号とを認識できる。これにより、特定のIPアドレスを持つ端末TMをネットワークから容易に遮断することができる。
【0075】
図11は、別の実施形態におけるL2スイッチ10の機能構成の一例を示す。上述した実施形態と同様の要素については、同じ符号を付し、詳細な説明は省略する。
図11に示すL2スイッチ10のハードウェア構成は、
図2と同様である。また、
図11に示すL2スイッチ10を含むネットワークの構成は、
図1と同様である。
【0076】
この実施形態のL2スイッチ10は、記憶部15に特定MACアドレス記憶部124が割り当てられることを除き、
図3に示すL2スイッチ10と同様の機能構成を有する。特定MACアドレス記憶部124は、自発フレームを送信するネットワーク機器を識別するためにフレーム監視処理部111により使用される。これにより、
図7で説明したフレームの種別により自発フレームを判定するだけでなく、フレームの送信元のMACアドレスに基づいて自発フレームを送信するL2スイッチ10等のネットワーク機器を判定することができる。
【0077】
図12は、
図11のMACアドレステーブル121、端末情報記憶部122、除外ポート記憶部123および特定MACアドレス記憶部124の一例を示す。MACアドレステーブル121、端末情報記憶部122および除外ポート記憶部123に保持される情報は、
図4に示した情報と同じである。
【0078】
特定MACアドレス記憶部124は、自発フレームを送信する複数のL2スイッチ10を識別可能な共通MACアドレスと、MACアドレスの特定のビット群のマスクに使用するマスクコードとの対を保持する複数のレコードを有する。共通MACアドレスは、MACアドレスの下位の所定数のバイトが"00"にマスクされている。これにより、共通MACアドレスにより、例えば、特定のベンダの製品を示すことができ、または、特定のベンダの特定の製品(例えば、特定のネットワーク機器)を示すことができる。
【0079】
MACアドレスのマスクコードの"ff"は、フレームの送信元のMACアドレスにおいて、"ff"に対応する位置のバイトをマスクしないことを示す。マスクコードの"00"は、フレームの送信元のMACアドレスにおいて、"00"に対応する位置のバイトをマスクすることを示す。
【0080】
そして、フレーム監視処理部111(
図3)は、自L2スイッチ10が受信したフレームに含まれるMACアドレスと、特定MACアドレス記憶部124に保持されたマスクコードとの論理積を計算し、比較用のMACアドレスを生成する。フレーム監視処理部111は、生成した比較用のMACアドレスが共通MACアドレスと一致する場合、受信したフレームが自発フレームである判定する。
【0081】
すなわち、フレーム監視処理部111は、受信したフレームに含まれるMACアドレスの特定のビット群をマスクコードによりマスクして得たMACアドレスが共通MACアドレスと一致する場合、受信したフレームが自発フレームであると判定する。フレーム監視処理部111は、生成した比較用のMACアドレスが共通MACアドレスと一致しない場合、受信したフレームが自発フレームでないと判定する。
【0082】
なお、
図12に示すように、特定MACアドレス記憶部124が複数のレコードを保持している場合、フレーム監視処理部111は、レコード毎にマスクコードとの論理積の計算と、計算により得たMACアドレスと共通MACアドレスとの比較とを実施する。
【0083】
フレーム監視処理部111の動作は、
図7のステップS12の自発フレームの判定処理に、特定MACアドレス記憶部124を使用した判定処理が追加されることを除き、
図7の動作と同じである。ポート情報格納処理部112の動作は、
図8と同じである。端末情報出力処理部113の動作は、
図9と同じである。端末情報記憶部122に保持される内容は、
図6と同じである。端末情報出力処理部113が出力するファイルに含まれる端末情報一覧は、
図10と同じである。
【0084】
以上、この実施形態においても上述した実施形態と同様の効果を得ることができる。例えば、ネットワーク構成が不明なネットワーク上に複数のL2スイッチ10が配置される場合にも、各L2スイッチ10は、自L2スイッチ10に直接接続された端末TMの端末情報のみ含む端末情報一覧を出力することができる。これにより、ネットワークの管理者は、表示装置に表示された端末情報一覧を見ることがで、例えば、古いOSを使用している端末TM-Cと、端末TM-Cが接続されたL2スイッチ10とを容易に認識することができる。
【0085】
さらに、この実施形態では、各L2スイッチ10は、共通MACアドレスとマスクコードとが記憶された特定MACアドレス記憶部124を記憶部15に割り当てる。これにより、フレーム監視処理部111は、フレームの種別により自発フレームを判定するだけでなく、フレームの送信元のMACアドレスに基づいて自発フレームを送信するL2スイッチ10等のネットワーク機器を判定することができる。
【0086】
なお、上述した実施形態では、除外ポートを判定し、判定した除外ポートに基づいて端末情報一覧を生成して出力する機能をL2スイッチ10に搭載する例が説明された。しかしながら、除外ポートを判定し、判定した除外ポートに基づいて端末情報一覧を生成して出力する機能は、L3スイッチ、ルータまたは無線LANアクセスポイント等の通信装置に搭載されてもよい。
【0087】
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
【符号の説明】
【0088】
10(10A、10B、10C、10D) L2スイッチ
11 CPU
12 メモリ
13 不揮発性メモリ
14 スイッチデバイス
15 記憶部
16 処理部
20 ルータ
30 端末
100 ネットワーク
111 フレーム監視処理部
112 ポート情報格納処理部
113 端末情報出力処理部
114 フレーム送受信処理部
115 コマンド入出力処理部
121 MACアドレステーブル
122 端末情報記憶部
123 除外ポート記憶部
124 特定MACアドレス記憶部
SNET1、SNET2 サブネットワーク
TM(TM-A、TM-B、TM-C、TM-D、TM-E、TM-F) 端末