A.第1実施形態:
図1は、本発明の第1実施形態としてのネットワーク中継装置100を含むネットワーク構成図である。図1に示したネットワークは、第1のネットワークNT1と、第2のネットワークNT2とを含んでいる。本実施形態では、既存の第1のネットワークNT1に対して、ネットワーク中継装置100のDHCPサーバ機能を用いて構築された第2のネットワークNT2が接続されることを想定している。
第1のネットワークNT1は、スイッチ装置10と、ルータ装置20と、パーソナルコンピュータ30と、DNS(Domain Name System)サーバ装置40と、DHCP(Dynamic Host Configuration Protocol)サーバ装置50とを含んでいる。
スイッチ装置10は、スイッチングハブとも呼ばれる装置である。スイッチ装置10は、相互に通信可能な複数の通信ポート11〜15を備えており、各通信ポート11〜15間におけるパケットの転送を制御する。各通信ポート11〜15には、ルータ装置20と、DHCPクライアント装置としてのパーソナルコンピュータ30と、DNSサーバ装置40と、DHCPサーバ装置50と、が接続されている。
DNSサーバ装置40は、パーソナルコンピュータ30等のネットワーク機器からの要求に応じて、指定されたサーバ装置のドメイン名を、そのドメイン名に対応するIPアドレスに変換するための装置である。
DHCPサーバ装置50は、DHCPクライアント機能を持つパーソナルコンピュータ30等のネットワーク機器に対して、DHCPに基づき、IPアドレスを自動的に割り当てるための装置である。自動的に割り当てられる情報としては、IPアドレス以外にも、例えば、サブネットマスク、デフォルトゲートウェイのアドレス、DNSサーバのアドレスがある。例えば、第1のネットワークNT1においては、デフォルトゲートウェイのアドレスとして、ルータ装置20のアドレスが割り当てられる。また、DNSサーバのアドレスとして、DNSサーバ装置40のアドレスが割り当てられる。以下では、こうして割り当てられる情報をまとめて、「設定情報」と呼ぶ。なお、DHCPサーバ装置50は、DHCPサーバ機能を有する装置であればよく、単体の装置として構成されていなくても構わない。例えば、DHCPサーバ機能を有するルータ20やDHCPサーバ機能を有するDNSサーバ装置40が、DHCPサーバ装置として動作しても良い。DHCPサーバ装置50は、本願の「サーバ装置」に相当する。
ルータ装置20は、異なるネットワーク間において通信を中継する装置である。ルータ装置20は、第1のネットワークNT1とインターネットINTとの間の通信を中継する。パーソナルコンピュータ30は、スイッチ装置10およびルータ装置20を介してインターネットINTに対する通信を行うことができる。
なお、本実施形態では、スイッチ装置10に、パーソナルコンピュータ30が一台だけ接続されているが、複数のパーソナルコンピュータが接続されていてもよい。また、スイッチ装置10には、無線LANアクセスポイントが接続され、当該無線LANアクセスポイントを経由して、1台以上の端末装置が無線LANによってスイッチ装置10に接続されていてもよい。
第2のネットワークNT2は、ネットワーク中継装置100と、DHCPクライアント装置としてのパーソナルコンピュータ301,302,303とを含んでいる。
ネットワーク中継装置100は、DHCPサーバ機能を備えている。ネットワーク中継装置100は、4つ通信ポート151〜154を備えている。4つのうちの3つの通信ポート151〜153には、それぞれ、パーソナルコンピュータ301,302,303が接続されている。4つの通信ポート151〜154のうちの他の通信ポート154には、第1のネットワークNT1のスイッチ装置10が備える通信ポート15がネットワークケーブルを介して接続される。
なお、ネットワーク中継装置100には、無線LANアクセスポイントが接続され、当該無線LANアクセスポイントを経由して、1台以上の端末装置が無線LANによってネットワーク中継装置100に接続されていてもよい。また、ネットワーク中継装置100とスイッチ装置10とは、それぞれに接続された無線LANアクセスポイントを介してWDS(Wireless Distribution System)接続されていてもよい。その他、ネットワーク中継装置100とスイッチ装置10とは、それぞれに接続されたPLC(Power Line Communication)装置を介して電力線によって接続されていてもよい。
図2は、ネットワーク中継装置100の内部構成を示す説明図である。ネットワーク中継装置100は、CPU110と、RAM120と、フラッシュROM130と、スイッチコントローラ140と、相互に通信可能な4つの通信ポート151〜154とを備えている。なお、ネットワーク中継装置100が備える通信ポートの数は、複数であればよく、4つに限られない。
スイッチコントローラ140は、各通信ポート151〜154間におけるパケットの転送を制御する。このスイッチコントローラ140によって、ネットワーク中継装置100は、スイッチ装置として動作することができる。スイッチコントローラ140は、後述する制御部113からの指示に応じて、通信ポート151〜154ごとにそれぞれVLAN(Virtual LAN) IDの割り当てを行うことで、それぞれの通信ポート151〜154を異なるネットワーク(異なるセグメント)に所属させることができる。
CPU110は、フラッシュROM130に記憶されたファームウェアと呼ばれるコンピュータプログラムをRAM120にロードして実行することで、アドレス割当部111、サーバ検出部112、制御部113、として機能する。コンピュータプログラムは、記録媒体に記録されていてもよい。アドレス割当部111、サーバ検出部112、制御部113は、ASIC(Application Specific Integrated Circuit)などの集積回路を用いてハードウェア的に実現しても良い。
アドレス割当部111は、前述したDHCPサーバ機能を実現するための機能部である。アドレス割当部111は、DHCPに基づき、通信ポート151〜154に接続されたDHCPクライアント(例えば、パーソナルコンピュータ301〜303等のネットワーク機器)に対して、IPアドレス等の設定情報を自動的に割り当てる。つまり、ネットワーク中継装置100は、このアドレス割当部111によってDHCPサーバ装置として動作することができる。また、アドレス割当部111は、ネットワーク中継装置100自身にも、IPアドレス等の設定情報を割り当てることができる。更に、アドレス割当部111は、通信ポート151〜154がそれぞれ異なるネットワークに所属した際に、それぞれのネットワーク(通信ポート)に対して、個別にIPアドレス等を割り当てることができる。ただし、アドレス割当部111は、DHCPサーバ装置50が接続された通信ポートに対しては、IPアドレス等の割り当ては行わない。
サーバ検出部112は、通信ポート151〜154毎に、DHCPサーバ装置が接続されたか否かを検出する。ここで、「接続」とは、直接的に接続される場合だけではなく、スイッチ装置(例えば、スイッチ装置10)を介して接続されることも含む。
制御部113は、DHCPサーバ装置が接続された通信ポートを、他の通信ポートから分離するための制御を行う。制御部113は、異なるネットワークに所属させた通信ポート間においてルーティングを行う機能(ルーティング機能)と、異なるネットワークに所属させた通信ポート間でネットワークアドレス変換(Network Address Translation)を行う機能(NAT機能)と、を備えている。
図3は、ネットワーク中継装置100が実行するポート分離処理のフローチャートである。このポート分離処理は、DHCPサーバ装置の接続が検出された通信ポート(以下、「制御対象通信ポート」ともいう)を分離するため処理であり、ネットワーク中継装置100の起動時、および、各通信ポート151〜154のリンクアップ時に実行される。また、このポート分離処理は、ネットワーク中継装置100の起動後、定期的なタイミングでも実行される。以下では、ネットワーク中継装置100の通信ポート154に対して、スイッチ装置10を介してDHCPサーバ装置50が接続されたものとして説明する(図1参照)。
このポート分離処理が開始されると、CPU110のサーバ検出部112が、まず、各通信ポート151〜154を通じて、DHCPディスカバーメッセージをブロードキャストにより送信する(ステップS100)。DHCPディスカバーメッセージとは、同一ネットワーク内(ブロードキャストドメイン内)にDHCPサーバ装置が存在するか否かを検出するためのメッセージである。
DHCPディスカバーメッセージを送信すると、サーバ検出部112は、所定の時間内(例えば、5秒以内)に、いずれかの通信ポート151〜154を通じてDHCPオファーメッセージを受信したか否かを判断する(ステップS102)。DHCPオファーメッセージとは、DHCPディスカバーメッセージを受信したDHCPサーバ装置が、DHCPディスカバーメッセージを送信した機器に対して、割り当てるIPアドレスの候補を提案するためのメッセージである。なお、ステップS102では、サーバ検出部112は、ネットワーク中継装置100宛ではない(つまり、他の機器宛の)DHCPオファーメッセージを中継した場合にも、DHCPオファーメッセージを受信したと判断する。
サーバ検出部112が所定の時間内にDHCPオファーメッセージを受信しなかった場合には(ステップS102:NO)、どの通信ポート151〜154にもDHCPサーバ装置が接続されていないことになる。そのため、制御部113は、アドレス割当部111によってDHCPサーバ機能を作動させる(ステップS104)。こうすることにより、ネットワーク中継装置100は、通信ポート151〜154に接続された機器(パーソナルコンピュータ301〜303)に対してIPアドレス等の設定情報を割り当てることができる。
サーバ検出部112が所定の時間内にDHCPオファーメッセージを受信した場合には(ステップS102:YES)、サーバ検出部112が、いずれかの通信ポート151〜154にDHCPサーバ装置50が接続されたことを検出したことになる。そこで、制御部113は、そのDHCPオファーメッセージを送信したDHCPサーバ装置50に対して、DHCPリクエストメッセージを送信する。DHCPリクエストメッセージとは、DHCPオファーメッセージを送信したDHCPサーバ装置に対して、IPアドレスやDNSサーバアドレス、デフォルトゲートウェイアドレス等の設定情報の割り当てを要求するためのメッセージである。DHCPリクエストメッセージを送信すると、制御部113は、その送信先のDHCPサーバ装置50から設定情報を受信して取得する(ステップS106)。
設定情報を取得すると、制御部113は、その設定情報に基づき自己のIPアドレス等の通信設定を行った上で、DHCPオファーメッセージを受信した通信ポート154(制御対象通信ポート154)を通じて、インターネットINTに対して通信が可能であるか否かを判断する(ステップS108)。制御対象通信ポート154を通じてインターネットINTに対して通信が可能であれば、DHCPオファーメッセージを送信したDHCPサーバ装置50は、インターネットINTに接続を行うことのできる正常な設定情報を配布していることになる。インターネットINTに対して通信が可能であるか否かは、例えば、次の3つの手法(A),(B),(C)により判断することができる。本実施形態では、制御部113は、下記の手法(A)により、インターネットINTに対して通信が可能であるか否かを判断する。
(A)インターネットINT上に存在する特定のサーバ装置のドメイン名の名前解決を、前記ステップS106で取得されたDNSサーバアドレスに該当するDNSサーバ装置40に要求する。そして、そのDNSサーバ装置40によって、名前解決が成功した場合に、インターネットINTに対する通信が可能であると判断する手法。
(B)インターネットINT上の特定のサーバ装置に対して、Pingコマンドを実行し、正常な応答を受信した場合に、インターネットに対する通信が可能であると判断する手法。
(C)インターネットINT上の特定のHTTP(Hypertext Transfer Protocol)サーバ装置に対してHTTPリクエストを送信し、正常なHTTPレスポンスを受信した場合に、インターネットINTに対する通信が可能であると判断する手法。
制御対象通信ポート154を通じて、インターネットINTに対して通信が可能であると判断された場合には(ステップS108:YES)、制御部113は、ステップS106においてDHCPサーバ装置50から取得されたIPアドレスをそのまま自己のIPアドレスとして使用する(ステップS110)。そして、制御部113は、アドレス割当部111によるDHCPサーバ機能を停止させる(ステップS112)。
ステップS108において、制御対象通信ポート154を通じて、インターネットINTに対して通信を行うことができないと判断された場合には(ステップS108:NO)、制御部113は、ステップS106で取得されたIPアドレスを開放する(ステップS114)。そして、制御部113は、スイッチコントローラ140を制御して、制御対象通信ポート154を強制的にリンクダウンさせ、その通信ポート154の動作を停止させる。更に、制御部113は、アドレス割当部111によるDHCPサーバ機能を作動させる(ステップS116)。
以上で説明した本実施形態のネットワーク中継装置100は、通信ポート151〜154にDHCPサーバ装置50が接続され、かつ、そのDHCPサーバ装置50が正常に稼働していない場合には、DHCPサーバ装置50の接続された通信ポート154の動作を停止させて、自己のDHCPサーバ機能を作動させる。そのため、ネットワーク中継装置100のDHCPサーバ機能を用いて既にネットワークNT2が構築されている状況において、ネットワーク中継装置100の通信ポートが、不正なDHCPサーバ装置50が存在するネットワークNT1に接続されてしまった場合においても、ネットワーク中継装置100は、既に構築されているネットワークNT2を正常に稼働し続けることができる。なお、DHCPサーバ装置50が正常に稼働していない場合としては、以下のような場合がある。
(1)例えば、DHCPサーバ装置50が、IPアドレスの配布をできない場合
(2)例えば、DHCPサーバ装置50が配布する設定情報内のデフォルトゲートウェイの設定が誤っている場合
(3)例えば、DHCPサーバ装置50が配布するIPアドレスが重複している場合
また、本実施形態のネットワーク中継装置100は、通信ポート151〜154にDHCPサーバ装置50が接続された場合に、そのDHCPサーバ装置50が正常に稼働している場合には、そのDHCPサーバ装置50から割り当てられたIPアドレスを自己のIPアドレスとして設定し、自己のDHCPサーバ機能を停止させる。そのため、同一ネットワーク内にDHCPサーバ装置が重複して存在することを防止することができる。この結果、ネットワークに混乱が生じることを抑制することができる。また、ネットワーク中継装置100に接続されたパーソナルコンピュータ301〜303も、DHCPサーバ装置50から正常な設定情報の割り当てを受けてインターネットINTとの通信を行うことができる。
更に、本実施形態のネットワーク中継装置100は、自己宛のDHCPオファーメッセージだけではなく、他の機器から送信されたDHCPディスカバーメッセージに応じて送信されたDHCPオファーメッセージを中継した場合にも、DHCPサーバ装置50が接続されたと判断する。そのため、通信ポート151〜154に対して、DHCPサーバ装置が接続されたことをより的確に検出することができる。
B.第2実施形態:
第1実施形態のネットワーク中継装置100は、DHCPサーバ装置が接続された通信ポート(制御対象通信ポート)を強制的にリンクダウンさせることで、その通信ポートと他の通信ポートとの分離を行っている。これに対して、第2実施形態では、制御対象通信ポートと他の通信ポート間におけるパケットフォワーディングを停止させることで、通信ポートの分離を行う。第2実施形態のネットワーク中継装置100の構成は、第1実施形態と同一である。
図4は、第2実施形態のネットワーク中継装置100において実行されるポート分離処理のフローチャートである。本実施形態では、このポート分離処理は、いずれかの通信ポート151〜154がリンクアップしたことをCPU110が検出した際に実行される。第1実施形態と同様の処理内容については詳細な説明を省略する。以下では、図1に示した通信ポート154がリンクアップしたものとして説明する。
このポート分離処理が開始されると、CPU110は、スイッチコントローラ140を制御して、リンクアップした通信ポート154と他の通信ポート151〜153間のパケットフォワーディングを停止させる。こうすることで、リンクアップした通信ポート154が他の通信ポート151〜153から隔離される(ステップS200)。
リンクアップした通信ポート154が他の通信ポート151〜153から隔離されると、サーバ検出部112が、隔離された通信ポート154(つまり、リンクアップした通信ポート154)を通じて、DHCPディスカバーメッセージをブロードキャストにより送信する(ステップS202)。
DHCPディスカバーメッセージを送信すると、サーバ検出部112は、所定の時間内に、隔離された通信ポート154を通じてDHCPオファーメッセージを受信したか否かを判断する(ステップS204)。隔離された通信ポート154を通じてDHCPオファーメッセージが受信された場合には、その通信ポート154にDHCPサーバ装置50が接続されていることになる。なお、ステップS204では、サーバ検出部112は、ネットワーク中継装置100宛ではない(つまり、他の機器宛の)DHCPオファーメッセージを中継した場合にも、DHCPオファーメッセージを受信したと判断する。
サーバ検出部112が、所定の時間内にDHCPオファーメッセージを受信しなかった場合には(ステップS204:NO)、隔離された通信ポート154にDHCPサーバ装置50が接続されていないことになる。そこで、制御部113は、通信ポート154と他の通信ポート151〜153間のパケットフォワーディングを許可し、通信ポート154の隔離を解除する。そして、更に、制御部113は、アドレス割当部111によるDHCPサーバ機能を作動させる(ステップS206)。
サーバ検出部112が、所定の時間内にDHCPオファーメッセージを受信した場合には(ステップS204:YES)、隔離された通信ポート154にDHCPサーバ装置50が接続されたことを検出したことになる。そこで、制御部113は、そのDHCPオファーメッセージを送信したDHCPサーバ装置50に対してDHCPリクエストメッセージを送信し、DHCPサーバ装置50から設定情報を取得する(ステップS208)。
設定情報を取得すると、制御部113は、取得された設定情報に基づき、隔離された通信ポート154(制御対象通信ポート154)にIPアドレスを割り当て、その制御対象通信ポート154を通じて、インターネットINTに対して通信が可能であるか否かを判断する(ステップS210)。制御対象通信ポート154を通じてインターネットINTに対して通信が可能であれば、DHCPオファーメッセージを送信したDHCPサーバ装置50は、インターネットに接続可能な正常な設定情報を配布していることになる。
制御対象通信ポート154を通じてインターネットINTに対して通信が可能であると判断された場合には(ステップS210:YES)、制御部113は、制御対象通信ポート154と他の通信ポート151〜153間のパケットフォワーディングを許可することで、通信ポート154の隔離を解除する(ステップS212)。そして、ステップS208においてDHCPサーバ装置から取得されたIPアドレスを自己のIPアドレスとして設定するとともに(ステップS214)、アドレス割当部111によるDHCPサーバ機能を停止させる(ステップS216)。
制御対象通信ポート154を通じてインターネットINTに対して通信を行うことができないと判断された場合には(ステップS210:NO)、制御部113は、制御対象通信ポート154と他の通信ポート151〜153間のパケットフォワーディングの停止を継続することで、通信ポート154の隔離を維持する(ステップS218)。そして、ステップS208で取得されたIPアドレスを開放するとともに(ステップS220)、他の通信ポート151〜153に対して、アドレス割当部111によるDHCPサーバ機能を作動させる(ステップS222)。
以上で説明した第2実施形態のネットワーク中継装置100は、DHCPサーバ装置50の接続された通信ポート154(制御対象通信ポート154)と他の通信ポート151〜153間におけるパケットフォワーディングを停止させることで、制御対象通信ポート154を他の通信ポート151〜153から隔離する。こうすることによっても、第1実施形態のネットワーク中継装置100と同様の効果を得ることができる。また、本実施形態では、リンクアップした通信ポート154を隔離してから、その通信ポート154を通じてDHCPディスカバーメッセージの送信やDHCPリクエストの送信を行う。そのため、DHCPサーバ装置50が接続されているか否かの確認やDHCPサーバ装置50が正常に稼働しているかを確認する際に送受信されるパケットが他の通信ポート151〜153に流れることがない。この結果、ネットワーク中継装置100のDHCPサーバ機能を用いて既に構築されているネットワークNT2を、安定して稼働させることができる。
C.第3実施形態:
第1実施形態のネットワーク中継装置100は、DHCPサーバ装置の接続された通信ポート(制御対象通信ポート)を強制的にリンクダウンさせることで、その通信ポートと他の通信ポートとの分離を行っている。また、第2実施形態では、制御対象通信ポートと他の通信ポート間におけるパケットフォワーディングを停止させることで、通信ポートの分離を行っている。これらに対して、第3実施形態では、制御対象通信ポートと他の通信ポートとを異なるネットワーク(異なるセグメント)に所属させる。第3実施形態のネットワーク中継装置100の構成は、第1実施形態と同一である。
図5は、第3実施形態のネットワーク中継装置100において実行されるポート分離処理のフローチャートである。本実施形態では、このポート分離処理は、いずれかの通信ポート151〜154がリンクアップしたことをCPU110が検出した際に実行される。また、本実施形態では、このポート分離処理が開始された際には、アドレス割当部111によるDHCPサーバ機能が作動しているものとする。更に、以下では、図1に示した通信ポート154がリンクアップしたものとして説明する。
このポート分離処理が開始されると、サーバ検出部112は、リンクアップした通信ポート154を通じて、DHCPディスカバーメッセージをブロードキャストにより送信する(ステップS300)。
DHCPディスカバーメッセージを送信すると、サーバ検出部112は、所定の時間内(例えば、5秒以内)に、リンクアップした通信ポート154を通じてDHCPオファーメッセージを受信したか否かを判断する(ステップS302)。リンクアップした通信ポート154を通じてDHCPオファーメッセージが受信された場合には、リンクアップした通信ポート154にDHCPサーバ装置50が接続されていることになる。なお、ステップS302では、サーバ検出部112は、ネットワーク中継装置100宛ではない(つまり、他の機器宛の)DHCPオファーメッセージを中継した場合にも、DHCPオファーメッセージを受信したと判断する。
サーバ検出部112が、所定の時間内にDHCPオファーメッセージを受信しなかった場合には(ステップS302:NO)、リンクアップした通信ポート154にDHCPサーバ装置が接続されていないことになる。そのため、制御部113は、アドレス割当部111によるDHCPサーバ機能を作動させたまま当該ポート分離処理を終了する。
サーバ検出部112が、所定の時間内にDHCPオファーメッセージを受信した場合には(ステップS302:YES)、リンクアップした通信ポート154にDHCPサーバ装置50が接続されていることになる。この場合、まず、制御部113は、アドレス割当部111によって既にIPアドレスがリースされているか否か(割り当てられているか否か)を判断する(ステップS306)。IPアドレスが既にリースされていると判断された場合には(ステップS306:YES)、ネットワーク中継装置100のDHCPサーバ機能を用いて既にネットワークNT2が構築されていることになる。そこで、制御部113は、ステップS302で受信したDHCPオファーメッセージにより提案されているIPアドレスのネットワークアドレスが、アドレス割当部111によってリースされているIPアドレス(または、ネットワーク中継装置100自体のIPアドレス)のネットワークアドレスと競合するか否かを判断する(ステップS308)。これらのネットワークアドレスが競合すると判断されれば(ステップS308:YES)、同一ネットワーク内にDHCPサーバ装置が重複して存在することになる。そのため、制御部113は、DHCPサーバ装置50の接続が検出された通信ポート154(制御対象通信ポート154)を強制的にリンクダウンさせることで、制御対象通信ポート154の動作を停止させる(ステップS310)。なお、このステップS310では、制御部113は、リンクアップした通信ポート154と、他の通信ポート151〜154間のパケットフォワーディングを停止させることで、制御対象通信ポート154を、他の通信ポート151〜154から隔離させても良い。
ステップS302で受信したDHCPオファーメッセージにより提案されているIPアドレスのネットワークアドレスが、アドレス割当部111によってリースされているIPアドレス(または、ネットワーク中継装置100自体のIPアドレス)のネットワークアドレスと競合しないと判断された場合には(ステップS308:NO)、制御対象通信ポート154に接続されたDHCPサーバ装置50と、ネットワーク中継装置100とが、異なるネットワークに属していることになる。そこで、制御部113は、制御対象通信ポート154のNAT機能を有効にするとともに(ステップS311)、制御対象通信ポート154以外の他の通信ポート151〜153を通じてインターネットに対する通信が可能か否かを判断する(ステップS312)。本実施形態では、例えば、上述した手法(C)によって、インターネットに対する通信が可能か否かを判断する。
他の通信ポート151〜153を通じてインターネットに対する通信が可能であると判断された場合には(ステップS312:YES)、ネットワーク中継装置100を用いて構築されたネットワークNT2は、既にインターネットに接続されていることになる。そこで、制御部113は、制御対象通信ポート154と、他の通信ポート151〜153、のセグメントを分割して異なるネットワークに所属させる。具体的には、制御対象通信ポート154に対して、DHCPサーバ装置50から取得されたIPアドレスを割り当て、他の通信ポート151〜153に対して、自己のアドレス割当部111によってIPアドレスを1つ割り当てる。こうすることにより、通信ポート154は、第1のネットワークNT1に所属し、通信ポート151〜153は、第2のネットワークNT2に所属することになる。そして更に、制御部113は、制御対象通信ポート154と、他の通信ポート151〜153との間に、静的経路を設定し、これらの通信ポート間(つまり、第1のネットワークNT1と第2のネットワークNT2との間)においてルーティングを開始する(ステップS314)。このステップS314以降、アドレス割当部111は、通信ポート151〜153に接続された機器に対してDHCPサーバ機能を作動させ、通信ポート154に対してはDHCPサーバ機能を作動させない。
図6は、ステップS314において静的経路を設定した場合のネットワーク構成を示す図である。ステップS314において上記のように静的経路を設定すれば、ネットワーク中継装置100を用いて構築されたネットワークNT2と、通信ポート154を介して接続されたネットワークNT1とのそれぞれにDHCPサーバ装置(DHCPサーバ機能)が存在することを許容しつつ、これらのネットワークNT1,NT2間を跨ぐ通信を行うことが可能になる。よって、図6に示すように、通信ポート154に接続されたネットワークNT1内に存在するパーソナルコンピュータ30等を、ネットワーク中継装置100を介してインターネットINTに接続させることができる。図6に示した例では、第1のネットワークNT1宛のパケットが、制御対象通信ポート154から送信され、第2のネットワークNT2宛のパケットが、他の通信ポート151〜153から送信されるように、制御部113は、静的経路を設定する。なお、上記ステップS314では、制御部113は、制御対象通信ポート154と、他の通信ポート151〜153とで、異なるVLAN IDを設定することにより、制御対象通信ポート154と、他の通信ポート151〜153とをそれぞれ異なるネットワークに所属させても良い。
上記ステップS312において、他の通信ポート151〜153を通じてインターネットに対する通信ができないと判断された場合には(ステップS312:NO)、ネットワーク中継装置100を用いて構築されたネットワークNT2は、インターネットに接続されていないことになる。そこで、制御部113は、まず、制御対象通信ポート154と、他の通信ポート151〜153のセグメントを分割して異なるネットワークに所属させる。具体的には、制御対象通信ポート154に対して、DHCPサーバ装置50から取得されたIPアドレスを割り当て、他の通信ポート151〜153に対して、自己のアドレス割当部111によってIPアドレスを1つ割り当てることにより、通信ポート154を、第1のネットワークNT1に所属させ、通信ポート151〜153を、第2のネットワークNT2に所属させる。そして更に、制御部113は、他の通信ポート151〜153に接続された機器のデフォルト経路を、制御対象通信ポート154に設定し、これらの通信ポート間(つまり、第1のネットワークNT1と第2のネットワークNT2との間)においてルーティングを開始する(ステップS316)。このステップS316以降、アドレス割当部111は、通信ポート151〜153に接続された機器に対してDHCPサーバ機能を作動させ、通信ポート154に対してはDHCPサーバ機能を作動させない。
図7は、ステップS316においてデフォルト経路を設定した場合のネットワーク構成を示す図である。ステップS316において上記のようにデフォルト経路を設定すれば、ネットワーク中継装置100を用いて構築されたネットワークNT2と、通信ポート154を介して接続されたネットワークNT1とのそれぞれにDHCPサーバ装置(DHCPサーバ機能)が存在することを許容しつつ、これらのネットワークNT1,NT2間を跨ぐ通信を行うことが可能になる。よって、ネットワーク中継装置100に接続されたパーソナルコンピュータ301〜303等を、第1のネットワークNT1を経由させてインターネットINTに接続することができる。図7に示した例では、第2のネットワークNT2以外のネットワークに対するパケットが、制御対象通信ポート154を通じて、デフォルトゲートウェイとしてのルータ20に送信されるように、制御部113は、デフォルト経路の設定を行う。デフォルトゲートウェイのアドレスは、DHCPサーバ装置50から取得することができる。なお、上記ステップS316では、制御部113は、制御対象通信ポート154と、他の通信ポート151〜153とで、異なるVLAN IDを設定することにより、制御対象通信ポート154と、他の通信ポート151〜153とをそれぞれ異なるネットワークに所属させても良い。
上記ステップS306において、ネットワーク中継装置100からIPアドレスがリースされていないと判断された場合には(ステップS306:NO)、制御部113は、DHCPオファーメッセージを送信したDHCPサーバ装置50に対して、DHCPリクエストメッセージを送信し、IPアドレス等の設定情報を取得する(ステップS320)。
設定情報を取得すると、制御部113は、その設定情報に基づき自己のIPアドレス等の通信設定を行った上で、DHCPサーバ装置50が接続された通信ポート154(制御対象通信ポート154)を通じて、インターネットINTに対して通信が可能であるか否かを判断する(ステップS322)。制御対象通信ポート154を通じてインターネットINTに対して通信が可能であれば、DHCPオファーメッセージを送信したDHCPサーバ装置50は、不正な設定情報を配布しておらず、正常に動作していることになる。
制御対象通信ポート154を通じてインターネットINTに対して通信が可能であると判断されれば(ステップS322:YES)、制御部113は、ステップS320においてDHCPサーバ装置50から取得されたIPアドレスをそのまま自己のIPアドレスとして使用する。そして、制御部113は、アドレス割当部111によるDHCPサーバ機能を停止させる(ステップS324)。こうすることによって、ネットワーク中継装置100は、スイッチ装置(ブリッジ)として動作することになる。よって、通信ポート151〜153に接続されたパーソナルコンピュータ301〜303等の機器は、通信ポート154に接続されたDHCPサーバ装置50から設定情報を取得してインターネットINTにアクセスすることが可能になる。
ステップS322において、制御対象通信ポート154を通じて、インターネットに対して通信を行うことができないと判断された場合には(ステップS322:NO)、制御部113は、まず、制御対象通信ポート154のNAT機能を有効にする(ステップS325)。そして、制御部113は、スイッチコントローラ140を制御して、制御対象通信ポート154と、他の通信ポート151〜153と、に異なるVLAN IDを設定することで、これらの通信ポートのセグメントを分割して異なるネットワークに所属させる。具体的には、通信ポート154を、第1のネットワークNT1に所属させ、通信ポート151〜153を、第2のネットワークNT2に所属させる。そして更に、制御部113は、制御対象通信ポート154と、他の通信ポート151〜153との間に、静的経路を設定し、これらの通信ポート間においてルーティング(VLAN間ルーティング)を開始する(ステップS326)。このステップS326以降、制御対象通信ポート154に対しては、アドレス割当部111によるIPアドレスの配布は行われない。一方、他の通信ポート151〜153に対しては、アドレス割当部111によるIPアドレスの配布が行われる。
図8は、ステップS326において静的経路を設定した場合のネットワーク構成を示す図である。ステップS326において上記のように静的経路を設定すれば、ネットワーク中継装置100を用いて構築されたネットワークNT2と、制御対象通信ポート154を介して接続されたネットワークNT1とのそれぞれにDHCPサーバ装置が存在することを許容しつつ、これらのネットワークNT1,NT2間を跨ぐ通信を行うことが可能になる。ただし、この状態では、ネットワークNT1およびネットワークNT2のどちらもインターネットに接続されていないことになる。また、ネットワーク中継装置100の通信ポート151〜153には、IPアドレスの固定された機器(固定IP装置305)以外の機器、つまり、DHCPクライアント装置は接続されていないことになる。図8に示した例では、第1のネットワークNT1宛のパケットが、制御対象通信ポート154から送信され、第2のネットワークNT2宛のパケットが、他の通信ポート151〜153から送信されるように、制御部113は、静的経路を設定する。
なお、上記ステップS326では、制御対象通信ポート154と、他の通信ポート151〜153と、に異なるVLAN IDを設定することで、これらの通信ポートを異なるネットワークに所属させている。これに対して、他の通信ポート151〜153を通じて配布する予定のIPアドレスのネットワークアドレスと、ステップS320で取得したIPアドレスのネットワークアドレスとが、とが競合しない場合には、制御部113は、制御対象通信ポート154に対して、DHCPサーバ装置50から取得されたIPアドレスを割り当て、他の通信ポート151〜153に対して、自己のアドレス割当部111によってIPアドレスを1つ割り当てることで、制御対象通信ポート154と他の通信ポート151〜153とを異なるネットワークに所属させても良い。
上記ステップS326において、静的経路が設定されると、制御部113は、所定の時間(例えば、30分)、待機する(ステップS328)。そして、再度、制御対象通信ポート154を通じてインターネットに対して通信が可能であるか否かを判断する(ステップS330)。インターネットに対して通信ができない場合には(ステップS330:NO)、インターネットに対して通信が可能になるまで、ステップS328の待機処理を繰り返す。
図9は、DHCPサーバ装置50が接続された通信ポート154を通じてインターネットINTに対して通信が可能になった状態を示す図である。図9のように、DHCPサーバ装置50が接続された制御対象通信ポート154を通じてインターネットINTに対して通信が可能になった場合には(ステップS330:YES)、制御部113は、再び、アドレス割当部111によってIPアドレスがリースされているかを判断する(ステップS332)。アドレス割当部111によってIPアドレスがリースされていなければ、ネットワーク中継装置100のDHCPサーバ機能を用いてネットワークが未だ構築されていないことになるので、制御部113は、セグメントの分割および静的経路に基づくルーティングを停止するとともに、アドレス割当部111によるDHCPサーバ機能を停止させる(ステップS324)。こうすることによって、ネットワーク中継装置100は、スイッチ装置(ブリッジ)として動作することになる。よって、今後、通信ポート151〜153にパーソナルコンピュータ301〜303等のDHCPクライアント装置が接続された場合には、それらの装置は、制御対象通信ポート154に接続されたDHCPサーバ装置50から設定情報を取得し、インターネットINTにアクセスすることが可能になる。
上記ステップS332において、アドレス割当部111によってIPアドレスがリースされていると判断された場合には、ネットワーク中継装置100のDHCPサーバ機能を用いて既にネットワークNT2が構築されていることになる。そこで、制御部113は、制御対象通信ポート154と、他の通信ポート151〜153と、を異なるネットワークに所属させた状態のまま、静的経路の設定を取り止め、第2のネットワークNT2以外のネットワークに対するパケットが、制御対象通信ポート154を通じて、デフォルトゲートウェイとしてのルータ20に送信されるように、デフォルト経路の設定を行う。そして、制御対象通信ポート154と他の通信ポート151〜153との間でルーティングを開始する(ステップS334)。こうするによって、図7に示したように、ネットワーク中継装置100を用いて構築されたネットワークNT2と、通信ポート154を介して接続されたネットワークNT1とのそれぞれにDHCPサーバ装置が存在することを許容しつつ、これらのネットワークNT1,NT2間を跨ぐ通信を行うことが可能になる。よって、ネットワーク中継装置100に接続されたパーソナルコンピュータ301〜303等を、第1のネットワークNT1を経由させてインターネットINTに接続することができる。
以上で説明した第3実施形態のネットワーク中継装置100は、リンクアップした通信ポート154にDHCPサーバ装置50が接続されている場合において、ネットワーク中継装置100が他の機器に対してIPアドレスをリースしているか否かに応じて、通信ポート154のセグメントの分割や、通信ポート間における静的経路あるいはデフォルト経路の設定を行う。よって、ネットワーク中継装置100に対する他の装置の接続状態に応じて、DHCPサーバ装置の競合を抑制しつつ、最適なネットワーク構成を構築することができる。
D.第4実施形態:
第1〜3実施形態のネットワーク中継装置100は、DHCPサーバ装置50の接続された通信ポート154を通じてインターネットとの通信が可能か否かに応じて処理内容を変更している。しかし、第4実施形態では、DHCPサーバ装置50の接続された通信ポート154を通じてインターネットとの通信が可能か否かの判断を行わない。第4実施形態のネットワーク中継装置100の構成は、第1実施形態と同一である。
図10は、第4実施形態のネットワーク中継装置100において実行されるポート分離処理のフローチャートである。本実施形態では、このポート分離処理は、いずれかの通信ポート151〜154がリンクアップしたことをCPU110が検出した際に実行される。また、このポート分離処理が開始された際には、アドレス割当部111によって、ネットワーク中継装置100がDHCPサーバ装置として機能している。第1実施形態と同様の処理内容については詳細な説明を省略する。以下では、図1に示した通信ポート154がリンクアップしたものとして説明する。
このポート分離処理が開始されると、CPU110は、スイッチコントローラ140を制御して、リンクアップした通信ポート154と他の通信ポート151〜153間のパケットフォワーディングを停止させる。こうすることで、リンクアップした通信ポート154が他の通信ポート151〜153から隔離される(ステップS400)。制御部113は、隔離した通信ポート154に対してはアドレス割当部111によるDHCPサーバ機能を働かせないようにする。
リンクアップした通信ポート154が他の通信ポート151〜153から隔離されると、サーバ検出部112が、隔離された通信ポート154(つまり、リンクアップした通信ポート154)を通じて、DHCPディスカバーメッセージをブロードキャストにより送信する(ステップS402)。
DHCPディスカバーメッセージを送信すると、サーバ検出部112は、隔離された通信ポート154を通じてDHCPオファーメッセージを受信したか否かを判断する(ステップS404)。隔離された通信ポート154を通じてDHCPオファーメッセージが受信された場合には(ステップS404:YES)、その通信ポート154にDHCPサーバ装置50が接続されていることになる。そこで、制御部113は、DHCPサーバ装置50が接続された通信ポート154(制御対象通信ポート154)の隔離を継続する(ステップS406)。なお、ステップS404では、サーバ検出部112は、ネットワーク中継装置100宛ではない(つまり、他の機器宛の)DHCPオファーメッセージを中継した場合にも、DHCPオファーメッセージを受信したと判断する。
サーバ検出部112が、DHCPオファーメッセージを受信しなかった場合には(ステップS404:NO)、隔離された通信ポート154にDHCPサーバ装置50が接続されていないことになる。そこで、制御部113は、通信ポート154と他の通信ポート151〜153間のパケットフォワーディングを許可することで通信ポート154の隔離を解除する(ステップS408)。
制御対象通信ポート154の隔離あるいは隔離の解除を実行した後、制御部113は、リンクアップした通信ポート154がリンクダウンしたか否かを判断する(ステップS410)。リンクダウンした場合には(ステップS410:YES)、当該ポート分離処理を終了する。一方、リンクダウンしていない場合には(ステップS410:NO)、予め設定された任意の時間(例えば、30分)が経過したか否かを判断する(ステップS412)。所定の時間が経過していなければ(ステップS412:NO)、処理をステップS404に戻すことで、DHCPオファーメッセージを受信したか否かを繰り返し判断する。これに対して、所定の時間を経過した場合には(ステップS412:YES)、処理をステップS402に戻す。こうすることで、隔離した通信ポート154がリンクダウンするまで、前述した任意の時間ごとに、隔離した通信ポート154からDHCPディスカバーメッセージが送信される。
以上で説明した第4実施形態のネットワーク中継装置100は、リンクアップした通信ポートを通じて、定期的にDHCPディスカバーメッセージを送信する。そのため、リンクアップした通信ポート154が接続されたネットワークNT1に、DHCPサーバ装置50が後から加えられた場合でも、DHCPサーバ装置が重複をしてしまうことを抑制することができる。また、ネットワーク中継装置100は、定期的にDHCPディスカバーメッセージを送信するため、例えば、ネットワーク中継装置100に予め接続されたスイッチ装置を介してDHCPサーバ装置が接続された場合にも、DHCPサーバ装置が通信ポートに接続されたことを検出することができる。更に、本実施形態では、第2実施形態と同様に、リンクアップした通信ポート154を隔離してから、その通信ポート154を通じてDHCPディスカバーメッセージの送信を行う。そのため、DHCPサーバ装置50が接続されているか否かを確認する際に送受信されるパケットが他の通信ポート151〜153に流れることがない。この結果、ネットワーク中継装置100を用いて既に構築されているネットワークNT2を、安定して稼働させることができる。
なお、上述したステップS412における任意の時間は、ユーザが変更可能であってもよい。ユーザが任意に変更可能であれば、DHCPディスカバーメッセージを頻繁に送信する装置を異常な装置として判断するDHCPサーバ装置にネットワーク中継装置100が排斥されてしまうことを抑制することができる。
E.第5実施形態:
図11は、第5実施形態のネットワーク中継装置100aの構成を示す図である。第5実施形態のネットワーク中継装置100aは、アドレス割当部111aと、サーバ検出部112aと、制御部113aと、相互に通信可能な複数の通信ポート150aと、を備えている。アドレス割当部111aと、サーバ検出部112aと、制御部113aとは、電子回路によって構成されている。
アドレス割当部111aは、DHCPに基づいて、通信ポート150aに接続されたネットワーク機器に対してアドレスの割り当てを行う。サーバ検出部112aは、複数の通信ポート150aのうちのいずれかにDHCPサーバ装置が接続されたことを検出する。制御部113aは、複数の通信ポート150aのうちのいずれかにDHCPサーバ装置が接続されたか否かに基づいて、DHCPサーバ装置が接続された通信ポートを他の通信ポートから分離するための制御を行う。
このネットワーク中継装置100aは、サーバ検出部112aにより、複数の通信ポート150aのうちのいずれかにDHCPサーバ装置が接続されたことを検出する。そして、複数の通信ポート150aのうちのいずれかにDHCPサーバ装置が接続されたことが検出された場合に、制御部113aが、そのDHCPサーバ装置が接続された通信ポートを他の通信ポートから分離する。
第5実施形態のネットワーク中継装置100aによれば、複数の通信ポート150aのうちのいずれかにDHCPサーバ装置が接続された場合に、そのDHCPサーバ装置が接続された通信ポートを他の通信ポートから分離することができるので、DHCPサーバ装置が接続された通信ポート以外の通信ポートを用いて既に構築されているネットワークに混乱が生じることを抑制することができる。
F.変形例:
上述した各実施形態のネットワーク中継装置は、ネットワークを流れるデータを中継可能な装置であれば、スイッチンググハブ装置、レイヤ2スイッチ装置、レイヤ3スイッチ装置、ルータ装置、無線LANアクセスポイント装置、パーソナルコンピュータ、NAS(ネットワークアタッチトストレージ)装置、各種サーバ装置、など、様々な装置として実現することができる。
上述した各実施形態のネットワーク中継装置は、DHCPサーバ装置が接続された通信ポートの場所を、ネットワーク管理者に報知するための報知部を備えてもよい。報知部は、例えば、表示装置や発光装置、音声発生装置によって構成することができる。また、報知部は、予め設定された宛先に、DHCPサーバ装置が接続された通信ポートの場所を示す電子メールを送信してもよい。
上記第1〜3実施形態のネットワーク中継装置は、DHCPサーバ装置が接続された通信ポートを通じてインターネットINTとの通信可能であるか否かを判断している。これに対して、DHCPサーバ装置が接続された通信ポートを通じて、特定のサーバと通信可能であるか否かを判断しても良い。特定のサーバは、例えば、ネットワーク管理者や、ネットワーク中継装置100の製造者が指定することができる。
上述した各実施形態のネットワーク中継装置が備える通信ポートは、物理的なポートであっても、論理的なポートであってもよい。論理的なポートとは、例えば、複数の物理ポートを論理的に束ねたポートである。
ネットワーク中継装置は、IEEE802.11規格に準拠する無線LAN回路を備えてもよい。そして、ネットワーク中継装置は、無線LANを通じてDHCPサーバ装置に接続されたか否かを判断し、無線LANを通じてDHCPサーバ装置に接続された場合に、無線LAN機能の停止を行ってもよい。
上記第3実施形態のネットワーク中継装置は、通信ポートにDHCPサーバ装置が接続された場合に、DHCPサーバ装置の接続された通信ポートと、他の通信ポートとを異なるネットワークに所属させた上で、これらの通信ポート間においてルーティングを行っている。これに対して、ネットワーク中継装置は、通信ポートにDHCPサーバ装置が接続された場合に、単に、DHCPサーバ装置の接続された通信ポートと、他の通信ポートとを異なるネットワークに所属させ、ルーティングを行わなくてもよい。このように、DHCPサーバ装置の接続された通信ポートと、他の通信ポートとを異なるネットワークに所属させるだけであっても、それぞれのネットワークにDHCPサーバ装置が存在することを許容することができるので、DHCPサーバ装置の重複が抑制され、ネットワークに混乱が生じることを抑制することができる。
本発明は、上述の実施形態や変形例に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現することができる。例えば、発明の概要の欄に記載した各形態中の技術的特徴に対応する実施形態、変形例中の技術的特徴は、上述の課題の一部又は全部を解決するために、あるいは、上述の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。