(57)【特許請求の範囲】
【請求項１】
ネットワーク内の装置群に設定されるレイヤ２アドレスとレイヤ３アドレスとの対応関係と、前記ネットワーク内の装置群のうち、使用可能なレイヤ３アドレスを保持する装置のレイヤ２アドレスとを記憶する記憶部にアクセス可能なコンピュータが、
前記ネットワーク内の装置群に設定されるレイヤ２アドレスの取得要求を送信する場合、前記記憶部から、前記取得要求に含まれるレイヤ３アドレスに対応する第１のレイヤ２アドレスを抽出するとともに、前記取得要求が使用可能なレイヤ３アドレスの取得要求であるときに、前記取得要求を送信する場合、前記記憶部から前記第１のレイヤ２アドレスを抽出し、
前記取得要求の宛先を、前記装置群を示す第２のレイヤ２アドレスから前記第１のレイヤ２アドレスに変換し、
前記取得要求の宛先が変換された変換後の取得要求を送信し、
前記変換後の取得要求に対応する応答を受信した場合、前記記憶部の前記第１のレイヤ２アドレスを前記応答に含まれる前記第１のレイヤ２アドレスで更新する、
処理を実行する通信方法。
【請求項２】
前記更新する処理は、
前記変換後の取得要求に対応する応答を受信しなかった場合、前記記憶部の前記第１のレイヤ２アドレスを削除する、
処理を実行する請求項１に記載の通信方法。
【請求項３】
前記コンピュータが、
前記第１のレイヤ２アドレスで更新した場合、前記第１のレイヤ２アドレスに対応するレイヤ３アドレスが前記記憶部に複数存在するか否かを判定し、
前記第１のレイヤ２アドレスに対応するレイヤ３アドレスが複数存在する場合、前記取得要求に含まれるレイヤ３アドレス以外となる残余のレイヤ３アドレスに対する擬似取得要求を、前記第１のレイヤ２アドレス宛てに送信し、
前記擬似取得要求に対応する応答を受信した場合、前記記憶部の前記残余のレイヤ３アドレスに対応する前記第１のレイヤ２アドレスを前記擬似取得要求に対応する応答に含まれる前記第１のレイヤ２アドレスで更新する、
処理を実行する請求項１に記載の通信方法。
【請求項４】
前記擬似取得要求に対応する応答に含まれる前記第１のレイヤ２アドレスで更新する処理は、
前記擬似取得要求に対応する応答を受信しなかった場合、前記記憶部の前記残余のレイヤ３アドレスに対応する前記第１のレイヤ２アドレスを削除する、
処理を実行する請求項３に記載の通信方法。
【請求項５】
ネットワーク内の装置群のうち、割当可能なレイヤ３アドレスを保持する装置の第１のレイヤ２アドレスを記憶する記憶部にアクセス可能なコンピュータが、
レイヤ３アドレスの取得要求を受信し、
前記取得要求に対応する第１の応答を送信する場合、前記記憶部から前記第１のレイヤ２アドレスと前記第１の応答から前記取得要求の送信元となる第２のレイヤ２アドレスとを抽出し、
前記第１の応答に基づいて、宛先が前記第１のレイヤ２アドレスとなる第２の応答と、宛先が前記第２のレイヤ２アドレスとなる第３の応答と、を生成し、
前記第２および第３の応答を送信する、
処理を実行する通信方法。
【請求項６】
前記コンピュータが、
前記装置群のうち、前記割当可能なレイヤ３アドレスを保持する装置に対して、レイヤ３アドレスの擬似取得要求を送信し、
前記擬似取得要求に対応する第４の応答を受信した場合、前記記憶部に前記第４の応答に含まれる前記割当可能なレイヤ３アドレスを保持する装置のレイヤ２アドレスを追加し、
前記記憶部に検出した装置のレイヤ２アドレスが追加された場合、前記第４の応答を前記装置群のうち前記割当可能なレイヤ３アドレスを保持する装置以外の他の装置に送信する、
処理を実行する請求項５に記載の通信方法。
【請求項７】
ネットワーク内の装置群に設定されるレイヤ２アドレスとレイヤ３アドレスとの対応関係と、前記ネットワーク内の装置群のうち、使用可能なレイヤ３アドレスを保持する装置のレイヤ２アドレスとを記憶する記憶部と、
前記ネットワーク内の装置群に設定されるレイヤ２アドレスの取得要求を送信する場合、前記記憶部から、前記取得要求に含まれるレイヤ３アドレスに対応する第１のレイヤ２アドレスを抽出するとともに、前記取得要求が使用可能なレイヤ３アドレスの取得要求であるときに、前記取得要求を送信する場合、前記記憶部から前記第１のレイヤ２アドレスを抽出する抽出部と、
前記取得要求の宛先を、前記装置群を示す第２のレイヤ２アドレスから前記第１のレイヤ２アドレスに変換する変換部と、
前記取得要求の宛先が変換された変換後の取得要求を送信する送信部と、
前記変換後の取得要求に対応する応答を受信した場合、前記記憶部の前記第１のレイヤ２アドレスを前記応答に含まれる前記第１のレイヤ２アドレスで更新する更新部と、
を備えることを特徴とする通信装置。
【請求項８】
ネットワーク内の装置群のうち、割当可能なレイヤ３アドレスを保持する装置の第１のレイヤ２アドレスを記憶する記憶部と、
レイヤ３アドレスの取得要求を受信する受信部と、
前記取得要求に対応する第１の応答を送信する場合、前記記憶部から前記第１のレイヤ２アドレスと前記第１の応答から前記取得要求の送信元となる第２のレイヤ２アドレスとを抽出する抽出部と、
前記第１の応答に基づいて、宛先が前記第１のレイヤ２アドレスとなる第２の応答と、宛先が前記第２のレイヤ２アドレスとなる第３の応答と、を生成する生成部と、
前記第２および第３の応答を送信する送信部と、
を備えることを特徴とする通信装置。
【請求項９】
ネットワーク内の装置群に設定されるレイヤ２アドレスとレイヤ３アドレスとの対応関係と、前記ネットワーク内の装置群のうち、使用可能なレイヤ３アドレスを保持する装置のレイヤ２アドレスとを記憶する記憶部にアクセス可能なコンピュータに、
前記ネットワーク内の装置群に設定されるレイヤ２アドレスの取得要求を送信する場合、前記記憶部から、前記取得要求に含まれるレイヤ３アドレスに対応する第１のレイヤ２アドレスを抽出するとともに、前記取得要求が使用可能なレイヤ３アドレスの取得要求であるときに、前記取得要求を送信する場合、前記記憶部から前記第１のレイヤ２アドレスを抽出し、
前記取得要求の宛先を、前記装置群を示す第２のレイヤ２アドレスから前記第１のレイヤ２アドレスに変換し、
前記取得要求の宛先が変換された変換後の取得要求を送信し、
前記変換後の取得要求に対応する応答を受信した場合、前記記憶部の前記第１のレイヤ２アドレスを前記応答に含まれる前記第１のレイヤ２アドレスで更新する、
処理を実行させる通信プログラム。
【請求項１０】
ネットワーク内の装置群のうち、割当可能なレイヤ３アドレスを保持する装置の第１のレイヤ２アドレスを記憶する記憶部にアクセス可能なコンピュータに、
レイヤ３アドレスの取得要求を受信し、
前記取得要求に対応する第１の応答を送信する場合、前記記憶部から前記第１のレイヤ２アドレスと前記第１の応答から前記取得要求の送信元となる第２のレイヤ２アドレスとを抽出し、
前記第１の応答に基づいて、宛先が前記第１のレイヤ２アドレスとなる第２の応答と、宛先が前記第２のレイヤ２アドレスとなる第３の応答と、を生成し、
前記第２および第３の応答を送信する、
処理を実行させる通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信方法、通信装置、および通信プログラムに関する。
【背景技術】
【０００２】
従来から、ネットワーク内の不特定多数の送信先に向けて、同一のデータを送信するブロードキャストを行う技術が存在する。たとえば、ＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）では、レイヤ２アドレスの解決のために、ブロードキャストを行って通信相手のレイヤ２アドレスを取得する。ブロードキャストは、ネットワーク内の不特定多数に送信するため、ネットワークに大きな負荷を与えていた。
【０００３】
ブロードキャストを抑制する技術として、たとえば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）に関し、通信回線で接続された集線装置において、接続された端末からのブロードキャストアドレスをユニキャストアドレスに変換するものがある。また、トンネル技術において、レイヤ２アドレス記憶機能を持つ中継装置を設け、ユーザ端末から取り込んだレイヤ２アドレスがブロードキャストアドレスとなるデータを、レイヤ３宛先アドレスに対応させた中継先トンネルにデータを送信する技術がある。
【０００４】
また、アドレス解決要求に応じてアドレス解決結果を返送する探索サーバを有し、レイヤ２スイッチが、端末が発行するアドレス解決のためのマルチキャストパケットを認識時、探索サーバに所定ルートを通してマルチキャストパケットを転送する技術がある。また、無線ＬＡＮにおいて、基地局内に、収容無線／優先端末にかかるレイヤ３アドレス、レイヤ２アドレス変換テーブルを持ち、送信先端末が変換テーブルに登録済みの場合、ブロードキャストアドレスをユニキャストアドレスに変換して送信する技術がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１５１５９８号公報
【特許文献２】特開２００２−３７４２７６号公報
【特許文献３】国際公開第２００５／０３２０７３号
【特許文献４】特開２００７−８１５１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した従来技術において、変換テーブルを用いてブロードキャストアドレスの変換を行うと、装置に対するレイヤ３アドレスが変更された場合、変更に対する対応が遅れて無効なデータが発行されることになり、ネットワークの負荷が増加する。また、ネットワークから装置が取り除かれた場合も、変更に対する対応が遅れ、ネットワークの負荷が増加する。また、変換テーブルを一定期間で消去すると、まだ変換が有効であったにも関わらずブロードキャストするため、ブロードキャストの抑制度合いが小さくなり、ネットワークの負荷が増加する。
【０００７】
１つの側面では、本発明は、ネットワークの負荷を抑制できる通信方法、通信装置、および通信プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一側面によれば、ネットワーク内の装置群に設定されるレイヤ２アドレスとレイヤ３アドレスとの対応関係を記憶する記憶部にアクセス可能なコンピュータが、レイヤ２アドレスの取得要求を送信する場合、記憶部から、取得要求に含まれるレイヤ３アドレスに対応する第１のレイヤ２アドレスを抽出し、取得要求の宛先を、装置群を示す第２のレイヤ２アドレスから第１のレイヤ２アドレスに変換し、取得要求の宛先が変換された変換後の取得要求を送信し、変換後の取得要求に対応する応答を受信した場合、記憶部の第１のレイヤ２アドレスを応答に含まれる第１のレイヤ２アドレスで更新する通信方法、通信装置、および通信プログラムが提案される。
【０００９】
また、本発明の他の側面によれば、ネットワーク内の装置群のうち、割当可能なレイヤ３アドレスを保持する装置の第１のレイヤ２アドレスを記憶する記憶部にアクセス可能なコンピュータが、レイヤ３アドレスの取得要求を受信し、取得要求に対応する第１の応答を送信する場合、記憶部から第１のレイヤ２アドレスと第１の応答から取得要求の送信元となる第２のレイヤ２アドレスとを抽出し、第１の応答に基づいて、宛先が第１のレイヤ２アドレスとなる第２の応答と、宛先が第２のレイヤ２アドレスとなる第３の応答と、を生成し、第２および第３の応答を送信する通信方法、通信装置、および通信プログラムが提案される。
【発明の効果】
【００１０】
本発明の一態様によれば、ネットワークの負荷の抑制を図ることができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、通信システムの動作例を示す説明図である。
【図２】図２は、通信システムの接続例を示す説明図である。
【図３】図３は、ＥＳ１のハードウェアの一例を示すブロック図である。
【図４】図４は、通信システムの機能例を示すブロック図である。
【図５】図５は、ＡＲＰキャッシュテーブルとＡＲＰ＿ＢｔｏＵテーブルの記憶内容の一例を示す説明図である。
【図６】図６は、ＭＡＣアドレス解決前にＡＲＰリクエストを受信した状態を示す説明図である。
【図７】図７は、ＭＡＣアドレス解決前にＡＲＰリプライを受信した状態を示す説明図である。
【図８】図８は、ＭＡＣアドレス解決後にＡＲＰリクエストを受信した状態を示す説明図である。
【図９】図９は、ＭＡＣアドレス解決後にＡＲＰリプライを受信した状態を示す説明図である。
【図１０】図１０は、ＩＰアドレス置換時における動作とＩＰアドレス追加時における動作の初期状態を示す説明図である。
【図１１】図１１は、ＩＰアドレス置換時における動作を示す説明図（その１）である。
【図１２】図１２は、ＩＰアドレス置換時における動作を示す説明図（その２）である。
【図１３】図１３は、ＩＰアドレス置換時における動作を示す説明図（その３）である。
【図１４】図１４は、ＩＰアドレス置換時における動作を示す説明図（その４）である。
【図１５】図１５は、ＩＰアドレス追加時における動作を示す説明図（その１）である。
【図１６】図１６は、ＩＰアドレス追加時における動作を示す説明図（その２）である。
【図１７】図１７は、ＩＰアドレス追加時における動作を示す説明図（その３）である。
【図１８】図１８は、ＩＰアドレス追加時における動作を示す説明図（その４）である。
【図１９】図１９は、ＩＰアドレスに対応するＭＡＣアドレスが変更する場合の動作を示す説明図（その１）である。
【図２０】図２０は、ＩＰアドレスに対応するＭＡＣアドレスが変更する場合の動作を示す説明図（その２）である。
【図２１】図２１は、ＩＰアドレスに対応するＭＡＣアドレスが変更する場合の動作を示す説明図（その３）である。
【図２２】図２２は、ＩＰアドレスに対応するＭＡＣアドレスが変更する場合の動作を示す説明図（その４）である。
【図２３】図２３は、ＡＲＰ＿ＢｔｏＵテーブル使用の一例を示す説明図（その１）である。
【図２４】図２４は、ＡＲＰ＿ＢｔｏＵテーブル使用の一例を示す説明図（その２）である。
【図２５】図２５は、ＤＨＣＰ＿ＢｔｏＵテーブルの記憶内容の一例を示す説明図である。
【図２６】図２６は、ＤＨＣＰサーバ登録前にＤＨＣＰＤＩＳＣＯＶＥＲを受信した状態を示す説明図（その１）である。
【図２７】図２７は、ＤＨＣＰサーバ登録前にＤＨＣＰＤＩＳＣＯＶＥＲを受信した状態を示す説明図（その２）である。
【図２８】図２８は、ＤＨＣＰサーバ登録後にＤＨＣＰＤＩＳＣＯＶＥＲを受信した状態を示す説明図（その１）である。
【図２９】図２９は、ＤＨＣＰサーバ登録後にＤＨＣＰＤＩＳＣＯＶＥＲを受信した状態を示す説明図（その２）である。
【図３０】図３０は、ＤＨＣＰサーバの停止中にＤＨＣＰＤＩＳＣＯＶＥＲを受信した状態を示す説明図（その１）である。
【図３１】図３１は、ＤＨＣＰサーバの停止中にＤＨＣＰＤＩＳＣＯＶＥＲを受信した状態を示す説明図（その２）である。
【図３２】図３２は、ＤＨＣＰサーバの停止中にＤＨＣＰＤＩＳＣＯＶＥＲを受信した状態を示す説明図（その３）である。
【図３３】図３３は、ブロードキャストデータの破棄例を示す説明図である。
【図３４】図３４は、ＡＲＰフレーム処理の一例を示すフローチャートである。
【図３５】図３５は、ＡＲＰ送信タイムアウト処理の一例を示すフローチャートである。
【図３６】図３６は、ＡＲＰフレーム受信処理の一例を示すフローチャートである。
【図３７】図３７は、ＡＲＰリクエストによるテーブル更新処理の一例を示すフローチャートである。
【図３８】図３８は、ＡＲＰリクエスト通信方式変換処理の一例を示すフローチャートである。
【図３９】図３９は、ＡＲＰリプライによるテーブル更新処理の一例を示すフローチャートである。
【図４０】図４０は、ＤＨＣＰパケット処理の一例を示すフローチャートである。
【図４１】図４１は、ＤＨＣＰ送信タイムアウト処理の一例を示すフローチャートである。
【図４２】図４２は、ＤＨＣＰパケット受信処理の一例を示すフローチャートである。
【図４３】図４３は、ＤＨＣＰＯＦＦＥＲ通信方式変換処理の一例を示すフローチャートである。
【図４４】図４４は、ＤＨＣＰ通信方式変換処理の一例を示すフローチャートである。
【図４５】図４５は、実施の形態２にかかる通信システムの機能例を示すブロック図である。
【図４６】図４６は、ＤＨＣＰサーバが追加された状態を示す説明図（その１）である。
【図４７】図４７は、ＤＨＣＰサーバが追加された状態を示す説明図（その２）である。
【図４８】図４８は、ＤＨＣＰサーバが追加された状態を示す説明図（その３）である。
【図４９】図４９は、ＤＨＣＰサーバが追加された状態を示す説明図（その４）である。
【図５０】図５０は、擬似ＤＨＣＰＤＩＳＣＯＶＥＲ送信処理の一例を示すフローチャートである。
【図５１】図５１は、実施の形態２にかかるＤＨＣＰＯＦＦＥＲ受信処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照して、開示の通信方法、通信装置、および通信プログラムの実施の形態を詳細に説明する。
【００１３】
図１は、通信システムの動作例を示す説明図である。通信システム１００は、本実施の形態１にかかる通信装置となるエンドホストサーバ（Ｅｎｄ  Ｈｏｓｔ  Ｓｅｒｖｅｒ：以下、「ＥＳ」と称する）１を含む。ＥＳ１は、内部にＶＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）１を含む。ＶＭとは、コンピュータを仮想化し、複数のＯＳを実行できるように制御する仮想マシンモニタ上で動作する仮想マシンである。また、ＥＳ１は、ネットワーク１０１に接続しており、ネットワーク１０１内の装置群に設定されるレイヤ２アドレスとレイヤ３アドレスとの対応関係を記憶するＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１にアクセス可能である。以下、“＿ＥＳｘ”は、ＥＳｘがアクセス可能なテーブルであることを示している。
【００１４】
この状態で、ＶＭ１が、レイヤ３アドレスであるＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）１に対するレイヤ２アドレスを取得するＡＲＰリクエストをブロードキャストで送信する。ＥＳ１は、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１から、ＩＰ１に対応するＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）１を抽出し、ＡＲＰリクエストの宛先を、ブロードキャストアドレスからＭＡＣ１に変換し、ユニキャスト送信する。
【００１５】
ユニキャスト送信したＡＲＰリクエストに対するＡＲＰリプライを受信した場合、ＥＳ１は、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１を、ＡＲＰリプライに含まれるＭＡＣ１で更新し、ＶＭ１にＡＲＰリプライを送信する。
【００１６】
このように、ＥＳ１は、ＡＲＰリクエストを行うブロードキャストを、記憶されたＭＡＣアドレスへのユニキャストに変換して送信し、ＡＲＰリプライで得たＭＡＣアドレスを更新する。これにより、ＥＳ１は、ブロードキャストを抑制し、また、ネットワーク変更に対応できるため、無効なデータの送信を行わないことから、ネットワーク１０１の負荷を抑制することができる。
【００１７】
図２は、通信システムの接続例を示す説明図である。通信システム１００は、ＶＭ１〜ＶＭ１０を含む。図２の例では、ＶＭ１、ＶＭ１０は、ＥＳ１上で動作しており、ＶＭ２、ＶＭ３は、ＥＳ２上で動作している。ＶＭ４〜ＶＭ９についても、図２では図示していないが、何らかのＥＳ上で動作している。また、ＶＭ１〜ＶＭ１０は、ネットワーク１０１を論理的に分離するＬＮＩＤ（Ｌｏｇｉｃａｌ  Ｎｅｔｗｏｒｋ  ＩＤ）が付与されている。（下記参考文献１参照）。
（参考文献１：スケーラブルなクラウドネットワークを実現する  ホストベース論理分離技術、［ｏｎｌｉｎｅ］、［平成２３年０８月１５日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｓｋｄｒ．ｄｙｎｄｎｓ．ｏｒｇ／ｐｒｏｃｅｅｄｉｎｇｓ／ｓａｃｓｉｓ２０１１／ＩＰＳＪ−ＳＡＣＳＩＳ２０１１０１３．ｐｄｆ＞）
【００１８】
図２の例では、ＶＭ１、ＶＭ３、ＶＭ４、ＶＭ５、ＶＭ６、ＶＭ７に、ＬＮＩＤ：１が付与されており、ＶＭ２、ＶＭ８、ＶＭ９、ＶＭ１０に、ＬＮＩＤ：２が付与されている。また、ＶＭ２〜ＶＭ９には、パケットをフィルタリングするフィルタリング装置を介してネットワーク１０１に接続されている。このような接続状況の元、たとえば、ＶＭ１は、ＡＲＰリクエストを、ＶＳＷ（Ｖｉｒｔｕａｌ  Ｓｗｉｔｃｈ）を介してＶＭ２〜ＶＭ１０にブロードキャストする。また、ＶＭ１は、ＩＰアドレスを設定する場合、ＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）に従って、ＤＨＣＰＤＩＳＣＯＶＥＲをＶＭ２〜ＶＭ１０にブロードキャストする。
【００１９】
（ＥＳ１のハードウェア）
図３は、ＥＳ１のハードウェアの一例を示すブロック図である。図３では、通信装置となるＥＳ１のハードウェアについて説明を行う。他のＥＳもＥＳ１と同様のハードウェアを有する。図３において、ＥＳ１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、ＲＯＭ（Ｒｅａｄ‐Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３０３と、を含む。また、ＥＳ１は、磁気ディスクドライブ３０４と、磁気ディスク３０５と、光ディスクドライブ３０６と、光ディスク３０７と、を含む。また、ユーザやその他の機器との入出力装置としてＥＳ１は、ディスプレイ３０８と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０９と、キーボード３１０と、マウス３１１と、を含む。また、各部はバス３１２によってそれぞれ接続されている。
【００２０】
ここで、ＣＰＵ３０１は、ＥＳ１の全体の制御を司る。ＲＯＭ３０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ３０３は、ＣＰＵ３０１のワークエリアとして使用される。磁気ディスクドライブ３０４は、ＣＰＵ３０１の制御に従って磁気ディスク３０５に対応するデータのリード／ライトを制御する。磁気ディスク３０５は、磁気ディスクドライブ３０４の制御で書き込まれたデータを記憶する。
【００２１】
光ディスクドライブ３０６は、ＣＰＵ３０１の制御に従って光ディスク３０７に対するデータのリード／ライトを制御する。光ディスク３０７は、光ディスクドライブ３０６の制御で書き込まれたデータを記憶したり、光ディスク３０７に記憶されたデータをコンピュータに読み取らせたりする。なお、ＲＯＭ３０２、磁気ディスク３０５、光ディスク３０７のいずれかの記憶装置に、本実施の形態１，２にかかる通信プログラムが格納されていてもよい。
【００２２】
ディスプレイ３０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。たとえば、ディスプレイ３０８は、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００２３】
Ｉ／Ｆ３０９は、通信回線を通じてＬＡＮ、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク１０１に接続され、このネットワーク１０１を介して他の装置に接続される。そして、Ｉ／Ｆ３０９は、ネットワーク１０１と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ３０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００２４】
キーボード３１０は、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行う。また、キーボード３１０は、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス３１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。また、ＥＳ１は、マウス３１１の代わりとして、ポインティングデバイスとして同様に機能を有するものであれば、トラックボールやジョイスティックなどであってもよい。
【００２５】
（通信システム１００の機能）
次に、通信システム１００の機能について説明する。図４は、通信システムの機能例を示すブロック図である。通信システム１００は、記憶部４１０と、抽出部４１１と、変換部４１２と、送信部４１３と、更新部４１４と、判定部４１５と、送信部４１６と、更新部４１７と、記憶部４２０と、受信部４２１と、抽出部４２２と、生成部４２３と、送信部４２４と、を含む。この制御部となる機能（抽出部４１１〜更新部４１７、受信部４２１〜送信部４２４）は、記憶装置に記憶されたプログラムをＣＰＵ３０１が実行することにより、その機能を実現する。記憶装置とは、具体的には、たとえば、図３に示したＲＯＭ３０２、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などである。または、Ｉ／Ｆ３０９を経由して他のＣＰＵが実行することにより、その機能を実現してもよい。
【００２６】
また、ＥＳ１は、記憶部４１０として、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１と、ＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ１にアクセス可能である。記憶部４１０は、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７等といった記憶装置内に存在している。同様に、ＥＳ２は、記憶部４２０として、ＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ１にアクセス可能である。記憶部４２０は、ＥＳ２のＲＡＭ、磁気ディスク、光ディスク等といった記憶装置内に存在している。なお、ＥＳ２が、ＡＲＰリクエストを送信する場合、図４に示していないが、ＥＳ２はＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ２にアクセス可能であってもよい。
【００２７】
また、図４では、記憶部４１０〜更新部４１７は、ＥＳ１の機能であることを示しており、記憶部４２０〜送信部４２４は、ＥＳ２の機能であることを示している。たとえば、ＥＳ１内のＶＭにＤＨＣＰサーバが起動している場合、ＥＳ１は、記憶部４２０〜送信部４２４を有していてもよい。また、図４では、ＥＳ１内にＶＭ１が動作しており、ＥＳ２内にＶＭ２、ＶＭ３が動作している。また、ＶＭ２にはＤＨＣＰサーバが起動している。
【００２８】
ＡＲＰ＿ＢｔｏＵテーブル１０２は、ネットワーク１０１内の装置群に設定されるレイヤ２アドレスとレイヤ３アドレスとの対応関係を記憶する。ここで、レイヤ２アドレスとは、データリンク層のアドレスであり、たとえば、ＭＡＣアドレスである。また、レイヤ３アドレスとは、ネットワーク層のアドレスであり、たとえば、ＩＰアドレスである。なお、ＡＲＰ＿ＢｔｏＵテーブル１０２の詳細は、図５にて後述する。
【００２９】
ＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ１は、割当可能なレイヤ３アドレスを保持する装置のレイヤ２アドレスを記憶する。具体的に、ＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ１は、割当可能なレイヤ３アドレスを保持するＤＨＣＰサーバのＭＡＣアドレスを記憶する。
【００３０】
また、ＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ１は、ＤＨＣＰサーバのＩＰアドレスを記憶してもよい。特に、ＤＨＣＰサーバが、ＥＳ１が属するブロードキャストドメインの外側に存在する場合、ＭＡＣアドレスではＥＳ１からＤＨＣＰサーバに到達できないため、この場合、ＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ１にＤＨＣＰサーバのＩＰアドレスを含める。また、ＤＨＣＰサーバがＥＳ１の属するブロードキャストドメインの外側に存在する場合として、たとえば、ＤＨＣＰリレーエージェントによって、ＶＭ１のブロードキャストデータを受けたルーターが、外側のＤＨＣＰサーバにデータを転送した場合である。なお、ＤＨＣＰ＿ＢｔｏＵテーブル４０１の詳細は、図２５にて後述する。
【００３１】
抽出部４１１は、レイヤ２アドレスの取得要求を送信する場合、記憶部４１０から、取得要求に含まれるレイヤ３アドレスに対応する第１のレイヤ２アドレスを抽出する機能を有する。たとえば、抽出部４１１は、レイヤ２アドレスの取得要求であるＡＲＰリクエストを送信する場合、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１から、ＡＲＰリクエストに含まれる宛先プロトコルアドレスに対応するＭＡＣアドレスを抽出する。
【００３２】
また、抽出部４１１は、取得要求が割当可能なレイヤ３アドレスの取得要求であるときに、取得要求を送信する場合、記憶部４１０から第１のレイヤ２アドレスを抽出してもよい。具体的に、抽出部４１１は、レイヤ３アドレスの取得要求となるＤＨＣＰＤＩＳＣＯＶＥＲを送信する場合、ＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ１から、ＤＨＣＰサーバのＭＡＣアドレスを抽出する。
【００３３】
また、取得要求の取得方法としては、ＥＳ１内で生成された取得要求でもよいし、他のＥＳから送信された取得要求を受信してもよい。なお、抽出された第１のレイヤ２アドレスは、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶領域に記憶される。
【００３４】
変換部４１２は、取得要求の宛先を、ネットワーク１０１内の装置群を示す第２のレイヤ２アドレスから第１のレイヤ２アドレスに変換する機能を有する。第２のレイヤ２アドレスは、たとえば、ブロードキャストＭＡＣアドレスであり、“ＦＦ−ＦＦ−ＦＦ−ＦＦ−ＦＦ−ＦＦ”である。または、第２のレイヤ２アドレスは、マルチキャストＭＡＣアドレスであってもよく、たとえば、“０１−００−５Ｅ−”で始まるＭＡＣアドレスである。
【００３５】
たとえば、変換部４１２は、ＡＲＰリクエストのヘッダ部分の宛先アドレスを、ブロードキャストＭＡＣアドレスから、抽出したＭＡＣアドレスに変換する。また、変換部４１２は、記憶部４１０に、抽出したレイヤ２アドレスに対応するレイヤ３アドレスが記憶されている場合、宛先ＩＰアドレスを、抽出したレイヤ２アドレスに対応するレイヤ３アドレスに変換してもよい。なお、変換後の取得要求は、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶領域に記憶される。
【００３６】
送信部４１３は、取得要求の宛先が変換された変換後の取得要求を送信する機能を有する。たとえば、送信部４１３は、変換後となるユニキャストのＡＲＰリクエストをＶＭ２に送信する。また、送信部４１３は、変換後のユニキャストのＤＨＣＰＤＩＳＣＯＶＥＲをＶＭ２に送信する。
【００３７】
更新部４１４は、変換後の取得要求に対応する応答を受信した場合、記憶部４１０の第１のレイヤ２アドレスを、応答に含まれる第１のレイヤ２アドレスで更新する機能を有する。たとえば、更新部４１４は、ＡＲＰリプライを受信した場合、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１のＡＲＰリクエストのＩＰアドレスに対応するＭＡＣアドレスを、ＡＲＰリプライの送信元ハードウェアアドレスで更新する。また、更新部４１４は、ＤＨＣＰＯＦＦＥＲを受信した場合、ＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ１にＤＨＣＰＯＦＦＥＲの送信元のＭＡＣアドレス、または、ＤＨＣＰＯＦＦＥＲのサーバＩＰアドレスを登録する。
【００３８】
また、更新部４１４は、変換後の取得要求に対応する応答を受信しなかった場合、記憶部の第１のレイヤ２アドレスを削除してもよい。たとえば、更新部４１４は、ＡＲＰリプライを受信しなかった場合、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１の、ＡＲＰリクエストに対応するレコードを削除する。たとえば、抽出部４１１において、抽出対象となったレコード番号を記憶しておき、ＡＲＰリプライを一定時間受信しなかった場合、更新部４１４は、記憶していたレコードを削除する。
【００３９】
同様に、更新部４１４は、ＤＨＣＰＤＩＳＣＯＶＥＲに対応するＤＨＣＰＯＦＦＥＲを受信しなかった場合、ＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ１の、ＤＨＣＰＤＩＳＣＯＶＥＲに対応するレコードを削除する。
【００４０】
判定部４１５は、第１のレイヤ２アドレスで更新した場合、第１のレイヤ２アドレスに対応するレイヤ３アドレスが記憶部４１０に複数存在するか否かを判定する機能を有する。たとえば、判定部４１５は、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１が更新された結果、ＡＲＰリプライのＭＡＣアドレスと同一のＭＡＣアドレスとなるレコードが複数存在するか否かを判定する。なお、判定結果は、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶領域に記憶される。
【００４１】
送信部４１６は、第１のレイヤ２アドレスに対応するレイヤ３アドレスが複数存在する場合、取得要求に含まれるレイヤ３アドレス以外となる残余のレイヤ３アドレスに対する擬似取得要求を、第１のレイヤ２アドレス宛てに送信する機能を有する。たとえば、送信部４１６は、ＡＲＰリプライのＭＡＣアドレスと同一のＭＡＣアドレスとなるレコードが複数存在した場合、ＡＲＰリクエストで行ったＩＰアドレス以外の残余のＩＰアドレスに対する擬似ＡＲＰリクエストを送信する。
【００４２】
更新部４１７は、擬似取得要求に対応する応答を受信した場合、記憶部４１０の残余のレイヤ３アドレスに対応する第１のレイヤ２アドレスを擬似取得要求に対応する応答に含まれる第１のレイヤ２アドレスで更新する機能を有する。
【００４３】
たとえば、擬似ＡＲＰリクエストに対するＡＲＰリプライを受信した場合を想定する。このとき、更新部４１７は、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１のうち擬似ＡＲＰリクエストのＩＰアドレスに対応するＭＡＣアドレスを、ＡＲＰリプライの送信元ハードウェアアドレスで更新する。
【００４４】
また、更新部４１７は、擬似取得要求に対応する応答を受信しなかった場合、記憶部４１０の残余のレイヤ３アドレスに対応する第１のレイヤ２アドレスを削除してもよい。たとえば、更新部４１７は、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１のうち擬似ＡＲＰリクエストのＩＰアドレスに対応するレコードを削除する。
【００４５】
受信部４２１は、レイヤ３アドレスの取得要求を受信する機能を有する。たとえば、受信部４２１は、ＤＨＣＰＤＩＳＣＯＶＥＲを受信する。なお、受信した取得要求は、ＥＳ２のＲＡＭ、磁気ディスク、光ディスクなどの記憶領域に記憶される。
【００４６】
抽出部４２２は、取得要求に対応する第１の応答を送信する場合、記憶部４２０から第１のレイヤ２アドレスと第１の応答から取得要求の送信元となる第２のレイヤ２アドレスとを抽出する機能を有する。
【００４７】
たとえば、取得要求となるＤＨＣＰＤＩＳＣＯＶＥＲに対応する第１の応答として、ブロードキャストのＤＨＣＰＯＦＦＥＲを送信する場合を想定する。このとき、抽出部４２２は、ＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ２からＤＨＣＰサーバのＶＭ３のＭＡＣアドレスと、送信するＤＨＣＰＯＦＦＥＲからＤＨＣＰＤＩＳＣＯＶＥＲの送信元であるＶＭ１のＭＡＣアドレスを抽出する。
【００４８】
また、取得要求となるＤＨＣＰＲＥＱＵＥＳＴに対応する第１の応答として、ブロードキャストのＤＨＣＰＡＣＫを送信する場合を想定する。このとき、抽出部４２２は、ＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ２から、ＤＨＣＰサーバのＶＭ３のＭＡＣアドレスと、送信するＤＨＣＰＡＣＫから、ＤＨＣＰＤＩＳＣＯＶＥＲの送信元であるＶＭ１のＭＡＣアドレスを抽出する。なお、抽出したレイヤ２アドレスは、ＥＳ２のＲＡＭ、磁気ディスク、光ディスクなどの記憶領域に記憶される。
【００４９】
生成部４２３は、第１の応答に基づいて、宛先が第１のレイヤ２アドレスとなる第２の応答と、宛先が第２のレイヤ２アドレスとなる第３の応答と、を生成する機能を有する。たとえば、生成部４２３は、ブロードキャストのＤＨＣＰＯＦＦＥＲを、宛先がＶＭ３となる他のＤＰＨＣサーバへのユニキャストのＤＨＣＰＯＦＦＥＲと、宛先がＶＭ１となるユニキャストのＤＨＣＰＯＦＦＥＲと、を生成する。また、生成部４２３は、ブロードキャストのＤＨＣＰＡＣＫを、宛先がＶＭ３となる他のＤＰＨＣサーバとなるユニキャストのＤＨＣＰＡＣＫと、宛先がＶＭ１となるユニキャストのＤＨＣＰＡＣＫと、を生成する。なお、生成した応答は、ＥＳ２のＲＡＭ、磁気ディスク、光ディスクなどの記憶領域に記憶される。
【００５０】
送信部４２４は、第２および第３の応答を送信する機能を有する。たとえば、送信部４２４は、第２の応答をＶＭ３に送信し、第３の応答をＶＭ１に送信する。
【００５１】
図５は、ＡＲＰキャッシュテーブルとＡＲＰ＿ＢｔｏＵテーブルの記憶内容の一例を示す説明図である。ＡＲＰを発行するＶＭ１は、ＡＲＰによって得た、プロトコルアドレスと、ハードウェアアドレスとのマッピング情報を保持するＡＲＰキャッシュテーブル５０１＿ＶＭ１を有する。プロトコルアドレスとは、ネットワーク層のプロトコルが用いる論理アドレスであり、たとえば、ＩＰアドレスである。ハードウェアアドレスとは、データリンク層の物理アドレスであり、たとえば、ＭＡＣアドレスである。本実施の形態では、プロトコルアドレスをＩＰアドレスであると想定し、ハードウェアアドレスをＭＡＣアドレスであると想定する。
【００５２】
ＡＲＰキャッシュテーブル５０１は、ＩＰ、ＭＡＣという２つのフィールドを含む。ＩＰフィールドには、ＩＰアドレスが格納される。ＭＡＣフィールドには、ＩＰアドレスに関連付けられているＭＡＣアドレスが格納される。ＡＲＰ＿ＢｔｏＵテーブル１０２は、ＡＲＰキャッシュテーブル５０１と同一のフィールドを有するため、説明を省略する。また、ＡＲＰ＿ＢｔｏＵテーブル１０２は、ＬＮＩＤを格納するフィールドを有していてもよい。
【００５３】
たとえば、図５に示すＡＲＰキャッシュテーブル５０１＿ＶＭ１は、“ＩＰ１”と“ＭＡＣ１”を関連付けて記憶している。また、ＡＲＰ＿ＢｔｏＵテーブル１０２は、“ＩＰ１”と“ＭＡＣ１”を関連付けて記憶し、“ＩＰ２”と“未特定”を関連付けて記憶する。なお、“未特定”とは、ＡＲＰリクエストを送信した場合にＭＡＣフィールドに登録される識別子である。
【００５４】
なお、ＡＲＰキャッシュテーブル５０１＿ＶＭ１は、レコードを保持する有効時間となるａｇｉｎｇ＿ｔｉｍｅが存在する。ａｇｉｎｇ＿ｔｉｍｅを超えると、該当のレコードは削除される。
【００５５】
以下、ＡＲＰ＿ＢｔｏＵテーブル１０２を用いて、ＥＳ１はＡＲＰブロードキャスト通信を抑制する。以下、図６〜図９では、ＡＲＰリクエストおよびＡＲＰリプライの受信時の動作を説明する。図１０〜図１４では、たとえば、ＤＨＣＰのリース期限が切れた結果ＩＰアドレスが再交付されたことにより、ＩＰアドレスが置換される場合についての動作を説明する。図１０、図１５〜図１８では、一つのインターフェースに二つ以上のアドレスを割り当てるＩＰ  ａｌｉａｓｉｎｇが行われたことにより、１つのＭＡＣアドレスに新たなＩＰアドレスが追加された場合についての動作を説明する。
【００５６】
また、図１９〜図２２では、ＩＰアドレスの割当が更新された結果、ＩＰアドレスに対応するＭＡＣアドレスが変更する場合の動作について説明する。図２３、図２４では、ＢｔｏＵテーブルへ最も効率よく登録される状態について説明する。
【００５７】
図６は、ＭＡＣアドレス解決前にＡＲＰリクエストを受信した状態を示す説明図である。図６で示す通信システム１００にて、ＥＳ１上のＶＭ１は、ＭＡＣアドレスとしてＭＡＣ１、ＩＰアドレスとしてＩＰ１が割り当てられている。さらに、ＥＳ２上のＶＭ２は、ＭＡＣアドレスとしてＭＡＣ２、ＩＰアドレスとしてＩＰ２が割り当てられており、ＥＳ２上のＶＭ３は、ＭＡＣアドレスとしてＭＡＣ３、ＩＰアドレスとしてＩＰ３が割り当てられている。また、ＡＲＰキャッシュテーブル５０１＿ＶＭ１は何も登録されていない。
【００５８】
この状態で、ＶＭ１がＩＰ２に対応するＭＡＣアドレスを尋ねるＡＲＰリクエストをブロードキャストで送信する。ＡＲＰリクエストを受信したＥＳ１は、ＡＲＰリクエストの送信元プロトコルアドレスと送信元ハードウェアアドレスから、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１に、“ＩＰ１”、“ＭＡＣ１”のレコードを追加する。さらに、ＥＳ１は、ＡＲＰリクエストの宛先プロトコルアドレスと宛先ハードウェアアドレスから、“ＩＰ２”、“未特定”のレコードを追加する。また、ＥＳ１は、ＡＲＰリクエストをＶＭ２とＶＭ３に送信する。
【００５９】
図７は、ＭＡＣアドレス解決前にＡＲＰリプライを受信した状態を示す説明図である。図７で示す通信システム１００では、図６にて送信されたＡＲＰリクエストに対応して、ＶＭ２がＭＡＣ２を設定したＡＲＰリプライを送信した状態である。
【００６０】
ＡＲＰリプライを受信したＥＳ１は、ＡＲＰリプライの送信元ハードウェアアドレスから、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１の“ＩＰ２”のレコードのＭＡＣフィールドを、“ＭＡＣ２”で更新する。また、ＥＳ１は、ＡＲＰリプライをＶＭ１に送信する。ＶＭ１は、受信したＡＰＲリプライから、ＡＲＰキャッシュテーブル５０１＿ＶＭ１に“ＩＰ２”、“ＭＡＣ２”のレコードを追加する。
【００６１】
図８は、ＭＡＣアドレス解決後にＡＲＰリクエストを受信した状態を示す説明図である。図８で示す通信システム１００では、図７にて受信したＡＲＰリプライからＡｇｉｎｇ  Ｔｉｍｅが経過し、ＡＲＰキャッシュテーブル５０１＿ＶＭ１から“ＩＰ２”、“ＭＡＣ２”のレコードが削除された状態を示している。
【００６２】
この状態で、ＶＭ１がＩＰ２に対応するＭＡＣアドレスを尋ねるＡＲＰリクエストをブロードキャストで送信する。ＡＲＰリクエストを受信したＥＳ１は、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１に、ＩＰ２に対するＭＡＣ２が登録されているため、通信方式をブロードキャストからＭＡＣ２に対するユニキャストに変換して、ＶＭ２に送信する。
【００６３】
図９は、ＭＡＣアドレス解決後にＡＲＰリプライを受信した状態を示す説明図である。図１０で示す通信システム１００では、図８にて送信されたＡＲＰリクエストに対応して、ＶＭ２がＭＡＣ２を設定したＡＲＰリプライを送信した状態である。
【００６４】
ＡＲＰリプライを受信したＥＳ１は、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１にＩＰ１に対するＭＡＣ１、ＩＰ２に対するＭＡＣ２が既に登録されているため、新たな登録をせず、ＡＲＰリプライをＶＭ１に送信する。ＶＭ１は、受信したＡＰＲリプライから、ＡＲＰキャッシュテーブル５０１＿ＶＭ１に“ＩＰ２”、“ＭＡＣ２”のレコードを追加する。
【００６５】
図１０は、ＩＰアドレス置換時における動作とＩＰアドレス追加時における動作の初期状態を示す説明図である。図１０で示す通信システム１００では、ＶＭ１、ＶＭ２、ＶＭ３に割り当てられたＩＰアドレスとＭＡＣアドレスは、図６〜図９と同一である。また、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１は、“ＩＰ１”と“ＭＡＣ１”のレコードと、“ＩＰ２”と“ＭＡＣ２”のレコードを記憶している。ＡＲＰキャッシュテーブル５０１＿ＶＭ１は、“ＩＰ２”と“ＭＡＣ２”のレコードを記憶している。この状態から、図１１〜図１４では、ＩＰアドレスが置換される場合の動作について説明し、図１５〜１８では、ＩＰアドレスが追加される場合の動作について説明を行う。
【００６６】
図１１は、ＩＰアドレス置換時における動作を示す説明図（その１）である。図１１で示す通信システム１００では、図１０で示した状態から、ＶＭ２に割り当てられたＩＰアドレスがＩＰ２からＩＰ４に置換された状態である。
【００６７】
この状態で、ＶＭ１が、ＩＰ４に対応するＭＡＣアドレスを尋ねるＡＲＰリクエストをブロードキャストで送信する。ＡＲＰリクエストを受信したＥＳ１は、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１に、ＩＰ４に対するＭＡＣアドレスが登録されていないため、ＡＲＰリクエストの通信方式をユニキャストに変換せずにブロードキャストとしてＶＭ２、ＶＭ３に送信する。また、ＥＳ１は、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１に“ＩＰ４”、“未特定”のレコードを追加する。
【００６８】
図１２は、ＩＰアドレス置換時における動作を示す説明図（その２）である。図１２で示す通信システム１００では、図８にて送信されたＡＲＰリクエストに対応して、ＶＭ２がＭＡＣ２を設定したＡＲＰリプライを送信した状態である。
【００６９】
ＡＲＰリプライを受信したＥＳ１は、ＡＲＰリプライの送信元ハードウェアアドレスから、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１の“ＩＰ４”のレコードのＭＡＣフィールドを、“ＭＡＣ２”で更新する。また、ＥＳ１は、ＡＲＰリプライをＶＭ１に送信する。ＶＭ１は、受信したＡＰＲリプライから、ＡＲＰキャッシュテーブル５０１＿ＶＭ１に“ＩＰ４”、“ＭＡＣ２”のレコードを追加する。
【００７０】
図１３は、ＩＰアドレス置換時における動作を示す説明図（その３）である。図１３で示す通信システム１００では、図１２にてＡＲＰリプライを受信した後の状態を示している。ＭＡＣ２に対するＩＰがＩＰ２とＩＰ４と、複数あるため、ＥＳ１は、ＩＰ２に対応するＭＡＣが本当にＭＡＣ２であるかを確認するために、擬似ＡＲＰリクエストをユニキャストで送信する。なお、擬似ＡＲＰリクエストとは、通常のＡＲＰリクエストと同内容ではあるが、ＶＭ１にて生成されたＡＲＰリクエストではなく、ＥＳ１にて生成されたＡＲＰリクエストである。
【００７１】
図１４は、ＩＰアドレス置換時における動作を示す説明図（その４）である。図１４で示す通信システム１００では、図１３にて、ＶＭ２に擬似ＡＲＰリクエストを送信して一定時間が経過した状態である。ＶＭ２は、ＩＰ２が割り当てられていないため、ＩＰ２に対するＡＲＰリクエストに応答しない。
【００７２】
この状態で、ＥＳ１は、ＡＲＰリクエストに対するＡＲＰリプライが一定時間経過しても受信しない場合、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１から、ＡＲＰリクエストの宛先プロトコルアドレスとなる“ＩＰ２”のレコードを削除する。このように、ＥＳ１は、ＩＰアドレスが置換された場合、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１のデータを、ＩＰアドレスの割当状況に合わせて更新することができる。
【００７３】
図１５は、ＩＰアドレス追加時における動作を示す説明図（その１）である。図１５で示す通信システム１００では、図１０の状態から、ＶＭ２のＭＡＣ２に新たにＩＰ４が追加された状態である。
【００７４】
この状態で、ＶＭ１がＩＰ４に対応するＭＡＣアドレスを尋ねるＡＲＰリクエストをブロードキャストで送信する。ＡＲＰリクエストを受信したＥＳ１は、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１に、ＩＰ４に対するＭＡＣアドレスが登録されていないため、ＡＲＰリクエストの通信方式をユニキャストに変換せずにブロードキャストとしてＶＭ２、ＶＭ３に送信する。また、ＥＳ１は、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１に“ＩＰ４”、“未特定”のレコードを追加する。
【００７５】
図１６は、ＩＰアドレス追加時における動作を示す説明図（その２）である。図１６で示す通信システム１００では、図１５にて送信されたＡＲＰリクエストに対応して、ＶＭ２がＭＡＣ２を設定したＡＲＰリプライを送信した状態である。
【００７６】
ＡＲＰリプライを受信したＥＳ１は、ＡＲＰリプライの送信元ハードウェアアドレスから、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１の“ＩＰ４”のレコードのＭＡＣフィールドを、“ＭＡＣ２”で更新する。また、ＥＳ１は、ＡＲＰリプライをＶＭ１に送信する。ＶＭ１は、受信したＡＰＲリプライから、ＡＲＰキャッシュテーブル５０１＿ＶＭ１に“ＩＰ４”、“ＭＡＣ２”のレコードを追加する。
【００７７】
図１７は、ＩＰアドレス追加時における動作を示す説明図（その３）である。図１７で示す通信システム１００では、図１６にてＡＲＰリプライを受信した後の状態を示している。ＭＡＣ２に対するＩＰがＩＰ２とＩＰ４と、複数あるため、ＥＳ１は、ＩＰ２に対応するＭＡＣが本当にＭＡＣ２であるかを確認するために、擬似ＡＲＰリクエストをユニキャストで送信する。
【００７８】
図１８は、ＩＰアドレス追加時における動作を示す説明図（その４）である。図１８で示す通信システム１００では、図１７にて送信された擬似ＡＲＰリクエストに対応して、ＶＭ２がＭＡＣ２を設定したＡＲＰリプライを送信した状態である。
【００７９】
ＡＲＰリプライを受信したＥＳ１は、ＡＲＰリプライの送信元ハードウェアアドレスから、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１の“ＩＰ２”のレコードのＭＡＣフィールドを、“ＭＡＣ２”で更新する。
【００８０】
図１９は、ＩＰアドレスに対応するＭＡＣアドレスが変更する場合の動作を示す説明図（その１）である。図１９で示す通信システム１００は、ＩＰアドレスの再割当が起こり、ＩＰアドレスに対応するＭＡＣアドレスが変更する場合に説明する。図１９で示す通信システム１００にて、ＶＭ１は、ＭＡＣアドレスとしてＭＡＣ１、ＩＰアドレスとしてＩＰ１が割り当てられている。さらに、ＥＳ２上のＶＭ２は、ＭＡＣアドレスとしてＭＡＣ２、ＩＰアドレスとしてＩＰ２が割り当てられており、ＥＳ２上のＶＭ３は、ＭＡＣアドレスとしてＭＡＣ３が割り当てられており、ＩＰアドレスが割り当てられていない状態である。
【００８１】
また、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１は、“ＩＰ１”と“ＭＡＣ１”のレコードと、“ＩＰ２”と“ＭＡＣ２”のレコードを記憶している。ＡＲＰキャッシュテーブル５０１＿ＶＭ１は、“ＩＰ２”と“ＭＡＣ２”のレコードを記憶している。
【００８２】
図２０は、ＩＰアドレスに対応するＭＡＣアドレスが変更する場合の動作を示す説明図（その２）である。図２０で示す通信システム１００では、図１９で示した状態から、ＶＭ２のＩＰアドレスの割当が解除され、ＶＭ３にＩＰ２が割り当てられた状態である。
【００８３】
この状態で、ＶＭ１がＩＰ２に対応するＭＡＣアドレスを尋ねるＡＲＰリクエストをブロードキャストで送信する。ＡＲＰリクエストを受信したＥＳ１は、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１に、ＩＰ２に対するＭＡＣ２が登録されているため、通信方式をブロードキャストからＭＡＣ２に対するユニキャストに変換して、ＶＭ２に送信する。また、ＥＳ１は、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１に、ＩＰ２に対するＭＡＣを未特定に設定する。
【００８４】
図２１は、ＩＰアドレスに対応するＭＡＣアドレスが変更する場合の動作を示す説明図（その３）である。図２１で示す通信システム１００では、ＶＭ２にＡＲＰリクエストを送信して一定時間が経過した状態である。ＶＭ２は、ＩＰ２が割り当てられていないため、ＩＰ２に対するＡＲＰリクエストに応答しない。
【００８５】
この状態で、ＥＳ１は、ＡＲＰリクエストに対するＡＲＰリプライが一定時間経過しても受信しない場合、ＩＰ２に対応するＭＡＣアドレスを尋ねるＡＲＰリクエストをブロードキャストで送信する。
【００８６】
図２２は、ＩＰアドレスに対応するＭＡＣアドレスが変更する場合の動作を示す説明図（その４）である。図２１で示す通信システム１００では、図２１にて送信されたＡＰＲリクエストに対応して、ＶＭ３がＭＡＣ３を設定したＡＲＰリプライを送信した状態である。
【００８７】
ＡＲＰリプライを受信したＥＳ１は、ＡＲＰリプライの送信元ハードウェアアドレスから、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１の“ＩＰ２”のレコードのＭＡＣフィールドを、“ＭＡＣ３”で更新する。また、ＥＳ１は、ＡＲＰリプライをＶＭ１に送信する。ＶＭ１は、受信したＡＰＲリプライから、ＡＲＰキャッシュテーブル５０１＿ＶＭ１に“ＩＰ２”、“ＭＡＣ３”のレコードを追加する。このように、ＥＳ１は、ＩＰアドレスに対するＭＡＣアドレスが変更された場合でも、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１のデータを、ＩＰアドレスの割当状況に合わせて更新することができる。
【００８８】
図２３は、ＡＲＰ＿ＢｔｏＵテーブル使用の一例を示す説明図（その１）である。図２３では、ＡＲＰ＿ＢｔｏＵテーブルの使用例として、一回のＡＲＰリクエストによって同一ネットワーク１０１内のＢｔｏＵテーブルのエントリを取得できる例を示している。なお、図２３、図２４では、ＥＳ２内に、ＶＭ２、ＶＭ３に加えてＶＭ４が存在し、ＶＭ４にＭＡＣアドレスとしてＭＡＣ４が割り当てられており、ＩＰアドレスとしてＩＰ４が割り当てられている。
【００８９】
初めに、処理（１）として、ＶＭ１は、ＩＰ２に対応するＭＡＣアドレスを尋ねるＡＲＰリクエストをブロードキャストで送信する。ＡＲＰリクエストを受信したＥＳ１は、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１に、ＩＰ２に対するＭＡＣアドレスが登録されていないため、ＡＲＰリクエストの通信方式をユニキャストに変換せずにブロードキャストとしてＶＭ２、ＶＭ３、ＶＭ４に送信する。また、ＥＳ１は、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１に“ＩＰ１”、“ＭＡＣ１”のレコードを追加する。また、ＡＲＰリクエストを受信したＥＳ２は、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ２に“ＩＰ１”、“ＭＡＣ１”のレコードを追加する。
【００９０】
次に、処理（２）として、ＶＭ２は、ＭＡＣ２を設定したＡＲＰリプライを送信する。ＡＲＰリプライを受信したＥＳ２は、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ２に“ＩＰ２”、“ＭＡＣ２”のレコードを追加する。また、ＥＳ２は、ＡＲＰリプライをＶＭ１に送信する。ＥＳ１は、受信したＡＰＲリプライから、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１に“ＩＰ２”、“ＭＡＣ２”のレコードを追加する。
【００９１】
図２４は、ＡＲＰ＿ＢｔｏＵテーブル使用の一例を示す説明図（その２）である。図２４で示す通信システム１００は、図２３にて、ＡＲＰリクエストとＡＲＰリプライを送信した状態である。
【００９２】
この状態にて、処理（３）にて、ＶＭ３が、ＩＰ１に対応するＭＡＣアドレスを尋ねるＡＲＰリクエストをブロードキャストで送信する。ＡＲＰリクエストを受信したＥＳ２は、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ２に、ＩＰ１に対するＭＡＣ１が登録されているため、通信方式をブロードキャストからＭＡＣ１に対するユニキャストに変換して、ＶＭ１に送信する。また、ＥＳ２は、ＡＰＲリクエストから、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ２に“ＩＰ３”、“ＭＡＣ３”のレコードを追加する。ＡＲＰリクエストを受信したＥＳ１は、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１に“ＩＰ３”、“ＭＡＣ３”のレコードを追加する。また、ＥＳ１は、ＡＲＰリクエストをＶＭ１に送信する。処理（４）にて、ＶＭ１は、ＡＲＰリプライをＶＭ３に対して送信する。
【００９３】
同様に、処理（５）にて、ＶＭ４が、ＩＰ１に対応するＭＡＣアドレスを尋ねるＡＲＰリクエストをブロードキャストで送信する。ＡＲＰリクエストを受信したＥＳ２は、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ２に、ＩＰ１に対するＭＡＣ１が登録されているため、通信方式をブロードキャストからＭＡＣ１に対するユニキャストに変換して、ＶＭ１に送信する。また、ＥＳ２は、ＡＲＰリクエストから、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ２に“ＩＰ４”、“ＭＡＣ４”のレコードを追加する。ＡＲＰリクエストを受信したＥＳ１は、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１に“ＩＰ４”、“ＭＡＣ４”のレコードを追加する。また、ＥＳ１は、ＡＲＰリクエストをＶＭ１に送信する。処理（６）にて、ＶＭ１は、ＡＲＰリプライをＶＭ４に対して送信する。
【００９４】
このように、図２３、図２４では、処理（１）〜（３）、（５）における４つのＡＲＰフレームによって、ＶＭ１〜ＶＭ４に関する情報がＢｔｏＵテーブルに含まれたことになる。
【００９５】
図２５は、ＤＨＣＰ＿ＢｔｏＵテーブルの記憶内容の一例を示す説明図である。ＤＨＣＰ＿ＢｔｏＵテーブル４０１は、ＤＨＣＰサーバに関する情報を記憶する。ＤＨＣＰサーバに関する情報として、図２５で示すＤＨＣＰ＿ＢｔｏＵテーブル４０１は、ＤＨＣＰのＭＡＣアドレスを記憶している。また、ＤＨＣＰ＿ＢｔｏＵテーブル４０１は、各ＤＨＣＰサーバのＬＮＩＤを格納するフィールドを有していてもよい。たとえば、ＥＳ１は、ＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ１を有し、ＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ１は、ＤＨＣＰサーバのＭＡＣアドレスとして、“ＭＡＣ１”と“ＭＡＣ２”を記憶している。
【００９６】
以下、ＤＨＣＰ＿ＢｔｏＵテーブル４０１を用いて、ＥＳ１はＡＲＰブロードキャスト通信を抑制する。以下、図２６〜図２９では、ＤＨＣＰＤＩＳＣＯＶＥＲを受信した場合の動作を説明する。また、図３０〜図３２では、ネットワーク内にある複数のＤＨＣＰサーバのうち、一つのＤＨＣＰサーバが停止中にＤＨＣＰＤＩＳＣＯＶＥＲを受信した場合の動作を説明する。
【００９７】
図２６は、ＤＨＣＰサーバ登録前にＤＨＣＰＤＩＳＣＯＶＥＲを受信した状態を示す説明図（その１）である。図２６で示す通信システム１００では、ＥＳ１上のＶＭ１は、ＭＡＣアドレスとしてＭＡＣ１、ＩＰアドレスとしてＩＰ１が割り当てられている。また、ＥＳ２上のＶＭ２、ＶＭ３、ＶＭ４は、ＭＡＣアドレスとして、それぞれＭＡＣ２、ＭＡＣ３、ＭＡＣ４が割り当てられており、ＩＰアドレスとして、それぞれ、ＩＰ２、ＩＰ３、ＩＰ４が割り当てられている。さらに、ＶＭ２、ＶＭ３では、それぞれ、ＤＨＣＰサーバ２、ＤＨＣＰサーバ３が起動している。また、ＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ１とＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ２は何も登録されていない。
【００９８】
この状態で、ＶＭ１のＤＨＣＰクライアントがネットワーク内からＤＨＣＰサーバを検出するＤＨＣＰＤＩＳＣＯＶＥＲをブロードキャストで送信する。ＤＨＣＰＤＩＳＣＯＶＥＲを受信したＥＳ１は、ＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ１に何も登録されていないため、ＤＨＣＰＤＩＳＣＯＶＥＲの通信方式をユニキャストに変換せずにブロードキャストのままＶＭ２〜ＶＭ４に送信する。
【００９９】
図２７は、ＤＨＣＰサーバ登録前にＤＨＣＰＤＩＳＣＯＶＥＲを受信した状態を示す説明図（その２）である。図２７で示す通信システム１００では、図２６にて送信されたＤＨＣＰＤＩＳＣＯＶＥＲに対して、ＤＨＣＰサーバ２とＤＨＣＰサーバ３が、対応するＤＨＣＰＯＦＦＥＲを送信した状態である。
【０１００】
この状態で、ＥＳ２は、ＶＭ２のＤＨＣＰサーバ２がＤＨＣＰＤＩＳＣＯＶＥＲに対するＤＨＣＰＯＦＦＥＲを受信する。ＥＳ２は、ＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ２に何も登録されていないため、ＤＨＣＰＯＦＦＥＲの通信方式をユニキャストに変換せずにブロードキャストのままＶＭ１、ＶＭ３、ＶＭ４に送信する。また、ＥＳ２は、ＶＭ２のＭＡＣアドレスをＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ２に追加する。また、ＥＳ２は、ＶＭ３からのＤＨＣＰＯＦＦＥＲも同様に処理する。
【０１０１】
図２８は、ＤＨＣＰサーバ登録後にＤＨＣＰＤＩＳＣＯＶＥＲを受信した状態を示す説明図（その１）である。図２８で示す通信システム１００では、図２７にてＤＨＣＰサーバ２とＤＨＣＰサーバ３がＤＨＣＰＯＦＦＥＲを送信し、ＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ１、ＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ２にＤＨＣＰサーバの情報が登録された状態である。
【０１０２】
この状態で、ＶＭ１のＤＨＣＰクライアントが、再びＤＨＣＰＤＩＳＣＯＶＥＲをブロードキャストで送信する。ＤＨＣＰＤＩＳＣＯＶＥＲを受信したＥＳ１は、ＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ１にＤＨＣＰサーバの情報が登録されているため、ＤＨＣＰＤＩＳＣＯＶＥＲの通信方式をブロードキャストからユニキャストに変換してＶＭ２、ＶＭ３に送信する。具体的に、ＥＳ１は、宛先ＭＡＣアドレスをブロードキャストアドレスからＭＡＣ２に変換したＤＨＣＰパケットをＶＭ２に送信し、宛先ＭＡＣアドレスをブロードキャストアドレスからＭＡＣ３に変換したＤＨＣＰパケットをＶＭ３に送信する。
【０１０３】
図２９は、ＤＨＣＰサーバ登録後にＤＨＣＰＤＩＳＣＯＶＥＲを受信した状態を示す説明図（その２）である。図２９で示す通信システム１００では、図２８にて送信されたＤＨＣＰＤＩＳＣＯＶＥＲに対して、ＶＭ２、ＶＭ３がＤＨＣＰＯＦＦＥＲを送信した状態である。
【０１０４】
この状態で、ＥＳ２は、ＶＭ２のＤＨＣＰサーバ２がＤＨＣＰＤＩＳＣＯＶＥＲに対するＤＨＣＰＯＦＦＥＲを受信する。ＥＳ２は、ＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ２にＤＨＣＰサーバの情報が登録されているため、ＤＨＣＰＯＦＦＥＲの通信方式をブロードキャストからユニキャストに変換して、ＤＨＣＰサーバとＤＨＣＰＤＩＳＣＯＶＥＲの送信元に送信する。
【０１０５】
具体的に、ＥＳ１は、宛先ＭＡＣアドレスをブロードキャストアドレスからＭＡＣ３に変換したＤＨＣＰパケットをＶＭ３に送信する。また、ＥＳ１は、ＤＨＣＰＯＦＦＥＲのクライアントハードウェアアドレスに格納されたＤＨＣＰＤＩＳＣＯＶＥＲの送信元となるＭＡＣ１を取得し、宛先ＭＡＣアドレスをブロードキャストアドレスからＭＡＣ１に変換したＤＨＣＰパケットをＶＭ１に送信する。また、ＥＳ２は、ＶＭ３からのＤＨＣＰＯＦＦＥＲも同様に処理する。
【０１０６】
図３０は、ＤＨＣＰサーバの停止中にＤＨＣＰＤＩＳＣＯＶＥＲを受信した状態を示す説明図（その１）である。図３０で示す通信システム１００では、図２９で示した状態から、ＤＨＣＰサーバ３の動作が停止した状態である。図３０の状態では、ＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ１は、ＤＨＣＰサーバのＭＡＣアドレスとして、ＭＡＣ２とＭＡＣ３を記憶している。
【０１０７】
図３１は、ＤＨＣＰサーバの停止中にＤＨＣＰＤＩＳＣＯＶＥＲを受信した状態を示す説明図（その２）である。図３１で示す通信システム１００では、図３０の状態から、ＶＭ１がＤＨＣＰＤＩＳＣＯＶＥＲをブロードキャストで送信する状態である。
【０１０８】
この状態で、ＥＳ１は、ＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ１にＤＨＣＰサーバの情報が登録されているため、ＤＨＣＰＤＩＳＣＯＶＥＲの通信方式をブロードキャストからユニキャストに変換してＶＭ２、ＶＭ３に送信する。
【０１０９】
図３２は、ＤＨＣＰサーバの停止中にＤＨＣＰＤＩＳＣＯＶＥＲを受信した状態を示す説明図（その３）である。図３２で示す通信システム１００では、図２８にて送信されたＤＨＣＰＤＩＳＣＯＶＥＲに対して、ＶＭ２がＤＨＣＰＯＦＦＥＲを送信した状態である。
【０１１０】
この状態で、ＥＳ１は、ＶＭ３からのＤＨＣＰＯＦＦＥＲが一定時間に到達しない場合、ＤＨＣＰサーバが停止したと判断し、ＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ１内の該当する“ＭＡＣ３”のレコードを削除する。このように、ＥＳ１は、ＤＨＣＰサーバの停止に合わせて、ＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ１のデータを更新することができる。
【０１１１】
図３３は、ブロードキャストデータの破棄例を示す説明図である。たとえば、図６におけるＶＭ１が、定期的にＩＰアドレスＡに対するＡＲＰリクエストを送信している場合を想定する。このとき、ＥＳ１は、一定周期の間に、閾値より多い数分のＩＰアドレスに対するブロードキャストを破棄する。図２５の例では、一定周期を１００［ミリ秒］、閾値を３［回］として、宛先ＩＰアドレスがＡであるブロードキャストデータのうち、３個目までのデータを受付許可し、４回目からのデータの破棄を行っている。なお、ブロードキャストデータとして当てはまるのは、前述したＡＲＰフレーム、ＤＨＣＰパケットである。また、ブロードキャストデータは、ＡＲＰ、ＤＨＣＰ以外の他のプロトコルによって規定された、ブロードキャストを行うデータであってもよい。
【０１１２】
また、図３３の例では、ＥＳ１は、破棄するデータの数え上げを宛先ＩＰアドレスごとに行っているが、送信元ＩＰアドレスごと、または送信元ＩＰアドレスと宛先ＩＰアドレスの組ごとに行ってもよい。また、ＥＳ１は、ＩＰアドレスでなく、ＭＡＣアドレスに基づいて、破棄するデータの数え上げを行ってもよい。これにより、本実施の形態にかかるＥＳは、異なるアドレスに対して初めて送信されるブロードキャストを破棄せずに済む。
【０１１３】
続けて、図５〜図３３で示した動作を行うフローチャートを説明する。図３４〜図３９では、ＡＲＰフレームに関するフローチャートを示し、図４０〜図４４では、ＤＨＣＰパケットに関するフローチャートを示す。また、図３４〜図４４にて各フローチャートを実行する実行主体は各ＥＳであるが、図３４〜図４４にて示すフローチャートでは、ＥＳ１を実行主体として説明を行う。
【０１１４】
図３４は、ＡＲＰフレーム処理の一例を示すフローチャートである。ＥＳ１は、ＡＲＰフレームを受信したか否かを判断する（ステップＳ３４０１）。ＡＲＰフレームを受信した場合（ステップＳ３４０１：Ｙｅｓ）、ＥＳ１は、一定期間に閾値以上、同一宛先アドレスへのＡＲＰフレームを受信したか否かを判断する（ステップＳ３４０２）。条件に当てはまらない場合（ステップＳ３４０２：Ｎｏ）、ＥＳ１は、ＡＲＰフレーム受信処理を実行する（ステップＳ３４０３）。ＡＲＰフレーム受信処理の詳細は、図３６で後述する。
【０１１５】
ＡＲＰフレーム受信処理の終了後、ＥＳ１は、ＡＲＰフレーム送信処理を実行する（ステップＳ３４０４）。ＡＲＰフレーム送信処理は、受信したＡＲＰフレームを、ＡＲＰフレーム受信処理内によって変換された宛先に送信する処理である。なお、ＡＲＰフレーム送信処理によって送信された後に応答がなかったフレームについての処理については、図３５にて示す。
【０１１６】
ＡＲＰフレーム送信処理の終了後、ＥＳ１は、ステップＳ３４０１の処理に移行する。また、条件に当てはまる場合（ステップＳ３４０２：Ｙｅｓ）、ＥＳ１は、受信したＡＲＰフレームを破棄して、ステップＳ３４０１の処理に移行する。また、ＡＲＰフレームを受信していない場合（ステップＳ３４０１：Ｎｏ）、ＥＳ１は、一定時間経過後、ステップＳ３４０１の処理を再び実行する。
【０１１７】
図３５は、ＡＲＰ送信タイムアウト処理の一例を示すフローチャートである。ＥＳ１は、ＡＲＰリクエストに対応するＡＲＰリプライが到達しない状態が一定時間経過したか否かを判断する（ステップＳ３５０１）。なお、ステップＳ３５０１の処理における一定時間として、たとえば、ＡＲＰの仕様にて定められた再送時間等に設定してもよいし、仕様にて定められた再送時間より短くしてもよい。
【０１１８】
一定時間経過した場合（ステップＳ３５０１：Ｙｅｓ）、ＥＳ１は、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１のうち、ＡＲＰリプライが到達していないＭＡＣアドレスのレコードを削除する（ステップＳ３５０２）。なお、ここで削除対象となるレコードは、後述するステップＳ３９０４の処理で送信する擬似ＡＲＰリクエストに対するレコードも含む。削除後、ＥＳ１は、ＡＲＰフレーム再送処理を行い（ステップＳ３５０３）、ステップＳ３４０１の処理に移行する。
【０１１９】
なお、ＡＲＰフレーム再送処理は、通信方式の変換を行わず、ブロードキャストのまま送信する。また、ＥＳ１は、ステップＳ３５０３の処理を行わなくてもよい。ステップＳ３５０３の処理を行わない場合、ＡＲＰリクエストの送信元が、ＡＲＰの仕様に従ってＡＲＰリクエストを再送するためである。また、一定時間経過していない場合（ステップＳ３５０１：Ｎｏ）、ＥＳ１は、ステップＳ３５０１の処理に移行する。
【０１２０】
図３６は、ＡＲＰフレーム受信処理の一例を示すフローチャートである。ＥＳ１は、受信したＡＲＰフレームがＡＲＰリクエストか否かを判断する（ステップＳ３６０１）。ＡＲＰリクエストである場合（ステップＳ３６０１：Ｙｅｓ）、ＥＳ１は、ＡＲＰリクエストによるテーブル更新処理を実行する（ステップＳ３６０２）。なお、ＡＲＰリクエストによるテーブル更新処理の詳細は、図３７にて後述する。ＡＲＰリクエストによるテーブル更新処理の処理実行後、ＥＳ１は、ＡＲＰリクエスト通信方式変換処理を実行する（ステップＳ３６０３）。なお、ＡＲＰリクエスト通信方式変換処理の詳細は、図３８にて後述する。ＡＲＰフレーム通信方式変換処理の処理終了後、ＥＳ１は、ＡＲＰフレーム受信処理を終了し、ＡＲＰフレーム送信処理を実行する。
【０１２１】
ＡＲＰリクエストでない場合（ステップＳ３６０１：Ｎｏ）、ＥＳ１は、ＡＲＰフレームがＡＲＰリプライか否かを判断する（ステップＳ３６０４）。ＡＲＰリプライである場合（ステップＳ３６０４：Ｙｅｓ）、ＥＳ１は、ＡＲＰリプライによるテーブル更新処理を実行する（ステップＳ３６０５）。ＡＲＰリプライによるテーブル更新処理を実行後、またはＡＲＰリプライでない場合（ステップＳ３６０４：Ｎｏ）、ＥＳ１は、ＡＲＰフレーム受信処理を終了し、ＡＲＰフレーム送信処理を実行する。
【０１２２】
図３７は、ＡＲＰリクエストによるテーブル更新処理の一例を示すフローチャートである。ＥＳ１は、送信元プロトコルアドレスがＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１のＩＰフィールドに登録されているか否かを判断する（ステップＳ３７０１）。登録されている場合（ステップＳ３７０１：Ｙｅｓ）、ＥＳ１は、さらに、送信元ハードウェアアドレスがＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１のＭＡＣフィールドに登録されているか否かを判断する（ステップＳ３７０２）。登録されている場合（ステップＳ３７０２：Ｙｅｓ）、ＥＳ１は、テーブル更新処理を終了し、ＡＲＰリクエスト通信方式変換処理を実行する。
【０１２３】
送信元ハードウェアアドレスが登録されていない場合（ステップＳ３７０２：Ｎｏ）、ＥＳ１は、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１のうち、ＩＰフィールドが送信元プロトコルアドレスに一致するレコードのＭＡＣフィールドを送信元ハードウェアアドレスで更新する（ステップＳ３７０３）。更新後、ＥＳ１は、テーブル更新処理を終了し、ＡＲＰリクエスト通信方式変換処理を実行する。
【０１２４】
送信元プロトコルアドレスが登録されていない場合（ステップＳ３７０１：Ｎｏ）、ＥＳ１は、送信元ハードウェアアドレスがＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１に登録されているか否かを判断する（ステップＳ３７０４）。登録されている場合（ステップＳ３７０４：Ｙｅｓ）、ＥＳ１は、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１のうち、ＭＡＣフィールドが送信元ハードウェアアドレスに一致するレコードのＩＰフィールドを送信元プロトコルアドレスで更新する（ステップＳ３７０５）。更新後、ＥＳ１は、宛先ハードウェアアドレスと宛先プロトコルアドレスとの組を１レコードとしてＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１に追加する（ステップＳ３７０６）。なお、ＡＲＰリクエストの宛先ハードウェアアドレスはブロードキャストアドレスであるため、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１には未特定として登録される。
【０１２５】
さらに、送信元ハードウェアアドレスが登録されているにも関わらず、送信元プロトコルアドレスが登録されていないことから、ネットワーク内のＩＰアドレスの割当が変更されている可能性がある。よって、ＥＳ１は、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１のうち、ＩＰフィールドが宛先プロトコルアドレスに一致するＭＡＣアドレスに対して、ＡＲＰリクエストをユニキャストで送信する（ステップＳ３７０７）。送信後、ＥＳ１は、テーブル更新処理を終了し、ＡＲＰリクエスト通信方式変換処理を実行する。
【０１２６】
送信元ハードウェアアドレスが登録されていない場合（ステップＳ３７０４：Ｎｏ）、ＥＳ１は、送信元ハードウェアアドレスと送信元プロトコルアドレスの組を１レコードとしてＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１に追加する（ステップＳ３７０８）。さらに、ＥＳ１は、宛先ハードウェアアドレスと宛先プロトコルアドレスとの組を１レコードとしてＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１に追加する（ステップＳ３７０９）。追加後、ＥＳ１は、テーブル更新処理を終了し、ＡＲＰリクエスト通信方式変換処理を実行する。
【０１２７】
図３８は、ＡＲＰリクエスト通信方式変換処理の一例を示すフローチャートである。ＥＳ１は、ＡＲＰリクエストの通信方式がブロードキャストか否かを判断する（ステップＳ３８０１）。ブロードキャストである場合（ステップＳ３８０１：Ｙｅｓ）、ＥＳ１は、続けて、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１のうち、ＩＰフィールドが宛先プロトコルアドレスと一致するレコードが存在するか否かを判断する（ステップＳ３８０２）。レコードが存在する場合（ステップＳ３８０２：Ｙｅｓ）、ＥＳ１は、さらに、存在したレコードに、ＭＡＣアドレスが登録されていたか否かを判断する（ステップＳ３８０３）。なお、ステップＳ３８０３の処理にて、ＭＡＣアドレスが登録されている場合とは、“未特定”ではない、ユニキャストアドレスが登録されている場合である。
【０１２８】
登録されていた場合（ステップＳ３８０３：Ｙｅｓ）、ＥＳ１は、ＡＲＰ＿ＢｔｏＵテーブル１０２＿ＥＳ１に登録されているＭＡＣアドレスを抽出する（ステップＳ３８０４）。続けて、ＥＳ１は、通信方式をブロードキャストから、抽出したＭＡＣアドレスへのユニキャストに変換し（ステップＳ３８０５）、ＡＲＰフレーム送信処理によってＡＲＰリクエストを送信する。
【０１２９】
ブロードキャストでない場合（ステップＳ３８０１：Ｎｏ）、ＥＳ１は、通信方式をユニキャストのまま、ＡＲＰフレーム送信処理によってＡＲＰリクエストを送信する。レコードが存在しない場合（ステップＳ３８０２：Ｎｏ）、またはＭＡＣアドレスが登録されていない場合（ステップＳ３８０３：Ｎｏ）、ＥＳ１は、通信方式をブロードキャストのまま、ＡＲＰフレーム送信処理によってＡＲＰリクエストを送信する。
【０１３０】
図３９は、ＡＲＰリプライによるテーブル更新処理の一例を示すフローチャートである。ＥＳ１は、ＡＲＰリプライの通信方式がブロードキャストか否かを判断する（ステップＳ３９０１）。ブロードキャストでない場合（ステップＳ３９０１：Ｎｏ）、ＥＳ１は、ＩＰフィールドが送信元プロトコルアドレスに一致するレコードのＭＡＣフィールドを送信元ハードウェアアドレスで更新する（ステップＳ３９０２）。
【０１３１】
次に、ＥＳ１は、送信元ＭＡＣアドレスに一致するレコードが複数存在するか否かを判断する（ステップＳ３９０３）。一致するレコードが複数ある場合（ステップＳ３９０３：Ｙｅｓ）、ＥＳ１は、存在したレコードのＩＰフィールドに対応するＭＡＣアドレス宛てに、擬似ＡＲＰリクエストを送信し（ステップＳ３９０４）、ＡＲＰフレーム送信処理によってＡＲＰリプライを送信する。
【０１３２】
また、ブロードキャストである場合（ステップＳ３９０１：Ｙｅｓ）、または一致するレコードが複数でない場合（ステップＳ３９０３：Ｎｏ）、ＥＳ１は、ＡＲＰフレーム送信処理によってＡＲＰリプライを送信する。
【０１３３】
図４０は、ＤＨＣＰパケット処理の一例を示すフローチャートである。ＥＳ１は、ＤＨＣＰパケットを受信したか否かを判断する（ステップＳ４００１）。ＤＨＣＰパケットを受信した場合（ステップＳ４００１：Ｙｅｓ）、ＥＳ１は、一定期間に閾値以上、同一ＭＡＣアドレスからのＤＨＣＰパケットを受信したか否かを判断する（ステップＳ４００２）。条件に当てはまらない場合（ステップＳ４００２：Ｎｏ）、ＥＳ１は、ＤＨＣＰパケット受信処理を実行する（ステップＳ４００３）。ＤＨＣＰパケット受信処理の詳細は、図４２で後述する。
【０１３４】
ＤＨＣＰパケット受信処理の終了後、ＥＳ１は、ＤＨＣＰパケット送信処理を実行する（ステップＳ４００４）。ＤＨＣＰパケット送信処理は、受信したＤＨＣＰパケットを、ＤＨＣＰパケット受信処理内によって変換された宛先に送信する処理である。なお、ＤＨＣＰパケット送信処理によって送信された後に応答がなかったパケットについての処理については、図４１にて示す。
【０１３５】
ＤＨＣＰパケット送信処理の終了後、ＥＳ１は、ステップＳ４００１の処理に移行する。また、条件に当てはまらない場合（ステップＳ４００２：Ｙｅｓ）、ＥＳ１は、受信したＤＨＣＰパケットを破棄し、ステップＳ４００１の処理に移行する。また、ＤＨＣＰパケットを受信していない場合（ステップＳ４００１：Ｎｏ）、ＥＳ１は、一定時間経過後、ステップＳ４００１の処理に移行する。
【０１３６】
図４１は、ＤＨＣＰ送信タイムアウト処理の一例を示すフローチャートである。ＥＳ１は、ユニキャストで送信したＤＨＣＰＤＩＳＣＯＶＥＲに対応するＤＨＣＰＯＦＦＥＲが到達しない状態が一定時間経過したか否かを判断する（ステップＳ４１０１）。なお、ステップＳ４１０１の処理における一定時間として、たとえば、ＤＨＣＰの仕様にて定められた再送時間等に設定してもよいし、仕様にて定められた再送時間より短くしてもよい。
【０１３７】
一定時間経過した場合（ステップＳ４１０１：Ｙｅｓ）、ＥＳ１は、ＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ１のうち、ＤＨＣＰＯＦＦＥＲが到達していないサーバに関するレコードを削除する（ステップＳ４１０２）。
【０１３８】
ＥＳ１は、ＤＨＣＰＯＦＦＥＲが一つも到達していないか否かを判断する（ステップＳ４１０３）。なお、ＤＨＣＰＯＦＦＥＲの到達数を判断する理由として、ＤＨＣＰ＿ＢｔｏＵテーブル４０１に複数のＤＨＣＰサーバが登録されていれば、ＥＳ１は、ユニキャストのＤＨＣＰＤＩＳＣＯＶＥＲを複数生成して送信することになる。複数のＤＨＣＰＤＩＳＣＯＶＥＲに対応するＤＨＣＰＯＦＦＥＲの一つ以上がＥＳ１に到達していれば、ＤＨＣＰＤＩＳＣＯＶＥＲの送信元は、処理を続行することができるため、ＥＳ１は、ＤＨＣＰＯＦＦＥＲの到達数を判断する。
【０１３９】
一つも到達していない場合（ステップＳ４１０３：Ｙｅｓ）、ＥＳ１は、ＤＨＣＰパケット再送処理を行い（ステップＳ４１０４）、ステップＳ４００１の処理に移行する。なお、ＤＨＣＰパケット再送処理は、通信方式の変換を行わず、ブロードキャストのまま送信する。また、ＥＳ１は、ステップＳ４１０３：Ｙｅｓとなった場合に、ステップＳ４１０４の処理を行わなくてもよい。ステップＳ４１０４の処理を行わない場合、ＤＨＣＰＤＩＳＣＯＶＥＲの送信元が、ＤＨＣＰＤＩＳＣＯＶＥＲを再送するためである。
【０１４０】
また、一定時間経過していない場合（ステップＳ４１０１：Ｎｏ）、または、ＤＨＣＰＯＦＦＥＲが到達している場合（ステップＳ４１０３：Ｎｏ）、ＥＳ１は、ステップＳ４００１の処理に移行する。
【０１４１】
図４２は、ＤＨＣＰパケット受信処理の一例を示すフローチャートである。ＥＳ１は、受信したＤＨＣＰパケットがＤＨＣＰＯＦＦＥＲか否かを判断する（ステップＳ４２０１）。ＤＨＣＰＯＦＦＥＲである場合（ステップＳ４２０１：Ｙｅｓ）、ＥＳ１は、ＤＨＣＰＯＦＦＥＲ通信方式変換処理を実行する（ステップＳ４２０２）。なお、ＤＨＣＰＯＦＦＥＲ通信方式変換処理の詳細は、図４３にて後述する。ＤＨＣＰパケット通信方式変換処理の処理終了後、ＥＳ１は、ＤＨＣＰパケット受信処理を終了し、ＤＨＣＰパケット送信処理を実行する。
【０１４２】
ＤＨＣＰＯＦＦＥＲでない場合（ステップＳ４２０１：Ｎｏ）、ＥＳ１は、ＤＨＣＰパケットがＤＨＣＰＤＩＳＣＯＶＥＲまたはＤＨＣＰＲＥＱＵＥＳＴまたはＤＨＣＰＡＣＫか否かを判断する（ステップＳ４２０３）。条件に当てはまる場合（ステップＳ４２０３：Ｙｅｓ）、ＥＳ１は、ＤＨＣＰ通信方式変換処理を実行する（ステップＳ４２０４）。なお、ＤＨＣＰ通信方式変換処理の詳細は、図４４にて後述する。ＤＨＣＰテーブル更新処理を実行後、または条件に当てはまらない場合（ステップＳ４２０３：Ｎｏ）、ＥＳ１は、ＤＨＣＰパケット受信処理を終了し、ＤＨＣＰパケット送信処理を実行する。
【０１４３】
図４３は、ＤＨＣＰＯＦＦＥＲ通信方式変換処理の一例を示すフローチャートである。ＥＳ１は、ＤＨＣＰＯＦＦＥＲに対応するＤＨＣＰＤＩＳＣＯＶＥＲを受信していたか否かを判断する（ステップＳ４３０１）。ＤＨＣＰＯＦＦＥＲに対応するＤＨＣＰＤＩＳＣＯＶＥＲを受信していたかを判断する方法として、たとえば、ＥＳ１は、受信したＤＨＣＰＤＩＳＣＯＶＥＲを記憶しておく。続けて、ＥＳ１は、ＤＨＣＰＤＩＳＣＯＶＥＲのトランザクションＩＤが同一のＤＨＣＰＯＦＦＥＲを受信した場合に、ＤＨＣＰＯＦＦＥＲに対応するＤＨＣＰＤＩＳＣＯＶＥＲを受信していたと判断する。
【０１４４】
受信していた場合（ステップＳ４３０１：Ｙｅｓ）、ＥＳ１は、ＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ１を初期化する（ステップＳ４３０２）。初期化後、または、受信していない場合（ステップＳ４３０１：Ｎｏ）、ＥＳ１は、ＤＨＣＰＯＦＦＥＲの送信元となるＤＨＣＰサーバがＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ１に登録されているか否かを判断する（ステップＳ４３０３）。登録されていない場合（ステップＳ４３０３：Ｎｏ）、ＥＳ１は、送信元となるＤＨＣＰサーバに関する情報をＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ１に追加する（ステップＳ４３０４）。
【０１４５】
追加後、または登録されている場合（ステップＳ４３０３：Ｙｅｓ）、ＥＳ１は、ＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ１から、他のＤＨＣＰサーバのＭＡＣアドレスと、ＤＨＣＰＯＦＦＥＲからＤＨＣＰＤＩＳＣＯＶＥＲの送信元のＭＡＣアドレスを抽出する（ステップＳ４３０５）。次に、ＥＳ１は、通信方式がブロードキャストのＤＨＣＯＦＦＥＲから、宛先がＤＨＣＰサーバとなるＤＨＣＰＯＦＦＥＲと、宛先がＤＨＣＰＤＩＳＣＯＶＥＲの送信元となるＤＨＣＰＯＦＦＥＲを生成する（ステップＳ４３０６）。生成後、ＥＳ１は、ＤＨＣＰユニキャストに変換されたＤＨＣＰＯＦＦＥＲを、ＤＨＣＰパケット送信処理を実行することで送信する。
【０１４６】
図４４は、ＤＨＣＰ通信方式変換処理の一例を示すフローチャートである。ＤＨＣＰ通信方式変換処理は、ＤＨＣＰＤＩＳＣＯＶＥＲ、ＤＨＣＰＲＥＱＵＥＳＴ、ＤＨＣＰＡＣＫに対する通信方式変換処理である。ＥＳ１は、ＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ１が空か否かを判断する（ステップＳ４４０１）。空である場合（ステップＳ４４０１：Ｙｅｓ）、ＥＳ１は、続けて、ＤＨＣＰＤＩＳＣＯＶＥＲを受信したか否かを判断する（ステップＳ４４０２）。ＤＨＣＰＲＥＱＵＥＳＴ、またはＤＨＣＰＡＣＫを受信した場合（ステップＳ４４０２：Ｎｏ）、ＥＳ１は、エラーを出力し（ステップＳ４４０３）、ＤＨＣＰ通信方式変換処理を終了する。
【０１４７】
ＤＨＣＰＤＩＳＣＯＶＥＲを受信した場合（ステップＳ４４０２：Ｙｅｓ）、ＥＳ１は、ＤＨＣＰ通信方式変換処理を終了し、通信方式を変換せずにＤＨＣＰパケット送信処理を実行する。
【０１４８】
ＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ１が空でない場合（ステップＳ４４０１：Ｎｏ）、ＥＳ１は、ＤＨＣＰＡＣＫを受信したか否かを判断する（ステップＳ４４０４）。ＤＨＣＰＤＩＳＣＯＶＥＲまたはＤＨＣＰＲＥＱＵＥＳＴを受信した場合（ステップＳ４４０４：Ｎｏ）、ＥＳ１は、ＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ１に登録されている他のＤＨＣＰサーバのＭＡＣアドレスを抽出する（ステップＳ４４０５）。次に、ＥＳ１は、通信方式をブロードキャストから、ＤＨＣＰサーバへのユニキャストに変換する（ステップＳ４４０６）。変換後、ＥＳ１は、ＤＨＣＰ通信方式変換処理を終了し、通信方式をユニキャストに変換したＤＨＣＰパケットに対して、ＤＨＣＰパケット送信処理を実行する。
【０１４９】
ＤＨＣＰＡＣＫを受信した場合（ステップＳ４４０４：Ｙｅｓ）、ＥＳ１は、ＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ１から、他のＤＨＣＰサーバのＭＡＣアドレスと、ＤＨＣＰＡＣＫからＤＨＣＰＤＩＳＣＯＶＥＲの送信元のＭＡＣアドレスを抽出する（ステップＳ４４０７）。次に、ＥＳ１は、通信方式がブロードキャストのＤＨＣＰＡＣＫから、宛先がＤＨＣＰサーバとなるＤＨＣＰＡＣＫと、宛先がＤＨＣＰＤＩＳＣＯＶＥＲの送信元となるＤＨＣＰＡＣＫを生成する（ステップＳ４４０８）。生成後、ＥＳ１は、ＤＨＣＰ通信方式変換処理を終了し、生成したＤＨＣＰパケットに対して、ＤＨＣＰパケット送信処理を実行する。
【０１５０】
以上説明したように、通信方法、通信装置、および通信プログラムによれば、ＡＲＰリクエストを行うブロードキャストを、ＢｔｏＵテーブルに記憶されたＭＡＣアドレスへのユニキャストに変換して送信し、ＡＲＰリプライで得たＭＡＣアドレスを更新する。これにより、ブロードキャストを抑制し、また、ネットワーク変更に対応できるため、無効なデータの送信を行わないことから、ネットワークの負荷を抑制することができる。また、ＤＨＣＰに対しても、通信装置は、ＤＨＣＰサーバへ送信するＤＨＣＰＤＩＳＣＯＶＥＲのブロードキャスト送信を、記憶されたＭＡＣアドレスへのユニキャストに変換して送信し、ＤＨＣＰＯＦＦＥＲにてＭＡＣアドレスを更新する。
【０１５１】
また、ＡＲＰキャッシュテーブルは、ａｇｉｎｇ＿ｔｉｍｅにてネットワークの変更に対応している。しかし、ａｇｉｎｇ＿ｔｉｍｅが長い場合、ブロードキャストの抑制度合いが大きくなるが、ネットワークの変更に伴う対応が遅れてしまっていた。また、ａｇｉｎｇ＿ｔｉｍｅが短い場合、ネットワークの変更に伴う対応が早くなるが、ブロードキャストの抑制度合いが小さくなってしまっていた。本実施の形態にかかる通信装置は、ＢｔｏＵテーブルのデータを更新することで、ネットワークの変更に伴う対応が行え、かつ、一定時間によってレコードが削除するものではないため、ブロードキャストの抑制度合いを大きくすることができる。
【０１５２】
また、通信装置は、変換後のＡＲＰリクエスト、ＤＨＣＰＤＩＳＣＯＶＥＲに対するＡＲＰリプライ、ＤＨＣＰＯＦＦＥＲを受信しなかった場合、ＢｔｏＵテーブルの対応するレコードを削除してもよい。これにより、通信装置は、ネットワークの変更にも追随することができ、無効な変換先に対するデータを送信せずに済む。また、ＢｔｏＵテーブルのデータが減少するため変換にかかる検索を高速に行える。
【０１５３】
また、通信装置は、ＡＲＰリクエストに対応するＡＲＰリプライのＭＡＣアドレスでＢｔｏＵテーブルを更新した後、同一のＭＡＣアドレスに対して複数のＩＰアドレスが存在する場合、複数のＩＰアドレスに対して擬似ＡＲＰリクエストを送信してもよい。続けて、通信装置は、擬似ＡＲＰリクエストに対するＡＲＰリプライを受信した場合、ＢｔｏＵテーブルを更新してもよい。また、擬似ＡＲＰリクエストは、少なくともＡＲＰリクエストのＩＰアドレス以外の残余のＩＰアドレスに対して送信する。これにより、通信装置は、ＩＰ  ａｌｉａｓｉｎｇに伴うネットワークの変更に対して、ＢｔｏＵテーブルの記憶内容を追随させることができる。
【０１５４】
また、通信装置は、擬似ＡＲＰリクエストに対応するＡＲＰリプライを受信しなかった場合、ＢｔｏＵテーブルの対応するレコードを削除してもよい。これにより、ＤＨＣＰ等によるＩＰアドレスの割当変更に伴うネットワークの変更に対して、ＢｔｏＵテーブルの記憶内容を追随させることができる。
【０１５５】
また、通信装置は、ＤＨＣＰＤＩＳＣＯＶＥＲに対するＤＨＣＰＯＦＦＥＲに対して、ＢｔｏＵテーブルに記憶されたＭＡＣアドレスへのユニキャストおよびＤＨＣＰＤＩＳＣＯＶＥＲの送信元へのユニキャストに変換して送信してもよい。これにより、通信装置は、ＤＨＣＰＯＦＦＥＲに対するブロードキャストを抑制し、ネットワークの負荷を抑制することができる。
【０１５６】
また、通信装置は、一定周期内でブロードキャストを送信する個数を、プロトコルごと、送信、受信アドレスごと、に設定していてもよい。これにより、通信装置は、無効なブロードキャストデータを抑制でき、または、悪意のあるユーザからの多数のブロードキャストを抑制することができる。また、通信装置は、アドレスごとにブロードキャストをカウントすることになるため、異なるアドレスからに対するブロードキャストを破棄しないで済む。
【０１５７】
（実施の形態２の概要）
実施の形態１に示す通信システム１００では、ＤＨＣＰ＿ＢｔｏＵテーブルにレコードが存在する場合、ＥＳは、ＤＨＣＰＤＩＳＣＯＶＥＲをユニキャストに変換する。したがって、ＤＨＣＰ＿ＢｔｏＵテーブルにレコードが追加された後、ＤＨＣＰサーバが新たに稼働した場合、新たに稼働したＤＨＣＰサーバがＤＨＣＰ＿ＢｔｏＵテーブルに追加されなかった。実施の形態２に示す通信システム１００では、ＤＨＣＰ＿ＢｔｏＵテーブルにレコードが追加された後に、新たに稼働したＤＨＣＰサーバをＤＨＣＰ＿ＢｔｏＵテーブルに追加する方法について説明を行う。
【０１５８】
なお、実施の形態２にかかるＥＳのハードウェアは、実施の形態１にかかるＥＳと等しいため、説明を省略する。また、実施の形態２にかかるＥＳの機能について、図４５にて説明する。
【０１５９】
図４５は、実施の形態２にかかる通信システムの機能例を示すブロック図である。通信システム１００は、記憶部４２０と、送信部４５０１と、追加部４５０２と、送信部４５０３と、を含む。この制御部となる機能（送信部４５０１〜送信部４５０３）は、記憶装置に記憶されたプログラムをＣＰＵ３０１が実行することにより、その機能を実現する。記憶装置とは、具体的には、たとえば、ＥＳ２のＲＯＭ、ＲＡＭ、磁気ディスク、光ディスクなどである。または、ＥＳ２のＩ／Ｆを経由して他のＣＰＵが実行することにより、その機能を実現してもよい。また、実施の形態２にかかる記憶部４２０は、実施の形態１にかかる記憶部４２０と同一であるため、説明を省略する。また、ＥＳ２内のＶＭ２は、ＤＨＣＰサーバを新たに起動した状態である。
【０１６０】
送信部４５０１は、装置群のうち、割当可能なレイヤ３アドレスを保持する装置に対して、レイヤ３アドレスの擬似取得要求を送信する機能を有する。たとえば、送信部４５０１は、通信システム１００内の装置群のうち、ＤＨＣＰサーバに対して、擬似ＤＨＣＰＤＩＳＣＯＶＥＲを送信する。なお、送信対象は、新たに検出したＤＨＣＰサーバに送信してもよいし、ＥＳ１の管理下のＤＨＣＰサーバに送信してもよい。
【０１６１】
追加部４５０２は、擬似取得要求に対応する第４の応答を受信した場合、記憶部４２０に第４の応答に含まれる割当可能なレイヤ３アドレスを保持する装置のレイヤ２アドレスを追加する機能を有する。たとえば、追加部４５０２は、擬似ＤＨＣＰＤＩＳＣＯＶＥＲに対応するＤＨＣＰＯＦＦＥＲを受信した場合、ＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ２に、ＤＨＣＰＯＦＦＥＲの送信元となるＶＭ３のＭＡＣアドレスを追加する。なお、追加部４５０２は、ＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ２に、ＤＨＣＰサーバのＭＡＣアドレスが既に追加されている場合は追加しなくてよい。
【０１６２】
送信部４５０３は、記憶部４２０に検出した装置のレイヤ２アドレスが追加された場合、第４の応答を装置群のうち割当可能なレイヤ３アドレスを保持する装置以外の他の装置に送信する機能を有する。たとえば、送信部４５０３は、ＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ２にＤＨＣＰサーバのＭＡＣアドレスを追加した場合、ＤＨＣＰＯＦＦＥＲをＶＭ１に送信する。
【０１６３】
図４６は、ＤＨＣＰサーバが追加された状態を示す説明図（その１）である。図４６で示す通信システム１００では、ＥＳ１上のＶＭ１は、ＭＡＣアドレスとしてＭＡＣ１、ＩＰアドレスとしてＩＰ１が割り当てられている。また、ＥＳ２上のＶＭ２、ＶＭ３、ＶＭ４は、ＭＡＣアドレスとして、それぞれＭＡＣ２、ＭＡＣ３、ＭＡＣ４が割り当てられており、ＩＰアドレスとして、それぞれ、ＩＰ２、ＩＰ３、ＩＰ４が割り当てられている。
【０１６４】
また、さらに、ＶＭ２では、ＤＨＣＰサーバ２が起動しており、ＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ１とＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ２には、ＤＨＣＰサーバ２が起動しているＶＭ２のＭＡＣアドレスであるＭＡＣ２が登録されている。この状態で、新たなＤＨＣＰサーバとして、ＶＭ３にて、ＤＨＣＰサーバ３が起動した例について、図４７〜図４９で説明を行う。
【０１６５】
図４７は、ＤＨＣＰサーバが追加された状態を示す説明図（その２）である。図４７で示す通信システム１００では、ＥＳ２がＤＨＣＰサーバ３を検出した状態である。このとき、新たなＤＨＣＰサーバ３を検出したＥＳ２は、管理下にあるＶＭ２〜ＶＭ４に対し、擬似ＤＨＣＰＤＩＳＣＯＶＥＲを送信する。なお、擬似ＤＨＣＰＤＩＳＣＯＶＥＲは、ＶＭ上のＤＨＣＰクライアントが送信するＤＨＣＰＤＩＳＣＯＶＥＲと違いはない。たとえば、擬似ＤＨＣＰＤＩＳＣＯＶＥＲであると判断できるようにするため、ＥＳ２は、ＥＳ２は、ＤＨＣＰＤＩＳＣＯＶＥＲのクライアントハードウェアアドレスに、ＥＳ２の物理ＭＡＣアドレスを設定してもよいし、または特別な値を設定してもよい。
【０１６６】
図４８は、ＤＨＣＰサーバが追加された状態を示す説明図（その３）である。図４８で示す通信システム１００では、ＶＭ２〜ＶＭ４が擬似ＤＨＣＰＤＩＳＣＯＶＥＲを受信した状態である。この状態で、ＶＭ２、ＶＭ３は、ＤＨＣＰサーバが動作しているため、擬似ＤＨＣＰＤＩＳＣＯＶＥＲに対応するＤＨＣＰＯＦＦＥＲをブロードキャストで送信する。
【０１６７】
図４９は、ＤＨＣＰサーバが追加された状態を示す説明図（その４）である。図４９で示す通信システム１００では、ＶＭ２、ＶＭ３が、ＤＨＣＰＯＦＦＥＲをブロードキャストで送信した状態である。
【０１６８】
この状態で、ＥＳ２は、ＶＭ２からのＤＨＣＰＯＦＦＥＲと、ＶＭ３からのＤＨＣＰＯＦＦＥＲを受信する。ＶＭ２からのＤＨＣＰＯＦＦＥＲについては、ＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ２にＶＭ２の情報が登録されているため、ＥＳ２は、何も行わない。ＶＭ３からのＤＨＣＰＯＦＦＥＲについては、ＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ２にＶＭ３の情報が登録されていないため、ＥＳ２は、他のＥＳに、ＤＨＣＰＯＦＦＥＲを送信する。これにより、通信システム１００は、新たに稼働したＤＨＣＰサーバをＤＨＣＰ＿ＢｔｏＵテーブルに追加することができる。
【０１６９】
続けて、図４６〜図４９で示した動作を行うフローチャートを説明する。なお、実施の形態２にかかるＤＨＣＰパケット処理、ＤＨＣＰ送信タイムアウト処理、ＤＨＣＰパケット受信処理、ＤＨＣＰ通信方式変換処理の処理については、それぞれ図４０〜図４２、図４４にて説明した各処理と等しいため、説明を省略する。
【０１７０】
図５０は、擬似ＤＨＣＰＤＩＳＣＯＶＥＲ送信処理の一例を示すフローチャートである。なお、実施の形態２にかかるＤＨＣＰパケット処理は、実施の形態２にかかるＥＳ１にて定期的に起動される処理である。
【０１７１】
ＥＳ１は、管理下のＶＭにて、新たなＤＨＣＰサーバが起動したか否かを判断する（ステップＳ５００１）。新たなＤＨＣＰサーバが起動していた場合（ステップＳ５００１：Ｙｅｓ）、ＥＳ１は、管理下のＶＭに、擬似ＤＨＣＰＤＩＳＣＯＶＥＲをブロードキャストで送信する（ステップＳ５００２）。擬似ＤＨＣＰＤＩＳＣＯＶＥＲを送信した場合、または新たなＤＨＣＰサーバが起動していない場合（ステップＳ５００１：Ｎｏ）、ＥＳ１は、ステップＳ５００１の処理に移行する。
【０１７２】
図５１は、実施の形態２にかかるＤＨＣＰＯＦＦＥＲ受信処理を示すフローチャートである。なお、実施の形態２にかかるＤＨＣＰＯＦＦＥＲ受信処理について、ステップＳ５１０６〜ステップＳ５１１１は、ステップＳ４３０１〜ステップＳ４３０６と等しいため、説明を省略する。
【０１７３】
ＥＳ１は、ＤＨＣＰＯＦＦＥＲに対応するＤＨＣＰＤＩＳＣＯＶＥＲが擬似ＤＨＣＰＤＩＳＣＯＶＥＲか否かを判断する（ステップＳ５１０１）。擬似ＤＨＣＰＤＩＳＣＯＶＥＲでない場合（ステップＳ５１０１：Ｎｏ）、ＥＳ１は、ステップＳ５１０６の処理に移行する。擬似ＤＨＣＰＤＩＳＣＯＶＥＲである場合（ステップＳ５１０１：Ｙｅｓ）、ＥＳ１は、ＤＨＣＰＯＦＦＥＲの送信元となるＤＨＣＰサーバがＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ１に登録されているか否かを判断する（ステップＳ５１０２）。登録されている場合（ステップＳ５１０２：Ｙｅｓ）、ＥＳ１は、ＤＨＣＰＯＦＦＥＲを破棄し（ステップＳ５１０３）、ＤＨＣＰＯＦＦＥＲ受信処理を終了する。
【０１７４】
登録されていない場合（ステップＳ５１０２：Ｎｏ）、ＥＳ１は、送信元となるＤＨＣＰサーバに関する情報をＤＨＣＰ＿ＢｔｏＵテーブル４０１＿ＥＳ１に追加する（ステップＳ５１０４）。続けて、ＥＳ１は、他のＥＳにＤＨＣＰＯＦＦＥＲを送信し（ステップＳ５１０５）、ＤＨＣＰＯＦＦＥＲ受信処理を終了する。
【０１７５】
以上説明したように、通信方法、通信装置、および通信プログラムによれば、検出したＤＨＣＰサーバに対して、擬似ＤＨＣＰＤＩＳＣＯＶＥＲを送信し、受信したＤＨＣＰＯＦＦＥＲを追加して、他の装置にＤＨＣＰＯＦＦＥＲを送信してもよい。これにより、通信装置は、ＢｔｏＵテーブルに既にＤＨＣＰサーバが登録されている場合に、新たなＤＨＣＰサーバが追加されても、ユニキャストの変換先に新たなＤＨＣＰサーバを加えることができる。したがって、通信装置は、新たなＤＨＣＰサーバによるサービスを能動的に他の装置に通知することができる。
【０１７６】
なお、実施の形態１、２で説明した通信方法では、エンドホストサーバ内の仮想環境について説明を行ったが、エンドホストサーバやネットワークスイッチにも適用することができる。また、対応するプロトコルとしては、ＡＲＰ、ＤＨＣＰ以外にも、ＣＩＦＳ（Ｃｏｍｍｏｎ  Ｉｎｔｅｒｎｅｔ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）にも適用することができる。
【０１７７】
なお、実施の形態１、２で説明した通信方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本通信プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本通信プログラムは、インターネット等のネットワークを介して配布してもよい。
【符号の説明】
【０１７８】
１０２  ＡＲＰ＿ＢｔｏＵテーブル
４０１  ＤＨＣＰ＿ＢｔｏＵテーブル
４１０  記憶部
４１１  抽出部
４１２  変換部
４１３  送信部
４１４  更新部
４１５  判定部
４１６  送信部
４１７  更新部
４２０  記憶部
４２１  受信部
４２２  抽出部
４２３  生成部
４２４  送信部
４５０１  送信部
４５０２  追加部
４５０３  送信部
【図１】
0005712870.tif 000002
【図２】
0005712870.tif 000003
【図３】
0005712870.tif 000004
【図４】
0005712870.tif 000005
【図５】
0005712870.tif 000006
【図６】
0005712870.tif 000007
【図７】
0005712870.tif 000008
【図８】
0005712870.tif 000009
【図９】
0005712870.tif 000010
【図１０】
0005712870.tif 000011
【図１１】
0005712870.tif 000012
【図１２】
0005712870.tif 000013
【図１３】
0005712870.tif 000014
【図１４】
0005712870.tif 000015
【図１５】
0005712870.tif 000016
【図１６】
0005712870.tif 000017
【図１７】
0005712870.tif 000018
【図１８】
0005712870.tif 000019
【図１９】
0005712870.tif 000020
【図２０】
0005712870.tif 000021
【図２１】
0005712870.tif 000022
【図２２】
0005712870.tif 000023
【図２３】
0005712870.tif 000024
【図２４】
0005712870.tif 000025
【図２５】
0005712870.tif 000026
【図２６】
0005712870.tif 000027
【図２７】
0005712870.tif 000028
【図２８】
0005712870.tif 000029
【図２９】
0005712870.tif 000030
【図３０】
0005712870.tif 000031
【図３１】
0005712870.tif 000032
【図３２】
0005712870.tif 000033
【図３３】
0005712870.tif 000034
【図３４】
0005712870.tif 000035
【図３５】
0005712870.tif 000036
【図３６】
0005712870.tif 000037
【図３７】
0005712870.tif 000038
【図３８】
0005712870.tif 000039
【図３９】
0005712870.tif 000040
【図４０】
0005712870.tif 000041
【図４１】
0005712870.tif 000042
【図４２】
0005712870.tif 000043
【図４３】
0005712870.tif 000044
【図４４】
0005712870.tif 000045
【図４５】
0005712870.tif 000046
【図４６】
0005712870.tif 000047
【図４７】
0005712870.tif 000048
【図４８】
0005712870.tif 000049
【図４９】
0005712870.tif 000050
【図５０】
0005712870.tif 000051
【図５１】
0005712870.tif 000052