(57)【特許請求の範囲】
【請求項１】
複数の機器をネットワークに接続するためのスイッチングハブ装置であって，
各ポートが受信したデータから，各ポートに接続された機器に設定されたＩＰアドレスを取得する手段と，
各ポートと各ポートに接続された機器に設定されたＩＰアドレスとの対応を記録する手段と，
ＩＰアドレスの重複を検出する手段と，
ＩＰアドレスの重複が検出された場合に，各ポートに接続された機器で使用されていないＩＰアドレスを代替ＩＰアドレスとして取得し，その代替ＩＰアドレスをＩＰアドレスの重複が検出されたポートに割り当てる手段と，
前記ＩＰアドレスの重複が検出されたポートと割り当てられた代替ＩＰアドレスとの対応を記録する手段と，
前記代替ＩＰアドレスが割り当てられたポートがデータを受信した場合に，受信データの送信元ＩＰアドレスを受信ポートに対応する代替ＩＰアドレスに変換する手段と，
前記代替ＩＰアドレスが割り当てられたポートにデータを送信する場合に，送信データの宛先ＩＰアドレスを送信ポートに対応するＩＰアドレスに変換する手段とを備える
ことを特徴とするスイッチングハブ装置。
【請求項２】
請求項１に記載のスイッチングハブ装置において，
前記各ポートに接続された機器に設定されたＩＰアドレスを取得する手段は，各ポートが受信したＡＲＰデータから，各ポートに接続された機器に設定されたＩＰアドレスを取得する
ことを特徴とするスイッチングハブ装置。
【請求項３】
請求項１または請求項２に記載のスイッチングハブ装置において，
あらかじめ複数のＩＰアドレスをプールする手段を備え，
前記代替ＩＰアドレスをＩＰアドレスの重複が検出されたポートに割り当てる手段は，ＩＰアドレスの重複が検出された場合に，前記ＩＰアドレスをプールする手段から各ポートに接続された機器で使用されていないＩＰアドレスを代替ＩＰアドレスとして取得し，その代替ＩＰアドレスをＩＰアドレスの重複が検出されたポートに割り当てる
ことを特徴とするスイッチングハブ装置。
【請求項４】
請求項３に記載のスイッチングハブ装置において，
ＩＰアドレスの設定状態を管理するＩＰアドレス管理テーブルをさらに備え，
ＩＰアドレスの重複が検出された場合に，前記ＩＰアドレス管理テーブルに基づいて既に他のポートに割り当て済みのＩＰアドレスを判断し，前記ＩＰアドレスをプールする手段から各ポートに接続された機器で使用されていないＩＰアドレスを代替ＩＰアドレスとして取得し，新たに使用されたＩＰアドレスを前記ＩＰアドレス管理テーブルに設定する
ことを特徴とするスイッチングハブ装置。
【請求項５】
ネットワークに接続された機器に設定されたＩＰアドレスの重複の検出と，重複するＩＰアドレスの変換とを，スイッチングハブ装置で自動的に行う重複ＩＰアドレス自動変換方法であって，
前記スイッチングハブ装置が，
各ポートが受信したデータから，各ポートに接続された機器に設定されたＩＰアドレスを取得する過程と，
各ポートと各ポートに接続された機器に設定されたＩＰアドレスとの対応を記録する過程と，
ＩＰアドレスの重複を検出する過程と，
ＩＰアドレスの重複が検出された場合に，各ポートに接続された機器で使用されていないＩＰアドレスを代替ＩＰアドレスとして取得し，その代替ＩＰアドレスをＩＰアドレスの重複が検出されたポートに割り当てる過程と，
前記ＩＰアドレスの重複が検出されたポートと割り当てられた代替ＩＰアドレスとの対応を記録する過程と，
前記代替ＩＰアドレスが割り当てられたポートがデータを受信した場合に，受信データの送信元ＩＰアドレスを受信ポートに対応する代替ＩＰアドレスに変換する過程と，
前記代替ＩＰアドレスが割り当てられたポートにデータを送信する場合に，送信データの宛先ＩＰアドレスを送信ポートに対応するＩＰアドレスに変換する過程とを有する
ことを特徴とする重複ＩＰアドレス自動変換方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，ＴＣＰ／ＩＰによる通信環境において，重複ＩＰアドレス（Duplicate IP address）発生による通信障害を自動的に回避することが可能なスイッチングハブ装置および重複ＩＰアドレス自動変換方法に関するものである。
【背景技術】
【０００２】
ＴＣＰ／ＩＰによる通信環境では，ネットワークに接続されたワークステーションやサーバなどの機器にＩＰアドレスを割り当てて使用する。このとき，ネットワークの管理者や各端末利用者が任意にＩＰアドレスの設定を行うと，同じＩＰアドレスを複数の機器に設定してしまうことがあり，それによってＩＰアドレスの衝突が発生する場合がある。ＩＰアドレスの衝突が発生した場合には，後からネットワークに参加した機器は通信不可能となる。
【０００３】
ＩＰアドレスの重複を回避するために，ＤＨＣＰ（Dynamic Host Configuration Protocol ）によって，接続された端末に対してＩＰアドレスの自動割り当てを行う技術がある（例えば，特許文献１参照）。特許文献１では，ネットワークに接続された端末は，ＩＰアドレスを割り当てるようにＤＨＣＰ要求を送信する。ＤＨＣＰサーバは自らが記憶するＩＰアドレスのうちの１つを送信し，そのＩＰアドレスがＤＨＣＰ要求を行った端末に割り当てられる。ＤＨＣＰサーバがＩＰアドレスを管理するため，ＩＰアドレスの重複を回避することができる。
【０００４】
また，ＤＨＣＰを用いずにＩＰアドレスの自動割り当てを行う技術もある（例えば，特許文献２参照）。特許文献２では，各クライアントがあらかじめ共通のＩＰアドレスをそれぞれ設定し，サーバがその共通ＩＰアドレスに対してＡＲＰ要求をブロードキャストする。各クライアントは，サーバからのＡＲＰ要求を受信した時刻をもとに自ＩＰアドレスを更新し，更新されたＩＰアドレスが付いたＡＲＰ応答をサーバに送信する。ＩＰアドレスが重なった場合には，サーバが未使用のＩＰアドレスをＩＰアドレスが重なったクライアントに割り当てる。
【特許文献１】特開２００１−０３６５６１号公報
【特許文献２】特許第３１３４８２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ネットワークシステムのテスト環境などでは，手作業でＩＰアドレスの設定を行うことも多いため，設定ミスによって重複ＩＰアドレスが発生してしまうということがよくある。ＤＨＣＰサーバを準備すれば，ＤＨＣＰサーバからＩＰアドレスを入手するように各機器に設定を行うことにより，この問題を解決することが可能である。しかし，テスト環境などでは，ＤＨＣＰサーバを準備しなくても，また端末にＩＰアドレスを自動設定するための特別なクライアントソフトを用意しなくても，簡単な設定で端末をハブに接続するだけでネットワーク通信が可能となる環境を構築できるようにすることが望まれる。
【０００６】
上述の従来技術では，上記の問題に対処するために，ＩＰアドレスの自動割り当てを行うためのサーバの準備や，各機器でＩＰアドレスを自動設定するための準備が必要となる。例えば，特許文献１では，ＤＨＣＰサーバの準備が必要となり，各端末にはＤＨＣＰサーバにＤＨＣＰ要求を行うためのソフトウェアの準備やＤＨＣＰサーバの指定などの設定が必要となる。また，特許文献２でも，ＩＰアドレスを管理する機能を備えるサーバや，自動でＩＰアドレスを設定する専用のクライアントソフトが必要となる。
【０００７】
本発明は，上記の問題点の解決を図り，特にＩＰアドレスの自動割り当てを行うためのサーバの準備や，各機器でＩＰアドレスを自動設定するための準備をしなくても，より簡易にＩＰアドレスの衝突の発生を回避してＴＣＰ／ＩＰによる通信環境の利用が可能となる技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は，上記の課題を解決するため，スイッチングハブ装置が，各ポートに接続された機器に設定されたＩＰアドレスを取得し，重複ＩＰアドレスが検出された場合には，重複が検出されたポートに代替ＩＰアドレスを設定し，以後，代替ＩＰアドレスが設定されたポートに係わる通信について，ＩＰアドレスの自動変換を行うことを特徴とする。
【０００９】
具体的には，本発明は，複数の機器をネットワークに接続するためのスイッチングハブ装置であって，各ポートが受信したデータから，各ポートに接続された機器に設定されたＩＰアドレスを取得する手段と，各ポートと各ポートに接続された機器に設定されたＩＰアドレスとの対応を記録する手段と，ＩＰアドレスの重複を検出する手段と，ＩＰアドレスの重複が検出された場合に，各ポートに接続された機器で使用されていないＩＰアドレスを代替ＩＰアドレスとして取得し，その代替ＩＰアドレスをＩＰアドレスの重複が検出されたポートに割り当てる手段と，ＩＰアドレスの重複が検出されたポートと割り当てられた代替ＩＰアドレスとの対応を記録する手段と，代替ＩＰアドレスが割り当てられたポートがデータを受信した場合に，受信データの送信元ＩＰアドレスを受信ポートに対応する代替ＩＰアドレスに変換する手段と，代替ＩＰアドレスが割り当てられたポートにデータを送信する場合に，送信データの宛先ＩＰアドレスを送信ポートに対応するＩＰアドレスに変換する手段とを備えることを特徴とする。
【００１０】
このように，ＩＰアドレスの変換はスイッチングハブ装置で自動的に行われるため，スイッチングハブ装置に接続された各機器は，自らのＩＰアドレスが他の機器のＩＰアドレスと重複しているのか否かをまったく意識せずに，自らに設定されたＩＰアドレスを用いて通信を行うことができる。
【００１１】
また，上記のスイッチングハブ装置において，各ポートに接続された機器に設定されたＩＰアドレスを取得する手段は，各ポートが受信したＡＲＰデータから，各ポートに接続された機器に設定されたＩＰアドレスを取得することを特徴とする。
【００１２】
最近では，システムの起動時にＡＲＰパケットを用いてＩＰアドレスの重複確認を行う機器が増えてきているため，プロトコルがＡＲＰのデータからＩＰアドレスを取得することにより，迅速かつ効率よくＩＰアドレスの重複を検出できる。
【００１３】
また，上記のスイッチングハブ装置において，あらかじめ複数のＩＰアドレスをプールする手段を備え，代替ＩＰアドレスをＩＰアドレスの重複が検出されたポートに割り当てる手段は，ＩＰアドレスの重複が検出された場合に，ＩＰアドレスをプールする手段から各ポートに接続された機器で使用されていないＩＰアドレスを代替ＩＰアドレスとして取得し，その代替ＩＰアドレスをＩＰアドレスの重複が検出されたポートに割り当てることを特徴とする。
【００１４】
あらかじめ複数のＩＰアドレスをスイッチングハブ装置にプール（予約）しておくことにより，効率よく代替ＩＰアドレスの設定を行うことができる。
【発明の効果】
【００１５】
本発明によって，特にＩＰアドレスの自動割り当てを行うためのサーバの準備や，各機器でＩＰアドレスを自動設定するためのクライアントソフト等の用意をしなくても，ＩＰアドレスの衝突の発生を回避してＴＣＰ／ＩＰによる通信を行うことができるようになる。また，スイッチングハブ装置が通信ごとに重複ＩＰアドレスを自動的に変換するので，他の機器と重複するＩＰアドレスが設定された機器のＩＰアドレス変更などを，あえて行う必要がなくなる。
【発明を実施するための最良の形態】
【００１６】
以下，本発明の実施の形態について，図を用いて説明する。本実施の形態では，スイッチングハブ装置の各ポートに接続された機器からのＡＲＰパケットを検出し，そのＡＲＰパケットをもとに，各ポートに接続された機器に設定されているＩＰアドレスを取得する。ＩＰアドレスが重複する場合には，代替ＩＰアドレスを用意して自動的にＩＰアドレスの変換を行い，ネットワーク上でＩＰアドレスの衝突が起こらないようにする。
【００１７】
まず，本実施の形態で重複ＩＰアドレスの検出に用いるＡＲＰについて，簡単に説明する。ＡＲＰ（Address Resolution Protocol ：アドレス解決プロトコル）は，ＩＰアドレスからＭＡＣアドレスを求めるときに利用されるプロトコルである。通信相手が同一ネットワーク上に存在する場合には，その通信相手となる機器に向けて直接ＩＰパケットを送信する。このような場合には，通信相手のＭＡＣアドレスを指定して通信を行うため，通信相手のＭＡＣアドレスを知る必要がある。このとき，ＡＲＰによって通信相手のＩＰアドレスから通信相手のＭＡＣアドレスを取得する。
【００１８】
他の機器のＭＡＣアドレスを取得したい機器は，ＡＲＰ要求を発信する。ＡＲＰ要求には，送信元ＩＰアドレス，送信元ＭＡＣアドレスとして自機器のＩＰアドレス，ＭＡＣアドレスを格納し，宛先ＩＰアドレスとして相手機器のＩＰアドレスを格納する。宛先ＭＡＣアドレスとしては，ブロードキャストを示すＭＡＣアドレス（FF:FF:FF:FF:FF:FF ）が格納される。
【００１９】
スイッチングハブ装置は，ＭＡＣアドレスとポートとの対応を記憶しており，通常は宛先ＭＡＣアドレスで指定された機器が接続されたポートにのみデータを送信する。データがＡＲＰ要求の場合には，宛先ＭＡＣアドレスがブロードキャストを示すＭＡＣアドレスであるので，機器が接続されたすべてのポートにブロードキャスト送信を行う。
【００２０】
ＡＲＰ要求を受けた各機器は，ＡＲＰ要求に格納された宛先ＩＰアドレスが自機器のＩＰアドレスであるかを確認する。ＡＲＰ要求に格納された宛先ＩＰアドレスが自機器のＩＰアドレスでない場合には，そのＡＲＰ要求を破棄する。ＡＲＰ要求に格納された宛先ＩＰアドレスが自機器のＩＰアドレスである場合には，送信元ＩＰアドレス，送信元ＭＡＣアドレスとして自機器のＩＰアドレス，ＭＡＣアドレスを格納し，宛先ＩＰアドレス，宛先ＭＡＣアドレスとしてＡＲＰ要求を出した機器のＩＰアドレス，ＭＡＣアドレス（ＡＲＰ要求の送信元ＩＰアドレス，送信元ＭＡＣアドレス）を格納したＡＲＰ応答を送信する。
【００２１】
ＡＲＰ要求を送信した機器は，受け取ったＡＲＰ応答に格納された送信元ＭＡＣアドレスから相手機器のＭＡＣアドレスを得ることができ，以後その相手機器のＭＡＣアドレスを用いて相手機器との通信を行うことができるようになる。
【００２２】
近年，このＡＲＰがＩＰアドレスの重複確認を行うために利用されるようになってきている。例えば，Ｗｉｎｄｏｗｓ（登録商標）を載せた機器などでは，システムの起動時にＡＲＰパケットを用いたＩＰアドレスの重複確認を行っている。
【００２３】
システムを起動させた機器は，宛先ＩＰアドレスに自機器のＩＰアドレスを格納したＡＲＰ要求を送信する。すなわち，送信元ＩＰアドレス，送信元ＭＡＣアドレスとして自機器のＩＰアドレス，ＭＡＣアドレスを格納し，宛先ＩＰアドレスにも自機器のＩＰアドレスを格納し，宛先ＭＡＣアドレスとしてブロードキャストを示すＭＡＣアドレスを格納したＡＲＰ要求を送信する。自機器をターゲットとするＡＲＰ要求であるので，本来ＡＲＰ応答はないはずである。しかし，他の機器とＩＰアドレスが重複している場合には，その機器からのＡＲＰ応答を受けることになる。重複ＩＰアドレスを示すＡＲＰ応答は，送信元ＩＰアドレスと宛先ＩＰアドレスとが互いに同じＩＰアドレスであり，送信元ＭＡＣアドレスと送信先ＭＡＣアドレスとが互いに異なるＭＡＣアドレスであるＡＲＰパケットである。
【００２４】
本実施の形態のスイッチングハブ装置では，このようなＡＲＰの特性を生かすことにより，各ポートに接続された機器に設定されたＩＰアドレスを取得し，ＩＰアドレスの重複を検出する。
【００２５】
図１は，本発明の実施の形態によるスイッチングハブ装置のブロック構成例を示す図である。スイッチングハブ装置１０は，基本制御部１１，重複ＩＰアドレス対応制御部１２，管理テーブル部１３を備える。
【００２６】
図２は，スイッチングハブ装置の接続状況の例を示す図である。本実施の形態において，スイッチングハブ装置１０の各ポートには，それぞれＰＣクライアント２０が接続される。また，この例では，スイッチングハブ装置１０は，ゲートウェイ３０を介して，他のネットワークに接続されている。
【００２７】
スイッチングハブ装置１０において，基本制御部１１は，スイッチングハブとしての基本制御を司る部分であり，ポートデータ入出力制御部１１０，ハブ機能基本制御部１１１を備える。
【００２８】
ポートデータ入出力制御部１１０は，スイッチングハブ装置１０の各ポートに接続されたＰＣクライアント２０からのデータ入力，ＰＣクライアント２０へのデータ出力を制御する手段である。ハブ機能基本制御部１１１は，データ転送等の基本的なハブ機能の制御を行う手段である。
【００２９】
重複ＩＰアドレス対応制御部１２は，重複ＩＰアドレスを検出し，ＩＰアドレスの自動変換を行う部分であり，プロトコルチェック制御部１２０，重複ＩＰアドレスチェック制御部１２１，マッピング管理制御部１２２，ＩＰアドレス変換制御部１２３を備える。
【００３０】
プロトコルチェック制御部１２０は，プロトコルのチェックを行う手段である。本実施の形態では，特に，ポートが受信したデータから，プロトコルがＡＲＰであるデータを検出する。
【００３１】
重複ＩＰアドレスチェック制御部１２１は，重複ＩＰアドレスのチェックを行う手段である。重複ＩＰアドレスチェック制御部１２１は，プロトコルチェック制御部１２０によりプロトコルがＡＲＰのデータを検出すると，データの送信元ＩＰアドレスが他のポートのＩＰアドレスと重複しているか否かを，ポート／ＩＰアドレス状態管理テーブル１３０を参照してチェックする。また，重複ＩＰアドレスを示すＡＲＰ応答を検出する。
【００３２】
マッピング管理制御部１２２は，重複したＩＰアドレスのマッピングを管理する手段である。重複ＩＰアドレスチェック制御部１２１がＩＰアドレスの重複を検出すると，マッピング管理制御部１２２は，ＩＰアドレスプール管理テーブル１３１から他の機器で未使用のＩＰアドレスを選択し，それを代替ＩＰアドレスとしてポート／ＩＰアドレス状態管理テーブル１３０の該当ポートの情報に記録する。また，代替ＩＰアドレスが設定されたポートのマッピングフラグをＯＮとする。なお，特にＩＰアドレスプール管理テーブル１３１でＩＰアドレスをプールしておくのではなく，スイッチングハブ装置１０が属するネットワークのネットワークアドレスを元に割り当て可能なＩＰアドレスを選択し，それを代替ＩＰアドレスとして割り当ててもよい。
【００３３】
ＩＰアドレス変換制御部１２３は，ＩＰアドレスの自動変換を行う手段である。ＩＰアドレス変換制御部１２３は，ポートがデータを受信すると，そのポートがＩＰアドレス変換を行うポートであるかをポート／ＩＰアドレス状態管理テーブル１３０で確認し，ＩＰアドレス変換を行うポートである場合（マッピングフラグがＯＮである場合）には，データの送信元ＩＰアドレスをポート／ＩＰアドレス状態管理テーブル１３０に設定された代替ＩＰアドレスに変換する。また，データの送信先のポートがＩＰアドレス変換を行うポートである場合には，宛先ＩＰアドレスが代替ＩＰアドレスである可能性があるため，宛先ＩＰアドレスをポート／ＩＰアドレス状態管理テーブル１３０に記録されている送信先のポートのＩＰアドレスに変換する。
【００３４】
管理テーブル部１３は，各テーブルを管理する部分であり，ポート／ＩＰアドレス状態管理テーブル１３０，ＩＰアドレスプール管理テーブル１３１を備える。
【００３５】
ポート／ＩＰアドレス状態管理テーブル１３０は，スイッチングハブ装置１０に接続されたＰＣクライアント２０のＩＰアドレスの設定状態を管理するテーブルである。ポート／ＩＰアドレス状態管理テーブル１３０によって，各ポートに接続されたＰＣクライアント２０に設定されているＩＰアドレスや，ＩＰアドレスが重複している場合に使用する代替ＩＰアドレスなどが管理される。
【００３６】
図３は，ポート／ＩＰアドレス状態管理テーブルの例を示す図である。ポート／ＩＰアドレス状態管理テーブル１３０は，スイッチングハブ装置１０の各ポートごとに，ポート番号，ＩＰアドレス，代替ＩＰアドレス，状態の情報から構成される。
【００３７】
図３のポート／ＩＰアドレス状態管理テーブル１３０において，ポート番号は，各ポートに割り振られた番号である。ＩＰアドレスは，そのポートに接続されたＰＣクライアント２０に設定されているＩＰアドレスである。代替ＩＰアドレスは，そのポートのＩＰアドレスが他のポートのＩＰアドレスと重複している場合に，変換用に特別に割り当てられたＩＰアドレスである。状態は，そのポートから受信されたデータのＩＰアドレスを代替ＩＰアドレスに変換するかどうかを示すフラグであり，図３の例では，“ＯＫ”がＩＰアドレスの変換不要（マッピングフラグＯＦＦ）を示し，“ｍａｐ”がＩＰアドレスの変換必要（マッピングフラグＯＮ）を示す。
【００３８】
ＩＰアドレスプール管理テーブル１３１は，代替ＩＰアドレスとして使用可能なＩＰアドレスがあらかじめ複数プール（予約）されているテーブルである。プールされているＩＰアドレスは，あらかじめ選抜されたものであってもよいし，割り当て可能なＩＰアドレスすべてであってもよい。
【００３９】
図４は，ポート／ＩＰアドレスの状態管理の例を説明する図である。ここでは，スイッチングハブ装置１０に接続されたＰＣクライアント２０は，重複ＩＰアドレス検出のためのＡＲＰ要求を発行するものとする。
【００４０】
まず，スイッチングハブ装置１０のポートｐ１にＰＣクライアント２０ａが接続されると（図４（Ａ）），ＰＣクライアント２０ａから，宛先ＩＰアドレスがＩＰアドレスｉｐ１であるＡＲＰ要求が発行される。このとき，スイッチングハブ装置１０は，ＡＲＰ要求の送信元ＩＰアドレスからＰＣクライアント２０ａのＩＰアドレスｉｐ１を取得し，そのＩＰアドレスｉｐ１をポート／ＩＰアドレス状態管理テーブル１３０のポート番号ｐ１に記録する。このとき，他のポートに同じＩＰアドレスが設定された機器が接続されていないので代替ＩＰアドレスは設定されず，ポートｐ１の状態は“ＯＫ”となる。
【００４１】
次に，スイッチングハブ装置１０のポートｐ２にＰＣクライアント２０ｂが接続されると（図４（Ｂ）），ＰＣクライアント２０ｂから，宛先ＩＰアドレスがＩＰアドレスｉｐ２であるＡＲＰ要求が発行される。このとき，スイッチングハブ装置１０は，ＡＲＰ要求の送信元ＩＰアドレスからＰＣクライアント２０ｂのＩＰアドレスｉｐ２を取得し，そのＩＰアドレスｉｐ２をポート／ＩＰアドレス状態管理テーブル１３０のポート番号ｐ２に記録する。このとき，他のポートに同じＩＰアドレスが設定された機器が接続されていないので代替ＩＰアドレスは設定されず，ポートｐ２の状態は“ＯＫ”となる。
【００４２】
さらに，スイッチングハブ装置１０のポートｐ３にＰＣクライアント２０ｃが接続されると（図４（Ｃ）），ＰＣクライアント２０ｃから，宛先ＩＰアドレスがＩＰアドレスｉｐ１であるＡＲＰ要求が発行される。このとき，スイッチングハブ装置１０は，ＡＲＰ要求の送信元ＩＰアドレスからＰＣクライアント２０ｃのＩＰアドレスｉｐ１を取得し，そのＩＰアドレスｉｐ１をポート／ＩＰアドレス状態管理テーブル１３０のポート番号ｐ３に記録する。
【００４３】
ところが，ポート／ＩＰアドレス状態管理テーブル１３０を見ると，ＩＰアドレスｉｐ１がすでにポートｐ１に接続された機器に設定されていることがわかる。スイッチングハブ装置１０は，ＩＰアドレスプール管理テーブル１３１からすでに他の機器で使用されているｉｐ１，ｉｐ２以外のＩＰアドレスｉｐｘ１を取得し，それをポートｐ３の代替ＩＰアドレスとして設定する。代替ＩＰアドレスが設定されたので，ポートｐ３の状態は“ｍａｐ”（マッピングフラグＯＮ）となる。以後，ＰＣクライアント２０ｃが通信を行う場合には，スイッチングハブ装置１０でＩＰアドレスの変換が行われる。
【００４４】
なお，ＰＣクライアント２０ｃから発行されるＡＲＰ要求の宛先ＩＰアドレスはＩＰアドレスｉｐ１であるので，ＰＣクライアント２０ａが重複ＩＰアドレスを示すＡＲＰ応答を送信することになる。スイッチングハブ装置１０は，ＰＣクライアント２０ａからのＡＲＰ応答が重複ＩＰアドレスを示すＡＲＰ応答であると判断すると，ポート／ＩＰアドレス状態管理テーブル１３０でＡＲＰ要求の発信元であるポートｐ３にすでに代替ＩＰアドレスが設定されているので，重複ＩＰアドレスを示すＡＲＰ応答を破棄する。ＰＣクライアント２０ｃは，重複ＩＰアドレスを示すＡＲＰ応答を受け取らないので，正常にネットワークが接続されているものと判断する。
【００４５】
ここで，スイッチングハブ装置１０への接続時に重複ＩＰアドレス検出のためのＡＲＰ要求を発行しない機器が接続されている場合には，ＡＲＰ要求だけで重複ＩＰアドレスが検出されない場合がある。例えば，図４において，ＰＣクライアント２０ａがその接続時にＡＲＰ要求を行っていないと，ポートｐ１の情報は記録されない。この状態でＰＣクライアント２０ｃを接続しても，ＰＣクライアント２０ｃによるＡＲＰ要求の発行段階では，重複ＩＰアドレスを検出できない。そのため，重複ＩＰアドレス検出のためのＡＲＰ要求を発行しない機器を接続するような場合には，ＡＲＰ応答についても重複ＩＰアドレスのチェックを行う必要がある。
【００４６】
図４（Ｃ）の状態でのＰＣクライアント２０同士の通信について説明する。例えば，ＰＣクライアント２０ｃがＰＣクライアント２０ｂにデータを送信する場合，ＰＣクライアント２０ｃは，普通にデータの送信元ＩＰアドレスをｉｐ１（自機器に設定されているＩＰアドレス）として送信する。スイッチングハブ装置１０は，ポートｐ３からデータを受信すると，ポート／ＩＰアドレス状態管理テーブル１３０でポートｐ３が受信したデータはＩＰアドレスの変換が必要であることを確認し，受信データの送信元ＩＰアドレスｉｐ１をポート／ＩＰアドレス状態管理テーブル１３０で設定された代替ＩＰアドレスｉｐｘ１に変換し，ＰＣクライアント２０ｂが接続されたポートｐ２に送信する。ＰＣクライアント２０ｂは，受信されたデータからＰＣクライアント２０ｃのＩＰアドレスはｉｐｘ１であると認識する。
【００４７】
ＰＣクライアント２０ｂがＰＣクライアント２０ｃにデータを送信する場合，ＰＣクライアント２０ｂは，データの宛先ＩＰアドレスをｉｐｘ１として送信する。スイッチングハブ装置１０は，ポートｐ２から受信したデータがポートｐ３のＰＣクライアント２０ｃに送信するデータであることを，データの宛先ＭＡＣアドレスで確認する。ポート／ＩＰアドレス状態管理テーブル１３０でポートｐ３がＩＰアドレスの変換を行うポートであることを確認し，データの宛先ＩＰアドレスを代替ＩＰアドレスｉｐｘ１から本当のＰＣクライアント２０ｃのＩＰアドレスｉｐ１に変換し，データをポートｐ３に送信する。
【００４８】
このように，ＰＣクライアント２０ｃ以外の機器はＰＣクライアント２０ｃのＩＰアドレスがｉｐｘ１であると認識して通信を行っているが，ＰＣクライアント２０ｃは自らに設定されたＩＰアドレスｉｐ１で通信を行っている。すなわち，ＰＣクライアント２０ｃは，自らのＩＰアドレスがＩＰアドレスの衝突回避のために代替ＩＰアドレスｉｐｘ１に変換されていることをまったく意識せずに，自らに設定されたＩＰアドレスｉｐ１を用いて通信を行うことができる。ここでは，重複ＩＰアドレスの検出からＩＰアドレスの変換までを，ＩＰアドレスの変換を行っていることを他の機器に一切通知せずに，すべてスイッチングハブ装置１０が自動的に行う。
【００４９】
次に，データ送受信時のスイッチングハブ装置１０での処理の流れについて，図５〜７を用いて説明する。
【００５０】
図５，図６は，スイッチングハブ装置によるデータ受信処理フローチャートである。スイッチングハブ装置１０は，いずれかのポートからデータを受信すると（ステップＳ１０），ポート／ＩＰアドレス状態管理テーブル１３０を参照し，データを受信したポートがＩＰアドレスの変換を行うポートであるかを確認する（ステップＳ１１）。ＩＰアドレスの変換を行うポートであれば，ポート／ＩＰアドレス状態管理テーブル１３０に従って，受信データの送信元ＩＰアドレスを代替ＩＰアドレスに変換し（ステップＳ１２），対応するプロトコル処理実行後，対象ポートへのデータ送信処理を行う（ステップＳ１３）。
【００５１】
ステップＳ１１において，データを受信したポートがＩＰアドレスの変換を行うポートでなければ，受信したデータのプロトコルがＡＲＰであるかを確認し（ステップＳ１４），受信したデータのプロトコルがＡＲＰでなければ，対応するプロトコル処理実行後，対象ポートへのデータ送信処理を行う（ステップＳ１３）。
【００５２】
ステップＳ１４において，受信したデータのプロトコルがＡＲＰであれば，それがＡＲＰ要求であるかを確認し（ステップＳ１５），ＡＲＰ要求であれば，ポート／ＩＰアドレス状態管理テーブル１３０を参照し，ＡＲＰ要求の送信元ＩＰアドレスと同一のＩＰアドレスを使用している別ポートが存在するかを確認する（ステップＳ１６）。
【００５３】
ステップＳ１６において，同一ＩＰアドレスの別ポートが存在しない場合には，ポート／ＩＰアドレス状態管理テーブル１３０に，データを受信したポートのポート番号，ＩＰアドレス，状態などの情報を記録する（ステップＳ１７）。対応するプロトコル処理実行後，対象ポートへのデータ送信処理を行う（ステップＳ１３）。
【００５４】
ステップＳ１６において，同一ＩＰアドレスの別ポートが存在する場合には，ＩＰアドレスプール管理テーブル１３１から他の機器で使用されていないＩＰアドレスを取得し，取得されたＩＰアドレスを，データを受信したポートの代替ＩＰアドレスとする（ステップＳ１８）。ポート／ＩＰアドレス状態管理テーブル１３０に，データを受信したポートのポート番号，ＩＰアドレス，代替ＩＰアドレス，状態などの情報を記録する（ステップＳ１９）。ポート／ＩＰアドレス状態管理テーブル１３０に従って，受信データの送信元ＩＰアドレスの変換を行い（ステップＳ２０），対応するプロトコル処理実行後，対象ポートへのデータ送信処理を行う（ステップＳ１３）。
【００５５】
ステップＳ１５において，データがＡＲＰ要求でなければ（ＡＲＰ応答であれば），それが重複ＩＰアドレスを示すＡＲＰ応答であるかを確認する（ステップＳ２１）。
【００５６】
ステップＳ２１において，重複ＩＰアドレスを示すＡＲＰ応答であれば，ＡＲＰ要求を受信したポートのマッピングフラグがＯＮであるか（状態の項目が“ｍａｐ”であるか）をポート／ＩＰアドレス状態管理テーブル１３０で確認し（ステップＳ２２），マッピングフラグがＯＮでなければ，ＩＰアドレスプール管理テーブル１３１から他の機器で使用されていないＩＰアドレスを取得し，取得されたＩＰアドレスをＡＲＰ要求を受信したポートの代替ＩＰアドレスとする（ステップＳ２３）。ポート／ＩＰアドレス状態管理テーブル１３０のＡＲＰ要求を受信したポートについて，代替ＩＰアドレス，状態などの情報を更新する（ステップＳ２４）。
【００５７】
ＡＲＰ応答を受信したポートの情報がポート／ＩＰアドレス状態管理テーブル１３０にあるかを確認し（ステップＳ２５），ＡＲＰ応答を受信したポートの情報がなければ，ポート／ＩＰアドレス状態管理テーブル１３０に，ＡＲＰ応答を受信したポートのポート番号，ＩＰアドレス，状態などの情報を記録する（ステップＳ２６）。
【００５８】
ポート／ＩＰアドレス状態管理テーブル１３０を参照し，ＡＲＰ応答を受信したポートのＩＰアドレスと同一のＩＰアドレスを使用している別ポートが存在するかを確認する（ステップＳ２７）。同一ＩＰアドレスの別ポートが存在しない場合には，そのままＡＲＰ応答を破棄する（ステップＳ２８）。
【００５９】
ステップＳ２７において，同一ＩＰアドレスの別ポートが存在する場合には，ＩＰアドレスプール管理テーブル１３１から他の機器で使用されていないＩＰアドレスを取得し，取得されたＩＰアドレスをＡＲＰ応答を受信したポートの代替ＩＰアドレスとする（ステップＳ２９）。ポート／ＩＰアドレス状態管理テーブル１３０のＡＲＰ応答を受信したポートについて，代替ＩＰアドレス，状態などの情報を更新し（ステップＳ３０），ＡＲＰ応答を破棄する（ステップＳ２８）。
【００６０】
ステップＳ２１において，重複ＩＰアドレスを示すＡＲＰ応答でなければ，ＡＲＰ応答を受信したポートの情報がポート／ＩＰアドレス状態管理テーブル１３０にあるかを確認し（ステップＳ３１），ＡＲＰ応答を受信したポートの情報がなければ，ポート／ＩＰアドレス状態管理テーブル１３０にＡＲＰ応答を受信したポートのポート番号，ＩＰアドレス，状態などの情報を記録する（ステップＳ３２）。
【００６１】
ポート／ＩＰアドレス状態管理テーブル１３０を参照し，ＡＲＰ応答を受信したポートのＩＰアドレスと同一のＩＰアドレスを使用している別ポートが存在するかを確認する（ステップＳ３３）。
【００６２】
ステップＳ３３において，同一ＩＰアドレスの別ポートが存在する場合には，ＩＰアドレスプール管理テーブル１３１から他の機器で使用されていないＩＰアドレスを取得し，取得されたＩＰアドレスをＡＲＰ応答を受信したポートの代替ＩＰアドレスとする（ステップＳ３４）。ポート／ＩＰアドレス状態管理テーブル１３０のＡＲＰ応答を受信したポートについて，代替ＩＰアドレス，状態などの情報を更新し（ステップＳ３５），ＡＲＰ応答を破棄する（ステップＳ２８）。
【００６３】
ステップＳ３３において，同一ＩＰアドレスの別ポートが存在しない場合には，対応するプロトコル処理実行後，対象ポートへのデータ送信処理を行う（ステップＳ１３）。
【００６４】
図７は，スイッチングハブ装置によるデータ送信処理フローチャートである。スイッチングハブ装置１０は，データ送信処理が発生すると（ステップＳ４０），ポート／ＩＰアドレス状態管理テーブル１３０を参照し，データを送信するポートがＩＰアドレスの変換を行うポートであるかを確認する（ステップＳ４１）。ＩＰアドレスの変換を行うポートであれば，ポート／ＩＰアドレス状態管理テーブル１３０に従って，送信データの宛先ＩＰアドレスを本来のＩＰアドレスに変換し（ステップＳ４２），対象ポートにデータを送信する（ステップＳ４３）。
【００６５】
以上説明したように，スイッチングハブ装置１０は，重複ＩＰアドレスを検出すると，ＩＰアドレスの重複が検出されたポートに自動的に代替ＩＰアドレスを割り当て，そのポートに関する通信が発生するたびに自動的にＩＰアドレスの変換を行うことにより，ＩＰアドレスの衝突を回避する。スイッチングハブ装置１０は重複ＩＰアドレスが検出されたことやＩＰアドレスの変換が行われていることを他の機器に通知しないので，スイッチングハブ装置１０以外の機器では，重複ＩＰアドレスの発生やＩＰアドレスの変換をまったく意識せずに，通信を行うことができる。
【００６６】
以上，本発明の実施の形態について説明したが，本発明はこれに限られるものではない。例えば，本実施の形態では重複ＩＰアドレスの検出や代替ＩＰアドレスの設定の契機としてＡＲＰの検出を用いているが，ＡＲＰ以外のプロトコル通信を契機に重複ＩＰアドレスの検出や代替ＩＰアドレスの設定を行ってもよい。
【図面の簡単な説明】
【００６７】
【図１】本発明の実施の形態によるスイッチングハブ装置のブロック構成例を示す図である。
【図２】スイッチングハブ装置の接続状況の例を示す図である。
【図３】ポート／ＩＰアドレス状態管理テーブルの例を示す図である。
【図４】ポート／ＩＰアドレスの状態管理の例を説明する図である。
【図５】スイッチングハブ装置によるデータ受信処理フローチャートである。
【図６】スイッチングハブ装置によるデータ受信処理フローチャートである。
【図７】スイッチングハブ装置によるデータ送信処理フローチャートである。
【符号の説明】
【００６８】
１０  スイッチングハブ装置
１１  基本制御部
１１０  ポートデータ入出力制御部
１１１  ハブ機能基本制御部
１２  重複ＩＰアドレス対応制御部
１２０  プロトコルチェック制御部
１２１  重複ＩＰアドレスチェック制御部
１２２  マッピング管理制御部
１２３  ＩＰアドレス変換制御部
１３  管理テーブル部
１３０  ポート／ＩＰアドレス状態管理テーブル
１３１  ＩＰアドレスプール管理テーブル
【図１】
0004676320.tif 000002
【図２】
0004676320.tif 000003
【図３】
0004676320.tif 000004
【図４】
0004676320.tif 000005
【図５】
0004676320.tif 000006
【図６】
0004676320.tif 000007
【図７】
0004676320.tif 000008