(57)【要約】      （修正有）【課題】制御用ＩＰアドレスの設定工数を軽減する通信システムを提供する。【解決手段】スイッチコントローラ又はスイッチからの要求に応答して、要求元のスイッチコントローラ又はスイッチに第１ネットワーク経路内で使用する第１アドレスを割当てるアドレス割当メッセージを、要求元のスイッチコントローラ及びスイッチに送信するアドレス設定サーバと、第１ネットワーク経路内に設けられ、アドレス割当メッセージからスイッチコントローラ及びスイッチの第１アドレスそれぞれを取得するアドレス取得処理を行い、取得した第１アドレスを使用してスイッチコントローラ及びスイッチにそれぞれ第２アドレスを設定するアドレス設定処理を行うアドレス管理装置とを有する。【選択図】図１
2017059868.tif 000002
【特許請求の範囲】
【請求項１】
パケットを中継するスイッチと、
第２ネットワーク経路内で使用する第２アドレスを使用して前記スイッチの制御を行うスイッチコントローラと、
前記スイッチ及び前記スイッチコントローラと第１ネットワーク経路を介して通信可能であり、前記スイッチコントローラ又は前記スイッチからの要求に応答して、前記要求元のスイッチコントローラ又はスイッチに前記第１ネットワーク経路内で使用する第１アドレスを割当てるアドレス割当メッセージを、前記要求元のスイッチコントローラ及び前記スイッチに送信するアドレス設定サーバと、
前記第１ネットワーク経路内に設けられ、前記アドレス割当メッセージから前記スイッチコントローラ及び前記スイッチの前記第１アドレスそれぞれを取得するアドレス取得処理を行い、前記取得した第１アドレスを使用して前記スイッチコントローラ及び前記スイッチにそれぞれ前記第２アドレスを設定するアドレス設定処理を行うアドレス管理装置と
を有する通信システム。
【請求項２】
前記アドレス管理装置は、前記第１ネットワーク経路内を伝播する前記アドレス割当メッセージを受信したとき、前記アドレス取得処理を行い、
さらに、前記受信したアドレス割当メッセージを前記スイッチコントローラ又は前記スイッチに転送する
請求項１記載の通信システム。
【請求項３】
前記アドレス設定サーバは、前記スイッチコントローラ及び前記スイッチに対する前記アドレス割当メッセージを、前記アドレス管理装置にも送信し、
前記アドレス管理装置は、前記アドレス割当メッセージを受信したとき、前記アドレス取得処理を行う
請求項１記載の通信システム。
【請求項４】
前記アドレス管理装置は、前記アドレス設定処理において、さらに、前記スイッチコントローラに対して前記スイッチの第２アドレスを設定し、前記スイッチに対して前記スイッチコントローラの第２アドレスを設定する
請求項１記載の通信システム。
【請求項５】
前記アドレス管理装置は、前記アドレス設定処理において、さらに、前記スイッチに対して前記スイッチコントローラの第２アドレスを設定し、
前記スイッチは、設定された前記スイッチコントローラの第２アドレスを使用して、前記スイッチの第２アドレスを前記スイッチコントローラに設定する
請求項１記載の通信システム。
【請求項６】
前記通信システムは、さらに、前記第２ネットワーク経路内に監視装置を有し、
前記監視装置は、前記スイッチコントローラ及び前記スイッチ間の通信を監視する
請求項１記載の通信システム。
【請求項７】
前記アドレス管理装置は、前記スイッチコントローラ及び前記スイッチの前記第２アドレスを記憶し、
前記アドレス割当メッセージを受信したとき、前記記憶している第２アドレスが前回アドレス設定処理を行ったときから更新されている場合に前記アドレス設定処理を行う
請求項２記載の通信システム。
【請求項８】
前記アドレス管理装置は、前記スイッチコントローラ及びスイッチの第２アドレスを記憶し、
前記アドレス割当メッセージを受信したとき、前記アドレス割当メッセージから取得した前記第１アドレスを記憶し、
前記記憶している第２アドレスが更新されたとき、前記記憶した第１アドレスを使用して前記アドレス設定処理を行う
請求項２記載の通信システム。
【請求項９】
パケットを中継するスイッチと第２ネットワーク経路を介して通信可能であり、前記第２ネットワーク経路内の第２アドレスを使用して前記スイッチの制御を行うスイッチコントローラ、及びアドレス設定サーバが接続する第１ネットワーク経路内に設けられるアドレス管理装置であって、
前記アドレス設定サーバが、前記スイッチコントローラ又は前記スイッチに送信するメッセージであって、前記スイッチコントローラ又は前記スイッチからの要求に応答して、前記スイッチコントローラ又は前記スイッチに前記第１ネットワーク経路内で使用する第１アドレスを割り当てるアドレス割当メッセージから、前記スイッチコントローラ及び前記スイッチの前記第１アドレスを取得するアドレス取得処理部と、
前記取得した第１アドレスを使用して前記スイッチコントローラ及び前記スイッチにそれぞれ前記第２アドレスを設定するアドレス設定処理部と
を有するアドレス管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アドレス管理装置及び通信システムに関する。
【背景技術】
【０００２】
従来の通信システムでは、例えば、接続する装置の変更や、通信システムを構成するネットワークを分割するときなどに、ケーブルの接続をやり直したり、接続されているルータやスイッチ１つ１つに対して管理者が設定の変更をしたりしなければならなかった。そこで、ネットワークに関する技術として、ＳＤＮ（Software-Defined Network）が注目されるようになった。ＳＤＮは、ネットワークの構成、機能、性能などをソフトウェアの操作によって動的に変更できるネットワークである。ＳＤＮでは、物理的な配線の変更や、１つ１つの装置に対する設定の変更を行わず、通信システム
を集中管理するソフトウェアによる制御で、接続する装置の機能変更やネットワークの分割などが可能となる。
【０００３】
ＳＤＮの例として、オープンフロー（OpenFlow）と呼ばれる通信システムの規格がある。オープンフローでは、ＯＦＣ（OpenFlow Controller）及びＯＦＳ（OpenFlow Switch）が定義されている。ＯＦＣは複数のＯＦＳと接続し、それらを制御する。例えば、ＯＦＣは、ＯＦＳに接続する端末装置の認証や、パケットのルーティングを制御し、ＯＦＳは、ＯＦＣの制御に従い端末装置から受信したパケットを中継する。このように、オープンフローの通信システムでは、ＯＦＣがＯＦＳを制御するために使用する制御情報をネットワーク上で送受信する。制御情報は、端末装置の認証情報やルーティング情報などの情報であり、第３者に漏洩すると悪用される可能性がある、セキュリティが高い情報である。そのため、オープンフローの通信システムでは、ＯＦＣとＯＦＳが制御情報を送受信するための制御用ネットワークを、通常の通信用ネットワークとは別のネットワークとして構築する必要がある。この場合、ＯＦＣ，ＯＦＳは、通信用ネットワークで使用するＩＰアドレス(以下、通信用ＩＰアドレスと呼ぶ)に加え、制御用ネットワークで使用するためのＩＰアドレス（以下、制御用ＩＰアドレスと呼ぶ）を有する。
【０００４】
ＳＤＮに関する技術としては、以下の特許文献１，２に記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２０１４−５１１０８５
【特許文献２】特表２０１４−５０７８２０
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一方、ＤＨＣＰ（Dynamic Host Configuration Protocol）サーバは、ＤＨＣＰサーバが接続するネットワーク内の各装置に、動的に通信用ＩＰアドレスを割り当てる。ＤＨＣＰサーバを接続することで、ネットワーク内の装置の増設、変更に対し、各装置の通信用ＩＰアドレスを柔軟に割り当てることができる。
【０００７】
しかし、ＤＨＣＰサーバが接続された通常の通信ネットワークにオープンフローの規格を適用する場合、従来接続されているルータやスイッチを、ＯＦＣ、ＯＦＳに置き換える必要がある。通信用ネットワークに接続されているＤＨＣＰサーバは、通信用ネットワークと異なるＯＦＣとＯＦＳの制御用ネットワーク内で使用する、制御用ＩＰアドレスを割り当てることはできない。さらに、制御用ＩＰアドレスは、監視の対象となるようなセキュリティ性が高い制御用ネットワークで使用されるアドレスであり、ＤＨＣＰサーバが動的に割り当てることは適切ではない。よって、制御用ＩＰアドレスは、例えば、システムの管理者が静的に決定し、ＯＦＣ及びＯＦＳに個別に設定している。
【０００８】
そこで、一開示は、制御用ＩＰアドレスの設定工数を軽減するアドレス管理装置及び通信システムを提供する。
【課題を解決するための手段】
【０００９】
パケットを中継するスイッチと、第２ネットワーク経路内で使用する第２アドレスを使用して前記スイッチの制御を行うスイッチコントローラと、 前記スイッチ及び前記スイッチコントローラと第１ネットワーク経路を介して通信可能であり、前記スイッチコントローラ又は前記スイッチからの要求に応答して、前記要求元のスイッチコントローラ又はスイッチに前記第１ネットワーク経路内で使用する第１アドレスを割当てるアドレス割当メッセージを、前記要求元のスイッチコントローラ及び前記スイッチに送信するアドレス設定サーバと、前記第１ネットワーク経路内に設けられ、前記アドレス割当メッセージから前記スイッチコントローラ及び前記スイッチの前記第１アドレスそれぞれを取得するアドレス取得処理を行い、前記取得した第１アドレスを使用して前記スイッチコントローラ及び前記スイッチにそれぞれ前記第２アドレスを設定するアドレス設定処理を行うアドレス管理装置とを有する。
【発明の効果】
【００１０】
一開示によれば、制御用ＩＰアドレスの設定工数を軽減するアドレス管理装置及び通信システムを提供することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、通信システムの構成例を示す図である。
【図２】図２は、端末装置の構成例を示す図である。
【図３】図３は、スイッチコントローラの構成例を示す図である。
【図４】図４は、スイッチの構成例を示す図である。
【図５】図５は、アドレス設定サーバの構成例を示す図である。
【図６】図６は、アドレス管理装置の構成例を示す図である。
【図７】図７は、アドレス設定サーバが第１アドレスを設定する処理のフローチャートの例を示す図である。
【図８】図８は、アドレス管理装置がスイッチコントローラ及びスイッチに第２アドレスを設定する処理のフローチャートの例を示す図である。
【図９】図９は、スイッチコントローラ及びスイッチ関連情報テーブルの例を示す図である。
【図１０】図１０は、スイッチ情報テーブルの例を示す図である。
【図１１】図１１は、通信システムの構成例を示す図である。
【図１２】図１２は、アドレス管理装置がスイッチコントローラ及びスイッチに第２アドレスを設定する処理のフローチャートの例を示す図である。
【図１３】図１３は、スイッチが第２アドレス設定メッセージを受信したときのフローチャートの例を示す図である。
【図１４】図１４は、アドレス管理装置がスイッチコントローラ及びスイッチに第２アドレスを設定する処理のフローチャートの例を示す図である。
【図１５】図１５は、アドレス管理装置が記憶している第２アドレスが更新されたときのフローチャートの例を示す図である。
【図１６】図１６は、通信システムの構成例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について説明する。
［第１の実施の形態］
最初に第１の実施の形態について説明する。
【００１３】
＜通信システムの構成例＞
図１は、通信システム１０の構成例を示す図である。
【００１４】
通信システム１０は、通常の通信用ネットワーク経路ＮＥＴ１に接続されるルータやＬ２スイッチを、オープンフローのスイッチ４００に置き換えた通信システムである。スイッチ４００を設けたことに対応し、スイッチコントローラ３００が制御用ネットワーク経路ＮＥＴ２を介してスイッチ４００に接続される。通信システム１０は、さらに、後述する制御用アドレスをスイッチコントローラ３００及びスイッチ４００に自動で設定するアドレス管理装置２００を新た設置した通信システムである。
【００１５】
通信用ネットワーク経路は、アドレス設定サーバ（ＤＨＣＰサーバ）１００、スイッチ４００−１，２、端末装置５００−１〜４、ハブ６０２、ゲートウェイ７００、及び情報処理装置９００などが接続される。通信用ネットワーク経路は、例えば、企業内のネットワーク経路である。企業内ネットワーク経路は、端末装置同士が通信を行ったり、端末装置５００−１〜４が企業内の情報処理装置９００にアクセスしたり、端末装置５００−１〜４がゲートウェイ７００を介して外部ネットワーク８００にアクセスしたりする通常のネットワーク経路である。
【００１６】
通信用ネットワーク経路ＮＥＴ１では、アドレス設定サーバ１００が、通信用ネットワーク経路ＮＥＴ１で使用するＩＰアドレス（以下、通信用アドレスと呼ぶ）を、通信用ネットワークＮＥＴ１に接続している装置に動的に割り当てて設定する。アドレス設定サーバ１００を設けることで、端末装置５００、スイッチ４００、情報処理装置９００などを増設しても、通信用アドレスを柔軟に割り当てて設定することができる。
【００１７】
通信用ネットワーク経路ＮＥＴ１は、スイッチコントローラ３００にも接続される。さらに、通信用ネットワーク経路ＮＥＴ１内に、アドレス管理装置２００が設けられる。従って、アドレス設定サーバ１００は、スイッチコントローラ３００やアドレス管理装置２００にも通信用アドレスを割り当てて設定する。
【００１８】
また、通信システム１０では、スイッチコントローラ３００がスイッチ４００を制御するための制御用ネットワーク経路ＮＥＴ２を、通信用ネットワーク経路ＮＥＴ１とは別に有する。制御用ネットワーク経路ＮＥＴ２には、スイッチコントローラ３００、ハブ６０１、スイッチ４００−１,２が接続される。制御用ネットワーク経路ＮＥＴ２では、スイッチコントローラ３００がスイッチ４００−１，２を制御するために使用する制御情報が送受信される。制御情報は、例えば、端末装置の認証情報や、パケットのルーティング情報などの、漏洩すると悪用される可能性がある情報であり、制御用ネットワーク経路ＮＥＴ２はセキュリティ性が高い。
【００１９】
制御用ネットワーク経路ＮＥＴ２においては、新たに設置したアドレス管理装置２００が、制御用ネットワークで使用するＩＰアドレス（以下、制御用アドレスと呼ぶ）を、スイッチコントローラ３００及びスイッチ４００に設定する。
【００２０】
次に、通信システム１０内の各装置について説明する。
【００２１】
端末装置５００−１〜４は、例えば、コンピューターである。端末装置５００−１，２は、例えば、情報処理装置９００や外部ネットワーク８００と通信を行ったり、端末装置同士で通信を行ったりする。例えば、端末装置５００−３が情報処理装置９００と通信を行うとき、スイッチ４００−２が、端末装置５００−３が情報処理装置９００と送受信するパケットを中継する。
【００２２】
スイッチ４００−１，２は、例えば、ＯＦＳである。スイッチ４００−１，２は、スイッチコントローラ３００の制御に従い、接続している端末装置５００−１〜４が送受信するパケットを中継したり、破棄したりする。
【００２３】
なお、通信システム１０におけるハブ６０１，６０２は、複数の装置を接続するための装置である。ハブ６０１に接続されるスイッチコントローラ３００や、ハブ６０２に接続されるアドレス管理装置２００が複数のＬＡＮケーブルのポート（差込口）を有していれば、ハブ６０１、６０２はなくてもよい。
【００２４】
また、ゲートウェイ７００は、通信用ネットワーク経路とはプロトコルの異なる外部ネットワーク８００に接続するための装置である。
【００２５】
さらに、情報処理装置９００は、例えば、あるサービスを提供するサービスシステムや、データサーバであり、端末装置同士でしか通信を行わない場合はなくてもよい。
【００２６】
アドレス設定サーバ１００は、通信用ネットワーク経路に接続する装置に通信用アドレスを動的に割り当てて設定する。アドレス設定サーバ１００は、例えば、ＤＨＣＰサーバである。端末装置５００−１に対して通信用アドレスを設定する方法の例を下に説明する。
【００２７】
端末装置５００−１は、電源起動やスイッチ４００への接続により通信ネットワーク経路ＮＥＴ１に接続すると、アドレス設定サーバ１００に対し、端末装置５００−１の通信用アドレスを設定するよう要求する通信用アドレス要求メッセージを送信する。端末装置５００−１は、通信用アドレス要求メッセージを通信用ネットワーク経路ＮＥＴ１に接続されている全ての装置に届くブロードキャストで送信する。通信用アドレス要求メッセージには、通信用アドレスの設定対象装置が端末装置５００−１であることを示すため、端末装置５００−１のＭＡＣアドレスが含められる。通信用アドレス要求メッセージを受信したアドレス設定サーバ１００は、端末装置５００−１に通信用アドレスを割り当て、端末装置５００−１に通信用アドレスを設定する通信用アドレス設定メッセージを送信する。アドレス設定サーバ１００は、通信用アドレス設定メッセージを通信用ネットワーク経路に接続されている全ての装置に届くブロードキャストで送信する。通信用アドレス設定メッセージには、通信用アドレスの設定対象装置が端末装置５００−１であることを示すため、端末装置５００−１のＭＡＣアドレスが含められる。端末装置５００−１は、通信用アドレス設定メッセージに端末装置５００−１のＭＡＣアドレスが含まれていることで、自装置の通信用アドレスであると判定し、その通信用アドレスを設定する。
【００２８】
なお、通信用アドレス要求メッセージ及び通信用アドレス設定メッセージは、ブロードキャストではなく、個別の装置宛に送信してもよい。通信用アドレス要求メッセージを個別に送信する場合、端末装置５００−１は、あらかじめアドレス設定サーバ１００の通信用アドレスを内部メモリに記憶しておくか、アドレス設定サーバ１００を検索するプログラムを実装しておくことが必要である。
【００２９】
また、通信用アドレス設定メッセージを個別の装置宛に送信してもよい。アドレス設定サーバが通信用アドレス設定メッセージを送信するとき、通信用アドレスの設定対象装置である端末装置５００−１は、通信用アドレスが設定させる前であるため、通信用アドレスを使用して端末装置５００−１に送信することはできない。そこで、通信用アドレス要求メッセージを中継したスイッチ４００−１宛に通信用アドレス設定メッセージを送信する。その場合、スイッチ４００−１は、端末装置５００−１から受信した通信用アドレス要求メッセージをアドレス設定サーバ１００に転送するときに、スイッチ４００−１の通信用アドレスを、通信用アドレス要求メッセージに含めておく。スイッチ４００−１は、通信用アドレス設定メッセージを受信すると、受信した通信用アドレス設定メッセージに含まれる端末装置５００−１のＭＡＣアドレスに従い、通信用アドレス設定メッセージを端末装置５００−１に転送する。
【００３０】
アドレス設定サーバ１００が通信用アドレスを設定する対象は、通常の通信ネットワーク経路内のスイッチ４００−１，２、情報処理装置９００、ゲートウェイ７００、端末装置５００−１〜４である。さらに、アドレス設定サーバ１００は、スイッチコントローラ３００とアドレス管理装置２００にも通信用アドレスを設定する。
【００３１】
次に、ＳＤＮの一つであるオープンフローについて説明する。ここでは、端末装置５００−３が、情報処理装置９００と通信を行うために、スイッチ４００−２にパケットを送信した場合の処理を例にして説明する。
【００３２】
スイッチ４００−２は、端末装置５００−３からパケットを受信すると、パケットの送信元である端末装置５００−３が情報処理装置９００との通信を許可されているかどうかをスイッチコントローラ３００に問い合わせる。問い合わせた結果、通信が許可されていれば、受信したパケットを情報処理装置９００に転送し、通信が許可されていなければ、受信したパケットを破棄する。
【００３３】
また別の処理の例として、スイッチ４００−２は、あらかじめスイッチコントローラ３００から端末装置の認証に関する情報を受信し内部メモリに記憶し、端末装置５００−３からパケットを受信すると、記憶した情報に基づいて、受信したパケットの転送又は破棄を行う。
【００３４】
スイッチコントローラ３００は、例えば、ＯＦＣである。上記の処理を行うために、スイッチコントローラ３００は、制御用ネットワーク経路ＮＥＴ２を介してスイッチ４００−１，２と通信可能である。つまり、スイッチコントローラ３００は、制御用ネットワーク経路ＮＥＴ２内の制御用アドレスを使用してスイッチ４００−１及びスイッチ４００−２と通信し、上記の処理を行う。
【００３５】
上記の最初の処理では、スイッチ４００−１，２が、受信したパケットの送信元の端末装置がパケットの送信先の装置に通信を許可されているかどうかを、スイッチコントローラ３００に問い合わせる。この場合、スイッチコントローラ３００が、端末装置の認証に関する情報に基づいて、通信が許可されているかどうかを判定し、判定した結果をスイッチ４００−１，２に送信する。スイッチ４００−１，２は、受信した判定結果に基づき、受信したパケットを中継又は破棄する。
【００３６】
また、上記の別の処理では、スイッチコントローラ３００が、スイッチ４００−１，２に接続している端末装置５００−１〜４の認証に関する情報をスイッチに４００−１，２に送信する。スイッチ４００−１，２は、受信した認証に関する情報に基づいて、受信したパケットを中継又は破棄する。
【００３７】
通信システム１０では、スイッチコントローラ３００が制御用ネットワーク経路ＮＥＴ２を介して複数のスイッチ４００を制御している。スイッチコントローラ３００に複数のスイッチ４００の制御を集中させることで、１つ１つのスイッチ４００それぞれに制御情報を設定することがないため、スイッチ４００の増設や変更が簡易になる。従って、スイッチコントローラ３００とスイッチ４００には、制御用ネットワーク経路ＮＥＴ２内ＩＰアドレス（制御用アドレス）を設定する必要がある。しかし、制御用ネットワーク経路ＮＥＴ２は、セキュリティ性が高く、スイッチコントローラ３００やスイッチ４００を監視することが望ましい。そのため、制御用ネットワーク経路ＮＥＴ２内の制御用アドレスは、動的に割り当てることは好ましくなく、一般に管理者が静的に決定している。
【００３８】
そこで本実施の形態では、アドレス管理装置２００が、スイッチコントローラ３００及びスイッチ４００−１，２に制御用アドレスを設定する。アドレス管理装置２００は、例えば、コンピューターであり、図１の例では、アドレス設定サーバ１００とハブ６０２との間の通信用ネットワーク経路ＮＥＴ１に設けられる。さらに、アドレス管理装置２００には、管理者により、スイッチコントローラ３００とスイッチ４００−１、４００−２の制御用アドレスがあらかじめテーブルとして設定されている。
【００３９】
アドレス管理装置２００が、制御用アドレスを設定する方法の例を以下に説明する。
【００４０】
アドレス管理装置２００は、アドレス設定サーバ１００が送信する通信用アドレス設定メッセージを受信し、スイッチコントローラ３００及びスイッチ４００−１，２に転送する。このとき、アドレス管理装置２００は、受信した通信用アドレス設定メッセージから、スイッチコントローラ３００及びスイッチ４００の通信用アドレスを取得する。アドレス管理装置２００は、取得した通信用のアドレスを使用して、通信用ネットワーク経路ＮＥＴ１を介して、スイッチコントローラ３００及びスイッチ４００に、それぞれ制御用アドレスを設定する。
【００４１】
制御用アドレスの設定方法は、例えば、スイッチコントローラ３００及びスイッチ４００の通信用アドレス宛に、制御用アドレスを設定する制御用アドレス設定メッセージを送信する。制御用アドレス設定メッセージには、制御用アドレスを設定する対象である装置のＭＡＣアドレスとその制御用アドレスが含まれる。
【００４２】
第１の実施の形態では、アドレス管理装置が、スイッチコントローラ及びスイッチの通信用アドレスを取得し、取得した通信用アドレスを使用して、通信用ネットワーク経路を介して制御用アドレスをスイッチコントローラとスイッチに設定している。管理者は、アドレス管理装置にあらかじめ静的に決定した制御用アドレスを記憶させておけば、アドレス設定サーバが通信用アドレスを各装置に設定した後、自動的にアドレス管理装置がスイッチコントローラとスイッチに制御用アドレスを設定することができる。こうすることで、管理者によるスイッチコントローラとスイッチに制御用ネットワーク経路内の制御用アドレスを設定する工数を軽減することができる。
【００４３】
＜端末装置の構成例＞
次に、通信システム１０が有する各装置のハードウェア構成の例について説明する。
【００４４】
以下の説明においては、通信用ネットワーク経路を第１ネットワーク経路と呼び、通信用アドレスを第１アドレスと呼ぶ。また、制御用ネットワーク経路を第２ネットワーク経路と呼び、制御用アドレスを第２アドレスと呼ぶ。
【００４５】
図２は、端末装置５００の構成例を示す図である。
【００４６】
端末装置５００は、ＣＰＵ（Central Processing Unit）５１０、ストレージ５２０、ＲＡＭ（Random Access Memory）５３０、及びＮＩＣ（Network Interface Card）５４０を有する。
【００４７】
ストレージ５２０は、プログラムやデータを記憶する補助記憶装置である。ストレージ５２０は、通信プログラム５２１を記憶する。
【００４８】
ＲＡＭ５３０は、ストレージ５２０に記憶されているプログラムをロードする領域である。また、ＲＡＭ５３０は、プログラムがデータを記憶する領域としても使用される。
【００４９】
ＮＩＣ５４０は、スイッチ４００を介して、他の端末装置５００、情報処理装置９００、ゲートウェイ７００を介して外部ネットワーク８００と通信を行う装置である。ＮＩＣ５４０は、第１ネットワーク経路に接続しており、第１アドレスを使用した通信に使用される。
【００５０】
ＣＰＵ５１０は、ストレージ５２０に記憶されているプログラムを、ＲＡＭ５３０にロードし、ロードしたプログラムを実行するプロセッサである。ＣＰＵ５１０は、ロードした通信プログラム５２１を実行することで、通信処理を実現する。通信処理は、端末装置５００と他の端末装置が通信を行ったり、情報処理装置９００と通信し、情報処理装置９００の有するデータを取り出したりする処理が含まれる。また、通信処理は、ゲートウェイ７００を介して外部ネットワーク８００と通信を行う処理を含んでもよい。
【００５１】
＜スイッチコントローラの構成例＞
図３は、スイッチコントローラ３００の構成例を示す図である。
【００５２】
スイッチコントローラ３００は、ＣＰＵ３１０、ストレージ３２０、ＲＡＭ３３０、ＮＩＣ３４０、及びＮＩＣ３４１を有する。
【００５３】
ストレージ３２０は、プログラムやデータを記憶する補助記憶装置である。ストレージ３２０は、第１アドレス設定プログラム３２１、第２アドレス設定プログラム３２２、及びスイッチ制御プログラム３２３を記憶する。
【００５４】
ＲＡＭ３３０は、ストレージ３２０に記憶されているプログラムをロードする領域である。また、ＲＡＭ３３０は、プログラムがデータを記憶する領域としても使用される。ＲＡＭ３３０は、上述したように、第１アドレス３３１、第２アドレス３３２、スイッチ情報テーブル３３３を記憶する。
【００５５】
ＮＩＣ３４０は、ハブ６０２を介して、アドレス管理装置２００と通信を行う装置である。ＮＩＣ３４０は、第１ネットワーク経路に接続しており、第１アドレスを使用した通信に使用される。
【００５６】
ＮＩＣ３４１は、ハブ６０１を介して、スイッチ４００と通信を行う装置である。ＮＩＣ３４１は、第２ネットワーク経路に接続しており、第２アドレスを使用した通信に使用される。
【００５７】
ＣＰＵ３１０は、ストレージ３２０に記憶されているプログラムを、ＲＡＭ３３０にロードし、ロードしたプログラムを実行するプロセッサである。ＣＰＵ３１０は、第１アドレス設定プログラム３２１を実行することで、アドレス設定サーバ１００から第１アドレス設定メッセージを受信したとき、受信した第１アドレス設定メッセージから、スイッチコントローラ３００の第１アドレスを抽出する。ＣＰＵ３１０は、抽出した第１アドレスを、ＲＡＭ３３０の第１アドレス３３１に記憶し設定する。
【００５８】
また、ＣＰＵ３１０は、第２アドレス設定プログラム３２２を実行することで、アドレス管理装置２００から第２アドレス設定メッセージを受信したとき、受信した第２アドレス設定メッセージからスイッチコントローラ３００の第２アドレスを抽出する。ＣＰＵ３１０は、抽出した第２アドレスを、ＲＡＭ３３０の第２アドレス３３２に記憶し設定する。
【００５９】
また、ＣＰＵ３１０は、受信した第２アドレス設定メッセージに、自装置に接続するスイッチ４００の第２アドレスが含まれている場合、ＲＡＭ３３０のスイッチ情報テーブル３３３に記憶する。スイッチ情報テーブル３３３は、自装置に接続するスイッチ４００のＭＡＣアドレスと第２アドレスとの対応関係を記憶するテーブルである。スイッチ情報テーブル３３３の詳細については、以下の処理フローにおいて説明する。
【００６０】
また、ＣＰＵ３１０は、スイッチ制御プログラム３２３を実行することで、自装置に接続するスイッチ４００を制御する。スイッチ制御処理は、例えば、自装置に接続するスイッチ４００に、端末装置５００の認証に関する情報を送信する処理である。また、スイッチ制御処理は、スイッチ４００から、スイッチ４００が受信したパケットの送信元の端末装置５００が通信を許可されているかどうかの問い合わせを受信したときの処理である。スイッチコントローラ３００は、内部メモリに記憶する端末装置５００の認証情報に基づき、問い合わせ対象の端末装置５００が通信を許可されているかどうか判定し、判定結果をスイッチ４００に送信する。
【００６１】
＜スイッチの構成例＞
図４は、スイッチ４００の構成例を示す図である。
【００６２】
スイッチ４００は、ＣＰＵ４１０、ストレージ４２０、ＲＡＭ４３０、ＮＩＣ４４０、及びＮＩＣ４４１−１〜ｎを有する。
【００６３】
ストレージ４２０は、プログラムやデータを記憶する補助記憶装置である。ストレージ４２０は、第１アドレス設定プログラム４２１、第２アドレス設定プログラム４２２、及びパケット中継プログラム４２３を記憶する。
【００６４】
ＲＡＭ４３０は、ストレージ４２０に記憶されているプログラムをロードする領域である。また、ＲＡＭ４３０は、プログラムがデータを記憶する領域としても使用される。ＲＡＭ４３０は、上述したように、第１アドレス４３１、第２アドレス４３２、スイッチコントローラ第２アドレス４３３を記憶する。
【００６５】
ＮＩＣ４４０は、ハブ６０１を介して、スイッチコントローラ３００と通信を行う装置である。ＮＩＣ４４０は、第２ネットワーク経路に接続しており、第２アドレスを使用した通信に使用される。
【００６６】
ＮＩＣ４４１−１〜ｎは、端末装置５００、ゲートウェイ７００、及び情報処理装置９００と通信を行う装置である。ＮＩＣ４４１〜ｎは、第１ネットワーク経路に接続しており、第１アドレスを使用した通信に使用される。
【００６７】
ＣＰＵ４１０は、ストレージ４２０に記憶されているプログラムを、ＲＡＭ４３０にロードし、ロードしたプログラムを実行するプロセッサである。
【００６８】
ＣＰＵ４１０は、スイッチコントローラ３００のＣＰＵ３１０と同様に、第１アドレス設定プログラム４２１及び第２アドレス設定プログラム４２２を実行する。これらのプログラムを実行することで、スイッチ４００の第１アドレス及び第２アドレスを、それぞれＲＡＭ４３０の第１アドレス４３１及び第２アドレス４３２に記憶する。
【００６９】
また、ＣＰＵ４１０は、第２アドレス設定プログラム４２２を実行することで、受信した第２アドレス設定メッセージにスイッチコントローラ３００の第２アドレスが含まれている場合、ＲＡＭ４３０のスイッチコントローラの第２アドレス４３３に記憶する。
【００７０】
また、ＣＰＵ４１０は、ロードしたパケット中継プログラム４２３を実行することで、スイッチ４００に接続された端末装置５００から受信したパケットを、スイッチコントローラ３００の制御に従い、中継または破棄する。
【００７１】
＜アドレス設定サーバの構成例＞
図５は、アドレス設定サーバ１００の構成例を示す図である。
【００７２】
アドレス設定サーバ１００は、ＣＰＵ１１０、ストレージ１２０、ＲＡＭ１３０、及びＮＩＣ１４０を有する。
【００７３】
ストレージ１２０は、プログラムやデータを記憶する補助記憶装置である。ストレージ１２０は、第１アドレス設定プログラム１２１を記憶する。
【００７４】
ＲＡＭ１３０は、ストレージ１２０に記憶されているプログラムをロードする領域である。また、ＲＡＭ１３０は、プログラムがデータを記憶する領域としても使用される。
【００７５】
ＮＩＣ１４０は、アドレス管理装置２００と通信を行う装置である。アドレス設定サーバ１００は、ＮＩＣ１４０を介してパケットの送受信を行う。ＮＩＣ１４０は、例えば、ＬＡＮケーブルを介してアドレス管理装置２００のＮＩＣ２４０と接続する。
【００７６】
ＣＰＵ１１０は、ストレージ１２０に記憶されているプログラムを、ＲＡＭ１３０にロードし、ロードしたプログラムを実行するプロセッサである。ＣＰＵ１１０は、第１アドレス設定プログラム１２１を実行することで、第１アドレス設定処理を実現する。第１アドレス設定処理では、アドレス設定サーバ１００が、第１ネットワーク経路に接続された装置から第１アドレスの設定を要求するメッセージを受信すると、要求元の装置に第１アドレスを動的に割り当てる。すなわち、第１アドレス設定処理は、装置に第１アドレスを割り当てる、アドレス割当処理である。さらに、アドレス設定サーバ１００は、割り当てた第１アドレスを設定するメッセージである第１アドレス設定メッセージを、要求元の装置に送信する。第１アドレス設定メッセージは、装置に第１アドレスを割り当てるときに使用する、アドレス割当メッセージである。
【００７７】
＜アドレス管理装置の構成例＞
図６は、アドレス管理装置２００の構成例を示す図である。
【００７８】
アドレス管理装置２００は、ＣＰＵ２１０、ストレージ２２０、ＲＡＭ２３０、ＮＩＣ２４０、及びＮＩＣ２４１を有する。
【００７９】
ストレージ２２０は、プログラムやデータを記憶する補助記憶装置である。ストレージ２２０は、第１アドレス取得プログラム２２１、第２アドレス設定プログラム２２２、及び状態監視プログラム２２３を記憶する。
【００８０】
ＲＡＭ２３０は、ストレージ２２０に記憶されているプログラムをロードする領域である。また、ＲＡＭ２３０は、プログラムがデータを記憶する領域としても使用される。ＲＡＭ２３０は、スイッチコントローラ及びスイッチ関連情報テーブル２３１を記憶する。スイッチコントローラ及びスイッチ関連情報テーブル２３１は、スイッチコントローラ３００及びスイッチ４００のＭＡＣアドレスや第２アドレスを記憶している。スイッチコントローラ及びスイッチ関連情報テーブル２３１は、第１アドレス取得処理により取得したスイッチコントローラ３００及びスイッチ４００の第１アドレスを記憶する。スイッチコントローラ及びスイッチ関連情報テーブル２３１に記憶される第２アドレスは、例えば、システム管理者があらかじめ静的に決定し、システム管理者の操作によってアドレス管理装置２００に記憶される。スイッチコントローラ及びスイッチ関連情報テーブル２３１の詳細については、以下の処理フローにおいて説明する。
【００８１】
ＮＩＣ２４０は、アドレス設定サーバと通信を行う装置である。また、ＮＩＣ２４１は、スイッチコントローラ３００と通信を行う装置である。
【００８２】
ＣＰＵ２１０は、ストレージ２２０に記憶されているプログラムを、ＲＡＭ２３０にロードし、ロードしたプログラムを実行するプロセッサである。ＣＰＵ２１０は、第１アドレス取得プログラム２２１を実行することで、アドレス取得処理部が行う第１アドレス取得処理を実現する。すなわち、第１アドレス取得処理は、装置の第１アドレスを取得するアドレス取得処理である。第１アドレス取得処理では、アドレス設定サーバ１００がスイッチコントローラ３００及びスイッチ４００に送信する第１アドレス設定メッセージを受信し、第１アドレス設定メッセージ内のスイッチコントローラ３００及びスイッチ４００の第１アドレスを取得する。第１アドレス取得処理では、受信した第１アドレス設定メッセージを宛先の装置に転送する。
【００８３】
また、ＣＰＵ２１０は、第２アドレス設定プログラム２２２を実行することで、アドレス設定処理部が行う第２アドレス設定処理を実現する。第２アドレス設定処理では、ＣＰＵ２１０は、第１アドレス設定処理を行った後、取得した第１アドレスを使用して、第１ネットワーク経路を介して、スイッチコントローラ３００またはスイッチ４００に、第２アドレスを設定する。すなわち、第２アドレス設定処理は、装置に第２アドレスを設定する、アドレス設定処理である。スイッチコントローラ３００及びスイッチ４００の第２アドレスは、アドレス管理装置２００がＲＡＭ２３０に記憶しているスイッチコントローラ及びスイッチ関連情報テーブル２３１から取得する。また、第２アドレスの設定方法は、例えば、アドレス管理装置２００がスイッチコントローラ３００またはスイッチ４００に、第２アドレスを設定するためのメッセージである第２アドレス設定メッセージを送信することで各装置に第２アドレスを設定する。
【００８４】
さらに、ＣＰＵ２１０は、ロードした状態監視プログラム２２３を実行することで、状態監視処理を実現する。状態監視処理は、第１アドレスを使用して、スイッチコントローラ３００やスイッチ４００の稼働状態を監視する処理である。ＣＰＵ２１０は、例えば、定期的にスイッチコントローラ３００やスイッチ４００にヘルスチェックの信号を送信し、各装置から応答を受信することで、スイッチコントローラ３００やスイッチ４００が正常に稼働しているかどうかの確認を行う。スイッチコントローラ３００やスイッチ４００が正常に稼働していないと、端末装置５００は通信を行うことができない。そこで、スイッチコントローラ３００やスイッチ４００の稼働状態を監視し、すぐに異常を検出できるようにする。
【００８５】
＜第１アドレスの設定処理＞
図７は、アドレス設定サーバが第１アドレスを設定する処理のフローチャートの例を示す図である。以下、図７を用いて、スイッチコントローラ及びスイッチに第１アドレスを設定する処理について説明する。
【００８６】
アドレス設定サーバ１００は、電源起動などにより第１ネットワーク経路に接続された装置から、第１アドレスの設定を要求する第１アドレス設定要求メッセージを受信すると（Ｓ１００のＹｅｓ）、第１アドレス設定処理を実行する（Ｓ１１０）。第１アドレス要求メッセージは、各装置が、第１ネットワーク経路に接続したときに、アドレス設定サーバ１００に送信するメッセージである。各装置は、アドレス設定サーバの第１アドレスをあらかじめ記憶しており、第１ネットワーク経路で第１アドレス設定要求メッセージを送信する。もしくは、各装置は、第１ネットワーク経路に接続するアドレス設定サーバ１００を検索するプログラムを実行することで、アドレス設定サーバ１００の通信用アドレスを取得する。あるいは、第１ネットワーク経路に接続する全ての装置に送信する、ブロードキャスト送信で第１アドレス設定要求メッセージを送信してもよい。
【００８７】
第１アドレス設定要求メッセージには、第１アドレスの設定対象の装置のＭＡＣアドレスが含まれる。従って、アドレス設定サーバ１００は、第１アドレス設定要求メッセージに含まれるＭＡＣアドレスから、第１アドレスを設定する対象装置を特定する。
【００８８】
次に、アドレス設定サーバ１００は、第１アドレス設定処理を行う（Ｓ１１０）。第１アドレス設定処理では、アドレス設定サーバ１００は、第１アドレス設定要求の送信元の装置に対して第１アドレスを動的に割り当てる（Ｓ１１１）。そして、要求元装置に第１アドレスを設定する第１アドレス設定メッセージを要求元装置に送信し（Ｓ１１２）、第１アドレス設定処理を終了する。
【００８９】
第１アドレス設定メッセージを送信するときは、第１アドレス設定対象装置は自身の第１アドレスをまだ認識していないため、第１アドレス設定メッセージを、第１アドレスを使用して個別に第１アドレス設定対象の装置に送信することはできない。そこで、アドレス設定サーバ１００は、第１アドレス設定メッセージを、ブロードキャストで送信する。
【００９０】
アドレス設定サーバ１００は、第１アドレス設定メッセージに、第１アドレス設定対象の装置のＭＡＣアドレスを設定する。第１アドレス設定メッセージを受信した装置は、第１アドレス設定メッセージに含まれるＭＡＣアドレスが、自装置のものであるかどうかを判定し、自装置のものであれば第１アドレスをメモリに記憶して設定する。
【００９１】
アドレス設定サーバ１００が、第１アドレスを割り当て、各装置に設定する処理は、例えば、従来のＤＨＣＰサーバが、各装置に対して動的にＩＰアドレスを設定する処理と同様である。
【００９２】
＜第２アドレスの設定処理＞
図８は、アドレス管理装置がスイッチコントローラ及びスイッチに第２アドレスを設定する処理のフローチャートの例を示す図である。以下図８を用いて、スイッチコントローラ及びスイッチに第２アドレスを設定する処理について説明する。
【００９３】
アドレス管理装置２００は、パケットを受信すると（Ｓ２００）、第１アドレス取得処理を行う（Ｓ２１０）。
【００９４】
第１アドレス取得処理では、アドレス管理装置２００は、受信したパケットが第１アドレス設定メッセージかどうかを判定する（Ｓ２１１）。第１アドレス設定メッセージかどうかの判定は、例えば、パケットに含まれるパケット種別から判定する。受信したパケットが第１アドレス設定メッセージでない場合（Ｓ２１１のＮｏ）、アドレス管理装置２００は、受信したパケットを宛先に転送し（Ｓ２０１）、処理を終了する。
【００９５】
受信したパケットが第１アドレス設定メッセージであった場合（Ｓ２１１のＹｅｓ）、アドレス管理装置２００は、受信したパケットから第１アドレスの設定先の装置を特定する（Ｓ２１２）。第１アドレスの設定先の装置の特定は、例えば、第１アドレス設定メッセージに含まれる第１アドレス設定対象装置のＭＡＣアドレスに基づいて行う。
【００９６】
アドレス管理装置２００は、特定した装置が第２アドレスの設定対象の装置であるかどうかを判定する（Ｓ２１３）。アドレス管理装置２００は、抽出したＭＡＣアドレスが、スイッチコントローラ及びスイッチ関連情報テーブル２３１に存在すれば、第２アドレスの設定対象の装置であると判定する。
【００９７】
図９は、スイッチコントローラ及びスイッチ関連情報テーブル２３１の例を示す図である。スイッチコントローラ及びスイッチ関連情報テーブル２３１に記憶する情報としては、「装置名」、「ＭＡＣアドレス」、「第１アドレス」、「第２アドレス」、及び「接続先スイッチコントローラ」がある。「装置名」は、例えば、スイッチコントローラ３００又はスイッチ４００の装置名である。「ＭＡＣアドレス」は、装置のＭＡＣアドレスである。「第１アドレス」は、装置の第１アドレスであり、図９（Ａ）で示すように初期値は空欄である。「第１アドレス」は、後述するＳ２１４の処理で記憶される。「第２アドレス」は、装置の第２アドレスであり、例えば、通信システム１０の管理者により静的に決定され、テーブルに格納されている。「接続先スイッチコントローラ」は、装置がスイッチである場合、それに接続するスイッチコントローラの装置名である。装置がスイッチコントローラである場合、空欄である。スイッチコントローラ及びスイッチ関連情報テーブル２３１は、例えば、システム管理者により、アドレス管理装置２００のメモリに記憶される。システム管理者は、例えば、スイッチコントローラ及びスイッチの第２アドレスを静的に決定し、アドレス管理装置２００に記憶する。
【００９８】
アドレス管理装置２００は、パケット内のＭＡＣアドレスが第２アドレスの設定対象の装置であると判定した場合（Ｓ２１３のＹｅｓ）、受信パケットから第１アドレスを抽出し、スイッチコントローラ及びスイッチ関連情報テーブル２３１に記憶する（Ｓ２１４）。第１アドレスを記憶した後のスイッチコントローラ及びスイッチ関連情報テーブル２３１は、図９（Ｂ）で示すように、取得した第１アドレスが記憶される。
【００９９】
その後、アドレス管理装置２００は、特定した装置に第１アドレス設定メッセージを転送し（Ｓ２１５）、第１アドレス設定処理を終了する。第１アドレス設定メッセージを受信したスイッチコントローラ３００及びスイッチ４００は、第１アドレス設定メッセージに含まれる第１アドレスを、自装置の第１アドレスとして設定する。
【０１００】
次に、アドレス管理装置２００は、第２アドレス設定処理（２２０）を行う。
【０１０１】
第２アドレス設定処理では、Ｓ２１２の処理で特定した装置がスイッチコントローラ３００かスイッチ４００のどちらであるかを判定する（Ｓ２２１）。アドレス管理装置２００は、スイッチコントローラ及びスイッチ関連情報テーブル２３１の「接続先スイッチコントローラ」に装置名が記憶されていればスイッチであり、空欄であればスイッチコントローラであると判定する。特定した装置がスイッチコントローラであった場合（Ｓ２２１のＹｅｓ）、スイッチコントローラの第２アドレスをスイッチコントローラ３００に設定する（Ｓ２２２）。さらに、スイッチコントローラ３００に接続するスイッチ４００の第２アドレスも、スイッチコントローラ３００に設定する（Ｓ２２３）。スイッチコントローラ３００に接続するスイッチ４００は、スイッチコントローラ及びスイッチ関連情報テーブル２３１から抽出する。例えば、図９（Ｂ）において、スイッチコントローラが「ＯＦＣ−１」である場合、それに接続するスイッチは、「接続先スイッチコントローラ」に「ＯＦＣ−１」が記憶されている「ＯＦＳ−１」，「ＯＦＳ−２」，「ＯＦＳ−３」の３台となる。
【０１０２】
Ｓ２１２の処理で特定した装置がスイッチ４００であった場合（Ｓ２２１のＮｏ）、アドレス設定装置２００は、スイッチ４００の第２アドレスをスイッチ４００に設定する（Ｓ２２４）。さらに、スイッチ４００が接続するスイッチコントローラ３００の第２アドレスも、スイッチ４００に設定する（Ｓ２２５）。スイッチ４００が接続するスイッチコントローラ３００は、スイッチコントローラ及びスイッチ関連情報テーブル２３１から抽出する。例えば、図９（Ｂ）において、スイッチが「ＯＦＳ−１」である場合、スイッチ４００が接続するスイッチコントローラは、「接続先スイッチコントローラ」に記憶されている「ＯＦＣ−１」となる。
【０１０３】
第２アドレスの設定は、アドレス管理装置２００が取得した第１アドレスを使用し、第２アドレスを設定する第２アドレス設定用メッセージを第１ネットワーク経路を経由して各装置に送信することで行う。アドレス管理装置２００は、第２アドレス設定用メッセージに、第２アドレス設定対象装置のＭＡＣアドレスと第２アドレスを含める。第２アドレス設定用メッセージを受信したスイッチコントローラ３００及びスイッチ４００は、第２アドレス設定用メッセージに含まれるＭＡＣアドレスを抽出する。抽出したＭＡＣアドレスが自装置のアドレスであった場合、自装置にメッセージ内の第２アドレスを記憶して設定し、抽出したＭＡＣアドレスが自装置のアドレスでなかった場合、自装置に接続するスイッチコントローラ又はスイッチの第２アドレスとして記憶する。
【０１０４】
なお、スイッチコントローラ３００は、複数のスイッチ４００を接続することがあるため、スイッチコントローラ３００に接続するスイッチ４００の第２アドレスを、スイッチ情報テーブル３３３に記憶する。
【０１０５】
図１０は、スイッチ情報テーブル３３３の例を示す図である。スイッチ情報テーブル３３３に記憶する情報としては、「装置名」、「ＭＡＣアドレス」、及び「第２アドレス」がある。スイッチコントローラ３００は、スイッチ情報テーブル３３３から制御対象のスイッチ４００の第２アドレスを抽出し、抽出した第２アドレスを使用して制御を行う。
【０１０６】
＜変形例＞
第１の実施の形態では、図１に示すように、アドレス管理装置２００はアドレス設定サーバ１００と第１アドレス設定対象装置との間の第１ネットワーク経路に接続している。このような接続関係の場合、アドレス設定サーバ１００が送受信するパケットは、全てアドレス管理装置２００を経由することとなり、アドレス管理装置２００は、アドレス設定サーバ１００が送受信するパケットの中継を行う必要がある。
【０１０７】
図１１は、変形例における通信システム１０の構成例を示す図である。変形例では、アドレス管理装置２００は、アドレス設定サーバ１００と第１アドレス設定対象装置との間の第１ネットワーク経路ＮＥＴ１ではなく、アドレス設定サーバ１００と通信経路ＬＩＮＥ１を介して接続される。通信経路ＬＩＮＥ１は、例えば、通信用ケーブルなどの有線であってもよいし、無線ＬＡＮなどの無線でもよい。アドレス設定サーバ１００は、スイッチコントローラ３００及びスイッチ４００に第１アドレス設定メッセージを送信するとき、アドレス管理装置２００にも、通信経路ＬＩＮＥ１を介して第１アドレス設定メッセージを送信する。
【０１０８】
または、アドレス設定サーバ１００は、スイッチコントローラ３００及びスイッチ４００に対する第１アドレス設定メッセージをアドレス管理装置２００に送信するとき、通信経路ＬＩＮＥ１を使用しないで、第１ネットワーク経路ＮＥＴ１で送信してもよい。この場合、通信経路ＬＩＮＥ１はなくてもよい。第１ネットワーク経路ＮＥＴ１で送信する場合、第１アドレス設定メッセージをブロードキャストで送信することで、第１アドレスの設定対象の装置とアドレス管理装置２００の両方に第１アドレス設定メッセージが送信される。もしくは、第１アドレスの設定対象の装置に送信する第１アドレス設定メッセージとは別に、アドレス管理装置２００にも第１アドレス設定用メッセージを送信するようにしてもよい。
【０１０９】
通信システム１０をこのように構成すると、アドレス管理装置２００は、アドレス設定サーバ１００の送受信するパケットの中継を行わない。よって、アドレス管理装置２００の処理負荷は、第１の実施の形態に比べて少なくなる。従って、アドレス管理装置２００は、処理能力が低いコンピューターで実現することができる。また、第１の実施の形態では、アドレス管理装置２００が故障や電源断により通信ができない状態になると、アドレス設定サーバ１００も第１ネットワーク経路に接続される装置と通信ができなくなってしまう。しかし、変形例では、アドレス管理装置２００の状態に依存せず、アドレス設定サーバ１００は、第１ネットワーク経路に接続する装置と通信することができる。
【０１１０】
［第２の実施の形態］
次に第２の実施の形態について説明する。
【０１１１】
＜第２アドレスの設定処理＞
図１２は、アドレス管理装置がスイッチコントローラ及びスイッチに第２アドレスを設定する処理のフローチャートの例を示す図である。第１アドレス取得処理は、図８のフローチャートと同様である。また、図１３は、スイッチが第２アドレス設定メッセージを受信したときのフローチャートの例を示す図である。以下、図１２、図１３を用いて、第１の実施の形態との差異について説明する。
【０１１２】
アドレス管理装置２００がパケットを受信し（Ｓ２００）、第１アドレス取得処理を行い（Ｓ２１０）、第２アドレス設定処理を行う（Ｓ２２０）。アドレス管理装置が行う第２アドレス設定処理が第１の実施の形態とは異なる。
【０１１３】
アドレス管理装置２００は、第２アドレス設定対象装置がスイッチコントローラ３００かどうかを判定する（Ｓ２２１）。アドレス管理装置２００は、第２アドレス設定対象装置がスイッチコントローラであった場合（Ｓ２２１のＹｅｓ）、スイッチコントローラの第２アドレスをスイッチコントローラ３００に設定する（Ｓ２２２）。第１の実施の形態では、さらにスイッチコントローラ３００に接続するスイッチの第２アドレスも設定しているが、第２の実施の形態ではスイッチの第２アドレスの設定は行わない。
【０１１４】
アドレス管理装置２００は、第２アドレス設定対象装置がスイッチ４００であった場合（Ｓ２２１のＮｏ）、スイッチ４００の第２アドレスをスイッチ４００に設定する（Ｓ２２４）。アドレス管理装置２００は、さらに、スイッチ４００が接続するスイッチコントローラ３００の第２アドレスもスイッチ４００に設定する（Ｓ２２５）。
【０１１５】
スイッチ４００は、第２アドレス設定メッセージを受信すると（Ｓ４００）、設定する第２アドレスはどの装置のものなのかを判定する（Ｓ４０１）。第２アドレスの設定対象がスイッチ４００である場合（Ｓ４０１のスイッチ）、スイッチ４００の第２アドレスをＲＡＭ４３０の第２アドレス４３２に記憶し（Ｓ４０２）、処理を終了する。
【０１１６】
第２アドレスの設定対象が、スイッチコントローラ３００であった場合（Ｓ４０１のスイッチコントローラ）、スイッチコントローラ３００の第２アドレスを、ＲＡＭ４３０のスイッチコントローラの第２アドレス４３３に記憶する（Ｓ４０３）。その後、第２の実施の形態では、スイッチコントローラ３００にスイッチ４００の第２アドレスを設定する（Ｓ４０４）。スイッチコントローラ３００にスイッチ４００の第２アドレスを設定する方法は、第２アドレス設定メッセージを使用してもよい。また、スイッチコントローラ３００と通信を行い、スイッチ４００がスイッチコントローラ３００に送信したパケットの送信元のアドレスを取得することで、スイッチコントローラ３００にスイッチ４００の第２アドレスを通知してもよい。
【０１１７】
このように、第２の実施の形態では、スイッチがスイッチコントローラに、スイッチの第２アドレスを設定している。こうすることで、スイッチコントローラは接続されるスイッチを記憶しておくことなく、各装置に第２アドレスを設定することができるため、記憶容量及び処理負荷を減少させることができる。
【０１１８】
［第３の実施の形態］
次に第３の実施の形態について説明する。
【０１１９】
＜第２アドレスの設定処理＞
図１４は、アドレス管理装置がスイッチコントローラ及びスイッチに第２アドレスを設定する処理のフローチャートの例を示す図である。第１アドレス取得処理は、図８のフローチャートと同様である。以下、図１４を用いて、第１の実施の形態との差異について説明する。
【０１２０】
アドレス管理装置２００がパケットを受信し（Ｓ２００）、第１アドレス取得処理を行う（Ｓ２１０）。その後、第３の実施の形態では、アドレス管理装置２００は前回第２アドレス設定処理を行ったときから、第２アドレスは更新されたかどうかを判定する（Ｓ２３０）。更新されたかどうかの判定対象となる第２アドレスは、アドレス管理装置２００がスイッチコントローラ及びスイッチ関連情報テーブル２３１で記憶している第２アドレスである。スイッチコントローラ及びスイッチ関連情報テーブル２３１は、例えば、通信システム１０の設計変更があった場合、管理者によって更新される。Ｓ２３０における判定方法は、例えば、アドレス管理装置２００が、第２アドレス設定処理を行った日時と、スイッチコントローラ及びスイッチ関連情報テーブルの第２アドレスを更新した日時とを記憶しておき、これらを比較することで判定する。
【０１２１】
アドレス管理装置２００は、判定の結果、前回第２アドレス設定処理を行ってから、第２アドレスが更新されていないと判定すると（Ｓ２３０のＮｏ）、第２アドレス設定処理を行わず、処理を終了する。
【０１２２】
アドレス管理装置２００は、判定の結果、前回第２アドレス設定処理を行ってから、第２アドレスが更新されていると判定すると（Ｓ２３０のＹｅｓ）、第２アドレス設定処理を行う。第２アドレス設定処理は、第１の実施の形態と同様である。
【０１２３】
第３の実施の形態では、アドレス管理装置が記憶している第２アドレスを、１回各装置に設定すると、次回記憶している第２アドレスが更新されるまで、第２アドレスの設定処理を行わない。こうすることで、同じ第２アドレスを各装置に複数回設定することを防止でき、第１ネットワークの通信量を抑制できる。
【０１２４】
＜変形例＞
第３の実施の形態の変形例では、第２アドレス設定処理を実施する契機として、アドレス管理装置が記憶している第２アドレスの更新タイミングとする。
【０１２５】
図１５は、アドレス管理装置が記憶している第２アドレスが更新されたときのフローチャートの例を示す図である。
【０１２６】
アドレス管理装置２００は、スイッチコントローラ及びスイッチ関連情報テーブル２３１の第２アドレスが更新されると（Ｓ２４０）、第２アドレス設定処理を行う（Ｓ２２０）。第２アドレス設定処理は、第１の実施の形態と同様である。なお、第２アドレス設定処理においては、記憶している第１アドレスを使用するが、例えば、第１アドレス設定メッセージをまだ受信しておらず、第１アドレスを記憶していない場合、第２アドレス設定処理を行わず処理を終了する。この場合、第１アドレス設定メッセージを受信したときに、図１４のフローチャートに従い、第１アドレスを取得し（Ｓ２１０）、第２アドレス設定処理を行う（Ｓ２２０）。以降、スイッチコントローラ及びスイッチ関連情報テーブル２３１の第２アドレスが更新されると、第２アドレス設定処理を行う。
【０１２７】
第３の実施の形態の変形例では、第２アドレスが更新されたタイミングで第２アドレス設定処理を行う。このように、記憶している第１アドレスを使用して第２アドレスを設定することで、次の第１アドレス設定メッセージの受信を待たずに、更新した第２アドレスを各装置に設定することができる。
【０１２８】
［第４の実施の形態］
次に第４の実施の形態について説明する。
【０１２９】
＜通信システムの構成例＞
図１６は、第４の実施の形態における通信システム１０の構成例を示す図である。
【０１３０】
第４の実施の形態では、第１の実施の形態における通信システム１０に、さらに監視装置３５０を有する。監視装置３５０は、第１ネットワーク経路及び第２ネットワーク経路に接続する。
【０１３１】
監視装置３５０は、スイッチコントローラ３００及びスイッチ４００が第２ネットワーク経路を介して送受信するパケットを監視する。第２ネットワーク経路は制御用ネットワーク経路であり、前述したように、セキュリティ性が高いネットワーク経路である。そのため、監視装置３５０を設置し、第２ネットワーク経路を監視する。監視装置３５０は、例えば、第２ネットワーク経路に、スイッチコントローラ３００及びスイッチ４００−１，２以外の装置が送受信する不正なパケットが流れていないかどうか監視する。また、監視装置３５０は、通信を許可されていない端末装置からの不正なパケットが流れていないかどうか監視する。監視装置３５０は、不正なパケットを一定数検知すると、不正な端末装置が第２ネットワーク経路にアクセスしようとしていると判断する。このような場合、監視装置３５０は、例えばモニタなどの表示部に警告メッセージを表示し、システム管理者に対処を促す。
【０１３２】
監視装置３５０は、スイッチコントローラ３００及びスイッチ４００と同様に、アドレス設定サーバ１００に第１アドレスを設定され、アドレス管理装置２００に第２アドレスを設定される。監視装置３５０は、第２ネットワーク経路に接続するスイッチコントローラ３００及びスイッチ４００の第２アドレスも、アドレス管理装置２００に設定される。第２アドレスは、管理者により静的に決定され、アドレス管理装置２００に記憶される固定のアドレスである。監視装置３５０は、設定されたスイッチコントローラ３００及びスイッチ４００の第２アドレス以外のアドレスが、第２ネットワーク経路内に流れているかどうかを監視する。第２ネットワーク経路に、管理者が決定した第２アドレス以外のアドレスのパケットを発見した場合、管理者が認識していない装置が第２ネットワーク経路に接続しているということである。すなわち、不正な端末装置が第２ネットワーク経路にアクセスしていると判断でき、不正な端末に対して適切な対処をすることで、第２ネットワーク経路のセキュリティが維持できる。
【０１３３】
このように、第２ネットワーク経路上のパケットを監視する監視装置３５０を設置することで、第２ネットワーク経路のセキュリティを向上させることができる。
【０１３４】
以上まとめると、付記のようになる。
【０１３５】
(付記１)
パケットを中継するスイッチと、
第２ネットワーク経路内で使用する第２アドレスを使用して前記スイッチの制御を行うスイッチコントローラと、
前記スイッチ及び前記スイッチコントローラと第１ネットワーク経路を介して通信可能であり、前記スイッチコントローラ又は前記スイッチからの要求に応答して、前記要求元のスイッチコントローラ又はスイッチに前記第１ネットワーク経路内で使用する第１アドレスを割当てるアドレス割当メッセージを、前記要求元のスイッチコントローラ及び前記スイッチに送信するアドレス設定サーバと、
前記第１ネットワーク経路内に設けられ、前記アドレス割当メッセージから前記スイッチコントローラ及び前記スイッチの前記第１アドレスそれぞれを取得するアドレス取得処理を行い、前記取得した第１アドレスを使用して前記スイッチコントローラ及び前記スイッチにそれぞれ前記第２アドレスを設定するアドレス設定処理を行うアドレス管理装置と
を有する通信システム。
【０１３６】
（付記２）
前記アドレス管理装置は、前記第１ネットワーク経路内を伝播する前記アドレス割当メッセージを受信したとき、前記アドレス取得処理を行い、
さらに、前記受信したアドレス割当メッセージを前記スイッチコントローラ又は前記スイッチに転送する
付記１記載の通信システム。
【０１３７】
（付記３）
前記アドレス設定サーバは、前記スイッチコントローラ及び前記スイッチに対する前記アドレス割当メッセージを、前記アドレス管理装置にも送信し、
前記アドレス管理装置は、前記アドレス割当メッセージを受信したとき、前記アドレス取得処理を行う
付記１記載の通信システム。
【０１３８】
（付記４）
前記アドレス管理装置は、前記アドレス設定処理において、さらに、前記スイッチコントローラに対して前記スイッチの第２アドレスを設定し、前記スイッチに対して前記スイッチコントローラの第２アドレスを設定する
付記１記載の通信システム。
【０１３９】
（付記５）
前記アドレス管理装置は、前記アドレス設定処理において、さらに、前記スイッチに対して前記スイッチコントローラの第２アドレスを設定し、
前記スイッチは、設定された前記スイッチコントローラの第２アドレスを使用して、前記スイッチの第２アドレスを前記スイッチコントローラに設定する
付記１記載の通信システム。
【０１４０】
（付記６）
前記通信システムは、さらに、前記第２ネットワーク経路内に監視装置を有し、
前記監視装置は、前記スイッチコントローラ及び前記スイッチ間の通信を監視する
付記１記載の通信システム。
【０１４１】
（付記７）
前記アドレス管理装置は、前記スイッチコントローラ及び前記スイッチの前記第２アドレスを記憶し、
前記アドレス割当メッセージを受信したとき、前記記憶している第２アドレスが前回アドレス設定処理を行ったときから更新されている場合に前記アドレス設定処理を行う
付記２記載の通信システム。
【０１４２】
（付記８）
前記アドレス管理装置は、前記スイッチコントローラ及びスイッチの第２アドレスを記憶し、
前記アドレス割当メッセージを受信したとき、前記アドレス割当メッセージから取得した前記第１アドレスを記憶し、
前記記憶している第２アドレスが更新されたとき、前記記憶した第１アドレスを使用して前記アドレス設定処理を行う
付記２記載の通信システム。
【０１４３】
（付記９）
前記スイッチコントローラは、前記スイッチの制御として、前記スイッチが接続する前記端末装置の認証に関する情報を前記スイッチに前記スイッチの第２アドレスを使用して送信し、
前記スイッチは、前記端末装置の認証に関する情報を設定し、前記端末装置からパケットを受信したときに、前記設定した認証に関する情報に基づいて、前記端末装置から受信したパケットの認証を行う
付記１記載の通信システム。
【０１４４】
（付記１０)
前記アドレス管理装置は、
前記取得した第１アドレスを使用して、前記コントローラ及びスイッチの稼働状態を監視する
付記１記載の通信システム。
【０１４５】
（付記１１）
パケットを中継するスイッチと第２ネットワーク経路を介して通信可能であり、前記第２ネットワーク経路内の第２アドレスを使用して前記スイッチの制御を行うスイッチコントローラ、及びアドレス設定サーバが接続する第１ネットワーク経路内に設けられるアドレス管理装置であって、
前記アドレス設定サーバが、前記スイッチコントローラ又は前記スイッチに送信するメッセージであって、前記スイッチコントローラ又は前記スイッチからの要求に応答して、前記スイッチコントローラ又は前記スイッチに前記第１ネットワーク経路内で使用する第１アドレスを割り当てるアドレス割当メッセージから、前記スイッチコントローラ及び前記スイッチの前記第１アドレスを取得するアドレス取得処理部と、
前記取得した第１アドレスを使用して前記スイッチコントローラ及び前記スイッチにそれぞれ前記第２アドレスを設定するアドレス設定処理部と
を有するアドレス管理装置。
【符号の説明】
【０１４６】
１０…通信システム                        １００…アドレス設定サーバ
１１０…ＣＰＵ                            １２０…ストレージ
１３０…ＲＡＭ                            １４０…ＮＩＣ
２００…アドレス管理装置                  ２１０…ＣＰＵ
２２０…ストレージ                        ２３０…ＲＡＭ
２３１…スイッチコントローラ及びスイッチ関連情報テーブル
２４０…ＮＩＣ                            ２４１…ＮＩＣ
３００…スイッチコントローラ              ３１０…ＣＰＵ
３２０…ストレージ                        ３３０…ＲＡＭ
３３３…スイッチ情報テーブル              ３４０…ＮＩＣ
３４１…ＮＩＣ                            ３５０…監視装置
４００…スイッチ                          ４１０…ＣＰＵ
４２０…ストレージ                        ４３０…ＲＡＭ
４４０…ＮＩＣ                            ４４１…ＮＩＣ
５００…端末装置                          ５１０…ＣＰＵ
５２０…ストレージ                        ５３０…ＲＡＭ
５４０…ＮＩＣ                            ６０１…ハブ
６０２…ハブ                              ７００…ゲートウェイ
８００…外部ネットワーク                  ９００…情報処理装置
【図２】
2017059868.tif 000003
【図３】
2017059868.tif 000004
【図４】
2017059868.tif 000005
【図５】
2017059868.tif 000006
【図６】
2017059868.tif 000007
【図７】
2017059868.tif 000008
【図８】
2017059868.tif 000009
【図９】
2017059868.tif 000010
【図１０】
2017059868.tif 000011
【図１２】
2017059868.tif 000012
【図１３】
2017059868.tif 000013
【図１４】
2017059868.tif 000014
【図１５】
2017059868.tif 000015
【図１】
2017059868.tif 000016
【図１１】
2017059868.tif 000017
【図１６】
2017059868.tif 000018