(57)【要約】ネットワーク間に設けられ、特定のグループに属するホストに関するＩＰパケットを通過させるＩＰパケット中継装置であって、ホストが持つＩＰアドレスとそのホストが属するグループを識別するためのグループ識別子とを対応付けたリストと、一方のネットワークから到着した他方のネットワークに接続されたホスト宛のＩＰパケットが同一のグループに関するＩＰパケットか否かを、前記リストを参照することにより判定する判定手段と、同一のグループに関するＩＰパケットであると判定されたＩＰパケットを、前記他方のネットワークに中継するフォワード手段と、を備える。
2005027438.tif 000002
【特許請求の範囲】
【請求項１】
グローバルアドレスを持つＩＰホストで構成されたＩＰネットワークにおいて、任意のホストを選択してグループ化し、グループ内に閉じた通信を実現するために、ローカルネットワークとグローバルネットワークの境界に位置するパケット中継装置であって、
グループに属するホストを管理するために、ＩＰアドレスとグループを管理するためのホスト名から構成されるリストと、
このリストを元にグループメンバであるホストとグループ外のホストを識別しグループ外のホストからの通信を遮断する手段と、
を備えるパケット中継装置。
【請求項２】
グローバルアドレスとプライベートアドレスを相互に変換する変換装置をさらに備える請求項１に記載のパケット中継装置。
【請求項３】
任意のホストには仮想的なＩＰサブネットに対する仮想的なプライベートアドレスが割り付けられる請求項２に記載のパケット中継装置。
【請求項４】
他のパケット中継装置との間の通信を暗号化する手段をさらに備える請求項２または３に記載のパケット中継装置。
【請求項５】
所定のトンネルプロトコルにより、他のパケット中継装置との間のトンネル設定を自動化する手段をさらに備える請求項２から４のいずれかに記載のパケット中継装置。
【請求項６】
仮想グループ設定プロトコルにより、他のパケット中継装置との間におけるグループ設定を自動化する手段をさらに備える請求項２から５のいずれかに記載のパケット中継装置。
【請求項７】
仮想グループ設定プロトコルにより、他のパケット中継装置との間におけるグループに属するメンバ設定を自動化する手段をさらに備える請求項２から６のいずれかに記載のパケット中継装置。
【請求項８】
他のパケット中継装置との間で認証することにより、互いが信頼できるものであるか無いかを確認する手段をさらに備える請求項５から７のいずれかに記載のパケット中継装置。
【請求項９】
パケット中継装置とホストは、他のホストと接続されずに、直接接続される請求項２または３に記載のパケット中継装置。
【請求項１０】
非ＩＰ端末を仮想的にＩＰホストとしてグループに存在するように他のホストから見せかける仮想ＩＰホストを構築する請求項３に記載のパケット中継装置。
【請求項１１】
ホストのレイヤ２アドレスをホスト固有の識別子としてマシンと一対一に対応させる請求項３に記載のパケット中継装置。
【請求項１２】
グループに属するホストの代理で仮想のレイヤ２アドレスを用いてＡＲＰに応答し、グループ内の通信をローカルサブネットレベルで実現する請求項３に記載のパケット中継装置。
【請求項１３】
ゲートウェイで名前解決を行わず、ＤＮＳサーバで一元的に名前を解決し、かつ実アドレスと仮想的なプライベートアドレスの変換をパターンで記述する請求項１から３のいずれかに記載のパケット中継装置。
【請求項１４】
ネットワーク間に設けられ、特定のグループに属するホストに関するＩＰパケットを通過させるＩＰパケット中継装置であって、
ホストが持つＩＰアドレスとそのホストが属するグループを識別するためのグループ識別子とを対応付けたリストと、
一方のネットワークから到着した他方のネットワークに接続されたホスト宛のＩＰパケットが同一のグループに関するＩＰパケットか否かを、前記リストを参照することにより判定する判定手段と、
同一のグループに関するＩＰパケットであると判定されたＩＰパケットを、前記他方のネットワークに中継するフォワード手段と、
を備えるＩＰパケット中継装置。
【請求項１５】
前記判定手段は、前記リストを参照することにより、前記一方のネットワークから到着したＩＰパケットの送信元アドレスおよび宛先アドレスに対応するグループが同一である場合に、該ＩＰパケットが同一のグループに関するＩＰパケットであると判定する請求項１４に記載のＩＰパケット中継装置。
【発明の詳細な説明】
【技術分野】  本出願は、通信ネットワークで接続された任意のホストを仮想的にグループ化し、閉域網を提供する技術に関する。
【背景技術】  ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワークが急速に一般化してきている。これに伴い、ＩＰネットワークには、パーソナルコンピュータ（ＰＣ）以外のホスト（例えばＩＰ通信が可能な家電製品等の機器）も接続されるようになってきている。これまでの高機能なパーソナルコンピュータ（ＰＣ）が主役のＩＰネットワークから、家電製品を制御したり、ＩＰ対応の家電製品間でコンテンツを送受信するなどの利用が始まり、ＩＰ通信が可能な機器（以下、ホスト）の数と種類が増え、特に今まで接続されなかったＰＣよりも低機能のホストも接続されるようになってきた。
ホスト数が増えることによりホストをグループ化して多数のホストを簡単に管理する必要が生じ、また低機能のホストが増えることでよりホストに負担が少ない単純な方法でグループ間の通信を実現する必要が生じる。グループ化する意味は例えば、あるホストを探す場合に探索範囲を絞る効果があり検索に必要な処理量や時間を短縮し、また別の面ではグループに属するホストとそうでない普通のホストを識別することであり、例えばホストにおける外部からのアクセスをメンバだけに制限することでセキュリティを確保する意味がある。
従来技術では、任意の数のＩＰホストによってある１グループを構成する場合、グループに属するホストが互いにグループメンバとして情報を登録し、互いに通信するのが一般的である。この場合、グループに属する全てのホストには以下の手段が必要であった。
１．同じグループに所属するメンバのリスト、
２．上記メンバリストにホストを登録、削除する機能、およびメンバ間で共有・同期する機能、
３．メンバリストに基づきユーザ認証をする認証手段、
４．メンバリストに含まれるホストからの通信とメンバ以外のホストを識別する手段。
なお、アドレス変換に関する資料としては例えば非特許文献１および２がある。また、ＶＰＮに関する資料としては例えば非特許文献３および４がある。
【非特許文献１】    ＲＦＣ１６３１
【非特許文献２】    ＲＦＣ２３９１
【非特許文献３】    ＮＳ２００１−２６３（情報システム研究会ＮＳ）２００２．３、複数ネットワーク接続に適した分散型ＶＰＮのデザイン、田島佳武（ＮＴＴ）
【非特許文献４】    ＮＳ２００１−２６２（情報システム研究会ＮＳ）２００２．３、仮想ネットワーキングサービスプラットフォーム（ＶＮＳＰ）におけるマルチＶＰＮサービスサービス提供方式、岡大祐（ＮＴＴ）、他
【特許文献５】    特開２００１−２６８１２５号公報
従来技術は、ホストにおける実装コストが高く、ホスト数に対してスケーラビリティが無いという問題点がある。第一に上記１〜４までの機能はグループに参加する全てのホストが実装しなければならず、特に、ユーザの認証や通信を制限する機能はファイアウォールやゲートウェイなど専用機で実現されている機能であり、実装コストが極めて高い。このような機能を通信・計算資源に乏しい、携帯電話、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｃｅ）などの携帯端末、クーラ、洗濯機、ビデオなどのネットワーク家電通信で実装するのは困難である。
例えば、受信したＩＰパケット毎に認証済みのホストかどうかをチェックする処理は、受信するパケット数およびメンバ数に比例して増大するため、ホストでの処理負荷は大きくなり、スケールしなくなるという問題がある。
第二に、この方法では各ホスト間の通信がフルメッシュで発生するため、ホスト数が増加するとそれに比例してホストにおける処理メッセージ数が増加する。例えば、グループに参加するメンバが増減するたびに、各ホストではメンバリストを更新する必要があるが、このメンバ変更のメッセージは全てのホストに対して送信されるため、送信ホスト、受信ホストともに処理負荷が大きくなり、スケールしなくなるという問題がある。
以上のように、ホストには負担をできるだけかけずに、スケールするグループ化の技術が必要となる。具体的な要求条件は以下の３つである。
１．ホストにおけるＴＣＰ／ＩＰプロトコルスタック、および既存アプリケーションは一切変更しないこと。
２．ホストにおけるグループ化の機能を利用するアプリケーションは既存のＴＣＰ／ＩＰ機能だけを利用すること。
３．認証されたホストのみグループメンバにアクセスできる、つまりホストからは認証済みのホストからしか通信が発生していないように見えること。
また、付加機能として以下の要件を満たすことが望ましい。
１．グループ構成やメンバ登録は自動的に実行されること。
２．アドレス空間に制約が無く、グローバルとプライベートアドレスの両方が使える
３．ＩＰアドレスとホストの対応はＤＨＣＰなどを使うと一意でないため、ＩＰアドレス以外の個体認証機能を持つこと。
４．ホストにおけるアプリケーションにおいてグループの判別が容易であること。
【発明の開示】
本発明の課題は、グループメンバ数等が増えてもホストの処理負荷を増大させることなく、グループ内に閉じた通信を実現することにある。
本発明は、上記課題を解決するためになされたものであり、グローバルアドレスまたはプライベートアドレスを持つＩＰホストで構成されたＩＰネットワークにおいて、任意のホストを選択してグループ化し、グループ内に閉じた通信を実現するために、ローカルネットワークとグローバルネットワークの境界に位置するパケット中継装置であって、グループに属するホストを管理するために、ＩＰアドレスとグループを管理するためのホスト名から構成されるリストと、このリストを元にグループメンバであるホストとグループ外のホストを識別しグループ外のホストからの通信を遮断する手段と、を備える構成とした。
本発明によれば、各ホスト自身がメンバリスト等を備える必要がない。このため、グループメンバ数等が増えてもホストの処理負荷を増大させることなく、グループ内に閉じた通信を実現することが可能となる。
上記パケット中継装置においては、例えば、グローバルアドレスとプライベートアドレスを相互に変換する変換装置をさらに備える。
このようにすれば、プライベート網とグローバル網、およびプライベート網同士の通信が可能となる。
上記パケット中継装置においては、例えば、任意のホストには仮想的なＩＰサブネットに対する仮想的なプライベートアドレス（仮想ＩＰアドレスともいう）が割り付けられる。
このようにすれば、仮想的にホストグループをＩＰサブネットでグループ化することが可能となる。
上記パケット中継装置においては、例えば、他のパケット中継装置との間の通信を暗号化する手段をさらに備える。
このようにすれば、中継経路上で情報が漏洩することを防止することが可能となる。
上記パケット中継装置においては、例えば、所定のトンネルプロトコルにより、他のパケット中継装置との間のトンネル設定を自動化する手段をさらに備える。
このようにすれば、トンネル設定の自動化が可能となる。
上記パケット中継装置においては、例えば、仮想グループ設定プロトコルにより、他のパケット中継装置との間におけるグループ設定を自動化する手段をさらに備える。
このようにすれば、グループ設定の自動化が可能となる。
上記パケット中継装置においては、例えば、仮想グループ設定プロトコルにより、他のパケット中継装置との間におけるグループに属するメンバ設定を自動化する手段をさらに備える。
このようにすれば、メンバ設定の自動化が可能となる。
上記パケット中継装置においては、例えば、他のパケット中継装置との間で認証することにより、互いが信頼できるものであるか無いかを確認する手段をさらに備える。
このようにすれば、信頼できる相手とのみ通信することが可能となる。
上記パケット中継装置においては、例えば、パケット中継装置とホストは、他のホストと接続されずに、直接接続される。
このようにすれば、パケット中継装置とホスト間の中継経路上で情報が漏洩することを防止可能となる。
上記パケット中継装置においては、例えば、非ＩＰ端末を仮想的にＩＰホストとしてグループに存在するように他のホストから見せかける仮想ＩＰホストを構築する。
このようにすれば、非ＩＰ端末との間でも通信することが可能となる。
上記パケット中継装置においては、例えば、ホストのレイヤ２アドレス（Ｌ２アドレス）をホスト固有の識別子（ＩＤ）としてマシンと一対一に対応させる。
このようにすれば、ホストが移動したり、一時停止してＤＨＣＰでＩＰアドレスが変わってもグループメンバからは同じように見せることが可能となる。
上記パケット中継装置においては、例えば、グループに属するホストの代理で仮想のレイヤ２アドレスを用いてＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）に応答し、グループ内の通信をローカルサブネットレベルで実現する。
上記パケット中継装置においては、例えば、ゲートウェイで名前解決を行わず、ＤＮＳサーバで一元的に名前を解決し、かつ実アドレスと仮想的なプライベートアドレスの変換をパターンで記述する。
このようにすれば、アドレス変換にかかるリソースと処理時間を削減することが可能となる。
本発明は次のように特定することもできる。
ネットワーク間に設けられ、特定のグループに属するホストに関するＩＰパケットを通過させるＩＰパケット中継装置であって、ホストが持つＩＰアドレスとそのホストが属するグループを識別するためのグループ識別子とを対応付けたリストと、一方のネットワークから到着した他方のネットワークに接続されたホスト宛のＩＰパケットが同一のグループに関するＩＰパケットか否かを、前記リストを参照することにより判定する判定手段と、同一のグループに関するＩＰパケットであると判定されたＩＰパケットを、前記他方のネットワークに中継するフォワード手段と、を備えるＩＰパケット中継装置。
このようによれば、各ホスト自身がメンバリスト等を備える必要がない。このため、グループメンバ数等が増えてもホストの処理負荷を増大させることなく、グループ内に閉じた通信を実現することが可能となる。
また、上記ＩＰパケット中継装置においては、例えば、前記判定手段は、前記リストを参照することにより、前記一方のネットワークから到着したＩＰパケットの送信元アドレスおよび宛先アドレスに対応するグループが同一である場合に、該ＩＰパケットが同一のグループに関するＩＰパケットであると判定する。これは、判定手段による判定基準の一例を示したものである。
本発明は、通信ホストに変更を加えず、同じ目的を持つ任意のホストをセキュアかつスケーラブルにグループ化するために、ゲートウェイ装置がグループを管理し、さらに実ＩＰアドレスと仮想ＩＰアドレスを変換することで仮想的にＩＰサブネットワークを構築し、ＩＰアドレスでグループを識別できることを特徴とする。
本発明の基本的なアイデアはグループ化に必要な機能をゲートウェイ装置に持たせることである。つまり、上記の要求条件を満たすためにグループに属するホスト同士を接続するゲートウェイ（＝ルータ）装置を新たに設置する。このゲートウェイ装置は既存のルータ、スイッチ装置などと同様に物理的に分けられたネットワーク間を接続する機能を持ち、これらの装置に対してグループ化に必要な機能を新たに追加したものである。これにより従来技術でホストに必要であった全ての機能がゲートウェイに実装され、ホストは低機能で単純なＴＣＰ／ＩＰプロトコルスタックのみでグループ化通信が実現される。
通常はホストの機能を低減するため、各ホストそれぞれに対して異なるゲートウェイ装置、つまり２台以上のゲートウェイ装置を介してグループ化通信が実現される（図１参照）。
課題を解決する手段をまとめると次の３つの手段を新しくゲートウェイに備えることが本発明の基本的なアイデアである。
１．アクセス制限機能：ゲートウェイ装置はグループメンバ外からのグループメンバであるホストへのアクセスを遮断するために、グループメンバのアドレスをリストとして持ち、このリストによりグループメンバを識別し、メンバ以外からの通信を遮断もしくは制限する。
２．メンバ識別をホストで可能にする機能：また、このゲートウェイ装置は各グループメンバが標準のＴＣＰ／ＩＰプロトコルを用いてグループを参照できるようにＤＮＳを利用して通信相手先のグループ名を含む文字列を応答する機能を持つ。
３．グループメンバ管理機能：また、このゲートウェイ装置は新しくグループに参加するホストを認証し、グループメンバリストに登録する手段、あるホストがグループメンバから離脱するときにホストを削除する機能を備える。また、管理を簡単にするために、ゲートウェイ間でグループとそのメンバ情報を同期させる手段を備えることもオプションとしてありうる。
【図面の簡単な説明】    図１は、第一の実施形態のネットワークシステムの概略構成を説明するための図である。
図２は、第一の実施形態のネットワークシステムの概略構成を説明するための図である。
図３は、第一の実施形態のゲートウェイの機能ブロック図である。
図４は、ゲートウェイの動作について説明するためのフローチャートである。
図５は、ゲートウェイの動作について説明するためのフローチャートである。
図６は、ゲートウェイの動作について説明するためのシーケンス図である。
図７は、主として、第二の実施形態のネットワークシステムの概略構成を説明するための図である。
図８は、第二の実施形態のゲートウェイの機能ブロック図である。
図９は、ゲートウェイの動作について説明するためのフローチャートである。
図１０は、ゲートウェイの動作について説明するためのフローチャートである。
図１１は、ゲートウェイ間設定プロトコルのシーケンス図である。
図１２は、ゲートウェイＧＷ−Ｂが保持するローカルリスト例である。
図１３は、ゲートウェイＧＷ−Ｂが保持するグローバルリスト例である。
図１４は、個体識別子を含むローカルリスト例である。
図１５は、ゲートウェイＢＷ−Ｂが保持するグローバルリスト例である。
図１６は、グローバルリスト例である。
図１７は、第七の実施形態のゲートウェイの動作について説明するためのシーケンス図である。
【発明を実施するための最良の形態】  以下、本発明の第一の実施形態であるゲートウェイ（ＧＷまたはゲートウェイ装置ともいう）を包含するネットワークシステムについて図面を参照しながら説明する。
（第一の実施形態）
（ネットワークシステムの概要）
図１および図２は、本実施形態のネットワークシステムの概略構成を説明するための図である。
図２に示すように、本実施形態のネットワークシステムは、ローカルネットワークＡ（以下ローカルネットＡという）、ローカルネットワークＢ（以下ローカルネットＢという）、およびインターネットからなる。ローカルネットＡおよびローカルネットＢには、グループ化の対象とされるホスト（ここではホスト１１〜１４およびホスト２１〜２５）が接続されている。なお、グループ化の対象とされるホストの数は適宜の数とすることができる。
各ホストは、ＩＰパケットによる通信を行う機能を有する家電製品等の端末である。このＩＰパケットによる通信のために、各ホストはグローバルＩＰアドレスを持つ。ここでは、ＩＰｖ４によるＩＰアドレスとする。ローカルネットＡとインターネットとはゲートウェイＡ１を介して接続されている。また、ローカルネットＢとインターネットとはゲートウェイＢ１を介して接続されている。
ローカルネットＢからインターネットを経由してローカルネットＡへ向かうＩＰパケット（すなわち、送信元ＩＰアドレスおよび宛先ＩＰアドレスがそれぞれ、ローカルネットＢに接続されたホストのＩＰアドレスおよびローカルネットＡに接続されたホストのＩＰアドレスであるＩＰパケット）は、ゲートウェイＡ１に到着するようになっている。逆に、ローカルネットＡからインターネットを経由してローカルネットＢへ向かうＩＰパケット（すなわち、送信元ＩＰアドレスおよび宛先ＩＰアドレスがそれぞれ、ローカルネットＡに接続されたホストが持つＩＰアドレスおよびローカルネットＢに接続されたホストが持つＩＰアドレスであるＩＰパケット）は、ゲートウェイＢ１に到着するようになっている。
本実施形態では、ゲートウェイＡ１およびＢ１は、その到着したＩＰパケットに対して後述のフィルタリング処理等を実行する。これにより、グループ内に閉じた通信を実現することが可能となる。以下に、その詳細について説明する。
（ゲートウェイの概略構成）
次に、ゲートウェイの概略構成について図面を参照しながら説明する。図３は、ゲートウェイの機能ブロック図である。
ゲートウェイＡ１（ゲートウェイＢ１も同様）は、グローバルアドレスを持つＩＰホストで構成されたＩＰネットワークにおいて、任意のホストを選択してグループ化し、グループ内に閉じた通信を実現するために、ローカルネットワーク（例えばローカルネットＡ又はＢ）とグローバルネットワーク（例えばインターネット）との間に設けられるパケット中継装置である。
具体的には、ゲートウェイＡ１は、図３に示すように、パケットフィルタリング部１００、グループメンバーリスト管理部１１０、ＤＮＳ処理部１２０、およびパケット送受信部１３０を備えている。
パケットフィルタリング部１００は、ローカルネットＢからインターネットを経由してローカルネットＡへ向かうＩＰパケット（すなわち、送信元ＩＰアドレスおよび宛先ＩＰアドレスがそれぞれ、ローカルネットＢに接続されたホストのＩＰアドレスおよびローカルネットＡに接続されたホストのＩＰアドレスであるＩＰパケット）を受信する。パケットフィルタリング部１００は、その受信したＩＰパケットが同一グループに関するものか否か（ここでは、その受信したＩＰパケットの送信元ＩＰアドレス（ＳＡ）および宛先ＩＰアドレス（ＤＡ）に対応するグループが同一か否か）を、グループメンバーリスト管理部１１０に問い合わせる。
パケットフィルタリング部１００からの問い合わせを受けると、グループメンバーリスト管理部１１０は、自己が管理するグループメンバーリストを参照して、送信元ＩＰアドレスおよび宛先ＩＰアドレスに対応するグループが同一か否かを判定する。グループメンバーリストには、各ホスト（ホスト１１〜１４およびホスト２１〜２５）とそのホストのＩＰアドレスとそのホストのドメイン名との対応関係が記述されている。なお、説明の都合上、図３に示すグループメンバーリストには、図２に示すホスト数よりも少ない数の対応関係を記述している。
ドメイン名は、そのホスト名（ｍｙｐｃやｔｖ等）とそのホストが属するグループを識別するためのグループ識別情報（ｇｒ１やｇｒ２等）とを”．”で連結して構成したものである。従って、グループメンバーリスト管理部１１０は、グループメンバーリストを参照することにより、送信元ＩＰアドレスおよび宛先ＩＰアドレスに対応するグループ（グループ識別情報）を知ることができる。そして、その判明したグループ（グループ識別情報）を比較することにより、両者が同一か否かを判定できる。この判定結果はパケットフィルタリング部１００に返される。
送信元ＩＰアドレスおよび宛先ＩＰアドレスに対応するグループが同一であるとの判定結果を受けると、パケットフィルタリング部１００は、その受信したＩＰパケットをローカルネットＡ（宛先）にフォワードする。一方、送信元ＩＰアドレスおよび宛先ＩＰアドレスに対応するグループが同一でないとの判定結果を受けると、パケットフィルタリング部１００は、その受信したＩＰパケットをローカルネットＡにフォワードすることなく、例えば、廃棄する。
（グループメンバーリスト）
グループメンバーリストは各種の方法で作成することが可能である。例えば、仮想的なグループｇｒ１，ｇｒ２をネットワーク上に新規に作成し、次にこれに属するホストのＩＰアドレスおよび名前（ここではドメイン名（ＤＮＳ名））を登録し、最終的にグループとそのメンバが記憶されたアドレスリストを得ることが考えられる。図３はこのようにして得たグループメンバーリストを示している。
これらの一連の作業はネットワークの管理者が管理端末をシリアルで接続し、コマンド・ライン・インタフェースを利用して手動でゲートウェイＡ１に設定する。または、管理設定用の遠隔設定プロトコル（ＴｅｌｎｅｔやＨＴＴＰ等）を使って設定してもよい。例えば、ＨＴＴＰを利用する場合、ゲートウェイＡ１においてグループを作成するためのＷｅｂインタフェースを持つグループ、およびそのメンバの登録・管理機能が存在し、あるホストはゲートウェイの登録画面において、ＩＤとパスワードを入力して認証することにより登録用のＷｅｂページに進むことができるなどの、アクセス制限があってもよい。登録用のページではグループ名を入力するとグループを登録でき、また、既存のグループ名に対してホストＩＰアドレスを登録するとグループに属するメンバであるホストを定義できる。これらの登録ステップはユーザインタフェースの設計に依存し、これらは一例であって、グループとそのメンバホストが登録する機能を有すれば他の登録方法でもよい。
以上の結果、ホストのＩＰアドレスとＤＮＳ名、およびホストが属するグループ名が記憶されるグループメンバリストを作成することができる。
（ドメイン名登録）
次にゲートウェイによるＤＮＳとしての動作について図面を参照しながら説明する。図４は、ゲートウェイの動作について説明するためのフローチャートである。
上記と同様に、ＩＰアドレス毎に固有の名前を定義し、先ほどのグループ名とあわせて適当なドメイン名を定義することができる。例えば、ホスト１２が「ｍｙｐｃ」という名前であることを登録し、これが属するグループ名が「ｇ１」であるとすると、ゲートウェイではホスト１２のＩＰアドレス「１３３．１００．５１．３」に対して「ｍｙｐｃ．ｇ１」というＤＮＳ名を割り当てる。
ゲートウェイＡ１は、例えば、グループ内に既に登録済みのホストから「ｍｙｐｃ．ｇ１」というＤＮＳ名に対するＩＰアドレスの解決要求を含むＩＰパケットを受信すると（Ｓ１００）、その受信したＩＰパケットの送信元ＩＰアドレス（ＳＡ）がグループメンバーリストに存在するか否かを、グループメンバーリスト管理部１１０に問い合わせる（Ｓ１０１）。その結果、その送信元ＩＰアドレス（ＳＡ）がグループメンバーリストに存在しない場合には（Ｓ１０１：Ｎｏ）、ゲートウェイＡ１は、通常のＤＮＳ要求として応答を返す（Ｓ１０２）。一方、その送信元ＩＰアドレス（ＳＡ）がグループメンバーリストに存在する場合には（Ｓ１０１：Ｙｅｓ）、ゲートウェイＡ１は、その送信元ＩＰアドレス（ＳＡ）に対応する（属する）グループを”Ａ”として記憶する（Ｓ１０３）。そして、ゲートウェイＡ１は、解決しようとしているホストが先ほど記憶したグループ”Ａ”に存在するか否かを判定する（Ｓ１０４）。その結果、そのホストがグループ”Ａ”に存在しない場合には（Ｓ１０４：Ｎｏ）、ゲートウェイＡ１は、通常のＤＮＳ要求として応答を返す（Ｓ１０２）。一方、そのホストがグループ”Ａ”に存在する場合には（Ｓ１０４：Ｙｅｓ）、ゲートウェイＡ１は、グループメンバリストを参照して、「ｍｙｐｃ．ｇ１」というＤＮＳ名に対応するＩＰアドレス「１３３．１００．５１．３」を得る。ゲートウェイＡ１は、この解決したＩＰアドレス「１３３．１００．５１．３」を”ＩＰ”、ＤＮＳ名「ｍｙｐｃ．ｇ１」を”Ｎａｍｅ”として記憶する（Ｓ１０５）。
次に、ゲートウェイＡ１は、ホストからの要求がＤＮＳ名の解決要求か否かを判定する（Ｓ１０６）。その結果、ホストからの要求がＤＮＳ名の解決要求である場合には（Ｓ１０６：Ｙｅｓ）、ＤＮＳ名を、要求元のホストに応答する（Ｓ１０７）。一方、ホストからの要求がＤＮＳ名の解決要求でない場合には（Ｓ１０６：Ｎｏ）、ＩＰアドレスを、要求元のホストに応答する（Ｓ１０８）。ここでは、ホストからの要求がＩＰアドレスの解決要求であるため（Ｓ１００、Ｓ１０６：Ｎｏ）、ゲートウェイＡ１は、ＤＮＳ名「ｍｙｐｃ．ｇ１」に対応するＩＰアドレス「１３３．１００．５１．３」を、アドレス解決要求元のホストに応答することになる（Ｓ１０８）。なお、Ｓ１００においてホストからＩＰアドレス「１３３．１００．５１．３」に対するＤＮＳ名の解決要求を含むＩＰパケットを受信した場合には、ゲートウェイＡ１は、そのＩＰアドレスに対応するＤＮＳ名「ｍｙｐｃ．ｇ１」を、ＤＮＳ名の解決要求元のホストに応答することになる（Ｓ１０７）。
なお、グループメンバリストに基づくＤＮＳ応答はローカルネットワーク側でのみ有効であるように制限するのが一般的である。例えば、ＤＮＳ要求の送信元ＩＰアドレスが先に作成したメンバリストに存在し、かつ、同一のグループに属するホストに対する要求のみを受け付けるように制限することが考えられる。
以上の結果、ＩＰアドレス毎のＤＮＳ名を記憶したグループメンバリストを定義し、これに対する要求に対して応答することが可能となる。
（アクセス制限）
次に上記構成のゲートウェイによる、グループ内に閉じた通信を実現するための動作について図５を参照しながら説明する。図５は、ゲートウェイの動作について説明するためのフローチャートである。
まず、同一のグループｇｒ１に属するホスト１１とホスト２２との間の通信を例に説明する。なお、ゲートウェイＡ１（ゲートウェイＢ１も同様）のグループメンバーリストには、ホスト１１およびホスト２２等が持つＩＰアドレスとこれらのホストのドメイン名（ホスト名とグループ識別子とから構成される）との対応関係が記述されている。
まず、ホスト２２がホスト１１に対してＩＰパケット（すなわち、送信元ＩＰアドレスおよび宛先ＩＰアドレスがそれぞれ、ホスト２２のＩＰアドレスおよびホスト１１のＩＰアドレスであるＩＰパケット）を送信したとする。そのＩＰパケットは、インターネットを経由してゲートウェイＡ１に到着する。ゲートウェイＡ１は、そのパケットフィルタリング部１００により、その到着したパケットを受信する（Ｓ２００）。パケットフィルタリング部１００は、その受信したＩＰパケットが同一グループに関するものか否か（ここでは、その受信したＩＰパケットの送信元ＩＰアドレス（ＳＡ）および宛先ＩＰアドレス（ＤＡ）に対応するグループが同一か否か）を、グループメンバーリスト管理部１１０に問い合わせる（Ｓ２０１）。
パケットフィルタリング部１００からの問い合わせを受けると、グループメンバーリスト管理部１１０は、自己が管理するグループメンバーリストを参照して、送信元ＩＰアドレスおよび宛先ＩＰアドレスに対応するグループが同一か否かを判定する（Ｓ２０２およびＳ２０３）。グループメンバーリストには、各ホスト（ホスト１１〜１４およびホスト２１〜２５）とそのホストが持つＩＰアドレスとそのホストのドメイン名との対応関係が記述されている（図３参照）。なお、説明の都合上、図３に示すグループメンバーリストには、図２に示すホスト数より少ない数の対応関係を記述している。ドメイン名は、そのホスト名（ｍｙｐｃやｔｖ等）とそのホストが属するグループを識別するためのグループ識別情報（ｇｒ１やｇｒ２等）とを”．”で連結して構成したものである。
従って、グループメンバーリスト管理部１１０は、グループメンバーリストを参照することにより、送信元ＩＰアドレスおよび宛先ＩＰアドレスに対応するグループ（ここではいずれもｇｒ１）を知ることができる（Ｓ２０２：Ｙｅｓ）。そして、その判明したグループ（ここではいずれもｇｒ１）を比較することにより、両者が同一か否かを判定できる（Ｓ２０３：Ｙｅｓ）。この判定結果はパケットフィルタリング部１００に返される。なお、Ｓ２０２またはＳ２０３での判断がＮｏであれば、該当パケットは廃棄される（Ｓ２０５）。
ここでは、パケットフィルタリング部１００は、送信元ＩＰアドレスおよび宛先ＩＰアドレスに対応するグループが同一であるとの判定結果を受けることになる。その判定結果を受けると、パケットフィルタリング部１００は、その受信したＩＰパケットをローカルネットＡ（宛先）にフォワードする（Ｓ２０４）。これは、一般的にフィルタリングと呼ばれる処理と同様の処理である。
次に、異なるグループに属するホスト１１（ｇｒ１に属する）とホスト２１（ｇｒ２に属する）との間の通信を例に説明する。
まず、ホスト２１がホスト１１に対してＩＰパケット（すなわち、送信元ＩＰアドレスおよび宛先ＩＰアドレスがそれぞれ、ホスト２１のＩＰアドレスおよびホスト１１のＩＰアドレスであるＩＰパケット）を送信したとする。そのＩＰパケットは、インターネットを経由してゲートウェイＡ１に到着する。ゲートウェイＡ１は、そのパケットフィルタリング部１００により、その到着したパケットを受信する（Ｓ２００）。パケットフィルタリング部１００は、その受信したＩＰパケットが同一グループに関するものか否か（ここでは、その受信したＩＰパケットの送信元ＩＰアドレス（ＳＡ）および宛先ＩＰアドレス（ＤＡ）に対応するグループが同一か否か）を、グループメンバーリスト管理部１１０に問い合わせる（Ｓ２０１）。
パケットフィルタリング部１００からの問い合わせを受けると、グループメンバーリスト管理部１１０は、自己が管理するグループメンバーリストを参照して、送信元ＩＰアドレスおよび宛先ＩＰアドレスに対応するグループが同一か否かを判定する（Ｓ２０２およびＳ２０３）。グループメンバーリストには、各ホスト（ホスト１１〜１４およびホスト２１〜２５）ごとに、そのホストが持つＩＰアドレスとそのホストのドメイン名との対応関係が記述されている（図３参照）。なお、説明の都合上、図３に示すグループメンバーリストには、図２に示すホスト数より少ない数の対応関係を記述している。ドメイン名は、そのホスト名（ｍｙｐｃやｔｖ等）とそのホストが属するグループを識別するためのグループ識別情報（ｇｒ１やｇｒ２）とを”．”で連結して構成したものである。
従って、グループメンバーリスト管理部１１０は、グループメンバーリストを参照することにより、送信元ＩＰアドレスおよび宛先ＩＰアドレスに対応するグループ（ここではｇｒ１、ｇｒ２）を知ることができる（Ｓ２０２：Ｙｅｓ）。そして、その判明したグループ（ここではｇｒ１、ｇｒ２）を比較することにより、両者が同一か否かを判定できる（Ｓ２０３：Ｙｅｓ）。この判定結果はパケットフィルタリング部１００に返される。
ここでは、パケットフィルタリング部１００は、送信元ＩＰアドレスおよび宛先ＩＰアドレスに対応するグループが同一でないとの判定結果を受けることになる。その判定結果を受けると、パケットフィルタリング部１００は、その受信したＩＰパケットをローカルネットＡにフォワードすることなく、例えば、廃棄する（Ｓ２０５）。
以上説明したように、本実施形態のゲートウェイ装置によれば、グループメンバー外からのアクセスを制限する機能を提供する。即ち、本実施形態のゲートウェイ装置は、グループメンバーリストを参照することにより、送信元ホストから到着したＩＰパケットが、同一グループに関するＩＰパケットであるか否かを判定し、同一グループに関するＩＰパケットであると判定されたＩＰパケットを宛先へフォワードする。一方、同一グループに関するＩＰパケットであると判定されなかったＩＰパケットについてはフォワードされることなく廃棄される。これにより、本実施形態のゲートウェイ装置は、グループ内に閉じた通信を実現することが可能となっている。
なお、グループメンバーリストに記憶されている送信元以外からパケットが到着した場合に関する動作はネットワーク管理者のポリシ次第である。例えば、そのようなパケットについては、廃棄することも可能である。または、そのようなパケットであったとしても、宛先アドレスが特定のＩＰアドレスのパケットについては、廃棄することなくそのままホストへ転送することも可能である。これらの動作に関しては別にグループメンバリストに記載しておいても良い。
上記実施形態においては、ゲートウェイ装置Ａ１は、外部ネットワークからローカルネットワークＡへ向かうＩＰパケットに対して、フィルタリング処理を行うように説明したが、本発明はこれに限定されない。例えば、ゲートウェイ装置Ａ１は、ローカルネットワークＡから外部ネットワークへ向かうＩＰパケットに対しても、フィルタリング処理を行うようにしてもよい。このようにすれば、ゲートウェイ装置Ａ１におけるフィルタリング処理等の負荷が増大するものの、ゲートウェイ装置Ｂ１を導入することなく、ゲートウェイ装置Ａ１のみで、上記グループ内に閉じた通信を実現することが可能となる。
（グループ間通信の具体例）
図４および図５に示したグループ間通信を実現するための一連の処理についてシーケンス図を用いて説明する。図６は、ゲートウェイの動作ついて説明するためのシーケンス図である。
まず、ｍｙｐｃがｖｉｄｅｏと通信したい場合、ゲートウェイＧＷ−Ａに対してＤＮＳ解決要求を送信してｖｉｄｅｏのＩＰアドレス８２．５．２１８．４を得たとする。次に、このＩＰアドレスを利用してｍｙｐｃからｖｉｄｅｏにＩＰパケットを送信して通信が始まる。これに対する応答パケットがｖｉｄｅｏからｍｙｐｃに対して送信された場合、ゲートウェイＧＷ−Ａはこのパケットを受信すると、ｍｙｐｃにフォワードする前に、グループメンバリストをチェックしてｍｙｐｃとｖｉｄｅｏが同一のグループにあることを確認するとパケットをｍｙｐｃにフォワードする。
ここで例えばＰＣ２というグループメンバリストに登録されていないホストからｍｙｐｃに対する通信パケットが送信され、ゲートウェイＧＷ−Ａに到着すると、ゲートウェイＧＷ−Ａはこのパケットの送信元アドレス（ＳＡ）をチェックしてＰＣ２がリストに存在しないことからこのパケットを廃棄する。これにより、グループ外のホストとの通信を遮断してセキュリティを向上させることが可能となる。
（グループに属する全てのホストを応答する具体例）
（グループメンバのＩＰアドレス一覧）
ゲートウェイは登録されたホスト名とそのＩＰアドレスの対応を応答するだけではなく、グループ名とそのメンバ全てを応答することが出来る。これは、例えばｇ１というグループ名に対するアドレス解決要求を受けた場合は、ゲートウェイはｇ１というグループ名を持つホストアドレスの全てをＤＮＳ応答メッセージの中に入れて応答することで実現できる。このような応答メッセージは既存のＤＮＳの仕様で認められているものなので、特にＤＮＳの機能を拡張しなくても１つの名前に対して複数のＩＰアドレス応答を受信することが可能である。
この機能を応用することで例えばホストは自分の属するｇ１というグループに属する全てのメンバの一覧を入手することが可能なため、例えば、既存のメーリングリストの機能と同等の機能として、すべてのメンバにメッセージやファイルを送信するなどの機能が実現できることになる。
（第二の実施形態）
次に、本発明の第二の実施形態であるゲートウェイ（ＧＷまたはゲートウェイ装置ともいう）を包含するネットワークシステムについて図面を参照しながら説明する。
上記第一の実施形態では、各ホストのＩＰアドレスはグローバルアドレスである必要があることから、現実にはプライベートＩＰアドレスが多用されている環境では利用できない。加えて、あるホストがグループメンバであるか否かはＤＮＳを利用してグループ名を確認する以外に手段がない。
例えば、あるホストがファイルの読み取り権限を与えるグループと読み書き全制御を許すグループの２つのグループに属するとき、未知のホストからアクセスがあった場合、ＤＮＳを利用してグループを認識しなければ未知のホストがどの権限を持つのか分からない。このような問題を解決するために、ゲートウェイ装置において、新たに以下の機能を追加する。
１．グループ毎に異なる任意の仮想プライベートネットワークアドレスを割り当て、２．各グループメンバには割り当てたネットワークアドレスに属する仮想ＩＰアドレスを割り当て、上記の仮想ＩＰアドレスと実ＩＰアドレスを通信時に相互変換するＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ）機能。
（ネットワークシステムの概要）
図７は、本実施形態のネットワークシステムの概略構成を説明するための図である。
図７に示すように、本実施形態のネットワークシステムは、自宅に敷設されたローカルネットワーク（以下自宅ネットという）、実家に敷設されたローカルネットワーク（以下実家ネットという）、およびインターネットからなる。自宅ネットおよび実家ネットには、グループ化の対象とされるホストが接続されている。例えば、自宅ネットにはｍｙｐｃ等が、実家ネットにはｖｉｄｅｏ等が接続されている。本実施形態では、自宅ネットに接続されているホストと実家ネットに接続されているホストの中から４つのホスト（ｍｙｐｃ、ｖｉｄｅｏ等）を取り出して、これらを一つのグループとして考える。なお、グループ化の対象とされるホストの数は適宜の数とすることができる。
各ホストは、ＩＰパケットによる通信を行う機能を有する。このＩＰパケットによる通信のために、各ホストはローカルＩＰアドレスを持つ。ここでは、ＩＰｖ４によるＩＰアドレスとする。自宅ネットとインターネットとはゲートウェイＧＷ−Ａを介して接続されている。また、実家ネットとインターネットとはゲートウェイＧＷ−Ｂを介して接続されている。
しかしながら、本実施形態では、第一の実施形態とは異なり、各ホストはローカルＩＰアドレスを持つことから、自宅ネットと実家ネットのアドレス空間は重なっている（図７参照）。例えば、自宅ネットに接続されたｍｙｐｃというホストと、実家ネットに接続されたｖｉｄｅｏというホストとは、同一のローカルＩＰアドレス１９２．１６８．０．５を持つことから、アドレス空間は重なっている。このような環境では、自宅ネットと実家ネットとの間で通信することはできない。加えて、あるホストがグループメンバであるか否かはＤＮＳを利用してグループ名を確認する以外に手段がない。例えば、あるホストがファイルの読み取り権限を与えるグループと読み書き全制御を許すグループの２つのグループに属するとき、未知のホストからアクセスがあった場合、ＤＮＳを利用してグループを認識しなければ未知のホストがどの権限を持つのか分からない。
本実施形態では、ゲートウェイＧＷ−ＡおよびＧＷ−ＢはＮＡＴ変換機能を持つ。これにより、ローカル以外のネットワークに存在するホストを異なる別のアドレスを持つホストとしてローカルホストに見せかけることが可能となる。
例えば、図７に示すように、自宅にあるｍｙｐｃというホストが１９２．１６８．０．５という実アドレスを持ち、同じく実家にあるｖｉｄｅｏというホストが１９２．１６８．０．５という実アドレスを持ち、ｍｙｐｃとｖｉｄｅｏとがゲートウェイＧＷ−ＡおよびＧＷ−Ｂを介して通信する場合を考える。
自宅のｍｙｐｃからはｖｉｄｅｏというホストは仮想的に１０．１０．１０．１０２という仮想ＩＰアドレスを持つホストとしてゲートウェイＧＷ−Ａに、同様に実家のｖｉｄｅｏからはｍｙｐｃというホストは仮想的に１０．２０．２０．１０という仮想ＩＰアドレスを持つホストとしてゲートウェイＧＷ−Ｂに、それぞれ登録しておく。
最初に、ｍｙｐｃがｖｉｄｅｏというＤＮＳ名を持つホストのＩＰアドレスをゲートウェイＧＷ−Ａに問い合わせると、ゲートウェイＧＷ−Ａは仮想ＩＰアドレスである１０．１０．１０．１０２（＝Ｖ−ＶＣＲ）というアドレスで応答する。ｍｙｐｃはその仮想ＩＰアドレスＶ−ＶＣＲ宛にＩＰパケットを送信する。ここで、このパケットは必ずゲートウェイＧＷ−Ａを通過する。このため、ゲートウェイＧＷ−Ａにおいて、この宛先アドレスＶ−ＶＣＲは仮想ＩＰアドレスであること、実際にはゲートウェイＧＷ−Ｂ配下のホストｖｉｄｅｏ宛であること、およびｍｙｐｃはゲートウェイＧＷ−Ｂ配下のホストでは１０．２０．２０．１０（＝Ｖ−ＰＣ）というアドレスを持つこと、がわかる。
そこで、ゲートウェイＧＷ−Ａでは、送信元アドレスＲ−ＰＣ（１９２．１６８．０．５）をゲートウェイＧＷ−Ｂにおける仮想ＩＰアドレスであるＶ−ＰＣ（１０．２０．２０．１０）に変換し、このパケットをゲートウェイＧＷ−Ｂ宛に、ＩＰトンネルを利用して送信する。
ゲートウェイＧＷ−Ｂでは、このパケットを受信すると、ゲートウェイＧＷ−Ａから受け取ったパケットには仮想ＩＰアドレスが使われていることが分かる。このため、ゲートウェイＧＷ−Ｂは、宛先アドレスＶ−ＶＣＲを実アドレスである１９２．１６８．０．５に変換し、このパケットをｖｉｄｅｏに対して送信する。
以上のステップと逆の変換をｖｉｄｅｏからｍｙｐｃに対しても行うことにより、仮想ＩＰアドレスを用いて任意のホスト間で通信することが可能になる。
なお、これらに必要なアドレス変換機能は基本的には既存のＮＡＰＴの機能を利用することが可能である。また、ゲートウェイ間のＩＰトンネル通信も既存のＰＰＰｏｖｅｒＳＳＨやＩＰ  Ｓｅｃなどの様々な手法を利用することが可能である。ＩＰトンネル通信としてＳＨやＩＰ  Ｓｅｃを利用すれようにすれば、仮想サブネットに関してゲートウェイＧＷ−ＡとＧＷ−Ｂとの間の通信が暗号化されることから、通信内容がグローバルＩＰコアネット区間で盗聴されることを防止できる。
また、ホストとゲートウェイとの間の接続に関しても、イーサネットにおけるブロードキャストドメインを構成せず、Ｐｏｉｎｔ−ｔｏ−Ｐｏｉｎｔで接続するＬ２ネットワークを利用することから、グループメンバ以外からの接続を遮断することが可能になる。
（動作要件）
以上の動作を実現するための要件は以下の通りである。
１．パケット送信時、ゲートウェイＧＷ−ＡまたはＧＷ−Ｂで、トンネル（対向ＧＷ）を選択するルーティングを行う。ルーティングは宛先仮想ＩＰアドレスを用いて、対向ＧＷ（トンネル）を決定する。
２．ローカルホストは所属するグループ毎、加えて、対向ＧＷ毎にも異なる仮想ＩＰアドレスを持つ。この仮想ＩＰアドレスはこれを利用する対向ＧＷと共有される。
３．ローカルホストの持つ仮想ＩＰアドレスと実ＩＰアドレスの変換はローカルゲートウェイＧＷで管理する。宛先網におけるゲートウェイＧＷでは、送信元ホストの仮想ＩＰさえ知っていれば良く、実ＩＰアドレスは知る必要がないためである。
４．よって、ローカルゲートウェイＧＷでは、ローカルホストにおける仮想ＩＰアドレスと実アドレスの変換をする。この要件から、グローバルリストと呼ぶグループメンバ全ての仮想ＩＰアドレスとそのＤＮＳ名を管理するリスト、およびローカルリストと呼ぶローカルに接続されている各ホストに関してグループを構成する対向ＧＷにおける仮想ＩＰアドレスと対応ＧＷ番号を含んだリストの２つのリストをＧＷでは管理・維持する必要がある。
例えば、図８では、ゲートウェイＧＷ−Ｂにおけるグローバルリストは、ｖｉｄｅｏというローカルホスト（アドレス１９２．１６８．０．５）が属する２つのグループｇ１、ｇ２における、メンバホストｍｙｐｃ、ｃａｍ、ｖｉｄｅｏ、ｎｏｔｅに対する仮想ＩＰアドレスを示している。
このグローバルリストはｖｉｄｅｏ以外のゲートウェイＧＷ−Ｂに接続されているホストに関しても同じリストを利用してもよい。この場合、エントリはどのローカルホストと同じグループメンバかを判定する手段が必要になる。例えば、ローカルリストに所属グループ（所属Ｇという列）に関する識別子を記憶させておけば、グローバルリストにはＤＮＳ名にホストが属するグループが記述されているので、グループ関係を認識することが可能である。結果としてグローバルリストに記憶されているホストについて、どのローカルホストと同じグループかを判別することができる。
なお、これ以外にもグローバルリストをローカルホスト毎に用意するなどの手段でも同じことができる。同様に、ローカルリストにはｖｉｄｅｏに関する仮想ＩＰアドレスを記憶しており、この場合は、対向ＧＷ毎に異なるＩＰアドレスを仮想ＩＰアドレスとして利用されている。このローカルリストは、ｖｉｄｅｏ以外のホストの仮想ＩＰアドレスを管理してもよく、単にリストにホストに関するエントリを追加するだけでよい。
（ゲートウェイの概略構成）
次に、ゲートウェイの概略構成について図面を参照しながら説明する。図８は、ゲートウェイの機能ブロック図である。
図８に示すように、ゲートウェイＧＷ−Ｂ（ゲートウェイＧＷ−Ａも同様）は、パケット送受信部２００、グループメンバーリスト管理部２１０、ＤＮＳ処理部２２０、トンネル処理部２３０、トンネル設定管理部２４０、およびＮＡＴ処理部２５０を備えている。
グローバルＩＰネットワークとプライベート（ローカル）ネットワークがこのゲートウェイ装置ＧＷ−Ｂで分離されている。グループ間で通信されるパケットは任意のＩＰアドレスを含むことから、このままでは、ＩＰパケットをグローバルＩＰネットワークに送信することができない。ここでは、ＩＰパケットは、ゲートウェイＧＷ−ＡとＧＷ−Ｂとの間に設定されたＩＰトンネル（これは一例であり、何らかのトンネルであればよい）経由で送受信される。この場合、ＩＰトンネルを構成するＩＰパケットの送信元・宛先アドレスともに、必ずゲートウェイＧＷのアドレスとなる。
そこで、ゲートウェイＧＷ−Ｂは、ＩＰパケットを受信すると自己宛以外のパケットを、そのパケット送受信部２００により廃棄する。次に、ゲートウェイＧＷは、その受信したパケットが、自己宛のＩＰトンネルパケットかそれとも自己宛の制御パケットかを、宛先ポート番号から判断する。その結果、そのポート番号がＩＰトンネル用のＩＰポート番号（もしくはプロトコル番号）と判断された場合には、この受信したＩＰパケットをトンネル処理部２３０により処理する。
トンネル処理部２３０は、この受信したＩＰパケット群により構成されるトンネルを終端する。そして、トンネル処理部２３０は、そのＩＰパケット群が暗号化されている場合には、その暗号化を解除し、その後、トンネルによって運ばれている内側のＩＰパケットを抽出する。この処理は一例である。概念はＩＰ−ＩＰトンネルなどと呼ばれ広く知られている手法である。従って、上記ＩＰトンネルに代えて、ＰＰＰ、ＩＰ  Ｓｅｃなど様々なトンネル処理技術を利用することが可能である。
この後、ＩＰトンネルより抽出されたＩＰパケットはＮＡＴ処理部２５０によりパケットの送信先が書き換えられる。これは、上記の要件で述べたように、宛先アドレスと仮想ＩＰアドレスの対応は宛先ホストを収容しているローカルゲートウェイＧＷで処理するのが基本であること、それゆえローカルゲートウェイＧＷにおけるＮＡＴ処理部２５０がこの処理を担当できる唯一の機能であるからである。
ＮＡＴ処理部２５０は、受信したＩＰパケットの対向ＧＷ（＝トンネル）および受信パケットの宛先アドレスから、仮想ＩＰアドレスを取得する。ＮＡＴ処理部２５０は、この２つの値をキーにグループメンバリスト管理部２１０に記憶されている「ローカルリスト」を参照して、宛先実ＩＰアドレスを求める。そして、ＮＡＴ処理部２５０は、仮想ＩＰアドレスを実アドレスに書き換えたＩＰパケットを最終的にローカルネットワーク側に送信する。
この例では、上記の要件を元に、ＮＡＴ処理部２５０が受信したＩＰパケットは、宛先ＩＰアドレスを実アドレスに変換するように説明したが、この手段以外の手段も考えられる。ゲートウェイは通信系路上に送信側と受信側の２対存在するため、仮想ＩＰアドレスを持つパケットの宛先・送信元アドレスを実アドレスに変換する処理はそのどちらかのゲートウェイのＮＡＴ処理部２５０で実現できればよい。従って、例えば、送信側のゲートウェイで宛先アドレスに関してＮＡＴ処理により実ＩＰアドレスに変換するようにすれば、受信側のゲートウェイではＮＡＴ処理は不要になる。ただし、この場合、送信側のゲートウェイにおいて宛先ホストの実ＩＰアドレスを知る必要があることから、処理負荷が高くなる。なお、パケット送信時における、アドレス変換に関する処理もほぼ同様の機能ブロックを利用する。
なお、パケット送受信部２００およびＤＮＳ処理部２２０は、第一実施形態で説明したパケット送受信部１３０およびＤＮＳ処理部１２０と同様に機能する。
（パケット受信時の具体的な動作）
ゲートウェイＧＷ−Ａに属する１０．２０．２０．１０という仮想ＩＰアドレスを持つｍｙｐｃが、ｖｉｄｅｏ、すなわち仮想ＩＰアドレス１０．２０．１０．１０２宛にパケットを送信し、これをゲートウェイＧＷ−Ｂで受信したとする。
ゲートウェイＧＷ−Ｂは、受信パケットの送信元アドレスをキーにグローバルリストを検索する（もしくはパケットの受信インタフェースを認識する）ことにより、トンネル１、すなわち対向ＧＷ番号１で受信したことをを知る。加えて、宛先アドレスは１０．２０．１０．１０２であることが分かる。ゲートウェイＧＷ−Ｂは、この２つをキーに「ローカルリスト」を検索することにより、宛先の実ＩＰアドレスが１９２．１６８．０．５であることを知る。これを元に、宛先アドレスをＮＡＴ変換部により変換して、最終的に受信パケットをローカルネットワークに送信することで、ゲートウェイＧＷ−Ｂの処理が完了する。
（パケット送信時の具体的な動作）
このゲートウェイＧＷ−Ｂを利用して、「ｇ１」グループに属するｖｉｄｅｏというホストが、対向する異なるゲートウェイＧＷ−Ａ配下のホスト「ｍｙｐｃ」に対して仮想ＩＰネットワークにより通信する場合を考える。
はじめに、通常のＩＰ通信と同様、ＤＮＳを利用してＤＮＳ名からＩＰアドレスを求める。ここでは、ローカルホストはゲートウェイＧＷ−ＢをＤＮＳサーバとして登録しており、かつ、ゲートウェイＧＷ−Ｂがアドレス解決手段（ＤＮＳサーバ）を実装しているものとする。
ゲートウェイＧＷ−Ｂは、ゲートウェイ宛のＤＮＳ要求を自己宛のパケットとしてパケット送受信部により受信する。パケット送受信部は、この受信パケットを、ＤＮＳ処理部に転送する。ＤＮＳ処理部は、グループメンバリストのうちグローバルリストを参照して、例えば、「ｇ１」グループの「ｍｙｐｃ」というホストと通信したいとすると、ＩＰアドレスとして１０．２０．２０．１を得る。ホスト「ｖｉｄｅｏ」は、ＤＮＳの応答としてこのアドレスを得る。そして、実際のデータ通信がｖｉｄｅｏとｍｙｐｃとの間で始まる。具体的には、ｖｉｄｅｏが通信パケットをｍｙｐｃ宛に送信する。
ゲートウェイＧＷ−Ｂはローカル側からこのＩＰパケットを受信すると、グループメンバリスト管理部２１０に記憶されている「グローバルリスト」を参照して、宛先の仮想ＩＰアドレスをキーにそのパケットを送信するときに利用するトンネル番号を取得する。ここでは、１９２．１６８．０．５というＩＰアドレスを持つ送信元ホストｖｉｄｅｏが宛先ＩＰアドレス１０．２０．２０．１０のホストｍｙｐｃに対してパケットを送信したので、宛先ＩＰアドレス（＝仮想ＩＰアドレス）からトンネル番号は１であることが分かる。このトンネル番号はローカルネットワークのあるホストが仮想ネットワーク毎に異なる仮想ＩＰアドレスを割り当てられている場合に、どの仮想ＩＰアドレスが使われるかを決定するために利用する。ここではトンネル番号を用いたが、本質的には仮想ＩＰアドレスに相当する宛先ホストが属するゲートウェイＧＷを見つけることができ、かつゲートウェイＧＷがパケットを受信したときに、送信元の仮想ＩＰアドレスと実ＩＰアドレスの対応が認識できるのであれば、どのような番号を用いてもよい。例えば、ゲートウェイＧＷのグローバルアドレスやローカルで管理する任意のＩＤでもよい。
ここで求めた「トンネル番号」および送信元の「実ＩＰアドレス」をキーにローカルリストを参照し、「仮想ＩＰアドレス」を取得し、パケットの送信元アドレスをこの仮想ＩＰアドレスに変換して、この変換後のパケットをトンネル番号と一致するトンネルで送信するようにトンネル処理部２３０に通知する。
この例では、トンネル処理部２３０ではトンネル番号に基づき、予め設定してあるＩＰ−ＩＰトンネルを利用する。なお、本手法ではゲートウェイＧＷ間のトンネル手段は任意の既存技術を利用可能であり、ＩＰ−ＩＰトンネル以外にもＭＰＬＳやＥｔｈｅｒフレームを利用したＬ２レベルでのトンネル手段を利用してもよい。この場合もトンネルの識別子としてトンネル番号を利用できる。
以上の手段により、ｖｉｄｅｏからｍｙｐｃに対して仮想ＩＰアドレスを利用したＩＰ通信が可能になり、この手段により仮想ＩＰアドレスを用いたグループ化が実現される。
（ゲートウェイにおける各種情報の登録機能）
ゲートウェイＧＷ−Ｂにおいては、グローバルリスト、ローカルリストを作成する必要がある。これは、例えばコマンドラインインタフェースとｔｅｌｎｅｔ、もしくはＷｅｂインタフェースとＨＴＴＰなどを使って、遠隔ホストからグループメンバリスト管理部２１０に対して設定、作成することが可能である。
ＩＰ−ＩＰトンネル、または同様の機能を提供するＬ２レベルのトンネルもトンネル設定管理部に対して、同じくｔｅｌｎｅｔやＨＴＴＰを利用して遠隔から設定することが可能である。
次に、ゲートウェイＧＷ−ＡとゲートウェイＢとの間の通信について、図面を参照しながら、より詳細に説明する。
以下、図７に示すように、自宅ネットに接続されたホストｍｙｐｃ（実ＩＰアドレス１９２．１６８．０．５（＝Ｒ−ＰＣ）および仮想ＩＰアドレス１０．２０．２０．１０）と実家ネットに接続されたホストｖｉｄｅｏ（実ＩＰアドレス１９２．１６８．０．５（＝Ｒ−ＶＣＲ）および仮想ＩＰアドレス１０．１０．１０．１０２）がゲートウェイＧＷ−ＡおよびＧＷ−Ｂを介して通信する場合を例に説明する。
なお、ゲートウェイＧＷ−Ｂが保持するグローバルリストには、ｍｙｐｃ（ドメイン名：ｍｙｐｃ．ｇ１）とその仮想ＩＰアドレス１０．２０．２０．１０（＝Ｖ−ＰＣ）との対応関係が記述されている（図８参照）。同様に、ゲートウェイＧＷ−Ａが保持するグローバルリストには、ｖｉｄｅｏ（ドメイン名：省略）とその仮想ＩＰアドレス１０．１０．１０．１０２（Ｖ−ＶＣＲ）との対応関係が記述されている。各ゲートウェイがこのようなグローバルリストを保持している結果、例えば、自宅ネットに接続されているホストｍｙｐｃからは、実家ネットに接続されているホストｖｉｄｅｏは仮想的にＶ−ＶＣＲというアドレスを持つホストとして見える。同様に、実家ネットに接続されているホストｖｉｄｅｏからは、自宅ネットに接続されているホストｍｙｐｃは仮想的にＶ−ＰＣというアドレスを持つホストとして見える。
（ゲートウェイＧＷ−Ａによるアドレス解決）
図７に示すように、ホストｍｙｐｃは、ＤＮＳ名「ｖｉｄｅｏ」を持つホストのＩＰアドレスをゲートウェイＧＷ−Ａに問い合わせる（Ｓ３００）。ゲートウェイＧＷ−Ａは、その要求をＤＮＳ処理部２２０により受信する。ＤＮＳ処理部２２０は、ドメイン名「ｖｉｄｅｏ」に対応するＩＰアドレスを、グループメンバーリスト管理部２１０に問い合わせる。
グループメンバリスト管理部２１０が管理するグローバルリストには、各ホストのドメイン名と仮想ＩＰアドレスと対向ＧＷ（トンネル番号）との対応関係が記述されている。ドメイン名は、ホスト名（ｍｙｐｃやｖｉｄｅｏ等）とそのホストが属するグループを識別するためのグループ識別情報（ｇ１やｇ２）とを”．”で連結して構成したものである。
従って、グループメンバーリスト管理部２１０は、グループメンバーリストを参照することにより、ＤＮＳ処理部２２０から問い合わせのあったドメイン名「ｖｉｄｅｏ」に対応する仮想ＩＰアドレスＶ−ＶＣＲを知ることができる。この判明した仮想ＩＰアドレスＶ−ＶＣＲは解決要求元のホストｍｙｐｃに返される（Ｓ３０１）。ホストｍｙｐｃは、ゲートウェイＧＷ−Ａからの仮想ＩＰアドレスＶ−ＶＣＲを受信する。
（ホストｍｙｐｃによる送信処理）
ホストｍｙｐｃは、ホストｖｉｄｅｏ向けのＩＰパケットとして、送信元ＩＰアドレスおよび宛先ＩＰアドレスがそれぞれ、ホストｍｙｐｃの実ＩＰアドレス１９２．１６８．０．５（＝Ｒ−ＰＣ）および先ほど解決した仮想ＩＰアドレスＶ−ＶＣＲであるＩＰパケットを作成して送信する（Ｓ３０２）。
（ゲートウェイＧＷ−Ａによるアドレス変換処理および転送処理）
ホストＭＹＰＣからのＩＰパケットは必ずゲートウェイＧＷ−Ａを通過する。ゲートウェイＧＷ−Ａは、このＩＰパケットをそのＮＡＴ処理部により受信する。ＮＡＴ処理部は、その受信したＩＰパケットの宛先ＩＰアドレス（先ほど解決したホストｖｉｄｅｏの仮想ＩＰアドレスＶ−ＶＣＲ）に対応するトンネル番号を、グループメンバリスト管理部２１０に問い合わせる。グループメンバリスト管理部２１０が管理しているグローバルリストには、各ホストのドメイン名と仮想ＩＰアドレスと対向ＧＷ（トンネル番号）との対応関係が記述されている。
従って、グループメンバーリスト管理部２１０は、グローバルリストを参照することにより、宛先ＩＰアドレス（先ほど解決したホストｖｉｄｅｏの仮想ＩＰアドレスＶ−ＶＣＲ）に対応する対向ＧＷ（トンネル番号）を知ることができる。
また、グループメンバリスト管理部２１０が管理しているローカルリストには、ホストｖｉｄｅｏの実ＩＰアドレスＲ−ＶＣＲと対向ＧＷと仮想ＩＰアドレスＶ−ＶＣＲとの対応関係が記述されている。
従って、グループメンバリスト管理部２１０は、ローカルリストを参照することにより、先ほど判明した対向ＧＷ（トンネル番号）とその受信したＩＰパケットの送信元ＩＰアドレス（ｍｙｐｃの実ＩＰアドレスＲ−ＰＣ）に対応する仮想ＩＰアドレスＶ−ＰＣを知ることができる。この判明した仮想ＩＰアドレスＶ−ＰＣはＮＡＴ処理部２５０に返される。
この仮想ＩＰアドレスＶ−ＰＣを受けると、ＮＡＴ処理部２５０は、その受信したＩＰパケットの送信元ＩＰアドレス（ＭｙＰｃの実ＩＰアドレスＲ−ＰＣ）を、その判明した仮想ＩＰアドレスＶ−ＰＣに変換する（Ｓ３０３）。
そして、ＮＡＴ処理部２５０は、その変換後のＩＰパケットを、先ほど判明した対向ＧＷ（トンネル番号）と一致するトンネルで送信するように、トンネル処理部２３０に通知する。トンネル処理部２３０は、ＮＡＴ処理部２５０からの通知を受けると、そのトンネルを介してその変換後のＩＰパケットを送信する（Ｓ３０４）。
以上のようにして、ホストｍｙｐｃはホストｖｉｄｅｏ向けのＩＰパケットを送信し、ゲートウェイＧＷ−Ａは、そのホストｖｉｄｅｏ向けのＩＰパケットについてアドレス変換し、その変換後のＩＰパケットを中継する。
（ゲートウェイＧＷ−Ｂによるアドレス変換処理および転送処理）
次に、ゲートウェイＧＷ−Ｂによるアドレス変換処理について図面を参照しながら詳細に説明する。図９は、ゲートウェイＧＷ−Ｂによるアドレス変換処理および転送処理について説明するためのフローチャートである。
ゲートウェイＧＷ−Ｂは、Ｓ３０４でゲートウェイＧＷ−Ａから中継されたホストｖｉｄｅｏ向けのＩＰパケットをパケット送受信部２００により受信する（Ｓ３０５０）。このとき、そのパケットを受信したトンネル番号が”Ｂ”として記憶される（ＳＳ３０５１）。パケット送受信部は、その受信したＩＰパケットの宛先アドレスＶ−ＶＣＲに対応する対向ＧＷを、グループメンバーリスト管理部２１０に問い合わせる。グローバルリストには、仮想ＩＰアドレスと対向ＧＷとの対応関係が記述されている。従って、グループメンバーリスト管理部２１０は、グローバルリストを参照することにより、その受信したＩＰパケットの宛先アドレスＶ−ＶＣＲに対応する対向ＧＷを知ることができる。
また、ローカルリストには、ホストの実ＩＰアドレスと対向ＧＷと仮想ＩＰアドレスとの対応関係が記述されている。
従って、グループメンバーリスト管理部２１０は、ローカルリストを参照することにより、先ほど判明した対向ＧＷ（トンネル番号”Ｂ”）とその受信したＩＰパケットの宛先ＩＰアドレス（仮想ＩＰアドレスＶ−ＶＣＲ）に対応する実ＩＰアドレスＲ−ＶＣＲを知ることができる。これは該当するエントリがローカルリストに存在したことを意味する（Ｓ３０５３：Ｙｅｓ）。この判明した実ＩＰアドレスＲ−ＶＣＲはＮＡＴ処理部に送られる。なお、該当するエントリがローカルリストに存在しない場合には（Ｓ３０５３：Ｎｏ）、そのＩＰパケットは廃棄される（Ｓ３０５６）。
ＮＡＴ処理部２５０は、その受信したＩＰパケットの宛先ＩＰアドレス（仮想ＩＰアドレスＶ−ＶＣＲ）を、その判明した実ＩＰアドレスＲ−ＶＣＲに変換（置換）する（Ｓ３０５４）。そして、ＮＡＴ処理部は、その変換後のＩＰパケットを実家ネットに送信する（Ｓ３０５５）。
以上のようにして、ゲートウェイＧＷ−Ｂは、ホストｖｉｄｅｏ向けのＩＰパケットを中継する。
（ホストｖｉｄｅｏによる送信処理）
図７に示すように、ホストｖｉｄｅｏは、ホストｍｙｐｃ向けのＩＰパケット（応答パケット）として、送信元ＩＰアドレスおよび宛先ＩＰアドレスがそれぞれ、ホストｖｉｄｅｏの実ＩＰアドレスＲ−ＶＣＲおよび仮想ＩＰアドレスＶ−ＰＣ（受信ＩＰパケットの送信元ＩＰアドレス）であるＩＰパケットを作成して送信する（Ｓ３０６）。
（ゲートウェイＧＷ−Ｂによるアドレス変換処理および転送処理）
次に、ゲートウェイＧＷ−Ｂによるアドレス変換処理（Ｓ３０７）について図７を参照しながら詳細に説明する。
ホストｖｉｄｅｏからのＩＰパケットは必ずゲートウェイＧＷ−Ｂを通過する。ゲートウェイＧＷ−Ｂは、このＩＰパケットを受信する（Ｓ３０７０）。ゲートウェイＧＷ−Ｂは、その受信したＩＰパケットの宛先ＩＰアドレス（ＤＡ）がグローバルリストに存在するか否かを判定する（Ｓ３０７１）。その宛先ＩＰアドレス（ＤＡ）がグローバルリストに存在しなければ（Ｓ３０７１：Ｎｏ）、そのＩＰパケットは廃棄される（Ｓ３０７２）。
一方、その宛先ＩＰアドレス（ＤＡ）がグローバルリストに存在するのであれば（Ｓ３０７１：Ｙｅｓ）、その受信したＩＰパケットの宛先ＩＰアドレス（ホストｍｙｐｃの仮想ＩＰアドレスＶ−ＰＣ）に対応する対向ＧＷ（トンネル番号）がグローバルリストから読み出されて、これが”Ａ”として記憶される（Ｓ３０７２）。
次に、ローカルリストから、先ほど記憶された”Ａ”とＳ１０８０で受信したＩＰパケットの送信元ＩＰアドレス（ｖｉｄｅｏの実ＩＰアドレスＲ−ＶＣＲ）に対応するエントリが検索される（Ｓ３０７３）。その結果、該当するエントリがローカルリストに存在しなければ（Ｓ３０７４：Ｎｏ）、そのＩＰパケットは廃棄される（Ｓ３０７２）。
一方、該当するエントリがローカルリストに存在するのであれば（Ｓ３０７４：Ｙｅｓ）、Ｓ３０７０で受信したＩＰパケットの送信元ＩＰアドレス（ｖｉｄｅｏの実ＩＰアドレスＲ−ＶＣＲ）を、そのエントリ中の仮想ＩＰアドレス（すなわち、先ほど記憶された”Ａ”とＳ３０７０で受信したＩＰパケットの送信元ＩＰアドレス（ｖｉｄｅｏの実ＩＰアドレスＲ−ＶＣＲ）に対応する仮想ＩＰアドレスＶ−ＶＣＲ）に変換（置換）する（Ｓ３０７５）。この変換後のＩＰパケットはトンネル”Ａ”を介して送信される（Ｓ３０７６）。
以上のようにして、ホストｖｉｄｅｏはホストｍｙｐｃ向けのＩＰパケットを送信し、ゲートウェイＧＷ−Ｂは、そのホストｍｙｐｃ向けのＩＰパケットについてアドレス変換し、その変換後のＩＰパケットを中継する。
（ゲートウェイＧＷ−Ａによるアドレス変換処理および転送処理）
次に、ゲートウェイＧＷ−Ａの受信処理について説明する。
ゲートウェイＧＷ−Ａは、Ｓ３０７６でゲートウェイＧＷ−Ｂから中継されたホストｍｙｐｃ向けのＩＰパケットをパケット送受信部２００により受信する。パケット送受信部２００は、その受信したＩＰパケットの送信元アドレスＶ−ＶＣＲに対応する対向ＧＷを、グループメンバーリスト管理部２１０に問い合わせる。グローバルリストには、仮想ＩＰアドレスと対向ＧＷとの対応関係が記述されている。従って、グループメンバーリスト管理部２１０は、グローバルリストを参照することにより、その受信したＩＰパケットの送信元アドレスＶ−ＶＣＲに対応する対向ＧＷを知ることができる。
次に、グループメンバーリスト管理部２１０は、ローカルリストを参照する。ローカルリストには、ホストの実ＩＰアドレスと対向ＧＷと仮想ＩＰアドレスとの対応関係が記述されている。従って、グループメンバーリスト管理部２１０は、ローカルリストを参照することにより、先ほど判明した対向ＧＷ（トンネル番号）とその受信したＩＰパケットの宛先ＩＰアドレス（仮想ＩＰアドレスＶ−ＰＣ）に対応する実ＩＰアドレスＲ−ＰＣを知ることができる。この判明した実ＩＰアドレスＲ−ＰＣはＮＡＴ処理部２５０に送られる。
ＮＡＴ処理部２５０は、その受信したＩＰパケットの宛先ＩＰアドレス（仮想ＩＰアドレスＶ−ＰＣ）を、その判明した実ＩＰアドレスＲ−ＰＣに変換する（Ｓ３０８）。そして、ＮＡＴ処理部２５０は、その変換後のＩＰパケットを自宅ネットに送信する（Ｓ３０９）。
以上のようにして、ゲートウェイＧＷ−Ａは、ホストＰＣ向けのＩＰパケットを中継する。
（第三の実施形態）
次に、本発明の第三の実施形態であるゲートウェイ（ＧＷまたはゲートウェイ装置ともいう）を包含するネットワークシステムについて図面を参照しながら説明する。
上記第二の実施形態ではゲートウェイ間でトンネル接続やグローバル・ローカルリストを作成するのはネットワーク管理者が手動で設定する必要があった。本実施形態では、これを自動化するための手段について図面を参照しながら説明する。ここでは、そのような手段として、ゲートウェイ間でこれらの設定情報を送受信するプロトコルを用いる例について説明する。図１１は、このプロトコルによる処理のシーケンス図である。
以下、ゲートウェイＧＷ−Ｂが主導で、ゲートウェイＧＷ−Ｂに属するホストｖｉｄｅｏとゲートウェイＧＷ−Ｃに属するＰＤＡという名前のホストとを含むグループｇ３を作成するためのプロトコルを考える。
１．（ゲートウェイ間の認証）
既存の認証方法（例えばＩＤとパスワードなどを利用する認証方法）を利用して、ゲートウェイ間でお互いが信頼できるＧＷかどうかを最初に認証する（Ｓ４００）。ゲートウェイ間で認証することは一般には望ましい処理であるが、必要が無い場合には、このステップを省略することも可能である（オプション）。
２．次に、ゲートウェイＧＷ−Ｂは、ゲートウェイＧＷ−Ｃに属するホストを知らないとすると、これを知るために、ゲートウェイＧＷ−Ｃに対してホストの一覧を要求する（もしくは何らかのキーワードでこれを検索する）（Ｓ４０１）。このステップも、仮にゲートウェイＧＷ−Ｂがそのホストの名前を知っている場合には、省略可能である（オプション）。ゲートウェイＧＷ−Ｂからの一覧要求を受けると、ゲートウェイＧＷ−Ｃは、自己の配下にあるホストの一覧（ＰＤＡというホスト名を含む）を、要求元のゲートウェイＧＷ−Ｂに応答する（Ｓ４０３）。
３．ゲートウェイＧＷ−Ｂは、ゲートウェイＧＷ−Ｃからのホスト一覧により、ゲートウェイＧＷ−Ｃ配下にはＰＤＡというホスト名を持つホストがあることを知る。このホストＰＤＡと自己の配下にあるｖｉｄｅｏとを含む新しいグループｇ３の作成は、ゲートウェイＧＷ−Ｂで新しくｖｉｄｅｏという名前のホストに対して、新しくグループｇ３のためのエントリを作成することで実現される。同時にゲートウェイＧＷ−Ｂは、自己にとってグループｇ３に割り当てるのに都合の良い仮想ネットワークアドレスを自身で作成する。ここでは、１０．２２．０．０／２４というネットワークを新規に作成する。
次に、この新しく作ったグループｇ３をゲートウェイＧＷ−Ｃでも作成させるために、グループ登録要求をゲートウェイＧＷ−Ｃに送信する（Ｓ４０４）。この要求を受け取ったゲートウェイＧＷ−Ｃは、ＡＣＫをゲートウェイＧＷ−Ｂに返す（Ｓ４０５）とともに、ローカルで都合の良いグループ名を選択し作成する。ここではｇ１１というグループ名を割り当て、１０．５０．０．０／２４というネットワークアドレスも同時に割り当てる。
なお、ここでは、ゲートウェイＧＷ−ＢとＧＷ−Ｃとは異なるグループ名を選択したが、両ゲートウェイ間で同じ名前を選択して作成してもよい。その場合、プロトコルは要求・応答を繰り返して互いで一意のグループ名を選択したり、互いが送信するメッセージの中に都合の良い名前の一覧を入れて、そこから選択することで実現することが考えられる。
４．ゲートウェイＧＷ−Ｂはグループｇ３に属するホストとして名前ｖｉｄｅｏを持つホストに対する仮想ＩＰアドレスを割り当てるように、ゲートウェイＧＷ−Ｃに対して要求する（Ｓ４０６）。ゲートウェイＧＷ−Ｃは、グループｇ１１用に作成したアドレス空間１０．５０．０．０上に、１０．５０．０．１０というアドレスをＰＤＡ．ｇ１１用に割り当て、これをゲートウェイＧＷ−Ｂに応答する（Ｓ４０７）。この応答を受け取ったゲートウェイＧＷ−Ｂは、ローカルリストエントリに新しくｖｉｄｅｏ．ｇ３という名前の１０．５０．０．１０という仮想ＩＰアドレスを作成する（図１２参照）。
５．最後に、ゲートウェイＧＷ−ＢはＰＤＡ．ｇ３に対して、１０．２２．０．０／２４のアドレス空間から１０．２２．０．３というアドレスを新たに割り当て、グローバルリストエントリに新しく追加し（図１３参照）、これをゲートウェイＧＷ−Ｃに仮想ＩＰアドレスとして通知する（Ｓ４０８）。これを受信したゲートウェイＧＷ−Ｃは、既存のローカルリストに対して新しくこのエントリを追加する。ゲートウェイＧＷ−Ｃはこれを作成すると、ＡｃｋメッセージをゲートウェイＧＷ−Ｂに応答する（Ｓ４０９）。
なお、Ｓ４００からＳ４０９までの手順は、一例である。例えば、手順４．と５．とは順序が入れ替わってもよい。また、上記の手順をひとつのメッセージで複数送信してもよい。また、トランスポート層としては既存のあらゆるプロトコルを流用することが可能である。ＨＴＴＰやＳＩＰを利用してもよい。また、メッセージフォーマットはＸＭＬを利用してＳＯＡＰでカプセル化してこれらのトランスポートプロトコルで運ぶことが可能である。
また、トンネル接続に関してもこのプロトコルに含めることができ、ゲートウェイ間で認証が成立した後であれば、通信が始まる前の任意の時刻にトンネルを作成することができる。また、すでに実在するグループに対して、新たにホストをグループメンバとして追加する場合には、手順３．を省略する。また、この実現例では２対のゲートウェイ間での設定を示したが、特に２対に限ったわけではなく、任意のゲートウェイ間でこのプロトコルを動作させることにより、任意の数のゲートウェイ間でグループおよびそのメンバの設定を自動化させることが可能となる。
（第四の実施形態）
次に、本発明の第四の実施形態であるゲートウェイ（ＧＷまたはゲートウェイ装置ともいう）を包含するネットワークシステムについて図面を参照しながら説明する。
本実施形態では、ゲートウェイＧＷに、ＩＰによる通信機能が使えないデバイス（非ＩＰ端末）が接続されている。この非ＩＰ端末は、ゲートウェイＧＷからの何らかのテキスト形式またはバイナリ形式のコマンドの送受信で制御される機能を有する。
このような場合、仮想ＩＰアドレスを割り当てるのと同様に、仮想的にゲートウェイＧＷにおいて仮想ＩＰホストを作成し、これに仮想ＩＰアドレスを割り当てるとともに、これが外部からのＴＣＰ／ＩＰ通信を終端することで、コマンドの送受信をＴＣＰ／ＩＰネットワークを利用して実現可能となる。
例えば、ｔｅｌｎｅｔやＨＴＴＰなどの既存のプロトコルを利用して、遠隔のホストがコマンドを運び、ゲートウェイＧＷにおいてｔｅｌｎｅｔ，ＨＴＴＰを終端し、コマンド部分を抽出して、あらためて非ＩＰホストに送信することで、遠隔のホストからはあたかもＩＰホストと通信しているような制御・通信が可能となる。
このような非ＩＰ端末の数だけ、ゲートウェイＧＷが仮想ＩＰアドレスを割り当てればプライベートＩＰアドレスの数だけ非ＩＰ端末を収容でき、かつグループ化も全く同様に実現することが可能となる。
（第五の実施形態）
次に、本発明の第五の実施形態であるゲートウェイ（ＧＷまたはゲートウェイ装置ともいう）を包含するネットワークシステムについて図面を参照しながら説明する。
通常、ローカルネットワークではＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）などのＩＰアドレス自動割当プロトコルが動作していることから、ホストに割り当てられるＩＰアドレスは同一とは限らない。このような環境においては、ＩＰアドレスはＩＰホストの個体を識別するＩＤとしては不適当である。
本発明では通信先のＩＰアドレスは仮想的なアドレスであり実ＩＰアドレスが隠蔽されている。これは、ローカルリストにおいて実アドレスと仮想ＩＰアドレスがマッピングされていることにより実現されている。このことから、たとえ実アドレスが変化しても個体と仮想ＩＰアドレスとのマッピングさえ維持できるのであれば、このようなＤＨＣＰなどによる実ＩＰアドレス変化の影響を受けることがなくなる。
例えば、ゲートウェイＧＷにおいてＭＡＣアドレスによる個体識別を利用すると、個体と仮想ＩＰアドレスとのマッピングを実ＩＰアドレスに関わらず維持することができる。これは、ゲートウェイＧＷにおけるローカルリストのエントリにＭＡＣアドレスのフィールドを追加することで実現できる（図１４参照）。このようにすれば、実アドレスが変化しても、ローカルリストでは常にＭＡＣアドレスを見て個体を識別するようにすれば、上記の効果が得られる。
例えば、ｖｉｄｅｏという名前の個体はＭＡＣアドレスａａ：ｂｂ：ｃｃ：ｄｄ：ｅｅ：ｆｆによって一意に識別することが可能である。これはゲートウェイＧＷとｖｉｄｅｏとの通信時にＥｔｈｅｒを使っていればＡＲＰ応答などでこの値を取得して、ローカルリストに入力すれば実現できる。
例え、ＤＨＣＰを利用していたり、ＩＰアドレス割り当てが変化して実アドレスが変化しても、ＭＡＣアドレスは不変であるため、この値を元にこのテーブルの値を管理維持すればよい。
（第六の実施形態）
次に、本発明の第六の実施形態であるゲートウェイ（ＧＷまたはゲートウェイ装置ともいう）を包含するネットワークシステムについて図面を参照しながら説明する。
全く異なるネットワークに属するホストから仮想グループが構成されるときは、名前と仮想ＩＰアドレス、および仮想ＩＰアドレスと実アドレスの対応にパターンはない。しかしながら、例えばサブネットに属するホスト全てを仮想グループとして構成する場合には、変換にはルールがあることから、大幅にエントリ数を削減することが可能である。
ここでは、ＤＮＳ名の管理をゲートウェイでは行わず、ＤＮＳリレーなどの既存手法を利用して、一元的に管理するシステムに問い合わせる。ゲートウェイＧＷには問い合わせるＤＮＳサーバのアドレスを予め与えておく。次に、グローバルリストにはドメイン名から実アドレスの変換パターン、および実アドレスから仮想ＩＰアドレスへの変換パターンが記載されている（図１５参照）。
この表中の”＊”は任意の値を意味し、それにマッチするデータをそのまま利用することを意味する。例えば、ｖｉｄｅｏ．ｄ１のＩＰアドレスをＤＮＳサーバに問い合わせたとして、その応答が１９２．１６８．０．１７であったとすると、グローバルリストの１番目にヒットし、そのときの仮想ＩＰアドレスは１０．２０．２０．１７に変換されることを意味している。
このようなリストを持つことにより、連続したアドレス空間をリストに登録する場合には、リストを検索するための処理時間・およびリストを構成するためのリソースを大幅に削減することが可能になる。
（第七の実施形態）
次に、本発明の第七の実施形態であるゲートウェイ（ＧＷまたはゲートウェイ装置ともいう）を包含するネットワークシステムについて図面を参照しながら説明する。
ゲートウェイは仮想的にあるグループが仮想的に同じサブネットに存在するようにホストに教えることが可能である。これまでの例ではグループにアクセスするときは必ずゲートウェイを通過するようにホストからは見えた。本実施形態によれば、ＥｔｈｅｒのＬ２レベルで同じサブネットに属するように見せかけることができる。
今、ｇ１というグループのホストが２つ存在し、それぞれ実際には異なる遠隔のゲートウェイに属しているとして、ゲートウェイＧＷ−Ｂにおいて、同じローカルサブネットである１９２．１６８．０．０／２４というネットワークに存在するｖｉｄｅｏといホストに対して、同じサブネットに属するように通信させる場合を考える。
これまでの実施形態で利用したグローバルリストに対して、新たに仮想レイヤ２アドレスのフィールドを追加し、他のホストと同一にならないようにレイヤ２アドレスをｍｙｐｃ，ｃａｍに対してそれぞれａ１：ｂ１：ｃ１：ｄ１：ｅ１：ｆ１、ａ２：ｂ２：ｃ２：ｄ２：ｅ２：ｆ２を割り当てたとする（図１６参照）。また、これまでと同様に仮想ＩＰアドレスを割り当てるが、ここではホストｖｉｄｅｏと同じサブネットアドレスを割り当てる。
図１７に示すように、ｃａｍからｍｙｐｃに対してＩＰパケットの送信を始める前に、ＡＲＰのリクエストが送信される（Ｓ５００）が、これに対してゲートウェイＧＷ−Ｂがｍｙｐｃに代わって仮想的にｍｙｐｃであるかのように、ＡＲＰリクエストに対してアドレスａ１：ｂ１：ｃ１：ｄ１：ｅ１：ｆ１で応答する（Ｓ５０１）。このとき、図１６に示すグローバルリストが参照される。これによって、ｃａｍはｍｙｐｃのレイヤ２アドレスを把握したため、実際にはゲートウェイＧＷ−Ｂに対してＩＰパケットをＬ２レイヤで送信を開始する（Ｓ５０２）。
ゲートウェイＧＷ−ＢはＬ２パケットを受信するとグローバルリストを参照し、宛先ａ１：ｂ１：ｃ１：ｄ１：ｅ１：ｆ１宛のＬ２パケットは仮想的にゲートウェイＧＷ−Ａにおいてｍｙｐｃとして存在することが認識されるためこれを終端できる。以降はこれまでと同様の処理で、ゲートウェイＧＷ−Ａ宛にＩＰパケットを転送する（Ｓ５０３）。ゲートウェイＧＷ−Ａは、上記実施形態と同用意、そのＩＰパケットを受信してアドレス変換を行い、この変換後のＩＰパケットを自己の配下のｍｙｐｃに対して転送する（Ｓ５０４）。
また、ゲートウェイＧＷ−Ｂからｃａｍ宛にｍｙｐｃからのパケットを送信時するときは、これまでの実施形態と同様にアドレス変換を終え、最終的にローカルネットワークに送信するときに、送信元レイヤ２アドレスとしてａ１：ｂ１：ｃ１：ｄ１：ｅ１：ｆ１を付けて、Ｌ２ネットワーク上のｍｙｐｃに対してＬ２パケットを送信する。
以上の結果、任意のホストを仮想的に同一のサブネットに属するポストとして通信させる機能をゲートウェイが提供することが可能になる。
（変形例）
上記実施形態においては、ＩＰアドレスはＩＰｖ４によるアドレスであると説明したが、本発明はこれに限定されない。例えば、ＩＰｖ６によるアドレスを用いることも可能である。この場合は、ＩＰｖ４のプライベートアドレスの代わりに、ＩＰｖ６のサイトローカルアドレスを利用することで実現可能であある。例えば、上記実施形態の「プライベート（アドレス）」を「サイトローカル（アドレス）」と読みかえれば、処理手順や処理方法は全く同一であり、本発明の実施に当たりＩＰｖ４とＩＰｖ６の違いを考慮する必要はない。なお、グローバルアドレスはＩＰｖ４とＩＰｖ６とも同じ意味を持つ。
本発明は、その精神または主要な特徴から逸脱することなく、他の様々な形で実施することができる。このため、上記の実施形態は、あらゆる点で単なる例示にすぎず、限定的に解釈されるものではない。
【産業上の利用可能性】  本発明によれば、通信・計算資源に乏しいホスト（例えば、携帯電話、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｃｅ）などの携帯端末、クーラ、洗濯機、ビデオなどのネットワーク家電）の処理負荷を増大させることなく、グループ内に閉じた通信を実現することが可能となる。
【図１】
2005027438.tif 000003
【図２】
2005027438.tif 000004
【図３】
2005027438.tif 000005
【図４】
2005027438.tif 000006
【図５】
2005027438.tif 000007
【図６】
2005027438.tif 000008
【図７】
2005027438.tif 000009
【図８】
2005027438.tif 000010
【図９】
2005027438.tif 000011
【図１０】
2005027438.tif 000012
【図１１】
2005027438.tif 000013
【図１２】
2005027438.tif 000014
【図１３】
2005027438.tif 000015
【図１４】
2005027438.tif 000016
【図１５】
2005027438.tif 000017
【図１６】
2005027438.tif 000018
【図１７】
2005027438.tif 000019
【手続補正書】
【提出日】平成18年4月5日(2006.4.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
グローバルアドレスを持つＩＰホストで構成されたＩＰネットワークにおいて、任意のホストを選択してグループ化し、グループ内に閉じた通信を実現するために、ローカルネットワークとグローバルネットワークの境界に位置するパケット中継装置であって、
グループに属するホストを管理するために、ＩＰアドレスとグループを管理するためのホスト名から構成されるリストと、
このリストを元にグループメンバであるホストとグループ外のホストを識別しグループ外のホストからの通信を遮断する手段と、
を備えるパケット中継装置。
【請求項２】
グローバルアドレスとプライベートアドレスを相互に変換する変換装置をさらに備える請求項１に記載のパケット中継装置。
【請求項３】
任意のホストには仮想的なＩＰサブネットに対する仮想的なプライベートアドレスが割り付けられる
請求項２に記載のパケット中継装置。
【請求項４】
他のパケット中継装置との間の通信を暗号化する手段をさらに備える
請求項２または３に記載のパケット中継装置。
【請求項５】
所定のトンネルプロトコルにより、他のパケット中継装置との間のトンネル設定を自動化する手段をさらに備える
請求項２から４のいずれかに記載のパケット中継装置。
【請求項６】
仮想グループ設定プロトコルにより、他のパケット中継装置との間におけるグループ設定を自動化する手段をさらに備える
請求項２から５のいずれかに記載のパケット中継装置。
【請求項７】
仮想グループ設定プロトコルにより、他のパケット中継装置との間におけるグループに属するメンバ設定を自動化する手段をさらに備える
請求項２から６のいずれかに記載のパケット中継装置。
【請求項８】
他のパケット中継装置との間で認証することにより、互いが信頼できるものであるか無いかを確認する手段をさらに備える
請求項５から７のいずれかに記載のパケット中継装置。
【請求項９】
パケット中継装置とホストは、他のホストと接続されずに、直接接続される
請求項２または３に記載のパケット中継装置。
【請求項１０】
非ＩＰ端末を仮想的にＩＰホストとしてグループに存在するように他のホストから見せかける仮想ＩＰホストを構築する
請求項３に記載のパケット中継装置。
【請求項１１】
ホストのレイヤ２アドレスをホスト固有の識別子としてマシンと一対一に対応させる
請求項３に記載のパケット中継装置。
【請求項１２】
グループに属するホストの代理で仮想のレイヤ２アドレスを用いてARPに応答し、グル
ープ内の通信をローカルサブネットレベルで実現する
請求項３に記載のパケット中継装置。
【請求項１３】
ゲートウェイで名前解決を行わず、ＤＮＳサーバで一元的に名前を解決し、かつ実アドレスと仮想的なプライベートアドレスの変換をパターンで記述する
請求項１から３のいずれかに記載のパケット中継装置。
【請求項１４】
ネットワーク間に設けられ、特定のグループに属するホストに関するＩＰパケットを通過させるＩＰパケット中継装置であって、
ホストが持つＩＰアドレスとそのホストが属するグループを識別するためのグループ識別子とを対応付けたリストと、
一方のネットワークから到着した他方のネットワークに接続されたホスト宛のＩＰパケットが同一のグループに関するＩＰパケットか否かを、前記リストを参照することにより判定する判定手段と、
同一のグループに関するＩＰパケットであると判定されたＩＰパケットを、前記他方のネットワークに中継するフォワード手段と、
を備えるＩＰパケット中継装置。
【請求項１５】
前記判定手段は、前記リストを参照することにより、前記一方のネットワークから到着したＩＰパケットの送信元アドレスおよび宛先アドレスに対応するグループが同一である場合に、該ＩＰパケットが同一のグループに関するＩＰパケットであると判定する
請求項１４に記載のＩＰパケット中継装置。
【国際調査報告】
2005027438.tif 000020
2005027438.tif 000021
2005027438.tif 000022
2005027438.tif 000023