JP5347383B2 - ネットワークアドレス変換制御プログラム、ネットワークアドレス変換制御装置、及びネットワークアドレス変換装置制御方法 - Google Patents

ネットワークアドレス変換制御プログラム、ネットワークアドレス変換制御装置、及びネットワークアドレス変換装置制御方法 Download PDF

Info

Publication number
JP5347383B2
JP5347383B2 JP2008221454A JP2008221454A JP5347383B2 JP 5347383 B2 JP5347383 B2 JP 5347383B2 JP 2008221454 A JP2008221454 A JP 2008221454A JP 2008221454 A JP2008221454 A JP 2008221454A JP 5347383 B2 JP5347383 B2 JP 5347383B2
Authority
JP
Japan
Prior art keywords
address
node
network
communication
assigned
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008221454A
Other languages
English (en)
Other versions
JP2010057028A (ja
Inventor
圭 濱田
仁 上野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008221454A priority Critical patent/JP5347383B2/ja
Publication of JP2010057028A publication Critical patent/JP2010057028A/ja
Application granted granted Critical
Publication of JP5347383B2 publication Critical patent/JP5347383B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Description

本発明は、一意性が保証されない2つの通信ネットワーク間で通信を行うための技術に関する。
インターネット上のノードには、一意のIPアドレスがグローバルアドレスとして割り当てられている。一方、会社等の組織では、構築した通信ネットワーク上のノードに一意にIPアドレスをプライベートアドレス(ローカルアドレス)として割り当てることが行われている。そのプライベートアドレスは、それが割り当てられた通信ネットワーク(例えばLAN)内でのみ有効であり、インターネットとの一意性は保証されない。このため、そのままではプライベートアドレスを持つノードとインターネット上のノードとは通信を行なうことはできない。このことから、そのような異なる通信ネットワーク間での通信を可能とさせるものとして、プライベートアドレスとグローバルアドレスとを透過的に相互変換する、つまりプライベートアドレスはグローバルアドレスに、グローバルアドレスはプライベートアドレスに変換するネットワークアドレス変換(NAT:Network Address Translation)装置(以降「NAT装置」と表記)が製品化されている。
NAT装置は、アドレスの相互変換を行うために、通常、用いるアドレスが異なる2つの通信ネットワークの境界に配置される(図1)。アドレス変換は、プライベートアドレスと対応するグローバルアドレスの組をエントリとして登録した変換テーブルを参照して行う。そのエントリは、通信を開始するノードが存在する通信ネットワーク側のDNS(Domain Name System)サーバからの要求によって登録される。このことからNAT装置を制御するNAT制御装置は、DNSサーバなどに搭載される。
エントリを変換テーブルに登録させることにより、通信はグローバルアドレスを用いて行われる。以降、便宜的に、グローバルアドレスが各ノードに割り当てられた通信ネットワークは「WAN」、プライベートアドレスが各ノードに割り当てられた通信ネットワークは「LAN」と想定して説明を行う。
WAN側のノードがLAN側のノードとの通信を開始する場合、WAN側のDNSサーバは、LAN側の例えばDNSサーバにノードのプライベートアドレスを問い合わせ、そのプライベートアドレスを取得し、エントリの登録をNAT装置に要求する。従来のDNSサーバ(NAT制御装置)は、その要求によってNAT装置からグローバルアドレスを取得し、WAN側のノードに通知していた。このことから、LAN側のノードに割り当てられたグローバルアドレスを保存(キャッシュ)していた。
特開2001−257720号公報 特開2004−135008号公報 特許第3591420号公報
LAN側のノードのグローバルアドレスを保存する方法としては従来、以下の2つの方法が考えられる。
第1の方法は、単純にLAN側のDNSサーバが問い合わせへのレスポンス時に設定するTTL(Time To Live)の間、WAN側DNSサーバおよび通信を行うノードでキャッシュするという方法である。
第2の方法は、WAN側のノードではキャッシュせず、WAN側のDNSサーバでのみグローバルアドレスをキャッシュする方法である。キャッシュしたグローバルアドレスは、NAT装置が対応するエントリの削除通知により削除する。NAT装置は、変換テーブルに登録したエントリは通信の終了により削除するのが普通である。
上記第1の方法では、NAT装置の変換テーブルのエントリ利用効率、つまり変換テーブルに登録したエントリのなかで実際に通信(変換)に用いられるエントリの割合が低下してしまうという問題点があった。これはWAN側のDNSサーバおよびノードでグローバルアドレスをTTLの間キャッシュすることに起因する。より具体的には、他でグローバルアドレスを記憶しているためにNAT装置では通信が終了してエントリが利用されなくなってもそのエントリを削除することができなくなるからである。変換テーブルに登録可能なエントリの数には制限がある。通信を行う可能性を有するノード(機器)の数に対して登録可能なエントリの数の割合が比較的に小さいような場合、非常に深刻である。
上記第2の方法では、NAT装置の変換テーブルのエントリ利用効率は低下しないものの、LAN側のDNSサーバへの問い合わせ頻度が増加してしまうという問題があった。その理由は、WAN側のDNSサーバがNAT装置のエントリ削除通知に合わせてグローバルアドレスのキャッシュを削除するため、その直後に同じ内容の問い合わせがあった場合でさえLAN側のDNSサーバへ再度問い合わせを行わなければならないからである。
エントリ利用効率の低下、及び問い合わせ頻度の増加は共に、通信を快適に行うのを阻害する。このことから、通信を快適に行える環境を実現させるためには、エントリ利用効率の低下、及び問い合わせ頻度の増加は共に回避させることが重要と考えられる。
本発明は、エントリ利用効率の低下、及び問い合わせ頻度の増加を共に抑制して、NAT装置を介した通信を快適に行える環境を実現させるための技術を提供することを目的とする。
本発明を適用した1システムでは、第1の通信ネットワーク上の第1のノードに割り当てられた第1のアドレスに、第2の通信ネットワーク上で用いられる第2のアドレスを割り当て、第1のアドレスとその第1のアドレスに割り当てた第2のアドレスとを相互変換するネットワークアドレス変換装置を用いた通信が可能なことを前提とする。第1の通信ネットワーク上に存在する第1のノードのなかで第2の通信ネットワーク上の第2のノードと通信を行う第1のノードに割り当てられた第1のアドレスは取得してから所定期間、例えばTTL(Time To Live)の間だけ保存する。その保存により、第1のアドレスを取得するための問い合わせ頻度はより抑制することができる。つまり、第2の通信ネットワーク上の第2のノードが第1の通信ネットワーク上の第1のノードと通信を開始する場合、その第1のノードの第1のアドレスが保存されていないときだけその第1のアドレスを取得すれば済むようになる。
ネットワークアドレス変換装置に対する第1のアドレスへの第2のアドレスの割り当ては、保存している、或いは新たに取得した第1のアドレスを用いて要求する。その要求によってネットワークアドレス変換装置が第1のアドレスに割り当てた第2のアドレスは、そのネットワークアドレス変換装置から取得し、通信を開始する第2のノードに通知する。
第1のアドレスへの第2のアドレスの割り当てによるエントリは、ネットワークアドレス変換装置側が任意のタイミングで削除しても、第1のアドレスの問い合わせ頻度には影響しない。このため、通信の終了により削除することにより、実際には割り当てが可能でありながら割り当てられない第2のアドレスが発生するのを最小限に抑えられることができる。従って、エントリ利用効率の低下も最小限に抑えられることとなる。問い合わせ頻度の増加、及びエントリ利用効率の低下を共に抑制する結果、ネットワークアドレス変換装置を介した通信を快適に行える環境が実現される。
本発明を適用した場合には、エントリ利用効率の低下、及び問い合わせ頻度の増加を共に抑制して、NAT装置を介した通信を快適に行える環境を実現させることができる。
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
<第1の実施形態>
図1は、第1の実施形態によるネットワークアドレス変換制御装置(以降「NAT制御装置」)が適用された通信ネットワークシステムの構成を示す図である。その通信ネットワークシステムには、用いられるアドレスが異なる2つの通信ネットワークとしてWAN10、及びLAN20が存在し、それらWAN10とLAN20の境界にNAT装置30が配置されている。本実施形態によるNAT制御装置は、WAN10側のDNSサーバ11に搭載させる形で適用されている。
DNSサーバは、通信ネットワーク上のコンピュータ(ノード)のドメイン名をIPアドレスに変換する。このため、相手先のIPアドレスが判明していないコンピュータは、そのIPアドレスを得るための問い合わせ(クエリ)をDNSサーバに対して行う。図1では、WAN10側及びLAN20側ともに、その問い合わせを行う可能性のあるノード、及びその問い合わせによる通信を行う対象となるノードを「host」(ホストコンピュータ)と表記している。そのようにして、ノードのなかで通信を開始可能、つまりDNSサーバへの問い合わせを行う可能性のあるノードは他のノードと区別するために「ホスト」と呼ぶことにする。
WAN10側、LAN20側は共に、異なるプライベートアドレスを用いることが可能である。ここでは説明上、便宜的に、WAN10ではグローバルアドレスが用いられ、LAN20ではプライベートアドレスが用いられると想定する。図1中に表記の「192.0.2.0/24」及び「10.10.10.0/24」はそれぞれグローバルアドレス、プライベートアドレスを示している。本実施形態によるNAT制御装置は、一意性が保証されない2つ以上の通信ネットワークの境界に配置されたNAT装置を制御するものとして幅広く用いることができる。
WAN10側のDNSサーバ11は、NAT装置30を制御するNAT制御部11aを備え、そのNAT制御部11aは、プライベートアドレスキャッシュ11bと静的キャッシュ11cを管理する。それらのキャッシュ11b及び11cは、不図示の記憶装置、例えば半導体メモリ上、或いはハードディスク装置等の外部記憶装置上に割り当てられた記憶領域に相当する。
図3は、プライベートアドレスキャッシュ11bの内容例を示す図である。図4は、静的キャッシュ11cの内容例を示す図である。
DNSサーバ11は、ホストHSから、LAN20側のホストHAのドメイン名(FQDN:Fully QualifiedDomain Name)を指定してのIPアドレスが問い合わされた場合、NAT装置30を介してそのIPアドレス(ここではプライベートアドレス)をLAN20側のDNSサーバ21に問い合わせる。その問い合わせの結果、DNSサーバ21から得られた回答を保存する。プライベートアドレスキャッシュ11bは、その回答(Aレコード)を保存するための領域である。そのキャッシュ11bには、図3に示すように、問い合わせ時に指定されたドメイン名(FQDN)毎に、レコード種別、内容(プライベートアドレス)、及びTTLの各データが格納される。Aレコードとは、ドメイン名からIPアドレスを取得するための情報を記録したレコードのことである。NAT制御部11aは、回答(Aレコード)をTTLが示す期間、保存する。
LAN20側のDNSサーバ21への問い合わせを行うには、そのDNSサーバ21に関する情報が必要である。静的キャッシュ11cは、その情報を格納するための領域である。図4に示すように、DNSサーバ21のNSレコード、及びAレコードが格納されている。NSレコードにおいて、ドメイン名はLAN20側でのものであり、内容はLAN20の外部でのドメイン名である。
DNSサーバ11からDNSサーバ21への問い合わせは、ドメイン名(FQDN)を提示して行われる。その問い合わせに回答するためにDNSサーバ21は、図5に示すようなFQDNとプライベートアドレスの対応表を管理している。その対応表には、ドメイン名(FQDN)毎に、それに割り当てられたプライベートアドレス、及びTTLが登録されている。DNSサーバ11からの問い合わせは、この対応表を参照して行う。TTLは、その問い合わせへの回答の一部となる。
DNSサーバ11に搭載されたNAT制御部11aは、NAT装置30を介した通信を可能とするために、アドレス取得部11f、アドレス保存部11g、取得制御部11h、割当要求部11i、及び通知部11jを備えている。各部11f〜jは、それぞれ以下の機能を備えている。
アドレス取得部11fは、LAN20側のDNSサーバ21への問い合わせを行い、Aレコードを取得する。アドレス保存部11gは、取得したAレコードをプライベートアドレスキャッシュ11bに保存する。その保存はTTLが示す期間、行う。取得制御部11hは、LAN20側のホストHA(ノード)のドメイン名を指定してのIPアドレスが問い合わされた場合、そのドメイン名がプライベートアドレスキャッシュ11bに登録されているか否か確認することにより、そのドメイン名がキャッシュ11bに登録されていない場合にのみ、LAN20側のDNSサーバ21への問い合わせを行わせる。それにより、アドレス取得部11fによるAレコードの取得を制御する。
割当要求部11iは、問い合わされたドメイン名がキャッシュ11bに登録されていることを取得制御部11hが確認した場合に、NAT装置30に対し、そのドメイン名を持つノード(例えばホストHA)へのグローバルアドレスの割り当てを要求する。その要求により、NAT装置30は割り当てたグローバルアドレスを返信する。通知部11jは、ドメイン名を指定して問い合わせたノード(例えばホストHS)に対し、返信されたグローバルアドレスを通知する。
図2は、NAT装置30の機能構成図である。NAT装置30は、DNSサーバ11等からの要求を受け付けて処理する制御受付部31を備えている。アドレスプール22と変換テーブル33は、制御受付部31によって管理される。アドレスプール22、及び変換テーブル33は、不図示の記憶装置、例えば半導体メモリ上に保存されている。
図6は、アドレスプール32の一例を示す図である。図7は、変換テーブル33の一例を示す図である。
アドレスプール32は、図6に示すように、割り当て可能なグローバルアドレスをまとめたものである。変換テーブル33は、図7に示すように、グローバルアドレスと対応するプライベートアドレスの組をエントリとして登録したものであり、各エントリにはエン
トリ番号が割り当てられている。エントリは、通信が終了しても削除しない静的なエントリと、通信の終了によって削除する動的なエントリと、に分類される。静的なエントリは、エントリ番号が1のものであり、そのエントリはDNSサーバ21との通信を常時、可能とするためのものである。動的なエントリは、WAN10、或いはLAN20側のDNSサーバの要求に応じて生成・登録される。
変換テーブル33にエントリを登録すると、登録したエントリに格納されているグローバルアドレスはアドレスプール32から削除する。変換テーブル33に登録されているエントリを削除する場合、削除するエントリに格納されているグローバルアドレスはアドレスプール32に追加する。そのようにしてアドレスプール32には、割り当て可能なグローバルアドレスのみを保存する。プライベートアドレスへのグローバルアドレスの割り当ては、エントリの削除によって解除される。
次に図1を参照し、WAN10側のホストHSがLAN20側のホストHAと通信を開始する場合を例にとって、ホストHS、DNSサーバ11及び21、及びNAT装置30の動作を具体的に説明する。
ホストHSは、LAN20側のホストHAと通信を開始する場合、先ず、DNSサーバ11にそのホストHAのIPアドレスの問い合わせを行う(シーケンスS1)。DNSサーバ11は、その問い合わせに応答して、静的キャッシュ11cを参照し、DNSサーバ21にホストHAのIPアドレスの問い合わせを行い、DNSサーバ21から回答として対応するAレコードを受け取る(シーケンスS2) 。そのようにして得られたAレコードは、DNSサーバ11によってプライベートアドレスキャッシュ11bに保存される。
DNSサーバ11は、Aレコードを取得した後、NAT装置30にエントリ作成を要求、つまりAレコードに示されているプライベートアドレスへのグローバルアドレスの割り当てを要求し、その応答を受け取る(シーケンスS3)。その後、ホストHSに応答結果を通知する(シーケンスS4)。
図8は、DNSサーバ11からの要求によって作成されるエントリを説明する図である。図8(a)は、エントリ作成の要求時にDNSサーバ11から入力したデータ(プライベートアドレス)、図8(b)はそのプライベートアドレスにグローバルアドレスを割り当てて作成したエントリ、つまりエントリ作成成功時の出力データ、図8(c)はグローバルアドレスが割り当てられなかった時の出力データをそれぞれ示している。
NAT装置30は、エントリ作成が要求された場合、アドレスプール32、及び変換テーブル33を参照して、使用されていないグローバルアドレスの抽出を行う。その結果、使用されていないグローバルアドレスを抽出できれば、抽出したグローバルアドレスをプライベートアドレスに割り当てて図8(b)に示すようなエントリを作成し、変換テーブル33に登録する。一方、使用されていないグローバルアドレスを抽出できなければ、図8(c)に示すようなデータを出力し、エントリ作成の失敗をDNSサーバ11に通知する。
このようにして本実施形態では、WAN10側のDNSサーバ11は、通信を開始するホストHSからLAN20側ホストHAのIPアドレスの問い合わせにより、LAN20側のDNSサーバ21に対して更に問い合わせを行い、その結果、得られるホストHAのプライベートアドレスをプライベートアドレスキャッシュ11bに保存する。その保存は、TTLで指定された期間、行う。このため、その期間内に再度、ホストHSからホストHAのIPアドレスが問い合わされた場合には、DNSサーバ21への問い合わせをすることなく、NAT装置30にエントリ作成を要求することができる。従って、DNSサーバ21への問い合わせ頻度をより抑えることができる。問い合わせ頻度をより抑えるために、NAT装置30が管理する変換テーブル33に登録したエントリを通信終了後も残す必要性は回避される。これらのことから、高いエントリ利用効率、及び低い問い合わせ頻度を共に達成することができる。その結果、NAT装置30を介した通信を快適に行える環境が実現される。そのような環境を実現するために、DNSサーバ11に搭載されたNAT制御部11a、つまりアドレス取得部11f、アドレス保存部11g、取得制御部11h、割当要求部11i、及び通知部11jは機能する。
以降は、図9〜図11に示す各処理のフローチャートを参照して、DNSサーバ11、NAT装置30の動作について詳細に説明する。
図9は、DNSサーバ11が実行する処理のフローチャートである。その処理は、WAN10に存在するホストからLAN20側のホストのIPアドレスが問い合わされた場合に実行されるものである。始めに図9を参照して、DNSサーバ11の動作について詳細に説明する。
先ず、ステップS11では、WAN10側のホスト(例えばホストHS)からLAN20側のホストのIPアドレスを問い合わせるFQDNのクエリを受け付ける。このクエリは、一般的なDNSクエリと同様であり、例えばホストHSからLAN20側のホストHAのIPアドレスを問い合わせる場合、ホストHSのFQDNであるhostA1.example.com.がクエリされる。
ステップS11に続くステップS12では、自身が管理するプライベートアドレスキャッシュ11bに、クエリされたFQDNが存在するか否か調査して判定する。この調査の検索キーはFQDNである。検索キーとするFQDNがキャッシュ11b内に存在する場合、判定はT(TRUE)となってステップS15に移行する。検索キーとするFQDNがキャッシュ11b内に存在しない場合、判定はF(FALSE)となってステップS13に移行する。
ステップS13では、静的キャッシュ11cを参照し、LAN20側DNSサーバ21にクエリを行い、プライベートアドレスを得る。次のステップS14では、得たプライベートアドレス(Aレコード)をプライベートアドレスキャッシュ11bに保存する。その保存により、LAN20側のホストHSのIPアドレスを問い合わせた場合には、図3に示すAレコードがキャッシュ11bに保存されることとなる。その保存後は上記ステップS15に移行する。
DNSサーバ11はクエリされたFQDNのドメイン名「example.com.」をキーに静的キャッシュ11cを参照することで、問い合わせるべきDNSサーバ21のFQDNである「ns1.example.com」を得る。さらに「ns1.example.com.」をキーに静的キャッシュ11cを参照することで、DNSサーバ21のグローバルアドレス「192.0.2.9」を得る。そのようにしてグローバルアドレスを得ることにより、NAT装置30を介してDNSサーバ21に直接的に問い合わせを行う。
DNSサーバ21は一般的な内部DNSサーバであり、図5に示すようなFQDNとプライベートアドレスの対応表を有している。このため、FQDNの問い合わせを受けると、対応表を参照して、そのプライベートアドレスを回答する。FQDNが「hostA1.example.com.」であった場合、この回答に含まれるTTLは図9に示す通り1日となる。
ステップS15では、クエリされたFQDNに対応するプライベートアドレスをNAT装置30に通知することで、グローバルアドレスを割り当て変換テーブル33にエントリを作成・登録することを要求する。このエントリ作成要求のパケットには図8(a)に示
すようにプライベートアドレスが格納される。
ステップS15に続くステップS16では、エントリ作成要求に対するNAT装置30の返信を受け取り、エントリ作成は成功したか否か判定する。このときエントリ作成の成否は図8(b)或いは図8(c)に示すように返信データにグローバルアドレスがあるか否かにより判定可能である。エントリ作成に成功した場合、判定はTとなり、ステップS17で割り当てられたグローバルアドレスをDNSレスポンスとしてクエリ元ホストに返信する。この時クエリ元ホストでDNSレスポンスがキャッシュされないようにTTLは0としておく。その返信を行った後、図9に示す処理を終了する。一方、エントリ作成に失敗した場合には、判定はFとなり、ステップS18でクエリされたFQDNに対する回答が得られないことをDNSレスポンスコード=3(問い合わせされた名前は見つからない)とするなどしてクエリ元ホストに返信する。この時クエリ元ホストでDNSレスポンスがキャッシュされないようにTTLは0としておく。その返信を行った後、図9に示す処理を終了する。
このようにしてDNSサーバ11は、問い合わされたFQDNに対応するプライベートアドレスがプライベートアドレスキャッシュ11bに保存されていない場合にのみ、そのプライベートアドレスを取得するための問い合わせを行う。このため、問い合わせ頻度は必要最小限に抑えることができる。
図10は、DNSサーバ11からエントリ作成が要求された場合にNAT装置30が実行する処理のフローチャートである。次に図10を参照して、その処理について詳細に説明する。
先ず、ステップS21では、DNSサーバ11からのエントリ作成要求を受け付ける。続くステップS22では、作成要求により通知されたプライベートアドレスが既に変換テーブル33にあるか否か判定する。そのプライベートアドレスが既に存在する場合、判定はTとなり、ステップS25でプライベートアドレスに割り当てられたグローバルアドレスをDNSサーバ11に通知した後、図10の処理を終了する。そのプライベートアドレスが存在しない場合には、判定はFとなってステップS23に移行する。
ステップS23では、アドレスプール32に割り当て可能なグローバルアドレスがあるか否か判定する。割り当て可能なグローバルアドレスが残っている場合、判定はTとなり、ステップS24でそのグローバルアドレスをプライベートアドレスと組み合わせたエントリを作成して変換テーブル33に登録した後、上記ステップS25に移行する。割り当て可能なグローバルアドレスが残っていない場合には、判定はFとなり、ステップS26でその旨をDNSサーバ11に通知した後、図10の処理を終了する。
図11は、エントリを削除するためにNAT装置30が実行する処理のフローチャートである。最後に図11を参照して、その処理について詳細に説明する。
先ず、ステップS31では、NAT装置30を介した通信が一定時間、行われないなどを条件にした通信の終了の検知を行う。続くステップS32では、終了が検知された通信用のエントリを変換テーブル33から削除する。その後、図11の処理を終了する。
このようにしてNAT装置30は、登録したエントリは通信の終了により削除している。このため、高いエントリ利用効率が実現される。
<第2の実施形態>
DNSは、階層的に構築されている場合がある。その場合、IPアドレス(Aレコード)を得るための問い合わせは、複数回、行う必要がある。LAN側のDNSが階層的に構築されており、静的キャッシュ11cに記載される、FQDNが「ns1.example.com」のDNSサーバがドメイン「example.com.」に対して権威を持ち、そのサブドメイン「sub.example.com.」の権威は「ns2.sub.example.com.」をFQDNとするDNSサーバに委任されている場合、WAN10側のホストからクエリされたFQDNが「host-b.sub.exapmle.com」であれば、DNSサーバ11は計2回の問い合わせを行う必要がある。つまり図12に示すように、DNSサーバ11は1回目の問い合わせでサブドメインが「sub.example.com.」のNSレコード、及びそのNSレコードのFQDNに対応するプライベートアドレスを持つAレコードを取得し、そのプライベートアドレスによる2回目の問い合わせを行って、必要とするAレコードを取得することになる。このことから第2の実施形態は、LAN20側のDNSが階層的に構築されていることに対応させたものである。
第2の実施形態における構成では、LAN20側のDNSサーバが第1の実施形態から異なっているが、WAN10側のDNSサーバ11、及びNAT装置30の構成は共に第1の実施形態と基本的に同じである。DNSサーバ11の動作も大部分は第1の実施形態と同じである。このようなことから、第1の実施形態で付した符号をそのまま用いて、第1の実施形態から異なる部分についてのみ説明する。
図13は、第2の実施形態によるDNSサーバ11が実行する処理のフローチャートである。第2の実施形態では、DNSサーバ11が実行する処理(図9)の一部が第1の実施形態から異なっている。このことから、図13を参照して、その処理について詳細に説明する。
図13では、処理内容が第1の実施形態と同じ処理ステップには図9と同じ符号を付している。それにより、図9には存在しない符号を付した処理ステップにのみ着目する形で説明を行う。
第2の実施形態では、ステップS13でLAN20側のDNSサーバにクエリを行った後、ステップS41に移行して、クエリによってDNSサーバから得られた回答がAレコードか否か判定する。回答がAレコードであった場合、判定はTとなってステップS14に移行する。回答がAレコードでない場合には、つまり回答が図12に示すようなサブドメインのDNSサーバのFQDNを示すNSレコード、及びそのFQDNに対応するプライベートアドレスを示すAレコードであった場合には、判定はFとなってステップS42に移行する。そのステップS42では、Aレコードが示すプライベートアドレスへのグローバルアドレスの割り当て、つまりエントリ作成要求をNAT装置30に対して行い、そのプライベートアドレスを持つDNSサーバに問い合わせを行う。その問い合わせ後に上記ステップS41に移行して、回答の判定を行う。
このようにして第2の実施形態では、ホストからの問い合わせに対する回答(Aレコード)が得られるまで、ステップS41及びS42で形成される処理ループを繰り返し実行するようになっている。その繰り返しにより、LAN20側のDNSが階層的に構築されていても対応できるようになっている。
<第3の実施形態>
NAT装置は、一意性が保証されない2つの通信ネットワーク間での通信を可能とさせるものである。第1の実施形態では、2つの通信ネットワークとしてWAN10とLAN20間の通信をNAT装置30により可能とさせる構成となっている。第3の実施形態では、もう一つのNAT装置を用いて、更に別の通信ネットワークとの通信を可能とさせた場合のものである。第3の実施形態の説明は、上記第2の実施形態と同様に、第1の実施形態と基本的に同じものには同一の符号を用いつつ、第1の実施形態と異なる部分についてのみ着目する形で行う。
図14は、第3の実施形態によるNAT制御装置が適用された通信ネットワークシステムの構成を示す図である。その通信ネットワークシステムは、WAN10にNAT装置50を接続することにより、NAT装置50を介してWAN10とLAN40間の通信を可能とさせたものである。LAN40はLAN20と同様の構成であり、DNSサーバ41やホストHXが存在している。図中に表記の「192.0.2.254」「192.0.2.253」はそれぞれNAT装置30及び50に割り当てられたグローバルアドレスを示している。
2つのNAT装置30及び50を介してLAN20及び40との通信を可能とするために、第3の実施形態によるNAT制御装置を搭載したDNSサーバ11は、図15に示すような内容のドメイン名とNAT装置のアドレスの対応表11dを管理している。その対応表により、ホストHSから問い合わされたFQDN中のドメイン名をキーに、制御すべきNAT装置を特定できるようにしている。
図16は、第3の実施形態によるDNSサーバ11が実行する処理のフローチャートである。第3の実施形態では、DNSサーバ11が実行する処理(図9)の一部が第1の実施形態から異なっている。このことから、図16を参照して、その処理について詳細に説明する。その説明は、処理内容が第1の実施形態と同じ処理ステップには図9と同じ符号を付すことにより、図9には存在しない符号を付した処理ステップにのみ着目する形で行う。
第3の実施形態では、ステップS12の判定がTとなるか、或いはステップS14の処理の終了によりステップS51に移行する。そのステップS51では、ステップS12で存在を確認した、或いはステップS14でキャッシュしたプライベートアドレスに対応するFQDN中のドメイン名をキーに対応表11dの検索を行い、NAT装置のグローバルアドレスを抽出して、エントリ作成要求を送信すべきNAT装置を抽出する。グローバルアドレスを抽出したNAT装置を決定する。ステップS15には、その決定後に移行する。
<第4の実施形態>
上記第1〜第3の実施形態では、NAT装置は変換テーブルに登録したエントリは通信の終了により削除している。しかし、割り当て可能なグローバルアドレスの数、或いは変換テーブルに登録可能なエントリの数が比較的に多いような場合、通信の終了によりエントリを削除しなくとも利用効率は低下しないか、或いはその低下は僅かなものに抑えられることが考えられる。このことから第4の実施形態は、状況に応じてNAT装置が変換テーブルのエントリを通信終了後も残すようにし、NAT制御装置(DNSサーバ)はプライベートアドレスの他にグローバルアドレスも保存の対象とさせたものである。第4の実施形態の説明は、上記第2及び第3の実施形態と同様に、第1の実施形態と基本的に同じものには同一の符号を用いつつ、第1の実施形態と異なる部分についてのみ着目する形で行う。
図17は、登録したエントリの保持期間を延長する際に行われる変換テーブルの操作を説明する図である。
本実施形態では、通信終了後も保持させることによる保持期間を延長させているか否かにより、変換テーブルに登録されたエントリを大別するようにしている。そのように区別していることから、保持期間を延長させていないエントリは、エントリ番号が小さい側にまとめ、保持期間を延長させているエントリは、保持期間を延長させていないエントリの最後に続ける形で登録するようにしている。そのように保持期間を延長しているか否かに応じてエントリをまとめる範囲は、保持期間を延長させていないエントリの数の変化に対応するために動的に変更させる。図17は、そのように範囲を動的に変更させる操作を行う前後の変換テーブル33の内容を示している。操作前の変換テーブルは、エントリ番号
11以降に保持期間を延長させているエントリを登録している。エントリ番号7のエントリの保持期間を延長させる場合、そのエントリは新たにエントリ番号10として登録し、それまでエントリ番号10に登録されていたエントリは新たにエントリ番号7として登録する操作が行われる。そのような操作により、保持期間を延長させているエントリを登録している範囲を変更する。そのような操作を行うために、保持期間を延長させているエントリの先頭に位置するエントリ番号は別に保存している。
図18は、DNSサーバ11が管理するグローバルアドレスキャッシュ11eの内容例を示す図である。
DNSサーバ11は、エントリ作成要求を送信したNAT装置30から回答を受信する。エントリ作成が成功した場合、図8(b)に示すようなデータが回答としてNAT装置30から受信される。DNSサーバ21への問い合わせにより、図3に示すようなAレコードがプライベートアドレスキャッシュ11bにキャッシュされる。このようなことから本実施形態では、FQDN、及びグローバルアドレスを有するAレコードをグローバルアドレスキャッシュ11eにキャッシュするようにしている。FQDNは、キーとして用いられる。
第4の実施形態では、DNSサーバ11、及びNAT装置30は以下のような処理を実行する。図19〜図21に示す各処理のフローチャートを参照して詳細に説明する。その説明は、処理内容が第1の実施形態と同じ処理ステップには同じ符号を付すことにより、第1の実施形態から異なる部分にのみ着目する形で行う。
図19は、第4の実施形態によるDNSサーバ11が実行する処理のフローチャートである。その処理は、WAN10に存在するホストからLAN20側のホストのIPアドレスが問い合わされた場合に実行されるものである。始めに図19を参照して、DNSサーバ11の動作について詳細に説明する。
第4の実施形態では、ステップS11の次にステップS61に移行する。そのステップS61では、クエリされたFQDNがグローバルアドレスキャッシュ11eに存在するか否かを調査して判定する。そのFQDNを持つAレコードがこのキャッシュ11eに存在する場合、判定はTとなってステップS17に移行する。そのようなAレコードがキャッシュ11eに存在しない場合には、判定はFとなってステップS12に移行する。
ステップS16の判定がTとなった場合、つまりNAT装置30によるエントリ作成が成功した場合、第4の実施形態ではステップS62に移行する。そのステップS62では、プライベートアドレスキャッシュ11bにキャッシュ済のAレコード、及び今回、NAT装置30から回答として受信したデータ(図8(b))を用いてグローバルアドレスを持つAレコードを作成してグローバルアドレスキャッシュ11eにキャッシュする。その後にステップS17に移行する。
図20は、DNSサーバ11からエントリ作成が要求された場合に、第4の実施形態によるNAT装置30が実行する処理のフローチャートである。次に図20を参照して、その処理について詳細に説明する。
第4の実施形態では、ステップS23での判定がFとなった場合、つまりアドレスプール32に割り当て可能なグローバルアドレスが残っていない場合、ステップS71に移行する。そのステップS71では、保持期間延長中のエントリが変換テーブル33にあるか否か判定する。図17に示す操作用に保持しているエントリ番号以降に登録したエントリは、保持期間延長中である。このことから、そのようなエントリが存在する場合、判定はTとなり、ステップS72で保持期間延長中のエントリを削除した後、ステップS24に
移行する。保持期間を延長させているエントリが存在しない場合には、判定はFとなってステップS26に移行する。
このようにして本実施形態では、グローバルアドレスが割り当てられなくなった場合、保持期間延長中のエントリがあればそのエントリを削除して、グローバルアドレスを割り当てるようにしている。このため、エントリの保持期間を延長することに伴うエントリ利用効率の低下は回避させることができる。
図21は、エントリを削除するために第4の実施形態によるNAT装置30が実行する処理のフローチャートである。最後に図21を参照して、その処理について詳細に説明する。
第4の実施形態では、ステップS31の次にステップS81に移行して、アドレスプール32に残っているグローバルアドレスの数が閾値a以下か否か判定する。グローバルアドレスの数が閾値a以下であった場合、判定はTとなってステップS85に移行する。そうでない場合には、判定はFとなってステップS82に移行する。
ステップS82では、変換テーブル33のエントリ数が閾値eより大きいか否か判定する。そのエントリ数が閾値eより大きい場合、判定はTとなってステップS85に移行する。そのエントリ数が閾値e以下の場合、判定はFとなってステップS83に移行する。
ステップS83では、終了した通信に用いていたエントリの保持期間を延長しても良い状況であるとして、そのエントリの保持期間の延長に伴う図17に示すような操作を変換テーブル33に対して行う。続くステップS84では、変換テーブル33に登録されている何れかのエントリを使用する通信が新たに開始したか否か判定する。その判定は、NAT装置30が受信したパケットのヘッダを参照することで行うことができる。通信が終了したと見なしているエントリのグローバルアドレスを送信先としたパケットを再度、受信した場合、判定はTとなってステップ31に戻る。そのようなグローバルアドレスを送信先としたパケットを受信していない場合には、判定はFとなって上記ステップS81に戻る。そのようにして、エントリの保持期間延長によってグローバルアドレスが残り少なくなるような事態とならないように監視する。
一方、ステップS85では、保持期間延長中のエントリがあればそのエントリを削除対象として選択し、選択したエントリを削除することをDNSサーバ11に通知する。続くステップS86では、その通知による肯定的な回答(ACK:ACKnowledgement)を受信するのを待つ。ステップS32には、ACKを受信してから移行する。
上記ステップS85及びS86の処理は、図20のステップS72の処理内でも実行される。このことから図19では、ステップS16の判定がTとなる前に、エントリ削除通知をNAT装置30から受信する場合がある。エントリ削除通知は随時、NAT装置30から受信する。このことからDNSサーバ11は、そのエントリ削除通知の受信を契機として実行するサブルーチン処理により対応するようにしている。そのサブルーチン処理では、特には図示しないが、受信したエントリ削除通知が示すグローバルアドレスを格納したAレコードをグローバルアドレスキャッシュ11eから抽出して削除するようになっている。
なお、第4の実施形態では、保持期間延長中のエントリは割り当て可能なグローバルアドレスが無い状況となった場合に削除するようにしているが、そのような状況となる前にエントリを削除するようにしても良い。そのような削除は、例えば図22に示すような処理をNAT装置30に実行させることで実現させても良い。その図22は、図20に示す
処理の変形例を示すフローチャートであり、処理内容が第1の実施形態と同じ処理ステップには同じ符号を付している。
図22に示す処理では、ステップS25の処理の実行後はステップS91に移行して、保持期間延長中のエントリは無いか否か判定する。保持期間延長中のエントリが存在しない場合、判定はTとなり、ここで図22に示す処理を終了する。保持期間延長中のエントリが存在する場合、判定はFとなってステップS92に移行する。
ステップS92では、アドレスプール32に残っているグローバルアドレスの数が閾値aより大きいか否か判定する。グローバルアドレスの数が閾値aより大きい場合、判定はTとなり、保持期間延長中のエントリの削除を行う必要はないとして、ここで図22に示す処理を終了する。グローバルアドレスの数が閾値a以下の場合、判定はFとなり、ステップS93で保持期間延長中のエントリを削除した後、図22に示す処理を終了する。このステップS93では、上記ステップS85及びS86の処理も実行される。それにより、DNSサーバ11側ではエントリの削除に合わせたグローバルアドレスキャッシュ11eのAレコードの削除が行われる。
図23は、本発明を適用可能なコンピュータのハードウェア構成の一例を示す図である。ここで図23を参照して、NAT制御装置を搭載したDNSサーバ11として使用可能なコンピュータの構成について具体的に説明する。
図23に示すコンピュータは、CPU61、メモリ62、入力装置63、出力装置64、外部記憶装置65、媒体駆動装置66、及びネットワーク接続装置67を有し、これらがバス68によって互いに接続された構成となっている。同図に示す構成は一例であり、これに限定されるものではない。
CPU61は、当該コンピュータ全体の制御を行う。
メモリ62は、プログラム実行、データ更新等の際に、外部記憶装置65(あるいは可搬型の記録媒体MD)に記憶されているプログラムあるいはデータを一時的に格納するRAM等のメモリである。CPU61は、プログラムをメモリ62に読み出して実行することにより、全体の制御を行う。
入力装置63は、例えば、キーボード、マウス等の操作装置と接続されたインターフェースである。操作装置に対するユーザの操作を検出し、その検出結果をCPU61に通知する。
出力装置64は、例えば表示装置と接続された表示制御装置である。ネットワーク接続装置67は、例えばイントラネットやインターネット等の通信ネットワークを介して、外部装置と通信を行うためのものである。外部記憶装置65は、例えばハードディスク装置である。主に各種データやプログラムの保存に用いられる。
媒体駆動装置66は、光ディスクや光磁気ディスク等の可搬型の記録媒体MDにアクセスするものである。
図1に示すプライベートキャッシュ11b、静的キャッシュ11c、図14に示す対応表11d、及び図18に示すグローバルアドレスキャッシュ11eは、例えばメモリ62、或いは外部記憶装置65上に保存される。第1〜第4の各実施形態におけるNAT制御部11aは、外部記憶装置65、或いは記録媒体MDに格納されているか、或いはネットワーク接続装置67により取得したNAT装置30制御用のプログラム(ネットワークアドレス変換制御プログラム)をメモリ62に読み出してCPU61が実行することで実現される。
図23に構成を示すコンピュータは、ネットワーク接続装置67を更に追加することにより、NAT装置30として用いることが可能である。第1〜第4の各実施形態におけるNAT装置30は、同様に、外部記憶装置65、或いは記録媒体MDに格納されているか、或いはネットワーク接続装置67により取得したプログラムをメモリ62に読み出してCPU61が実行することで実現される。
以上の変形例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
第1の通信ネットワーク上の第1のノードに割り当てられた第1のアドレスに、第2の通信ネットワーク上で用いられる第2のアドレスを割り当て、該第1のアドレスと該第1のアドレスに割り当てた第2のアドレスとを相互変換するネットワークアドレス変換装置を制御するネットワークアドレス変換制御装置として使用されるコンピュータに、
前記第1の通信ネットワーク上に存在する前記第1のノードのなかで前記第2の通信ネットワーク上の第2のノードと通信を行う第1のノードに割り当てられた第1のアドレスを取得するアドレス取得機能と、
前記アドレス取得機能により取得した第1のアドレスを前記コンピュータがアクセス可能な記憶装置上に所定期間、保存するアドレス保存機能と、
前記第2の通信ネットワーク上の第2のノードが前記第1の通信ネットワーク上の第1のノードと通信を開始する場合、該第1のノードの第1のアドレスが前記記憶装置上に保存されていないことを条件に、該第1のアドレスを前記アドレス取得機能により取得させる取得制御機能と、
前記取得制御機能により取得が制御される前記第1のアドレスへの前記第2のアドレスの割り当てを前記ネットワークアドレス変換装置に要求する要求機能と、
前記要求機能による要求の結果、前記ネットワークアドレス変換装置が前記第1のアドレスに割り当てた第2のアドレスを該ネットワークアドレス変換装置から取得し、前記通信を開始する前記第2のノードに通知する通知機能と、
を実現させるためのネットワークアドレス変換制御プログラム。
(付記2)
前記通知機能により前記ネットワークアドレス変換装置から取得した、前記要求により前記第1のアドレスに割り当てられた第2のアドレスを前記記憶装置に保存する他のアドレス保存機能と、
前記第2の通信ネットワーク上の第2のノードが前記第1の通信ネットワーク上の第1のノードと通信を開始する場合、該第1のノードの第1のアドレスに割り当てられた第2のアドレスが前記記憶装置上に保存されているか否か判定し、該判定結果を基に前記取得制御機能、前記要求機能、及び前記通知機能を制御する通信制御機能と、
を更に実現させることを特徴とする付記1記載のネットワークアドレス変換制御プログラム。
(付記3)
前記ネットワークアドレス変換装置は、前記要求による前記第1のアドレスへの第2のアドレスの割り当てを前記通信が終了した後、該第2のアドレスが割り当てられている状況を基に維持させ、
前記他のアドレス保存機能は、前記ネットワークアドレス変換装置から前記割り当ての解除の通知により、該割り当てが解除される第2のアドレスを前記記憶装置から削除する、
ことを特徴とする付記2記載のネットワークアドレス変換制御プログラム。
(付記4)
前記通信制御機能は、前記第1のノードの第1のアドレスに割り当てられた第2のアドレスが前記記憶装置上に保存されていないと判定した場合、前記取得制御機能、及び前記要求機能を有効とさせて、該要求機能によって前記ネットワークアドレス変換装置から取
得される第2のアドレスを前記通知手段により前記第2のノードに通知させ、該第1のノードの第1のアドレスに割り当てられた第2のアドレスが該記憶装置上に保存されていると判定した場合、該記憶装置上に保存されている第2のアドレスを該通知手段により該第2のノードに通知させる、
ことを特徴とする付記2記載のネットワークアドレス変換制御プログラム。
(付記5)
第1の通信ネットワーク上の第1のノードに割り当てられた第1のアドレスに、第2の通信ネットワーク上で用いられる第2のアドレスを割り当て、該第1のアドレスと該第1のアドレスに割り当てた第2のアドレスとを相互変換するネットワークアドレス変換装置を制御するネットワークアドレス変換制御装置において、
前記第1の通信ネットワーク上に存在する前記第1のノードのなかで前記第2の通信ネットワーク上の第2のノードと通信を行う第1のノードに割り当てられた第1のアドレスを取得するアドレス取得手段と、
前記アドレス取得手段が取得した第1のアドレスを所定期間、保存するアドレス保存手段と、
前記第2の通信ネットワーク上の第2のノードが前記第1の通信ネットワーク上の第1のノードと通信を開始する場合、該第1のノードの第1のアドレスが前記記憶装置上に保存されていないことを条件に、該第1のアドレスを前記アドレス取得手段に取得させる取得制御手段と、
前記取得制御手段により取得が制御される前記第1のアドレスへの前記第2のアドレスの割り当てを前記ネットワークアドレス変換装置に要求する要求手段と、
前記要求手段による要求の結果、前記ネットワークアドレス変換装置が前記第1のアドレスに割り当てた第2のアドレスを該ネットワークアドレス変換装置から取得し、前記通信を開始する前記第2のノードに通知する通知手段と、
を具備することを特徴とするネットワークアドレス変換制御装置。
(付記6)
第1の通信ネットワーク上の第1のノードに割り当てられた第1のアドレスに、第2の通信ネットワーク上で用いられる第2のアドレスを割り当て、該第1のアドレスと該第1のアドレスに割り当てた第2のアドレスとを相互変換するネットワークアドレス変換装置をコンピュータにより制御する方法であって、
前記第1の通信ネットワーク上に存在する前記第1のノードのなかで前記第2の通信ネットワーク上の第2のノードと通信を行う第1のノードに割り当てられた第1のアドレスを取得するアドレス取得工程と、
前記アドレス取得工程により取得した第1のアドレスを所定期間、前記コンピュータがアクセス可能な記憶装置上に保存するアドレス保存工程と、
前記第2の通信ネットワーク上の第2のノードが前記第1の通信ネットワーク上の第1のノードと通信を開始する場合、該第1のノードの第1のアドレスが前記記憶装置上に保存されていないことを条件に、該第1のアドレスを前記アドレス取得手段に取得させる取得制御工程と、
前記取得制御工程により取得が制御される前記第1のアドレスへの前記第2のアドレスの割り当てを前記ネットワークアドレス変換装置に要求する要求工程と、
前記要求工程による要求の結果、前記ネットワークアドレス変換装置が前記第1のアドレスに割り当てた第2のアドレスを該ネットワークアドレス変換装置から取得し、前記通信を開始する前記第2のノードに通知する通知工程と、
を含むことを特徴とするネットワークアドレス変換装置制御方法。
(付記7)
第1の通信ネットワーク上の第1のノードに割り当てられた第1のアドレスに、第2の通信ネットワーク上で用いられる第2のアドレスを割り当て、該第1のアドレスと該第1のアドレスに割り当てた第2のアドレスとを相互変換するネットワークアドレス変換装置として使用されるコンピュータに、
前記第1及び第2の通信ネットワークの何れか一方に存在するネットワークアドレス変換制御装置からの要求により、前記第1のアドレスに第2のアドレスを割り当てる割当機能と、
前記割当機能による割当結果を前記ネットワークアドレス変換制御装置に通知する第1の通知機能と、
前記割当機能による第1のアドレスへの第2のアドレスの割り当てを、該第2のアドレスを用いた相互変換を伴う通信が終了した後、該割り当てが可能な第2のアドレスの状況を基に維持させる割当維持機能と、
前記状況を基に、前記維持させた第2のアドレスの割り当てを前記割当維持機能により解除する場合に、該割り当てを解除する第2のアドレスを前記ネットワークアドレス変換制御装置に通知する第2の通知機能と、
を実現させるためのプログラム。
(付記8)
第1の通信ネットワーク上の第1のノードに割り当てられた第1のアドレスに、第2の通信ネットワーク上で用いられる第2のアドレスを割り当て、該第1のアドレスと該第1のアドレスに割り当てた第2のアドレスとを相互変換するネットワークアドレス変換装置において、
前記第1及び第2の通信ネットワークの何れか一方に存在するネットワークアドレス変換制御装置からの要求により、前記第1のアドレスに第2のアドレスを割り当てる割当手段と、
前記割当手段による割当結果を前記ネットワークアドレス変換制御装置に通知する第1の通知手段と、
前記割当手段による第1のアドレスへの第2のアドレスの割り当てを、該第2のアドレスを用いた相互変換を伴う通信が終了した後、該割り当てが可能な第2のアドレスの状況を基に維持させる割当維持手段と、
前記状況を基に、前記維持させた第2のアドレスの割り当てを前記割当維持手段が解除する場合に、該割り当てを解除する第2のアドレスを前記ネットワークアドレス変換制御装置に通知する第2の通知手段と、
を具備することを特徴とするネットワークアドレス変換装置。
第1の実施形態によるネットワークアドレス変換制御装置(NAT制御装置)が適用された通信ネットワークシステムの構成を示す図である。 NAT装置30の機能構成図である。 プライベートアドレスキャッシュ11bの内容例を示す図である。 静的キャッシュ11cの内容例を示す図である。 LAN20側のDNSサーバ21が管理する、FQDNとプライベートアドレスの対応表例を示す図である。 アドレスプール32の一例を示す図である。 変換テーブル33の一例を示す図である。 DNSサーバ11からの要求によって作成されるエントリを説明する図である。 DNSサーバ11が実行する処理のフローチャートである。 DNSサーバ11からエントリ作成が要求された場合にNAT装置30が実行する処理のフローチャートである。 エントリを削除するためにNAT装置30が実行する処理のフローチャートであ。 DNSが階層的に構築されている場合に、問い合わせによって得られる回答例を示す図である。 DNSサーバ11が実行する処理のフローチャートである(第2の実施形態)。 第3の実施形態によるNAT制御装置が適用された通信ネットワークシステムの構成を示す図である。 DNSサーバ11が管理する、ドメイン名とNAT装置のアドレスの対応表11d例を示す図である。 DNSサーバ11が実行する処理のフローチャートである(第3の実施形態)。 登録したエントリの保持期間を延長する際に行われる変換テーブルの操作を説明する図である。 DNSサーバ11が管理するグローバルアドレスキャッシュ11eの内容例を示す図である。 DNSサーバ11が実行する処理のフローチャートである(第4の実施形態)。 DNSサーバ11からエントリ作成が要求された場合にNAT装置30が実行する処理のフローチャートである(第4の実施形態)。 エントリを削除するためにNAT装置30が実行する処理のフローチャートである(第4の実施形態)。 DNSサーバ11からエントリ作成が要求された場合にNAT装置30が実行する処理のフローチャートである(第4の実施形態の変形例)。 本発明を適用可能なコンピュータのハードウェア構成の一例を示す図である。
符号の説明
10 WAN
11、21、41 DNSサーバ
11a NAT制御部
11b プライベートアドレスキャッシュ
11c 静的キャッシュ
11d ドメイン名とNAT装置のアドレスの対応表
11e グローバルアドレスキャッシュ
20、40 LAN
30、50 NAT装置
31 制御受付部
32 アドレスプール
33 変換テーブル
HS、HA、HX ホスト(ノード)

Claims (5)

  1. 第1の通信ネットワーク上の第1のノードに割り当てられた第1のアドレスに、第2の通信ネットワーク上で用いられる第2のアドレスを割り当て、該第1のアドレスと該第1のアドレスに割り当てた第2のアドレスとを相互変換するネットワークアドレス変換装置を制御するネットワークアドレス変換制御装置として使用されるコンピュータに、
    前記第1の通信ネットワーク上に存在する前記第1のノードのなかで前記第2の通信ネットワーク上の第2のノードと通信を行う第1のノードに割り当てられた第1のアドレスを取得するアドレス取得機能と、
    前記アドレス取得機能により取得した第1のアドレスを前記コンピュータがアクセス可能な記憶装置上に所定期間、保存するアドレス保存機能と、
    前記第2の通信ネットワーク上の第2のノードが前記第1の通信ネットワーク上の第1のノードと通信を開始する場合、該第1のノードの第1のアドレスが前記記憶装置上に保存されていないことを条件に、該第1のアドレスを前記アドレス取得機能により取得させる取得制御機能と、
    前記取得制御機能により取得が制御される前記第1のアドレスへの前記第2のアドレスの割り当てを前記ネットワークアドレス変換装置に要求する要求機能と、
    前記要求機能による要求の結果、前記ネットワークアドレス変換装置が前記第1のアドレスに割り当てた第2のアドレスを該ネットワークアドレス変換装置から取得し、前記通信を開始する前記第2のノードに通知する通知機能と、
    を実現させるためのネットワークアドレス変換制御プログラム。
  2. 前記通知機能により前記ネットワークアドレス変換装置から取得した、前記要求により前記第1のアドレスに割り当てられた第2のアドレスを前記記憶装置に保存する他のアドレス保存機能と、
    前記第2の通信ネットワーク上の第2のノードが前記第1の通信ネットワーク上の第1のノードと通信を開始する場合、該第1のノードの第1のアドレスに割り当てられた第2のアドレスが前記記憶装置上に保存されているか否か判定し、該判定結果を基に前記取得制御機能、前記要求機能、及び前記通知機能を制御する通信制御機能と、
    を更に実現させることを特徴とする請求項1記載のネットワークアドレス変換制御プログラム。
  3. 前記ネットワークアドレス変換装置は、前記要求による前記第1のアドレスへの第2のアドレスの割り当てを前記通信が終了した後、該第2のアドレスが割り当てられている状況を基に維持させ、
    前記他のアドレス保存機能は、前記ネットワークアドレス変換装置から前記割り当ての解除の通知により、該割り当てが解除される第2のアドレスを前記記憶装置から削除する、
    ことを特徴とする請求項2記載のネットワークアドレス変換制御プログラム。
  4. 第1の通信ネットワーク上の第1のノードに割り当てられた第1のアドレスに、第2の通信ネットワーク上で用いられる第2のアドレスを割り当て、該第1のアドレスと該第1のアドレスに割り当てた第2のアドレスとを相互変換するネットワークアドレス変換装置を制御するネットワークアドレス変換制御装置において、
    前記第1の通信ネットワーク上に存在する前記第1のノードのなかで前記第2の通信ネットワーク上の第2のノードと通信を行う第1のノードに割り当てられた第1のアドレスを取得するアドレス取得手段と、
    前記アドレス取得手段が取得した第1のアドレスを所定期間、保存するアドレス保存手段と、
    前記第2の通信ネットワーク上の第2のノードが前記第1の通信ネットワーク上の第1
    のノードと通信を開始する場合、該第1のノードの第1のアドレスが前記記憶装置上に保存されていないことを条件に、該第1のアドレスを前記アドレス取得手段に取得させる取得制御手段と、
    前記取得制御手段により取得が制御される前記第1のアドレスへの前記第2のアドレスの割り当てを前記ネットワークアドレス変換装置に要求する要求手段と、
    前記要求手段による要求の結果、前記ネットワークアドレス変換装置が前記第1のアドレスに割り当てた第2のアドレスを該ネットワークアドレス変換装置から取得し、前記通信を開始する前記第2のノードに通知する通知手段と、
    を具備することを特徴とするネットワークアドレス変換制御装置。
  5. 第1の通信ネットワーク上の第1のノードに割り当てられた第1のアドレスに、第2の通信ネットワーク上で用いられる第2のアドレスを割り当て、該第1のアドレスと該第1のアドレスに割り当てた第2のアドレスとを相互変換するネットワークアドレス変換装置をコンピュータにより制御する方法であって、
    前記第1の通信ネットワーク上に存在する前記第1のノードのなかで前記第2の通信ネットワーク上の第2のノードと通信を行う第1のノードに割り当てられた第1のアドレスを取得するアドレス取得工程と、
    前記アドレス取得工程により取得した第1のアドレスを所定期間、前記コンピュータがアクセス可能な記憶装置上に保存するアドレス保存工程と、
    前記第2の通信ネットワーク上の第2のノードが前記第1の通信ネットワーク上の第1のノードと通信を開始する場合、該第1のノードの第1のアドレスが前記記憶装置上に保存されていないことを条件に、該第1のアドレスを前記アドレス取得手段に取得させる取得制御工程と、
    前記取得制御工程により取得が制御される前記第1のアドレスへの前記第2のアドレスの割り当てを前記ネットワークアドレス変換装置に要求する要求工程と、
    前記要求工程による要求の結果、前記ネットワークアドレス変換装置が前記第1のアドレスに割り当てた第2のアドレスを該ネットワークアドレス変換装置から取得し、前記通信を開始する前記第2のノードに通知する通知工程と、
    を含むことを特徴とするネットワークアドレス変換装置制御方法。
JP2008221454A 2008-08-29 2008-08-29 ネットワークアドレス変換制御プログラム、ネットワークアドレス変換制御装置、及びネットワークアドレス変換装置制御方法 Expired - Fee Related JP5347383B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008221454A JP5347383B2 (ja) 2008-08-29 2008-08-29 ネットワークアドレス変換制御プログラム、ネットワークアドレス変換制御装置、及びネットワークアドレス変換装置制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008221454A JP5347383B2 (ja) 2008-08-29 2008-08-29 ネットワークアドレス変換制御プログラム、ネットワークアドレス変換制御装置、及びネットワークアドレス変換装置制御方法

Publications (2)

Publication Number Publication Date
JP2010057028A JP2010057028A (ja) 2010-03-11
JP5347383B2 true JP5347383B2 (ja) 2013-11-20

Family

ID=42072445

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008221454A Expired - Fee Related JP5347383B2 (ja) 2008-08-29 2008-08-29 ネットワークアドレス変換制御プログラム、ネットワークアドレス変換制御装置、及びネットワークアドレス変換装置制御方法

Country Status (1)

Country Link
JP (1) JP5347383B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102377833B (zh) 2010-08-19 2015-07-22 华为技术有限公司 一种网络地址转换的管理方法及装置
CN102594933B (zh) * 2011-12-20 2015-04-08 华为技术有限公司 一种公网地址分配的方法、装置及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3574372B2 (ja) * 2000-03-14 2004-10-06 Kddi株式会社 Dnsサーバ、端末および通信システム

Also Published As

Publication number Publication date
JP2010057028A (ja) 2010-03-11

Similar Documents

Publication Publication Date Title
US10148612B2 (en) Method and system for increasing speed of domain name system resolution within a computing device
US8266288B2 (en) Dynamic expiration of domain name service entries
JP5987690B2 (ja) ネームデータベースサーバ、名前解決システム、エントリ検索方法およびエントリ検索プログラム
EP1126682B1 (en) Position identifier management apparatus and method, and position identifier processing method
US7573903B2 (en) IPv6/IPv4 translator
US7558880B2 (en) Dynamic DNS registration method, domain name solution method, DNS proxy server, and address translation device
JP5812008B2 (ja) ネームデータベースサーバ、名前解決システム、エントリ検索方法およびエントリ検索プログラム
JP4176794B2 (ja) 通信に用いるアドレスを選択する装置、方法およびプログラム
US8819282B2 (en) Using unique local unicast addresses in a global domain name server
JP2005295217A (ja) 通信装置、名前解決方法およびプログラム
JP3335582B2 (ja) ダイナミック・ドメイン・ネーム・システムおよびダイナミック・ドメイン・ネーム管理方法
JP5347383B2 (ja) ネットワークアドレス変換制御プログラム、ネットワークアドレス変換制御装置、及びネットワークアドレス変換装置制御方法
JP2010268164A (ja) ネットワーク通信装置及び方法とプログラム
JP6484166B2 (ja) 名前解決装置、名前解決方法及び名前解決プログラム
JP4905376B2 (ja) 複数のネットワークプロトコルに対応した通信システムおよび通信方法
JP2010183242A (ja) 通信装置およびdnsプロキシサーバ
JP2013179496A (ja) キャッシュサーバ及びキャッシュデータ削除方法
JP4288698B2 (ja) IPv6/IPv4トランスレータ用DNSプロキシ
JP5591380B2 (ja) ネットワーク通信装置及び方法とプログラム
EP3657741A1 (en) Data packet routing method and data packet routing device
JP2001268132A (ja) ネットワークシステムの相互接続のためのネットワークアドレス変換方法及び装置
JP2005045355A (ja) サーバ及びその制御方法、プログラム及び記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110513

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120914

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121002

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130326

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130723

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130805

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees