(57)【要約】【課題】  スポークがＮＡＴ装置配下にある環境で、ＮＡＴ変換後のグローバルＩＰアドレス・ポート情報をスポーク間で通知して動的に仮想トンネルを生成する。【解決手段】  スポークがＳＴＵＮサーバから取得したＮＡＴ変換後のグローバルＩＰアドレス・ポート情報を、ＮＨＲＰプロトコルのパケットの拡張フィールドに含めて送受信する。各スポークは自装置のグローバルＩＰアドレス・ポート情報をＮＨＲＰ登録パケットに含めてハブに通知する。仮想トンネルの生成にあたって、送信元スポークはＮＨＲＰ解決要求パケットで自装置のグローバルＩＰアドレス・ポート情報を相手先スポークに通知する。ＮＨＲＰ解決要求パケットを受信した相手先スポークは、自装置のグローバルＩＰアドレス・ポート情報をＮＨＲＰ解決応答パケットに含めて返送する。相互に通知した外部アドレス・ポート情報に基づいて、相手先スポークとの間に仮想トンネルを生成する。【選択図】      図１
2019118156.tif 000002
【特許請求の範囲】
【請求項１】
ＤＭＶＰＮ（Dynamic Multipoint Virtual Private Network）を構成するスポークとして機能し、異なるアドレス空間のネットワーク間で送受信されるパケットのＮＡＴ（Network Address Translation）アドレス変換を行う中継装置の配下に設置され、前記ＮＡＴアドレス変換で生成された、前記中継装置の外側のアドレス空間からアクセスすることが可能なアドレス情報である外部アドレス・ポート情報を返信する機能を持つアドレス情報提供装置から前記外部アドレス・ポート情報を取得し、前記ＤＭＶＰＮで使用するＮＨＲＰ（Next Hop Resolution Protocol）登録パケットの拡張フィールドに該外部アドレス・ポート情報を含めて送信する、少なくとも２つの通信装置である第１の通信装置と第２の通信装置と、
前記ＤＭＶＰＮを構成するハブとして機能し、配下の前記第１の通信装置と前記第２の通信装置のそれぞれから受信した前記ＮＨＲＰ登録パケットに含まれる前記外部アドレス・ポート情報を前記第１の通信装置と前記第２の通信装置のそれぞれと対応付けたマッピング情報に登録する第３の通信装置と、
を備え、
前記第３の通信装置は、該第３の通信装置を介したパケット送信元の前記スポークである前記第１の通信装置からパケット送信先の前記スポークである前記第２の通信装置との通信において、該第１の通信装置と該第２の通信装置との間に仮想トンネルを生成可能であることを前記マッピング情報に基づいて検出すると、前記第１の通信装置に対して前記仮想トンネルの生成を指示し、
前記第３の通信装置から前記仮想トンネルの生成の指示を受けた前記第１の通信装置は、前記ＤＭＶＰＮで使用するＮＨＲＰ解決要求パケットの拡張フィールドに該第１の通信装置の前記外部アドレス・ポート情報を含めて送信し、
前記第１の通信装置から前記ＮＨＲＰ解決要求パケットを受信した前記第２の通信装置は、前記ＤＭＶＰＮで使用するＮＨＲＰ解決応答パケットの拡張フィールドに該第２の通信装置の前記外部アドレス・ポート情報を含めて返信し、
前記ＮＨＲＰ解決応答パケットを受信した前記第１の通信装置は、該ＮＨＲＰ解決応答パケットに含まれる前記第２の通信装置の前記外部アドレス・ポート情報に基づいて、前記第２の通信装置との間に前記仮想トンネルを生成する
ことを特徴とする通信システム。
【請求項２】
前記外部アドレス・ポート情報には前記中継装置のＮＡＴ種別を含み、前記第３の通信装置は、前記第１の通信装置が接続する前記中継装置のＮＡＴ種別と前記第２の通信装置が接続する前記中継装置のＮＡＴ種別の組合せに応じて、前記第１の通信装置と前記第２の通信装置との間における前記仮想トンネルの生成の可否を判定することを特徴とする請求項１に記載の通信システム。
【請求項３】
前記ＮＡＴ種別には、前記ＮＡＴアドレス変換で生成された外部アドレス・ポートに対する前記中継装置の外側のアドレス空間からのアクセス制限に応じた種別である、フルコーンＮＡＴ、アドレス制限コーンＮＡＴ、ポート制限コーンＮＡＴおよびシンメトリックＮＡＴを含み、前記第３の通信装置は、前記第１の通信装置が接続する前記中継装置のＮＡＴ種別と前記第２の通信装置が接続する前記中継装置のＮＡＴ種別の組合せが前記シンメトリックＮＡＴと前記ポート制限コーンＮＡＴである場合、およびいずれも前記シンメトリックＮＡＴの場合に、前記仮想トンネルの生成は不可と判定することを特徴とする請求項２に記載の通信システム。
【請求項４】
前記ＮＡＴ種別には、前記ＮＡＴアドレス変換で生成された外部アドレス・ポートに対する前記中継装置の外側のアドレス空間からのアクセス制限に応じた種別である、フルコーンＮＡＴ、アドレス制限コーンＮＡＴ，ポート制限コーンＮＡＴおよびシンメトリックＮＡＴを含み、前記第１の通信装置および前記第２の通信装置のそれぞれは、自装置が接続する前記中継装置のＮＡＴ種別が、前記アドレス制限コーンＮＡＴ、前記ポート制限コーンＮＡＴおよび前記シンメトリックＮＡＴのいずれかである場合、前記仮想トンネルを生成する前に、通信相手先装置の外部アドレス・ポートを宛先とするダミーＵＤＰ（User Datagram Protocol）パケットを送信して、前記通信相手先装置に関する前記ＮＡＴアドレス変換のエントリをあらかじめ生成することを特徴とする請求項２に記載の通信システム。
【請求項５】
前記第１の通信装置および前記第２の通信装置のそれぞれは、通信相手先装置が接続する前記中継装置のＮＡＴ種別が前記シンメトリックＮＡＴの場合、該通信相手先装置から受信した前記ダミーＵＤＰパケットの送信元アドレス・ポートを該通信相手先装置の外部アドレス・ポートとして使用することを特徴とする請求項４に記載の通信システム。
【請求項６】
前記第１の通信装置および前記第２の通信装置のそれぞれは、前記アドレス情報提供装置から前記外部アドレス・ポート情報を所定のタイミングで取得し、取得した前記外部アドレス・ポート情報が更新されていた場合、更新された外部アドレス・ポート情報を前記ＮＨＲＰ登録パケットの拡張フィールドに含めて前記第３の通信装置に通知することを特徴とする請求項１乃至５のいずれかの付記に記載の通信システム。
【請求項７】
前記第１の通信装置および前記第２の通信装置のそれぞれは、前記アドレス情報提供装置から所定のタイミングで取得した前記外部アドレス・ポート情報が更新されていた場合、更新された外部アドレス・ポートを送信元アドレス・ポートに設定したダミーＵＤＰ（User Datagram Protocol）パケットを通信相手先装置に送信して自装置の外部アドレス・ポートの変更を通知することを特徴とする請求項６に記載の通信システム。
【請求項８】
異なるアドレス空間のネットワーク間で送受信されるパケットのＮＡＴ（Network Address Translation）アドレス変換を行う中継装置を介して、前記ＮＡＴアドレス変換で生成された前記中継装置の外側のアドレス空間からアクセスすることが可能なアドレス情報である外部アドレス・ポート情報を返信する機能を持つアドレス情報提供装置から、前記外部アドレス・ポート情報を取得する外部アドレス・ポート情報取得手段と、
ＤＭＶＰＮ（Dynamic Multipoint Virtual Private Network）で使用するＮＨＲＰ（Next Hop Resolution Protocol）登録パケットの拡張フィールドに前記外部アドレス・ポート情報を含めて該ＤＭＶＰＮのハブに送信し、前記ハブから、該ハブを介したスポーク間通信において、相手先スポークとの間に仮想トンネルを生成可能であることを通知されると、前記ＤＭＶＰＮで使用するＮＨＲＰ解決要求パケットの拡張フィールドに前記外部アドレス・ポート情報を含めて前記相手先スポークに送信し、前記ＮＨＲＰ解決要求パケットを受信した前記相手先スポークが返送する前記ＤＭＶＰＮで使用するＮＨＲＰ解決応答パケットの拡張フィールドから前記相手先スポークの前記外部アドレス・ポート情報を取得するアドレス解決手段と、
前記アドレス解決手段が取得した前記相手先スポークの前記外部アドレス・ポート情報に基づいて、前記相手先スポークとの間に前記仮想トンネルを生成するトンネル生成手段と
を備えることを特徴とする通信装置。
【請求項９】
ＤＭＶＰＮ（Dynamic Multipoint Virtual Private Network）を構成するスポークとして機能し、異なるアドレス空間のネットワーク間で送受信されるパケットのＮＡＴ（Network Address Translation）アドレス変換を行う中継装置の配下に設置され、前記中継装置の外側のアドレス空間からアクセスすることが可能なアドレス情報である外部アドレス・ポート情報を返信する機能を持つアドレス情報提供装置から前記外部アドレス・ポート情報を取得する少なくとも２つの通信装置である第１の通信装置と第２の通信装置のそれぞれが、前記ＤＭＶＰＮで使用するＮＨＲＰ（Next Hop Resolution Protocol）登録パケットの拡張フィールドに該外部アドレス・ポート情報を含めて送信し、
前記ＤＭＶＰＮを構成するハブとして機能する第３の通信装置が、配下の前記第１の通信装置と前記第２の通信装置のそれぞれから受信した前記ＮＨＲＰ登録パケットに含まれる前記外部アドレス・ポート情報を前記第１の通信装置と前記第２の通信装置のそれぞれと対応付けたマッピング情報に登録し、
前記第３の通信装置を介したパケット送信元の前記スポークである前記第１の通信装置からパケット送信先の前記スポークである前記第２の通信装置との通信において、該第３の通信装置が、前記第１の通信装置と前記第２の通信装置との間に仮想トンネルを生成可能であることを前記マッピング情報に基づいて検出すると、前記第１の通信装置に対して前記仮想トンネルの生成を指示し、
前記第３の通信装置から前記仮想トンネルの生成の指示を受けた前記第１の通信装置が、前記ＤＭＶＰＮで使用するＮＨＲＰ解決要求パケットの拡張フィールドに該第１の通信装置の前記外部アドレス・ポート情報を含めて送信し、
前記第１の通信装置から前記ＮＨＲＰ解決要求パケットを受信した前記第２の通信装置が、前記ＤＭＶＰＮで使用するＮＨＲＰ解決応答パケットの拡張フィールドに該第２の通信装置の前記外部アドレス・ポート情報を含めて返信し、
前記ＮＨＲＰ解決応答パケットを受信した前記第１の通信装置が、該ＮＨＲＰ解決応答パケットに含まれる前記第２の通信装置の前記外部アドレス・ポート情報に基づいて、前記第２の通信装置との間に前記仮想トンネルを生成する
ことを特徴とするＶＰＮ構築方法。
【請求項１０】
異なるアドレス空間のネットワーク間で送受信されるパケットのＮＡＴ（Network Address Translation）アドレス変換を行う中継装置を介して、前記ＮＡＴアドレス変換で生成された前記中継装置の外側のアドレス空間からアクセスすることが可能なアドレス情報である外部アドレス・ポート情報を返信する機能を持つアドレス情報提供装置から前記外部アドレス・ポート情報を取得し、
ＤＭＶＰＮ（Dynamic Multipoint Virtual Private Network）で使用するＮＨＲＰ（Next Hop Resolution Protocol）登録パケットの拡張フィールドに前記外部アドレス・ポート情報を含めて該ＤＭＶＰＮのハブに送信し、
前記ハブから、該ハブを介したスポーク間通信において、相手先スポークとの間に仮想トンネルを生成可能であることを通知されると、前記ＤＭＶＰＮで使用するＮＨＲＰ解決要求パケットの拡張フィールドに前記外部アドレス・ポート情報を含めて前記相手先スポークに送信し、
前記ＮＨＲＰ解決要求パケットを受信した前記相手先スポークが返送する前記ＤＭＶＰＮで使用するＮＨＲＰ解決応答パケットの拡張フィールドから前記相手先スポークの前記外部アドレス・ポート情報を取得し、
取得した前記相手先スポークの前記外部アドレス・ポート情報に基づいて、前記相手先スポークとの間に前記仮想トンネルを生成する
ことを特徴とするＶＰＮ構築方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、通信装置およびＶＰＮ（Virtual Private Network）構築方法に関し、特に、ＤＭＶＰＮ（Dynamic Multipoint Virtual Private Network）を構成する通信システム、通信装置およびＶＰＮ構築方法に関する。
【背景技術】
【０００２】
広域網を介した企業等の多数の拠点間でＶＰＮを構築する際に、本社のＶＰＮ装置を経由することなく、直接、拠点間でデータを交換することができる安全なネットワークを構築する仕組みを提供するソリューションとしてＤＭＶＰＮがある。ＤＭＶＰＮは「Dynamic Multipoint Virtual Private Network」の略称で、ハブアンドスポーク型のＶＰＮを構築し、スポーク同士の通信が発生した際にはオンデマンドでスポーク間の仮想トンネルを生成することができる。つまり、ＤＭＶＰＮは、ハブアンドスポーク型の構成をとりながらフルメッシュに近いパフォーマンスを提供することができる。なお、仮想トンネルはＶＰＮ装置によりオリジナルのパケットがキャリアプロトコルでカプセル化されることにより構築されるものである。
【０００３】
例えば、拠点のＬＡＮ（Local Area Network）を配下にするスポークであるＶＰＮ装置と本社に配置されたハブであるＶＰＮ装置のそれぞれをインターネット等の広域網を介して仮想トンネルで接続する。このとき、ハブとスポーク間には常に仮想トンネルを設定しておき、スポーク同士は必要時のみ仮想トンネルを生成する構成にする。このようにＤＭＶＰＮの仮想トンネルは、ハブに複数のスポークを接続した、宛先が複数存在する仮想トンネルとなるため、マルチポイントでルーティングカプセル化を行うマルチポイントＧＲＥ（Generic Routing Encapsulation）が使われる。また、仮想トンネル内の通信の安全性を確保するために転送データの暗号化を行うＩＰｓｅｃ（Internet Protocol Security）が使われる。
【０００４】
つまり、ハブと各スポークは静的なＩＰｓｅｃによる仮想トンネルで接続されて、スポーク間にはオンデマンドでＩＰｓｅｃによる仮想トンネルを張るように構成する。このように構成することにより、ハブの負荷を軽減し、しかも通信の安全を確保したネットワークを柔軟に構築することができる。
【０００５】
なお、ＩＰｓｅｃは、インターネットを介したルータ間でセキュリティの高いＬＡＮ間通信を行うためにＩＥＴＦ（Internet Engineering Task Force）がＶＰＮの標準プロトコルとして規定したものである。ＩＰｓｅｃは、ＬＡＮをインターネットに接続するルータ同士がインターネットを介して行う通信を、所定のプロトコルに従って暗号化し、それらルータ間で送受信されるデータが盗聴されたり改ざんされたりすることを回避する技術である。つまり、ＬＡＮをインターネットに接続するルータ同士は、インターネット内を転送するパケットをＩＰｓｅｃによって暗号化およびカプセル化して安全なＶＰＮを構築する。
【０００６】
また、ＤＭＶＰＮで使用される技術としてＮＨＲＰ（Next Hop Resolution Protocol）がある。
【０００７】
ＮＨＲＰは、ブロードキャストをサポートしないマルチアクセスネットワークであるＮＢＭＡ（Non Broadcast Multiple Access）環境におけるアドレス解決を行うプロトコルで、ＩＥＴＦのＲＦＣ（Request For Comments）２３３２で規定されている。ＮＨＲＰは、仮想トンネルの宛先ＩＰ（Internet Protocol）アドレス(仮想ネットワーク上のプライベートＩＰアドレス)から、宛先ＶＰＮ装置の広域網側での物理アドレスであるＮＢＭＡ（Non Broadcast Multiple Access）アドレスを解決するためのプロトコルである。
【０００８】
ＤＭＶＰＮでは、例えば、次のような手順でスポーク間の動的な仮想トンネルを生成する。
【０００９】
ハブ配下の各スポークは、あらかじめＮＨＲＰ登録によって自身の仮想トンネルのプライベートＩＰアドレスとＮＢＭＡアドレスをハブに通知する。そして、ハブは、各スポークの仮想トンネルのプライベートＩＰアドレスとＮＢＭＡアドレスのマッピング情報を保持する。
【００１０】
あるスポークＡ配下のプライベートネットワーク内の端末Ａが別のスポークＢ配下のプライベートネットワーク内の端末Ｂと通信するとき、データパケットは、端末Ａ→スポークＡ→ハブ→スポークＢ→端末Ｂの経路で伝達される。
【００１１】
この時、ハブはパケットの送信元のスポークＡとパケットの送信先となるスポークＢが動的に仮想トンネルを生成可能であることを検出すると、スポークＡ宛にＮＨＲＰトラフィック通知を送信する。ＮＨＲＰトラフィック通知にはスポークＢ配下のプライベートネットワーク内の端末ＢのプライベートＩＰアドレスが格納されている。
【００１２】
ＮＨＲＰトラフィック通知を受信したスポークＡは、スポークＢ配下のプライベートネットワーク内の端末ＢのプライベートＩＰアドレス宛てにＮＨＲＰ解決要求を送信する。
【００１３】
ＮＨＲＰ解決要求はハブを経由してスポークＢで受信される。
【００１４】
スポークＢは、スポークＡ宛にＮＨＲＰ解決応答を返送する。ＮＨＲＰ解決応答には、スポークＢの仮想トンネルのプライベートＩＰアドレスとＮＢＭＡアドレスが格納されている。
【００１５】
ＮＨＲＰ解決応答を受信したスポークＡでは、スポークＢ配下のプライベートネットワーク宛のパケットはスポークＢの仮想トンネルのプライベートＩＰアドレス宛に転送する、という経路情報が生成される。そして、スポークＡでは、これと同時にスポークＢの仮想トンネルのプライベートＩＰアドレスとＮＢＭＡアドレスのマッピング情報を保持する。
【００１６】
スポークＡは、保持しているスポークＢのアドレス情報を使用して、スポークＢへの仮想トンネルを生成する。これにより、この仮想トンネル生成以降のデータパケットは、スポークＡからハブを経由せずに直接スポークＢに送信され、スポークＢ配下のプライベートネットワーク内の端末Ｂに送信される。
【００１７】
なお、上記の説明において、スポークＡからのＮＨＲＰ解決要求を受けたハブがスポークＢにそれを送り、スポークＢがＮＨＲＰ解決応答を返送するとした。しかし、ハブでキャッシュされているマッピング情報に基づくＮＨＲＰ解決応答の返送がプロトコル上で許容されている場合には、ＮＨＲＰ解決要求を受けたハブがＮＨＲＰ解決応答を返送する場合もある。ここでは、説明を簡単にするために、スポークＡからのＮＨＲＰ解決要求を受けたハブがスポークＢにそれを送り、スポークＢがＮＨＲＰ解決応答を返送するものとする。
【００１８】
ここで、ＶＰＮに関連する技術として、ＮＡＴ（Network Address Translation）およびＳＴＵＮ（Simple Traversal of User Datagram Protocol through NATs）プロトコルについて概観する。
【００１９】
ＮＡＴは、プライベートネットワークとインターネットを接続するゲートウェイ装置において行うアドレス変換で、プライベートＩＰアドレスと、ゲートウェイ装置が保持しているグローバルＩＰアドレスとが変換される。ＮＡＴはＩＥＴＦのＲＦＣ２７６６、２６６３、３０２２等で規定されている。なお、ここでＮＡＴは狭義のＮＡＰＴ（Network Address Port Translation）を含めた広義のＮＡＴを意味する。そして、アドレス・ポートは、アドレスのみ、アドレスおよびポート、のいずれかを意味するものとする。
【００２０】
ＳＴＵＮプロトコルは、ＮＡＴを実行する装置（ＮＡＴ装置）の後ろに位置する通信装置が、ＵＤＰ（User Datagram Protocol）接続を行う際に、ＮＡＴ装置を越えて通信するために必要なグローバルＩＰアドレス・ポート、ＮＡＴの種別を取得するために使用される。ＳＴＵＮプロトコルは、ＩＥＴＦのＲＦＣ３４８９で規定されている。
【００２１】
ＳＴＵＮプロトコルが動作するネットワーク構成は、ＳＴＵＮサーバ、ＮＡＴ装置、ＳＴＵＮクライアントから構成される。
【００２２】
ＳＴＵＮサーバは、ＳＴＵＮプロトコルの実行に関するサービスを行うサーバで、インターネット上に設けられ、ＮＡＴ装置を越えて通信を行うために必要な情報を提供するアドレス情報提供装置である。
【００２３】
ＳＴＵＮクライアントは、ＮＡＴ装置の後ろに位置するプライベートネットワーク内の通信装置である。ＳＴＵＮクライアントは、ＮＡＴ装置を介してインターネット上のＳＴＵＮサーバにテストメッセージを送信し、ＳＴＵＮサーバから該ＳＴＵＮクライアントがどのように見えるかの情報を取得する。つまり、ＳＴＵＮクライアントは、ＮＡＴ装置を越えて通信を行うために必要なグローバルＩＰアドレス・ポート、ＮＡＴの種別をＳＴＵＮサーバから取得する。
【００２４】
なお、ＳＴＵＮプロトコルでは、ＮＡＴ装置が実行するＮＡＴのアドレス・ポート変換のマッピング方法により、ＮＡＴを４つの種別（ＮＡＴ種別）に分類している。ＮＡＴで割り当てたポートにアクセスできるインターネット側の端末の制限に応じて、フルコーンＮＡＴ、アドレス制限コーンＮＡＴ、ポート制限コーンＮＡＴおよびシンメトリックＮＡＴの４つのＮＡＴ種別がある。
【００２５】
フルコーンＮＡＴは、ＮＡＴで割り当てたポートにアクセスできるインターネット側の端末の制限はなく、一度開いたセッション・ポートを誰からでもアクセス可能にする。つまり、通信相手によらず、ＮＡＴ変換テーブルのエントリに応じたアドレス・ポート変換を行ってＮＡＴ装置の内側（プライベートネットワーク側）に通過させる。
【００２６】
アドレス制限コーンＮＡＴは、ＮＡＴで割り当てたポートにアクセスできるインターネット側の端末を、アドレス依存で制限する。つまり、ＮＡＴ装置配下の端末がアクセスした実績があるインターネット側のアドレスを有する端末からだけアクセス可能とし、ＮＡＴ変換テーブルのエントリに応じたアドレス・ポート変換を行ってＮＡＴの内側に通過させる。なお、「ＮＡＴ装置配下の端末」とは、ＮＡＴ装置に接続されたプライベートネットワーク側の端末を意味する。
【００２７】
ポート制限コーンＮＡＴは、ＮＡＴで割り当てたポートにアクセスできるインターネット側の端末を、アドレスとポートに依存して制限する。つまり、ＮＡＴ装置配下の端末がアクセスした実績があるインターネット側のアドレスとポート番号を有する端末からだけアクセス可能とし、ＮＡＴ変換テーブルのエントリに応じたアドレス・ポート変換を行ってＮＡＴ装置の内側に通過させる。
【００２８】
シンメトリックＮＡＴは、通信元の端末に対して、通信先のインターネット側の宛先ごとに異なるポート番号を有するＮＡＴ変換テーブルのエントリを生成する。つまり、インターネット側の宛先が変わるとＮＡＴのインターネット向けのポート番号が必ず変わることになる。そして、ＮＡＴで割り当てたポートにアクセスできるインターネット側の端末として、通信元のプライベートネットワーク側の端末と通信先のインターネット側の端末が１対１に対応する場合にのみ制限される。
【００２９】
ＳＴＵＮクライアントが自身のＮＡＴ変換後のグローバルＩＰアドレス・ポートを知るまでの動作は以下のようになる。
【００３０】
ＳＴＵＮクライアントは、ＳＴＵＮサーバのグローバルＩＰアドレス・ポート宛にＳＴＵＮリクエストメッセージを送信する。
【００３１】
ＳＴＵＮリクエストメッセージがＮＡＴ装置を通過する時、ＮＡＴ変換テーブルエントリが生成され、送信元ＩＰアドレス・ポートがプライベートＩＰアドレス・ポートから、グローバルＩＰアドレス・ポートに書き換えられる。
【００３２】
ＳＴＵＮサーバは、ＳＴＵＮリクエストメッセージを受信すると、ＳＴＵＮレスポンスメッセージを、ＳＴＵＮリクエストメッセージの送信元アドレス・ポートのグローバルＩＰアドレス・ポート宛に送信する。この時、ＳＴＵＮサーバは、ＳＴＵＮレスポンスメッセージ中に、該グローバルＩＰアドレス・ポートを含める。
【００３３】
ＳＴＵＮレスポンスメッセージは、ＮＡＴ装置を通過する時に、宛先アドレス・ポートがＮＡＴ変換テーブルエントリに基づいてプライベートＩＰアドレス・ポートに書き換えられ、ＳＴＵＮクライアントで受信される。
【００３４】
ＳＴＵＮクライアントは、ＳＴＵＮレスポンスメッセージに含まれるグローバルＩＰアドレス・ポートの情報によって自身のグローバルＩＰアドレスおよびグローバルポートを知ることができる。
【００３５】
なお、ＳＴＵＮサーバは２つのＩＰアドレスおよびポート番号を持っている。そして、ＳＴＵＮクライアントはＳＴＵＮリクエストメッセージを送信する際、リクエストメッセージ内にＩＰアドレス変更およびポート番号変更要求を含めることができる。これにより、ＳＴＵＮサーバからのレスポンスメッセージの送信元ＩＰアドレスおよびポート番号を変更させることができる。ＳＴＵＮプロトコルでは、この仕組みによってＳＴＵＮクライアントとＳＴＵＮサーバ間で数回の通信を行うことにより、ＳＴＵＮクライアントが、自身の接続しているＮＡＴ装置のＮＡＴ種別を特定する事ができるようになっている。
【００３６】
ＶＰＮ装置、ＮＡＴおよびＳＴＵＮに関する技術が特許文献１乃至３に開示されている。
【００３７】
特許文献１は、通信中においてＰ２Ｐ（peer-to-peer）通信が可能な場合にはＰ２Ｐ通信に移行できるＶＰＮ装置を開示する。条件によって動作特性が変化するＮＡＴ装置が存在し、通話開始時には中継サーバ経由での通信しか行えない場合であっても、その通信の最中にＰ２Ｐ通信が可能な条件になることがある。そのような場合に、特許文献１が開示するＶＰＮ装置はＰ２Ｐ通信に移行することができる。
【００３８】
このＶＰＮ装置は、ＮＡＴ種別判定部を備え、相手装置と中継サーバ経由通信を行っているときにＮＡＴ種別の判定処理を行い、相手装置との間でＰ２Ｐ通信ができる可能性の高いＮＡＴ種別と判定した場合にＰ２Ｐ通信に移行する処理を行う。また、このＶＰＮ装置は、中継装置の外部側から自装置にアクセスする際に用いる外部アドレス・ポート情報を取得する外部アドレス・ポート取得部を備える。
【００３９】
外部アドレス・ポート取得部は、ＳＴＵＮサーバとの間で所定のテスト手順の通信を実行し、ＳＴＵＮサーバから自装置の通信のために割り当てられたグローバルＩＰアドレスおよびポートが含まれる応答パケットを受信する。また、ＳＴＵＮによりＮＡＴ種別判定を行う。ＮＡＴ種別判定部は、送信側と受信側に設置されているＮＡＴ種別の組合せによってＰ２Ｐ通信の可否を決定する。
【００４０】
Ｐ２Ｐ通信に移行する場合は、呼制御サーバを介して呼制御ポートを使用して発呼側と被呼側を接続し、中継サーバを介した通信を行うための通信ポート情報を交換する。そして、中継サーバを介した通信において、Ｐ２Ｐ通信を行うＰ２Ｐポートの情報を交換する。なお、呼制御サーバは、登録された端末等の識別情報を保持して、特定の相手先を呼び出して通信経路を確立するための通信装置間の呼制御に関するサービスを行う装置である。
【００４１】
特許文献２は、アドレス変換が行われるネットワーク間において、中継装置のＮＡＴ種別を判定してすみやかに相手装置との通信可能性を判定し、相手装置との通信経路を構築することができるＶＰＮ装置を開示する。
【００４２】
このＶＰＮ装置は、ＳＴＵＮサーバに対して、少なくとも２つのテストパケットをＳＴＵＮサーバの異なるアドレス・ポートに送信する。そして、これらのテストパケットに対する異なるアドレス・ポートからの応答パケットに含まれる外部アドレス・ポート情報に基づいて中継装置のＮＡＴ種別を判定し、通信可能性を判定する。
【００４３】
通信可能と判定してＰ２Ｐ通信に移行する場合は、呼制御サーバを介して発呼側から被呼側に外部アドレス・ポート情報を含めた接続要求を送信する。被呼側は、呼制御サーバを介した接続要求を受けると、発呼側と同様にＳＴＵＮサーバから自装置の外部アドレス・ポート情報を取得する。そして、この外部アドレス・ポート情報を含めた接続応答を、呼制御サーバを介して発呼側に返送する。
【００４４】
このように、呼制御サーバを介して発呼側と被呼側の双方が相手の外部アドレス・ポート情報を取得することで、以降は発呼側と被呼側間で外部アドレス・ポート情報を用いてＰ２Ｐ通信を行う。なお、呼制御サーバは、登録された端末等の識別情報を保持して、特定の相手先を呼び出して通信経路を確立するための通信装置間の呼制御に関するサービスを行う装置である。
【００４５】
特許文献３は、インターネット等を中継して接続されるローカルネットワーク間で接続を行うＩＰ−ＰＢＸ（Private Branch Exchange）やＩＰキー電話システム等の通信装置を開示する。
【００４６】
ＩＰ−ＰＢＸは、ローカルネットワークのゲートウェイとして機能するルータまたはＳＴＵＮサーバから自装置のアクセス情報（グローバルＩＰアドレス・ポート）を取得し、取得したアクセス情報を本文に挿入した電子メールを作成する。そして、ＩＰ−ＰＢＸは、該電子メールを異なるローカルネットワークに配備された遠隔地のＩＰ電話機を宛先として送信する。遠隔地のＩＰ電話機は、電子メールに記載されたアクセス情報を用いてＩＰ−ＰＢＸに登録を行う。この登録により、ＩＰ−ＰＢＸは、遠隔地のＩＰ電話機への発着信制御を行う。
【先行技術文献】
【特許文献】
【００４７】
【特許文献１】特開２０１１−１８８３５８号公報
【特許文献２】特開２０１０−２８３５９４号公報
【特許文献３】特開２０１１−０４１１３８号公報
【発明の概要】
【発明が解決しようとする課題】
【００４８】
ＤＭＶＰＮにおいて、スポークがＮＡＴ装置の配下に位置するネットワーク環境では、スポーク間通信を行なおうとする２つのスポークが、互いのＮＡＴ変換後のグローバルＩＰアドレスを知ることができない。インターネット内で通知されていて、転送データの到達性のあるアドレス情報はグローバルＩＰアドレスである。そのため、スポークがＮＡＴ装置の配下に位置するネットワーク環境では、双方のスポークにおいて相手のグローバルＩＰアドレスを知ることができず、スポーク間で動的に仮想トンネルを確立することができない。
【００４９】
例えば、ＤＭＶＰＮは、インターネットを介した企業ネットワークにおいて、本社と各拠点にＶＰＮ装置を配置してフルメッシュのＶＰＮを実現することができる。通常、インターネットの接続のためにはＩＳＰ（Internet Service Provider）を選定する必要がある。そして、一部のＩＳＰでは、ＩＰアドレス枯渇問題などを背景として、キャリア・グレードＮＡＴの導入が行われている。
【００５０】
スポークとなるＶＰＮ装置をインターネットに接続するためのＩＳＰがキャリア・グレードＮＡＴを導入している場合、キャリア・グレードＮＡＴ配下のスポークのＩＰアドレス・ポートはキャリア・グレードＮＡＴにより変換される。そのため、キャリア・グレードＮＡＴ配下のスポーク間で動的に仮想トンネルを生成しようとしても、互いのＮＡＴ変換後のグローバルＩＰアドレス・ポートを知ることができない。
【００５１】
一方、特許文献１乃至３には、ＳＴＵＮプロトコルを用いてＮＡＴ変換後のグローバルＩＰアドレス・ポートを知る技術が開示されている。
【００５２】
そして、特許文献１や特許文献２が開示する技術は、ＳＴＵＮプロトコルを用いて取得したＮＡＴ変換後のグローバルＩＰアドレス・ポートを、呼制御サーバを介して発呼側と被呼側が相互に交換するように構成している。また、特許文献３が開示する技術では、ＳＴＵＮプロトコルを用いて取得したＮＡＴ変換後のグローバルＩＰアドレス・ポートを、電子メールを用いて遠隔地のＩＰ電話機に通知するように構成している。
【００５３】
特許文献１や特許文献２における呼制御サーバは、登録された端末等の識別情報を保持して、特定の相手先を呼び出して通信経路を確立するための通信装置間の呼制御に関するサービスを行う装置である。そして、特許文献１や特許文献２においてはそのような呼制御サーバが配備された環境を前提としている。また、特許文献３では電子メールを送信する構成を必要とすることを前提としている。
【００５４】
そのため、特許文献１乃至３が開示する技術は、そのような前提が適用できないシステムに対しては用いることができないという課題がある。
【００５５】
つまり、ＮＡＴ変換後のグローバルＩＰアドレス・ポートが取得できたとしても、呼制御サーバが配備されていない環境や電子メールを送信するという構成を有しないＤＭＶＰＮ上のスポークはその情報を相手のスポークに伝達できないという課題がある。
【００５６】
本発明は、ＤＭＶＰＮ上のスポークがＮＡＴ装置配下にある環境で、取得したＮＡＴ変換後のグローバルＩＰアドレス・ポート情報をスポーク間で通知して、動的に仮想トンネルを生成することができる通信システム、通信装置およびＶＰＮ構築方法を提供する。
【課題を解決するための手段】
【００５７】
上記の目的を実現するために、本発明の一形態である通信システムは、ＤＭＶＰＮ（Dynamic Multipoint Virtual Private Network）を構成するスポークとして機能し、異なるアドレス空間のネットワーク間で送受信されるパケットのＮＡＴ（Network Address Translation）アドレス変換を行う中継装置の配下に設置され、前記ＮＡＴアドレス変換で生成された、前記中継装置の外側のアドレス空間からアクセスすることが可能なアドレス情報である外部アドレス・ポート情報を返信する機能を持つアドレス情報提供装置から前記外部アドレス・ポート情報を取得し、前記ＤＭＶＰＮで使用するＮＨＲＰ（Next Hop Resolution Protocol）登録パケットの拡張フィールドに該外部アドレス・ポート情報を含めて送信する、少なくとも２つの通信装置である第１の通信装置と第２の通信装置と、前記ＤＭＶＰＮを構成するハブとして機能し、配下の前記第１の通信装置と前記第２の通信装置のそれぞれから受信した前記ＮＨＲＰ登録パケットに含まれる前記外部アドレス・ポート情報を前記第１の通信装置と前記第２の通信装置のそれぞれと対応付けたマッピング情報に登録する第３の通信装置と、を含み、前記第３の通信装置は、該第３の通信装置を介したパケット送信元の前記スポークである前記第１の通信装置からパケット送信先の前記スポークである前記第２の通信装置との通信において、該第１の通信装置と該第２の通信装置との間に仮想トンネルを生成可能であることを前記マッピング情報に基づいて検出すると、前記第１の通信装置に対して前記仮想トンネルの生成を指示し、前記第３の通信装置から前記仮想トンネルの生成の指示を受けた前記第１の通信装置は、前記ＤＭＶＰＮで使用するＮＨＲＰ解決要求パケットの拡張フィールドに該第１の通信装置の前記外部アドレス・ポート情報を含めて送信し、前記第１の通信装置から前記ＮＨＲＰ解決要求パケットを受信した前記第２の通信装置は、前記ＤＭＶＰＮで使用するＮＨＲＰ解決応答パケットの拡張フィールドに該第２の通信装置の前記外部アドレス・ポート情報を含めて返信し、前記ＮＨＲＰ解決応答パケットを受信した前記第１の通信装置は、該ＮＨＲＰ解決応答パケットに含まれる前記第２の通信装置の前記外部アドレス・ポート情報に基づいて、前記第２の通信装置との間に前記仮想トンネルを生成することを特徴とする。
【００５８】
また、本発明の別の形態である通信装置は、異なるアドレス空間のネットワーク間で送受信されるパケットのＮＡＴ（Network Address Translation）アドレス変換を行う中継装置を介して、前記ＮＡＴアドレス変換で生成された前記中継装置の外側のアドレス空間からアクセスすることが可能なアドレス情報である外部アドレス・ポート情報を返信する機能を持つアドレス情報提供装置から、前記外部アドレス・ポート情報を取得する外部アドレス・ポート情報取得手段と、ＤＭＶＰＮ（Dynamic Multipoint Virtual Private Network）で使用するＮＨＲＰ（Next Hop Resolution Protocol）登録パケットの拡張フィールドに前記外部アドレス・ポート情報を含めて該ＤＭＶＰＮのハブに送信し、前記ハブから、該ハブを介したスポーク間通信において、相手先スポークとの間に仮想トンネルを生成可能であることを通知されると、前記ＤＭＶＰＮで使用するＮＨＲＰ解決要求パケットの拡張フィールドに前記外部アドレス・ポート情報を含めて前記相手先スポークに送信し、前記ＮＨＲＰ解決要求パケットを受信した前記相手先スポークが返送する前記ＤＭＶＰＮで使用するＮＨＲＰ解決応答パケットの拡張フィールドから前記相手先スポークの前記外部アドレス・ポート情報を取得するアドレス解決手段と、前記アドレス解決手段が取得した前記相手先スポークの前記外部アドレス・ポート情報に基づいて、前記相手先スポークとの間に前記仮想トンネルを生成するトンネル生成手段と、を含むことを特徴とする。
【００５９】
また、本発明の他の形態であるＶＰＮ構築方法は、ＤＭＶＰＮ（Dynamic Multipoint Virtual Private Network）を構成するスポークとして機能し、異なるアドレス空間のネットワーク間で送受信されるパケットのＮＡＴ（Network Address Translation）アドレス変換を行う中継装置の配下に設置され、前記中継装置の外側のアドレス空間からアクセスすることが可能なアドレス情報である外部アドレス・ポート情報を返信する機能を持つアドレス情報提供装置から前記外部アドレス・ポート情報を取得する少なくとも２つの通信装置である第１の通信装置と第２の通信装置のそれぞれが、前記ＤＭＶＰＮで使用するＮＨＲＰ（Next Hop Resolution Protocol）登録パケットの拡張フィールドに該外部アドレス・ポート情報を含めて送信し、前記ＤＭＶＰＮを構成するハブとして機能する第３の通信装置が、配下の前記第１の通信装置と前記第２の通信装置のそれぞれから受信した前記ＮＨＲＰ登録パケットに含まれる前記外部アドレス・ポート情報を前記第１の通信装置と前記第２の通信装置のそれぞれと対応付けたマッピング情報に登録し、前記第３の通信装置を介したパケット送信元の前記スポークである前記第１の通信装置からパケット送信先の前記スポークである前記第２の通信装置との通信において、該第３の通信装置が、前記第１の通信装置と前記第２の通信装置との間に仮想トンネルを生成可能であることを前記マッピング情報に基づいて検出すると、前記第１の通信装置に対して前記仮想トンネルの生成を指示し、前記第３の通信装置から前記仮想トンネルの生成の指示を受けた前記第１の通信装置が、前記ＤＭＶＰＮで使用するＮＨＲＰ解決要求パケットの拡張フィールドに該第１の通信装置の前記外部アドレス・ポート情報を含めて送信し、前記第１の通信装置から前記ＮＨＲＰ解決要求パケットを受信した前記第２の通信装置が、前記ＤＭＶＰＮで使用するＮＨＲＰ解決応答パケットの拡張フィールドに該第２の通信装置の前記外部アドレス・ポート情報を含めて返信し、前記ＮＨＲＰ解決応答パケットを受信した前記第１の通信装置が、該ＮＨＲＰ解決応答パケットに含まれる前記第２の通信装置の前記外部アドレス・ポート情報に基づいて、前記第２の通信装置との間に前記仮想トンネルを生成することを特徴とする。
【００６０】
さらに、本発明の他の形態である別の観点でのＶＰＮ構築方法は、異なるアドレス空間のネットワーク間で送受信されるパケットのＮＡＴ（Network Address Translation）アドレス変換を行う中継装置を介して、前記ＮＡＴアドレス変換で生成された前記中継装置の外側のアドレス空間からアクセスすることが可能なアドレス情報である外部アドレス・ポート情報を返信する機能を持つアドレス情報提供装置から前記外部アドレス・ポート情報を取得し、ＤＭＶＰＮ（Dynamic Multipoint Virtual Private Network）で使用するＮＨＲＰ（Next Hop Resolution Protocol）登録パケットの拡張フィールドに前記外部アドレス・ポート情報を含めて該ＤＭＶＰＮのハブに送信し、前記ハブから、該ハブを介したスポーク間通信において、相手先スポークとの間に仮想トンネルを生成可能であることを通知されると、前記ＤＭＶＰＮで使用するＮＨＲＰ解決要求パケットの拡張フィールドに前記外部アドレス・ポート情報を含めて前記相手先スポークに送信し、前記ＮＨＲＰ解決要求パケットを受信した前記相手先スポークが返送する前記ＤＭＶＰＮで使用するＮＨＲＰ解決応答パケットの拡張フィールドから前記相手先スポークの前記外部アドレス・ポート情報を取得し、取得した前記相手先スポークの前記外部アドレス・ポート情報に基づいて、前記相手先スポークとの間に前記仮想トンネルを生成することを特徴とする。
【発明の効果】
【００６１】
本発明は、ＤＭＶＰＮ上のスポークがＮＡＴ装置配下にある環境で、取得したＮＡＴ変換後のグローバルＩＰアドレス・ポート情報をスポーク間で通知して、動的に仮想トンネルを生成することができる。
【図面の簡単な説明】
【００６２】
【図１】本発明の第１の実施形態の通信システムの構成を示すブロック図である。
【図２】本発明の第１の実施形態の通信装置の構成を示すブロック図である。
【図３】本発明の第１の実施形態の通信システムにおける装置間の動作を説明するシーケンス図である。
【図４】本発明の第１の実施形態の通信装置の動作を説明するフロー図である。
【図５】本発明の第２の実施形態の通信システムの構成を示すブロック図である。
【図６】本発明の第２の実施形態の通信システムにおける装置間の動作を説明するシーケンス図である。
【図７】本発明の第２の実施形態の通信装置の構成を示すブロック図である。
【図８】ＮＨＲＰプロトコルパケットの拡張フィールドを示す構成図である。
【図９】ハブの動作を示すフロー図である。
【図１０】スポークの動作を示すフロー図である。
【図１１】ＮＡＴトラバーサルのＩＰｓｅｃパケット送受信におけるポート番号の変換制御を示すシーケンス図である。
【図１２】ＮＡＴ種別の組合せによる動的仮想トンネルの生成可否の対応を示す図である。
【図１３】スポークにおける自装置側のＮＡＴ種別および相手装置側のＮＡＴ種別に応じた制御動作を示すフロー図である。
【図１４】スポークにおける外部アドレス・ポート情報の更新動作を示すフロー図である。
【発明を実施するための形態】
【００６３】
本発明を実施するための形態について図面を参照して説明する。
【００６４】
尚、実施の形態は例示であり、開示の装置、システムおよび方法は、以下の実施の形態の構成には限定されない。
【００６５】
（第１の実施形態）
第１の実施形態の通信システムについて説明する、
図１は、本発明の第１の実施形態の通信システムの構成を示すブロック図である。本実施形態の通信システム１は、企業等のプライベート網を、広域網６０を介して接続したＤＭＶＰＮ（Dynamic Multipoint Virtual Private Network）を構成するネットワーク形態となっている。
【００６６】
第１の通信装置１０は、第１プライベート網６１に属し、ＤＭＶＰＮのスポークとして機能する通信装置である。第２の通信装置２０は、第２プライベート網６２に属し、ＤＭＶＰＮのスポークとして機能する通信装置である。また、第３の通信装置３０は、第３プライベート網６３に属し、ＤＭＶＰＮのハブとして機能する通信装置である。図１では、スポークとなる通信装置として、第１の通信装置１０と第２の通信装置２０のみを示しているが、これは最小構成を例示するものであり、スポークとなる通信装置の数は任意である。第１プライベート網６１、第２プライベート網６２および第３プライベート網６３は同一の企業等に属するプライベート網である。特に各プライベート網を区別して説明する必要がない場合には「プライベート網」と総称して説明する。
【００６７】
第１の通信装置１０は、第１プライベート網６１においてＮＡＴアドレス変換を行う第１の中継装置４０の配下に設置される。また、第２の通信装置２０は、第２プライベート網６２においてＮＡＴアドレス変換を行う第２の中継装置５０の配下に設置される。なお、各中継装置を区別して説明する必要がない場合には「中継装置」と総称して説明する。
【００６８】
ＮＡＴとは、異なるアドレス空間のネットワーク間で送受信されるパケットのアドレス変換を行う機能を称する。つまり、ＮＡＴは、プライベート網で使用されるアドレス情報と、中継装置が保持している広域網で使用するアドレス情報との変換を行う。また、ここでＮＡＴは狭義のＮＡＰＴ（Network Address Port Translation）を含めた広義のＮＡＴを意味する。そして、アドレス・ポートは、アドレスのみ、アドレスおよびポート番号、のいずれかを意味するものとする。
【００６９】
また、「配下に設置される」とは、中継装置を境界として、プライベート網の内側に設置されることを意味する。従って、「外側」や「外部」は、中継装置を境界として、広域網側を意味する。
【００７０】
また、広域網６０にはアドレス情報提供装置７０が接続されており、第１の通信装置１０と第２の通信装置２０に対して、ＮＡＴアドレス変換で生成された外部アドレス・ポート情報を返信する機能を持つ。ここで、外部アドレス・ポート情報は、各中継装置の外側のアドレス空間である広域網側から第１の通信装置１０や第２の通信装置２０にそれぞれアクセスすることが可能なアドレス情報である。
【００７１】
第１の通信装置１０と第２の通信装置２０のそれぞれは、アドレス情報提供装置７０から外部アドレス・ポート情報を取得する。そして、ＤＭＶＰＮで使用するＮＨＲＰ（Next Hop Resolution Protocol）登録パケットの拡張フィールドに該外部アドレス・ポート情報を含めて送信する。
【００７２】
第３の通信装置３０は、配下の第１の通信装置１０と第２の通信装置２０のそれぞれから受信したＮＨＲＰ登録パケットに含まれる外部アドレス・ポート情報を、第１の通信装置１０と第２の通信装置２０のそれぞれと対応付けたマッピング情報に登録する。ここで、「配下」とは、ＤＭＶＰＮの構成におけるハブに対するスポークを意味する。
【００７３】
パケット送信元のスポークである第１の通信装置１０は、第３の通信装置３０を介して仮想トンネルにより送信先のスポークである第２の通信装置２０と通信を行う。
【００７４】
第３の通信装置３０は、この第３の通信装置を介した第１の通信装置１０と第２の通信装置２０との通信において、該第１の通信装置１０と該第２の通信装置２０との間に仮想トンネルを生成可能であることをマッピング情報に基づいて検出する。そして、第３の通信装置３０は第１の通信装置１０に対して仮想トンネルの生成を指示する。
【００７５】
第３の通信装置３０から仮想トンネルの生成の指示を受けた第１の通信装置１０は、ＤＭＶＰＮで使用するＮＨＲＰ解決要求パケットの拡張フィールドに該第１の通信装置１０の外部アドレス・ポート情報を含めて送信する。
【００７６】
第１の通信装置１０からＮＨＲＰ解決要求パケットを受信した第２の通信装置２０は、ＤＭＶＰＮで使用するＮＨＲＰ解決応答パケットの拡張フィールドに該第２の通信装置２０の外部アドレス・ポート情報を含めて返信する。
【００７７】
そして、ＮＨＲＰ解決応答パケットを受信した第１の通信装置１０は、該ＮＨＲＰ解決応答パケットに含まれる第２の通信装置２０の外部アドレス・ポート情報に基づいて、第２の通信装置２０との間に仮想トンネルを生成する。
【００７８】
第１の実施形態の通信装置を説明する。
【００７９】
図２は、本発明の第１の実施形態の通信装置の構成を示すブロック図である。
【００８０】
第１の実施形態の通信装置１００は、外部アドレス・ポート情報取得手段１１０、アドレス解決手段１２０およびトンネル生成手段１３０を含む構成になっている。
【００８１】
外部アドレス・ポート情報取得手段１１０は、異なるアドレス空間のネットワーク間で送受信されるパケットのＮＡＴアドレス変換を行う中継装置を介して、アドレス情報提供装置から外部アドレス・ポート情報を取得する。
【００８２】
外部アドレス・ポート情報は、ＮＡＴアドレス変換で生成された中継装置の外側のアドレス空間である広域網側からアクセスすることが可能なアドレス情報である。そして、アドレス情報提供装置は、この外部アドレス・ポート情報を通信装置１００に返信する機能を持つ装置である。
【００８３】
アドレス解決手段１２０は、ＤＭＶＰＮで使用するＮＨＲＰ登録パケットの拡張フィールドに外部アドレス・ポート情報を含めて該ＤＭＶＰＮのハブに送信する。
【００８４】
アドレス解決手段１２０は、ハブから、該ハブを介したスポーク間通信において、相手先スポークとの間に仮想トンネルを生成可能であることを通知されると、ＤＭＶＰＮで使用するＮＨＲＰ解決要求パケットを相手先スポークに送信する。ＮＨＲＰ解決要求パケットの拡張フィールドには外部アドレス・ポート情報を含める。
【００８５】
また、アドレス解決手段１２０は、このＮＨＲＰ解決要求パケットを受信した相手先スポークが返送するＤＭＶＰＮで使用するＮＨＲＰ解決応答パケットの拡張フィールドから相手先スポークの外部アドレス・ポート情報を取得する。
【００８６】
トンネル生成手段１３０は、アドレス解決手段１２０が取得した相手先スポークの外部アドレス・ポート情報に基づいて、相手先スポークとの間に仮想トンネルを生成する。
【００８７】
次に、図３および図４を参照して第１の実施形態のＶＰＮ構築方法を説明する。
【００８８】
図３は、図１に示した第１の実施形態の通信システム１における装置間の動作を説明するシーケンス図である。
【００８９】
図４は、図２に示した第１の実施形態の通信装置１００の動作を示すフロー図である。
【００９０】
通信システム１や通信装置１００が動作することにより第１の実施形態のＶＰＮ構築方法が実施される。
【００９１】
まず、図３を参照して通信システム１における装置間の動作を説明する。
【００９２】
ＤＭＶＰＮを構成するスポークとして機能する第１の通信装置１０と第２の通信装置２０のそれぞれが、アドレス情報提供装置７０から外部アドレス・ポート情報を取得する（Ｓ１０１、Ｓ１０２）
第１の通信装置１０と第２の通信装置２０は、異なるアドレス空間のネットワーク間で送受信されるパケットのＮＡＴアドレス変換を行う第１の中継装置４０、第２の中継装置５０のそれぞれの配下に設置される。そして、アドレス情報提供装置７０は、第１の通信装置１０と第２の通信装置２０に対して、ＮＡＴアドレス変換で生成された外部アドレス・ポート情報を返信する機能を持つ。外部アドレス・ポート情報は、第１の中継装置４０、第２の中継装置５０の外側のアドレス空間である広域網側から第１の通信装置１０や第２の通信装置２０にそれぞれアクセスすることが可能なアドレス情報である。
【００９３】
外部アドレス・ポート情報を取得した第１の通信装置１０と第２の通信装置２０のそれぞれは、ＤＭＶＰＮで使用するＮＨＲＰ登録パケットの拡張フィールドに該外部アドレス・ポート情報を含めて送信する（Ｓ１０３、Ｓ１０４）。
【００９４】
このＮＨＲＰ登録パケットはＤＭＶＰＮを構成するハブとして機能する第３の通信装置３０で受信される。そして、第３の通信装置３０は、第１の通信装置１０と第２の通信装置２０のそれぞれから受信したＮＨＲＰ登録パケットに含まれる外部アドレス・ポート情報を第１の通信装置１０と第２の通信装置２０のそれぞれと対応付けたマッピング情報に登録する（Ｓ１０５）。
【００９５】
第３の通信装置３０を介したパケット送信元のスポークである第１の通信装置１０からパケット送信先のスポークである第２の通信装置２０との通信が行われる。この通信において、第３の通信装置３０が、第１の通信装置１０と第２の通信装置２０との間に仮想トンネルを生成可能であることを検出する。第３の通信装置３０はこの検出をマッピング情報に基づいて行う（Ｓ１０６）。
【００９６】
第１の通信装置１０に対して仮想トンネルの生成が指示される（Ｓ１０７）。
【００９７】
第３の通信装置３０から仮想トンネルの生成の指示を受けた第１の通信装置１０が、ＤＭＶＰＮで使用するＮＨＲＰ解決要求パケットの拡張フィールドに該第１の通信装置１０の外部アドレス・ポート情報を含めて送信する（Ｓ１０８）。
【００９８】
第１の通信装置１０からこのＮＨＲＰ解決要求パケットを受信した第２の通信装置２０が、ＤＭＶＰＮで使用するＮＨＲＰ解決応答パケットの拡張フィールドに該第２の通信装置２０の外部アドレス・ポート情報を含めて返信する（Ｓ１０９）。
【００９９】
ＮＨＲＰ解決応答パケットを受信した第１の通信装置１０が、該ＮＨＲＰ解決応答パケットに含まれる第２の通信装置２０の外部アドレス・ポート情報に基づいて、第２の通信装置２０との間に仮想トンネルを生成する（Ｓ１１０）。
【０１００】
以降の第１の通信装置１０と第２の通信装置２０との間の通信は、ハブである第３の通信装置３０を介することなく、動的に生成した仮想トンネルにより行われる。
【０１０１】
次に、図４を参照して通信装置１００の動作を説明する。
【０１０２】
異なるアドレス空間のネットワーク間で送受信されるパケットのＮＡＴアドレス変換を行う中継装置を介して、アドレス情報提供装置から外部アドレス・ポート情報を取得する（Ｓ２０１）。
【０１０３】
外部アドレス・ポート情報は、ＮＡＴアドレス変換で生成された中継装置の外側のアドレス空間である広域網側からアクセスすることが可能なアドレス情報である。そして、アドレス情報提供装置は、この外部アドレス・ポート情報を通信装置１００に返信する機能を持つ装置である。
【０１０４】
ＤＭＶＰＮで使用するＮＨＲＰ登録パケットの拡張フィールドに外部アドレス・ポート情報を含めて該ＤＭＶＰＮのハブに送信するＮＨＲＰ登録を行う（Ｓ２０２）。
【０１０５】
ハブ経由のスポーク間通信が実行される（Ｓ２０３）。
【０１０６】
ハブを介したスポーク間通信において、相手先スポークとの間に仮想トンネルを生成可能であることをハブから通知される（Ｓ２０４）。
【０１０７】
ＤＭＶＰＮで使用するＮＨＲＰ解決要求パケットの拡張フィールドに外部アドレス・ポート情報を含めて相手先スポークに送信する（Ｓ２０５）。
【０１０８】
該ＮＨＲＰ解決要求パケットに対して相手先スポークが返送するＮＨＲＰ解決要求パケットを受信し、該ＮＨＲＰ解決応答パケットの拡張フィールドから相手先スポークの外部アドレス・ポート情報を取得する（Ｓ２０６）。
【０１０９】
取得した相手先スポークの外部アドレス・ポート情報に基づいて、相手先スポークとの間に仮想トンネルを生成する（Ｓ２０７）。
【０１１０】
以上のように、本実施形態では中継装置でＮＡＴアドレス変換された外部アドレス・ポート情報をアドレス情報提供装置から取得する。そして、それをＮＨＲＰプロトコルのパケットの拡張フィールドに含めてスポーク間で通知することができる。
【０１１１】
そのため、ＤＭＶＰＮ上のスポークがＮＡＴ装置配下にある環境で、取得したＮＡＴ変換後のグローバルＩＰアドレス・ポートをスポーク間で通知して、動的に仮想トンネルを生成することができる。
【０１１２】
（第２の実施形態）
次に、本発明の第２の実施形態を説明する。
【０１１３】
（第２の実施形態の通信システムの構成）
図５は、本発明の第２の実施形態の通信システムの構成を示すブロック図である。
【０１１４】
本実施形態の通信システム２では、インターネット６５を介して各拠点のスポークとなる第１のＶＰＮ装置１１や第２のＶＰＮ装置２１と本社のハブとなる第３のＶＰＮ装置３１を仮想トンネルで接続してＤＭＶＰＮを構築する形態となっている。そして、第１のＶＰＮ装置１１と第２のＶＰＮ装置２１のスポーク同士は必要時のみ動的な仮想トンネルを生成する。ここでは、最小構成として第１のＶＰＮ装置１１と第２のＶＰＮ装置２１のみを例示しているが、拠点とそこに設置されるスポークとなるＶＰＮ装置の数は任意である。なお、仮想トンネルは、マルチポイントＧＲＥでルーティングされ、ＩＰｓｅｃにより転送データの暗号化が行われて通信の安全性が確保されている。
【０１１５】
第１のＶＰＮ装置１１は、ＬＡＮ側インタフェースに、その拠点のＬＡＮである第１のＬＡＮ１２を接続し、ＷＡＮ（Wide Area Network）側インタフェースに、ＮＡＴアドレス変換を行う第１のゲートウェイ４１を接続する。つまり、第１のＶＰＮ装置１１は第１のゲートウェイ４１の配下に設置され、第１のＬＡＮ１２を配下にする。第１のＶＰＮ装置１１の経路情報には、第１のゲートウェイ４１がデフォルトゲートウェイとして設定され、第１のゲートウェイ４１のプライベートＩＰアドレスが設定されている。
【０１１６】
また、第２のＶＰＮ装置２１は、ＬＡＮ側インタフェースに、その拠点のＬＡＮである第２のＬＡＮ２２を接続し、ＷＡＮ側インタフェースに、ＮＡＴアドレス変換を行う第２のゲートウェイ５１を接続する。つまり、第２のＶＰＮ装置２１は第２のゲートウェイ５１の配下に設置され、第２のＬＡＮ２２を配下にする。第２のＶＰＮ装置２１の経路情報には、第２のゲートウェイ５１がデフォルトゲートウェイとして設定され、第２のゲートウェイ５１のプライベートＩＰアドレスが設定されている。
【０１１７】
第１のゲートウェイ４１および第２のゲートウェイ５１は、それぞれの配下となるプライベート網で使用されるアドレス情報と、各ゲートウェイが保持しているインターネット６５で使用するアドレス情報との変換を行う。本実施形態では、プライベート網で使用されるアドレス情報はプライベートＩＰアドレス・ポートであり、インターネット６５で使用するアドレス情報はグローバルＩＰアドレス・ポートである。
【０１１８】
なお、「ＮＡＴアドレス変換」を以降の説明では単に「ＮＡＴ」または「ＮＡＴ変換」と称する。また、ＮＡＴ機能を備えたゲートウェイのことを「ＮＡＴ装置」とも称する。
【０１１９】
インターネット６５にはＳＴＵＮサーバ７１が設置されている。ＳＴＵＮサーバ７１は、ＳＴＵＮクライアントとなる第１のＶＰＮ装置１１と第２のＶＰＮ装置２１に対して、対応する各ゲートウェイで実施されるＮＡＴで生成された外部アドレス・ポート情報をＳＴＵＮプロトコルにより返信する機能を持つ。
【０１２０】
ここで、外部アドレス・ポート情報は、インターネット６５から第１のＶＰＮ装置１１や第２のＶＰＮ装置２１にそれぞれアクセスすることが可能なアドレス情報であり、グローバルＩＰアドレス・ポートを意味する。
【０１２１】
また、外部アドレス・ポート情報には、各ゲートウェイが実施するアドレス・ポート変換のマッピング方法に応じて分類されたＮＡＴ種別を含む。つまり、ＮＡＴで割り当てたポートにアクセスできるインターネット側の端末の制限に応じて、フルコーンＮＡＴ、アドレス制限コーンＮＡＴ、ポート制限コーンＮＡＴおよびシンメトリックＮＡＴの４つの種別がある。
【０１２２】
上記の構成を図１に示した第１の実施形態の通信装置１と対応させると次のようになる。
【０１２３】
第１のＶＰＮ装置１１、第２のＶＰＮ装置２１、第３のＶＰＮ装置３１は、それぞれ第１の通信装置１０、第２の通信装置２０、第３の通信装置３０に対応する。
【０１２４】
第１のゲートウェイ４１、第２のゲートウェイ５１は、それぞれ第１の中継装置４０、第２の中継装置５０に対応する。
【０１２５】
そして、インターネット６１は広域網６０に、ＳＴＵＮサーバ７１はアドレス情報提供装置７０にそれぞれ対応する。
【０１２６】
また、第１の実施形態と同様に、本実施形態においてもＮＡＴとは、異なるアドレス空間のネットワーク間で送受信されるパケットのアドレス変換を行う機能を称し、狭義のＮＡＰＴを含めた広義のＮＡＴを意味する。そして、アドレス・ポートは、アドレスのみ、アドレスおよびポート番号、のいずれかを意味するものとする。
【０１２７】
以上のように物理的に構成された通信システム２を、仮想ネットワークの観点でみると、ＤＭＶＰＮの経路情報は、ＢＧＰ（Border Gateway Protocol）等の動的ルーティングプロトコルにより配信されており、次のように設定されている。
【０１２８】
ＤＭＶＰＮで構築した仮想ネットワーク上のスポークとなる第１のＶＰＮ装置１１と第２のＶＰＮ装置２１およびハブとなる第３のＶＰＮ装置３１をステーションと称し、各ステーションは、それぞれがトンネルＩＰアドレスを持っている。トンネルＩＰアドレスは、トンネルインタフェースに割り当てた仮想ネットワーク上のＩＰアドレスで、ＤＭＶＰＮ上のステーション間でパケットを送受信するときに使われる。
【０１２９】
第１のＶＰＮ装置１１では、相手先スポークである第２のＶＰＮ装置２１配下の第２のＬＡＮ２２へのネクストホップとして、ハブである第３のＶＰＮ装置３１のトンネルＩＰアドレスが設定されている。同様に、第２のＶＰＮ装置２１では、相手先スポークである第１のＶＰＮ装置１１配下の第１のＬＡＮ１２へのネクストホップとして、ハブである第３のＶＰＮ装置３１のトンネルＩＰアドレスが設定されている。
【０１３０】
また、ハブである第３のＶＰＮ装置３１では、第１のＶＰＮ装置１１配下の第１のＬＡＮ１２へのネクストホップとして、第１のＶＰＮ装置１１のトンネルＩＰアドレスが設定されている。同様に、ハブである第３のＶＰＮ装置３１では、第２のＶＰＮ装置２１配下の第２のＬＡＮ２２へのネクストホップとして、第２のＶＰＮ装置２１のトンネルＩＰアドレスが設定されている。
【０１３１】
また、各ステーションの物理インタフェースに割り当てたＩＰアドレスとして、プライベートＩＰアドレスやグローバルＩＰアドレスがある。例えば、第１のＶＰＮ装置１１と第２のＶＰＮ装置２１はプライベート網に属するのでプライベートＩＰアドレスが割り当てられる。そして、第３のＶＰＮ装置３１はインターネット上に配置されるのでグローバルＩＰアドレスを持つ。
【０１３２】
第１のＬＡＮ１２に属する端末が、第２のＬＡＮ２２に属する端末にデータパケットを送信する場合、パケットは上記のように設定されたトンネルＩＰアドレスでルーティングされてＤＭＶＰＮで構築されたトンネル内を通る。つまり、トンネルＩＰアドレスのＩＰヘッダを持つデータパケットがＧＲＥカプセル化され、物理インタフェースのＩＰアドレスのＩＰヘッダが付加されてインターネット６５内を転送される。そして、ステーション間のトンネルでは転送されるパケットがＩＰｓｅｃにより暗号化される。
【０１３３】
（第２の実施形態の通信システムにおける装置間の動作）
図６は、図５に示した第２の実施形態の通信システム２における装置間の動作を説明するシーケンス図である。
【０１３４】
ＤＭＶＰＮを機能させるため、第１のＬＡＮ１２に属する端末と第２のＬＡＮ２２に属する端末間での通信を開始する前に、ハブに対してスポークである第１のＶＰＮ装置１１と第２のＶＰＮ装置２１によるＮＨＲＰプロトコルの登録が事前に行われる。
【０１３５】
まず、第１のＶＰＮ装置１１、第２のＶＰＮ装置２１のそれぞれは、ＮＨＲＰプロトコルの登録に必要な情報の取得を行う。
【０１３６】
第１のＶＰＮ装置１１、第２のＶＰＮ装置２１のそれぞれは、インターネット６５に配備されたＳＴＵＮサーバ７１への問合せを行い、ＮＡＴ変換後の各自のグローバルＩＰアドレス・ポートおよびＮＡＴ種別を取得する（Ｓ３０１、Ｓ３０２）。
【０１３７】
このときの動作を第１のＶＰＮ装置１１を例にして説明する。
【０１３８】
第１のＶＰＮ装置１１は、自身のプライベートＩＰアドレス・ポートを送信元アドレスとし、ＳＴＵＮサーバ７１のグローバルＩＰアドレス・ポートを宛先としたＳＴＵＮリクエストを送信する。このＳＴＵＮリクエストが第１のゲートウェイ４１を介してインターネット６５に出てゆくときに、ＮＡＴ変換が行われる。つまり、ＳＴＵＮリクエストの送信元アドレスが第１のＶＰＮ装置１１のプライベートＩＰアドレス・ポートから、ＮＡＴ変換で割り当てられたグローバルＩＰアドレス・ポートに書き換えられ、そのエントリが生成される。
【０１３９】
ＳＴＵＮリクエストを受信したＳＴＵＮサーバ７１は、ＳＴＵＮリクエストの送信元アドレスのグローバルＩＰアドレス・ポートを含めたＳＴＵＮレスポンスを、該グローバルＩＰアドレス・ポートを宛先として送信する。
【０１４０】
このＳＴＵＮレスポンスは宛先のグローバルＩＰアドレス・ポートである第１のゲートウェイ４１に達する。第１のゲートウェイ４１では、上記のＳＴＵＮリクエストが通過する際に生成されたエントリに基づいて逆方向のＮＡＴ変換が行われる。つまり、ＳＴＵＮレスポンスの宛先は、グローバルＩＰアドレス・ポートから該エントリに基づく第１のＶＰＮ装置１１のプライベートＩＰアドレス・ポートに書き換えられ、第１のＶＰＮ装置１１で受信される。
【０１４１】
このようにして、第１のＶＰＮ装置１１は、ＳＴＵＮプロトコルを用いて、インターネット６５に出てゆく際にＮＡＴ変換されるグローバルＩＰアドレス・ポートを取得する。また、第１のゲートウェイ４１のＮＡＴ種別も特定する。第１のＶＰＮ装置１１は、取得したグローバルＩＰアドレス・ポートおよびＮＡＴ種別をグローバルＩＰアドレス・ポート情報として自装置内に記憶する。
【０１４２】
第２のＶＰＮ装置２１も上記と同様の動作により、第２のゲートウェイ５１でＮＡＴ変換されるグローバルＩＰアドレス・ポートおよびＮＡＴ種別を取得して自装置内に記憶する。
【０１４３】
なお、上述したＮＡＴ変換されるグローバルＩＰアドレス・ポートのＳＴＵＮプロトコルによる取得は定期的に行われる。そして、該グローバルＩＰアドレス・ポートに変更があった場合はそれを最新の状態に保つ。グローバルＩＰアドレス・ポートを最新の状態に保つための処理については後述する。
【０１４４】
ＮＡＴ変換されるグローバルＩＰアドレス・ポートおよびＮＡＴ種別をＳＴＵＮサーバ７１から取得した第１のＶＰＮ装置１１と第２のＶＰＮ装置２１のそれぞれは、ハブである第３のＶＰＮ装置３１に対してＮＨＲＰ登録を行う（Ｓ３０３、Ｓ３０４）。
【０１４５】
第１のＶＰＮ装置１１と第２のＶＰＮ装置２１のそれぞれは、第３のＶＰＮ装置３１宛にＮＨＲＰ登録要求を送信する。ＮＨＲＰ登録要求の拡張部には後述するＮＡＰＴ拡張が付加され、ＳＴＵＮサーバ７１から取得したグローバルＩＰアドレス・ポートおよびＮＡＴ種別が格納される。
【０１４６】
ＮＨＲＰ登録要求を受信した第３のＶＰＮ装置３１は、該ＮＨＲＰ登録要求のＮＡＰＴ拡張に含まれる第１のＶＰＮ装置１１や第２のＶＰＮ装置２１のグローバルＩＰアドレス・ポートおよびＮＡＴ種別を取り出す。そして、第３のＶＰＮ装置３１は、ＮＨＲＰ登録要求の送信元アドレスである各スポークの仮想ネットワーク上のトンネルＩＰアドレスと、グローバルＩＰアドレス・ポートおよびＮＡＴ種別とを対応付けたマッピング情報を登録する（Ｓ３０５）。
【０１４７】
ＮＨＲＰ登録が終了した第３のＶＰＮ装置３１は、ＮＨＲＰ登録応答を第１のＶＰＮ装置１１や第２のＶＰＮ装置２１に返送する。このとき、ＮＨＲＰ登録応答の宛先物理ＩＰアドレスおよびＩＰｓｅｃのＮＡＴトラバーサルで使用する宛先ＵＤＰポート番号は、取得したＮＡＰＴ拡張の情報を使用する。
【０１４８】
ＮＨＲＰ登録が完了すると、ＤＭＶＰＮが使用可能となる。
【０１４９】
第１のＬＡＮ１２に属する端末と第２のＬＡＮ２２に属する端末との間でハブ経由スポーク間通信が行われる（Ｓ３０６）。
【０１５０】
第１のＬＡＮ１２に属する端末が第２のＬＡＮ２２に属する端末宛にデータパケットを送信すると、このデータパケットはスポークである第１のＶＰＮ装置１１に転送される。
【０１５１】
第１のＶＰＮ装置１１は経路情報に従い、第２のＶＰＮ装置２１配下の第２のＬＡＮ２２に属する端末宛のデータパケットをハブである第３のＶＰＮ装置３１に転送する。
【０１５２】
第３のＶＰＮ装置３１は、第２のＶＰＮ装置２１配下の第２のＬＡＮ２２に属する端末宛のデータパケットを、第２のＶＰＮ装置２１に転送する。
【０１５３】
第２のＶＰＮ装置２１は、データパケットの宛先が自身の配下の第２のＬＡＮ２２に属する端末宛なので、該データパケットを第２のＬＡＮ２２に属する端末に転送する。データパケットは該端末で受信される。
【０１５４】
上記の動作において、ハブである第３のＶＰＮ装置３１がデータパケットを転送する際に、第１のＶＰＮ装置１１と第２のＶＰＮ装置２１との間でスポーク間通信が可能か否かを判定する（Ｓ３０７）。
【０１５５】
この判定は、第３のＶＰＮ装置３１に登録したマッピング情報の双方のスポークに対応するＮＡＴ種別に基づいて行われる。詳細は後述する。
【０１５６】
第１のＶＰＮ装置１１と第２のＶＰＮ装置２１との間でスポーク間通信が可能であると判定すると、第３のＶＰＮ装置３１は、データパケットの送信元の第１のＶＰＮ装置１１にＮＨＲＰトラフィック通知を送信して、アドレス解決の実施を指示する（Ｓ３０８）。
【０１５７】
ＮＨＲＰトラフィック通知を受信した第１のＶＰＮ装置１１は、ＮＨＲＰ解決を開始する。
【０１５８】
第１のＶＰＮ装置１１は、第２のＬＡＮ２２に属する端末のプライベートＩＰアドレス・ポート宛にＮＨＲＰ解決要求を送信する（Ｓ３０９）。
【０１５９】
そのとき、ＮＨＲＰ解決要求の拡張部には、第１のＶＰＮ装置１１のＮＡＰＴ拡張が付加される。該ＮＡＰＴ拡張には、第１のＶＰＮ装置１１がＳＴＵＮサーバ７１から取得したグローバルＩＰアドレス・ポートおよびＮＡＴ種別が格納されている。
【０１６０】
ＮＨＲＰ解決要求は、第１のＬＡＮ１２に属する端末から第２のＬＡＮ２２に属する端末宛のデータパケットと同様に、第３のＶＰＮ装置３１を経由して第２のＶＰＮ装置２１で受信される。
【０１６１】
ＮＨＲＰ解決要求を受信した第２のＶＰＮ装置２１は、第１のＶＰＮ装置１１宛にＮＨＲＰ解決応答を送信する（Ｓ３１０）。
【０１６２】
ＮＨＲＰ解決応答の拡張部には、第２のＶＰＮ装置２１のＮＡＰＴ拡張が付加される。該ＮＡＰＴ拡張には、第２のＶＰＮ装置２１がＳＴＵＮサーバ７１から取得したグローバルＩＰアドレス・ポートおよびＮＡＴ種別が格納されている。
【０１６３】
ＮＨＲＰ解決応答は、経路情報に従い、第３のＶＰＮ装置３１経由で第１のＶＰＮ装置１１に到達し、第１のＶＰＮ装置１１で受信される。
【０１６４】
第１のＶＰＮ装置１１は、ＮＨＲＰ解決応答の送信元アドレス情報として第２のＶＰＮ装置２１のＩＰアドレス情報（物理ネットワーク上のＩＰアドレスおよび仮想ネットワーク上のＩＰアドレス）に加えて、ＮＡＰＴ拡張の情報を取得する。
【０１６５】
相手先スポークとなる第２のＶＰＮ装置２１のグローバルＩＰアドレス・ポートを取得した第１のＶＰＮ装置１１は、その情報を用いて第２のＶＰＮ装置２１との間に動的な仮想トンネルを生成する（Ｓ３１１）。
【０１６６】
このとき、第１のＶＰＮ装置１１は仮想ネットワークの経路情報を追加する。つまり、第２のＶＰＮ装置２１配下の第２のＬＡＮ２２へのネクストホップは、第２のＶＰＮ装置２１の仮想ネットワーク上のトンネルＩＰアドレスとなる。
【０１６７】
以上の動作で、ＮＨＲＰ解決が完了する。
【０１６８】
第１のＶＰＮ装置１１と第２のＶＰＮ装置２１のスポーク間トンネル生成後は、第１のＶＰＮ装置１１で生成した第２のＶＰＮ装置２１の配下の第２のＬＡＮ２２の経路情報に基づいてルーティングされる。そのため、第１のＬＡＮ１２の端末から第２のＬＡＮ２２の端末へのデータパケットは、第１のＶＰＮ装置１１から第２のＶＰＮ装置２１に直接転送されるようになる。
【０１６９】
この経路情報は、第２のＶＰＮ装置２１の情報が生存している間だけ存在する。ＮＨＲＰプロトコルでは、動的に生成した仮想トンネルを未使用時には削除するように、相手先スポーク情報に生存時間を設けている。
【０１７０】
（第２の実施形態の通信装置）
続いて、図７を参照して第２の実施形態の通信装置を説明する。
【０１７１】
図７は、本発明の第２の実施形態の通信装置の構成を示すブロック図である。
【０１７２】
この通信装置２００は、図５に示した、スポークである第１のＶＰＮ装置１１および第２のＶＰＮ装置２１の構成を示すものである。
【０１７３】
通信装置２００は、ＬＡＮインタフェース部２３０、ＷＡＮインタフェース部２４０、通信制御部２１０および外部アドレス・ポート情報記憶部２２０を含んで構成される。
【０１７４】
ＬＡＮインタフェース部２３０は、当該通信装置２００の配下のＬＡＮを接続し、そのＬＡＮに属する端末との間でのパケットの送受信を行う機能部である。
【０１７５】
ＷＡＮインタフェース部２４０は、インターネットとの間のパケットの送受信を行う機能部で、ＮＡＴ機能を備えたゲートウェイと接続される。
【０１７６】
通信制御部２１０は、ＬＡＮインタフェース部２３０とＷＡＮインタフェース部２４０との間でパケットの中継を行う機能を備え、本実施形態のＶＰＮ構築の制御を行う機能部である。
【０１７７】
外部アドレス・ポート情報記憶部２２０は、ＳＴＵＮサーバ７１から取得した本通信装置が接続されたゲートウェイでＮＡＴ変換されるグローバルＩＰアドレス・ポートおよびＮＡＴ種別を記憶する。また、ＮＨＲＰ解決応答で取得した相手先スポークとなる通信装置のグローバルＩＰアドレス・ポートおよびＮＡＴ種別を記憶する。
【０１７８】
通信制御部２１０は、本実施形態のＶＰＮ構築の制御を行う機能として、外部アドレス・ポート情報取得部２１１、アドレス解決部２１２およびトンネル生成部２１３を含む構成になっている。
【０１７９】
外部アドレス・ポート情報取得部２１１は、ＳＴＵＮアプリケーション２１１１を含み、ＳＴＵＮサーバ７１へのアクセスによるグローバルＩＰアドレス・ポートおよびＮＡＴ種別取得を行う。取得した情報は、外部アドレス・ポート情報記憶部２２０に登録すると共に、アドレス解決部２１２に通知する。
【０１８０】
また、後述するように、外部アドレス・ポート情報取得部２１１は、定期的にＳＴＵＮサーバ７１にアクセスして、取得した情報の更新と通知を行う。さらに、ＩＰｓｅｃのＮＡＴトラバーサルで使用する宛先ＵＤＰポート番号の変換処理を行う。これについても後述する。
【０１８１】
アドレス解決部２１２は、ＮＨＲＰプロトコルの制御機能を有し、ＮＨＲＰ登録、ＮＨＲＰ登録応答、ＮＨＲＰトラフィック通知、ＮＨＲＰ解決要求、ＮＨＲＰ解決応答に関する制御を行う。
【０１８２】
アドレス解決部２１２は、外部アドレス・ポート情報取得部２１１からグローバルＩＰアドレス・ポートおよびＮＡＴ種別の取得の通知を受けると、ＮＨＲＰ登録の拡張部にＮＡＰＴ拡張としてその情報を付加してハブに通知する。
【０１８３】
アドレス解決部２１２は、ハブ経由スポーク間通信の際に、ハブからＮＨＲＰトラフィック通知を受けると、ＮＨＲＰ解決要求の拡張部にＮＡＰＴ拡張としてグローバルＩＰアドレス・ポートおよびＮＡＴ種別の情報を付加してＮＨＲＰ解決を図る。
【０１８４】
アドレス解決部２１２は、ＮＨＲＰ解決応答の拡張部にＮＡＰＴ拡張として含まれるグローバルＩＰアドレス・ポートおよびＮＡＴ種別の情報を取得して、外部アドレス・ポート情報記憶部に相手先スポークの情報として登録する。
【０１８５】
トンネル生成部２１３は、動的な仮想トンネルの生成に関する制御を行う。また、トンネル生成部２１３は、仮想トンネルの生成に際してＮＡＴ種別に応じて行われる後述する制御を行うトンネル生成制御部２１３１を含む。
【０１８６】
上記の構成は、本実施形態に関わる構成であり、ＤＭＶＰＮのスポークとして機能するためのその他の機能（経路情報制御、ＢＧＰ、マルチポイントＧＲＥ、ＩＰｓｅｃ等）に関する構成の図示や説明は省略している。
【０１８７】
なお、この通信装置２００は、スポークである第１のＶＰＮ装置１１および第２のＶＰＮ装置２１の構成を示すものとして説明した。一方、図５に示した、ハブとなる第３のＶＰＮ装置３１は、上述の説明から理解されるように、本実施形態に関してはＮＨＲＰ登録やＮＨＲＰトラフィック通知に関する制御を行う。そして、そのために必要な構成としては、ＮＨＲＰ登録で取得した情報に基づくマッピング情報の生成と、それに基づいて行われる動的仮想トンネル生成可否判定機能がある。図５に図示した第３のＶＰＮ装置３１の「マッピング情報」、「トンネル生成判定」がそれらの機能に相当するものとし、個別の通信装置としての詳細構成の図示は省略した。
【０１８８】
（ＮＡＰＴ拡張のフィールド構成）
ここで、本実施形態で使用するＮＨＲＰプロトコルパケットの拡張部に付加するＮＡＰＴ拡張について説明する。
【０１８９】
図８は、ＮＨＲＰプロトコルパケットの拡張フィールドを示す構成図である。
【０１９０】
ＮＨＲＰプロトコルでは、ＮＨＲＰメッセージのパケットは必須部と拡張部から構成される。拡張部は、独自に定義したものを付加することをプロトコルとして許容している。本実施形態では、拡張部にＮＡＰＴ拡張として、図８に示すように、メッセージを送信する送信元スポークのグローバルＩＰアドレス、グローバルポート番号および該送信元スポークが接続しているＮＡＴ装置のＮＡＴ種別を示す値を付加している。
【０１９１】
前述したように、本実施形態では、ＮＨＲＰアドレス解決を通して、ＮＡＴ装置の配下に設置されたスポーク間で、互いのＮＡＰＴ拡張の情報がハブ経由で交換される。そのため、ＮＨＲＰ解決要求を送信したスポークは、相手先スポークのグローバルＩＰアドレス、グローバルポート番号およびＮＡＴ種別を知ることができる。さらに、ＮＨＲＰ登録では各スポークが自身のＮＡＰＴ拡張の情報をハブに通知するので、ハブは、通常のＮＨＲＰ登録の情報に加えて、各スポークのグローバルＩＰアドレス、グローバルポート番号およびＮＡＴ種別を保持することができる。
【０１９２】
（通信装置の動作）
次に、図９と図１０を参照して、ハブとなる通信装置とスポークとなる通信装置の動作をそれぞれ説明する。
【０１９３】
図９はハブの動作を示すフロー図である。
【０１９４】
図９の（１）は、ＮＨＲＰ登録の際の動作を示す。
【０１９５】
ハブは、配下の各スポークからのＮＨＲＰ登録要求を受信する（Ｓ４０１）。
【０１９６】
そして、ハブは受信したＮＨＲＰ登録要求のパケットの拡張部に付加されたＮＡＰＴ拡張から、各スポークのグローバルＩＰアドレス、グローバルポート番号およびＮＡＴ種別を取得し、各スポークと対応付けたマッピング情報に登録する（Ｓ４０２）。
【０１９７】
ＮＨＲＰ登録を行ったハブは、ＮＨＲＰ登録応答をスポークに返送する（Ｓ４０３）。
【０１９８】
また、図９の（２）は、スポーク間通信時のスポーク間トンネルの生成可否判定の動作を示す。
【０１９９】
ハブは、パケットの送信元スポークから送信先スポークに向けたハブ経由スポーク間通信の発生を知る（Ｓ４１１）。
【０２００】
ハブは、前述のＮＨＲＰ登録で生成したマッピング情報に基づいて、送信元スポークと送信先スポークのそれぞれのスポークが接続されたＮＡＴ装置のＮＡＴ種別を識別する（Ｓ４１２）。そして、動的仮想トンネルの作成が可能か否かをそれらのＮＡＴ種別の組合せに基づいて判定する（Ｓ４１３）。
【０２０１】
ＮＡＴ種別の組合せに基づく動的仮想トンネルの生成可否の詳細は図１２を参照して後述するが、送信元と送信先の両方のスポークに対応するＮＡＴ種別がシンメトリックＮＡＴの場合には動的仮想トンネルは作成できないと判定する。また、送信元と送信先のいずれか片方のスポークに対応するＮＡＴ種別がシンメトリックＮＡＴで、他方がポート制限コーンＮＡＴの場合にも動的仮想トンネルは作成できないと判定する。
【０２０２】
動的仮想トンネルの作成が可能と判定した場合（Ｓ４１３、可）、ハブは送信元のスポークに対してＮＨＲＰトラフィック通知を送出して、スポーク間での仮想トンネルの生成を指示する（Ｓ４１４）。ＮＨＲＰトラフィック通知には、送信先スポークの配下になるプライベートネットワーク上の端末のＩＰアドレスが格納されている。そして、ハブ経由スポーク間通信を実施する（Ｓ４１５）。この場合のハブ経由スポーク間通信は、ＮＨＲＰトラフィック通知を受信した送信元スポークが送信先スポークとの間に動的仮想トンネルを生成するまで継続される。
【０２０３】
また、動的仮想トンネルの作成が不可能と判定した場合（Ｓ４１３、不可）、ハブは、ＮＨＲＰトラフィック通知を送信することなく、ハブ経由スポーク間通信を実施する（Ｓ４１５）。
【０２０４】
図１０はスポークの動作を示すフロー図である。
【０２０５】
図１０の（１）は、外部アドレス・ポート情報を取得する動作を示す。
【０２０６】
本実施形態のスポークは、インターネットに配備されたＳＴＵＮサーバから外部アドレス・ポート情報を取得する（Ｓ５０１）。外部アドレス・ポート情報とは、スポークからインターネットに向けて送信されるパケットに付されるＮＡＴ変換後の送信元アドレス情報となるグローバルＩＰアドレス・ポートおよびＮＡＴ種別である。この動作は、図６を参照してステップＳ３０１、ステップＳ３０２に説明したとおりである。
【０２０７】
外部アドレス・ポート情報を取得したスポークは、ハブにＮＨＲＰ登録要求を送信する（Ｓ５０２）。このとき、ＮＨＲＰ登録要求のパケットの拡張部にはＮＡＰＴ拡張が付加される。ＮＡＰＴ拡張は図８を参照して説明した通り、当該スポークが取得したグローバルＩＰアドレス、グローバルポート番号およびＮＡＴ種別を含む情報である。なお、このとき、取得した外部アドレス・ポート情報は、図７に示した外部アドレス・ポート情報記憶部２２０にも登録される。
【０２０８】
図９（１）を参照して説明したように、スポークが送信したＮＨＲＰ登録要求はハブで受信される。そして、ハブでマッピング情報が登録されて、ＮＨＲＰ登録応答が返送される。スポークはこのＮＨＲＰ登録応答を受信して、ＮＨＲＰ登録の完了を知る（Ｓ５０３）。
【０２０９】
また、図１０の（２）は、スポーク間トンネルを生成する動作を示す。
【０２１０】
まず、スポークはハブ経由スポーク間通信を要求する（Ｓ５１１）。
【０２１１】
この動作は、図６を参照してステップＳ３０６に説明したとおりである。つまり、スポークが配下のプライベートネットワーク内の端末から受信したデータパケットが所定の経路情報に従ってハブを経由して相手先スポークに転送される。
【０２１２】
この動作においてハブは、スポーク間での直接通信の可否を図９（２）のステップＳ４１３で説明したように判定し、スポーク間通信が可能であると判定したハブが送信元スポークに対してＮＨＲＰトラフィック通知を送信する。スポークはこのＮＨＲＰトラフィック通知を受信する（Ｓ５１２）。
【０２１３】
ＮＨＲＰトラフィック通知を受信したスポークは相手先スポークとの間に仮想トンネルを生成するためにアドレス解決を開始する。
【０２１４】
スポークは、ＮＨＲＰトラフィック通知に含まれるアドレス情報に基づいて、相手先スポーク配下のプライベートネットワークの端末を宛先としてＮＨＲＰ解決要求を送信する（Ｓ５１３）。
【０２１５】
このとき、ＮＨＲＰ解決要求のパケットの拡張部には、当該スポークのＮＡＰＴ拡張が付加される。ＮＡＰＴ拡張には当該スポークが取得したグローバルＩＰアドレス、グローバルポート番号およびＮＡＴ種別を含む。
【０２１６】
このＮＨＲＰ解決要求はハブ経由で相手先スポークにおいて受信され、相手先スポークからＮＨＲＰ解決応答が送信される。
【０２１７】
このＮＨＲＰ解決応答のパケットの拡張部には、相手先スポークのＮＡＰＴ拡張が付加されている。このＮＡＰＴ拡張には相手先スポークが取得したグローバルＩＰアドレス、グローバルポート番号およびＮＡＴ種別を含む。
【０２１８】
スポークはこのＮＨＲＰ解決応答を受信する（Ｓ５１４）。
【０２１９】
スポークは、ＮＨＲＰ解決応答の送信元アドレス情報として相手先スポークのＩＰアドレス情報に加えて、相手先スポークが取得したグローバルＩＰアドレス、グローバルポート番号およびＮＡＴ種別を含むＮＡＰＴ拡張の情報を取得する。取得した相手先スポークの外部アドレス・ポート情報は、図７に示した外部アドレス・ポート情報記憶部２２０にも登録される。
【０２２０】
スポークは、取得した相手先スポークのグローバルＩＰアドレス・ポートに基づいて相手先スポークとの間に動的な仮想トンネルを生成する（Ｓ５１５）。
【０２２１】
このとき、スポークは仮想ネットワークの経路情報を追加し、相手先スポークの配下のプライベートネットワークへのネクストホップは、相手先スポークの仮想ネットワーク上のトンネルＩＰアドレスとする。
【０２２２】
以降は、図１１乃至１４を参照して、本実施形態の通信装置の特徴的な機能について説明する。
【０２２３】
この特徴的な機能として、次の４つの機能について順次説明する。
【０２２４】
ＮＡＴトラバーサルのＩＰｓｅｃパケット送受信におけるポート番号の変換制御、ＮＡＴ種別の組合せによる動的仮想トンネルの作成可否、自装置側／相手装置側のＮＡＴ種別に応じた制御動作、および外部アドレス・ポート情報の更新動作。
【０２２５】
（ＮＡＴトラバーサルのＩＰｓｅｃパケット送受信におけるポート番号の変換制御）
図１１は、ＮＡＴトラバーサルのＩＰｓｅｃパケット送受信におけるポート番号の変換制御を示すシーケンス図である。
【０２２６】
この機能は、図７を参照して説明した外部アドレス・ポート情報取得部２１１のＳＴＵＮアプリケーション２１１１により実行される。
【０２２７】
ＮＡＴトラバーサルは、ＩＰｓｅｃにより暗号化されたパケットを、ＮＡＴを通過させるための技術である。ＩＰｓｅｃにより暗号化されたパケットではＥＳＰ（Encapsulating Security Payload）ヘッダでカプセル化された部分のデータが暗号化されるので、ＮＡＴではＩＰｓｅｃにより暗号化されたパケットからポート番号を読み取ることができない。そのため、ＮＡＴトラバーサルとして、ＥＳＰヘッダでカプセル化されたパケットをＵＤＰのダミーヘッダでカプセル化し、転送用のＩＰヘッダを付加したパケットを生成して転送する。このＮＡＴトラバーサルを使用するＩＰｓｅｃパケットはポート番号４５００が使用される。
【０２２８】
このように、ＮＡＴトラバーサルを使用するＩＰｓｅｃパケットのポート番号が規定されているため、ＳＴＵＮプロトコルで外部アドレス・ポート情報を取得するときにポート番号の変換処理が必要になる。
【０２２９】
ＳＴＵＮプロトコルで取得したいのは、ＮＡＴトラバーサルを使用するＩＰｓｅｃパケットがＮＡＴ装置を通過する際に使用する、ＮＡＴ装置のエントリのグローバルＩＰアドレスおよびグローバルポート番号である。
【０２３０】
ＮＡＴトラバーサルを使用する場合、送信元ポート番号は４５００となる。
【０２３１】
ＤＭＶＰＮで使用するグローバルＩＰアドレスおよびポート番号を得るためには、ＳＴＵＮアプリケーション２１１１が送信元ポート番号４５００でＳＴＵＮサーバへ問合せする必要がある。しかし、４５００番のポートはＮＡＴトラバーサル用として定義されているため、ＳＴＵＮプロトコルでは使用できない。
【０２３２】
そのため、ＳＴＵＮアプリケーション２１１１は、用途が定義されていない任意のポート番号をダミーポート番号として使用し、ＳＴＵＮサーバへの問合せを行う。
【０２３３】
図１１を参照してこの機能を説明する。
【０２３４】
ＳＴＵＮアプリケーション２１１１は、ダミーポート番号を送信元ポート番号に設定して（Ｓ６０１）、ＳＴＵＮサーバに対してＳＴＵＮリクエストメッセージを送信する（Ｓ６０２）。
【０２３５】
このとき、ゲートウェイ（ＮＡＴ装置）では、該メッセージの送信元アドレスであるスポークのプライベートＩＰアドレスと該ダミーポート番号が、グローバルＩＰアドレスとグローバルポート番号にＮＡＴ変換される。つまり、スポークのプライベートＩＰアドレスとダミーポート番号とＮＡＴ変換されたグローバルＩＰアドレスとグローバルポート番号とを対応付けるエントリが生成される（Ｓ６０３）。
【０２３６】
ＳＴＵＮサーバは、ＮＡＴ変換されたグローバルＩＰアドレスとグローバルポート番号を含めたＳＴＵＮレスポンスメッセージを、ＮＡＴ変換されたグローバルＩＰアドレスとグローバルポート番号を宛先として送信する。このＳＴＵＮレスポンスメッセージはゲートウェイで受信される。ゲートウェイは、ＳＴＵＮリクエストメッセージが通過した際に生成したエントリに基づいて、宛先をスポークのプライベートＩＰアドレスとダミーポート番号に変換して該ＳＴＵＮレスポンスメッセージを転送する（Ｓ６０４）。
【０２３７】
このＳＴＵＮレスポンスメッセージはスポークのＳＴＵＮアプリケーション２１１１で受信される。
【０２３８】
また、ＮＡＴトラバーサルのＩＰｓｅｃパケットを送受信する場合は、次のような処理が実行される。
【０２３９】
スポークがＮＡＴトラバーサルのＩＰｓｅｃパケットを送信するとき、該送信パケットは一旦、ＳＴＵＮアプリケーション２１１１に渡される。そして、ＳＴＵＮアプリケーション２１１１において、該送信パケットの送信元ポート番号をダミーポート番号に変換してから送信する（Ｓ６０５、Ｓ６０６）。
【０２４０】
このＮＡＴトラバーサルのＩＰｓｅｃパケットは、ゲートウェイを通過するときに、送信元アドレスがスポークのプライベートＩＰアドレスと該ダミーポート番号からグローバルＩＰアドレスとグローバルポート番号にＮＡＴ変換される。
【０２４１】
一方、ＮＡＴトラバーサルのＩＰｓｅｃパケットを受信するとき、ゲートウェイで宛先がスポークのプライベートＩＰアドレスとダミーポート番号にＮＡＴ変換される（Ｓ６０７）。つまり、ＮＡＴトラバーサルのＩＰｓｅｃパケットは一旦、ＳＴＵＮアプリケーション２１１１で受信される。
【０２４２】
ＳＴＵＮアプリケーション２１１１は、受信したＮＡＴトラバーサルのＩＰｓｅｃパケットの送信元ＩＰアドレスがＳＴＵＮサーバのものではないことを確認し、宛先ポート番号を４５００に変換して出力する（Ｓ６０８）。
【０２４３】
宛先ポート番号が４５００に設定されたＮＡＴトラバーサルのＩＰｓｅｃパケットが受信される（Ｓ６０９）。
【０２４４】
以上のようにして、ＮＡＴトラバーサルのＩＰｓｅｃパケットに関するポート番号の変換処理が行われる。
【０２４５】
（ＮＡＴ種別の組合せによる動的仮想トンネルの生成可否）
スポーク間で動的に仮想トンネルを生成する際に、それぞれのスポークに対応するＮＡＴ種別の組合せにより、トンネルの生成が不可能になることや、制限を受けることがある。
【０２４６】
図１２は、ＮＡＴ種別の組合せによる動的仮想トンネルの生成可否の対応を示す図である。
【０２４７】
図１２では、送信元スポークおよび相手先スポークのそれぞれに対応するＮＡＴ種別に応じたマトリックスでトンネルの生成可否を示している。
【０２４８】
送信元スポークおよび相手先スポークのいずれもフルコーンＮＡＴの場合は「○」表示で、動的仮想トンネルの生成は制限なく可能である。
【０２４９】
送信元スポーク、相手先スポークのいずれかがフルコーンＮＡＴで、他方のスポークがアドレス制限コーンＮＡＴまたはポート制限コーンＮＡＴの場合は「△１」表示で、通信実績を作るための制御を行う必要がある。これについては図１３を参照して後述する。
【０２５０】
送信元スポークと相手先スポークのＮＡＴ種別の組合せがアドレス制限コーンＮＡＴとポート制限コーンＮＡＴとなる場合も「△１」表示で、通信実績を作るための制御を行う必要がある。
【０２５１】
送信元スポーク、相手先スポークのいずれかがシンメトリックＮＡＴで、他方のスポークがフルコーンＮＡＴまたはアドレス制限コーンＮＡＴの場合は「△２」表示で、通信実績を作るための制御とシンメトリックＮＡＴ側のグローバルポート番号取得の制御が必要となる。これについても図１３を参照して後述する。
【０２５２】
送信元スポーク、相手先スポークのいずれかがシンメトリックＮＡＴで、他方のスポークがポート制限コーンＮＡＴまたはシンメトリックＮＡＴの場合は「×」表示で、動的仮想トンネルの生成は不可能である。
【０２５３】
シンメトリックＮＡＴでは、ＮＡＴの外側の宛先が異なると、ＮＡＴ装置では、宛先の数だけ異なるグローバルポート番号のエントリを生成する。そのため、ポート制限コーンＮＡＴ装置配下のスポークではシンメトリックＮＡＴ側のグローバルポート番号を取得できず、シンメトリックＮＡＴ装置のグローバルＩＰアドレスおよびポート番号への通信実績を作ることができない。
【０２５４】
前述したように、ハブはＮＨＲＰ登録で各スポークから通知されるＮＨＲＰ登録要求に付加されたＮＡＰＴ拡張により、配下のスポークがどのＮＡＴ種別のＮＡＴ装置の背後にいるかを認識している。そして、ハブは、スポークからスポークへのデータパケットを転送するとき、各スポークに対応するＮＡＴ種別を参照して動的仮想トンネルが生成可能なＮＡＴ種別の組合せであるかを判断している。したがって、ハブは、動的仮想トンネルを生成できないＮＡＴ種別の組合せである場合にはＮＨＲＰトラフィック通知を送信しないようにしている。
【０２５５】
また、各スポークにおいては、ＮＨＲＰ解決を通して相手先スポークに対応するＮＡＴ種別を取得している。
【０２５６】
（自装置側／相手装置側のＮＡＴ種別に応じた制御動作）
図１２を参照して説明したように、送信元スポーク側と相手先スポーク側のＮＡＴ種別の組合せに応じて、通信実績を作るための制御やシンメトリックＮＡＴ側のグローバルポート番号取得の制御が必要となる。
【０２５７】
図１３は、スポークにおける自装置側のＮＡＴ種別および相手装置側のＮＡＴ種別に応じた制御動作を示すフロー図である。この制御は図７に示した通信装置２００のトンネル生成制御部２１３１により実行される。トンネル生成制御部２１３１は、外部アドレス・ポート情報記憶部２２０に登録された自装置の外部アドレス・ポート情報やＮＨＲＰ解決を通して取得した相手装置の外部アドレス・ポート情報を参照する。外部アドレス・ポート情報にはＮＡＴ種別が含まれている。
【０２５８】
図１３（１）は、通信実績を作るための制御であり、図１２における「△１」表示の場合の動作フローである。
【０２５９】
まず、自装置側のＮＡＴ種別を識別する（Ｓ７０１）。
【０２６０】
自装置側のＮＡＴ種別がフルコーンＮＡＴか否かが判定される（Ｓ７０２）。
【０２６１】
自装置側のＮＡＴ種別がフルコーンＮＡＴの場合（Ｓ７０２、Ｙｅｓ）、スポーク間の動的仮想トンネルを生成するために特別な準備を行う必要はない。
【０２６２】
自装置側のＮＡＴ種別がフルコーンＮＡＴではない場合（Ｓ７０２、Ｎｏ）、スポーク間の動的仮想トンネルを生成する前に、自装置が接続されているＮＡＴ装置に対して通信実績を作る制御を行う。なお、フルコーンＮＡＴではない場合とは、ＮＡＴ種別がアドレス制限コーンＮＡＴ、ポート制限コーンＮＡＴ、シンメトリックＮＡＴのいずれかの場合である。
【０２６３】
フルコーンＮＡＴ以外のＮＡＴ種別の場合、ＮＡＴ装置は、通信実績のある相手装置からのパケットしかＮＡＴ装置の内側への通過を許可しない。「通信実績がある」とは、ＮＡＴ装置を越えてインターネット上にパケットを送信したことがあるグローバルＩＰアドレス・ポートの宛先がエントリとして残っていることを意味する。
【０２６４】
そのため、その通信実績を作るためにダミーＵＤＰパケットを送信する（Ｓ７０３）。
【０２６５】
ダミーＵＤＰパケットとは、ＮＨＲＰ解決で取得した相手装置のグローバルＩＰアドレス・ポートを宛先として設定した、ペイロードなしのＵＤＰパケットである。
【０２６６】
つまり、ＮＨＲＰ解決要求を送信した送信側スポークはＮＨＲＰ解決応答を受信した後に、自装置側のＮＡＴ種別がフルコーンＮＡＴ以外の場合にこのダミーＵＤＰパケットを送信する。また、ＮＨＲＰ解決要求を受信した受信側スポークはＮＨＲＰ解決要求を受信した後に、自装置側のＮＡＴ種別がフルコーンＮＡＴ以外の場合にこのダミーＵＤＰパケットを送信する。
【０２６７】
このダミーＵＤＰパケットは、相手装置からの同様なダミーＵＤＰパケットを受信するまで複数回送信する。なお、フルコーンＮＡＴのＮＡＴ装置配下のスポークがこのダミーＵＤＰパケットを受信した場合、ダミーＵＤＰパケットを受信したことを通知するために、同様なダミーＵＤＰパケットを相手先スポークに送信する。
【０２６８】
上記により、双方のスポークが接続しているＮＡＴ装置に、相手先となるスポークとの通信実績ができたことになる。
【０２６９】
ダミーＵＤＰパケットを相手先スポークから受信した後、スポーク間で動的仮想トンネル作成のための通信を行う。
【０２７０】
次に、相手装置側のＮＡＴ種別がシンメトリックＮＡＴであった場合の制御について説明する。
【０２７１】
図１３（２）は、相手装置のグローバルポート番号取得の制御であり、図１２における「△２」表示の「シンメトリックＮＡＴ側のグローバルポート番号取得」に関する動作フローである。
【０２７２】
まず、相手装置側のＮＡＴ種別を識別する（Ｓ７１１）。なお、相手装置側のＮＡＴ種別はＮＨＲＰ解決を通して取得している。
【０２７３】
相手装置側のＮＡＴ種別がシンメトリックＮＡＴか否かが判定される（Ｓ７１２）。
【０２７４】
相手装置側のＮＡＴ種別がシンメトリックＮＡＴではない場合（Ｓ７１２、Ｎｏ）、自装置側のＮＡＴ種別は、フルコーンＮＡＴ、アドレス制限コーンＮＡＴ、ポート制限近ＮＡＴ、シンメトリックＮＡＴのいずれかである。そして、図１３（１）で説明した制御が行われる。
【０２７５】
さらに、この場合は、ＮＨＲＰ解決を通して取得した外部アドレス・ポートが相手の外部アドレス・ポートとして使用される（Ｓ７１４）。つまり、ＮＨＲＰ解決要求を送信した送信側スポークは受信したＮＨＲＰ解決応答に含まれる外部アドレス・ポートを使用し、ＮＨＲＰ解決要求を受信した受信側スポークは受信したＮＨＲＰ解決要求に含まれる外部アドレス・ポートを使用する。
【０２７６】
一方、相手装置側のＮＡＴ種別がシンメトリックＮＡＴの場合（Ｓ７１２、Ｙｅｓ）には次の処理が行われる。
【０２７７】
なお、この場合、自装置側のＮＡＴ種別がシンメトリックＮＡＴまたはポート制限コーンＮＡＴの場合にはハブからのＮＨＲＰトラフィック通知は受けないので、この制御の対象にはならない。つまり、この場合が適用されるのは、自装置側のＮＡＴ種別がフルコーンＮＡＴまたはアドレス制限コーンＮＡＴの場合に限られる。
【０２７８】
シンメトリックＮＡＴのＮＡＴ装置配下のスポークであっても、該スポークが送信するＮＨＲＰメッセージのパケットに付加されるＮＡＰＴ拡張の情報は、ＳＴＵＮサーバと通信して取得したグローバルＩＰアドレス・ポート情報である。しかし、シンメトリックＮＡＴのＮＡＴ装置配下のスポーク（例えば、スポークＡ）の相手先となっているスポーク（例えば、スポークＢ）は、そのスポークＡがスポークＢと通信する際に使用するグローバルＩＰアドレス・ポートを使用する必要がある。
【０２７９】
つまり、相手装置側のＮＡＴ種別がシンメトリックＮＡＴの場合には、ＮＨＲＰ解決を通して取得した外部アドレス・ポート情報を使うことができない。
【０２８０】
図１３（１）で説明したように、自装置側のＮＡＴ種別がシンメトリックＮＡＴであっても、前述したダミーＵＤＰパケットを送信する。そのため、図１３（２）では、ステップＳ７１２、Ｙｅｓの場合は、シンメトリックＮＡＴのＮＡＴ装置配下となっている相手装置が送信するダミーＵＤＰパケットの送信元アドレスを使えばよい。つまり、このダミーＵＤＰパケットの送信元アドレスは、シンメトリックＮＡＴのＮＡＴ装置でＮＡＴ変換された通信実績のあるグローバルＩＰアドレス・ポートが設定されている。
【０２８１】
従って、ステップＳ７１３では、相手装置から受信したダミーＵＤＰパケットの送信元アドレス・ポート情報を相手の外部アドレス・ポート情報として使う処理を行う。
【０２８２】
なお、自装置側のＮＡＴ種別がアドレス制限コーンＮＡＴで、前述したダミーＵＤＰパケットを送信する際には次のように処理する。まず、シンメトリックＮＡＴのＮＡＴ装置配下となっている相手装置側からダミーＵＤＰパケットを受信するまでは、ＮＨＲＰ解決を通して取得した外部アドレス・ポートを自装置が送信するダミーＵＤＰパケットの宛先として設定する。そして、該相手装置が送信したダミーＵＤＰパケットを受信したら、自装置が送信するダミーＵＤＰパケットの宛先を、受信したダミーＵＤＰパケットの送信元アドレスとして設定されているポート番号に変更して送信する。
【０２８３】
（外部アドレス・ポート情報の更新動作）
ＮＡＴ装置で生成されるＮＡＴ変換ルールのエントリは一意なものではないため、ＮＡＴ装置のエントリ変更を検出する機能を備える。
【０２８４】
つまり、スポークとハブ間のトンネルやスポーク間のトンネルにおいて、スポークが接続しているＮＡＴ装置のグローバルＩＰアドレス・ポートの情報を常に最新の状態に保つ必要がある。
【０２８５】
図１４は、スポークにおける外部アドレス・ポート情報の更新動作を示すフロー図である。
【０２８６】
この動作は、図７の通信装置２００の通信制御部２１０が実行する動作であり、外部アドレス・ポート情報取得部２１１、アドレス解決部２１２、トンネル生成部２１３が協働して実行する。
【０２８７】
まず、外部アドレス・ポート情報取得部２１１は、所定のタイミングでＳＴＵＮサーバにアクセスして、ＳＴＵＮサーバから外部アドレス・ポート情報を周期的に取得する（Ｓ８０１）。そして、取得した外部アドレス・ポート情報に変更があったか否かを判定する（Ｓ８０２）。
【０２８８】
この判定動作において外部アドレス・ポート情報に変更がない場合（Ｓ８０２、Ｎｏ）は、ステップＳ８０１に戻り、次のタイミングで再度ＳＴＵＮサーバにアクセスする。
【０２８９】
一方、取得した外部アドレス・ポート情報に変更があった場合（Ｓ８０２、Ｙｅｓ）、外部アドレス・ポート情報取得部２１１は、外部アドレス・ポート情報記憶部２２０に登録されている自装置の外部アドレス・ポート情報を更新する。同時に、外部アドレス・ポート情報取得部２１１は、外部アドレス・ポート情報を更新した旨をアドレス解決部２１２とトンネル生成部２１３に通知する。
【０２９０】
アドレス解決部２１２は、外部アドレス・ポート情報の更新を知ると、ハブに対して直ちに更新後の外部アドレス・ポート情報をＮＡＰＴ拡張として付加したＮＨＲＰ登録要求を送信する（Ｓ８０４）。
【０２９１】
また、トンネル生成部２１３は、外部アドレス・ポート情報の更新を知ると、相手先のスポークに対して、更新された外部アドレス・ポートを送信元アドレスとしたダミーＵＤＰパケットを送信する（Ｓ８０５）。なお、このダミーＵＤＰパケットは、前述したようにＮＡＴにおける通信実績を作成するために送信したパケットと同じで、ペイロードなしのＵＤＰパケットである。このダミーＵＤＰパケットは、相手先のスポーク情報が生存している間は定期的に送信されている。
【０２９２】
上記の動作により、ハブは新たに受け取ったＮＨＲＰ登録要求に付加されたＮＡＰＴ拡張に基づいて送信元スポークの外部アドレス・ポート情報を更新する。また、送信元アドレスが変更されたダミーＵＤＰパケットを受け取った相手先のスポークは、該送信元アドレスの情報に基づいて送信元スポークの外部アドレス・ポートを更新する。
【０２９３】
以上に説明したように、本実施形態では、スポークはＮＡＴ装置であるゲートウェイでＮＡＴ変換されたグローバルＩＰアドレス・ポートの情報をＳＴＵＮサーバから取得する。そして、ＮＨＲＰプロトコルのパケットの拡張部にＮＡＰＴ拡張としてグローバルＩＰアドレス、グローバルポート番号、ＮＡＴ種別を付加してスポーク間で通知することができる。
【０２９４】
そのため、ＤＭＶＰＮ上のスポークがＮＡＴ装置配下にある環境で、取得したＮＡＴ変換後のグローバルＩＰアドレス・ポートをスポーク間で通知して、動的に仮想トンネルを生成することができる。
【０２９５】
なお、上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
（付記１）  ＤＭＶＰＮ（Dynamic Multipoint Virtual Private Network）を構成するスポークとして機能し、異なるアドレス空間のネットワーク間で送受信されるパケットのＮＡＴ（Network Address Translation）アドレス変換を行う中継装置の配下に設置され、前記ＮＡＴアドレス変換で生成された、前記中継装置の外側のアドレス空間からアクセスすることが可能なアドレス情報である外部アドレス・ポート情報を返信する機能を持つアドレス情報提供装置から前記外部アドレス・ポート情報を取得し、前記ＤＭＶＰＮで使用するＮＨＲＰ（Next Hop Resolution Protocol）登録パケットの拡張フィールドに該外部アドレス・ポート情報を含めて送信する、少なくとも２つの通信装置である第１の通信装置と第２の通信装置と、
前記ＤＭＶＰＮを構成するハブとして機能し、配下の前記第１の通信装置と前記第２の通信装置のそれぞれから受信した前記ＮＨＲＰ登録パケットに含まれる前記外部アドレス・ポート情報を前記第１の通信装置と前記第２の通信装置のそれぞれと対応付けたマッピング情報に登録する第３の通信装置と、を備え、
前記第３の通信装置は、該第３の通信装置を介したパケット送信元の前記スポークである前記第１の通信装置からパケット送信先の前記スポークである前記第２の通信装置との通信において、該第１の通信装置と該第２の通信装置との間に仮想トンネルを生成可能であることを前記マッピング情報に基づいて検出すると、前記第１の通信装置に対して前記仮想トンネルの生成を指示し、前記第３の通信装置から前記仮想トンネルの生成の指示を受けた前記第１の通信装置は、前記ＤＭＶＰＮで使用するＮＨＲＰ解決要求パケットの拡張フィールドに該第１の通信装置の前記外部アドレス・ポート情報を含めて送信し、前記第１の通信装置から前記ＮＨＲＰ解決要求パケットを受信した前記第２の通信装置は、前記ＤＭＶＰＮで使用するＮＨＲＰ解決応答パケットの拡張フィールドに該第２の通信装置の前記外部アドレス・ポート情報を含めて返信し、前記ＮＨＲＰ解決応答パケットを受信した前記第１の通信装置は、該ＮＨＲＰ解決応答パケットに含まれる前記第２の通信装置の前記外部アドレス・ポート情報に基づいて、前記第２の通信装置との間に前記仮想トンネルを生成することを特徴とする通信システム。
（付記２）  前記外部アドレス・ポート情報には前記中継装置のＮＡＴ種別を含み、前記第３の通信装置は、前記第１の通信装置が接続する前記中継装置のＮＡＴ種別と前記第２の通信装置が接続する前記中継装置のＮＡＴ種別の組合せに応じて、前記第１の通信装置と前記第２の通信装置との間における前記仮想トンネルの生成の可否を判定することを特徴とする付記１に記載の通信システム。
（付記３）  前記ＮＡＴ種別には、前記ＮＡＴアドレス変換で生成された外部アドレス・ポートに対する前記中継装置の外側のアドレス空間からのアクセス制限に応じた種別である、フルコーンＮＡＴ、アドレス制限コーンＮＡＴ、ポート制限コーンＮＡＴおよびシンメトリックＮＡＴを含み、前記第３の通信装置は、前記第１の通信装置が接続する前記中継装置のＮＡＴ種別と前記第２の通信装置が接続する前記中継装置のＮＡＴ種別の組合せが前記シンメトリックＮＡＴと前記ポート制限コーンＮＡＴである場合、およびいずれも前記シンメトリックＮＡＴの場合に、前記仮想トンネルの生成は不可と判定することを特徴とする付記２に記載の通信システム。
（付記４）  前記ＮＡＴ種別には、前記ＮＡＴアドレス変換で生成された外部アドレス・ポートに対する前記中継装置の外側のアドレス空間からのアクセス制限に応じた種別である、フルコーンＮＡＴ、アドレス制限コーンＮＡＴ，ポート制限コーンＮＡＴおよびシンメトリックＮＡＴを含み、前記第１の通信装置および前記第２の通信装置のそれぞれは、自装置が接続する前記中継装置のＮＡＴ種別が、前記アドレス制限コーンＮＡＴ、前記ポート制限コーンＮＡＴおよび前記シンメトリックＮＡＴのいずれかである場合、前記仮想トンネルを生成する前に、通信相手先装置の外部アドレス・ポートを宛先とするダミーＵＤＰ（User Datagram Protocol）パケットを送信して、前記通信相手先装置に関する前記ＮＡＴアドレス変換のエントリをあらかじめ生成することを特徴とする付記２に記載の通信システム。
（付記５）  前記第１の通信装置および前記第２の通信装置のそれぞれは、通信相手先装置が接続する前記中継装置のＮＡＴ種別が前記シンメトリックＮＡＴの場合、該通信相手先装置から受信した前記ダミーＵＤＰパケットの送信元アドレス・ポートを該通信相手先装置の外部アドレス・ポートとして使用することを特徴とする付記４に記載の通信システム。
（付記６）  前記第１の通信装置および前記第２の通信装置のそれぞれは、前記アドレス情報提供装置から前記外部アドレス・ポート情報を所定のタイミングで取得し、取得した前記外部アドレス・ポート情報が更新されていた場合、更新された外部アドレス・ポート情報を前記ＮＨＲＰ登録パケットの拡張フィールドに含めて前記第３の通信装置に通知することを特徴とする付記１乃至５のいずれかの付記に記載の通信システム。
（付記７）  前記第１の通信装置および前記第２の通信装置のそれぞれは、前記アドレス情報提供装置から所定のタイミングで取得した前記外部アドレス・ポート情報が更新されていた場合、更新された外部アドレス・ポートを送信元アドレス・ポートに設定したダミーＵＤＰ（User Datagram Protocol）パケットを通信相手先装置に送信して自装置の外部アドレス・ポートの変更を通知することを特徴とする付記６に記載の通信システム。
（付記８）  異なるアドレス空間のネットワーク間で送受信されるパケットのＮＡＴ（Network Address Translation）アドレス変換を行う中継装置を介して、前記ＮＡＴアドレス変換で生成された前記中継装置の外側のアドレス空間からアクセスすることが可能なアドレス情報である外部アドレス・ポート情報を返信する機能を持つアドレス情報提供装置から、前記外部アドレス・ポート情報を取得する外部アドレス・ポート情報取得手段と、
ＤＭＶＰＮ（Dynamic Multipoint Virtual Private Network）で使用するＮＨＲＰ（Next Hop Resolution Protocol）登録パケットの拡張フィールドに前記外部アドレス・ポート情報を含めて該ＤＭＶＰＮのハブに送信し、前記ハブから、該ハブを介したスポーク間通信において、相手先スポークとの間に仮想トンネルを生成可能であることを通知されると、前記ＤＭＶＰＮで使用するＮＨＲＰ解決要求パケットの拡張フィールドに前記外部アドレス・ポート情報を含めて前記相手先スポークに送信し、前記ＮＨＲＰ解決要求パケットを受信した前記相手先スポークが返送する前記ＤＭＶＰＮで使用するＮＨＲＰ解決応答パケットの拡張フィールドから前記相手先スポークの前記外部アドレス・ポート情報を取得するアドレス解決手段と、
前記アドレス解決手段が取得した前記相手先スポークの前記外部アドレス・ポート情報に基づいて、前記相手先スポークとの間に前記仮想トンネルを生成するトンネル生成手段と
を備えることを特徴とする通信装置。
（付記９）  前記外部アドレス・ポート情報には前記中継装置のＮＡＴ種別を含み、前記アドレス解決手段は、前記ＮＨＲＰ解決応答パケットの拡張フィールドに含まれる前記相手先スポークの前記外部アドレス・ポート情報から、該相手先スポークが接続する前記中継装置のＮＡＴ種別を取得し、
前記トンネル生成手段は、自装置が接続する前記中継装置のＮＡＴ種別と前記相手先スポークが接続する前記中継装置のＮＡＴ種別に応じたトンネル生成準備制御を行うトンネル生成制御部を含むことを特徴とする付記８に記載の通信装置。
（付記１０）  前記ＮＡＴ種別には、前記ＮＡＴアドレス変換で生成された外部アドレス・ポートに対する前記中継装置の外側のアドレス空間からのアクセス制限に応じた種別である、フルコーンＮＡＴ、アドレス制限コーンＮＡＴ、ポート制限コーンＮＡＴおよびシンメトリックＮＡＴを含み、前記トンネル生成制御部は、自装置が接続する前記中継装置のＮＡＴ種別が前記アドレス制限コーンＮＡＴ、前記ポート制限コーンＮＡＴおよび前記シンメトリックＮＡＴのいずれかである場合、前記仮想トンネルを生成する前に、前記相手先スポークの外部アドレス・ポートを宛先とするダミーＵＤＰ（User Datagram Protocol）パケットを送信して、前記相手先スポークに関する前記ＮＡＴアドレス変換のエントリをあらかじめ生成することを特徴とする付記９に記載の通信装置。
（付記１１）  前記トンネル生成制御部は、前記相手先スポークが接続する前記中継装置のＮＡＴ種別が前記シンメトリックＮＡＴの場合、該相手先スポークから受信した前記ダミーＵＤＰパケットの送信元アドレス・ポートを該相手先スポークの外部アドレス・ポートとして使用することを特徴とする付記１０に記載の通信装置。
（付記１２）  前記外部アドレス・ポート情報取得手段は前記アドレス情報提供装置から前記外部アドレス・ポート情報を所定のタイミングで取得し、取得した前記外部アドレス・ポート情報が更新されていた場合、該外部アドレス・ポート情報の更新通知を出力することを特徴とする付記８乃至１１のいずれかの付記に記載の通信装置。
（付記１３）  前記アドレス解決手段は、前記外部アドレス・ポート情報取得手段が出力する前記更新通知に基づいて、更新された該外部アドレス・ポート情報を前記ＮＨＲＰ登録パケットの拡張フィールドに含めて前記ハブに通知することを特徴とする付記１２に記載の通信装置。
（付記１４）  前記トンネル生成制御部は、前記外部アドレス・ポート情報取得手段が出力する前記更新通知に基づいて、更新された外部アドレス・ポートを送信元アドレス・ポートに設定したダミーＵＤＰ（User Datagram Protocol）パケットを前記相手先スポークに送信して自装置の外部アドレス・ポートの変更を通知することを特徴とする付記１２または付記１３に記載の通信装置。
（付記１５）  前記外部アドレス・ポート情報取得手段は、用途が定義されていない任意のポート番号をダミーポート番号として使用したＮＡＴアドレス変換エントリを生成し、ＮＡＴトラバーサルのＩＰｓｅｃ（Internet Protocol security）パケットの送信に際しては、該ＩＰｓｅｃパケットの送信元を該ＩＰｓｅｃパケットに規定されたポート番号から前記ダミーポート番号に変換して送信し、前記ダミーポート番号を宛先とする前記ＩＰｓｅｃパケットを受信すると、受信したＩＰｓｅｃパケットの宛先ポート番号を該ＩＰｓｅｃパケットに規定されたポート番号に変換して出力するポート番号変換手段を含むことを特徴とする付記８乃至１４のいずれかの付記に記載の通信装置。
（付記１６）  ＤＭＶＰＮ（Dynamic Multipoint Virtual Private Network）を構成するスポークとして機能し、異なるアドレス空間のネットワーク間で送受信されるパケットのＮＡＴ（Network Address Translation）アドレス変換を行う中継装置の配下に設置され、前記中継装置の外側のアドレス空間からアクセスすることが可能なアドレス情報である外部アドレス・ポート情報を返信する機能を持つアドレス情報提供装置から前記外部アドレス・ポート情報を取得する少なくとも２つの通信装置である第１の通信装置と第２の通信装置のそれぞれが、前記ＤＭＶＰＮで使用するＮＨＲＰ（Next Hop Resolution Protocol）登録パケットの拡張フィールドに該外部アドレス・ポート情報を含めて送信し、
前記ＤＭＶＰＮを構成するハブとして機能する第３の通信装置が、配下の前記第１の通信装置と前記第２の通信装置のそれぞれから受信した前記ＮＨＲＰ登録パケットに含まれる前記外部アドレス・ポート情報を前記第１の通信装置と前記第２の通信装置のそれぞれと対応付けたマッピング情報に登録し、
前記第３の通信装置を介したパケット送信元の前記スポークである前記第１の通信装置からパケット送信先の前記スポークである前記第２の通信装置との通信において、該第３の通信装置が、前記第１の通信装置と前記第２の通信装置との間に仮想トンネルを生成可能であることを前記マッピング情報に基づいて検出すると、前記第１の通信装置に対して前記仮想トンネルの生成を指示し、
前記第３の通信装置から前記仮想トンネルの生成の指示を受けた前記第１の通信装置が、前記ＤＭＶＰＮで使用するＮＨＲＰ解決要求パケットの拡張フィールドに該第１の通信装置の前記外部アドレス・ポート情報を含めて送信し、
前記第１の通信装置から前記ＮＨＲＰ解決要求パケットを受信した前記第２の通信装置が、前記ＤＭＶＰＮで使用するＮＨＲＰ解決応答パケットの拡張フィールドに該第２の通信装置の前記外部アドレス・ポート情報を含めて返信し、
前記ＮＨＲＰ解決応答パケットを受信した前記第１の通信装置が、該ＮＨＲＰ解決応答パケットに含まれる前記第２の通信装置の前記外部アドレス・ポート情報に基づいて、前記第２の通信装置との間に前記仮想トンネルを生成する
ことを特徴とするＶＰＮ構築方法。
（付記１７）  前記外部アドレス・ポート情報には前記中継装置のＮＡＴ種別を含み、前記第３の通信装置は、前記第１の通信装置が接続する中継装置のＮＡＴ種別と前記第２の通信装置が接続する中継装置のＮＡＴ種別の組合せに応じて、前記第１の通信装置と前記第２の通信装置との間における前記仮想トンネルの生成の可否を判定することを特徴とする付記１６に記載のＶＰＮ構築方法。
（付記１８）  前記ＮＡＴ種別には、前記ＮＡＴアドレス変換で生成された外部アドレス・ポートに対する前記中継装置の外側のアドレス空間からのアクセス制限に応じた種別である、フルコーンＮＡＴ、アドレス制限コーンＮＡＴ、ポート制限コーンＮＡＴおよびシンメトリックＮＡＴを含み、前記第３の通信装置は、前記第１の通信装置が接続する中継装置のＮＡＴ種別と前記第２の通信装置が接続する中継装置のＮＡＴ種別の組合せがシンメトリックＮＡＴとポート制限コーンＮＡＴである場合およびいずれもシンメトリックＮＡＴの場合に、前記仮想トンネルの生成は不可と判定することを特徴とする付記１７に記載のＶＰＮ構築方法。
（付記１９）  前記ＮＡＴ種別には、前記ＮＡＴアドレス変換で生成された外部アドレス・ポートに対する前記中継装置の外側のアドレス空間からのアクセス制限に応じた種別である、フルコーンＮＡＴ、アドレス制限コーンＮＡＴ，ポート制限コーンＮＡＴおよびシンメトリックＮＡＴを含み、前記第１の通信装置および前記第２の通信装置のそれぞれは、自装置が接続する前記中継装置のＮＡＴ種別が、前記アドレス制限コーンＮＡＴ、前記ポート制限コーンＮＡＴおよび前記シンメトリックＮＡＴのいずれかである場合、前記仮想トンネルを生成する前に、通信相手先装置の外部アドレス・ポートを宛先とするダミーＵＤＰ（User Datagram Protocol）パケットを送信して、前記通信相手先装置に関する前記ＮＡＴアドレス変換のエントリをあらかじめ生成することを特徴とする付記１７に記載のＶＰＮ構築方法。
（付記２０）  前記第１の通信装置および前記第２の通信装置のそれぞれは、通信相手先装置が接続する前記中継装置のＮＡＴ種別が前記シンメトリックＮＡＴの場合、該通信相手先装置から受信した前記ダミーＵＤＰパケットの送信元アドレス・ポートを該通信相手先装置の外部アドレス・ポートとして使用することを特徴とする付記１９に記載のＶＰＮ構築方法。
（付記２１）  前記第１の通信装置および前記第２の通信装置のそれぞれは、前記アドレス情報提供装置から前記外部アドレス・ポート情報を所定のタイミングで取得し、取得した前記外部アドレス・ポート情報が更新されていた場合、更新された該外部アドレス・ポート情報を前記ＮＨＲＰ登録パケットの拡張フィールドに含めて前記第３の通信装置に通知することを特徴とする付記１６乃至２０のいずれかの付記に記載のＶＰＮ構築方法。
（付記２２）  前記第１の通信装置および前記第２の通信装置のそれぞれは、前記アドレス情報提供装置から所定のタイミングで取得した前記外部アドレス・ポート情報が更新されていた場合、更新された外部アドレス・ポートを送信元アドレス・ポートに設定したダミーＵＤＰ（User Datagram Protocol）パケットを通信相手先装置に送信して自装置の外部アドレス・ポートの変更を通知することを特徴とする付記２１に記載のＶＰＮ構築方法。
（付記２３）  異なるアドレス空間のネットワーク間で送受信されるパケットのＮＡＴ（Network Address Translation）アドレス変換を行う中継装置を介して、前記ＮＡＴアドレス変換で生成された前記中継装置の外側のアドレス空間からアクセスすることが可能なアドレス情報である外部アドレス・ポート情報を返信する機能を持つアドレス情報提供装置から前記外部アドレス・ポート情報を取得し、
ＤＭＶＰＮ（Dynamic Multipoint Virtual Private Network）で使用するＮＨＲＰ（Next Hop Resolution Protocol）登録パケットの拡張フィールドに前記外部アドレス・ポート情報を含めて該ＤＭＶＰＮのハブに送信し、
前記ハブから、該ハブを介したスポーク間通信において、相手先スポークとの間に仮想トンネルを生成可能であることを通知されると、前記ＤＭＶＰＮで使用するＮＨＲＰ解決要求パケットの拡張フィールドに前記外部アドレス・ポート情報を含めて前記相手先スポークに送信し、
前記ＮＨＲＰ解決要求パケットを受信した前記相手先スポークが返送する前記ＤＭＶＰＮで使用するＮＨＲＰ解決応答パケットの拡張フィールドから前記相手先スポークの前記外部アドレス・ポート情報を取得し、
取得した前記相手先スポークの前記外部アドレス・ポート情報に基づいて、前記相手先スポークとの間に前記仮想トンネルを生成する
ことを特徴とするＶＰＮ構築方法。
（付記２４）  前記外部アドレス・ポート情報には前記中継装置のＮＡＴ種別を含み、
前記相手先スポークが返送する前記ＮＨＲＰ解決応答パケットの拡張フィールドに含まれる前記相手先スポークの前記外部アドレス・ポート情報から、該相手先スポークが接続された前記中継装置のＮＡＴ種別を取得し、
自装置が接続する前記中継装置のＮＡＴ種別と前記相手先スポークが接続する前記中継装置のＮＡＴ種別に応じたトンネル生成準備制御を行うことを特徴とする付記２３に記載のＶＰＮ構築方法。
（付記２５）  前記ＮＡＴ種別には、前記ＮＡＴアドレス変換で生成された外部アドレス・ポートに対する前記中継装置の外側のアドレス空間からのアクセス制限に応じた種別である、フルコーンＮＡＴ、アドレス制限コーンＮＡＴ、ポート制限コーンＮＡＴおよびシンメトリックＮＡＴを含み、
自装置が接続する前記中継装置のＮＡＴ種別が前記アドレス制限コーンＮＡＴ、前記ポート制限コーンＮＡＴおよび前記シンメトリックＮＡＴのいずれかである場合、前記仮想トンネルを生成する前に、前記相手先スポークの外部アドレス・ポートを宛先とするダミーＵＤＰ（User Datagram Protocol）パケットを送信して、前記相手先スポークに関する前記ＮＡＴアドレス変換のエントリをあらかじめ生成することを特徴とする付記２４に記載のＶＰＮ構築方法。
（付記２６）  前記相手先スポークが接続する前記中継装置のＮＡＴ種別が前記シンメトリックＮＡＴの場合、該相手先スポークから受信した前記ダミーＵＤＰパケットの送信元アドレス・ポートを該相手先スポークの外部アドレス・ポートとして使用することを特徴とする付記２５に記載のＶＰＮ構築方法。
（付記２７）  前記アドレス情報提供装置から前記外部アドレス・ポート情報を所定のタイミングで取得し、取得した前記外部アドレス・ポート情報が更新されていた場合、該外部アドレス・ポート情報の更新通知を出力することを特徴とする付記２３乃至２６のいずれかの付記に記載のＶＰＮ構築方法。
（付記２８）  前記更新通知に基づいて、更新された該外部アドレス・ポート情報を前記ＮＨＲＰ登録パケットの拡張フィールドに含めて前記ハブに通知することを特徴とする付記２７に記載のＶＰＮ構築方法。
（付記２９）  前記更新通知に基づいて、更新された外部アドレス・ポートを送信元アドレス・ポートに設定したダミーＵＤＰ（User Datagram Protocol）パケットを前記相手先スポークに送信して自装置の外部アドレス・ポートの変更を通知することを特徴とする付記２７または付記２８に記載のＶＰＮ構築方法。
（付記３０）  用途が定義されていない任意のポート番号をダミーポート番号として使用したＮＡＴアドレス変換エントリを生成し、ＮＡＴトラバーサルのＩＰｓｅｃ（Internet Protocol security）パケットの送信に際しては、該ＩＰｓｅｃパケットの送信元を該ＩＰｓｅｃパケットに規定されたポート番号から前記ダミーポート番号に変換して送信し、前記ダミーポート番号を宛先とする前記ＩＰｓｅｃパケットを受信すると、受信したＩＰｓｅｃパケットの宛先ポート番号を該ＩＰｓｅｃパケットに規定されたポート番号に変換して出力することを特徴とする付記２３乃至２９のいずれかの付記に記載のＶＰＮ構築方法。
【符号の説明】
【０２９６】
１、２    通信システム
１０    第１の通信装置
１１    第１のＶＰＮ装置
１２    第１のＬＡＮ
２０    第２の通信装置
２１    第２のＶＰＮ装置
２２    第２のＬＡＮ
３０    第３の通信装置
３１    第３のＶＰＮ装置
４０    第１の中継装置
４１    第１のゲートウェイ
５０    第２の中継装置
５１    第２のゲートウェイ
６０    広域網
６１    第１プライベート網
６２    第２プライベート網
６３    第３プライベート網
６５    インターネット
７０    アドレス情報提供装置
７１    ＳＴＵＮサーバ
１００、２００    通信装置
１１０    外部アドレス・ポート情報取得手段
１２０    アドレス解決手段
１３０    トンネル生成手段
２１０    通信制御部
２１１    外部アドレス・ポート情報取得部
２１１１    ＳＴＵＮアプリケーション
２１２    アドレス解決部
２１３    トンネル生成部
２１３１    トンネル生成制御部
２２０    外部アドレス・ポート情報記憶部
２３０    ＬＡＮインタフェース部
２４０    ＷＡＮインタフェース部
【図１】
2019118156.tif 000003
【図２】
2019118156.tif 000004
【図３】
2019118156.tif 000005
【図４】
2019118156.tif 000006
【図５】
2019118156.tif 000007
【図６】
2019118156.tif 000008
【図７】
2019118156.tif 000009
【図８】
2019118156.tif 000010
【図９】
2019118156.tif 000011
【図１０】
2019118156.tif 000012
【図１１】
2019118156.tif 000013
【図１２】
2019118156.tif 000014
【図１３】
2019118156.tif 000015
【図１４】
2019118156.tif 000016