(57)【要約】【課題】エントリ利用効率の低下、及び問い合わせ頻度の増加を共に抑制して、ＮＡＴ装置を介した通信を快適に行える環境を実現させるための技術を提供する。【解決手段】ＤＮＳサーバ１１は、ＬＡＮ２０側のＤＮＳサーバ２１からＦＱＤＮによる問い合わせによって得られたプライベートアドレスをプライベートアドレスキャッシュ１１ｂに保存する。ＮＡＴ装置３０に対するプライベートアドレスへのグローバルアドレスを割り当てるエントリ作成要求は、プライベートアドレスキャッシュ１１ｂにそのプライベートアドレスが保存されていればそれを用いて行い、保存されていなければ、ＤＮＳサーバ２１への問い合わせにより取得して行う。そのようにして、ＮＡＴ装置３０側でエントリを通信終了後も維持させなくとも、プライベートアドレスを取得するための問い合わせ頻度を低く抑制する。通信終了後も維持させる必要がないことから、エントリ利用効率の低下も抑制される。【選択図】図１
2010057028.tif 000002
【特許請求の範囲】
【請求項１】
第１の通信ネットワーク上の第１のノードに割り当てられた第１のアドレスに、第２の通信ネットワーク上で用いられる第２のアドレスを割り当て、該第１のアドレスと該第１のアドレスに割り当てた第２のアドレスとを相互変換するネットワークアドレス変換装置を制御するネットワークアドレス変換制御装置として使用されるコンピュータに、
前記第１の通信ネットワーク上に存在する前記第１のノードのなかで前記第２の通信ネットワーク上の第２のノードと通信を行う第１のノードに割り当てられた第１のアドレスを取得するアドレス取得機能と、
前記アドレス取得機能により取得した第１のアドレスを前記コンピュータがアクセス可能な記憶装置上に所定期間、保存するアドレス保存機能と、
前記第２の通信ネットワーク上の第２のノードが前記第１の通信ネットワーク上の第１のノードと通信を開始する場合、該第１のノードの第１のアドレスが前記記憶装置上に保存されていないことを条件に、該第１のアドレスを前記アドレス取得機能により取得させる取得制御機能と、
前記取得制御機能により取得が制御される前記第１のアドレスへの前記第２のアドレスの割り当てを前記ネットワークアドレス変換装置に要求する要求機能と、
前記要求機能による要求の結果、前記ネットワークアドレス変換装置が前記第１のアドレスに割り当てた第２のアドレスを該ネットワークアドレス変換装置から取得し、前記通信を開始する前記第２のノードに通知する通知機能と、
を実現させるためのネットワークアドレス変換制御プログラム。
【請求項２】
前記通知機能により前記ネットワークアドレス変換装置から取得した、前記要求により前記第１のアドレスに割り当てられた第２のアドレスを前記記憶装置に保存する他のアドレス保存機能と、
前記第２の通信ネットワーク上の第２のノードが前記第１の通信ネットワーク上の第１のノードと通信を開始する場合、該第１のノードの第１のアドレスに割り当てられた第２のアドレスが前記記憶装置上に保存されているか否か判定し、該判定結果を基に前記取得制御機能、前記要求機能、及び前記通知機能を制御する通信制御機能と、
を更に実現させることを特徴とする請求項１記載のネットワークアドレス変換制御プログラム。
【請求項３】
前記ネットワークアドレス変換装置は、前記要求による前記第１のアドレスへの第２のアドレスの割り当てを前記通信が終了した後、該第２のアドレスが割り当てられている状況を基に維持させ、
前記他のアドレス保存機能は、前記ネットワークアドレス変換装置から前記割り当ての解除の通知により、該割り当てが解除される第２のアドレスを前記記憶装置から削除する、
ことを特徴とする請求項２記載のネットワークアドレス変換制御プログラム。
【請求項４】
第１の通信ネットワーク上の第１のノードに割り当てられた第１のアドレスに、第２の通信ネットワーク上で用いられる第２のアドレスを割り当て、該第１のアドレスと該第１のアドレスに割り当てた第２のアドレスとを相互変換するネットワークアドレス変換装置を制御するネットワークアドレス変換制御装置において、
前記第１の通信ネットワーク上に存在する前記第１のノードのなかで前記第２の通信ネットワーク上の第２のノードと通信を行う第１のノードに割り当てられた第１のアドレスを取得するアドレス取得手段と、
前記アドレス取得手段が取得した第１のアドレスを所定期間、保存するアドレス保存手段と、
前記第２の通信ネットワーク上の第２のノードが前記第１の通信ネットワーク上の第１
のノードと通信を開始する場合、該第１のノードの第１のアドレスが前記記憶装置上に保存されていないことを条件に、該第１のアドレスを前記アドレス取得手段に取得させる取得制御手段と、
前記取得制御手段により取得が制御される前記第１のアドレスへの前記第２のアドレスの割り当てを前記ネットワークアドレス変換装置に要求する要求手段と、
前記要求手段による要求の結果、前記ネットワークアドレス変換装置が前記第１のアドレスに割り当てた第２のアドレスを該ネットワークアドレス変換装置から取得し、前記通信を開始する前記第２のノードに通知する通知手段と、
を具備することを特徴とするネットワークアドレス変換制御装置。
【請求項５】
第１の通信ネットワーク上の第１のノードに割り当てられた第１のアドレスに、第２の通信ネットワーク上で用いられる第２のアドレスを割り当て、該第１のアドレスと該第１のアドレスに割り当てた第２のアドレスとを相互変換するネットワークアドレス変換装置をコンピュータにより制御する方法であって、
前記第１の通信ネットワーク上に存在する前記第１のノードのなかで前記第２の通信ネットワーク上の第２のノードと通信を行う第１のノードに割り当てられた第１のアドレスを取得するアドレス取得工程と、
前記アドレス取得工程により取得した第１のアドレスを所定期間、前記コンピュータがアクセス可能な記憶装置上に保存するアドレス保存工程と、
前記第２の通信ネットワーク上の第２のノードが前記第１の通信ネットワーク上の第１のノードと通信を開始する場合、該第１のノードの第１のアドレスが前記記憶装置上に保存されていないことを条件に、該第１のアドレスを前記アドレス取得手段に取得させる取得制御工程と、
前記取得制御工程により取得が制御される前記第１のアドレスへの前記第２のアドレスの割り当てを前記ネットワークアドレス変換装置に要求する要求工程と、
前記要求工程による要求の結果、前記ネットワークアドレス変換装置が前記第１のアドレスに割り当てた第２のアドレスを該ネットワークアドレス変換装置から取得し、前記通信を開始する前記第２のノードに通知する通知工程と、
を含むことを特徴とするネットワークアドレス変換装置制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一意性が保証されない２つの通信ネットワーク間で通信を行うための技術に関する。
【背景技術】
【０００２】
インターネット上のノードには、一意のＩＰアドレスがグローバルアドレスとして割り当てられている。一方、会社等の組織では、構築した通信ネットワーク上のノードに一意にＩＰアドレスをプライベートアドレス（ローカルアドレス）として割り当てることが行われている。そのプライベートアドレスは、それが割り当てられた通信ネットワーク（例えばＬＡＮ）内でのみ有効であり、インターネットとの一意性は保証されない。このため、そのままではプライベートアドレスを持つノードとインターネット上のノードとは通信を行なうことはできない。このことから、そのような異なる通信ネットワーク間での通信を可能とさせるものとして、プライベートアドレスとグローバルアドレスとを透過的に相互変換する、つまりプライベートアドレスはグローバルアドレスに、グローバルアドレスはプライベートアドレスに変換するネットワークアドレス変換（ＮＡＴ：Network Address Translation）装置（以降「ＮＡＴ装置」と表記）が製品化されている。
【０００３】
ＮＡＴ装置は、アドレスの相互変換を行うために、通常、用いるアドレスが異なる２つの通信ネットワークの境界に配置される（図１）。アドレス変換は、プライベートアドレスと対応するグローバルアドレスの組をエントリとして登録した変換テーブルを参照して行う。そのエントリは、通信を開始するノードが存在する通信ネットワーク側のＤＮＳ（Domain Name System）サーバからの要求によって登録される。このことからＮＡＴ装置を制御するＮＡＴ制御装置は、ＤＮＳサーバなどに搭載される。
【０００４】
エントリを変換テーブルに登録させることにより、通信はグローバルアドレスを用いて行われる。以降、便宜的に、グローバルアドレスが各ノードに割り当てられた通信ネットワークは「ＷＡＮ」、プライベートアドレスが各ノードに割り当てられた通信ネットワークは「ＬＡＮ」と想定して説明を行う。
【０００５】
ＷＡＮ側のノードがＬＡＮ側のノードとの通信を開始する場合、ＷＡＮ側のＤＮＳサーバは、ＬＡＮ側の例えばＤＮＳサーバにノードのプライベートアドレスを問い合わせ、そのプライベートアドレスを取得し、エントリの登録をＮＡＴ装置に要求する。従来のＤＮＳサーバ（ＮＡＴ制御装置）は、その要求によってＮＡＴ装置からグローバルアドレスを取得し、ＷＡＮ側のノードに通知していた。このことから、ＬＡＮ側のノードに割り当てられたグローバルアドレスを保存（キャッシュ）していた。
【特許文献１】特開２００１−２５７７２０号公報
【特許文献２】特開２００４−１３５００８号公報
【特許文献３】特許第３５９１４２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ＬＡＮ側のノードのグローバルアドレスを保存する方法としては従来、以下の２つの方法が考えられる。
第１の方法は、単純にＬＡＮ側のＤＮＳサーバが問い合わせへのレスポンス時に設定するＴＴＬ（Time To Live）の間、ＷＡＮ側ＤＮＳサーバおよび通信を行うノードでキャッシュするという方法である。
【０００７】
第２の方法は、ＷＡＮ側のノードではキャッシュせず、ＷＡＮ側のＤＮＳサーバでのみグローバルアドレスをキャッシュする方法である。キャッシュしたグローバルアドレスは、ＮＡＴ装置が対応するエントリの削除通知により削除する。ＮＡＴ装置は、変換テーブルに登録したエントリは通信の終了により削除するのが普通である。
【０００８】
上記第１の方法では、ＮＡＴ装置の変換テーブルのエントリ利用効率、つまり変換テーブルに登録したエントリのなかで実際に通信（変換）に用いられるエントリの割合が低下してしまうという問題点があった。これはＷＡＮ側のＤＮＳサーバおよびノードでグローバルアドレスをＴＴＬの間キャッシュすることに起因する。より具体的には、他でグローバルアドレスを記憶しているためにＮＡＴ装置では通信が終了してエントリが利用されなくなってもそのエントリを削除することができなくなるからである。変換テーブルに登録可能なエントリの数には制限がある。通信を行う可能性を有するノード（機器）の数に対して登録可能なエントリの数の割合が比較的に小さいような場合、非常に深刻である。
【０００９】
上記第２の方法では、ＮＡＴ装置の変換テーブルのエントリ利用効率は低下しないものの、ＬＡＮ側のＤＮＳサーバへの問い合わせ頻度が増加してしまうという問題があった。その理由は、ＷＡＮ側のＤＮＳサーバがＮＡＴ装置のエントリ削除通知に合わせてグローバルアドレスのキャッシュを削除するため、その直後に同じ内容の問い合わせがあった場合でさえＬＡＮ側のＤＮＳサーバへ再度問い合わせを行わなければならないからである。
【００１０】
エントリ利用効率の低下、及び問い合わせ頻度の増加は共に、通信を快適に行うのを阻害する。このことから、通信を快適に行える環境を実現させるためには、エントリ利用効率の低下、及び問い合わせ頻度の増加は共に回避させることが重要と考えられる。
【００１１】
本発明は、エントリ利用効率の低下、及び問い合わせ頻度の増加を共に抑制して、ＮＡＴ装置を介した通信を快適に行える環境を実現させるための技術を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明を適用した１システムでは、第１の通信ネットワーク上の第１のノードに割り当てられた第１のアドレスに、第２の通信ネットワーク上で用いられる第２のアドレスを割り当て、第１のアドレスとその第１のアドレスに割り当てた第２のアドレスとを相互変換するネットワークアドレス変換装置を用いた通信が可能なことを前提とする。第１の通信ネットワーク上に存在する第１のノードのなかで第２の通信ネットワーク上の第２のノードと通信を行う第１のノードに割り当てられた第１のアドレスは取得してから所定期間、例えばＴＴＬ（Time To Live）の間だけ保存する。その保存により、第１のアドレスを取得するための問い合わせ頻度はより抑制することができる。つまり、第２の通信ネットワーク上の第２のノードが第１の通信ネットワーク上の第１のノードと通信を開始する場合、その第１のノードの第１のアドレスが保存されていないときだけその第１のアドレスを取得すれば済むようになる。
【００１３】
ネットワークアドレス変換装置に対する第１のアドレスへの第２のアドレスの割り当ては、保存している、或いは新たに取得した第１のアドレスを用いて要求する。その要求によってネットワークアドレス変換装置が第１のアドレスに割り当てた第２のアドレスは、そのネットワークアドレス変換装置から取得し、通信を開始する第２のノードに通知する。
【００１４】
第１のアドレスへの第２のアドレスの割り当てによるエントリは、ネットワークアドレス装置側が任意のタイミングで削除しても、第１のアドレスの問い合わせ頻度には影響し
ない。このため、通信の終了により削除することにより、実際には割り当てが可能でありながら割り当てられない第２のエントリが発生するのを最小限に抑えられることができる。従って、エントリ利用効率の低下も最小限に抑えられることとなる。問い合わせ頻度の増加、及びエントリ利用効率の低下を共に抑制する結果、ネットワークアドレス変換装置を介した通信を快適に行える環境が実現される。
【発明の効果】
【００１５】
本発明を適用した場合には、エントリ利用効率の低下、及び問い合わせ頻度の増加を共に抑制して、ＮＡＴ装置を介した通信を快適に行える環境を実現させることができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
＜第１の実施形態＞
図１は、第１の実施形態によるネットワークアドレス変換制御装置（以降「ＮＡＴ制御装置」）が適用された通信ネットワークシステムの構成を示す図である。その通信ネットワークシステムには、用いられるアドレスが異なる２つの通信ネットワークとしてＷＡＮ１０、及びＬＡＮ２０が存在し、それらＷＡＮ１０とＬＡＮ２０の境界にＮＡＴ装置３０が配置されている。本実施形態によるＮＡＴ制御装置は、ＷＡＮ１０側のＤＮＳサーバ１１に搭載させる形で適用されている。
【００１７】
ＤＮＳサーバは、通信ネットワーク上のコンピュータ（ノード）のドメイン名をＩＰアドレスに変換する。このため、相手先のＩＰアドレスが判明していないコンピュータは、そのＩＰアドレスを得るための問い合わせ（クエリ）をＤＮＳサーバに対して行う。図１では、ＷＡＮ１０側及びＬＡＮ２０側ともに、その問い合わせを行う可能性のあるノード、及びその問い合わせによる通信を行う対象となるノードを「ｈｏｓｔ」（ホストコンピュータ）と表記している。そのようにして、ノードのなかで通信を開始可能、つまりＤＮＳサーバへの問い合わせを行う可能性のあるノードは他のノードと区別するために「ホスト」と呼ぶことにする。
【００１８】
ＷＡＮ１０側、ＬＡＮ２０側は共に、異なるプライベートアドレスを用いることが可能である。ここでは説明上、便宜的に、ＷＡＮ１０ではグローバルアドレスが用いられ、ＬＡＮ２０ではプライベートアドレスが用いられると想定する。図１中に表記の「１９２．０．２．０／２４」及び「１０．１０．１０．０／２４」はそれぞれグローバルアドレス、プライベートアドレスを示している。本実施形態によるＮＡＴ制御装置は、一意性が保証されない２つ以上の通信ネットワークの境界に配置されたＮＡＴ装置を制御するものとして幅広く用いることができる。
【００１９】
ＷＡＮ１０側のＤＮＳサーバ１１は、ＮＡＴ装置３０を制御するＮＡＴ制御部１１ａを備え、そのＮＡＴ制御部１１ａは、プライベートアドレスキャッシュ１１ｂと静的キャッシュ１１ｃを管理する。それらのキャッシュ１１ｂ及び１１ｃは、不図示の記憶装置、例えば半導体メモリ上、或いはハードディスク装置等の外部記憶装置上に割り当てられた記憶領域に相当する。
【００２０】
図３は、プライベートアドレスキャッシュ１１ｂの内容例を示す図である。図４は、静的キャッシュ１１ｃの内容例を示す図である。
ＤＮＳサーバ１１は、ホストＨＳから、ＬＡＮ２０側のホストＨＡのドメイン名（ＦＱＤＮ：Fully QualifiedDomain Name）を指定してのＩＰアドレスが問い合わされた場合、ＮＡＴ装置３０を介してそのＩＰアドレス（ここではプライベートアドレス）をＬＡＮ２０側のＤＮＳサーバ２１に問い合わせる。その問い合わせの結果、ＤＮＳサーバ２１から得られた回答を保存する。プライベートアドレスキャッシュ１１ｂは、その回答（Ａレコード）を保存するための領域である。そのキャッシュ１１ｂには、図３に示すように、問い合わせ時に指定されたドメイン名（ＦＱＤＮ）毎に、レコード種別、内容（プライベートアドレス）、及びＴＴＬの各データが格納される。Ａレコードとは、ドメイン名からＩＰアドレスを取得するための情報を記録したレコードのことである。ＮＡＴ制御部１１ａは、回答（Ａレコード）をＴＴＬが示す期間、保存する。
【００２１】
ＬＡＮ２０側のＤＮＳサーバ２１への問い合わせを行うには、そのＤＮＳサーバ２１に関する情報が必要である。静的キャッシュ１１ｃは、その情報を格納するための領域である。図４に示すように、ＤＮＳサーバ２１のＮＳレコード、及びＡレコードが格納されている。ＮＳレコードにおいて、ドメイン名はＬＡＮ２０側でのものであり、内容はＬＡＮ２０の外部でのドメイン名である。
【００２２】
ＤＮＳサーバ１１からＤＮＳサーバ２１への問い合わせは、ドメイン名（ＦＱＤＮ）を提示して行われる。その問い合わせに回答するためにＤＮＳサーバ２１は、図５に示すようなＦＱＤＮとプライベートアドレスの対応表を管理している。その対応表には、ドメイン名（ＦＱＤＮ）毎に、それに割り当てられたプライベートアドレス、及びＴＴＬが登録されている。ＤＮＳサーバ１１からの問い合わせは、この対応表を参照して行う。ＴＴＬは、その問い合わせへの回答の一部となる。
【００２３】
ＤＮＳサーバ１１に搭載されたＮＡＴ制御部１１ａは、ＮＡＴ装置３０を介した通信を可能とするために、アドレス取得部１１ｆ、アドレス保存部１１ｇ、取得制御部１１ｈ、割当要求部１１ｉ、及び通知部１１ｊを備えている。各部１１ｆ〜ｊは、それぞれ以下の機能を備えている。
【００２４】
アドレス取得部１１ｆは、ＬＡＮ２０側のＤＮＳサーバ２１への問い合わせを行い、Ａレコードを取得する。アドレス保存部１１ｇは、取得したＡレコードをプライベートアドレスキャッシュ１１ｂに保存する。その保存はＴＴＬが示す期間、行う。取得制御部１１ｈは、ＬＡＮ２０側のホストＨＡ（ノード）のドメイン名を指定してのＩＰアドレスが問い合わされた場合、そのドメイン名がプライベートアドレスキャッシュ１１ｂに登録されているか否か確認することにより、そのドメイン名がキャッシュ１１ｂに登録されていない場合にのみ、ＬＡＮ２０側のＤＮＳサーバ２１への問い合わせを行わせる。それにより、アドレス取得部１１ｆによるＡレコードの取得を制御する。
【００２５】
割当要求部１１ｉは、問い合わされたドメイン名がキャッシュ１１ｂに登録されていることを取得制御部１１ｈが確認した場合に、ＮＡＴ装置３０に対し、そのドメイン名を持つノード（例えばホストＨＡ）へのグローバルアドレスの割り当てを要求する。その要求により、ＮＡＴ装置３０は割り当てたグローバルアドレスを返信する。通知部１１ｊは、ドメイン名を指定して問い合わせたノード（例えばホストＨＳ）に対し、返信されたグローバルアドレスを通知する。
【００２６】
図２は、ＮＡＴ装置３０の機能構成図である。ＮＡＴ装置３０は、ＤＮＳサーバ１１等からの要求を受け付けて処理する制御受付部３１を備えている。アドレスプール２２と変換テーブル３３は、制御受付部３１によって管理される。アドレスプール２２、及び変換テーブル３３は、不図示の記憶装置、例えば半導体メモリ上に保存されている。
【００２７】
図６は、アドレスプール３２の一例を示す図である。図７は、変換テーブル３３の一例を示す図である。
アドレスプール３２は、図６に示すように、割り当て可能なグローバルアドレスをまとめたものである。変換テーブル３３は、図７に示すように、グローバルアドレスと対応するプライベートアドレスの組をエントリとして登録したものであり、各エントリにはエン
トリ番号が割り当てられている。エントリは、通信が終了しても削除しない静的なエントリと、通信の終了によって削除する動的なエントリと、に分類される。静的なエントリは、エントリ番号が１のものであり、そのエントリはＤＮＳサーバ２１との通信を常時、可能とするためのものである。動的なエントリは、ＷＡＮ１０、或いはＬＡＮ２０側のＤＮＳサーバの要求に応じて生成・登録される。
【００２８】
変換テーブル３３にエントリを登録すると、登録したエントリに格納されているグローバルアドレスはアドレスプール３２から削除する。変換テーブル３３に登録されているエントリを削除する場合、削除するエントリに格納されているグローバルアドレスはアドレスプール３２に追加する。そのようにしてアドレスプール３２には、割り当て可能なグローバルアドレスのみを保存する。プライベートアドレスへのグローバルアドレスの割り当ては、エントリの削除によって解除される。
【００２９】
次に図１を参照し、ＷＡＮ１０側のホストＨＳがＬＡＮ２０側のホストＨＡと通信を開始する場合を例にとって、ホストＨＳ、ＤＮＳサーバ１１及び２１、及びＮＡＴ装置３０の動作を具体的に説明する。
【００３０】
ホストＨＳは、ＬＡＮ２０側のホストＨＡと通信を開始する場合、先ず、ＤＮＳサーバ１１にそのホストＨＡのＩＰアドレスの問い合わせを行う（シーケンスＳ１）。ＤＮＳサーバ１１は、その問い合わせに応答して、静的キャッシュ１１ｃを参照し、ＤＮＳサーバ２１にホストＨＡのＩＰアドレスの問い合わせを行い、ＤＮＳサーバ２１から回答として対応するＡレコードを受け取る（シーケンスＳ２） 。そのようにして得られたＡレコードは、ＤＮＳサーバ１１によってプライベートアドレスキャッシュ１１ｂに保存される。
【００３１】
ＤＮＳサーバ１１は、Ａレコードを取得した後、ＮＡＴ装置３０にエントリ作成を要求、つまりＡレコードに示されているプライベートアドレスへのグローバルアドレスの割り当てを要求し、その応答を受け取る（シーケンスＳ３）。その後、ホストＨＳに応答結果を通知する（シーケンスＳ４）。
【００３２】
図８は、ＤＮＳサーバ１１からの要求によって作成されるエントリを説明する図である。図８（ａ）は、エントリ作成の要求時にＤＮＳサーバ１１から入力したデータ（プライベートアドレス）、図８（ｂ）はそのプライベートアドレスにグローバルアドレスを割り当てて作成したエントリ、つまりエントリ作成成功時の出力データ、図８（ｃ）はグローバルアドレスが割り当てられなかった時の出力データをそれぞれ示している。
【００３３】
ＮＡＴ装置３０は、エントリ作成が要求された場合、アドレスプール３２、及び変換テーブル３３を参照して、使用されていないグローバルアドレスの抽出を行う。その結果、使用されていないグローバルアドレスを抽出できれば、抽出したグローバルアドレスをプライベートアドレスに割り当てて図８（ｂ）に示すようなエントリを作成し、変換テーブル３３に登録する。一方、使用されていないグローバルアドレスを抽出できなければ、図８（ｃ）に示すようなデータを出力し、エントリ作成の失敗をＤＮＳサーバ１１に通知する。
【００３４】
このようにして本実施形態では、ＷＡＮ１０側のＤＮＳサーバ１１は、通信を開始するホストＨＳからＬＡＮ２０側ホストＨＡのＩＰアドレスの問い合わせにより、ＬＡＮ２０側のＤＮＳサーバ２１に対して更に問い合わせを行い、その結果、得られるホストＨＡのプライベートアドレスをプライベートアドレスキャッシュ１１ｂに保存する。その保存は、ＴＴＬで指定された期間、行う。このため、その期間内に再度、ホストＨＳからホストＨＡのＩＰアドレスが問い合わされた場合には、ＤＮＳサーバ２１への問い合わせをすることなく、ＮＡＴ装置３０にエントリ作成を要求することができる。従って、ＤＮＳサーバ２１への問い合わせ頻度をより抑えることができる。問い合わせ頻度をより抑えるために、ＮＡＴ装置３０が管理する変換テーブル３３に登録したエントリを通信終了後も残す必要性は回避される。これらのことから、高いエントリ利用効率、及び低い問い合わせ頻度を共に達成することができる。その結果、ＮＡＴ装置３０を介した通信を快適に行える環境が実現される。そのような環境を実現するために、ＤＮＳサーバ１１に搭載されたＮＡＴ制御部１１ａ、つまりアドレス取得部１１ｆ、アドレス保存部１１ｇ、取得制御部１１ｈ、割当要求部１１ｉ、及び通知部１１ｊは機能する。
【００３５】
以降は、図９〜図１１に示す各処理のフローチャートを参照して、ＤＮＳサーバ１１、ＮＡＴ装置３０の動作について詳細に説明する。
図９は、ＤＮＳサーバ１１が実行する処理のフローチャートである。その処理は、ＷＡＮ１０に存在するホストからＬＡＮ２０側のホストのＩＰアドレスが問い合わされた場合に実行されるものである。始めに図９を参照して、ＤＮＳサーバ１１の動作について詳細に説明する。
【００３６】
先ず、ステップＳ１１では、ＷＡＮ１０側のホスト（例えばホストＨＳ）からＬＡＮ２０側のホストのＩＰアドレスを問い合わせるＦＱＤＮのクエリを受け付ける。このクエリは、一般的なＤＮＳクエリと同様であり、例えばホストＨＳからＬＡＮ２０側のホストＨＡのＩＰアドレスを問い合わせる場合、ホストＨＳのＦＱＤＮであるhostA1.example.com.がクエリされる。
【００３７】
ステップＳ１１に続くステップＳ１２では、自身が管理するプライベートアドレスキャッシュ１１ｂに、クエリされたＦＱＤＮが存在するか否か調査して判定する。この調査の検索キーはＦＱＤＮである。検索キーとするＦＱＤＮがキャッシュ１１ｂ内に存在する場合、判定はＴ（ＴＲＵＥ）となってステップＳ１５に移行する。検索キーとするＦＱＤＮがキャッシュ１１ｂ内に存在しない場合、判定はＦ（ＦＡＬＳＥ）となってステップＳ１３に移行する。
【００３８】
ステップＳ１３では、静的キャッシュ１１ｃを参照し、ＬＡＮ２０側ＤＮＳサーバ２１にクエリを行い、プライベートアドレスを得る。次のステップＳ１４では、得たプライベートアドレス（Ａレコード）をプライベートアドレスキャッシュ１１ｂに保存する。その保存により、ＬＡＮ２０側のホストＨＳのＩＰアドレスを問い合わせた場合には、図３に示すＡレコードがキャッシュ１１ｂに保存されることとなる。その保存後は上記ステップＳ１５に移行する。
【００３９】
ＤＮＳサーバ１１はクエリされたＦＱＤＮのドメイン名「example.com.」をキーに静的キャッシュ１１ｃを参照することで、問い合わせるべきＤＮＳサーバ２１のＦＱＤＮである「ns1.example.com」を得る。さらに「ns1.example.com.」をキーに静的キャッシュ11cを参照することで、ＤＮＳサーバ２１のグローバルアドレス「192.0.2.9」を得る。そのようにしてグローバルアドレスを得ることにより、ＮＡＴ装置３０を介してＤＮＳサーバ２１に直接的に問い合わせを行う。
【００４０】
ＤＮＳサーバ２１は一般的な内部ＤＮＳサーバであり、図５に示すようなＦＱＤＮとプライベートアドレスの対応表を有している。このため、ＦＱＤＮの問い合わせを受けると、対応表を参照して、そのプライベートアドレスを回答する。ＦＱＤＮが「hostA1.example.com.」であった場合、この回答に含まれるＴＴＬは図９に示す通り１日となる。
【００４１】
ステップＳ１５では、クエリされたＦＱＤＮに対応するプライベートアドレスをＮＡＴ装置３０に通知することで、グローバルアドレスを割り当て変換テーブル３３にエントリを作成・登録することを要求する。このエントリ作成要求のパケットには図８（ａ）に示
すようにプライベートアドレスが格納される。
【００４２】
ステップＳ１５に続くステップＳ１６では、エントリ作成要求に対するＮＡＴ装置３０の返信を受け取り、エントリ作成は成功したか否か判定する。このときエントリ作成の成否は図８（ｂ）或いは図８（ｃ）に示すように返信データにグローバルアドレスがあるか否かにより判定可能である。エントリ作成に成功した場合、判定はＴとなり、ステップＳ１７で割り当てられたグローバルアドレスをＤＮＳレスポンスとしてクエリ元ホストに返信する。この時クエリ元ホストでＤＮＳレスポンスがキャッシュされないようにＴＴＬは０としておく。その返信を行った後、図９に示す処理を終了する。一方、エントリ作成に失敗した場合には、判定はＦとなり、ステップＳ１８でクエリされたＦＱＤＮに対する回答が得られないことをＤＮＳレスポンスコード＝３（問い合わせされた名前は見つからない）とするなどしてクエリ元ホストに返信する。この時クエリ元ホストでＤＮＳレスポンスがキャッシュされないようにＴＴＬは０としておく。その返信を行った後、図９に示す処理を終了する。
【００４３】
このようにしてＤＮＳサーバ１１は、問い合わされたＦＱＤＮに対応するプライベートアドレスがプライベートアドレスキャッシュ１１ｂに保存されていない場合にのみ、そのプライベートアドレスを取得するための問い合わせを行う。このため、問い合わせ頻度は必要最小限に抑えることができる。
【００４４】
図１０は、ＤＮＳサーバ１１からエントリ作成が要求された場合にＮＡＴ装置３０が実行する処理のフローチャートである。次に図１０を参照して、その処理について詳細に説明する。
【００４５】
先ず、ステップＳ２１では、ＤＮＳサーバ１１からのエントリ作成要求を受け付ける。続くステップＳ２２では、作成要求により通知されたプライベートアドレスが既に変換テーブル３３にあるか否か判定する。そのプライベートアドレスが既に存在する場合、判定はＴとなり、ステップＳ２５でプライベートアドレスに割り当てられたグローバルアドレスをＤＮＳサーバ１１に通知した後、図１０の処理を終了する。そのプライベートアドレスが存在しない場合には、判定はＦとなってステップＳ２３に移行する。
【００４６】
ステップＳ２３では、アドレスプール３２に割り当て可能なグローバルアドレスがあるか否か判定する。割り当て可能なグローバルアドレスが残っている場合、判定はＴとなり、ステップＳ２４でそのグローバルアドレスをプライベートアドレスと組み合わせたエントリを作成して変換テーブル３３に登録した後、上記ステップＳ２５に移行する。割り当て可能なグローバルアドレスが残っていない場合には、判定はＦとなり、ステップＳ２６でその旨をＤＮＳサーバ１１に通知した後、図１０の処理を終了する。
【００４７】
図１１は、エントリを削除するためにＮＡＴ装置３０が実行する処理のフローチャートである。最後に図１１を参照して、その処理について詳細に説明する。
先ず、ステップＳ３１では、ＮＡＴ装置３０を介した通信が一定時間、行われないなどを条件にした通信の終了の検知を行う。続くステップＳ３２では、終了が検知された通信用のエントリを変換テーブル３３から削除する。その後、図１１の処理を終了する。
このようにしてＮＡＴ装置３０は、登録したエントリは通信の終了により削除している。このため、高いエントリ利用効率が実現される。
【００４８】
＜第２の実施形態＞
ＤＮＳは、階層的に構築されている場合がある。その場合、ＩＰアドレス（Ａレコード）を得るための問い合わせは、複数回、行う必要がある。ＬＡＮ側のＤＮＳが階層的に構築されており、静的キャッシュ１１ｃに記載される、ＦＱＤＮが「ns1.example.com」のＤＮＳサーバがドメイン「example.com.」に対して権威を持ち、そのサブドメイン「sub.example.com.」の権威は「ns2.sub.example.com.」をＦＱＤＮとするＤＮＳサーバに委任されている場合、ＷＡＮ１０側のホストからクエリされたＦＱＤＮが「host-b.sub.exapmle.com」であれば、ＤＮＳサーバ１１は計２回の問い合わせを行う必要がある。つまり図１２に示すように、ＤＮＳサーバ１１は１回目の問い合わせでサブドメインが「sub.example.com.」のＮＳレコード、及びそのＮＳレコードのＦＱＤＮに対応するプライベートアドレスを持つＡレコードを取得し、そのプライベートアドレスによる２回目の問い合わせを行って、必要とするＡレコードを取得することになる。このことから第２の実施形態は、ＬＡＮ２０側のＤＮＳが階層的に構築されていることに対応させたものである。
【００４９】
第２の実施形態における構成では、ＬＡＮ２０側のＤＮＳサーバが第１の実施形態から異なっているが、ＷＡＮ１０側のＤＮＳサーバ１１、及びＮＡＴ装置３０の構成は共に第１の実施形態と基本的に同じである。ＤＮＳサーバ１１の動作も大部分は第１の実施形態と同じである。このようなことから、第１の実施形態で付した符号をそのまま用いて、第１の実施形態から異なる部分についてのみ説明する。
【００５０】
図１３は、第２の実施形態によるＤＮＳサーバ１１が実行する処理のフローチャートである。第２の実施形態では、ＤＮＳサーバ１１が実行する処理（図９）の一部が第１の実施形態から異なっている。このことから、図１３を参照して、その処理について詳細に説明する。
【００５１】
図１３では、処理内容が第１の実施形態と同じ処理ステップには図９と同じ符号を付している。それにより、図９には存在しない符号を付した処理ステップにのみ着目する形で説明を行う。
【００５２】
第２の実施形態では、ステップＳ１３でＬＡＮ２０側のＤＮＳサーバにクエリを行った後、ステップＳ４１に移行して、クエリによってＤＮＳサーバから得られた回答がＡレコードか否か判定する。回答がＡレコードであった場合、判定はＴとなってステップＳ１４に移行する。回答がＡレコードでない場合には、つまり回答が図１２に示すようなサブドメインのＤＮＳサーバのＦＱＤＮを示すＮＳレコード、及びそのＦＱＤＮに対応するプライベートアドレスを示すＡレコードであった場合には、判定はＦとなってステップＳ４２に移行する。そのステップＳ４２では、Ａレコードが示すプライベートアドレスへのグローバルアドレスの割り当て、つまりエントリ作成要求をＮＡＴ装置３０に対して行い、そのプライベートアドレスを持つＤＮＳサーバに問い合わせを行う。その問い合わせ後に上記ステップＳ４１に移行して、回答の判定を行う。
【００５３】
このようにして第２の実施形態では、ホストからの問い合わせに対する回答（Ａレコード）が得られるまで、ステップＳ４１及びＳ４２で形成される処理ループを繰り返し実行するようになっている。その繰り返しにより、ＬＡＮ２０側のＤＮＳが階層的に構築されていても対応できるようになっている。
【００５４】
＜第３の実施形態＞
ＮＡＴ装置は、一意性が保証されない２つの通信ネットワーク間での通信を可能とさせるものである。第１の実施形態では、２つの通信ネットワークとしてＷＡＮ１０とＬＡＮ２０間の通信をＮＡＴ装置３０により可能とさせる構成となっている。第３の実施形態では、もう一つのＮＡＴ装置を用いて、更に別の通信ネットワークとの通信を可能とさせた場合のものである。第３の実施形態の説明は、上記第２の実施形態と同様に、第１の実施形態と基本的に同じものには同一の符号を用いつつ、第１の実施形態と異なる部分についてのみ着目する形で行う。
【００５５】
図１４は、第３の実施形態によるＮＡＴ制御装置が適用された通信ネットワークシステムの構成を示す図である。その通信ネットワークシステムは、ＷＡＮ１０にＮＡＴ装置５０を接続することにより、ＮＡＴ装置５０を介してＷＡＮ１０とＬＡＮ４０間の通信を可能とさせたものである。ＬＡＮ４０はＬＡＮ２０と同様の構成であり、ＤＮＳサーバ４１やホストＨＸが存在している。図中に表記の「192.0.2.254」「192.0.2.25３」はそれぞれＮＡＴ装置３０及び５０に割り当てられたグローバルアドレスを示している。
【００５６】
２つのＮＡＴ装置３０及び５０を介してＬＡＮ２０及び４０との通信を可能とするために、第３の実施形態によるＮＡＴ制御装置を搭載したＤＮＳサーバ１１は、図１５に示すような内容のドメイン名とＮＡＴ装置のアドレスの対応表１１ｄを管理している。その対応表により、ホストＨＳから問い合わされたＦＱＤＮ中のドメイン名をキーに、制御すべきＮＡＴ装置を特定できるようにしている。
【００５７】
図１６は、第３の実施形態によるＤＮＳサーバ１１が実行する処理のフローチャートである。第３の実施形態では、ＤＮＳサーバ１１が実行する処理（図９）の一部が第１の実施形態から異なっている。このことから、図１６を参照して、その処理について詳細に説明する。その説明は、処理内容が第１の実施形態と同じ処理ステップには図９と同じ符号を付すことにより、図９には存在しない符号を付した処理ステップにのみ着目する形で行う。
【００５８】
第３の実施形態では、ステップＳ１２の判定がＴとなるか、或いはステップＳ１４の処理の終了によりステップＳ５１に移行する。そのステップＳ５１では、ステップＳ１２で存在を確認した、或いはステップＳ１４でキャッシュしたプライベートアドレスに対応するＦＱＤＮ中のドメイン名をキーに対応表１１ｄの検索を行い、ＮＡＴ装置のグローバルアドレスを抽出して、エントリ作成要求を送信すべきＮＡＴ装置を抽出する。グローバルアドレスを抽出したＮＡＴ装置を決定する。ステップＳ１５には、その決定後に移行する。
【００５９】
＜第４の実施形態＞
上記第１〜第３の実施形態では、ＮＡＴ装置は変換テーブルに登録したエントリは通信の終了により削除している。しかし、割り当て可能なグローバルアドレスの数、或いは変換テーブルに登録可能なエントリの数が比較的に多いような場合、通信の終了によりエントリを削除しなくとも利用効率は低下しないか、或いはその低下は僅かなものに抑えられることが考えられる。このことから第４の実施形態は、状況に応じてＮＡＴ装置が変換テーブルのエントリを通信終了後も残すようにし、ＮＡＴ制御装置（ＤＮＳサーバ）はプライベートアドレスの他にグローバルアドレスも保存の対象とさせたものである。第４の実施形態の説明は、上記第２及び第３の実施形態と同様に、第１の実施形態と基本的に同じものには同一の符号を用いつつ、第１の実施形態と異なる部分についてのみ着目する形で行う。
【００６０】
図１７は、登録したエントリの保持期間を延長する際に行われる変換テーブルの操作を説明する図である。
本実施形態では、通信終了後も保持させることによる保持期間を延長させているか否かにより、変換テーブルに登録されたエントリを大別するようにしている。そのように区別していることから、保持期間を延長させていないエントリは、エントリ番号が小さい側にまとめ、保持期間を延長させているエントリは、保持期間を延長させていないエントリの最後に続ける形で登録するようにしている。そのように保持期間を延長しているか否かに応じてエントリをまとめる範囲は、保持期間を延長させていないエントリの数の変化に対応するために動的に変更させる。図１７は、そのように範囲を動的に変更させる操作を行う前後の変換テーブル３３の内容を示している。操作前の変換テーブルは、エントリ番号
１１以降に保持期間を延長させているエントリを登録している。エントリ番号７のエントリの保持期間を延長させる場合、そのエントリは新たにエントリ番号１０として登録し、それまでエントリ番号１０に登録されていたエントリは新たにエントリ番号７として登録する操作が行われる。そのような操作により、保持期間を延長させているエントリを登録している範囲を変更する。そのような操作を行うために、保持期間を延長させているエントリの先頭に位置するエントリ番号は別に保存している。
【００６１】
図１８は、ＤＮＳサーバ１１が管理するグローバルアドレスキャッシュ１１ｅの内容例を示す図である。
ＤＮＳサーバ１１は、エントリ作成要求を送信したＮＡＴ装置３０から回答を受信する。エントリ作成が成功した場合、図８（ｂ）に示すようなデータが回答としてＮＡＴ装置３０から受信される。ＤＮＳサーバ２１への問い合わせにより、図３に示すようなＡレコードがプライベートアドレスキャッシュ１１ｂにキャッシュされる。このようなことから本実施形態では、ＦＱＤＮ、及びグローバルアドレスを有するＡレコードをグローバルアドレスキャッシュ１１ｅにキャッシュするようにしている。ＦＱＤＮは、キーとして用いられる。
【００６２】
第４の実施形態では、ＤＮＳサーバ１１、及びＮＡＴ装置３０は以下のような処理を実行する。図１９〜図２１に示す各処理のフローチャートを参照して詳細に説明する。その説明は、処理内容が第１の実施形態と同じ処理ステップには同じ符号を付すことにより、第１の実施形態から異なる部分にのみ着目する形で行う。
【００６３】
図１９は、第４の実施形態によるＤＮＳサーバ１１が実行する処理のフローチャートである。その処理は、ＷＡＮ１０に存在するホストからＬＡＮ２０側のホストのＩＰアドレスが問い合わされた場合に実行されるものである。始めに図１９を参照して、ＤＮＳサーバ１１の動作について詳細に説明する。
【００６４】
第４の実施形態では、ステップＳ１１の次にステップＳ６１に移行する。そのステップＳ６１では、クエリされたＦＱＤＮがグローバルアドレスキャッシュ１１ｅに存在するか否かを調査して判定する。そのＦＱＤＮを持つＡレコードがこのキャッシュ１１ｅに存在する場合、判定はＴとなってステップＳ１７に移行する。そのようなＡレコードがキャッシュ１１ｅに存在しない場合には、判定はＦとなってステップＳ１２に移行する。
【００６５】
ステップＳ１６の判定がＴとなった場合、つまりＮＡＴ装置３０によるエントリ作成が成功した場合、第４の実施形態ではステップＳ６２に移行する。そのステップＳ６２では、プライベートアドレスキャッシュ１１ｂにキャッシュ済のＡレコード、及び今回、ＮＡＴ装置３０から回答として受信したデータ（図８（ｂ））を用いてグローバルアドレスを持つＡレコードを作成してグローバルアドレスキャッシュ１１ｅにキャッシュする。その後にステップＳ１７に移行する。
【００６６】
図２０は、ＤＮＳサーバ１１からエントリ作成が要求された場合に、第４の実施形態によるＮＡＴ装置３０が実行する処理のフローチャートである。次に図２０を参照して、その処理について詳細に説明する。
【００６７】
第４の実施形態では、ステップＳ２３での判定がＦとなった場合、つまりアドレスプール３２に割り当て可能なグローバルアドレスが残っていない場合、ステップＳ７１に移行する。そのステップＳ７１では、保持期間延長中のエントリが変換テーブル３３にあるか否か判定する。図１７に示す操作用に保持しているエントリ番号以降に登録したエントリは、保持期間延長中である。このことから、そのようなエントリが存在する場合、判定はＴとなり、ステップＳ７２で保持期間延長中のエントリを削除した後、ステップＳ２４に
移行する。保持期間を延長させているエントリが存在しない場合には、判定はＦとなってステップＳ２６に移行する。
【００６８】
このようにして本実施形態では、グローバルアドレスが割り当てられなくなった場合、保持期間延長中のエントリがあればそのエントリを削除して、グローバルアドレスを割り当てるようにしている。このため、エントリの保持期間を延長することに伴うエントリ利用効率の低下は回避させることができる。
【００６９】
図２１は、エントリを削除するために第４の実施形態によるＮＡＴ装置３０が実行する処理のフローチャートである。最後に図２１を参照して、その処理について詳細に説明する。
【００７０】
第４の実施形態では、ステップＳ３１の次にステップＳ８１に移行して、アドレスプール３２に残っているグローバルアドレスの数が閾値ａ以下か否か判定する。グローバルアドレスの数が閾値ａ以下であった場合、判定はＴとなってステップＳ８５に移行する。そうでない場合には、判定はＦとなってステップＳ８２に移行する。
【００７１】
ステップＳ８２では、変換テーブル３３のエントリ数が閾値ｅより大きいか否か判定する。そのエントリ数が閾値ｅより大きい場合、判定はＴとなってステップＳ８５に移行する。そのエントリ数が閾値ｅ以下の場合、判定はＦとなってステップＳ８３に移行する。
【００７２】
ステップＳ８３では、終了した通信に用いていたエントリの保持期間を延長しても良い状況であるとして、そのエントリの保持期間の延長に伴う図１７に示すような操作を変換テーブル３３に対して行う。続くステップＳ８４では、変換テーブル３３に登録されている何れかのエントリを使用する通信が新たに開始したか否か判定する。その判定は、ＮＡＴ装置３０が受信したパケットのヘッダを参照することで行うことができる。通信が終了したと見なしているエントリのグローバルアドレスを送信先としたパケットを再度、受信した場合、判定はＴとなってステップ３１に戻る。そのようなグローバルアドレスを送信先としたパケットを受信していない場合には、判定はＦとなって上記ステップＳ８１に戻る。そのようにして、エントリの保持期間延長によってグローバルアドレスが残り少なくなるような事態とならないように監視する。
【００７３】
一方、ステップＳ８５では、保持期間延長中のエントリがあればそのエントリを削除対象として選択し、選択したエントリを削除することをＤＮＳサーバ１１に通知する。続くステップＳ８６では、その通知による肯定的な回答（ＡＣＫ：ACKnowledgement）を受信するのを待つ。ステップＳ３２には、ＡＣＫを受信してから移行する。
【００７４】
上記ステップＳ８５及びＳ８６の処理は、図２０のステップＳ７２の処理内でも実行される。このことから図１９では、ステップＳ１６の判定がＴとなる前に、エントリ削除通知をＮＡＴ装置３０から受信する場合がある。エントリ削除通知は随時、ＮＡＴ装置３０から受信する。このことからＤＮＳサーバ１１は、そのエントリ削除通知の受信を契機として実行するサブルーチン処理により対応するようにしている。そのサブルーチン処理では、特には図示しないが、受信したエントリ削除通知が示すグローバルアドレスを格納したＡレコードをグローバルアドレスキャッシュ１１ｅから抽出して削除するようになっている。
【００７５】
なお、第４の実施形態では、保持期間延長中のエントリは割り当て可能なグローバルアドレスが無い状況となった場合に削除するようにしているが、そのような状況となる前にエントリを削除するようにしても良い。そのような削除は、例えば図２２に示すような処理をＮＡＴ装置３０に実行させることで実現させても良い。その図２２は、図２０に示す
処理の変形例を示すフローチャートであり、処理内容が第１の実施形態と同じ処理ステップには同じ符号を付している。
【００７６】
図２２に示す処理では、ステップＳ２５の処理の実行後はステップＳ９１に移行して、保持期間延長中のエントリは無いか否か判定する。保持期間延長中のエントリが存在しない場合、判定はＴとなり、ここで図２２に示す処理を終了する。保持期間延長中のエントリが存在する場合、判定はＦとなってステップＳ９２に移行する。
【００７７】
ステップＳ９２では、アドレスプール３２に残っているグローバルアドレスの数が閾値ａより大きいか否か判定する。グローバルアドレスの数が閾値ａより大きい場合、判定はＴとなり、保持期間延長中のエントリの削除を行う必要はないとして、ここで図２２に示す処理を終了する。グローバルアドレスの数が閾値ａ以下の場合、判定はＦとなり、ステップＳ９３で保持期間延長中のエントリを削除した後、図２２に示す処理を終了する。このステップＳ９３では、上記ステップＳ８５及びＳ８６の処理も実行される。それにより、ＤＮＳサーバ１１側ではエントリの削除に合わせたグローバルアドレスキャッシュ１１ｅのＡレコードの削除が行われる。
【００７８】
図２３は、本発明を適用可能なコンピュータのハードウェア構成の一例を示す図である。ここで図２３を参照して、ＮＡＴ制御装置を搭載したＤＮＳサーバ１１として使用可能なコンピュータの構成について具体的に説明する。
【００７９】
図２３に示すコンピュータは、ＣＰＵ６１、メモリ６２、入力装置６３、出力装置６４、外部記憶装置６５、媒体駆動装置６６、及びネットワーク接続装置６７を有し、これらがバス６８によって互いに接続された構成となっている。同図に示す構成は一例であり、これに限定されるものではない。
【００８０】
ＣＰＵ６１は、当該コンピュータ全体の制御を行う。
メモリ６２は、プログラム実行、データ更新等の際に、外部記憶装置６５（あるいは可搬型の記録媒体ＭＤ）に記憶されているプログラムあるいはデータを一時的に格納するＲＡＭ等のメモリである。ＣＰＵ６１は、プログラムをメモリ６２に読み出して実行することにより、全体の制御を行う。
【００８１】
入力装置６３は、例えば、キーボード、マウス等の操作装置と接続されたインターフェースである。操作装置に対するユーザの操作を検出し、その検出結果をＣＰＵ６１に通知する。
【００８２】
出力装置６４は、例えば表示装置と接続された表示制御装置である。ネットワーク接続装置６７は、例えばイントラネットやインターネット等の通信ネットワークを介して、外部装置と通信を行うためのものである。外部記憶装置６５は、例えばハードディスク装置である。主に各種データやプログラムの保存に用いられる。
【００８３】
媒体駆動装置６６は、光ディスクや光磁気ディスク等の可搬型の記録媒体ＭＤにアクセスするものである。
図１に示すプライベートキャッシュ１１ｂ、静的キャッシュ１１ｃ、図１４に示す対応表１１ｄ、及び図１８に示すグローバルアドレスキャッシュ１１ｅは、例えばメモリ６２、或いは外部記憶装置６５上に保存される。第１〜第４の各実施形態におけるＮＡＴ制御部１１ａは、外部記憶装置６５、或いは記録媒体ＭＤに格納されているか、或いはネットワーク接続装置６７により取得したＮＡＴ装置３０制御用のプログラム（ネットワークアドレス変換制御プログラム）をメモリ６２に読み出してＣＰＵ６１が実行することで実現される。
【００８４】
図２３に構成を示すコンピュータは、ネットワーク接続装置６７を更に追加することにより、ＮＡＴ装置３０として用いることが可能である。第１〜第４の各実施形態におけるＮＡＴ装置３０は、同様に、外部記憶装置６５、或いは記録媒体ＭＤに格納されているか、或いはネットワーク接続装置６７により取得したプログラムをメモリ６２に読み出してＣＰＵ６１が実行することで実現される。
【００８５】
以上の変形例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
第１の通信ネットワーク上の第１のノードに割り当てられた第１のアドレスに、第２の通信ネットワーク上で用いられる第２のアドレスを割り当て、該第１のアドレスと該第１のアドレスに割り当てた第２のアドレスとを相互変換するネットワークアドレス変換装置を制御するネットワークアドレス変換制御装置として使用されるコンピュータに、
前記第１の通信ネットワーク上に存在する前記第１のノードのなかで前記第２の通信ネットワーク上の第２のノードと通信を行う第１のノードに割り当てられた第１のアドレスを取得するアドレス取得機能と、
前記アドレス取得機能により取得した第１のアドレスを前記コンピュータがアクセス可能な記憶装置上に所定期間、保存するアドレス保存機能と、
前記第２の通信ネットワーク上の第２のノードが前記第１の通信ネットワーク上の第１のノードと通信を開始する場合、該第１のノードの第１のアドレスが前記記憶装置上に保存されていないことを条件に、該第１のアドレスを前記アドレス取得機能により取得させる取得制御機能と、
前記取得制御機能により取得が制御される前記第１のアドレスへの前記第２のアドレスの割り当てを前記ネットワークアドレス変換装置に要求する要求機能と、
前記要求機能による要求の結果、前記ネットワークアドレス変換装置が前記第１のアドレスに割り当てた第２のアドレスを該ネットワークアドレス変換装置から取得し、前記通信を開始する前記第２のノードに通知する通知機能と、
を実現させるためのネットワークアドレス変換制御プログラム。
（付記２）
前記通知機能により前記ネットワークアドレス変換装置から取得した、前記要求により前記第１のアドレスに割り当てられた第２のアドレスを前記記憶装置に保存する他のアドレス保存機能と、
前記第２の通信ネットワーク上の第２のノードが前記第１の通信ネットワーク上の第１のノードと通信を開始する場合、該第１のノードの第１のアドレスに割り当てられた第２のアドレスが前記記憶装置上に保存されているか否か判定し、該判定結果を基に前記取得制御機能、前記要求機能、及び前記通知機能を制御する通信制御機能と、
を更に実現させることを特徴とする付記１記載のネットワークアドレス変換制御プログラム。
（付記３）
前記ネットワークアドレス変換装置は、前記要求による前記第１のアドレスへの第２のアドレスの割り当てを前記通信が終了した後、該第２のアドレスが割り当てられている状況を基に維持させ、
前記他のアドレス保存機能は、前記ネットワークアドレス変換装置から前記割り当ての解除の通知により、該割り当てが解除される第２のアドレスを前記記憶装置から削除する、
ことを特徴とする付記２記載のネットワークアドレス変換制御プログラム。
（付記４）
前記通信制御機能は、前記第１のノードの第１のアドレスに割り当てられた第２のアドレスが前記記憶装置上に保存されていないと判定した場合、前記取得制御機能、及び前記要求機能を有効とさせて、該要求機能によって前記ネットワークアドレス変換装置から取
得される第２のアドレスを前記通知手段により前記第２のノードに通知させ、該第１のノードの第１のアドレスに割り当てられた第２のアドレスが該記憶装置上に保存されていると判定した場合、該記憶装置上に保存されている第２のアドレスを該通知手段により該第２のノードに通知させる、
ことを特徴とする付記２記載のネットワークアドレス変換制御プログラム。
（付記５）
第１の通信ネットワーク上の第１のノードに割り当てられた第１のアドレスに、第２の通信ネットワーク上で用いられる第２のアドレスを割り当て、該第１のアドレスと該第１のアドレスに割り当てた第２のアドレスとを相互変換するネットワークアドレス変換装置を制御するネットワークアドレス変換制御装置において、
前記第１の通信ネットワーク上に存在する前記第１のノードのなかで前記第２の通信ネットワーク上の第２のノードと通信を行う第１のノードに割り当てられた第１のアドレスを取得するアドレス取得手段と、
前記アドレス取得手段が取得した第１のアドレスを所定期間、保存するアドレス保存手段と、
前記第２の通信ネットワーク上の第２のノードが前記第１の通信ネットワーク上の第１のノードと通信を開始する場合、該第１のノードの第１のアドレスが前記記憶装置上に保存されていないことを条件に、該第１のアドレスを前記アドレス取得手段に取得させる取得制御手段と、
前記取得制御手段により取得が制御される前記第１のアドレスへの前記第２のアドレスの割り当てを前記ネットワークアドレス変換装置に要求する要求手段と、
前記要求手段による要求の結果、前記ネットワークアドレス変換装置が前記第１のアドレスに割り当てた第２のアドレスを該ネットワークアドレス変換装置から取得し、前記通信を開始する前記第２のノードに通知する通知手段と、
を具備することを特徴とするネットワークアドレス変換制御装置。
（付記６）
第１の通信ネットワーク上の第１のノードに割り当てられた第１のアドレスに、第２の通信ネットワーク上で用いられる第２のアドレスを割り当て、該第１のアドレスと該第１のアドレスに割り当てた第２のアドレスとを相互変換するネットワークアドレス変換装置をコンピュータにより制御する方法であって、
前記第１の通信ネットワーク上に存在する前記第１のノードのなかで前記第２の通信ネットワーク上の第２のノードと通信を行う第１のノードに割り当てられた第１のアドレスを取得するアドレス取得工程と、
前記アドレス取得工程により取得した第１のアドレスを所定期間、前記コンピュータがアクセス可能な記憶装置上に保存するアドレス保存工程と、
前記第２の通信ネットワーク上の第２のノードが前記第１の通信ネットワーク上の第１のノードと通信を開始する場合、該第１のノードの第１のアドレスが前記記憶装置上に保存されていないことを条件に、該第１のアドレスを前記アドレス取得手段に取得させる取得制御工程と、
前記取得制御工程により取得が制御される前記第１のアドレスへの前記第２のアドレスの割り当てを前記ネットワークアドレス変換装置に要求する要求工程と、
前記要求工程による要求の結果、前記ネットワークアドレス変換装置が前記第１のアドレスに割り当てた第２のアドレスを該ネットワークアドレス変換装置から取得し、前記通信を開始する前記第２のノードに通知する通知工程と、
を含むことを特徴とするネットワークアドレス変換装置制御方法。
（付記７）
第１の通信ネットワーク上の第１のノードに割り当てられた第１のアドレスに、第２の通信ネットワーク上で用いられる第２のアドレスを割り当て、該第１のアドレスと該第１のアドレスに割り当てた第２のアドレスとを相互変換するネットワークアドレス変換装置として使用されるコンピュータに、
前記第１及び第２の通信ネットワークの何れか一方に存在するネットワークアドレス変換制御装置からの要求により、前記第１のアドレスに第２のアドレスを割り当てる割当機能と、
前記割当機能による割当結果を前記ネットワークアドレス変換制御装置に通知する第１の通知機能と、
前記割当機能による第１のアドレスへの第２のアドレスの割り当てを、該第２のアドレスを用いた相互変換を伴う通信が終了した後、該割り当てが可能な第２のアドレスの状況を基に維持させる割当維持機能と、
前記状況を基に、前記維持させた第２のアドレスの割り当てを前記割当維持機能により解除する場合に、該割り当てを解除する第２のアドレスを前記ネットワークアドレス変換制御装置に通知する第２の通知機能と、
を実現させるためのプログラム。
（付記８）
第１の通信ネットワーク上の第１のノードに割り当てられた第１のアドレスに、第２の通信ネットワーク上で用いられる第２のアドレスを割り当て、該第１のアドレスと該第１のアドレスに割り当てた第２のアドレスとを相互変換するネットワークアドレス変換装置において、
前記第１及び第２の通信ネットワークの何れか一方に存在するネットワークアドレス変換制御装置からの要求により、前記第１のアドレスに第２のアドレスを割り当てる割当手段と、
前記割当手段による割当結果を前記ネットワークアドレス変換制御装置に通知する第１の通知手段と、
前記割当手段による第１のアドレスへの第２のアドレスの割り当てを、該第２のアドレスを用いた相互変換を伴う通信が終了した後、該割り当てが可能な第２のアドレスの状況を基に維持させる割当維持手段と、
前記状況を基に、前記維持させた第２のアドレスの割り当てを前記割当維持手段が解除する場合に、該割り当てを解除する第２のアドレスを前記ネットワークアドレス変換制御装置に通知する第２の通知手段と、
を具備することを特徴とするネットワークアドレス変換装置。
【図面の簡単な説明】
【００８６】
【図１】第１の実施形態によるネットワークアドレス変換制御装置（ＮＡＴ制御装置）が適用された通信ネットワークシステムの構成を示す図である。
【図２】ＮＡＴ装置３０の機能構成図である。
【図３】プライベートアドレスキャッシュ１１ｂの内容例を示す図である。
【図４】静的キャッシュ１１ｃの内容例を示す図である。
【図５】ＬＡＮ２０側のＤＮＳサーバ２１が管理する、ＦＱＤＮとプライベートアドレスの対応表例を示す図である。
【図６】アドレスプール３２の一例を示す図である。
【図７】変換テーブル３３の一例を示す図である。
【図８】ＤＮＳサーバ１１からの要求によって作成されるエントリを説明する図である。
【図９】ＤＮＳサーバ１１が実行する処理のフローチャートである。
【図１０】ＤＮＳサーバ１１からエントリ作成が要求された場合にＮＡＴ装置３０が実行する処理のフローチャートである。
【図１１】エントリを削除するためにＮＡＴ装置３０が実行する処理のフローチャートであ。
【図１２】ＤＮＳが階層的に構築されている場合に、問い合わせによって得られる回答例を示す図である。
【図１３】ＤＮＳサーバ１１が実行する処理のフローチャートである（第２の実施形態）。
【図１４】第３の実施形態によるＮＡＴ制御装置が適用された通信ネットワークシステムの構成を示す図である。
【図１５】ＤＮＳサーバ１１が管理する、ドメイン名とＮＡＴ装置のアドレスの対応表１１ｄ例を示す図である。
【図１６】ＤＮＳサーバ１１が実行する処理のフローチャートである（第３の実施形態）。
【図１７】登録したエントリの保持期間を延長する際に行われる変換テーブルの操作を説明する図である。
【図１８】ＤＮＳサーバ１１が管理するグローバルアドレスキャッシュ１１ｅの内容例を示す図である。
【図１９】ＤＮＳサーバ１１が実行する処理のフローチャートである（第４の実施形態）。
【図２０】ＤＮＳサーバ１１からエントリ作成が要求された場合にＮＡＴ装置３０が実行する処理のフローチャートである（第４の実施形態）。
【図２１】エントリを削除するためにＮＡＴ装置３０が実行する処理のフローチャートである（第４の実施形態）。
【図２２】ＤＮＳサーバ１１からエントリ作成が要求された場合にＮＡＴ装置３０が実行する処理のフローチャートである（第４の実施形態の変形例）。
【図２３】本発明を適用可能なコンピュータのハードウェア構成の一例を示す図である。
【符号の説明】
【００８７】
１０      ＷＡＮ
１１、２１、４１      ＤＮＳサーバ
１１ａ      ＮＡＴ制御部
１１ｂ      プライベートアドレスキャッシュ
１１ｃ      静的キャッシュ
１１ｄ      ドメイン名とＮＡＴ装置のアドレスの対応表
１１ｅ      グローバルアドレスキャッシュ
２０、４０      ＬＡＮ
３０、５０      ＮＡＴ装置
３１      制御受付部
３２      アドレスプール
３３      変換テーブル
ＨＳ、ＨＡ、ＨＸ      ホスト（ノード）
【図１】
2010057028.tif 000003
【図２】
2010057028.tif 000004
【図３】
2010057028.tif 000005
【図４】
2010057028.tif 000006
【図５】
2010057028.tif 000007
【図６】
2010057028.tif 000008
【図７】
2010057028.tif 000009
【図８】
2010057028.tif 000010
【図９】
2010057028.tif 000011
【図１０】
2010057028.tif 000012
【図１１】
2010057028.tif 000013
【図１２】
2010057028.tif 000014
【図１３】
2010057028.tif 000015
【図１４】
2010057028.tif 000016
【図１５】
2010057028.tif 000017
【図１６】
2010057028.tif 000018
【図１７】
2010057028.tif 000019
【図１８】
2010057028.tif 000020
【図１９】
2010057028.tif 000021
【図２０】
2010057028.tif 000022
【図２１】
2010057028.tif 000023
【図２２】
2010057028.tif 000024
【図２３】
2010057028.tif 000025