明 細 書
アドレス変換装置およびアドレス変換方法
技術分野
[0001] 本発明は、アドレス変換装置およびアドレス変換方法に関し、特に、グローバルネッ トワークとプライベートネットワークとの間のゲートウェイなどにおけるアドレス変換装置 およびアドレス変換方法に関する。
背景技術
[0002] 現在、一般的なネットワークの構成においては、インターネットで使用可能なグロ一 バル IPアドレスによって構成されるグローバルネットワークと、グローバルネットワーク とは異なるアドレス空間によって構成される宅内ネットワークまたは企業ネットワークな どのプライベートネットワークとが混在している。プライベートネットワークでは、グロ一 バルネットワークでは使用されないプライベート IPアドレスが自由に使用される。
[0003] このようなネットワーク構成にぉレ、て、グローバルネットワークとプライベートネットヮ ークを跨る通信が行われる場合には、グローバルネットワークとプライベートネットヮー クの境界でプライベート IPアドレスとグローバル IPアドレスを相互に変換するアドレス 変換(Network Address Transfer: NAT)が必要となる。これによつて、例えばプライ ベートネットワーク内においてグローバル IPアドレスが割り当てられていないホストで も、グローバルネットワークへのアクセスが可能となる。
[0004] 上述した NATを実現するためには、例えばネットワークの境界にプロキシサーバを 配置する方法がある。プロキシサーバは、入力データをアプリケーションレイヤレベル で終端し、その後 IPパケットに自サーバの IPアドレスを付与して転送先に転送する中 継装置である。例えば、プライベートネットワーク内のホストからグローバルネットヮー ク内の Webサーバへのアクセスでは、ホストと Webサーバ間で HTTPプロトコルが使 用され、ネットワーク境界に HTTPプロキシサーバが配置される。 HTTPプロキシサ ーバは、ホストからの HTTPメッセージをアプリケーションレイヤレベルで終端する。 その後、 HTTPプロキシサーバは、自サーバのグローバル IPアドレスを IPパケットに 設定して、 Webサーバへ転送する。グローバルネットワーク内のホストからプライべ一
トネットワーク内の Webサーバへのアクセスについては、上記と逆の処理が行われる
[0005] し力し、上述したプロキシサーバによる NATでは、すべての IPパケットに対してァプ リケーシヨンレイヤレベルの中継を実施するため、プロキシサーバの負荷が大きくなる とともに、プロキシサーバの対象外のアプリケーションについては NATを実現するこ とができない。
[0006] そこで、プロキシサーバを用いることなぐプライベートネットワーク力、らグローバルネ ットワークへの NATを実現する方法として、例えば特許文献 1に開示された技術が考 えられている。
[0007] 以下、特許文献 1に開示された技術の概要について図 1および図 2を参照して説明 する。特許文献 1に開示されたネットワークは、図 1に示すように、主にプライべ一トネ ットワーク 10、グローバルネットワーク 20、および DMZ (DeMilitarized Zone :非武装 地域) 30力 構成されている。図 1において、「PA1」力 「PA5」はプライベート IPァ ドレスを示しており、「GA1」力 ¾「GA5」はグローバル IPアドレスを示している。
[0008] プライベートネットワーク 10は、ドメイン名「a.private.com」のホスト 10a (プライベート IPアドレス「PA3」)、プライベートネットワーク 10内のホストのドメイン名を管理する D NS (Domain Name System)サーバ 10b (プライベート IPアドレス「PA2」)、および L2 — SWIOcを有している。また、グローバルネットワーク 20は、 IP公衆網 20a、ドメイン 名「a.global.com」のホスト 20b (グローバル IPアドレス「GA4」)、およびグロ一バルネ ットワーク 20内のホストのドメイン名を管理する DNSサーバ 20c (グローバル IPァドレ ス「0八5」)を有している。
[0009] また、プライベートネットワーク 10およびグローバルネットワーク 20の双方からァクセ ス可能な DMZ30は、アドレス変換を行うアドレス変換'フィルタリング装置 30a (プライ ベート IPアドレス「PA1」およびグローバル IPアドレス「GA1」)、プライベートネットヮ ーク 10またはグローバルネットワーク 20の名前解決を行う DNSサーバ 30b (グロ一 バル IPアドレス「GA2」 )、グローバルネットワークへ IPパケットを転送するルータ 30c ( グローバル IPアドレス「GA3」 )、および L2— SW30dを有してレ、る。
[0010] 上記のようなネットワーク構成において、プライベートネットワーク 10内のホスト 10a
力らグローバルネットワーク 20内のホスト 20bへのアクセスは、例えば図 2に示すよう に行われる。
[0011] すなわち、まずホスト 10aは、ホスト 20bのドメイン名「a.global.com」について、 DNS サーバ 10bへ名前解決の依頼(DNSクエリ)を送信する。 DNSサーバ 10bには、ドメ イン名「a.global.com」が登録されていないため、 DMZ30内の DNSサーバ 30bへ再 帰問い合わせが行われる。その際、アドレス変換'フィルタリング装置 30aにて、送信 元アドレスおよび宛先アドレスは、プライベート IPアドレスからグローバル IPアドレスへ 変換される。ルータ 30cおよび IP公衆網 20aを介して DNSサーバ 30bからの再帰問 い合わせを受信した DNSサーバ 20cは、 自サーバに保持されている名前一アドレス テーブルから「a.global.com」を検索し、ホスト 20bのグローバル IPアドレス「GA4」を 取得する(名前解決)。 DNSサーバ 20cは、取得されたグローバル IPアドレス「GA4」 を DNSサーバ 30bへ転送する。
[0012] そして、 DNSサーバ 30bは、 自サーバに保持されているアドレス管理テーブルにお いて未使用のプライベート IPアドレス「PA5」をグローバル IPアドレス「GA4」に関連 付けて、アドレス変換'フィルタリング装置 30aヘアドレス登録依頼を送信する。ァドレ ス変換'フィルタリング装置 30aは、 自装置に保持されているアドレス変換テーブルに 、プライベート IPアドレス「PA5」とグローバル IPアドレス「GA4」を登録し、アドレス登 録完了を DNSサーバ 30bへ転送する。その後、 DNSサーノく 30bは、アドレス変換' フィルタリング装置 30aを介してプライベートネットワーク 10内の DNSサーバ 10bへ プライベート IPアドレス「PA5」を送信する。
[0013] DNSサーバ 10bは、ホスト 10aへ DNS回答を転送し、ホスト 10aは、ホスト 20bへの アクセスを開始する。すなわち、ホスト 10aは、通知されたプライベート IPアドレス「PA 5」を宛先アドレスとして、 IPパケットをアドレス変換'フィルタリング装置 30aへ送信す る。アドレス変換'フィルタリング装置 30aは、アドレス変換テーブルに基づいて、宛先 アドレスのプライベート IPアドレス「PA5」をグローバル IPアドレス「GA4」に変換する 。また、アドレス変換'フィルタリング装置 30aは、送信元アドレス「PA3」に対するポー トマッピングを生成してアドレス変換テーブルに登録し、送信元アドレス/ポートをそ のマッピングに対応するグローバル IPアドレス Zポートに変換する。アドレス変換.フ
ィルタリング装置 30aは、上記のように NATが行われた IPパケットをグローバルネット ワーク 20のホスト 20bへ送信する。以後、プライベートネットワーク 10のホスト 10aから グローバルネットワーク 20のホスト 20bへの通信では、アドレス変換'フィルタリング装 置 30aにおいてアドレス変換テーブルに基づいた送信元アドレスおよび宛先アドレス 双方の変換が行われるトワイス NAT (Twice- NAT)が実施される。
[0014] このように、プライベートネットワークとグローバルネットワークの間に DMZを設け、ト ワイス NATが実施されることにより、 HTTPプロキシサーバや SIPプロキシサーバな どのプロキシサーバを用いなくてもプライベートネットワーク力、らグローバルネットヮー クへのアクセスが可能となる。
特許文献 1 :特開 2004— 304235号公報
発明の開示
発明が解決しょうとする課題
[0015] しかしながら、上記従来の技術においては、グローバルネットワークのホストからプラ ィベートネットワークのホストへのアクセスが拒否されるという問題がある。この問題に ついて、再び図 1のネットワーク構成を例に挙げて説明する。図 3は、図 1のネットヮー ク構成における、グローバルネットワーク 20内のホスト 20bからプライベートネットヮー ク 10内のホスト 10aへのアクセスの例を示すシーケンス図である。
[0016] グローバルネットワーク 20内のホスト 20bは、ホスト 10aのドメイン名「a.private.com」 の名前解決を行うため、事前に登録された DNSサーバ 20cへ DNSクエリを送信する 。 DNSサーバ 20cは、 自サーバに保持されている名前一アドレステーブルに「a.priva te.com」が登録されていないため、 DMZ30内の DNSサーバ 30bへ再帰問い合わせ を行う。 DNSサーバ 30bは、「a.private.com」がプライベートネットワーク 10内の DNS サーバ 10bに登録されていることを知っている力 グローバルネットワーク 20力 の名 前問い合わせのため、名前解決を拒否し、 DNSサーバ 20cへエラーを転送する。そ して、 DNSサーバ 20cは、ホスト 20bへエラーを転送する。したがって、グロ一バルネ ットワーク 20内のホスト 20bは、プライベートネットワーク 10内のホスト 10aへアクセス することができない。
[0017] また、グローバルネットワーク 20からの名前問い合わせに対して、アクセス拒否を行
わないようにすれば、グローバルネットワーク 20からプライベートネットワーク 10への アクセスが可能となる力 第三者が容易にプライベートネットワーク 10へ侵入すること ができてしまい、セキュリティが損なわれてしまう。
[0018] 本発明の目的は、セキュリティを維持しつつグローバルネットワーク側からプライべ ートネットワーク側へのアクセスを可能として、グローバルネットワークとプライべ一トネ ットワーク間の相互通信を実現できるアドレス変換装置およびアドレス変換方法を提 供することである。
課題を解決するための手段
[0019] 本発明に係るアドレス変換装置は、パケット送信先が含まれる第 1のネットワークお よびパケット送信元が含まれる第 2のネットワークの間に設けられるアドレス変換装置 であって、前記パケット送信先の前記第 1のネットワーク内におけるアドレスに前記第 2のネットワーク内における仮のアドレスを対応づけて設定する設定手段と、設定され た仮のアドレスを前記パケット送信元へ送信する第 1の送信手段と、前記パケット送 信元から送信されるパケットの宛先アドレスおよび送信元アドレスを前記第 1のネット ワーク内におけるアドレスへ変換する変換手段と、アドレス変換後のパケットを前記パ ケット送信先へ送信する第 2の送信手段と、を有する構成を採る。
[0020] 本発明に係るアドレス変換方法は、パケット送信先が含まれる第 1のネットワークお よびパケット送信元が含まれる第 2のネットワークの間におけるアドレス変換方法であ つて、前記パケット送信先の前記第 1のネットワーク内におけるアドレスに前記第 2の ネットワーク内における仮のアドレスを対応づけて設定するステップと、設定された仮 のアドレスを前記パケット送信元へ送信するステップと、前記パケット送信元から送信 されるパケットの宛先アドレスおよび送信元アドレスを前記第 1のネットワーク内にお けるアドレスへ変換するステップと、アドレス変換後のパケットを前記パケット送信先へ 送信するステップと、を有するようにした。
[0021] これらによれば、パケット送信先に仮のアドレスを対応づけ、パケット送信元から仮 のアドレス宛てに送信されたパケットの送信元アドレスおよび宛先アドレスを第 1のネ ットワーク内におけるアドレスへ変換してからパケット送信先へ送信するため、パケット 送信先に対してパケット送信元のアドレスを隠蔽できるとともにパケット送信元に対し
てパケット送信先のアドレスを隠蔽できる。したがって、セキュリティを維持しつつグロ 一バルネットワーク側からプライベートネットワーク側へのアクセスを可能として、グロ 一バルネットワークとプライベートネットワーク間の相互通信を実現できる。
発明の効果
[0022] 本発明によれば、セキュリティを維持しつつグローバルネットワーク側からプライべ ートネットワーク側へのアクセスを可能として、グローバルネットワークとプライべ一トネ ットワーク間の相互通信を実現できる。
図面の簡単な説明
[0023] [図 1]従来のネットワーク構成の例を示す図
[図 2]従来のネットワーク構成におけるプライベートネットワークおよびグローバルネッ トワーク間のアクセスの一例を示すシーケンス図
[図 3]従来のネットワーク構成におけるプライベートネットワークおよびグローバルネッ トワーク間のアクセスの他の一例を示すシーケンス図
[図 4]本発明の実施の形態 1に係るネットワーク構成の例を示す図
[図 5]実施の形態 1に係るゲートウェイ装置の構成を示すブロック図
[図 6]実施の形態 1に係る名前一アドレステーブルの例を示す図
[図 7]実施の形態 1に係るプライベート IPアドレス管理テーブルの例を示す図
[図 8]実施の形態 1に係るグローバル IPアドレス管理テーブルの例を示す図
[図 9]実施の形態 1に係るアドレス変換テーブルの例を示す図
[図 10]実施の形態 1に係るテーブル設定部の処理を示すフロー図
[図 11]実施の形態 1に係るトワイス NAT処理部の処理を示すフロー図
[図 12]実施の形態 1に係るプライベートネットワークおよびグローバルネットワーク間 のアクセスの一例を示すシーケンス図
[図 13]実施の形態 1に係るプライベートネットワークおよびグローバルネットワーク間 のアクセスの他の一例を示すシーケンス図
[図 14]本発明の実施の形態 2に係るゲートウェイ装置の構成を示すブロック図
[図 15]実施の形態 2に係る SRVレコードの例を示す図
[図 16]実施の形態 2に係るアドレス管理テーブルの例を示す図
[図 17]実施の形態 2に係るポート管理テーブルの例を示す図
[図 18]実施の形態 2に係るアドレス変換テーブルの例を示す図
[図 19]実施の形態 2に係るテーブル設定部の処理を示すフロー図
[図 20]実施の形態 2に係るトワイス NAT処理部の処理を示すフロー図
[図 21]実施の形態 2に係るプライベートネットワークおよびグローバルネットワーク間 のアクセスの一例を示すシーケンス図
[図 22]本発明の実施の形態 3に係るゲートウェイ装置の構成を示すブロック図
[図 23]実施の形態 3に係るテーブル設定動作を示すシーケンス図
[図 24]実施の形態 3に係るプライベートネットワークおよびグローバルネットワーク間 のアクセスの一例を示すシーケンス図
発明を実施するための最良の形態
[0024] 以下、本発明の実施の形態について、図面を参照して詳細に説明する。
[0025] (実施の形態 1)
図 4は、本発明の実施の形態 1に係るネットワーク構成の例を示す図である。同図 に示すネットワークは、プライベートネットワーク 100、グローバルネットワーク 200、お よびゲートウェイ装置 300を有している。そして、プライベートネットワーク 100は、ドメ イン名「a.private.com」のホスト 100a (プライベート IPアドレス「PA3」)、プライベート ネットワーク 100内のホストのドメイン名を管理する DNSサーバ 100b (プライベート IP アドレス「PA2」)、および L2— SWIOOcを有している。また、グローバルネットワーク 200は、 IP公衆網 200a、ドメイン名「a.global.com」のホスト 200b (グローバル IPアド レス「GA4」)、およびグローバルネットワーク 200内のホストのドメイン名を管理する D NSサーバ 200c (グローバル IPアドレス「GA3」)を有している。さらに、ゲートウェイ装 置 300には、プライベートネットワーク 100側ではプライベート IPアドレス「PA1」が付 与されており、グローバルネットワーク 200側ではグローバル IPアドレス「GA1」、「G A2」、および「GA5」が付与されている。このゲートウェイ装置 300は、 DNSプロキシ 機能とトワイス NAT機能を実装している。
[0026] 図 5は、本実施の形態に係るゲートウェイ装置 300の構成を示すブロック図である。
図 5に示すように、ゲートウェイ装置 300は、プライベートネットワークインタフェース部
301、受信識別部 302、 DNSメッセージ識別部 303、名前解決部 304、名前 アド レステープノレ 305、 DNSメッセージ生成部 306、テーブル設定部 307、プライベート I Pアドレス管理テーブル 308、グローバル IPアドレス管理テーブル 309、アドレス変換 テープノレ 310、トワイス NAT処理部 311、送信部 312、グローバルネットワークインタ フェース部 313、受信識別部 314、および送信部 315を有している。
[0027] プライベートネットワークインタフェース部 301は、プライベートネットワーク 100との 間のインタフェースであり、プライベートネットワーク 100から受信する信号を受信識 別部 302へ出力するとともに、送信部 315から出力される信号をプライベートネットヮ ーク 100へ送信する。
[0028] 受信識別部 302は、プライベートネットワーク 100からの信号が名前解決に関する DNSメッセージであるか否かを識別し、 DNSメッセージを DNSメッセージ識別部 30 3へ転送する一方、 DNSメッセージ以外のメッセージをトワイス NAT処理部 311へ転 送する。
[0029] DNSメッセージ識別部 303は、 DNSメッセージがパケットの転送先のドメイン名を 含む名前問レ、合わせのメッセージ (以下、単に「名前問レ、合わせ」とレ、う)またはパケ ットの転送先の IPアドレスを含むアドレス回答のメッセージ (以下、単に「アドレス回答 」という)のレ、ずれであるかを識別し、名前問レ、合わせを名前解決部 304へ転送する 一方、アドレス回答をテーブル設定部 307へ転送する。
[0030] 名前解決部 304は、名前問い合わせに含まれるドメイン名を抽出し、名前-アドレ ステーブル 305からドメイン名を検索し、このドメイン名に対応するアドレスを取得する 。そして、名前解決部 304は、 IPアドレスを取得できた場合は、 DNSメッセージ生成 部 306へ IPアドレス情報を転送し、 IPアドレス情報をアドレス回答として名前問い合 わせの送信元へ転送することを指示する。一方、名前解決部 304は、 IPアドレスを取 得できなかった場合は、名前問レ、合わせを名前解決が可能な他の DNSサーバへ転 送することを DNSメッセージ生成部 306へ指示する。
[0031] 名前一アドレステーブル 305は、例えば図 6に示すように、ドメイン名とアドレスを対 応づけて保持しており、名前解決部 304による名前解決の際に参照される。なお、名 前—アドレステーブル 305に保持されるアドレスは、後述するアドレス変換テーブル 3
10に登録されているアドレスであり、グローバルネットワーク 200のホスト(例えばホス ト 200b)のドメイン名(例えば「a.global.com」)には、プライベート IPアドレス(例えば「 PA4J )が対応づけられ、プライベートネットワーク 100のホスト(例えばホスト 100a)の ドメイン名(例えば「a.private.com」)には、グローバル IPアドレス(例えば「GA2」)が 対応づけられる。
[0032] DNSメッセージ生成部 306は、名前問い合わせやアドレス回答のメッセージを生成 し、指示された転送先へ転送する。
[0033] テーブル設定部 307は、プライベート IPアドレスとグローバル IPアドレス間の対応関 係を決定し、名前—アドレステーブル 305およびアドレス変換テーブル 310に登録す る。テーブル設定部 307の処理については、後に詳述する。
[0034] プライベート IPアドレス管理テーブル 308は、例えば図 7に示すように、グローバル ネットワーク 200のホスト(例えばホスト 200b)に対して割り当て可能なプライベート IP アドレスのリストである。すなわち、プライベート IPアドレス管理テーブル 308は、各プ ライべート IPアドレスの使用可否 (他のマッピングに使用されている場合は「否」、使 用されてレ、なレ、場合は「可」 )を管理してレ、る。
[0035] グローバル IPアドレス管理テーブル 309は、例えば図 8に示すように、アドレスマツ ビングをする際に割り当て可能なグローバル IPアドレスのリストである。すなわち、グロ 一バル IPアドレス管理テーブル 309は、各グローバル IPアドレスの使用可否(他のマ ッビングに使用されてレ、る場合は「否」、使用されてレ、なレ、場合は「可」 )を管理してレヽ る。
[0036] アドレス変換テーブル 310は、例えば図 9に示すように、プライベート IPアドレスとグ ローバル IPアドレスを対応づけて保持しており、トワイス NAT処理部 311によるトワイ ス NATの際に参照される。
[0037] トワイス NAT処理部 311は、プライベートネットワーク 100またはグローバルネットヮ ーク 200からの DNS以外のメッセージの送信元アドレスおよび宛先アドレスの双方を グローバル IPアドレスまたはプライベート IPアドレスに変換して送信部 312または送 信部 315へ出力する。トワイス NAT処理部 311の処理については、後に詳述する。
[0038] 送信部 312は、トワイス NAT処理部 311から出力される信号をグローバルネットヮ
一クインタフエース部 313を介してグローバルネットワーク 200へ送信する。
[0039] グローバルネットワークインタフェース部 313は、グローバルネットワーク 200との間 のインタフェースであり、送信部 312から出力される信号をグローバルネットワーク 20 0へ送信するとともに、グローバルネットワーク 200から受信する信号を受信識別部 3 14へ出力する。
[0040] 受信識別部 314は、グローバルネットワーク 200からの信号が名前解決に関する D NSメッセージであるか否かを識別し、 DNSメッセージを DNSメッセージ識別部 303 へ転送する一方、 DNSメッセージ以外のメッセージをトワイス NAT処理部 311へ転 送する。
[0041] 送信部 315は、トワイス NAT処理部 311から出力される信号をプライベートネットヮ 一クインタフエース部 301を介してプライベートネットワーク 100へ送信する。
[0042] 次いで、テーブル設定部 307の処理について、図 10に示すフロー図を参照して説 明する。
[0043] テーブル設定部 307には、 DNSメッセージのうちアドレス回答が DNSメッセージ識 別部 303から入力される。このアドレス回答からテーブル設定部 307によって情報が 抽出され(ST1000)、アドレス回答に含まれる IPアドレスがグローバル IPアドレスで あるか否かが判定される(ST1100)。
[0044] IPアドレスがグローバル IPアドレスである場合は、テーブル設定部 307によって、プ ライべート IPアドレス管理テーブル 308から使用可能なプライベート IPアドレスが選 択され、アドレス回答に含まれていたグローバル IPアドレスに対して、選択されたプラ ィペート IPアドレスが割り当てられる(ST1200)。そして、これらのグローバル IPアド レスとプライベート IPアドレスとが対応づけられてアドレス変換テーブル 310に登録さ れる(ST1300)。また、グローバル IPアドレスに対応するドメイン名と選択されたプラ ィベート IPアドレスとが名前一アドレステーブル 305に登録される(ST1400)。その 後、テーブル設定部 307によって、 ST1200で選択されたプライベート IPアドレスを アドレス回答としてプライベートネットワーク 100内の DNSサーバ 100bへ転送するよ うに、 DNSメッセージ生成部 306へ指示が出される(ST1500)。
[0045] 一方、 ST1100の判定の結果、 IPアドレスがグローバル IPアドレスではない場合は
、テーブル設定部 307によって、グローバル IPアドレス管理テーブル 309から使用可 能なグローバル IPアドレスが選択され、アドレス回答に含まれていたプライベート IPァ ドレスに対して、選択されたグローバル IPアドレスが割り当てられる(ST1600)。そし て、これらのプライベート IPアドレスとグローバル IPアドレスとが対応づけられてアドレ ス変換テーブル 310に登録される(ST1700)。また、プライベート IPアドレスに対応 するドメイン名と選択されたグローバル IPアドレスとが名前一アドレステーブル 305に 登録される(ST1800)。その後、テーブル設定部 307によって、 ST1600で選択さ れたグローバル IPアドレスをアドレス回答としてグローバルネットワーク 200内の DNS サーバ 200cへ転送するように、 DNSメッセージ生成部 306へ指示が出される(ST1 900)。
[0046] このようにアドレス変換テーブル 310および名前一アドレステーブル 305が設定さ れることにより、ゲートウェイ装置 300において、プライベートネットワーク 100内のホス ト(例えばホスト 100a)にはグローバル IPアドレスが割り当てられ、グローバルネットヮ ーク 200内のホスト(例えばホスト 200b)にはプライベート IPアドレスが害割当てられた ことになる。
[0047] 次に、トワイス NAT処理部 311の処理について、図 11に示すフロー図を参照して 説明する。
[0048] トワイス NAT処理部 311には、 DNSメッセージ以外の IPパケットなどのメッセージ が受信識別部 302または受信識別部 314から入力される(ST2000)。そして、トワイ ス NAT処理部 311によって、 IPパケットの送信元アドレスおよび宛先アドレスが取得 され(ST2010)、 IPパケットの転送先がグローバルネットワーク 200であるかプライべ ートネットワーク 100であるかが判定される(ST2020)。
[0049] 転送先がグローバルネットワーク 200である場合は、トワイス NAT処理部 311によつ て、アドレス変換テーブル 310力も宛先アドレスが検索され(ST2030)、宛先アドレス の有無が判定される(ST2040)。この結果、宛先アドレスがアドレス変換テーブル 31 0に登録されていない場合は、パケットが廃棄される(ST2120)。また、宛先アドレス がアドレス変換テーブル 310に登録されている場合は、アドレス変換テーブル 310が 参照され、宛先アドレスが対応するグローバル IPアドレスに変換される(ST2050)。
[0050] その後、アドレス変換テーブル 310から送信元アドレスが検索され、送信元アドレス の有無が判定される(ST2060)。この結果、送信元アドレスがアドレス変換テーブル 310に登録されている場合は、送信元アドレスが対応するグローバル IPアドレスに変 換され(ST2070)、送信部 312へ1?パケットが転送される(3丁2080)。また、送信元 アドレスがアドレス変換テーブル 310に登録されていない場合は、その旨がテーブル 設定部 307へ通知され、グローバル IPアドレス管理テーブル 309から使用可能なグ ローバル IPアドレスが選択され(ST2090)、 IPパケットの送信元アドレスと選択され たグローバル IPアドレスとが対応づけられてアドレス変換テーブル 310に登録される( ST2100)。さらに、トワイス NAT処理部 311によって、送信元アドレスが選択された グローバル IPアドレスに変換され(ST2110)、送信部 312へ IPパケットが転送される (ST2080)。
[0051] 一方、 ST2020の半 IJ定の結果、転送先がプライベートネットワーク 100である場合 は、トワイス NAT処理部 311によって、アドレス変換テーブル 310から宛先アドレスが 検索され (ST2130)、宛先アドレスの有無が判定される(ST2140)。この結果、宛先 アドレスがアドレス変換テーブル 310に登録されていない場合は、パケットが廃棄さ れる(ST2120)。また、宛先アドレスがアドレス変換テーブル 310に登録されている 場合は、アドレス変換テーブル 310が参照され、宛先アドレスが対応するプライべ一 ト IPアドレスに変換される(ST2150)。
[0052] その後、アドレス変換テーブル 310から送信元アドレスが検索され、送信元アドレス の有無が判定される(ST2160)。この結果、送信元アドレスがアドレス変換テーブル 310に登録されている場合は、送信元アドレスが対応するプライベート IPアドレスに 変換され、 (ST2170)、送信部 315へ IPパケットが転送される(ST2180)。また、送 信元アドレスがアドレス変換テーブル 310に登録されていない場合は、その旨がテー ブル設定部 307へ通知され、プライベート IPアドレス管理テーブル 308から使用可能 なプライベート IPアドレスが選択され(ST2190)、 IPパケットの送信元アドレスと選択 されたプライベート IPアドレスとが対応づけられてアドレス変換テーブル 310に登録さ れる(ST2200)。さらに、トワイス NAT処理部 311によって、送信元アドレスが選択さ れたプライベート IPアドレスに変換され(ST2210)、送信部 315へ IPパケットが転送
される(ST2180)。
[0053] このように、宛先アドレスおよび送信元アドレスの双方がゲートウェイ装置 300にお いてパケット転送先のネットワークにおける IPアドレスに変換されるため、 2つのネット ワークを跨ぐアクセスにおいては、パケット送信元のホストに対してパケット転送先の 実際の IPアドレスを隠蔽することができ、セキュリティを向上することができる。
[0054] 次に、プライベートネットワーク 100とグローバルネットワーク 200の間のアクセスに ついて説明する。まず、プライベートネットワーク 100からグローバルネットワーク 200 へのアクセスについて、図 12に示すシーケンス図を参照して説明する。
[0055] まず、プライベートネットワーク 100内のホスト 100aは、プライベートネットワーク 100 内の DNSサーバ 100bへドメイン名「a.global.com」の名前解決の依頼(DNSクエリ) 4 00を送信する。し力し、 DNSサーバ 100bには、ドメイン名「a.global.com」が登録され てレヽなレ、ため、ゲートウェイ装置 300へ名前問レ、合わせ 401が送信される。
[0056] 名前問い合わせ 401は、ゲートウェイ装置 300のプライベートネットワークインタフエ ース部 301、受信識別部 302、および DNSメッセージ識別部 303を経て名前解決部 304へ入力され、名前解決部 304にて名前解決が試みられる。すなわち、名前ーァ ドレステーブル 305においてドメイン名「a.global.com」が検索される。ここで、過去に プライベートネットワーク 100からドメイン名「a.global.com」のホスト 200bに対するァク セスが行われていれば、名前 アドレステーブル 305にドメイン名「a.global.com」と対 応するプライベート IPアドレスが登録されているため、このプライベート IPアドレスがホ スト 100aへ返送される。
[0057] 以下では、過去にホスト 200bに対するアクセスが行われておらず、ドメイン名「a.glo bal.com」が名前一アドレステーブル 305に登録されていないものとして説明を続ける 。この場合、 DNSメッセージ生成部 306によって名前問い合わせが生成され、グロ一 バルネットワーク 200内の DNSサーバ 200cへ名前問い合わせ 402が転送される。 D NSサーノ 200cは、 自サーバに保持されている名前一アドレステーブルから「a.globa l.com」を検索し、グローバル IPアドレス「GA4」を取得する。グローバル IPアドレス取 得後、 DNSサーノ 200cは、ゲートウェイ装置 300へグローバル IPアドレス「GA4」を 含むアドレス回答 403を転送する。
[0058] アドレス回答 403を受信したゲートウェイ装置 300は、上述したテーブル設定部 30 7による処理を行う。すなわち、プライベート IPアドレス管理テーブル 308から使用可 能なプライベート IPアドレス「PA4」が選択され、実際のグローバル IPアドレス「GA4」 に対応づけられて、アドレス変換テーブル 310に登録される。また、名前—アドレステ ーブノレ 305に、ドメイン名「a.global.com」とプライベート IPアドレス「PA4」が登録され る。
[0059] テーブル設定部 307による処理が終了した後、 DNSメッセージ生成部 306は、プラ ィベート IPアドレス「PA4」を含むアドレス回答を生成し、アドレス回答 404が送信部 3 15からプライベートネットワークインタフェース部 301を介して DNSサーバ 100bへ送 信される。 DNSサーバ 100bは、ホスト 100aへドメイン名「a.global.com」の IPアドレス がプライベート IPアドレス「PA4」である旨の DNS回答 405を転送する。したがって、 プライベートネットワーク 100内のホスト 100aおよび DNSサーバ 100bに対しては、 グローバルネットワーク 200内のホスト 200bの実際のグローバル IPアドレス「GA4」が 隠蔽されている。そして、ホスト 100aは、送信元アドレスをプライベート IPアドレス「P A3」、宛先アドレスをプライベート IPアドレス「PA4」として、 IPパケット 406をゲートゥ エイ装置 300へ送信する。
[0060] IPパケット 406を受信したゲートウェイ装置 300は、上述したトワイス NAT処理部 31 1による処理を行う。すなわち、トワイス NAT処理部 311によってアドレス変換テープ ル 310が参照され、宛先アドレスのプライベート IPアドレス「PA4」がグローバル IPァ ドレス「GA4」に変換される。また、トワイス NAT処理部 311によって、送信元アドレス に対するアドレスマッピングが生成され、送信元アドレス「PA3」がそのマッピングに 対応するグローバル IPアドレス「GA1」に変換される。このようにして、宛先アドレスお よび送信元アドレスの双方がグローバル IPアドレスに変換されるトワイス NATが行わ れた後、 IPパケット 407は、グローバルネットワーク 200内のホスト 200bへ送信される 。したがって、グローバルネットワーク 200内のホスト 200bに対しては、プライべ一トネ ットワーク 100内のホスト 100aの実際のプライベート IPアドレス「PA3」が隠蔽されて いる。
[0061] 以後、プライベートネットワーク 100内のホスト 100aからグローバルネットワーク 200
内のホスト 200bへの通信では、ゲートウェイ装置 300において、アドレス変換テープ ル 310に基づくトワイス NATが実施される。
[0062] 次に、上記のアクセスとは反対方向のアクセス、すなわち、グローバルネットワーク 2 00からプライベートネットワーク 100へのアクセスについて、図 13に示すシーケンス 図を参照して説明する。
[0063] まず、グローバルネットワーク 200内のホスト 200bは、グローバルネットワーク 200 内の DNSサーバ 200cへドメイン名「a.private.com」に関する DNSクエリ 450を送信 する。し力 、 DNSサーバ 200cには、ドメイン名「a.private.com」が登録されていない ため、ゲートウェイ装置 300へ名前問い合わせ 451が送信される。
[0064] 名前問い合わせ 451は、グローバルネットワークインタフェース部 313、受信識別部
314、および DNSメッセージ識別部 303を経て名前解決部 304へ入力され、名前解 決部 304にて名前解決が試みられる。ここでは、上述したプライベートネットワーク 10 0からグローバルネットワーク 200へのアクセスと同様に、ドメイン名「a.private.com」が 名前一アドレステーブル 305に登録されていないものとして説明を続ける。この場合 、 DNSメッセージ生成部 306によって生成された名前問い合わせ 452がプライべ一 トネットワーク 100内の DNSサーバ 100bへ転送される。 DNSサーバ 100bは、 自サ ーバに保持されてレ、る名前 アドレステーブルから「a.private.com」を検索し、プライ ペート IPアドレス「PA3」を取得する。プライベート IPアドレス取得後、 DNSサーバ 10 Obは、ゲートウェイ装置 300へプライベート IPアドレス「PA3」を含むアドレス回答 45 3を転送する。
[0065] アドレス回答 453を受信したゲートウェイ装置 300は、上述したテーブル設定部 30 7による処理を行う。すなわち、グローバル IPアドレス管理テーブル 309から使用可 能なグローバル IPアドレス「GA2」が選択され、実際のプライベート IPアドレス「PA3」 に対応づけられて、アドレス変換テーブル 310に登録される。また、名前—アドレステ ーブノレ 305に、ドメイン名「a.private.com」とグローバル IPアドレス「GA2」が登録され る。
[0066] テーブル設定部 307による処理が終了した後、 DNSメッセージ生成部 306は、グロ 一バル IPアドレス「GA2」を含むアドレス回答を生成し、アドレス回答 454が送信部 3
12からグローバルネットワークインタフェース部 313を介して DNSサーバ 200cへ送 信される。 DNSサーバ 200cは、ホスト 200bへドメイン名「a.private.com」の IPァドレ スがグローバル IPアドレス「GA2」である旨の DNS回答 455を転送する。したがって 、グローバルネットワーク 200内のホスト 200bおよび DNSサーバ 200cに対しては、 プライベートネットワーク 100内のホスト 100aの実際のプライベート IPアドレス「PA3」 が隠蔽されている。そして、ホスト 200bは、送信元アドレスをグローバル IPアドレス「G A4」、宛先アドレスをグローバル IPアドレス「GA2」として、 IPパケット 456をゲートゥヱ ィ装置 300へ送信する。
[0067] IPパケット 456を受信したゲートウェイ装置 300は、上述したトワイス NAT処理部 31 1による処理を行う。すなわち、トワイス NAT処理部 311によってアドレス変換テープ ノレ 310力参照され、宛先アドレスのグローバル IPアドレス「GA2」がプライベート IPァ ドレス「PA3」に変換される。また、トワイス NAT処理部 311によって、送信元アドレス に対応するプライベート IPアドレスとして使用可能なプライベート IPアドレス「PA4」が プライベート IPアドレス管理テーブル 308から選択され、送信元アドレスであるグロ一 バル IPアドレス「GA4」と選択されたプライベート IPアドレス「PA4」とがアドレス変換 テーブル 310に登録され、送信元アドレスがプライベート IPアドレス「PA4」に変換さ れる。このようにして、宛先アドレスおよび送信元アドレスの双方がプライベート IPアド レスに変換されるトワイス NATが行われた後、 IPパケット 457は、プライベートネットヮ ーク 100内のホスト 100aへ送信される。したがって、プライベートネットワーク 100内 のホスト 100aに対しては、グローバルネットワーク内のホスト 200bの実際のグローバ ル IPアドレス「GA4」が隠蔽されてレ、る。
[0068] 以後、グローバルネットワーク 200内のホスト 200b力もプライベートネットワーク 100 内のホスト 100aへの通信では、ゲートウェイ装置 300において、アドレス変換テープ ル 310に基づくトワイス NATが実施される。
[0069] 以上のように、本実施の形態によれば、グローバルネットワークとプライベートネット ワークの間の通信が行われる際、ゲートウェイ装置において、名前解決時にドメイン 名に対応する IPアドレスを送信元のネットワーク内における未使用の IPアドレスに変 換するとともに、 IPパケットの送信時に送信元アドレスおよび宛先アドレスをパケット
転送先のネットワーク内における IPアドレスに変換する。このため、互いのネットヮー クを越えて実際の IPアドレスがやり取りされることがなぐセキュリティを維持しつつグ ローバルネットワーク側からプライベートネットワーク側へのアクセスを可能として、グ ローバルネットワークとプライベートネットワーク間の相互通信を実現できる。
[0070] (実施の形態 2)
本発明の実施の形態 2の特徴は、名前—アドレステーブルに加えてポート番号の 通知が可能な SRV (SeRVice)レコードを保持し、グローバルネットワークのホストから の名前問い合わせへのアドレス回答としてグローバル IPアドレスおよびポートを通知 することにより、宛先アドレスの変換時に NATに代えて NAPT (Network Address Por t Transfer)を使用する点である。
[0071] 本実施の形態に係るネットワーク構成は、図 4 (実施の形態 1)と同様であるため、そ の説明を省略する。ただし、実施の形態 1と異なり、本実施の形態のゲートウェイ装置 300には、グローバルネットワーク 200側ではグローバル IPアドレス「GA1」のみが付 与されている。
[0072] 図 14は、本実施の形態に係るゲートウェイ装置 300の構成を示すブロック図である 。同図において、図 5と同じ部分には同じ符号を付し、その説明を省略する。図 14に 示すように、ゲートウェイ装置 300は、プライベートネットワークインタフェース部 301、 受信識別部 302、 DNSメッセージ識別部 303、名前解決部 304、 SRVレコード/名 前—アドレステーブル 501、 DNSメッセージ生成部 306、テーブル設定部 502、アド レス管理テーブル 503、ポート管理テーブル 504、アドレス変換テーブル 505、トワイ ス NAT処理部 506、送信部 312、グローバルネットワークインタフェース部 313、受 信識別部 314、および送信部 315を有している。
[0073] SRVレコード Z名前一アドレステーブル 501は、実施の形態 1の名前一アドレステ ーブノレ 305の情報にカロえ、例えば図 15に示す SRVレコードを保持している。ここで、 SRVレコードとは、 IETF (The Internet Engineering Task Force)によって発行された RFC (Request For Comment) 2782に規定されており、負荷分散サービスの提供、 冗長性の確保、およびサービスポート番号の通知という目的で、ドメイン名と IPァドレ ス以外のインターネットに必要な情報のことである。 SRVレコードによれば、 _Service._
Proto.Nameで名前解決が行われる。—Service._Proto.Nameのうち _Serviceはサービス 名を示し、 RFC1700に規定されたもの(例えば Webサービスの場合は www)や、独 自に定義したものを使用することができる。また、 _Protoはプロトコル名を示し、 Name はドメイン名を示している。例えば、 Webサービスを有する private.comの場合、 _Servi ce._Proto.Nameは、 _www._tcp.private.comとなる。また、 SRVレコードにおける優先度 (Priority)により、 SRVレコードに登録されている各エントリに対して優先度を付与す ること力 Sできる。また、ポート(port)はサービスポート番号を示し、ターゲット(Target) はサービスを提供するホスト名を示している。本実施の形態のゲートウェイ装置 300 に登録されてレ、るポート番号は、すべてグローバルポートであるものとする。
[0074] テーブル設定部 502は、プライベート IPアドレスとグローバル IPアドレス間の対応関 係を決定し、 SRVレコード Z名前—アドレステーブル 501およびアドレス変換テープ ノレ 505に登録するとともに、グローバルポートとプライベートポート間の対応関係を決 定し、 SRVレコード/名前—アドレステーブル 501およびアドレス変換テーブル 505 に登録する。テーブル設定部 502の処理については、後に詳述する。
[0075] アドレス管理テーブル 503は、例えば図 16に示すように、グローバルネットワーク 2 00のホスト(例えばホスト 200b)に対して割り当て可能なプライベート IPアドレスのリス トである。すなわち、プライベート IPアドレス管理テーブル 308は、各プライベート IP アドレスの使用可否 (他のマッピングに使用されている場合は「否」、使用されていな レ、場合は「可」 )を管理してレ、る。
[0076] ポート管理テーブル 504は、例えば図 17に示すように、プライベートネットワーク 10 0のホスト(例えばホスト 100a)に対して害 ijり当て可能なグローバルポートのリストであ る。すなわち、ポート管理テーブル 504は、各グローバルポートの使用可否(他のマツ ビングに使用されてレ、る場合は「否」、使用されてレ、なレ、場合は「可」 )を管理してレ、る
[0077] アドレス変換テーブル 505は、例えば図 18に示すように、プライベート IPアドレス、 プライベートポート、グローバル IPアドレス、およびグローバルポートを対応づけて保 持しており、トワイス NAT処理部 506によるトワイス NATの際に参照される。なお、ァ ドレス変換テーブル 505において、プライベートポートとグローバルポートが登録され
ていない場合には、トワイス NAT処理部 506によるポートの変換は行われない。
[0078] トワイス NAT処理部 506は、プライベートネットワーク 100またはグローバルネットヮ ーク 200からの DNS以外のメッセージの送信元アドレスおよび宛先アドレスの双方を グローバル IPアドレスまたはプライベート IPアドレスに変換するとともに、グローバル ポートとプライベートポートの変換をして送信部 312または送信部 315へ出力する。ト ワイス NAT処理部 506の処理については、後に詳述する。
[0079] 次いで、テーブル設定部 502の処理について、図 19に示すフロー図を参照して説 明する。なお、同図において、図 10 (実施の形態 1)と同じ部分には同じ符号を付し、 その詳しい説明を省略する。
[0080] まず、実施の形態 1と同様に、テーブル設定部 502に入力されたアドレス回答に含 まれる IPアドレスがグローバル IPアドレスであるか否かが判定される(ST1100)。 IP アドレスがグローバル IPアドレスである場合は、このグローバル IPアドレスに対して、 アドレス管理テーブル 503から選択された使用可能なプライベート IPアドレスが割り 当てられ(ST1200)、これらのグローバル IPアドレスとプライベート IPアドレスとが対 応づけられてアドレス変換テーブル 505に登録される(ST1300)。また、グロ一ノくル I Pアドレスに対応するドメイン名と選択されたプライベート IPアドレスとが SRVレコード /名前—アドレステーブル 501に登録される(ST3000)。その後、テーブル設定部 5 02によって、選択されたプライベート IPアドレスを含むアドレス回答を DNSサーバ 10 Obへ転送するように、 DNSメッセージ生成部 306へ指示が出される(ST1500)。
[0081] 一方、 ST1100の判定の結果、 IPアドレスがグローバル IPアドレスではない場合は 、テーブル設定部 502によって、ポート管理テーブル 504から使用可能なグローバル ポートが選択され、アドレス回答に含まれていたプライベート IPアドレスおよびプライ ベートポート(以下、「プライベート IPアドレス/ポート」と表記する)に対して、選択さ れたグローバルポートが割り当てられる(ST3100)。そして、これらのプライベート IP アドレス Zポートとゲートウェイ装置 300のグローバル IPアドレスおよび選択されたグ ローバルポートとが対応づけられてアドレス変換テーブル 505に登録される(ST320 0)。また、プライベート IPアドレスに対応するドメイン名とゲートウェイ装置 300のグロ 一バル IPアドレスと選択されたグローバルポートとが SRVレコード/名前一アドレス
テープ、ノレ 501に SRVレコードとして登録される(ST3300)。その後、テーブル設定 部 502によって、ゲートウェイ装置 300のグローバル IPアドレスおよび ST3100で選 択されたグローバルポートをアドレス回答としてグローバルネットワーク 200内の DNS サーバ 200cへ転送するように、 DNSメッセージ生成部 306へ指示が出される(ST3 400)。
[0082] このようにアドレス変換テーブル 505および SRVレコード Z名前一アドレステープ ノレ 501が設定されることにより、ゲートウェイ装置 300において、プライベートネットヮ ーク 100内のホスト(例えばホスト 100a)にはゲートウェイ装置 300のグローバル IPァ ドレスおよびグローバルポートが割り当てられ、グローバルネットワーク 200内のホスト (例えばホスト 200b)にはプライベート IPアドレスが割り当てられたことになる。
[0083] 次に、トワイス NAT処理部 506の処理について、図 20に示すフロー図を参照して 説明する。なお、同図において、図 11 (実施の形態 1)と同じ部分には同じ符号を付 し、その詳しい説明を省略する。
[0084] トワイス NAT処理部 506には、 DNSメッセージ以外の IPパケットなどのメッセージ が受信識別部 302または受信識別部 314から入力される(ST2000)。そして、実施 の形態 1と同様に、トワイス NAT処理部 506によって、 IPパケットの送信元アドレス、 送信元ポート、および宛先アドレスが取得され (ST2010)、 IPパケットの転送先が判 定され(ST2020)、 IPパケットの転送先がグローバルネットワーク 200である場合は、 アドレス変換テーブル 505における宛先アドレスの有無が判定される(ST2040)。こ の結果、宛先アドレスがアドレス変換テーブル 505に登録されていない場合は、パケ ットが廃棄される(ST2120)—方、宛先アドレスがアドレス変換テーブル 505に登録 されている場合は、宛先アドレスが対応するグローバル IPアドレスに変換される(ST2 050)。
[0085] その後、アドレス変換テーブル 505から送信元アドレスおよび送信元ポートが検索 され、送信元アドレスおよび送信元ポートの有無が判定される(ST4000)。この結果 、送信元アドレスおよび送信元ポートがアドレス変換テーブル 505に登録されている 場合は、送信元アドレスおよび送信元ポートがそれぞれ対応するグローバル IPァドレ スおよびグローバルポートに変換され(ST4010)、送信部 312へ IPパケットが転送さ
れる(ST2080)。また、送信元アドレスおよび送信元ポートがアドレス変換テーブル 5 05に登録されていない場合は、その旨がテーブル設定部 502へ通知され、ポート管 理テーブル 504から使用可能なグローバルポートが選択され(ST4020)、 IPパケット の送信元ポートと選択されたグローバルポートとが対応づけられてアドレス変換テー ブノレ 505に登録される(ST4030)。さらに、トワイス NAT処理咅 B506によって、送信 元アドレスおよび送信元ポートがそれぞれゲートウェイ装置 300のグローバル IPアド レスおよび選択されたグローバルポートに変換され(ST4040)、送信部 312へ IPパ ケットが転送される(ST2080)。
[0086] 一方、 ST2020の半 IJ定の結果、転送先がプライベートネットワーク 100である場合 は、トワイス NAT処理部 506によって、アドレス変換テーブル 505から宛先アドレスが 検索され(ST2130)、宛先ポートの有無が判定される(ST4050)。この結果、宛先 ポートがアドレス変換テーブル 505に登録されていない場合は、パケットが廃棄され る(ST2120)。また、宛先ポートがアドレス変換テーブル 505に登録されている場合 は、アドレス変換テーブル 505が参照され、宛先アドレスおよび宛先ポートがそれぞ れ対応するプライベート IPアドレスおよびプライベートポートに変換される(ST4060)
[0087] その後、実施の形態 1と同様に、アドレス変換テーブル 505から送信元アドレスが検 索され、送信元アドレスがアドレス変換テーブル 505に登録されている場合は、送信 元アドレスが対応するプライベート IPアドレスに変換され、(ST2170)、送信部 315 へ IPパケットが転送される(ST2180)。また、送信元アドレスがアドレス変換テーブル 505に登録されていない場合は、使用可能なプライベート IPアドレスが送信元ァドレ スに割り当てられて登録された上で、送信元アドレスがこのプライベート IPアドレスに 変換され(ST2210)、送信部 315へ IPパケットが転送される(ST2180)。
[0088] このように、宛先アドレスおよび送信元アドレスの双方と宛先ポートまたは送信元ポ ートとがゲートウェイ装置 300においてパケット転送先のネットワークにおける IPァドレ スおよびポートに変換されるため、 2つのネットワークを跨ぐアクセスにおいては、パケ ット送信元のホストに対してパケット転送先の実際の IPアドレスを隠蔽することができ 、セキュリティを向上することができる。
[0089] 次に、プライベートネットワーク 100とグローバルネットワーク 200の間のアクセスに ついて説明する。本実施の形態に係るプライベートネットワーク 100からグローバル ネットワーク 200へのアクセスについては、送信元アドレスのみではなく送信元ポート がグローバルポートに変換される点を除いて実施の形態 1と同様であるため、その説 明を省略する。
[0090] したがって、以下ではグローバルネットワーク 200力 プライベートネットワーク 100 へのアクセスについて、図 21に示すシーケンス図を参照して説明する。
[0091] まず、グローバルネットワーク 200内のホスト 200bは、グローバルネットワーク 200 内の DNSサーノ 2000へ_361^06._?1-01:0^&11½「_www._tcp.private.com」に関する DN Sクエリ 600を送信する。し力し、 DNSサーノ 200cに fま、 _Service._Proto.Name www •_tcp.private.com」が登録されてレヽなレ、ため、ゲートウェイ装置 300へ名前問レ、合わ せ 601が送信される。
[0092] 名前問い合わせ 601は、グローバルネットワークインタフェース部 313、受信識別部 314、および DNSメッセージ識別部 303を経て名前解決部 304へ入力され、名前解 決部 304にて名前解決が試みられる。ここでは、—Service._Proto.Name www._tcp.pri vate.com」が SRVレコード/名前 アドレステーブル 501に登録されていないものと して説明を続ける。この場合、 DNSメッセージ生成部 306によって生成された名前問 い合わせ 602がプライベートネットワーク 100内の DNSサーバ 100bへ転送される。
DNSサーバ 100bは、 自サーバに保持されてレ、る名前 アドレステーブルから「_ww w._tcp. private.com」 検索し、プフィベート IPアドレス「PA3」およびプフづペートホー h「aaa」を取得する。プライベート IPアドレス/ポート取得後、 DNSサーバ 100bは、 ゲートウェイ装置 300へプライベート IPアドレス「PA3」およびプライベートポート「aaa 」を含むアドレス/ポート回答 603を転送する。
[0093] アドレス Zポート回答 603を受信したゲートウェイ装置 300は、上述したテーブル設 定部 502による処理を行う。すなわち、ポート管理テーブル 504から使用可能なグロ 一バルポート「χχχ」が選択され、ゲートウェイ装置 300のグローバル IPアドレス「GA1 」、実際のプライベート IPアドレス「PA3」、およびプライベートポート「aaa」に対応づ けられて、アドレス変換テーブル 505に登録される。また、 SRVレコード Z名前一アド
レステープノレ 501に、—Service.— Proto. Name「― www.— tcp.private.com」とグローノくノレ IP アドレス「GA1」およびグローバルポート「xxx」とが対応づけられて登録される。
[0094] テーブル設定部 502による処理が終了した後、 DNSメッセージ生成部 306は、グロ 一バル IPアドレス「GA1」およびグローバルポート「xxx」を含むアドレス回答を生成し 、アドレス Zポート回答 604が送信部 312からグローバルネットワークインタフェース ^313を して DNSサーノ 200cへ i¾ fされる。 DNSサーノ 200c¾;、ホス卜 200b へ _Service._Proto.Name「_www._tcp.private.com」の IPアドレス力ダローノヽノレ IPァドレ ス「0八1」であり、グローバルポートが「xxx」である旨の DNS回答 605を転送する。し たがって、グローバルネットワーク 200内のホスト 200bおよび DNSサーバ 200cに対 しては、プライベートネットワーク 100内のホスト 100aの実際のプライベート IPアドレス 「PA3」およびプライベートポート「aaa」が隠蔽されている。そして、ホスト 200bは、送 信元アドレスをグローバル IPアドレス「GA4」、宛先アドレスをグローバル IPアドレス「 GA1」、宛先ポートをグローバルポート「xxx」として、 IPパケット 606をゲートウェイ装 置 300へ送信する。
[0095] IPパケット 606を受信したゲートウェイ装置 300は、上述したトワイス NAT処理部 50 6による処理を行う。すなわち、トワイス NAT処理部 506によってアドレス変換テープ ノレ 505力 S参照され、宛先アドレスのグローバル IPアドレス「GA1」および宛先ポートの グローバノレポート「xxx」がそれぞれプライベート IPアドレス「PA3」およびプライべ一 トポート「aaa」に変換される。また、トワイス NAT処理部 506によって、送信元アドレス に対応するプライベート IPアドレスとして使用可能なプライベート IPアドレス「PA4」が アドレス管理テーブル 503から選択され、送信元アドレスであるグローバル IPアドレス 「GA4」と選択されたプライベート IPアドレス「PA4」とがアドレス変換テーブル 505に 登録され、送信元アドレスがプライベート IPアドレス「PA4」に変換される。このように して、宛先アドレスおよび送信元アドレスの双方がプライベート IPアドレスに変換され るトワイス NATが行われた後、 IPパケット 607は、プライベートネットワーク 100内のホ スト 100aへ送信される。したがって、プライベートネットワーク 100内のホスト 100aに 対しては、グローバルネットワーク内のホスト 200bの実際のグローバル IPアドレス「G A4」が隠蔽されている。
[0096] 以後、グローバルネットワーク 200内のホスト 200b力 プライベートネットワーク 100 内のホスト 100aへの通信では、ゲートウェイ装置 300において、アドレス変換テープ ル 505に基づくトワイス NATが実施される。
[0097] 以上のように、本実施の形態によれば、グローバルネットワークとプライベートネット ワークの間の通信が行われる際、ゲートウェイ装置において、名前解決時にドメイン 名に対応する IPアドレスを送信元のネットワーク内における未使用の IPアドレスに変 換するとともに、 IPパケットの送信時に送信元アドレスおよび宛先アドレスをパケット 転送先のネットワーク内における IPアドレスに変換する。このため、互いのネットヮー クを越えて実際の IPアドレスがやり取りされることがなぐセキュリティを維持しつつグ ローバルネットワーク側からプライベートネットワーク側へのアクセスを可能として、グ ローバルネットワークとプライベートネットワーク間の相互通信を実現できる。
[0098] また、本実施の形態においては、ゲートウェイ装置にグローバル IPアドレスを 1つの み付与し、 SRVレコードに含まれるポートによってグローバル IPアドレスの識別を行う ため、多くの IPアドレスをゲートウェイ装置が占有することを防止することができる。
[0099] (実施の形態 3)
本発明の実施の形態 3の特徴は、プライベートネットワーク内のホストが UPnP (Uni versal Plug and Play)プロトコルなどのプラグアンドプレイの機能を搭載している場合 、ゲートウェイ装置において自動的にポートマッピングを作成する点である。
[0100] 本実施の形態に係るネットワーク構成は、図 4 (実施の形態 1)と同様であるため、そ の説明を省略する。ただし、実施の形態 1と異なり、本実施の形態のホスト 100aには 、 UPnPプロトコルが搭載されている。また、本実施の形態のゲートウェイ装置 300に は、実施の形態 2と同様に、グローバルネットワーク 200側ではグローバル IPアドレス 「GA1」のみが付与されている。
[0101] UPnPとは、家庭内のパソコン、パソコン周辺機器、 AV機器、および家電製品など の機器をネットワークを通じて接続し、相互に機能を提供しあうために「UPnP Forumj と呼ばれる団体によって規格化された技術仕様である。 UPnPは、インターネットで標 準となっている技術を基盤とし、ネットワークに接続するだけで、複雑な操作や設定 作業を伴うことなく機能することを目指して検討されている。また、 UPnPは、主にデ
バイス検出、 LAN内の機器からのポートマッピング要求、およびグローバル IPァドレ スの通知などの機能を有する。
[0102] 図 22は、本実施の形態に係るゲートウェイ装置 300の構成を示すブロック図である 。同図において、図 5および図 14と同じ部分には同じ符号を付し、その説明を省略 する。図 22に示すように、ゲートウェイ装置 300は、プライベートネットワークインタフ エース部 301、受信識別部 701、 DNSメッセージ識別部 303、名前解決部 304、 SR Vレコード/名前—アドレステーブル 501、 DNSメッセージ生成部 306、テーブル設 定部 703、アドレス管理テーブル 503、ポート管理テーブル 504、アドレス変換テー ブノレ 505、トワイス NAT処理部 506、送信部 312、グローバルネットワークインタフエ ース部 313、受信識別部 314、送信部 315、および UPnP処理部 702を有している。
[0103] 受信識別部 701は、プライベートネットワーク 100からの信号が DNSメッセージであ る力 \ UPnPメッセージである力、、またはそれ以外のメッセージであるかを識別し、 D NSメッセージを DNSメッセージ識別部 303へ転送し、 UPnPメッセージを UPnP処 理部 702へ転送し、これら以外のメッセージをトワイス NAT処理部 506へ転送する。
[0104] UPnP処理部 702は、 UPnPメッセージがポートマッピング要求の場合には、ホスト
100aのプライベート IPアドレス/ポートを含むポートマッピング要求をテーブル設定 部 703へ送信する。また、 UPnP処理部 702は、テーブル設定部 703からポートマツ ビング要求応答を受信し、通知されたグローバルポートを示す UPnPメッセージを送 信部 315へ転送する。
[0105] テーブル設定部 703は、ポートマッピング要求を UPnP処理部 702から受信すると 、ポート管理テーブル 504から使用可能なグローバルポートを選択し、ポートマツピン グ要求に含まれるプライベート IPアドレス Zポート、ゲートウェイ装置 300のグローバ ル IPアドレス、および選択されたグローバルポートをアドレス変換テーブル 505に登 録する。また、テーブル設定部 703は、 SRVレコード/名前—アドレステーブル 501 に、ゲートゥヱイ装置 300のグローバル IPアドレスと選択されたグローバルポートを登 録する。
[0106] 次いで、上記のように構成されたゲートウェイ装置 300におけるアドレス変換テープ ル 505および SRVレコード/名前—アドレステーブル 501の設定動作を図 23に示
すシーケンス図を参照しながら説明する。
[0107] まず、ホスト 100aが起動されると、ホスト 100aの UPnPによって、ゲートウェイ装置 3 00が検出(デバイス検出)され、ポートマッピング要求 800が送信される。ゲートウェイ 装置 300は、 UPnP処理部 702にて受信した UPnPメッセージがポートマッピング要 求であると判断し、テーブル設定部 703へポートマッピング要求 801を転送する。こ のとき、ポートマッピング要求 801には、ホスト 100aのプライベート IPアドレス「PA3」 とプライベートポート「aaa」が含まれてレ、る。
[0108] テーブル設定部 703は、ポート管理テーブル 504から使用可能なグローバルポート 「xxx」を選択し、アドレス変換テーブル登録 802をアドレス変換テーブル 505へ出力 する。すなわち、テーブル設定部 703は、プライベート IPアドレス「PA3」、プライべ一 トポート「aaa」、ゲートウェイ装置 300のグローバル IPアドレス「GA1」、および選択し たポート「xxx」をアドレス変換テーブル 505に登録する。
[0109] また、テーブル設定部 703は、 SRVレコード/名前 アドレステーブル登録 803を SRVレコード/名前一アドレステーブル 501へ出力する。すなわち、テーブル設定 部 703は、ゲートウェイ装置 300のグローバル IPアドレス「GA1」と選択したポート「xx x」を SRVレコード/名前—アドレステーブル 501に登録する。
[0110] このようにしてポートマッピングが行われた後、テーブル設定部 703は、ポートマツピ ングが完了した旨のポートマッピング要求応答 804を UPnP処理部 702へ出力し、 U PnP処理部 702からポートマッピング要求応答 805がホスト 100aへ転送される。
[0111] 以後、ホスト 100aは、定期的にポートマッピング確認要求 806をゲートウェイ装置 3 00へ送信し、ゲートウェイ装置 300の UPnP処理部 702は、テーブル設定部 703へ ポートマッピング確認要求 807を出力し、テーブル設定部 703は、アドレス変換テー ブノレ参照 808を行って、この結果をポートマッピング確認応答 809として UPnP処理 部 702へ返送する。 UPnP処理部 702は、ポートマッピング確認応答 810をホスト 10 Oaへ転送することにより、ポートマッピングがアドレス変換テーブル 505に設定されて レ、るか否かを確認する。
[0112] 以上のような動作は、例えばプライベートネットワーク 100内のホストが新規にサー ビスを提供する場合に実施される。
[0113] 次に、グローバルネットワーク 200からプライベートネットワーク 100へのアクセスに ついて、図 24に示すシーケンス図を参照して説明する。
[0114] まず、グローバルネットワーク 200内のホスト 200bは、グローバルネットワーク 200 内の DNSサーノ 2000へ_361^06._?1-01:0^&11½「_www._tcp.private.com」に関する DN Sクエリ 850を送信する。し力し、 DNSサーノ 200cに fま、 _Service._Proto.Name www •_tcp.private.com」が登録されてレヽなレ、ため、ゲートウェイ装置 300へ名前問レ、合わ せ 851が送信される。
[0115] 名前問い合わせ 851は、グローバルネットワークインタフェース部 313、受信識別部 314、および DNSメッセージ識別部 303を経て名前解決部 304へ入力される。本実 施の形態においては、プライベートネットワーク 100内のホスト 100aとの間で UPnP によって、事前にアドレス変換テーブル 505および SRVレコード/名前一アドレステ 一ブル 501が設定されているため、名前解決部 304によって、 SRVレコード/名前 —アドレステーブル 501から「_www._tcp.private.com」が検索され、プライベート IPアド レス「PA3」およびプライベートポート「aaa」が取得される。
[0116] 取得されたプライベート IPアドレス「PA3」およびプライベートポート「aaa」は、ァドレ ス変換テーブル 505が参照されることにより、ゲートウェイ装置 300のグローバル IPァ ドレス「GA1」およびグローバルポート「xxx」へ変換され、アドレス/ポート回答 852と してグローバルネットワーク 200内の DNSサーバ 200cへ送信される。 DNSサーバ 2 00cは、ホスト 200bへ— Service.— Proto. Name「― www.— tcp.private.com」の IPアドレス力 S グローバル IPアドレス「GA1」であり、グローバルポートが「xxx」である旨の DNS回 答 853を転送する。したがって、グローバルネットワーク 200内のホスト 200bおよび D NSサーノ 200cに対しては、プライベートネットワーク 100内のホスト 100aの実際の プライベート IPアドレス「PA3」およびプライベートポート「aaa」が隠蔽されてレ、る。そ して、ホスト 200bは、送信元アドレスをグローバル IPアドレス「GA4」、宛先アドレスを グローバル IPアドレス「GA1」、宛先ポートをグローバルポート「xxx」として、 IPバケツ ト 854をゲートウェイ装置 300へ送信する。
[0117] 以後、実施の形態 2と同様のトワイス NAT処理が行われ、宛先アドレスがプライべ ート IPアドレス「PA3」、宛先ポートがプライベートポート「aaa」、および送信元ァドレ
スがプライベート IPアドレス「PA4」にそれぞれ変換され、 IPパケット 855がホスト 100 aへ送信される。したがって、プライベートネットワーク 100内のホスト 100aに対しては 、グローバルネットワーク内のホスト 200bの実際のグローバル IPアドレス「GA4」が隠 蔽されている。
[0118] 以上のように、本実施の形態によれば、グローバルネットワークとプライベートネット ワークの間の通信が行われる際、ゲートウェイ装置において、名前解決時にドメイン 名に対応する IPアドレスを送信元のネットワーク内における未使用の IPアドレスに変 換するとともに、 IPパケットの送信時に送信元アドレスおよび宛先アドレスをパケット 転送先のネットワーク内における IPアドレスに変換する。このため、互いのネットヮー クを越えて実際の IPアドレスがやり取りされることがなぐセキュリティを維持しつつグ ローバルネットワーク側からプライベートネットワーク側へのアクセスを可能として、グ ローバルネットワークとプライベートネットワーク間の相互通信を実現できる。
[0119] また、本実施の形態においては、 UPnPによってプライベートネットワーク内のホスト が起動されると同時にポートマッピングが作成されるため、プライベートネットワーク内 に DNSサーバが無くてもゲートウェイ装置において名前解決を行うことができる。
[0120] なお、上記各実施の形態においては、グローバルネットワークからプライベートネッ トワークへのアクセス時には送信元アドレスのみが変換され、プライベートネットワーク 力 グローバルネットワークへのアクセス時には宛先のアドレスのみが変換されている 。したがって、上記各実施の形態においては、プライベートネットワークへ同時にァク セス可能なグローバルネットワーク内のホスト数は、ゲートウェイ装置が使用可能なプ ライべート IPアドレス数に依存する。また、プライベートネットワークから同時にァクセ ス可能なグローバルネットワーク内のホスト数も同様に、ゲートウェイ装置が使用可能 なプライベート IPアドレス数に依存する。
[0121] そこで、本発明においては、グローバルネットワークからプライベートネットワークへ のアクセス時に、送信元アドレスのみではなぐポートも変換するようにしても良レ、。ま た、プライベートネットワーク力、らグローバルネットワークへのアクセス時には、宛先ァ ドレスおよびポートを変換するようにしても良レ、。
[0122] これにより、プライベートネットワークからアクセス可能なグローバルネットワークのホ
スト数、またはプライベートネットワークへアクセス可能なグローバルネットワークのホ スト数は、ゲートウェイ装置が使用可能なプライベート IPアドレスに依存しなくなる。
[0123] 以上説明したように、本実施の形態の第 1の態様に係るアドレス変換装置は、パケ ット送信先が含まれる第 1のネットワークおよびパケット送信元が含まれる第 2のネット ワークの間に設けられるアドレス変換装置であって、前記パケット送信先の前記第 1 のネットワーク内におけるアドレスに前記第 2のネットワーク内における仮のアドレスを 対応づけて設定する設定手段と、設定された仮のアドレスを前記パケット送信元へ送 信する第 1の送信手段と、前記パケット送信元から送信されるパケットの宛先アドレス および送信元アドレスを前記第 1のネットワーク内におけるアドレスへ変換する変換手 段と、アドレス変換後のパケットを前記パケット送信先へ送信する第 2の送信手段と、 を有する構成を採る。
[0124] この構成によれば、パケット送信先に仮のアドレスを対応づけ、パケット送信元から 仮のアドレス宛てに送信されたパケットの送信元アドレスおよび宛先アドレスを第 1の ネットワーク内におけるアドレスへ変換してからパケット送信先へ送信するため、パケ ット送信先に対してパケット送信元のアドレスを隠蔽できるとともにパケット送信元に対 してパケット送信先のアドレスを隠蔽できる。したがって、セキュリティを維持しつつグ ローバルネットワーク側からプライベートネットワーク側へのアクセスを可能として、グ ローバルネットワークとプライベートネットワーク間の相互通信を実現できる。
[0125] また、本実施の形態の第 2の態様に係るアドレス変換装置は、上記第 1の態様にお いて、前記設定手段は、 自装置の前記第 2のネットワーク内におけるアドレスを前記 仮のアドレスとするとともに、前記パケット送信先のポート番号に前記第 2のネットヮー ク内における仮のポート番号を対応づけて設定する構成を採る。
[0126] この構成によれば、仮のアドレスを自装置のアドレスとし、ポート番号に仮のポート 番号を対応づけるため、ポート番号によってアドレスの識別を行うことができ、有限の アドレスを多く占有することを防止することができる。
[0127] また、本実施の形態の第 3の態様に係るアドレス変換装置は、上記第 2の態様にお いて、前記パケット送信先が起動する際に送信する要求メッセージであって前記パケ ット送信先のポート番号に前記第 2のネットワーク内における仮のポート番号の対応
づけを要求する要求メッセージを受信する受信手段、をさらに有し、前記設定手段は 、前記要求メッセージが受信された時に前記パケット送信先のポート番号と前記仮の ポート番号とを設定する構成を採る。
[0128] この構成によれば、パケット送信先の起動時にパケット送信先のポート番号と仮の ポート番号とが対応づけられるため、第 1のネットワーク内に DNSサーバなどが設置 されてレ、なくても名前解決を行うことができる。
[0129] また、本実施の形態の第 4の態様に係るアドレス変換方法は、パケット送信先が含 まれる第 1のネットワークおよびパケット送信元が含まれる第 2のネットワークの間にお けるアドレス変換方法であって、前記パケット送信先の前記第 1のネットワーク内にお けるアドレスに前記第 2のネットワーク内における仮のアドレスを対応づけて設定する ステップと、設定された仮のアドレスを前記パケット送信元へ送信するステップと、前 記パケット送信元から送信されるパケットの宛先アドレスおよび送信元アドレスを前記 第 1のネットワーク内におけるアドレスへ変換するステップと、アドレス変換後のバケツ トを前記パケット送信先へ送信するステップと、を有するようにした。
[0130] この方法によれば、パケット送信先に仮のアドレスを対応づけ、パケット送信元から 仮のアドレス宛てに送信されたパケットの送信元アドレスおよび宛先アドレスを第 1の ネットワーク内におけるアドレスへ変換してからパケット送信先へ送信するため、パケ ット送信先に対してパケット送信元のアドレスを隠蔽できるとともにパケット送信元に対 してパケット送信先のアドレスを隠蔽できる。したがって、セキュリティを維持しつつグ ローバルネットワーク側からプライベートネットワーク側へのアクセスを可能として、グ ローバルネットワークとプライベートネットワーク間の相互通信を実現できる。
[0131] 本明糸田書は、 2004年 12月 22曰出願の特願 2004— 372328に基づく。その内容 は全てここに含めておく。
産業上の利用可能性
[0132] 本発明のアドレス変換装置およびアドレス変換方法は、セキュリティを維持しつつグ ローバルネットワーク側からプライベートネットワーク側へのアクセスを可能として、グ ローバルネットワークとプライベートネットワーク間の相互通信を実現でき、例えばグロ 一バルネットワークとプライベートネットワークとの間のゲートウェイなどにおけるァドレ
ス変換装置およびアドレス変換方法などとして有用である。