(57)【要約】【課題】ブロードキャストの発生によるネットワーク負荷の増大と、ブロードキャストパケットを生成するためのプロトコル、プログラム、データの複雑化及び巨大化を低減する。【解決手段】複数の計算機と、複数のネットワーク装置を介して複数の計算機と接続される制御装置とを備えるネットワークシステムであって、制御装置は、複数の第１のアドレスと、各第１のアドレスを第２のアドレスに変換するための変換規則を保持し、各計算機からの要求に従って、一つの第１のアドレスと、一つの変換規則とを抽出し、抽出された第１のアドレスと変換規則とを、要求した計算機に送信し、各計算機は、第１のアドレスを送信された変換規則によって第２のアドレスに変換し、第２のアドレスを保持する。【選択図】図３
2012156957.tif 000002
【特許請求の範囲】
【請求項１】
複数の計算機と、複数のネットワーク装置を介して前記複数の計算機と接続される制御装置とを備えるネットワークシステムであって、
前記制御装置は、
複数の第１のアドレスと、前記各第１のアドレスを第２のアドレスに変換するための変換規則を保持し、
前記各計算機からの要求に従って、一つの前記第１のアドレスと、一つの前記変換規則とを抽出し、
前記抽出された第１のアドレスと変換規則とを、前記要求した計算機に送信し、
前記各計算機は、
前記第１のアドレスを前記送信された変換規則によって前記第２のアドレスに変換し、
前記第２のアドレスを保持することを特徴とするネットワークシステム。
【請求項２】
第１の前記計算機は、第２の前記計算機に接続され、
前記第１の計算機は、
前記第１のアドレスを含むパケットを受信した場合、前記送信された変換規則によって、当該パケットに含まれる第１のアドレスを第２のアドレスに変換し、
前記第２のアドレスを当該パケットに付加し、
前記第２のアドレスが付加されたパケットを、当該第２のアドレスを保持する第２の計算機へ送信し、
前記第２の計算機は、前記第１の計算機から送信されたパケットに付加された第２のアドレスを削除することを特徴とする請求項１に記載のネットワークシステム。
【請求項３】
前記各計算機は、前記各計算機が前記各ネットワーク装置に接続された際に、前記制御装置へ送信することを特徴とする請求項１に記載のネットワークシステム。
【請求項４】
前記各計算機は、少なくとも一つの仮想ネットワークに接続され、
前記各計算機から前記制御装置に送信された要求は、前記各計算機が接続された仮想ネットワークを示す識別子を含み、
前記制御装置は、
前記仮想ネットワークに対応する、前記変換規則を保持し、
前記送信された要求に含まれる仮想ネットワークを示す識別子に従って、前記変換規則を、前記要求した計算機に送信することを特徴とする請求項１に記載のネットワークシステム。
【請求項５】
複数の計算機と、複数のネットワーク装置を介して前記複数の計算機と接続される制御装置とを備えるネットワークシステムであって、
前記制御装置は、
複数の第１のアドレスと、第２のアドレスを前記各第１のアドレスに変換するための変換規則を保持し、
前記各ネットワーク装置の要求に従って、一つの前記第１のアドレスと、一つの前記変換規則とを抽出し、
前記抽出された第１のアドレスと変換規則とを、前記要求したネットワーク装置に送信し、
前記各ネットワーク装置は、
前記送信された変換規則に基づいて、前記第１のアドレスを前記第２のアドレスに変換する関数を生成し、
前記第１のアドレスを前記生成された関数によって前記第２のアドレスに変換し、
前記変換された第２のアドレスを前記各計算機に送信し、
前記各計算機は、前記第２のアドレスを保持することを特徴とするネットワークシステム。
【請求項６】
前記各ネットワーク装置は、
前記送信された第１のアドレスを保持し、
第１の前記ネットワーク装置は、第１の前記計算機に接続され、
第２の前記ネットワーク装置は、第２の前記計算機に接続され、
前記第１の計算機は、前記第２の計算機によって保持される前記第２のアドレスを含むパケットを、前記第１のネットワーク装置に送信し、
前記第１のネットワーク装置は、
前記第１の計算機から送信されたパケットに含まれ、前記第２の計算機によって保持される前記第２のアドレスを、前記第２のネットワーク装置によって保持される前記第１のアドレスに、前記送信された変換規則によって変換し、
前記変換された第１のアドレスを、前記送信されたパケットに付加し、
前記第１のアドレスが付加されたパケットを、前記第２のネットワーク装置へ送信し、
前記第２のネットワーク装置は、
前記第１のネットワーク装置から送信されたパケットに付加された第１のアドレスを削除し、
前記第１のネットワーク装置から送信されたパケットに含まれる第２の計算機の第２のアドレスに基づいて、前記送信されたパケットを、前記第２の計算機に送信することを特徴とする請求項５に記載のネットワークシステム。
【請求項７】
前記ネットワーク装置は、
前記送信された変換規則から、一つの前記第１のアドレスを、二つ以上の前記第２のアドレスに変換する関数を生成し、
第３の前記計算機と第４の前記計算機とに接続され、
前記生成された関数によって変換した結果生成される二つ以上の第２のアドレスを、前記第３の計算機と、前記第４の計算機とに各々割り当て、
前記第３の計算機に割り当てられた前記第２のアドレスを、前記第３の計算機に送信し、
前記第４の計算機に割り当てられた前記第２のアドレスを、前記第４の計算機に送信することを特徴とする請求項５に記載のネットワークシステム。
【請求項８】
前記ネットワーク装置は、前記送信された第１のアドレスと、前記生成された関数とを、前記計算機に送信し、
前記計算機は、前記送信された関数によって、前記第１のアドレスを前記第２のアドレスに変換することを特徴とする請求項５に記載のネットワークシステム。
【請求項９】
前記各ネットワーク装置は、
少なくとも一つの仮想ネットワークに接続され、
前記各ネットワーク装置に、前記仮想ネットワークの接続が追加された際に、前記制御装置に要求を送信することを特徴とする請求項５に記載のネットワークシステム。
【請求項１０】
前記各ネットワーク装置から前記制御装置に送信された要求は、前記各ネットワーク装置が接続された仮想ネットワークを示す識別子を含み、
前記制御装置は、
前記仮想ネットワークに対応する、前記変換規則を保持し、
前記送信された要求に含まれる仮想ネットワークを示す情報に従って、前記変換規則を、前記各ネットワーク装置に送信することを特徴とする請求項９に記載のネットワークシステム。
【請求項１１】
複数の計算機と、複数のネットワーク装置を介して前記複数の計算機と接続される制御装置であって、
前記制御装置は、複数の第１のアドレスと、前記各第１のアドレスを第２のアドレスに変換するための変換規則を保持し、
前記各計算機からの要求に従って、一つの前記第１のアドレスと、一つの前記変換規則とを抽出し、
前記抽出された第１のアドレスと前記抽出された変換規則とによって変換された前記第２のアドレスを、前記各計算機に割り当てるため、前記抽出された第１のアドレスと変換規則とを、前記要求した計算機に送信することを特徴とする制御装置。
【請求項１２】
前記各計算機は、少なくとも一つの仮想ネットワークに接続され、
前記各計算機から前記制御装置に送信された要求は、前記各計算機が接続された仮想ネットワークを示す識別子を含み、
前記制御装置は、
前記仮想ネットワークに対応する、前記変換規則を保持し、
前記送信された要求に含まれる仮想ネットワークを示す識別子に従って、前記変換規則を、前記要求した計算機に送信することを特徴とする請求項１１に記載の制御装置。
【請求項１３】
複数の計算機と、複数のネットワーク装置を介して前記複数の計算機と接続される制御装置であって、
前記制御装置は、
複数の第１のアドレスと、第２のアドレスを前記各第１のアドレスに変換するための変換規則を保持し、
前記各ネットワーク装置の要求に従って、一つの前記第１のアドレスと、一つの前記変換規則とを抽出し、
前記抽出された第１のアドレスを前記要求したネットワーク装置に割り当てるため、前記抽出された第１のアドレスと変換規則とを、前記要求したネットワーク装置に送信することを特徴とする制御装置。
【請求項１４】
前記各ネットワーク装置は、
少なくとも一つの仮想ネットワークに接続され、
前記各ネットワーク装置に、前記仮想ネットワークの接続が追加された際に、前記制御装置に要求を送信することを特徴とする請求項１３に記載の制御装置。
【請求項１５】
前記各ネットワーク装置は、少なくとも一つの仮想ネットワークに接続され、
前記各ネットワーク装置から前記制御装置に送信された要求は、前記各ネットワーク装置が接続された仮想ネットワークを示す識別子を含み、
前記制御装置は、
前記仮想ネットワークに対応する、前記変換規則を保持し、
前記送信された要求に含まれる仮想ネットワークを示す情報に従って、前記変換規則を、前記各ネットワーク装置に送信することを特徴とする請求項１４に記載の制御装置。
【請求項１６】
複数のネットワーク装置を介して制御装置と接続される複数の計算機であって、
前記制御装置は、複数の第１のアドレスと、前記各第１のアドレスを第２のアドレスに変換するための変換規則を保持し、
前記各計算機は、
前記制御装置に、要求を送信し、
前記制御装置から、前記要求に従った、一つの前記第１のアドレスと、一つの前記変換規則とを送信され、
前記第１のアドレスを前記送信された変換規則によって前記第２のアドレスに変換し、
前記第２のアドレスを保持することを特徴とする計算機。
【請求項１７】
第１の前記計算機は、第２の前記計算機に接続され、
前記第１の計算機は、
前記第１のアドレスを含むパケットを受信した場合、前記送信された変換規則によって、当該パケットに含まれる第１のアドレスを第２のアドレスに変換し、
前記第２のアドレスを当該パケットに付加し、
前記第２のアドレスが付加されたパケットを、当該第２のアドレスを保持する第２の計算機へ送信し、
前記第２の計算機は、前記第１の計算機から送信されたパケットに付加された第２のアドレスを削除することを特徴とする請求項１６に記載の計算機。
【請求項１８】
前記各計算機は、前記各計算機が前記各ネットワーク装置に接続された際に、前記制御装置へ要求を送信することを特徴とする請求項１６に記載の計算機。
【請求項１９】
複数の計算機と、制御装置とに接続される複数のネットワーク装置であって、
前記制御装置は、複数の第１のアドレスと、第２のアドレスを前記各第１のアドレスに変換するための変換規則を保持し、
前記各ネットワーク装置は、
前記制御装置に、要求を送信し、
前記制御装置から、前記要求に従った、一つの前記第１のアドレスと、一つの前記変換規則とを送信され、
前記送信された変換規則に基づいて、前記第１のアドレスを前記第２のアドレスに変換する関数を生成し、
前記第１のアドレスを前記生成された関数によって前記第２のアドレスに変換し、
前記変換された第２のアドレスを、前記各計算機に割り当てるため、前記各計算機に送信することを特徴とするネットワーク装置。
【請求項２０】
前記各ネットワーク装置は、
前記送信された第１のアドレスを保持し、
第１の前記ネットワーク装置は、第１の前記計算機に接続され、
第２の前記ネットワーク装置は、第２の前記計算機に接続され、
前記第１のネットワーク装置は、
前記第１の計算機から、前記第２の計算機によって保持される前記第２のアドレスを含むパケットを、送信され、
前記第１の計算機から送信されたパケットに含まれ、前記第２の計算機によって保持される前記第２のアドレスを、前記第２のネットワーク装置によって保持される前記第１のアドレスに、前記送信された変換規則によって変換し、
前記変換された第１のアドレスを、前記送信されたパケットに付加し、
前記第１のアドレスが付加されたパケットを、前記第２のネットワーク装置へ送信し、
前記第２のネットワーク装置は、
前記第１のネットワーク装置から送信されたパケットに付加された第１のアドレスを削除し、
前記第１のネットワーク装置から送信されたパケットに含まれる第２の計算機の第２のアドレスに基づいて、前記送信されたパケットを、前記第２の計算機に送信することを特徴とする請求項１９に記載のネットワーク装置。
【請求項２１】
前記ネットワーク装置は、
前記送信された変換規則から、一つの前記第１のアドレスを、二つ以上の前記第２のアドレスに変換する関数を生成し、
第３の前記計算機と第４の前記計算機とに接続され、
前記生成された関数によって変換した結果生成される二つ以上の第２のアドレスを、前記第３の計算機と、前記第４の計算機とに各々割り当て、
前記第３の計算機に割り当てられた前記第２のアドレスを、前記第３の計算機に送信し、
前記第４の計算機に割り当てられた前記第２のアドレスを、前記第４の計算機に送信することを特徴とする請求項１９に記載のネットワーク装置。
【請求項２２】
前記ネットワーク装置は、前記計算機に前記第１のアドレスと前記関数とによって変換された前記第２のアドレスを割り当てるため、前記送信された第１のアドレスと前記生成された関数とを、前記計算機に送信することを特徴とする請求項１９に記載のネットワーク装置。
【請求項２３】
前記各ネットワーク装置は、
少なくとも一つの仮想ネットワークに接続され、
前記各ネットワーク装置に、前記仮想ネットワークの接続が追加された際に、前記制御装置に要求を送信することを特徴とする請求項１９に記載のネットワーク装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークシステムに関し、特に、送信先と送信元のアドレスを含むパケットを送受信するネットワークシステムに関する。
【背景技術】
【０００２】
パケット通信をおこなう場合、物理的なネットワークプロトコルとは異なる論理的なネットワークプロトコルを使用することによって、物理的なネットワークプロトコルに従うことなく、パケットを通信させることができる。
【０００３】
このように２層化されたプロトコル（すなわち、物理的なプロトコル及び論理的なプロトコル）を用いるシステムにおいてパケットを通信させるためには、２層のプロトコルの各々に送信者及び受信者のアドレスを指定し、さらに、指定されたアドレスを２層のプロトコル間で対応づけることが必要である。すなわち、２層のプロトコルに各々指定された、送信者アドレスどうしを対応づけ、さらに、受信者アドレスどうしを対応づけることが必要である。
【０００４】
このような２層化または多層化されたプロトコルを使用する通信技術の第１の例には、ＩＰ  ｏｖｅｒ  Ｅｔｈｅｒｎｅｔ（Ｅｔｈｅｒｎｅｔは登録商標、以下同じ）を挙げることができる。
【０００５】
現在ではＩＰすなわちインターネットプロトコルによって全世界との通信が可能になっているが、ＩＰは、さまざまな物理ネットワーク上において実現されている。物理ネットワーク上において実現されるＩＰのうちの一つが、Ｅｔｈｅｒｎｅｔ上のＩＰ、すなわち、ＩＰ  ｏｖｅｒ  Ｅｔｈｅｒｎｅｔである。
【０００６】
ＩＰ  ｏｖｅｒ  Ｅｔｈｅｒｎｅｔを実装するため、ＩＰ  ｏｖｅｒ  Ｅｔｈｅｒｎｅｔを用いる各ホストコンピュータは、セグメント内の論理的なネットワークのアドレスと、物理的なネットワークのアドレスとの、対応関係を示すＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）テーブルを保持する。ＡＲＰテーブルには、セグメント内の論理的なネットワークのアドレスすなわちＩＰアドレスと、物理的なネットワークのアドレスすなわちＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスとが、１対１に対応づけられて格納される。
【０００７】
ＩＰ  ｏｖｅｒ  Ｅｔｈｅｒｎｅｔを用いる通信システムにおいて、ホストコンピュータが、ＡＲＰテーブルに格納されていないアドレスのホストコンピュータと通信をする場合、通信にさきだって、ＡＲＰテーブルを同期するためのＡＲＰメッセージを、ブロードキャスト（ＩＰｖ４を用いる場合）又はマルチキャスト（ＩＰｖ６を用いる場合）する必要がある。ＡＲＰメッセージを用いてアドレスを対応づける方法は、従来より提案されている（例えば、非特許文献１参照）。
【０００８】
また、２層化されたプロトコルを用いる通信技術の第２の例には、ＭＡＣ−ｉｎ−ＭＡＣによる広域Ｅｔｈｅｒｎｅｔ通信技術を挙げることができる。
【０００９】
広域Ｅｔｈｅｒｎｅｔ通信を用いるホストコンピュータは、Ｅｔｈｅｒｎｅｔ上でＥｔｈｅｒｎｅｔプロトコルを使用して通信するが、２層化されたプロトコルを用いることによって下層での通信、すなわち、広域通信をする場合に、上層のネットワークの制約を受けない。すなわち、プロトコルを２層化することよって、Ｅｔｈｅｒｎｅｔがもつスケーラビリティが低いという欠点を軽減することができる。ＭＡＣ−ｉｎ−ＭＡＣによる通信技術については、従来より提案されている（例えば、特許文献１参照）。
【００１０】
特許文献１は、ＶＬＡＮ技術を用いて実装されたＷＡＮ（Ｗｉｄｅ−Ａｒｅａ  Ｎｅｔｗｏｒｋ、広域ネットワーク）が二つのＬＡＮ（Ｌｏｃａｌ−Ａｒｅａ  Ｎｅｔｗｏｒｋ）を接続し、そのＷＡＮによって接続された二つのＬＡＮ間におけるパケットの通信方法を提案する。
【００１１】
すなわち、一つのＬＡＮからＷＡＮへの入口に配置されたスイッチが、他方のＬＡＮに接続されるＷＡＮの出口に配置されたスイッチを識別するためのアドレス等の情報を保持している場合、入口に配置されたスイッチは、出口のスイッチだけに２層化されたパケットを転送する。しかし、入口に配置されたスイッチが、出口に配置されたスイッチを識別するためのアドレス等の情報を保持していない場合、入口に配置されたスイッチは、ＶＬＡＮ内の出口になる可能性があるすべてのスイッチにパケットをブロードキャストする。
【００１２】
この場合、２層化されたプロトコルのうち上層のプロトコルに対応するアドレスは、個々のホストコンピュータに一意のアドレスである。そして、上層のアドレスに対応づけられる下層のアドレスはＷＡＮスイッチのアドレスである。
【００１３】
各スイッチが、これらのアドレスの対応関係を十分に保持していない場合、各スイッチは、パケットをブロードキャストする必要がある。すなわち、ＭＡＣ−ｉｎ−ＭＡＣにおいても、二つの層のアドレスを対応づけるためにパケットをブロードキャストする必要が生じる。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２００２−３４４４７６号公報
【非特許文献】
【００１５】
【非特許文献１】ＲＦＣ８２６，Ａｎ  Ｅｔｈｅｒｎｅｔ  Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ−−ｏｒ−−Ｃｏｎｖｅｒｔｉｎｇ  Ｎｅｔｗｏｒｋ  Ｐｒｏｔｏｃｏｌ  Ａｄｄｒｅｓｓｅｓ，ＩＥＴＦ．
【発明の概要】
【発明が解決しようとする課題】
【００１６】
前述の通り、非特許文献１において提案されたＩＰ  ｏｖｅｒ  Ｅｔｈｅｒｎｅｔを用いるシステムにおいて、ホストコンピュータは、２層のプロトコルのアドレスを対応づけるために、ＡＲＰメッセージのブロードキャスト等が必要である。そのため、以下の二つの問題が存在する。
【００１７】
第１の問題には、ＡＲＰメッセージの送信によるネットワーク負荷の増大がある。すなわち、新しく導入されるホストコンピュータのアドレスの対応関係、又は、しばらく通信していなかったが通信を再開するホストコンピュータのアドレスの対応関係は、通信中の既存のホストコンピュータが保持するＡＲＰテーブルに格納されていない。このため、通信中の既存のホストコンピュータに、新たなアドレスの対応関係を送信するため、ＡＲＰメッセージが送信される。そして、ＡＲＰメッセージが送信されることによって、多数のパケットが生成され、ネットワーク負荷が増大するという問題が生じる。
【００１８】
第２の問題には、プロトコル、プログラム及びデータ等の複雑化がある。すなわち、ＩＰ  ｏｖｅｒ  Ｅｔｈｅｒｎｅｔを用いるホストコンピュータは、ＡＲＰメッセージを送受信するための機能、及び、ＡＲＰメッセージの送受信によって取得できるＩＰアドレスとＭＡＣアドレスとの対応関係を個別に管理するための機能が、必要になる。このため、パケットを送受信するためのプロトコル、プログラム、及び、データ等が、複雑化するという問題がある。
【００１９】
また、特許文献１において提案されたＭＡＣ−ｉｎ−ＭＡＣにおいても、二つの層のアドレスを対応づけるためにパケットをブロードキャストする必要が生じる。そのため、以下の二つの問題が存在する。
【００２０】
第１の問題には、パケットをブロードキャストすることによるネットワーク負荷の増大がある。すなわち、新しく導入されるホストコンピュータのアドレスの対応関係、又は、しばらく通信していなかったが通信を再開するホストコンピュータのアドレスの対応関係は、そのホストコンピュータに接続されたスイッチ以外のスイッチにおいて保持されていない。このため、ＷＡＮ上で、ブロードキャストのための多数のパケットが生成され、ネットワーク負荷が増大するという問題がある。
【００２１】
第２の問題には、プロトコル、プログラム及びデータ等の複雑化がある。すなわち、ホストコンピュータは、上層と下層のアドレスを対応づけるためにブロードキャストメッセージを送受信する機能と、それによってえられるアドレスの対応関係を表によって個別に管理する機能とが必要になり、プロトコル、プログラム、及び、データ等が複雑化、巨大化するという問題がある。
【００２２】
この発明は、多層（例えば、２層）化されたプロトコルによるネットワークにおいて、各層に対応するアドレスが指定される場合、それらのアドレスの対応関係を共有させるために生じるオーバヘッド、特にブロードキャストの発生によるネットワーク負荷の増大の問題と、ブロードキャスト生成のためのプロトコルプログラム及びデータなどの複雑化、並びに、巨大化の問題とを低減することが目的である。
【００２３】
特に、本発明は、ＩＰ  ｏｖｅｒ  Ｅｔｈｅｒｎｅｔを、ＭＡＣアドレスとＩＰアドレスとの対応づけのために必要なＡＲＰメッセージを用いることなく実装し、ＡＲＰメッセージを生成及び管理するための機能を削減することが目的である。また、広域Ｅｔｈｅｒｎｅｔを、ＶＰＮ（上層ネットワーク）上のＭＡＣアドレス（上層アドレス）とエッジスイッチ（入口及び出口に配置されるスイッチ）のＭＡＣアドレス（下層アドレス）との対応づけのために必要になるブロードキャストメッセージを用いることなく実装し、ブロードキャストメッセージを生成及び管理するための機能を削減することが目的である。
【課題を解決するための手段】
【００２４】
本発明の代表的な一例を示せば以下の通りである。すなわち、複数の計算機と、複数のネットワーク装置を介して前記複数の計算機と接続される制御装置とを備えるネットワークシステムであって、前記制御装置は、複数の第１のアドレスと、前記各第１のアドレスを第２のアドレスに変換するための変換規則を保持し、前記各計算機からの要求に従って、一つの前記第１のアドレスと、一つの前記変換規則とを抽出し、前記抽出された第１のアドレスと変換規則とを、前記要求した計算機に送信し、前記各計算機は、前記第１のアドレスを前記送信された変換規則によって前記第２のアドレスに変換し、前記第２のアドレスを保持する。
【発明の効果】
【００２５】
本発明の一実施形態によると、ブロードキャストの発生によるネットワーク負荷の増大と、ブロードキャスト生成のためのプロトコル、プログラム、データの複雑化及び巨大化の問題とを低減できる。
【図面の簡単な説明】
【００２６】
【図１】本発明の第１の実施形態のネットワーク構成を示すブロック図である。
【図２Ａ】本発明の第１の実施形態のホストコンピュータＨの構成を示すブロック図である。
【図２Ｂ】本発明の第１の実施形態のアドレス配布サーバＣの構成を示すブロック図である。
【図３】本発明の第１の実施形態のホストコンピュータＨが新たに導入された場合の処理を示すシーケンス図である。
【図４】本発明の第１の実施形態のアドレス配布サーバＣのホスト・アドレス生成処理を示すフローチャートである。
【図５】本発明の第１の実施形態のホストコンピュータＨの自アドレス計算・設定処理フローチャートである。
【図６】本発明の第１の実施形態のホストコンピュータＨによるパケット変換処理を示す説明図である。
【図７】本発明の第２の実施形態のネットワーク構成を示すブロック図である。
【図８Ａ】本発明の第２の実施形態のＷＡＮスイッチＳの構成を示すブロック図である。
【図８Ｂ】本発明の第２の実施形態のアドレス配布サーバＣの構成を示すブロック図である。
【図８Ｃ】本発明の第２の実施形態のホストコンピュータＨの構成を示すブロック図である。
【図９】本発明の第２の実施形態のＷＡＮに仮想ネットワークサイトが接続された場合の処理を示すシーケンス図である。
【図１０】本発明の第２の実施形態のアドレス配布サーバＣのスイッチ・アドレス生成処理を示すフローチャートである。
【図１１Ａ】本発明の第２の実施形態のＷＡＮスイッチＳによるスイッチ・アドレス設定処理を示すフローチャートである。
【図１１Ｂ】本発明の第２の実施形態のＷＡＮスイッチＳによるホスト・アドレス生成準備処理を示すフローチャートである。
【図１１Ｃ】本発明の第２の実施形態のＷＡＮスイッチＳによるホスト・アドレス生成処理を示すフローチャートである。
【図１２】本発明の第２の実施形態のホストコンピュータＨによる自アドレス計算・設定処理を示すフローチャートである。
【図１３】本発明の第２の実施形態のＷＡＮを介したホストコンピュータＨ間の通信を示すシーケンス図である。
【図１４】本発明の第２の実施形態のホストコンピュータＨとホストコンピュータＨとの通信の際のパケット変換・転送処理を示すフローチャートである。
【発明を実施するための形態】
【００２７】
以下に、本発明の第１の実施形態について説明する。
【００２８】
なお、以下においてブロードキャスト又はマルチキャストについて記載する場合、特にブロードキャストと記載する。
【００２９】
（第１の実施形態）
図１は、本発明の第１の実施形態のネットワーク構成を示すブロック図である。
【００３０】
第１の実施形態のネットワークは、ホストコンピュータＨ１（１０１）、Ｈ２（１０２）、Ｈ３（１０３）及びＨ４（１０４）と、スイッチＳ１（１１１）、Ｓ２（１１２）及びＳ３（１１３）と、アドレス配布サーバＣ１（１２１）と、ＬＡＮ１２２とを備える。
【００３１】
ＬＡＮ１２２は、スイッチＳ１（１１１）、Ｓ２（１１２）及びＳ３（１１３）によって実装されるＥｔｈｅｒｎｅｔである。スイッチＳ１（１１１）、Ｓ２（１１２）及びＳ３（１１３）は、ＥｔｈｅｒｎｅｔにおけるＬＡＮスイッチの機能を備える。
【００３２】
スイッチＳ１（１１１）にはホストコンピュータＨ１（１０１）が接続される。スイッチＳ２（１１２）にはホストコンピュータＨ２（１０２）及びＨ４（１０４）が接続される。スイッチＳ３（１１３）には、ホストコンピュータＨ３（１０３）が接続される。
【００３３】
また、アドレス配布サーバＣ１（１２１）は前述のいずれかのスイッチＳに接続される。このためアドレス配布サーバＣ１（１２１）は、ホストコンピュータＨ１（１０１）、Ｈ２（１０２）、Ｈ３（１０３）及びＨ４（１０４）のいずれとも通信することができる。
【００３４】
第１の実施形態において、ホストコンピュータＨ１（１０１）とホストコンピュータＨ２（１０２）とは、仮想ＩＰネットワークＶＮ１（Ｖｉｒｔｕａｌ  Ｎｅｔｗｏｒｋ  １）を介して通信する。また、ホストコンピュータＨ３（１０３）とホストコンピュータＨ４（１０４）とは、仮想ＩＰネットワークＶＮ２（Ｖｉｒｔｕａｌ  Ｎｅｔｗｏｒｋ  ２）を介して通信する。
【００３５】
第１の実施形態のホストコンピュータＨ１（１０１）、Ｈ２（１０２）、Ｈ３（１０３）及びＨ４（１０４）は、アドレス配布サーバＣ１（１２１）からＩＰアドレスと、ＩＰアドレス及びＭＡＣアドレスを対応づけるアドレス変換規則とを、配布される。
【００３６】
なお、第１の実施形態におけるネットワークは、従来のＩＰ  ｏｖｅｒ  Ｅｔｈｅｒｎｅｔに基づくネットワークとは異なり、複数の独立な仮想ＩＰネットワークを、ＬＡＮ１２２上において同時に動作させることができる。第１の実施形態における仮想ＩＰネットワークは、いわゆる仮想ネットワークと同様であるため、以下において、ＬＡＮ１２２における各仮想ＩＰネットワークを、ＶＮ１（Ｖｉｒｔｕａｌ  Ｎｅｔｗｏｒｋ  １）、ＶＮ２（Ｖｉｒｔｕａｌ  Ｎｅｔｗｏｒｋ  ２）などと記載する。
【００３７】
図２Ａは、本発明の第１の実施形態のホストコンピュータＨの構成を示すブロック図である。
【００３８】
ホストコンピュータＨ１（１０１）、Ｈ２（１０２）、Ｈ３（１０３）及びＨ４（１０４）のいずれもが、図２Ａに示す構成を備える。ホストコンピュータＨは、ＣＰＵ２０１、メモリ２１１、ネットワークインターフェースカード（ＮＩＦ）２２１を備える。ＣＰＵ２０１は、プロセッサであり、メモリ２１１に保持されたプログラムを実行する。
【００３９】
メモリ２１１は、データ２１２とプログラム２１３とを保持する。データ２１２は、アドレス変換規則２３１を含む。また、プログラム２１３は、自アドレス計算・設定プログラム２４１とパケット変換プログラム２４２とを含む。
【００４０】
自アドレス計算・設定プログラム２４１は、ホストコンピュータＨによるアドレス設定プロキシの機能を実装するためのプログラムである。アドレス配布サーバＣ１（１２１）から配布されたＩＰアドレスに基づいて、ホストコンピュータＨにアドレスを反映するためのプログラムである。
【００４１】
パケット変換プログラム２４２は、ホストコンピュータＨによるアドレス変換プロキシの機能を実装するためのプログラムである。パケット内のＩＰアドレスを、ＭＡＣアドレスに変換するためのプログラムである。
【００４２】
ＮＩＦ２２１は、ホストコンピュータＨがスイッチＳと通信するためのインターフェースである。ＮＩＦ２２１には、ＮＩＦ２２１に一意に割り当てられたＭＡＣアドレス２２２が格納される。
【００４３】
アドレス変換規則２３１には、初期状態において何も格納されない。アドレス配布サーバＣ１（１２１）からホストコンピュータＨに、アドレス変換規則が送信された後、送信されたアドレス変換規則がアドレス変換規則２３１に格納される。
【００４４】
図２Ａに示すアドレス変換規則２３１には、ＩＰアドレスから０ｘ０００１．ＩＰ（４バイトのＩＰアドレスの先頭に０ｘ０００１を付加することによって、６バイトのＭＡＣアドレスに変換する）というＭＡＣアドレスへの変換規則が含まれる。
【００４５】
図２Ｂは、本発明の第１の実施形態のアドレス配布サーバＣ１（１２１）の構成を示すブロック図である。
【００４６】
アドレス配布サーバＣ１（１２１）は、ＣＰＵ２５１、メモリ２６１、及び、ＮＩＦ２７１を備える。ＣＰＵ２５１は、プロセッサであり、メモリ２６１に保持されるプログラムを実行する。
【００４７】
メモリ２６１は、データ２６２とプログラム２６３とを保持する。データ２６２は、アドレス変換規則表２８１を含む。また、プログラム２６３は、ホスト・アドレス生成プログラム２９１を含む。
【００４８】
アドレス変換規則表２８１は、仮想ＩＰネットワークの識別子２８１−１、ＩＰアドレスの下限２８１−２、ＩＰアドレスの上限２８１−３、次のＩＰアドレス２８１−４、及び、アドレス変換規則２８１−５を含む。
【００４９】
仮想ＩＰネットワークの識別子２８１−１には、ＬＡＮ１２２における仮想ＩＰネットワークを、一意に識別するための識別子（数値又は文字列）が格納される。
【００５０】
ＩＰアドレスの下限２８１−２には、仮想ＩＰネットワークにおいて用いられるＩＰアドレスの下限値が格納される。ＩＰアドレスの上限２８１−３には、仮想ＩＰネットワークにおいて用いられるＩＰアドレスの上限値が格納される。
【００５１】
次のＩＰアドレス２８１−４には、アドレス配布サーバＣ１（１２１）によって次に割り当てられる予定のＩＰアドレスの値が格納される。アドレス変換規則２８１−５には、アドレス変換規則が格納される。
【００５２】
第１の実施形態のアドレス変換規則表２８１は、二つの行を保持する。第１の行は、ＬＡＮ１２２におけるＶＮ１の情報を含み、第２の行は、ＬＡＮ１２２におけるＶＮ２の情報を含む。
【００５３】
第１の実施形態において、ＶＮ１のアドレス変換規則２８１−５には、アドレス変換規則Ｉ２Ｍ１（Ｉ２Ｍ１（ＩＰ）＝０ｘ０００１．ＩＰ）が含まれる。アドレス変換規則Ｉ２Ｍ１は、４バイトのＩＰｖ４アドレスを、ＩＰｖ４アドレスの先頭に０ｘ０００１を付加することによって、６バイトのＭＡＣアドレスに変換する関数を示す。
【００５４】
第１の実施形態において、ＶＮ２のアドレス変換規則２８１−５には、アドレス変換規則Ｉ２Ｍ２（Ｉ２Ｍ２（ＩＰ）＝０ｘ０００２．ＩＰ）が含まれる。アドレス変換規則Ｉ２Ｍ２は、４バイトのＩＰｖ４アドレスを、ＩＰｖ４アドレスの先頭に０ｘ０００２を付加することによって、６バイトのＭＡＣアドレスに変換する関数を示す。
【００５５】
図２Ｂに示すアドレス変換規則２８１−５は、上位２バイトを、０ｘ０００１又は０ｘ０００２などの固定値とし、下位４バイトをＩＰアドレスの変数とする規則であるが、本発明のアドレス変換規則は、いかなる規則でもよい。例えば、ＩＰアドレスとハッシュ値とを用いて、ＭＡＣアドレスが算出されてもよい。
【００５６】
アドレス変換規則表２８１の行は、ネットワーク管理サーバ又はネットワーク管理者によって、追加又は削除されてもよい。すなわち、管理者等がアドレス変換規則表２８１を更新することによって、ＬＡＮ１２２における仮想ＩＰネットワークの数を増減させることができる。新たな仮想ＩＰネットワークをＬＡＮ１２２に追加する場合、新しい行の次のＩＰアドレス２８１−５には、同じ行のＩＰアドレスの下限ＩＰｍｉｎとひとしい値を格納すればよい。
【００５７】
以下、ＬＡＮ１２２にホストコンピュータＨ１（１０１）が新たに導入された場合の処理について説明する。
【００５８】
図３は、本発明の第１の実施形態のホストコンピュータＨ１（１０１）が新たに導入された場合の処理を示すシーケンス図である。
【００５９】
ホストコンピュータＨ１（１０１）がＬＡＮ１２２に接続された後、まず、ホストコンピュータＨ１（１０１）は、みずからのＭＡＣアドレスの割り当てを要求するため、自アドレス計算・設定プログラム２４１を用いて、アドレス配布サーバＣ１（１２１）にアドレス要求３１１を送信する。
【００６０】
アドレス要求３１１は、パケット３２１によって送信される。パケット３２１は、送信先アドレス３２１−１及び送信元アドレス３２１−２を含み、送信先アドレス３２１−１及び送信元アドレス３２１−２は、Ｅｔｈｅｒｎｅｔフレームにおいてアドレスを格納するための領域である。
【００６１】
さらに、パケット３２１は、プロトコル種別３２１−３、データ３２１−４、仮想ＩＰネットワーク識別子３２１−５、及び、認証情報３２１−６を含む。なお、プロトコル種別３２１−３も、Ｅｔｈｅｒｎｅｔフレームに含まれる。
【００６２】
図３のアドレス要求３１１において、送信先アドレス３２１−１には、ＭＡＣｓが格納され、送信元アドレス３２１−２には、ＭＡＣｒが格納される。プロトコル種別３２１−３は、データ３２１−４のプロトコルタイプが格納される。
【００６３】
Ｅｔｈｅｒｎｅｔフレームより後の領域がアドレス要求の内容を格納する領域である。パケット３２１のデータ３２１−４に格納されるＡｄｄｒＲｅｑは、パケット３２１がアドレス要求であることを示す数値である。
【００６４】
パケット３２１の仮想ＩＰネットワーク識別子３２１−５は、ホストコンピュータＨ１（１０１）が参加する仮想ＩＰネットワークの識別子（ＶＮ１）を示す。なお、ホストコンピュータＨ１（１０１）が参加可能な仮想ＩＰネットワークが一つだけの場合、仮想ＩＰネットワーク識別子３２１−５に格納される識別子は省略されてもよい。
【００６５】
認証情報３２１−６には、パケット３２１が正しく送信されたか否かを判定するための認証情報が格納される。
【００６６】
アドレス要求３１１を送信する際、ホストコンピュータＨ１（１０１）のＭＡＣアドレスは未定であるため、アドレス要求３１１の送信元アドレス３２１−２には、仮のＭＡＣアドレスであるＭＡＣｒが格納される。ホストコンピュータＨ１（１０１）は、ホストコンピュータＨ１（１０１）のＮＩＦ２２１にあらかじめ初期値として格納されたＭＡＣアドレス２２２を、仮のＭＡＣアドレスＭＡＣｒに用いてもよい。
【００６７】
また、ホストコンピュータＨ１（１０１）は、アドレス要求３１１のためにあらかじめ予約されたＭＡＣアドレスを、仮のＭＡＣアドレスＭＡＣｒに用いてもよい。予約されたＭＡＣアドレスを用いる利点は、ＬＡＮ１２２が多数のホストコンピュータＨと接続される場合も、ＬＡＮ１２２に備わるスイッチＳが、比較的少数のＭＡＣアドレスを学習するだけですむことである。
【００６８】
ただし、複数のホストコンピュータＨが同時にＬＡＮ１２２に導入される場合、ＭＡＣアドレスが衝突する可能性があるという欠点がある。ホストコンピュータＨ１（１０１）は、衝突の確率を減少させるために、複数のＭＡＣアドレスを予約しておき、ホストコンピュータＨが導入される際に、予約されたＭＡＣアドレスからランダムに選択されたＭＡＣアドレスを使用してもよい。
【００６９】
また、衝突が発生したと推定される場合、すなわち、アドレス要求３１１に正常な応答が返らない場合、ホストコンピュータＨ１（１０１）は、再度、ＭＡＣアドレスをランダムに選択し、選択されたＭＡＣアドレスを仮のＭＡＣアドレスＭＡＣｒに用い、アドレス要求３１１を送信してもよい。
【００７０】
アドレス要求３１１の送信先アドレス３２１−１に格納されるアドレス配布サーバＣ１（１２１）のアドレスＭＡＣｓは、固定アドレスでもよい。アドレス要求３１１の送信先アドレス３２１−１に固定アドレスを用いる場合、ホストコンピュータＨ１（１０１）は、アドレス要求３１１をブロードキャストする必要がない。アドレス要求３１１の送信先アドレス３２１−１に固定アドレスを使用することができない場合、ホストコンピュータＨ１（１０１）は、アドレス要求３１１をブロードキャスト又はマルチキャストする必要がある。すなわち、ホストコンピュータＨ１（１０１）は、固定アドレスの代わりにブロードキャストアドレス又はマルチキャストアドレスを、送信先アドレス３２１−１に格納してもよい。
【００７１】
アドレス要求３１１がホストコンピュータＨ１（１０１）のＮＩＦ２２１にあらかじめ初期値として格納されたＭＡＣアドレスを、仮のＭＡＣアドレスＭＡＣｒに用いる場合、ＭＡＣアドレス認証を用いることができるため、認証情報３２１−６をパケット３２１に格納しなくてもよい。しかし、ＮＩＦ２２１にあらかじめ保持されたＭＡＣアドレス以外のアドレスを、仮のＭＡＣアドレスＭＡＣｒに用い、ＭＡＣアドレスの認証が必要である場合、認証情報３２１−６に値が格納される必要がある。
【００７２】
図３のシーケンス図は、１回の往復通信によってアドレスが配布される処理を示すが、認証情報３２１−６に値が格納される場合、認証情報３２１−６の認証方法に従って、認証のための通信が追加される。
【００７３】
アドレス配布サーバＣ１（１２１）は、アドレス要求３１１を受信した後、ホスト・アドレス生成処理３１２を実行することによって、ホストコンピュータＨ１（１０１）に送信するＩＰアドレスと、アドレス変換規則とを抽出する。ホスト・アドレス生成処理３１２については、図４を用いて後述する。
【００７４】
ホスト・アドレス生成処理３１２が終了した後、アドレス配布サーバＣ１（１２１）は、アドレス応答３１３をホストコンピュータＨ１（１０１）に送信する。
【００７５】
アドレス応答３１３は、パケット３２２によって送信される。パケット３２２は、送信先アドレス３２２−１及び送信元アドレス３２２−２を含む。送信先アドレス３２２−１及び送信元アドレス３２２−２は、Ｅｔｈｅｒｎｅｔフレームにおけるアドレスを格納する領域である。
【００７６】
さらに、パケット３２２は、プロトコル種別３２２−３、データ３２２−４、ＩＰアドレス３２２−５及びアドレス変換規則３２２−６を含む。なお、プロトコル種別３２２−３も、Ｅｔｈｅｒｎｅｔフレームに含まれる。
【００７７】
図３のアドレス応答３１３において、送信先アドレス３２２−１には、アドレス要求３１１の送信元アドレス３１１−２と同じ、仮のＭＡＣアドレスＭＡＣｒが格納される。また、送信元アドレス３２２−２には、アドレス要求３１１の送信先アドレス３１１−１と同じ、アドレスＭＡＣｓが格納される。プロトコル種別３２２−３は、データ３２２−４のプロトコルタイプを示す。
【００７８】
Ｅｔｈｅｒｎｅｔフレームより後の領域がアドレス要求の内容を格納する領域である。パケット３２２のデータ３２２−４には、ＡｄｄｒＲｅｐが格納され、パケット３２２がアドレス応答であることを示す数値が含まれる。
【００７９】
パケット３２２のＩＰアドレス３２２−５は、ホストコンピュータＨ１（１０１）が使用するべきＩＰアドレスが格納される。図３のＩＰアドレス３２２−５には、ＩＰｈが格納される。ＩＰアドレス３２２−５には、アドレス配布サーバＣ１（１２１）のホスト・アドレス生成処理３１２によって抽出されたＩＰアドレスが格納される。
【００８０】
アドレス変換規則３２２−６には、アドレス配布サーバＣ１（１２１）によって抽出されたアドレス変換規則が格納される。図３のアドレス変換規則３２２−６には、図２Ｂのアドレス変換規則表２８１のＩＰネットワークの識別子２８１−１がＶＮ１である行の、アドレス変換規則２８１−５に格納される値（Ｉ２Ｍ１：Ｉ２Ｍ１（ＩＰ）＝０ｘ０００１．ＩＰ）が格納される。
【００８１】
ホストコンピュータＨ１（１０１）は、アドレス応答３１３を受信した後、自アドレス計算・設定処理３１４を実行することによって、ホストコンピュータＨ１（１０１）に割り当てられるＭＡＣアドレスを算出する。自アドレス計算・設定処理３１４については、図５を用いて後述する。
【００８２】
なお、アドレス要求３１１及びアドレス応答３１３を送信するために使用されるフォーマットは、前述の第１の実施形態におけるフォーマットである必要はなく、いかなるフォーマットでもよい。例えば、本発明のパケットに、ＩＥＴＦにおいて標準化されたＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）が用いられてもよい。
【００８３】
ＤＨＣＰを用いた場合、ホストコンピュータＨ１（１０１）の仮のＭＡＣアドレス（図３のＭＡＣｒ）には、ＮＩＦ２２１にあらかじめ初期値として格納されたＭＡＣアドレス２２２が指定され、アドレス配布サーバＣ１（１２１）のアドレス（図３のＭＡＣｓ）には、何も指定されない。すなわち、アドレス要求３１１は、ＬＡＮ１２２にブロードキャストされる。
【００８４】
次に、ＬＡＮ１２２にホストコンピュータＨ３（１０３）が導入される場合の処理について説明する。
【００８５】
この場合の処理は、図３に示す処理において、ホストコンピュータＨ１（１０１）をホストコンピュータＨ３（１０３）に置換し、ＩＰネットワーク識別子３２１−５に格納されるＶＮ１をＶＮ２に置換し、アドレス変換規則３２２−６に格納されるアドレス変換規則Ｉ２Ｍ１をＩ２Ｍ２に置換した処理である。さらに、ＩＰアドレス３２２−５に格納されるＩＰｈを、アドレス配布サーバＣ１（１２１）がホストコンピュータＨ３（１０３）へ配布するＩＰアドレスに置換した処理である。
【００８６】
すなわち、他の仮想ＩＰネットワークに接続されるホストコンピュータＨも、図３の処理によって、アドレス配布サーバＣ１（１２１）からＩＰアドレスとアドレス変換規則とを受信することができる。
【００８７】
図４は、本発明の第１の実施形態のアドレス配布サーバＣ１（１２１）のホスト・アドレス生成処理３１２を示すフローチャートである。
【００８８】
ホスト・アドレス生成処理３１２は、ホスト・アドレス生成プログラム２９１によって実行される処理である。アドレス要求３１１が受信された後、ホスト・アドレス生成処理３１２が開始される。以下に示す処理は、図３のパケット３２１をアドレス配布サーバＣ１（１２１）が受信した場合のホスト・アドレス生成処理３１２である。
【００８９】
ホスト・アドレス生成処理３１２が開始された後、アドレス配布サーバＣ１（１２１）は、アドレス要求３１１のパケット３２１を参照し、ＩＰネットワーク識別子３２１−５に格納された値ＶＮ１を抽出する。そして、抽出された値ＶＮ１に従って、アドレス変換規則表２８１を検索し、ＩＰネットワークの識別子２８１−１に値ＶＮ１を含む行の、次のＩＰアドレス２８１−４の値ＩＰｎｅｘｔ１と、アドレス変換規則表２８１の値Ｉ２Ｍ１とを抽出する。
【００９０】
そして、アドレス配布サーバＣ１（１２１）は、抽出された値Ｉ２Ｍ１を、パケット３２２のアドレス変換規則３２２−６に格納し、抽出された値ＩＰｎｅｘｔ１を、パケット３２２のＩＰアドレス３２２−５に格納する。
【００９１】
また、アドレス配布サーバＣ１（１２１）は、パケット３２１の送信先アドレス３２１−１の値ＭＡＣｓを、パケット３２２の送信元アドレス３２２−２に格納し、パケット３２１の送信元アドレス３２１−２の値ＭＡＣｒを、パケット３２２の送信先アドレス３２２−１に格納する。さらに、データ３２２−４とプロトコル種別３２２−３とに、アドレス応答であることを示す値とプロトコルタイプとを格納する。
【００９２】
パケット３２２に値を格納した後、アドレス配布サーバＣ１（１２１）は、値を格納されたパケット３２２を、ホストコンピュータＨ１（１０１）に送信する（４１１）。
【００９３】
ステップ４１１の後、アドレス配布サーバＣ１（１２１）は、アドレス変換規則表２８１のＩＰアドレスの下限２８１−２、ＩＰアドレスの上限２８１−３及び次のＩＰアドレス２８１−４に格納された、ＩＰｎｅｘｔ１、ＩＰｍｉｎ１及びＩＰｍａｘ１の値を使用して、新たなＩＰｎｅｘｔ１を算出する。そして、算出された新たなＩＰｎｅｘｔ１の値によって、次のＩＰアドレス２８１−４の値を更新する。例えば、値ＩＰｎｅｘｔ１に１を加算し、加算された結果を、次のＩＰアドレス２８１−４に格納する（４１２）。
【００９４】
なお、アドレス配布サーバＣ１（１２１）は、新たなＩＰｎｅｘｔ１の値が、ＩＰｍｉｎ１からＩＰｍａｘ１までの値に含まれているか否かを判定することによって、新たなＩＰアドレスが生成可能か否かを判定してもよい。
【００９５】
また、第１の実施形態において、前述のようにホストコンピュータＨに順番にＩＰアドレスを生成するが、不正行為をおこなうものがＩＰアドレスを推定しづらくするなどの目的のため、順番にＩＰアドレスを割り当てなくてもよい。例えば、疑似乱数を使用してＩＰアドレスを生成してもよい。疑似乱数の生成関数を適切に選択することによって、ＩＰｍｉｎ１及びＩＰｍａｘ１の範囲のＩＰアドレスを無駄なく割り当てることが可能になる。
【００９６】
次に、アドレス配布サーバＣ１（１２１）がホストコンピュータＨ３（１０３）からアドレス要求３１１を受信した場合に実行されるホスト・アドレス生成処理３１２について説明する。
【００９７】
ホストコンピュータＨ３（１０３）からアドレス要求３１１を受信した場合のアドレス配布サーバＣ１（１２１）の処理は、図４に示す処理において、仮想ＩＰネットワークの識別子２８１−１の値ＶＮ１をＶＮ２に置換した処理である。さらに、アドレス変換規則２８１−５の値Ｉ２Ｍ１をＩ２Ｍ２に置換し、次のＩＰアドレス２８１−４の値ＩＰｎｅｘｔ１をＩＰｎｅｘｔ２に置換し、ＩＰアドレスの下限値２８１−２の値ＩＰｍｉｎ１をＩＰｍｉｎ２に置換し、ＩＰアドレスの上限値２８１−３の値ＩＰｍａｘ１をＩＰｍａｘ２に置換した処理となる。
【００９８】
図５は、本発明の第１の実施形態のホストコンピュータＨ１（１０１）の自アドレス計算・設定処理３１４を示すフローチャートである。
【００９９】
自アドレス計算・設定処理３１４は、ホストコンピュータＨの自アドレス計算・設定プログラム２４１によって実行される処理である。アドレス応答３１３が受信された後、自アドレス計算・設定処理３１４が開始される。以下に示す処理は、図３のパケット３２２をホストコンピュータＨ１（１０１）が受信した場合の自アドレス計算・設定処理３１４である。
【０１００】
自アドレス計算・設定処理３１４が開始された後、ホストコンピュータＨ１（１０１）は、アドレス配布サーバＣ１（１２１）から受信したパケット３２２から、ＩＰアドレス３２２−５の値ＩＰｈとアドレス変換規則３２２−６の値Ｉ２Ｍ１を抽出し、抽出されたアドレス変換規則の値Ｉ２Ｍ１をメモリ２１１に格納する（５１１）。具体的には、ホストコンピュータＨ１（１０１）は、抽出されたアドレス変換規則の値Ｉ２Ｍ１を、データ２１２に含まれるアドレス変換規則２３１に格納する。
【０１０１】
ステップ５１１の後、ホストコンピュータＨ１（１０１）は、ステップ５１１において抽出されたアドレス変換規則の値Ｉ２Ｍ１によって、パケット３２２から抽出されたＩＰアドレスの値ＩＰｈを、ＭＡＣアドレスＭＡＣｈに変換する（５１２）。すなわち、ホストコンピュータＨ１（１０１）は、アドレス配布サーバＣ１（１２１）から配布されたＩＰアドレスを、ホストコンピュータＨ１（１０１）のＭＡＣアドレスに変換する。
【０１０２】
ステップ５１２の後、ホストコンピュータＨ１（１０１）は、変換された結果であるＭＡＣアドレスＭＡＣｈを、ＮＩＦ２２１のＭＡＣアドレス２２２に格納する（５１３）。
【０１０３】
次に、ホストコンピュータＨ３（１０３）がアドレス応答３１３を受信した場合の自アドレス計算・設定処理３１４の処理について説明する。
【０１０４】
ホストコンピュータＨ３（１０３）がアドレス応答３１３を受信した場合の処理は、図５に示す処理において、ホストコンピュータＨ１（１０１）をホストコンピュータＨ３（１０３）置換し、アドレス変換規則の値Ｉ２Ｍ１をＩ２Ｍ２に置換し、ＩＰアドレスの値ＩＰｈをホストコンピュータＨ３（１０３）へ配布されたＩＰアドレスの値に置換した処理である。
【０１０５】
前述の図３、図４及び図５に示す処理によって、ＬＡＮ１２２に導入されたホストコンピュータＨに、ＭＡＣアドレスが割り当てられ、また、アドレス変換規則が配布される。なお、図３、図４及び図５に示すＭＡＣアドレスの割り当て、及び、アドレス変換規則の配布は、ＬＡＮ１２２にホストコンピュータＨが初めて導入された場合のみではなく、ホストコンピュータＨの要求に従って、実行されてもよい。
【０１０６】
次に、ホストコンピュータＨ１（１０１）と、あらかじめＬＡＮ１２２に接続されていたホストコンピュータＨ２（１０２）との通信について説明する。ホストコンピュータＨ１（１０１）とホストコンピュータＨ２（１０２）との通信において、ホストコンピュータＨ１（１０１）のプログラム２１３がＩＰパケットを生成する。そして、ホストコンピュータＨ１（１０１）のパケット変換プログラム２４２（アドレス変換プロキシ）が、パケット変換処理６０１（図６において後述）によって、プログラム２１３によって生成されたＩＰパケットの先頭に、Ｅｔｈｅｒｎｅｔフレームを付加し、ＥｔｈｅｒｎｅｔパケットにしてホストコンピュータＨ２（１０２）に送信する。
【０１０７】
ここでホストコンピュータＨ１（１０１）はホストコンピュータＨ２（１０２）のＩＰアドレスを、あらかじめ保持しているか、又は、ＤＮＳを使用して検索することによって取得する。ホストコンピュータＨ２（１０２）は、Ｅｔｈｅｒｎｅｔパケットを受信した後、そのＥｔｈｅｒｎｅｔフレームをはずし、ＩＰパケットとしてホストコンピュータＨ２（１０２）のプログラム２１３に処理させる。
【０１０８】
図６は、本発明の第１の実施形態のホストコンピュータＨ１（１０１）によるパケット変換処理６０１を示す説明図である。
【０１０９】
パケット変換処理６０１は、ホストコンピュータＨ１（１０１）のパケット変換プログラム２４２によって実行される処理である。ホストコンピュータＨ１（１０１）が、プログラム２１３によって生成されたＩＰパケット６２１を受信した場合、パケット変換処理６０１が開始される。
【０１１０】
パケット変換処理６０１が開始された後、ホストコンピュータＨ１（１０１）は、ＩＰパケット６２１内の送信先ＩＰアドレスＩＰｒを、アドレス変換規則２３１に格納された値Ｉ２Ｍ１によって、ＭＡＣアドレスＭＡＣｒに変換する（６１１）。
【０１１１】
ステップ６１１の後、ホストコンピュータＨ１（１０１）は、ＩＰパケット６２１の先頭にＥｔｈｅｒｎｅｔフレームを付加する。具体的には、Ｅｔｈｅｒｎｅｔフレームの送信元アドレスにホストコンピュータＨ１（１０１）のＭＡＣアドレスＭＡＣｈ（すなわち、ＮＩＦ２２１に格納されたＭＡＣアドレス２２２）を格納し、送信先アドレスにステップ６１１において変換されたＭＡＣアドレスＭＡＣｒを格納する。その結果、Ｅｔｈｅｒｎｅｔパケット６２２が生成される（６１２）。
【０１１２】
なお、ステップ６１１において用いられるＭＡＣｈは、ホストコンピュータＨ１（１０１）が、ＬＡＮ１２２に接続された際、すなわち、図５のステップ５１３においてＮＩＦ２７１に格納されたＭＡＣｈである。
【０１１３】
ホストコンピュータＨ１（１０１）は、ＬＡＮ１２２に接続された際にアドレス変換規則Ｉ２Ｍ１を取得したため、送信先ＩＰアドレスと送信先ＭＡＣアドレスとの対応関係をあらかじめ保持していなくても、アドレス変換規則から送信先ＭＡＣアドレスを算出することができる。すなわち、第１の実施形態によるシステムは、上層であるＩＰアドレスと下層であるＭＡＣアドレスとの対応関係を、あらかじめブロードキャストする必要がない。
【０１１４】
次に、ホストコンピュータＨ３（１０３）がＩＰパケットを受信した場合のパケット変換処理６０１について説明する。この処理は、図６のアドレス変換規則Ｉ２Ｍ１をＩ２Ｍ２に置換し、ＩＰｈをホストコンピュータＨ３（１０３）へアドレス配布サーバＣ１（１２１）から配布されたＩＰアドレス、ホストコンピュータＨ２（１０２）のアドレスＩＰｒを、ホストコンピュータＨ３（１０３）のＭＡＣアドレスに置換した処理となる。
【０１１５】
図３の処理の終了後、ホストコンピュータＨ１（１０１）とホストコンピュータＨ２（１０２）とが仮想ＩＰネットワークＶＮ１を使用して通信できるようになり、図３に相当するホストコンピュータＨ３（１０３）とアドレス配布サーバＣ１（１２１）との通信シーケンスの終了後、ホストコンピュータＨ３（１０３）とホストコンピュータＨ４（１０４）とが仮想ＩＰネットワークＶＮ２を使用して通信できるようになる。
【０１１６】
仮想ＩＰネットワークＶＮ１に対応するアドレス変換規則Ｉ２Ｍ１を使用して生成されるＭＡＣアドレスと、仮想ＩＰネットワークＶＮ２に対応するアドレス変換規則Ｉ２Ｍ２を使用して生成されるＭＡＣアドレスとは、重複しない。このため、ＶＮ１における通信とＶＮ２における通信とは干渉しない。すなわち、図３の処理によれば、仮想ネットワークとして必要なアイソレーション（隔離）が実現される。
【０１１７】
以下、第１の実施形態を変化させた例について説明する。
【０１１８】
第１の実施形態において、複数の仮想ＩＰネットワークが生成された場合、ホストコンピュータＨが不正なアドレス変換規則を使用することによって、アクセス権限のない仮想ＩＰネットワークにアクセスしても、その不正なアクセスを検知及び禁止することができないという弱点がある。
【０１１９】
この弱点を克服するため、第１の実施形態の第１の例において、異なる仮想ＩＰネットワークにおけるＩＰアドレスを変換することによって取得されるＭＡＣアドレスがかさならないよう、ホストコンピュータＨからのパケットを受信したＬＡＮスイッチＳが特定の仮想ＩＰネットワークに対応するＭＡＣアドレス以外を含むパケットを廃棄してもよい。
【０１２０】
市販の多くのＬＡＮスイッチは、このような特定のＭＡＣアドレスを含むパケットだけを通過させる機能を備える。また、ネットワーク管理サーバ又はネットワーク管理者が仮想ＩＰネットワークの生成時にあわせてＬＡＮスイッチＳへ設定してもよい。又は、アドレス配布サーバＣ１（１２１）がアドレス応答３１３を送信する際に、送信先のホストコンピュータＨに配布されるＭＡＣアドレスを許容するよう、ＬＡＮスイッチＳへ設定してもよい。なお、この場合、ホストコンピュータＨのＭＡＣアドレスの初期値ＭＡＣｒは許容するようにＬＡＮスイッチにあらかじめ設定されている必要がある。それは、アドレス要求３１１が、アドレス配布サーバＣ１（１２１）に到達することができないためである。
【０１２１】
さらに、第１の実施形態において、一つのホストコンピュータＨは、複数の仮想ＩＰネットワークのうちのいずれか一つにしか参加することができなかった。このため、第１の実施形態の第２の例において、ホストコンピュータＨが複数のＮＩＦ２７１を備えることによって、複数の仮想ＩＰネットワークに参加することができる。具体的には、ホストコンピュータＨに複数のＮＩＦ２７１を実装し、ＮＩＦ２７１ごとに異なる仮想ＩＰネットワークを指定する。そして、図３のシーケンスを実行する。
【０１２２】
ただし、複数のＮＩＦ２７１を備えるホストコンピュータＨは、ホストコンピュータＨ内における特定のＩＰアドレスはいずれか一つの仮想ＩＰネットワークに属するため、異なる仮想ＩＰネットワーク上の同一のＩＰアドレスを保持するホストコンピュータＨとの通信はできない。
【０１２３】
さらに、第１の実施形態において、ＬＡＮ１２２における通信に用いられるパケットは、通常のＩＰ  ｏｖｅｒ  Ｅｔｈｅｒｎｅｔにおけるパケットと同様のパケットであり、ＩＰヘッダとＥｔｈｅｒｎｅｔヘッダとの両方を含んだ。ＩＰヘッダは、ホストコンピュータＨがパケットを受信した際に、ホストコンピュータＨがＥｔｈｅｒｎｅｔフレームのヘッダを削除するだけで、送信時のＩＰパケットを復元できるようにするため必要である。
【０１２４】
しかし、ＩＰアドレスとＥｔｈｅｒｎｅｔアドレスとの対応が１対１である場合、送信側のホストコンピュータＨにおいてＩＰヘッダを削除しても、受信側のホストコンピュータＨにおいてＥｔｈｅｒｎｅｔヘッダからＩＰヘッダを復元することができる。
【０１２５】
すなわち、第１の実施形態の第３の例において、ＩＰアドレスとＥｔｈｅｒｎｅｔアドレスとの対応が１対１である場合、ホストコンピュータＨ１（１０１）のパケット変換処理６０１のステップ６１２におけるＩＰアドレスＩＰｈ及びＩＰアドレスＩＰｒをパケット６２２に格納しなくてもよい。
【０１２６】
そして、図６に示す処理の後に、ホストコンピュータＨ２（１０２）がパケット６２２を受信した場合、ホストコンピュータＨ２（１０２）は、ＭＡＣｈ及びＭＡＣｒにアドレス変換規則Ｉ２Ｍ１を逆に適用することによってＩＰｈ及びＩＰｒを取得し、パケット６２２のＥｔｈｅｒｎｅｔヘッダの代わりに、ＩＰアドレスＩＰｈ及びＩＰアドレスＩＰｒを含むＩＰヘッダを付加する。
【０１２７】
この第１の実施形態の第３の例において、第１の実施形態と同様にＥｔｈｅｒｎｅｔスイッチを使用していたが、Ｅｔｈｅｒｎｅｔスイッチの代わりに、ＩＰアドレスを学習するスイッチを使用すれば、ホストコンピュータＨにおいてヘッダ形式を変換する必要もなくなる。具体的には、ホストコンピュータＨ１（１０１）はステップ６１２を実行する必要はなくなる。また、ホストコンピュータＨ２（１０２）はアドレス変換とパケットのヘッダとを交換する必要がなくなる。
【０１２８】
第１の実施形態によれば、ホストコンピュータＨが、アドレス配布サーバＣ１（１２１）から、ＩＰアドレスとアドレス変換規則とを送信されることによって、上層であるＩＰアドレスと下層であるＭＡＣアドレスとの対応関係を保持する必要がない。すなわち、ブロードキャストによるネットワーク負荷の増大と、ブロードキャスト生成のためのプロトコル、プログラム、データの複雑化及び巨大化の問題とを低減できる。
【０１２９】
（第２の実施形態）
以下、本発明の第２の実施形態について説明する。
【０１３０】
図７は、本発明の第２の実施形態のネットワーク構成を示すブロック図である。
【０１３１】
第２の実施形態のネットワークは、広域ネットワーク（ＷＡＮ）７２０と、ＷＡＮスイッチＳ２１（７１１）、Ｓ２２（７１２）及びＳ２３（７１３）と、アドレス配布サーバＣ１１（７２１）と、ＬＡＮスイッチＧ１１（７２４）、Ｇ１２（７５１）、Ｇ１３（７３１）、Ｇ１４（７４１）及びＧ１５（７６１）と、ホストコンピュータＨ１１（７２２）、Ｈ１２（７５２）、Ｈ１３（７３２）、Ｈ１５（７４２）、Ｈ１６（７４３）及びＨ１７（７６２）と、仮想ネットワークサイト１−１（７０１）、１−２（７０２）、１−３（７０３）、２−１（７０４）及び２−２（７０５）とを備える。
【０１３２】
ＷＡＮ７２０は、ＷＡＮスイッチＳ２１（７１１）、Ｓ２２（７１２）及びＳ２３（７１３）によって実装される。ＷＡＮスイッチＳ２１（７１１）、Ｓ２２（７１２）、Ｓ２３（７１３）は、通常のＥｔｈｅｒｎｅｔＬＡＮスイッチの機能を備えるが、さらに、ＬＡＮとＷＡＮとのゲートウェイ機能を備える。このゲートウェイ機能については図１３において後述する。
【０１３３】
ＷＡＮスイッチＳ２１（７１１）は、ＬＡＮスイッチＧ１１（７２４）を介して、仮想ネットワーク１の仮想ネットワークサイト１−１（７０１）（Ｖｉｒｔｕａｌ  Ｎｅｔｗｏｒｋ  Ｓｉｔｅ１−１（７０１））が接続される。また、ＬＡＮスイッチＧ１１（７２４）には、ホストコンピュータＨ１１（７２２）とホストコンピュータＨ１８（７２３）とが接続される。
【０１３４】
ＷＡＮスイッチＳ２３（７１３）は、ＬＡＮスイッチＧ１３（７３１）を介して、仮想ネットワーク１の仮想ネットワークサイト１−３（７０３）（Ｖｉｒｔｕａｌ  Ｎｅｔｗｏｒｋ  Ｓｉｔｅ１−３（７０３））が接続される。また、ＬＡＮスイッチＧ１３（７３１）には、ホストコンピュータＨ１３（７３２）が接続される。
【０１３５】
また、ＷＡＮスイッチＳ２３（７１３）は、ＬＡＮスイッチＧ１４（７４１）を介して、仮想ネットワーク２の仮想ネットワークサイト２−１（７０４）（Ｖｉｒｔｕａｌ  Ｎｅｔｗｏｒｋ  Ｓｉｔｅ２−１（７０４））が接続される。また、ＬＡＮスイッチＧ１４（７４１）には、ホストコンピュータＨ１５（７４２）とホストコンピュータＨ１６（７４３）とが接続される。
【０１３６】
ＷＡＮスイッチＳ２２（７１２）は、ＬＡＮスイッチＧ１２（７５１）を介して、仮想ネットワーク１の仮想ネットワークサイト１−２（７０２）（Ｖｉｒｔｕａｌ  Ｎｅｔｗｏｒｋ  Ｓｉｔｅ１−２（７０２））が接続される。また、ＬＡＮスイッチＧ１２（７５１）には、ホストコンピュータＨ１２（７５２）が接続される。
【０１３７】
また、ＷＡＮスイッチＳ２２（７１２）は、ＬＡＮスイッチＧ１５（７６１）を介して、仮想ネットワーク２の仮想ネットワークサイト２−２（７０５）（Ｖｉｒｔｕａｌ  Ｎｅｔｗｏｒｋ  Ｓｉｔｅ１−２（７０５））が接続される。また、ＬＡＮスイッチＧ１５（７６１）には、ホストコンピュータＨ１７（７６２）が接続される。
【０１３８】
また、アドレス配布サーバＣ１１（７２１）は、ＷＡＮスイッチＳ２１（７１１）、Ｓ２２（７１２）及びＳ２３（７１３）のうちのいずれかのＷＡＮスイッチＳに接続されている。このため、いずれのホストコンピュータＨとも通信できる。
【０１３９】
第２の実施形態において、ホストコンピュータＨ１１（７２２）とホストコンピュータＨ１２（７５２）とは、仮想ネットワーク（仮想Ｅｔｈｅｒｎｅｔ）ＶＮ１（Ｖｉｒｔｕａｌ  Ｎｅｔｗｏｒｋ  １）を経由して通信し、ホストコンピュータＨ１５（７４２）とホストコンピュータＨ１７（７６２）とは、仮想ネットワーク（仮想Ｅｔｈｅｒｎｅｔ）ＶＮ２（Ｖｉｒｔｕａｌ  Ｎｅｔｗｏｒｋ  ２）を経由して通信する。
【０１４０】
図８Ａは、本発明の第２の実施形態のＷＡＮスイッチＳの構成を示すブロック図である。
【０１４１】
ＷＡＮスイッチＳ２１（７１１）、Ｓ２２（７１２）及びＳ２３（７１３）は、いずれも図８Ａに示す構成を備える。ＷＡＮスイッチＳは、ＬＡＮ用のＮＩＦ８０１、ＷＡＮ用のＮＩＦ８０２、制御ＣＰＵ８１１及びメモリ８２１を備える。
【０１４２】
ＷＡＮスイッチＳは、１個又は複数個のＷＡＮ用のＮＩＦ８０２を備える。また、１個又は複数個のＬＡＮ用のＮＩＦ８０１を備える。ＬＡＮ用のＮＩＦ８０１にはＭＡＣアドレス８０３が保持される。ＷＡＮ用のＮＩＦ８０２及びＬＡＮ用のＮＩＦ８０１は、相互にパケットを送受信するための送受信処理部８０５を介して接続される。
【０１４３】
ＷＡＮスイッチＳを制御するため、ＷＡＮスイッチＳは、制御ＣＰＵ８１１を備える。そして、制御ＣＰＵ８１１にはメモリ８２１が接続される。
【０１４４】
メモリ８２１は、プログラム８２２とデータ８２３とを保持する。データ８２３はアドレス変換規則表８３１を含む。アドレス変換規則表８３１は、仮想ネットワークの識別子８３１−１、及び、アドレス変換規則８３１−２を含む。
【０１４５】
アドレス変換規則８３１−２は、ホストコンピュータＨのＭＡＣアドレスから、ＷＡＮスイッチＳのＭＡＣアドレスへの変換規則Ｍ２Ｍ１と、ＷＡＮスイッチＳのＭＡＣアドレスからホストコンピュータＨに割り当てるＭＡＣアドレスを生成するための関数Ｍ２Ｍ１ｒとを含む。
【０１４６】
アドレス変換規則表８３１は、初期状態において何も格納されていないが、図８Ａに示すアドレス変換規則表８３１には、二つの仮想ネットワークについての情報が格納される。すなわち、図８Ａのアドレス変換規則表８３１は、アドレス配布サーバＣ１１（７２１）から仮想ネットワークＶＮ１及び仮想ネットワークＶＮ２のアドレス変換規則を受信した後のアドレス変換規則表８３１を示す。
【０１４７】
仮想ネットワークＶＮ１に対応する行の一つ目のアドレス変換規則８３１−２には、ホストコンピュータＨのＭＡＣアドレスの先頭３バイトを０ｘ０００１００に置換することによって、ＷＡＮスイッチＳのＭＡＣアドレスを生成するという変換規則が含まれる。また、仮想ネットワークＶＮ２に対応する行の一つ目のアドレス変換規則８３１−２には、ホストコンピュータＨのＭＡＣアドレスの先頭３バイトを０ｘ０００２００に置換することによって、ＷＡＮスイッチＳのＭＡＣアドレスを生成するという変換規則が含まれる。
【０１４８】
アドレス変換規則表８３１の各行は、ネットワーク管理サーバ又はネットワーク管理者によって追加又は削除される。すなわち、ネットワーク管理者等は、アドレス変換規則表８３１を更新することによって、仮想ネットワークの数を増減させることができる。
【０１４９】
プログラム８２２は、スイッチ・アドレス設定プログラム８４１、ホスト・アドレス生成準備プログラム８４２、及び、ホスト・アドレス生成プログラム８４３を含む。
【０１５０】
図８Ｂは、本発明の第２の実施形態のアドレス配布サーバＣ１１（７２１）の構成を示すブロック図である。
【０１５１】
アドレス配布サーバＣ１１（７２１）は、ＣＰＵ８６１、メモリ８７１及びＮＩＦ８５１を備える。ＣＰＵ８６１は、メモリ８７１に保持されたプログラムを実行するためのプロセッサである。
【０１５２】
メモリ８７１は、プログラム８７２とデータ８７３とを保持する。データ８７３は、ＭＡＣアドレス生成データ８８１とアドレス変換規則表８８２とを含む。また、プログラム８７２はスイッチ・アドレス生成プログラム８７４を含む。
【０１５３】
アドレス生成データ８８１は、次のような要素を含む。アドレス生成データ８８１には、ＭＡＣアドレスの下限８８１−１（ＭＡＣｍｉｎ）と、ＭＡＣアドレスの上限８８１−２（ＭＡＣｍａｘ）と、次のＭＡＣアドレス８８１−３（ＭＡＣｎｅｘｔ）とが含まれる。
【０１５４】
なお、第２の実施形態のＷＡＮ７２０におけるＭＡＣアドレスは、どのＷＡＮスイッチＳ及びホストコンピュータＨにおいても一意である。このため、アドレス生成データ８８１は、ＭＡＣアドレスの下限８８１−１（ＭＡＣｍｉｎ）と、ＭＡＣアドレスの上限８８１−２（ＭＡＣｍａｘ）と、次のＭＡＣアドレス８８１−３（ＭＡＣｎｅｘｔ）とのデータを一組保持する。
【０１５５】
また、アドレス変換規則表８８２は、次のような構成である。アドレス変換規則表２８１には、仮想ネットワークの識別子８８２−１及びアドレス変換規則８８２−２が含まれる。アドレス変換規則８８２−２には、仮想ネットワークの識別子８８２−１が示す仮想ネットワークにおいて用いられるアドレス変換規則が格納される。
【０１５６】
図８Ｂのアドレス変換規則表８８２には、二つの行が含まれる。すなわち、仮想ネットワークの識別子８８２−１が、仮想ネットワークＶＮ１（数値または文字列）を示す行と、ＶＮ２（数値または文字列）を示す行である。
【０１５７】
仮想ネットワークＶＮ１を示す行のアドレス変換規則８８２−２には、アドレス変換規則Ｍ２Ｍ１（Ｍ２Ｍ１（ＭＡＣｈ）＝０ｘ００１０００．ＭＡＣｈ［３：５］）が格納される。仮想ネットワークＶＮ２を示す行のアドレス変換規則８８２−２には、アドレス変換規則Ｍ２Ｍ２（Ｍ２Ｍ２（ＭＡＣｈ）＝０ｘ００２０００。ＭＡＣｈ［３：５］）が格納される。
【０１５８】
図８Ｃは、本発明の第２の実施形態のホストコンピュータＨの構成を示すブロック図である。
【０１５９】
ホストコンピュータＨ１１（７２２）、Ｈ１２（７５２）、Ｈ１３（７３２）、Ｈ１５（７４２）、Ｈ１６（７４３）及びＨ１７（７６２）のいずれもが図８Ｃに示す構成を備える。
【０１６０】
ホストコンピュータＨ１１（７２２）は、ＣＰＵ８９１、メモリ８９２及びＮＩＦ８８５を含む。ＣＰＵ８９１は、メモリ８９２に保持されるプログラム８９４を実行するプロセッサである。
【０１６１】
メモリ８９２は、プログラム８９４を保持する。プログラム８９４は、自アドレス設定プログラム８９５を含む。ＮＩＦ８８５は、ＮＩＦ８８５に設定されたＭＡＣアドレス８８６を保持する。
【０１６２】
以下、ＷＡＮ７２０に新規の仮想ネットワークサイト（Ｖｉｒｔｕａｌ  Ｎｅｔｗｏｒｋ  Ｓｉｔｅ）が接続され、ホストコンピュータＨが追加された場合の処理について説明する。
【０１６３】
図９は、本発明の第２の実施形態のＷＡＮ７２０に新規の仮想ネットワークサイトが接続された場合の処理を示すシーケンス図である。
【０１６４】
図９に示す処理は、仮想ネットワークサイトの初期化処理９０２とホストコンピュータ初期化処理９０３とを含む。新規の仮想ネットワークサイトが導入されるごとに仮想ネットワークサイトの初期化処理９０２がくりかえし実行される。また、新規のホストコンピュータＨが導入されるごとにホストコンピュータ初期化処理９０３がくりかえし実行される。以下において、仮想ネットワークＶＮ１のみが新規に追加され、ホストコンピュータＨ１１（７２２）のみが追加された場合の処理を説明する。
【０１６５】
仮想ネットワークサイト１−１（７０１）がＷＡＮ７２０に導入された後、仮想ネットワークサイト１−１（７０１）が仮想ネットワーク１に属することが、ＷＡＮスイッチＳ２１（７１１）に通知される。
【０１６６】
仮想ネットワークサイト１−１（７０１）が仮想ネットワーク１に属することは、ネットワーク管理者又はネットワーク管理サーバによって、ＷＡＮスイッチＳ２１（７１１）に通知される。具体的には、ネットワーク管理者又はネットワーク管理サーバは、ＷＡＮスイッチＳ２１（７１１）に、仮想ネットワーク１の識別子ＶＮ１と、ＬＡＮスイッチＧ１１に接続されたＷＡＮスイッチＳ２１（７１１）のＮＩＦ８０１の識別子とを通知する。これによって図９の仮想ネットワークサイトの初期化処理９０２が開始される。
【０１６７】
ＷＡＮスイッチＳ２１（７１１）は、仮想ネットワークサイト１−１（７０１）が仮想ネットワーク１に属することを通知された後、まず、スイッチ・アドレス設定プログラム８４１によって、アドレス配布サーバＣ１１（７２１）にアドレス要求９１０を送信する。
【０１６８】
アドレス要求９１０は、パケット９２１によって送信される。パケット９２１は、送信先アドレス９２１−１及び送信元アドレス９２１−２を含む。送信先アドレス９２１−１及び送信元アドレス９２１−２は、Ｅｔｈｅｒｎｅｔフレームにおけるアドレスを格納する領域である。
【０１６９】
パケット９２１は、さらに、プロトコル種別９２１−３、データ９２１−４、仮想ネットワークの識別子９２１−５、及び、認証情報９２１−６を含む。なお、プロトコル種別９２１−３も、Ｅｔｈｅｒｎｅｔフレームに含まれる。
【０１７０】
図９のアドレス要求９１０において、送信先アドレス２１−１には、ＭＡＣｓが格納され、送信元アドレス９２１−２には、ＭＡＣｒが格納される。プロトコル種別９２１−３は、データ９２１−４のプロトコルタイプを示す。
【０１７１】
Ｅｔｈｅｒｎｅｔフレームより後の領域がアドレス要求の内容を格納する領域である。パケット９２１のデータ９２１−４に含まれるＡｄｄｒＲｅｑには、パケット９２１がアドレス要求であることを示す数値が含まれる。パケット９２１の仮想ネットワーク識別子９２１−５は、ＷＡＮスイッチＳ２１（７１１）が参加する仮想ネットワークサイトの識別子を示す。認証情報９２１−６には、パケット９２１が正しく送信されたか否かを判定するための認証情報が格納される。
【０１７２】
アドレス要求９１０を送信する際、ＷＡＮスイッチＳ２１（７１１）のＮＩＦ８０１のＭＡＣアドレスは未定であるため、アドレス要求９１０のパケット９２１には、仮のＭＡＣアドレスＭＡＣｒが格納される。ＷＡＮスイッチＳ２１（７１１）は、ＷＡＮスイッチＳ２１（７１１）のＮＩＦ８０１にあらかじめ初期値として格納されたＭＡＣアドレス８０３を、仮のＭＡＣアドレスＭＡＣｒに用いてもよい。
【０１７３】
また、ＷＡＮスイッチＳ２１（７１１）は、アドレス要求９１０のためにあらかじめ予約されたアドレスを、仮のＭＡＣアドレスＭＡＣｒに用いてもよい。予約されたアドレスを用いる利点は、ＷＡＮ７２０が多数のＷＡＮスイッチＳを備える場合も、ＷＡＮ７２０に備わる他のＷＡＮスイッチＳが、比較的少数のＭＡＣアドレスを学習するだけですむことである。
【０１７４】
ただし、複数の仮想ネットワークサイトが同時にＷＡＮ７２０に導入される場合、ＭＡＣアドレスが衝突する可能性があるという欠点がある。ＷＡＮスイッチＳ２１（７１１）は、衝突の確率を減少させるために、複数のＭＡＣアドレスを予約しておき、仮想ネットワークサイトが導入される際に、予約されたＭＡＣアドレスからランダムに選択されたＭＡＣアドレスを使用してもよい。また、衝突が発生したと推定される場合、すなわち、アドレス要求９１０に正常な応答が返らない場合、ＷＡＮスイッチＳ２１（７１１）は、再度、ＭＡＣアドレスをランダムに選択し、アドレス要求９１０を送信してもよい。
【０１７５】
アドレス要求９１０の送信先アドレス９２１−１におけるアドレス配布サーバＣ１１（７２１）のアドレスＭＡＣｓには、固定アドレスが格納されてもよい。アドレス要求９１０において固定アドレスを用いる場合、ＷＡＮスイッチＳ２１（７１１）は、アドレス要求９１０をブロードキャストする必要がない。固定アドレスを使用することができない場合、ＷＡＮスイッチＳ２１（７１１）は、ブロードキャストが必要になる。
【０１７６】
アドレス要求９１０がＷＡＮスイッチＳ２１（７１１）のＮＩＦ８０１にあらかじめ初期値として格納されたＭＡＣアドレスを使用する場合、ＭＡＣアドレス認証を用いることができるため、認証情報９２１−６をパケット９２１に格納しなくてもよい。しかし、ＷＡＮスイッチＳ２１（７１１）のＭＡＣアドレスに、ＮＩＦ８０１にあらかじめ保持されたＭＡＣアドレス以外のアドレスを用い、ＭＡＣアドレスの認証が必要である場合、認証情報９２１−６に値が格納される必要がある。
【０１７７】
図９の仮想ネットワークサイトの初期化処理９０２は、１回の往復通信によってＭＡＣアドレスが配布される処理を示すが、認証情報９２１−６に値が格納される場合、認証情報９２１−６の認証方法に従って、認証のための通信が追加される。
【０１７８】
アドレス配布サーバＣ１１（７２１）は、アドレス要求９１０を受信した後、スイッチ・アドレス生成処理９１１を実行し、ＷＡＮスイッチＳ２１（７１１）に割り当てるＭＡＣアドレスとアドレス変換規則とを抽出する。スイッチ・アドレス生成処理９１１については、図１０を用いて後述する。
【０１７９】
スイッチ・アドレス生成処理９１１が終了した後、アドレス配布サーバＣ１１（７２１）は、アドレス応答９１２をＷＡＮスイッチＳ２１（７１１）に送信する。
【０１８０】
アドレス応答９１２は、パケット９２２によって送信される。パケット９２２は、送信先アドレス９２２−１及び送信元アドレス９２２−２を含む。送信先アドレス９２２−１及び送信元アドレス９２２−２は、Ｅｔｈｅｒｎｅｔフレームにおけるアドレスを格納する領域である。
【０１８１】
パケット９２２は、さらに、プロトコル種別９２２−３、データ９２２−４、ＭＡＣアドレス９２２−５及びアドレス変換規則９２２−６を含む。なお、プロトコル種別９２２−３も、Ｅｔｈｅｒｎｅｔフレームに含まれる。
【０１８２】
図９のアドレス応答９１２において、送信先アドレス９２２−１には、ＭＡＣｒが格納され、送信元アドレス９２２−２には、ＭＡＣｓが格納される。プロトコル種別９２２−３には、データ９２２−４のプロトコルタイプが格納される。データ９２２−４は、ＡｄｄｒＲｅｐ（数値）を含み、パケット９２２がアドレス応答であることを示す。
【０１８３】
パケット９２２のＭＡＣアドレス９２２−５には、ＷＡＮスイッチＳ２１（７１１）が用いるＭＡＣアドレスが格納され、図９のＭＡＣアドレス９２２−５には、値Ａｓが格納される。
【０１８４】
図９のアドレス変換規則９２２−６には、アドレス変換規則Ｍ２Ｍ１が格納される。アドレス変換規則Ｍ２Ｍ１は、アドレス変換規則表８３１の仮想ネットワークの識別子８３１−１がＶＮ１である行の、アドレス変換規則８８２−２の値Ｍ２Ｍ１（ＭＡＣｈ）＝０ｘ００１０００．ＭＡＣｈ［３：５］である。
【０１８５】
ＷＡＮスイッチＳ２１（７１１）は、アドレス応答９１２を受信した後、スイッチ・アドレス設定処理９１３を実行する。スイッチ・アドレス設定処理９１３については、図１１を用いて後述する。
【０１８６】
なお、第２の実施形態においてアドレス要求９１０及びアドレス応答９１２を送信するために使用されるフォーマットは、前述の第２の実施形態におけるフォーマットである必要はなく、いかなるフォーマットでもよい。例えば、第２の実施形態のパケットに、ＩＥＴＦにおいて標準化されているＤＨＣＰが用いられてもよい。
【０１８７】
ＤＨＣＰを用いた場合、ＷＡＮスイッチＳ２１（７１１）のＭＡＣアドレス（図９のＭＡＣｒ）には、ＷＡＮスイッチＳ２１（７１１）のＮＩＦ８０１にあらかじめ初期値として格納されたＭＡＣアドレス８０３が指定され、アドレス配布サーバＣ１１（７２１）のアドレス（図９のＭＡＣｓ）は指定されない。すなわち、アドレス要求９１０は、ＷＡＮ７２０にブロードキャストされる。
【０１８８】
ＷＡＮスイッチＳ２１（７１１）は、スイッチ・アドレス設定処理９１３の後、ホスト・アドレス生成準備処理９１４を実行する。ホスト・アドレス生成準備処理９１４については、図１１を用いて後述する。
【０１８９】
なお、前述の仮想ネットワークサイトの初期化処理９０２は、ＷＡＮスイッチＳ２１（７１１）に仮想ネットワークサイト１−１（７０１）が接続される際に実行されたが、ＷＡＮスイッチＳ２１（７１１）は、ＭＡＣアドレスとアドレス変換規則とを配布するよう、必要に応じて、アドレス要求９１０をアドレス配布サーバＣ１１（７２１）に送信してもよい。
【０１９０】
仮想ネットワークサイトの初期化処理９０２の後、ホストコンピュータＨ１１（７２２）が新たに導入される場合、ホストコンピュータ初期化処理９０３が実行される。ホストコンピュータ初期化処理９０３において、まず、ホストコンピュータＨ１１（７２２）は、みずからのＭＡＣアドレスの割り当てを要求するため、ＷＡＮスイッチＳ２１（７１１）にアドレス要求９１５を送信する。
【０１９１】
アドレス要求９１５は、パケット９２３によって送信される。パケット９２３は、送信先アドレス９２３−１及び送信元アドレス９２３−２を含む。送信先アドレス９２３−１及び送信元アドレス９２３−２は、Ｅｔｈｅｒｎｅｔフレームにおけるアドレスを格納する領域である。
【０１９２】
パケット９２３は、さらに、プロトコル種別９２３−３、データ９２３−４、仮想ネットワーク識別子９２３−５、及び、認証情報９２３−６を含む。なお、プロトコル種別９２３−３も、Ｅｔｈｅｒｎｅｔフレームに含まれる。
【０１９３】
図９のアドレス要求３１１において、送信先アドレス９２３−１には、ＭＡＣｓ’が格納され、送信元アドレス９２３−２には、ＭＡＣｒ’が格納される。プロトコル種別９２３−３は、データ９２３−４のプロトコルタイプを示す。
【０１９４】
Ｅｔｈｅｒｎｅｔフレームより後の領域がアドレス要求の内容を格納する領域である。パケット９２３のデータ９２３−４には、ＡｄｄｒＲｅｑが格納され、パケット９２３がアドレス要求であることを示す数値が含まれる。パケット９２３の仮想ネットワーク識別子９２３−５は、ホストコンピュータＨ１１（７２２）が参加する仮想ネットワークの識別子を示す。
【０１９５】
なお、ホストコンピュータＨ１１（７２２）が参加可能な仮想ネットワークが一つだけの場合、仮想ネットワーク識別子９２３−５に格納される仮想ネットワーク識別子は省略されてもよい。認証情報９２３−６には、パケット９２３が正しく送信されたか否かを判定するための認証情報が格納される。
【０１９６】
アドレス要求９１５を送信する際、ホストコンピュータＨ１１（７２２）のＭＡＣアドレスは未定であるため、アドレス要求９１５のパケット９２３には、仮のＭＡＣアドレスであるＭＡＣｒ’が格納される。ホストコンピュータＨ１１（７２２）は、ホストコンピュータＨ１１（７２２）のＮＩＦ８８５にあらかじめ初期値として格納されたＭＡＣアドレス８８６を、仮のＭＡＣアドレスＭＡＣｒ’に用いてもよい。
【０１９７】
また、ホストコンピュータＨ１１（７２２）は、アドレス要求９１５のためにあらかじめ予約されたＭＡＣアドレスを、仮のＭＡＣアドレスＭＡＣｒ’に用いてもよい。予約されたＭＡＣアドレスを用いる利点は、仮想ネットワークサイト１−１（７０１）が多数のホストコンピュータＨを備える場合も、仮想ネットワークサイト１−１（７０１）に備わるＬＡＮスイッチＧが、比較的少数のＭＡＣアドレスを学習するだけですむことである。
【０１９８】
ただし、複数のホストコンピュータＨが同時に仮想ネットワークサイト１−１（７０１）に導入される場合、ＭＡＣアドレスが衝突する可能性があるという欠点がある。ホストコンピュータＨ１１（７２２）は、衝突の確率を減少させるために、複数のＭＡＣアドレスを予約しておき、ホストコンピュータＨが導入される際に、予約されたＭＡＣアドレスからランダムに選択されたＭＡＣアドレスを使用してもよい。
【０１９９】
また、衝突が発生したと推定される場合、すなわち、アドレス要求９１５に正常な応答が返らない場合、ホストコンピュータＨ１１（７２２）は、再度、ＭＡＣアドレスをランダムに選択し、アドレス要求９１５を送信してもよい。
【０２００】
アドレス要求９１５の送信先アドレス９３２−１におけるＷＡＮスイッチＳ２１（７１１）のアドレスＭＡＣｓには、固定アドレスが格納されてもよい。アドレス要求９１５において固定アドレスを用いる場合、ホストコンピュータＨ１１（７２２）は、アドレス要求９１５をブロードキャストする必要がない。固定アドレスを使用することができない場合、ホストコンピュータＨ１１（７２２）は、アドレス要求９１５をブロードキャストする必要がある。
【０２０１】
アドレス要求９１５がホストコンピュータＨ１１（７２２）のＮＩＦ８８５にあらかじめ初期値として格納されたＭＡＣアドレスを使用する場合、ＭＡＣアドレス認証を用いることができるため、認証情報９２３−６をパケット９２３に格納しなくてもよい。しかし、ホストコンピュータＨ１１（７２２）のＭＡＣアドレスに、ＮＩＦ８８５にあらかじめ格納されたＭＡＣアドレス８８６以外のアドレスを用い、ＭＡＣアドレスの認証が必要である場合、認証情報３２１−６に値が格納される必要がある。
【０２０２】
図９のホストコンピュータ初期化処理９０３は、１回の往復通信によってホストコンピュータＨ１１（７２２）にアドレスが配布される処理を示すが、認証情報９２３−６に値が格納される場合、認証情報９２３−６の認証方法に従って、認証のための通信が追加される。
【０２０３】
ＷＡＮスイッチＳ２１（７１１）は、アドレス要求９１５を受信した後、ホスト・アドレス生成処理９１６を実行し、ホストコンピュータＨ１１（７２２）に割り当てるＭＡＣアドレスを生成する。ホスト・アドレス生成処理９１６については、図１１を用いて後述する。
【０２０４】
ホスト・アドレス生成処理９１６が終了した後、アドレス配布サーバＣ１１（７２１）は、アドレス応答９１７をホストコンピュータＨ１１（７２２）に送信する。
【０２０５】
アドレス応答９１７は、パケット９２４によって送信される。パケット９２４は、送信先アドレス９２４−１及び送信元アドレス９２４−２を含む。送信先アドレス９２４−１及び送信元アドレス９２４−２は、Ｅｔｈｅｒｎｅｔフレームにおけるアドレスを格納する領域である。
【０２０６】
パケット９２４は、さらに、プロトコル種別９２４−３、データ９２４−４及びＭＡＣアドレス９２４−５を含む。なお、プロトコル種別９２４−３も、Ｅｔｈｅｒｎｅｔフレームに含まれる。
【０２０７】
図９のアドレス応答９１７において、送信先アドレス９２４−１には、ＭＡＣｒ’が格納され、送信元アドレス９２４−２には、ＭＡＣｓ’が格納される。プロトコル種別９２４−３は、データ９２４−４のプロトコルタイプを示す。
【０２０８】
Ｅｔｈｅｒｎｅｔフレームより後の領域がアドレス要求の内容を格納する領域である。パケット９２４のデータ９２４−４には、ＡｄｄｒＲｅｐ（数値）が格納され、パケット９２４がアドレス応答であることを示す値が含まれる。
【０２０９】
また、ＭＡＣアドレス９２４−５には、値ＭＡＣｈ’が格納され、ホストコンピュータＨ１１（７２２）が使用するべきＭＡＣアドレスが格納される。
【０２１０】
ホストコンピュータＨ１１（７２２）は、アドレス応答９１７を受信した後、自アドレス計算・設定処理９１８を実行する。自アドレス計算・設定処理９１８は、自アドレス計算・設定プログラム８９５によって実行される処理である。自アドレス計算・設定処理９１８については、図１１を用いて後述する。
【０２１１】
なお、アドレス要求９１５及びアドレス応答９１７を送信するために使用されるフォーマットは、前述のフォーマットである必要はなく、いかなるフォーマットでもよい。例えば、第２の実施形態のパケットに、ＩＥＴＦにおいて標準化されたＤＨＣＰが用いられてもよい。
【０２１２】
ＤＨＣＰを用いた場合、ホストコンピュータＨ１１（７２２）のＭＡＣアドレス（図９のＭＡＣｒ’）には、ＮＩＦ８８５にあらかじめ初期値として格納されたＭＡＣアドレス８８６が指定され、ＷＡＮスイッチＳ２１（７２２）のアドレス（図３のＭＡＣｓ’）は指定されない。すなわち、アドレス要求９１５は、仮想ネットワークサイト１−１（７０１）にブロードキャストされる。
【０２１３】
次に、ＷＡＮ７２０にホストコンピュータＨ１５（７４２）が導入された場合の処理について説明する。このときの処理は図９の処理において、ホストコンピュータＨ１１（７２２）をホストコンピュータＨ１５（７４２）に置換し、ＷＡＮスイッチＳ２１（７１１）をＷＡＮスイッチＳ２３（７１３）に置換し、仮想ネットワークの識別子ＶＮ１をＶＮ２に置換し、アドレス変換規則Ｍ２Ｍ１をＭ２Ｍ２に置換し、ＭＡＣアドレスＡｓをＷＡＮスイッチＳ２３（７１３）へ配布するＭＡＣアドレスに置換した処理となる。
【０２１４】
図１０は、本発明の第２の実施形態のアドレス配布サーバＣ１１（７２１）のスイッチ・アドレス生成処理９１１を示すフローチャートである。
【０２１５】
スイッチ・アドレス生成処理９１１は、アドレス配布サーバＣ１１（７２１）のスイッチ・アドレス生成プログラム８７４によって実行される処理である。スイッチ・アドレス生成処理９１１が開始された後、アドレス配布サーバＣ１１（７２１）は、ＭＡＣアドレス生成データ８８１の次のＭＡＣアドレス８８１−３から、アドレス配布サーバＣ１１（７２１）のアドレスに割り当てられる値ＭＡＣｎｅｘｔを抽出する。
【０２１６】
そして、アドレス配布サーバＣ１１（７２１）は、アドレス要求９１０パケット９２１を参照し、仮想ネットワーク識別子９２１−５に格納された値ＶＮ１を抽出する。抽出されたＶＮ１の値に従って、アドレス変換規則表８８２を検索し、値ＶＮ１を仮想ネットワークの識別子８８２−１に含む行のアドレス変換規則８８２−２の値Ｍ２Ｍ１を抽出する。
【０２１７】
そして、アドレス配布サーバＣ１１（７２１）は、抽出された値Ｍ２Ｍ１を、パケット９２２のアドレス変換規則９２２−６に格納し、抽出された値ＭＡＣｎｅｘｔを、パケット９２２のＭＡＣアドレス９２２−５に格納する。なお、図９において値ＭＡＣｎｅｘｔは、Ａｓによって示される。
【０２１８】
また、アドレス配布サーバＣ１１（７２１）は、パケット９２１の送信先アドレス９２１−１の値ＭＡＣｓを、パケット９２２の送信元アドレス９２２−２に格納し、パケット９２１の送信元アドレス９２１−２の値ＭＡＣｒを、パケット９２２の送信先アドレス９２２−１に格納する。さらに、データ９２２−４とプロトコル種別９２２−３とに、アドレス応答であることを示す値と、そのプロトコルタイプとを格納する。
【０２１９】
パケット９２２に値を格納した後、アドレス配布サーバＣ１１（７２１）は、値を格納されたパケット９２２を、ＷＡＮスイッチＳ２１（７１１）に送信する（１０１１）。
【０２２０】
ステップ１０１１の後、アドレス配布サーバＣ１１（７２１）は、ＭＡＣアドレス生成データ８８１のＭＡＣアドレスの下限８８１−１、ＭＡＣアドレスの上限８８１−２及び次のＭＡＣアドレス８８１−３に格納された、ＭＡＣｎｅｘｔ、ＭＡＣｍｉｎ及びＭＡＣｍａｘの値を用いて、次のＭＡＣアドレス８８１−３の値を新たなＭＡＣｎｅｘｔによって更新する（１０１２）。例えば、値ＭＡＣｎｅｘｔに１を加算し、加算された結果を、次のＭＡＣアドレス８８１−３に格納する（１０１２）。
【０２２１】
なお、アドレス配布サーバＣ１１（７２１）は、新たなＭＡＣｎｅｘｔの値が、ＭＡＣｍｉｎからＭＡＣｍａｘまでの値に含まれているか否かを判定することによって、新たなＭＡＣアドレスが生成可能か否かを判定する。
【０２２２】
また、第２の実施形態において、前述のようにＷＡＮスイッチＳに順番にＭＡＣアドレスを生成するが、不正行為をおこなうものがＭＡＣアドレスを推定しづらくするなどの目的のため、順番にＭＡＣアドレスを割り当てなくてもよい。例えば、疑似乱数を使用してＭＡＣアドレスを生成してもよい。疑似乱数の生成関数を適切に選択することによって、ＭＡＣｍｉｎ及びＭＡＣｍａｘの範囲のＭＡＣアドレスを無駄なく割り当てることが可能になる。
【０２２３】
なお、ホストコンピュータ初期化処理９０３は、ホストコンピュータＨが新たに導入された際だけではなく、必要に応じてホストコンピュータＨからの要求に従って、実行されてもよい。
【０２２４】
次に、アドレス配布サーバＣ１１（７２１）がＷＡＮスイッチＳ２３（７１３）からアドレス要求９１０を受信した場合に実行されるスイッチ・アドレス生成処理９１１について説明する。ＷＡＮスイッチＳ２３（７１３）からアドレス要求９１０を受信した場合の処理は、図９において、アドレス変換規則Ｍ２Ｍ１をＭ２Ｍ２に置換し、仮想ネットワークの識別子ＶＮ１をＶＮ２に置換した処理である。
【０２２５】
すなわち、図９に示す処理は、いずれのＷＡＮスイッチＳ及びいずれのホストコンピュータＨにも、実行される処理である。
【０２２６】
図１１Ａ、図１１Ｂ、図１１Ｃは、本発明の第２の実施形態のＷＡＮスイッチＳ２１（７１１）が実行する処理を示すフローチャートである。
【０２２７】
図１１Ａは、本発明の第２の実施形態のＷＡＮスイッチＳによるスイッチ・アドレス設定処理９１３を示すフローチャートである。
【０２２８】
スイッチ・アドレス設定処理９１３は、スイッチ・アドレス生成プログラム８４１によって実行される処理である。スイッチ・アドレス設定処理９１３が開始された後、ＷＡＮスイッチＳ２１（７１１）は、アドレス配布サーバＣ１１（７２１）から受信したパケット９２２のアドレス変換規則９２２−６から、アドレス変換規則Ｍ２Ｍ１を抽出する。
【０２２９】
そして、ＷＡＮスイッチＳ２１（７１１）は、抽出されたアドレス変換規則Ｍ２Ｍ１を、ネットワーク識別子ＶＮ１とともにメモリ８２１に格納する（１１１１）。具体的には、抽出されたアドレス変換規則Ｍ２Ｍ１を、データ８２３が含むアドレス変換規則表８３１に格納する。
【０２３０】
ステップ１１１１の後、ＷＡＮスイッチＳ２１（７１１）は、パケット９２２のＭＡＣアドレス９２２−５からアドレスＡｓ（すなわち、アドレス配布サーバＣ１１（７２１）によって格納されたＭＡＣｎｅｘｔ）を抽出する。そして仮想ネットワークＶＮ１（すなわち、仮想ネットワークサイト１−１（７０１））に接続される、ＷＡＮスイッチＳ２１（７１１）の、ＮＩＦ８０１のＭＡＣアドレス８０３に、抽出されたアドレスＡｓを格納する（１１１２）。
【０２３１】
次に、ＷＡＮスイッチＳ２３（７１３）がアドレス応答９１２を受信した場合のスイッチ・アドレス設定処理９１３について説明する。ＷＡＮスイッチＳ２３（７１３）がアドレス応答９１２を受信した場合の処理は図１１Ａにおいてアドレス変換規則Ｍ２Ｍ１をＭ２Ｍ２に置換し、仮想ネットワークＶＮ１をＶＮ２に置換した処理である。
【０２３２】
図１１Ｂは、本発明の第２の実施形態のＷＡＮスイッチＳによるホスト・アドレス生成準備処理９１４を示すフローチャートである。
【０２３３】
ホスト・アドレス生成準備処理９１４は、ＷＡＮスイッチＳ２１（７１１）のホスト・アドレス生成準備プログラム８４２によって実行される処理である。
【０２３４】
ホスト・アドレス生成準備処理９１４が開始された後、ＷＡＮスイッチＳ２１（７１１は、スイッチ・アドレス設定処理９１３において抽出されたアドレス変換規則Ｍ２Ｍ１から関数Ｍ２Ｍ１ｒを生成する。そして、生成された関数Ｍ２Ｍ１ｒを、メモリ８２３に保持されたアドレス変換規則表８３１のアドレス変換規則８３１−２に格納する。
【０２３５】
ここで、アドレス変換規則Ｍ２Ｍ１は、ホストコンピュータＨのＭＡＣアドレスＭＡＣｈに対応する、ＷＡＮスイッチＳのＭＡＣアドレスＡｓを算出するための、多対１の関数である。すなわち、複数のホストコンピュータＨに割り当てられた各ＭＡＣアドレスから、一つのＷＡＮスイッチＳのＭＡＣアドレスを算出するための関数である。
【０２３６】
また、関数Ｍ２Ｍ１ｒは、ＷＡＮスイッチＳのＭＡＣアドレスから、ホストコンピュータＨのＭＡＣアドレスを生成するための関数である。関数Ｍ２Ｍ１ｒ（Ａｓ）の結果（すなわち、関数Ｍ２Ｍ１ｒの変数にＡｓを代入して算出された結果）は、算出されるたびに異なり、一つのホストコンピュータＨのＭＡＣアドレスを返す。さらに、関数Ｍ２Ｍ１ｒによって算出されたホストコンピュータＨのアドレスＭＡＣｈは、Ｍ２Ｍ１（ＭＡＣｈ）＝Ａｓの関係を満たす。すなわち、アドレス変換規則Ｍ２Ｍ１によってホストコンピュータＨのアドレスＭＡＣｈを変換すると、ＷＡＮスイッチＳのＭＡＣアドレスを取得できる。
【０２３７】
このような関数Ｍ２Ｍ１ｒには、例えば、最初によびだされたときにはＭ２Ｍ１（ＭＡＣｈ）＝Ａｓ（すなわち、ＭＡＣｈを変数としてＭ２Ｍ１を算出した結果は、値Ａｓ）となる最小のＭＡＣｈを返し、以後よばれるごとに結果に１ずつ加算されたＭＡＣｈを返す関数がある。また、疑似乱数を使用して、よびだすごとにＭ２Ｍ１（ＭＡＣｈ）＝Ａｓを満たし、かつ、異なるＭＡＣｈの値を返す関数がある。
【０２３８】
次に、ＷＡＮスイッチＳ２３（７１３）によるホスト・アドレス生成準備処理９１４について説明する。ＷＡＮスイッチＳ２３（７１３）によるホスト・アドレス生成準備処理９１４は、図１１Ｂにおいてアドレス変換規則Ｍ２Ｍ１をＭ２Ｍ２に置換し、関数Ｍ２Ｍ１ｒをＭ２Ｍ２ｒに置換した処理である。
【０２３９】
図１１Ｃは、本発明の第２の実施形態のＷＡＮスイッチＳによるホスト・アドレス生成処理９１６を示すフローチャートである。
【０２４０】
ホスト・アドレス生成処理９１６は、ＷＡＮスイッチＳ２１（７１１）のホスト・アドレス生成プログラム８４３によって実行される処理である。ここで、ホスト・アドレス生成プログラム８４３は、アドレス設定プロキシの機能を含む。さらに、ホストコンピュータＨ１１（７２２）に保持される自アドレス計算・設定プログラム８９５は、ホスト・アドレス生成プログラム８４３によって生成されたＭＡＣアドレスを、ホストコンピュータＨ１１（７２２）のＮＩＦ８８５に格納する。
【０２４１】
ホスト・アドレス生成処理９１６が開始された後、ＷＡＮスイッチＳ２１（７１１）は、ＷＡＮスイッチＳ２１（７１１）のＭＡＣアドレスＡｓを、関数Ｍ２Ｍ１ｒに入力し、ホストコンピュータＨのＭＡＣアドレスＭＡＣｈ’を生成する。そして、生成されたホストコンピュータのアドレスＭＡＣｈ’を含むパケット９２４を生成し、パケット９２４をホストコンピュータＨ１１（７２２）に送信する（１１３１）。
【０２４２】
関数Ｍ２Ｍ１ｒ及びＭ２Ｍ２ｒは、くりかえし使用されても同一のアドレスを出力しないため、すべてのホストコンピュータＨに異なるアドレスを割り当てることができる。
【０２４３】
なお、ホスト・アドレス生成処理９１６は、ホストコンピュータＨ１１（７２２）によって実行されてもよい。すなわち、パケット９２２に含まれたＭＡＣアドレス９２２−５の値と、関数Ｍ２Ｍ１ｒとを、パケット９２４のＭＡＣアドレス９２４−５に格納することによって、ホストコンピュータＨ１１（７２２）が、ホスト・アドレス生成処理９１６を実行してもよい。
【０２４４】
次に、ＷＡＮスイッチＳ２３（７１３）によるホスト・アドレス生成処理９１６について説明する。ＷＡＮスイッチＳ２３（７１３）によるホスト・アドレス生成処理９１６は、図１１Ｃにおいて、関数Ｍ２Ｍ１ｒをＭ２Ｍ２ｒに置換した処理となる。
【０２４５】
図１２は、本発明の第２の実施形態のホストコンピュータＨ１１（７２２）による自アドレス計算・設定処理９１８を示すフローチャートである。
【０２４６】
自アドレス計算・設定処理９１８は、自アドレス計算・設定プログラム８９５によって実行される処理である。自アドレス計算・設定処理９１８が開始された後、ホストコンピュータＨ１１（７２２）は、ＷＡＮスイッチＳ２１（７１１）から受信したパケット９１７のＭＡＣアドレス９２４−５から、アドレスＭＡＣｈ’を抽出する。そして、抽出されたアドレスＭＡＣｈ’をメモリ８９２に格納する（１２１１）。
【０２４７】
ステップ１２１１の後、ホストコンピュータＨ１１（７２２）は、受信されたパケット９２２から抽出されたアドレスＭＡＣｈ’を、ホストコンピュータＨ１１（７２２）のＮＩＦ８８５のＭＡＣアドレス８８６に格納する（１２１２）。
【０２４８】
次に、ホストコンピュータＨ１５（７４２）による自アドレス計算・設定処理９１８について説明する。ホストコンピュータＨ１５（７４２）による自アドレス計算・設定処理９１８は、図１２において、ホストコンピュータＨ１１（７２２）をホストコンピュータＨ１５（７４２）に置換した処理となる。
【０２４９】
前述の図９から図１２の処理によって、仮想ネットワークサイトがＷＡＮ７２０に接続された際に、仮想ネットワークサイトに属するホストコンピュータＨは、ＷＡＮにおいて一意のＭＡＣアドレスを配布されることができる。
【０２５０】
図１３は、本発明の第２の実施形態のＷＡＮ７２０を介したホストコンピュータＨ間の通信を示すシーケンス図である。
【０２５１】
図１３のシーケンス図は、ホストコンピュータＨ１１（７２２）と、あらかじめＷＡＮ７２０に接続されていたホストコンピュータＨ１２（７５２）との通信を示す。ホストコンピュータＨ１１（７２２）からホストコンピュータＨ１２（７５２）へ通信するため、ホストコンピュータＨ１１（７２２）は、プログラム８９４によってＥｔｈｅｒｎｅｔパケット１３１１を生成し、ホストコンピュータＨ１２（７５２）に向けて送信する。
【０２５２】
なお、パケット１３１１を生成する際、ホストコンピュータＨ１１（７２２）は、ホストコンピュータＨ１２（７５２）のＭＡＣアドレスをあらかじめ保持している。
【０２５３】
ホストコンピュータＨ１１（７２２）に接続されるＷＡＮスイッチＳ２１（７１１）は、Ｅｔｈｅｒｎｅｔパケット１３１１を受信した後、アドレス変換プロキシであるパケット変換プログラム８４４によってパケット変換・転送処理１３２１を実行する。パケット変換プログラム８４４がパケット変換・転送処理１３２１を実行することによって、Ｅｔｈｅｒｎｅｔパケット１３１１の先頭には、Ｅｔｈｅｒｎｅｔフレームが付加され、その結果、Ｅｔｈｅｒｎｅｔパケット１３１２が生成される。
【０２５４】
ＷＡＮスイッチＳ２１（７１１）は、Ｅｔｈｅｒｎｅｔパケット１３１２を生成した後、生成されたＥｔｈｅｒｎｅｔパケット１３１２を、ＷＡＮ７２０に備わるＷＡＮスイッチＳに向けて送信する。Ｅｔｈｅｒｎｅｔパケット１３１２が送信されるＷＡＮスイッチＳは、ホストコンピュータＨ１２（７５２）に接続されるＷＡＮスイッチＳ２２（７１２）である。パケット変換・転送処理１３２１については、図１４を用いて後述する。
【０２５５】
パケット１３１２の送信先アドレスＭＡＣ２２は、ＷＡＮスイッチＳ２２（７１２）に備わるＮＩＦ８０１のＭＡＣアドレス８０３を示す。ＷＡＮスイッチＳ２２（７１２）のＮＩＦ８０１は、仮想ネットワークサイト１−２（７０２）に接続され、他の仮想ネットワークサイトには接続されない。このため、パケット１３１２が他の仮想ネットワークに転送されることはない。これは、他のホストコンピュータＨ間の通信においても同じである。
【０２５６】
すなわち、第２の実施形態によれば、仮想ネットワークサイトＶＮ１上における通信と、仮想ネットワークサイトＶＮ２上における通信とは干渉することがなく、仮想ネットワークとして必要なアイソレーション（隔離）が実現される。
【０２５７】
ＷＡＮスイッチＳ２２（７１２）は、Ｅｔｈｅｒｎｅｔパケット１３１２を受信した後、ＷＡＮスイッチＳ２２（７１２）のアドレス変換プロキシであるパケット変換プログラム８４４によってパケット変換・転送処理１３２１を実行する。パケット変換プログラム８４４がパケット変換・転送処理１３２１を実行することによって、Ｅｔｈｅｒｎｅｔパケット１３１２の先頭のＥｔｈｅｒｎｅｔフレームが削除され、単純なＥｔｈｅｒｎｅｔパケット１３１３が生成される。Ｅｔｈｅｒｎｅｔパケット１３１３は、Ｅｔｈｅｒｎｅｔパケット１３１１と同じ内容を含む。
【０２５８】
ＷＡＮスイッチＳ２２（７１２）は、Ｅｔｈｅｒｎｅｔパケット１３１３を生成した後、生成されたＥｔｈｅｒｎｅｔパケット１３１３をホストコンピュータＨ１２（７５２）に送信する。ホストコンピュータＨ１２（７５２）は、Ｅｔｈｅｒｎｅｔパケット１３１３を受信した後、プログラム８９４によって、Ｅｔｈｅｒｎｅｔパケット１３１３を処理する。
【０２５９】
ホストコンピュータＨ１２（７５２）からホストコンピュータＨ１１（７２２）へ通信するため、ホストコンピュータＨ１２（７５２）は、プログラム８９４によってＥｔｈｅｒｎｅｔパケット１３１４を生成し、ホストコンピュータＨ１１（７２２）に向けて送信する。
【０２６０】
ＷＡＮスイッチＳ２２（７１２）は、Ｅｔｈｅｒｎｅｔパケット１３１４を受信した後、ＷＡＮスイッチＳ２２（７１２）のアドレス変換プロキシであるパケット変換プログラム８４４によってパケット変換・転送処理１３２１を実行する。パケット変換プログラム８４４がパケット変換・転送処理１３２１を実行することによって、Ｅｔｈｅｒｎｅｔパケット１３１４の先頭には、Ｅｔｈｅｒｎｅｔフレームが付加され、その結果、Ｅｔｈｅｒｎｅｔパケット１３１５が生成される。
【０２６１】
ＷＡＮスイッチＳ２２（７１２）は、Ｅｔｈｅｒｎｅｔパケット１３１４を生成した後、生成されたＥｔｈｅｒｎｅｔパケット１３１４を、ＷＡＮ７２０のＷＡＮスイッチＳに向けて送信する。Ｅｔｈｅｒｎｅｔパケット１３１４が送信されるＷＡＮスイッチＳは、ホストコンピュータＨ１１（７２２）に接続されるＷＡＮスイッチＳ２１（７１１）である。
【０２６２】
ＷＡＮスイッチＳ２１（７１１）は、Ｅｔｈｅｒｎｅｔパケット１３１５を受信した後、ＷＡＮスイッチＳ２１（７１１）のアドレス変換プロキシであるパケット変換プログラム８４４によってパケット変換・転送処理１３２１を実行する。パケット変換プログラム８４４がパケット変換・転送処理１３２１を実行することによって、Ｅｔｈｅｒｎｅｔパケット１３１５の先頭のＥｔｈｅｒｎｅｔフレームが削除され、単純なＥｔｈｅｒｎｅｔパケット１３１６が生成される。
【０２６３】
ＷＡＮスイッチＳ２１（７１１）は、Ｅｔｈｅｒｎｅｔパケット１３１６を生成した後、生成されたＥｔｈｅｒｎｅｔパケット１３１６をホストコンピュータＨ１１（７２２）に送信する。ホストコンピュータＨ１１（７２２）は、Ｅｔｈｅｒｎｅｔパケット１３１６を受信した後、プログラム８９４によって、Ｅｔｈｅｒｎｅｔパケット１３１６を処理する。
【０２６４】
次に、ホストコンピュータＨ１５（７４２）と、あらかじめＷＡＮ７２０に接続されていたホストコンピュータＨ１７（７６２）との通信について説明する。このときの処理は、図１３においてホストコンピュータＨ１１（７２２）をホストコンピュータＨ１５（７４２）に置換し、ホストコンピュータＨ１２（７５２）をホストコンピュータＨ１７（７６２）に置換する処理である。また、図１３のＭＡＣ１１にはホストコンピュータＨ１５（７４２）のＭＡＣアドレスが格納され、ＭＡＣ１２にはホストコンピュータＨ１７（７６２）のＭＡＣアドレスが格納され、ＭＡＣ２１にはＷＡＮスイッチＳ２３（７１３）のＭＡＣアドレスが格納される。
【０２６５】
すなわち、図１３に示す処理は、同じ仮想ネットワークに属するホストコンピュータＨ間の通信において、実行される処理である。
【０２６６】
なお、ホストコンピュータＨ１５（７４２）とホストコンピュータＨ１７（７６２）との通信において、ＭＡＣ２２に格納されるＷＡＮスイッチＳ２２（７１２）のＭＡＣアドレスは、仮想ネットワークサイト２−２（７０５）に接続されたＮＩＦ８０１のＭＡＣアドレス８０３である。すなわち、ホストコンピュータＨ１１（７２２）とホストコンピュータＨ１２（７５２）との通信において用いられるＷＡＮスイッチＳ２２（７１２）のＭＡＣアドレス８０３と、ホストコンピュータＨ１５（７４２）とホストコンピュータＨ１７（７６２）との通信において用いられるＷＡＮスイッチＳ２２（７１２）のＭＡＣアドレス８０３とは、異なるアドレスである。
【０２６７】
図１４は、本発明の第２の実施形態のホストコンピュータＨ１１（７２２）とホストコンピュータＨ１２（７５２）との通信の際のパケット変換・転送処理１３２１を示すフローチャートである。
【０２６８】
パケット変換・転送処理１３２１は、ＷＡＮスイッチＳのパケット変換・転送プログラム８４４によって実行される処理である。以下において、ＷＡＮスイッチＳ２１（７１１）によるパケット変換・転送処理１３２１を示す。
【０２６９】
パケット変換・転送処理９１８が開始された後、ＷＡＮスイッチＳ２１（７１１）は、ホストコンピュータＨ１１（７２２）から受信したＥｔｈｅｒｎｅｔパケット１３１１に含まれる送信先ＭＡＣアドレスＭＡＣ１２を、メモリ８２１に保持されるアドレス変換規則Ｍ２Ｍ１によって変換することによって、ＷＡＮ７２０内のＥｔｈｅｒｎｅｔパケット１３１１の送信先となるＷＡＮスイッチＳのＭＡＣアドレスＭＡＣ２２を算出する（１４１１）。
【０２７０】
なお、ＷＡＮスイッチＳ２１（７１１）は、Ｅｔｈｅｒｎｅｔパケット１３１１に含まれる送信元アドレスＭＡＣ１１等から、Ｅｔｈｅｒｎｅｔパケット１３１１が、仮想ネットワークサイト１−１（７０１）（ＶＮ１）のホストコンピュータＨ１１（７２２）から送信されたことを識別してもよい。
【０２７１】
ステップ１４１１の後、ＷＡＮスイッチＳ２１（７１１）は、ステップ１４１１において算出されたＭＡＣアドレスＭＡＣ２２を含む、Ｅｔｈｅｒｎｅｔフレームの送信先アドレスの領域と、自スイッチ（ＷＡＮスイッチＳ２１（７１１））のＭＡＣアドレスＭＡＣ２１を含む、Ｅｔｈｅｒｎｅｔフレームの送信元アドレスが格納される領域とを、Ｅｔｈｅｒｎｅｔパケット１３１１の先頭に付加することによって、Ｅｔｈｅｒｎｅｔパケット１３１１をカプセル化する。このようなカプセル化の結果、Ｅｔｈｅｒｎｅｔパケット１３１２が生成される。
【０２７２】
ＷＡＮスイッチＳ２１（７１１）は、生成されたパケット１３１２を、ＷＡＮ７２０に送信する（１４１２）。
【０２７３】
次に、ホストコンピュータＨ１５（７４２）とホストコンピュータＨ１７（７６２）とが通信するための、ＷＡＮスイッチＳ２３（７１３）によるパケット変換・転送処理９１８について説明する。このときの処理は、図１４において関数Ｍ２Ｍ１ｒを関数Ｍ２Ｍ２ｒに置換した処理である。
【０２７４】
第２の実施形態のＷＡＮスイッチＳは、ホストコンピュータＨのＭＡＣアドレスから、ホストコンピュータＨが接続されるＷＡＮスイッチＳのＭＡＣアドレスを算出する関数を保持することによって、ホストコンピュータＨのＭＡＣアドレスとＷＡＮスイッチＳのＭＡＣアドレスとの対応関係をあらかじめ保持する必要がない。すなわち、第２の実施形態のＷＡＮスイッチＳは、上位であるホストコンピュータＨのＭＡＣアドレスと、下位であるＷＡＮスイッチＳのＭＡＣアドレスとの対応関係を、あらかじめブロードキャストする必要がない。
【０２７５】
本実施形態によれば、２層のプロトコルアドレスを含むパケットによって通信するネットワークにおいて、上位のアドレスと下位のアドレスとの対応関係をブロードキャストする必要がない。このため、ブロードキャストによるネットワーク負荷の増大、ブロードキャストパケットを生成するためのプロトコル、プログラム及びデータの複雑化並びに巨大化を低減することができる。
【符号の説明】
【０２７６】
１０１、１０２、１０３、１０４  ホストコンピュータＨ１〜Ｈ４
１１１、１１２、１１３  スイッチＳ１〜Ｓ３
１２１  アドレス配布サーバＣ１
１２２  ＬＡＮ
７２０  広域ネットワーク（ＷＡＮ）
７１１、７１２、７１３  ＷＡＮスイッチＳ２１〜Ｓ２３
７２１  アドレス配布サーバＣ１１
７２２  ホストコンピュータＨ１１
７５２  ホストコンピュータＨ１２
７３２  ホストコンピュータＨ１３
７４２  ホストコンピュータＨ１５
７４３  ホストコンピュータＨ１６
７６２  ホストコンピュータＨ１７
７０１  仮想ネットワークサイト１−１
７０２  仮想ネットワークサイト１−２
７０３  仮想ネットワークサイト１−３
７０４  仮想ネットワークサイト２−１
７０５  仮想ネットワークサイト２−２
【図１】
2012156957.tif 000003
【図２Ａ】
2012156957.tif 000004
【図２Ｂ】
2012156957.tif 000005
【図３】
2012156957.tif 000006
【図４】
2012156957.tif 000007
【図５】
2012156957.tif 000008
【図６】
2012156957.tif 000009
【図７】
2012156957.tif 000010
【図８Ａ】
2012156957.tif 000011
【図８Ｂ】
2012156957.tif 000012
【図８Ｃ】
2012156957.tif 000013
【図９】
2012156957.tif 000014
【図１０】
2012156957.tif 000015
【図１１Ａ】
2012156957.tif 000016
【図１１Ｂ】
2012156957.tif 000017
【図１１Ｃ】
2012156957.tif 000018
【図１２】
2012156957.tif 000019
【図１３】
2012156957.tif 000020
【図１４】
2012156957.tif 000021