(57)【特許請求の範囲】
【請求項１】
第１のタイプのアドレスを有する通信装置で構成される第１のネットワークに属し、その配下に第２のタイプのアドレスを有する端末で構成される第２のネットワークを有する通信装置において、
他の通信装置の配下のネットワークに属する端末に付けられた名前を、当該他の通信装置と対応して管理する管理手段と、
配下の端末から、通信相手となる端末に付けられた名前を受信した場合、前記管理手段により対応する他の通信装置に対して、前記通信相手となる端末のアドレス解決の要求を出力する手段と、
アドレス解決の要求によって得られたアドレスを、送信元アドレスおよび前記通信相手となる端末への通信に用いる送信元ポート番号と共に前記他の通信装置に通知して、対応関係を登録させる手段と、
を設けたことを特徴とする通信装置。
【請求項２】
その配下の端末のアドレスをその端末に付けられた名前と対応させて管理する管理手段と、
前記他の通信装置からのその配下の端末のアドレス解決の要求に対して、前記管理手段によりアドレスを解決して、前記他の通信装置へ解決したアドレスを通知する手段と、
を設けたことを特徴とする請求項１記載の通信装置。
【請求項３】
アドレス解決の要求に対してアドレスの解決通知を前記他の通信装置から受信した場合、通知を受けたアドレスを前記第２のタイプのアドレスであって、その配下のネットワークの端末のアドレスとして用いられないアドレスに変換したダミーアドレスと対応づけて管理する手段と、
変換後のダミーアドレスを通信を要求した端末へ通知する手段と、
を設けたことを特徴とする請求項２記載の通信装置。
【請求項４】
通信を要求した端末から、通知後のダミーアドレスを持つパケットを受信した場合、ダミーアドレスを前記他の通信装置のアドレスに変換する手段を設けたことを特徴とする請求項３記載の通信装置。
【請求項５】
第１のタイプのアドレスを有する通信装置で構成される第１のネットワークと、通信装置の配下で第２のタイプのアドレスを有する端末で構成される第２のネットワークとからなるネットワークシステムにおいて、
それぞれの前記通信装置には、その配下の端末のアドレスをそれぞれの端末に付けられた名前と対応させて管理する第１の管理手段と、その配下にない端末の名前をその端末のアドレスを管理する他の通信装置と対応させて管理する第２の管理手段と、が設けられており、
前記通信装置は、配下の端末からの通信要求に対して通信相手の端末のアドレスを解決する他の通信装置を前記第２の管理手段により求めてアドレス解決の要求を出力し、前記他の通信装置で前記第１の管理手段によりアドレス解決を行わせ、アドレス解決の要求によって得られたアドレスを、送信元アドレスおよび前記通信相手の端末への通信に用いる送信元ポート番号と共に前記他の通信装置に通知して、対応関係を登録させる、ことを特徴とするネットワークシステム。
【請求項６】
各ノードがユニークなアドレスを有するグローバルアドレス網と、ユニークでないアドレスを有するプライベートアドレス網と、これらの間でデータを伝送する際にアドレスの変換を行うアドレス変換装置とを有するネットワークシステムにおいて、
前記アドレス変換装置は、前記プライベートアドレス網に属する各ノードに対して、ユニークな名前を付与して管理し、前記グローバルアドレス網または他のプライベートアドレス網に属する所定のノードから所定の名前に対する問い合わせがなされた場合には、対応するプライベートアドレスを取得して通知し、通知先のノードから、送信元アドレスおよび前記プライベートアドレスが示すノードへの通信に用いられる送信元ポート番号と共に、前記プライベートアドレスの通知を受け取ると、対応関係を前記アドレス変換装置自身に登録することを特徴とするネットワークシステム。
【請求項７】
それぞれの前記通信装置は、前記配下の端末との間のコネクションと前記他の通信装置との間のコネクションとを独立に確立し、相互にコネクションに関する情報を交換することにより、前記第１のネットワークと前記第２のネットワークとの間で、データの授受を可能とする、ことを特徴とする請求項５記載のネットワークシステム。
【請求項８】
前記通信装置は、前記配下の端末がコネクションを確立する際に、当該コネクションに関する情報を前記他の通信装置に通知することを特徴とする請求項７記載のネットワークシステム。
【請求項９】
前記通信装置は、アドレス解決の要求によって得られた前記通信相手の端末のアドレスとは異なるダミーのアドレスを前記配下の端末に対して通知することを特徴とする請求項８記載のネットワークシステム。
【請求項１０】
前記ダミーのアドレスは、前記通信相手の端末のアドレスとはネットワーククラスが異なるアドレスであることを特徴とする請求項９記載のネットワークシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は通信装置およびネットワークシステムに関し、特に、各ノードがユニークなアドレスを有するグローバルアドレス網と、ユニークでないアドレスを有するプライベートアドレス網と、これらの間でデータを伝送する際にアドレスの変換を行なうアドレス変換装置とを有する通信装置およびネットワークシステムに関する。
【０００２】
【従来の技術】
インターネット通信に使用されるＩＰアドレスは国際的に管理されており、インターネット通信を行なう場合にはＩＰアドレスを一元的に管理している国際的機関またはそれより委嘱を受けた管理機関（日本の場合、日本ネットワーク・インフォーメーション・センタＪＰＮＩＣまたはその代行者として承認されているプロバイダ）からインターネットにおいてユニークとなるＩＰアドレス（公式ＩＰアドレスとも呼ばれるが、以下、グローバルＩＰアドレスと記す）やドメイン名の配付を受けることになっている。従って、グローバルＩＰアドレスを取得しなければインターネット通信を行なうことはできず、また、通信を行ってはいけないことになっている。
【０００３】
これに対して、インターネット通信を行なわないＬＡＮ（ローカルエリアネットワーク）などのネットワークでは任意のＩＰアドレス（以下、グローバルＩＰアドレス以外のＩＰアドレスを非公式ＩＰアドレスと記す）を使用することができる。しかし、インターネット技術の標準化組織であるＩＥＴＦ（International Engineering Task Force）が公開しているＲＦＣ（Request For Comments）においては、非公式ＩＰアドレスを使用している端末が間違ってインターネット接続を行った場合に問題が生じないよう、インターネット接続を行なわないＬＡＮなどではグローバルＩＰアドレスでないことが識別できる特定の番号をもつＩＰアドレス（非公式アドレスの一種であるが、以下、プライベートＩＰアドレスと記す）を使用することが推奨されている（詳細は後述）。
【０００４】
一方、近年におけるインターネット通信の急速な増加に伴い、グローバルＩＰアドレスの枯渇が懸念される状況になっているため、大量のＩＰアドレスを必要とする企業や自治体などのネットワークに対してグローバルＩＰアドレスが充分に分配できない事態が生じている。このようなグローバルＩＰアドレスの不足に対処するため、企業などにおいてはＬＡＮの内部ではプライベートＩＰアドレス（または、非公式ＩＰアドレス）を使用し、外部のネットワークとインターネット通信を行なう場合にグローバルＩＰアドレスを用いる方法が一般的になりつつある。
【０００５】
ところが、ＬＡＮ（プライベートネットワーク）の急速な増加とインターネット通信の普及に伴って、ＬＡＮ内での接続のみを想定してプライベートＩＰアドレスを用いて構築されたＬＡＮを、同じようにプライベートＩＰアドレスを用いて構築された他のネットワークと接続したい、というケースが増えつつある。この場合、次のような問題がある。前述のプライベートＩＰアドレスはアドレスの一部であるネットワーク番号部分が特定の数字に固定されており、プライベートＩＰアドレスとして使用できる番号の範囲が比較的狭いため、異なるネットワークで同一のプライベートＩＰアドレスが使用されている可能性が大きい。同一のプライベートＩＰアドレスが使用されている可能性があるネットワーク同士をグローバルなインターネットを介さずに直接接続する場合、個々の端末に付与されているプライベートＩＰアドレスや、アドレスに関与するサーバなどの設定内容を変更しないことが望ましい。このような状況から、プライベートＩＰアドレスを独自に使用している別個のネットワーク相互を、既に稼働されている各ネットワークの環境を変更することなしに接続できるようにするＩＰアドレス変換装置の実現が望まれている。
（１）ＩＰアドレスの構成
周知のように、ＴＣＰ／ＩＰプロトコルを使用するインターネット通信におけるＩＰアドレスはネットワークを識別するためのアドレス部分（以下、ネットワーク番号と記す）と、そのネットワーク内の個々のホスト（端末）を識別するためのアドレス部分（以下、ホスト番号と記す）からなる３２ビットで構成されている。しかし、企業のネットワークには、内部のホスト数が多い大規模なネットワークがある一方で、個々のネットワーク（ローカル網）のホスト数は少ないが多数のネットワーク（ローカル網）を広範囲の地域に持つものも多いため、ネットワーク番号の桁数はネットワークの規模・構成によって変えている。「クラス」はネットワーク番号に何桁を使用するネットワークであるか示すものである。
【０００６】
図２１は各クラスのＩＰアドレスの構成を図示したものであるが、図示のように、クラスＡは先頭のビットが“０”で、続く７ビットがネットワーク番号（他の図面を含め、図ではネットワーク番号をＮＷ番号とも記す）で、残り２４ビットがホスト番号となっている。図２１の括弧内はネットワーク番号とホスト番号に使用されるビット数である。また、クラスＢは先頭の２ビットが２進数で“１０”、続く２１ビットがネットワーク番号、クラスＣは先頭の３ビットが２進数で“１１１”、続く２１ビットがネットワーク番号になっている。このほかにクラスＤなどもあるが図示は省略する。
【０００７】
図２１に示すように、クラスＡでは２４ビットをホスト番号に使用できるが、実際にはネットワーク内の端末に随意にホスト番号を割り付けることは少なく、ネットワーク内を更に階層化するのが普通である。階層化されたネットワークをサブネットワーク（以下、「サブネット」と記す）と呼び、各サブネットに付与したＩＰアドレスの部分をサブネット番号と呼んでいる。サブネット番号はホスト番号の一部を使用するもので、ホスト番号との関係を図２１に示す。サブネットの数及び個々のサブネットに付与するサブネット番号のビット数は随意であるが、サブネット番号は図２１に記載したように８ビットを単位として割り付けるのが最も一般的である。
【０００８】
３２ビットのＩＰアドレスは慣習的に８ビットずつ区切って４つの１０進数で表示するようになっている（以下、４つの１０進数の各々、即ち、８ビット単位の数を「桁」と記す）が、クラスを示すビットの数値は最初の８ビット中のネットワーク番号と合わせて１０進数で表示する。この表示方法によれば、各クラスのＩＰアドレスに使用される数字の範囲は図２２に記すような値になり、クラスＡでは最初のビットが“０”であるため、最初の桁は１０進数で「０〜１２７」(実際に使用できるのは「０〜１２６」)の範囲となる（以下、各桁の数値は特に断らない限り１０進数で記す）。
【０００９】
クラスＢは最初の２ビットが２進数で“１０”であるので、最初の桁の数値範囲は「１２８〜１９１」となる。クラスＣも同様であるが、説明を省略したクラスＤ（最初の４ビットが２進数で“１１１０”）やクラスＥ（最初の５ビットが２進数で“１１１１０”）があるため、最初の桁に使用できる数値の範囲は「１９２〜２５５」でなく「１９２〜２２３」になる。また、最初の桁以外の３つの桁のネットワーク番号またはホスト番号（サブネット番号）に使用できる数値の範囲は「０〜２５５」になる。そして、各クラスのＩＰアドレスは図２２の右側に記載したように１０進数で、「１０．Ｈ．Ｈ．Ｈ」（クラスＡの例）のように表現される（Ｈはホスト番号で、実際には０〜２５５の数字で表される）。従って、最初の桁の数値によってＩＰアドレスのクラスを識別することができる。
【００１０】
以上のＩＰアドレスの構成はグローバルＩＰアドレスでもプライベートＩＰアドレスでも同一であるが、前記ＩＥＴＦが公開しているＲＦＣ１５９７ではグローバルＩＰアドレスでないことが識別できるプライベートＩＰアドレスの使用を推奨している。図２３はＲＦＣ１５９７に規定されているプライベートＩＰアドレスの数値を示したものであるが、図示のように、プライベートＩＰアドレスについては斜線を施した部分について使用できる数値範囲が定められている。例えば、クラスＡのプライベートＩＰアドレスは最初の８桁が“１０”（１０進数）に限定され、クラスＢとクラスＣでは最初の桁と次の桁について使用する数字が限定されている。クラスＣの場合には最初の２桁がそれぞれ一つの数値に限定されているため任意に使用できるネットワーク番号とホスト番号の数はそれぞれ２５６しかない。
【００１１】
異なるネットワークで全く同一のアドレスが使用される確率はネットワーク内のホスト数などが大きく影響するのでどのクラスが高いとは言えないが、どのクラスも３２ビット中に自由に使用できない数値が存在する分、選択範囲が狭くなるので、プライベートＩＰアドレスにおいては異なるネットワークで同一アドレスが使用される確率は高くなる。従って、独自にプライベートＩＰアドレスを割り付けた２つのネットワークで通信を行なう場合には、両ネットワークに同一アドレスが存在することを前提とする必要がある。
（２）プライベートＩＰアドレス使用端末のインターネット接続方法
次に、プライベートＩＰアドレスを使用している２つのネットワークにそれぞれ属する端末間を接続する従来技術について説明する。従来技術ではプライベートＩＰアドレスを使用しているネットワークが他のネットワークと通信を行なう場合にグローバルなインターネットを介して接続する方法がとられている。この方法は、特開平９−２３３１１２号公報などにも記載されているが、以下、同公報に記載されている一方の端末がグローバルＩＰアドレスをもつ端末（サーバを含む）である場合を例に、従来技術の接続方法を説明する。
【００１２】
図２４は前記公報中の図１に記載されているインターネットワーク環境のブロック図に同公報の説明内容を要約して付加したものである。同公報中の「公式ＩＰアドレス」は本明細書中に記載されている「グローバルＩＰアドレス」と同一のものであるが、図２４の説明の中では同公報の記載に合わせて公式ＩＰアドレスと記す。また、同公報記載の「非公式ＩＰアドレス」は本明細書中の「非公式ＩＰアドレス」（プライベートＩＰアドレスよりも範囲が広い）と同一のものであるのでそのまま使用する。
【００１３】
いま、図２４のプライベートネットワーク２０２内の端末２２５（個々の端末を指す場合は端末Ａなどと記す）には何れも非公式ＩＰアドレスのみが付与されているが、その中の端末Ａがプライベートネットワーク２０２外のサーバ２０５（以下、サーバＳと記す）に対して接続を行なうものとする。
【００１４】
送信元の端末Ａは送信相手のドメイン名は知っているので、サーバＳのドメイン名（「ftp.out.co.jp」とする）からそのＩＰアドレスを問い合わせる。端末Ａが接続されているルータ２２４（以下、ルータＫと記す）はインターネットワーク２０１側に設けられたルータ２０３（以下、ルータＮと記す）を介し、周知の方法でこのドメイン名をもつ端末（サーバなどを含む）のＩＰアドレスをインターネットワーク２０１側に問い合わせる。その結果、前記ドメイン名をもつサーバＳの公式ＩＰアドレス（「１５０．９６．１０．１」とし、「ＩＰ−Ｄ」と略記する）がインターネットワーク２０１側から回答される。
【００１５】
ここでアドレス変換装置２０４がないものとし、ルータＮがルータＫを介し端末Ａにこの公式ＩＰアドレス「１５０．９６．１０．１」を通知したとすると、端末Ａは以後、送信するパケットのヘッダ内の送信先アドレスにこのＩＰアドレスを設定して送信することになる。ところが、図の例ではプライベートネットワーク２０２内の端末ＢがＩＰ−Ｄと全く同一番号の非公式ＩＰアドレスをもっているので、端末Ａが「１５０．９６．１０．１」を送信先アドレスに設定した場合にはパケットが端末Ｂに送信される可能性がある。
【００１６】
このような事態を生じさせないために、図２４ではプライベートネットワーク２０２とルータＮの間に設けられたアドレス変換装置２０４においてアドレスの変換を行なう。アドレス変換装置２０４は、端末ＡからサーバＳのドメイン名を送信先アドレスとするＩＰパケットを受信すると、サーバＳのＩＰアドレスをインターネットワーク２０１側に問い合わせるとともに、サーバＳの非公式アドレスとしてプライベートネットワーク２０２内のみ有効であり、かつ、プライベートネットワーク２０２内で現在使用されていない非公式ＩＰアドレス（「１５９．９９．３０．１」とし、「ＩＰ−Ｃ」と略記する）を選定して端末Ａに通知する。以後、端末Ａは送信先のＩＰアドレスに非公式ＩＰアドレスの「ＩＰ−Ｃ」を設定してパケットを送信する。
【００１７】
次いで、先の問合せに対してインターネットワーク２０１側からサーバＳの公式ＩＰアドレス「１５０．９６．１０．１」が回答されると、アドレス変換装置２０４は公式ＩＰアドレス「ＩＰ−Ｄ」と非公式ＩＰアドレス「ＩＰ−Ｃ」を対応させて記憶しておき、端末Ａから送信されるパケットの送信先アドレスの「ＩＰ−Ｃ」を「ＩＰ−Ｄ」に変換してインターネットワーク２０１側に送出する。
【００１８】
一方、端末Ａには非公式ＩＰアドレス（「１５４．１００．１０．１」とし、「ＩＰ−Ａ」と略記する）が付与されているので、パケットの送信元のアドレスにはこの「ＩＰ−Ａ」を設定する。インターネットワーク２０１には非公式ＩＰアドレスは通用しないため、アドレス変換装置２０４は周知の方法で端末Ａに対して公式ＩＰアドレス（「１５０．４７．１．１」とし、「ＩＰ−Ｅ」と略記する）を取得し、「ＩＰ−Ａ」と「ＩＰ−Ｅ」の対応を記憶しておく。以後、端末Ａから送信されるパケットの送信元ＩＰアドレスに設定されている「ＩＰ−Ａ」は「ＩＰ−Ｅ」に変換して送信する。
【００１９】
サーバＳ側から端末Ａにパケットを送信する場合には送信先ＩＰアドレスとして端末Ａの公式ＩＰアドレス「ＩＰ−Ｅ」を設定するが、アドレス変換装置２０４はサーバＳから受信したパケットの送信先アドレス「ＩＰ−Ｅ」を「ＩＰ−Ａ」に変換してプライベートネットワーク２０２に送信する。従って、プライベートネットワーク２０２内に送信先の公式ＩＰアドレス「ＩＰ−Ｅ」と同一番号の非公式ＩＰアドレスをもつ端末２２５が存在してもその端末に対してパケットが送信されることはない。
（３）ＩＰアドレス変換方法
以上、プライベートＩＰアドレスを使用するネットワーク（プライベートネットワーク）内の端末がインターネット接続を行なう際における従来のアドレス変換技術を接続手順を主体に説明したが、次に、従来技術におけるアドレスの変換方法について説明する。
【００２０】
上記の例ではアドレス変換装置を設けてアドレス変換を行っているが、従来技術では、ＮＡＴやＩＰマスカレード（または、マルチＮＡＴ）と呼ばれる技術をルータ或いはファイアウォールサーバに内蔵させることによりアドレスの変換を行なう方法が一般的に知られている。
【００２１】
ＮＡＴ：最初にＮＡＴ（Network Address Translation ）について説明する。ＮＡＴはＲＦＣ１６３１で規定されているアドレス変換方式で、プライベートＩＰアドレスとグローバルＩＰアドレスを変換する機能である。低価格のルータにはこのＮＡＴ機能の搭載を一つの特徴としているものも多い。図２５はＮＡＴ機能を説明する図で、ネットワークの構成とＩＰアドレスの使用形態のモデルを示している。図２５ではプライベートなネットワーク（以下、ＬＡＮと記す）３２０に接続されている複数の端末３２１（特定の端末を指す場合には端末Ａなどと記す）に各々には図中に記載したようなプライベートＩＰアドレスが付与されているものとする。
【００２２】
このような構成において、ＬＡＮ３２０に接続されているプライベートＩＰアドレス「１０．１．１．１０」をもつ端末Ａからインターネット通信（具体的にはグローバル・ネットワーク３８０を介して図示省略された他のネットワーク内の端末に接続）を行なう場合には、端末Ａはルータ３１０を介してインターネット側で使用するグローバルＩＰアドレスとして、例えば、「２０．１．１．１０」を取得する。
【００２３】
ルータ３１０はＮＡＴ機能を内蔵しているが、端末Ａはルータ３１０内のＮＡＴ機能により、インターネット側に対してはプライベートＩＰアドレスの「１０．１．１．１０」がグローバルＩＰアドレスの「２０．１．１．１０」に変換され、インターネット側から送られてくる送信先アドレスのグローバルＩＰアドレス「２０．１．１．１０」をもつパケットはＮＡＴ機能により送信先がプライベートＩＰアドレスの「１０．１．１．１０」に変換されて端末Ａに送られる。従って、この例ではグローバルＩＰアドレスの「２０．１．１．１０」とプライベートＩＰアドレスの「１０．１．１．１０」が対応して使用されている形になる。図２４により説明したＩＰアドレスの変換方法はＮＡＴを利用した方法であるとみることもできる。
【００２４】
このように接続時にグローバルＩＰアドレスを付与してインターネット接続を行なわせる方法は端末型ダイヤルアップＩＰ接続サービスなどと呼ばれているが、この方法では接続を行なう端末のみがグローバルＩＰアドレスを使用するので、一つのグローバルＩＰアドレスをＬＡＮ内の複数の端末３２１で共通に使用することができる。しかし、一つのＬＡＮ３２０が同時に使用できるグローバルＩＰアドレスの数は予めＪＰＮＩＣまたはその代行者（プロバイダなど）との契約によって定まっているため、その数以上の端末が同時にインターネット接続を行なうことはできない。また、グローバルＩＰアドレスは複数の端末２２１が共用するため、インターネット側から送信先アドレスにグローバルＩＰアドレス（例えば、「２０．１．１．１０」）を設定してＬＡＮ３２０内の特定の端末を指定することはできない。
【００２５】
ＩＰマスカレード（マルチＮＡＴ）：次に、ＩＰマスカレード（マルチＮＡＴとも呼ばれる）について説明する。ＩＰマスカレードもＮＡＴに似ているが、ＮＡＴがプライベートＩＰアドレスとグローバルＩＰアドレスの変換、即ち、ＩＰアドレス部分のみを変換するのに対して、ＩＰマスカレードはポート番号も利用してアドレス変換を行なう。周知のように、ＩＰアドレスはＯＳＩ参照モデルにおける第３層に位置し、送信先アドレス及び送信元アドレスはＲＦＣ７９１で規定されるＩＰヘッダ内に設定される。これに対して、ポートはＯＳＩ参照モデルの最上位に当たる第５層のアプリケーション対応に付与され、ポート番号はＩＰ層（第３層）の上位に当たる第４層に位置するＴＣＰプロトコルにより設定される。従って、ポート番号はＩＰヘッダ内には設定されない。ポート番号の割り当てはローカルにそれぞれのホスト（端末）で行われるが、予め知っていないと最初の処理ができないというようなアプリケーションサービスに使用されるポート番号については特定のポート番号が固定的に定められている。
【００２６】
図２６および図２７はＩＰマスカレードを説明する図で、図２６はネットワークの構成とＩＰアドレスの使用形態のモデルを示し、図２７はプライベートＩＰアドレスとグローバルＩＰアドレスの対応の一例を示している。図２６の例ではプライベートなネットワーク（ＬＡＮと記す）４２０に接続されている複数の端末４２１（特定の端末を指す場合には端末Ａなどと記す）の各々に図中に記載したようなプライベートＩＰアドレスが付与されている。また、同図には各端末４２１で使用されるアプリケーションの一部に使用されているポート番号が記載されている。ポート番号はアプリケーション対応に付与されるので一つの端末に複数設定されるのが普通であるが、図にはアプリケーションの一種であるＴｅｌｎｅｔに固定的に割り当てられているポート番号“２３”が全端末４２１に使用され、端末ＥにはＦＴＰ（File Transfer Protocol）に固定的に割り当てられているポート番号“２１”が併用されている例が図示されている。
【００２７】
ＩＰマスカレードでも一つ（または定められた数）のグローバルＩＰアドレスを複数の端末４２１が共用するが、グローバルＩＰアドレス側には端末が識別できるポート番号を設定する。例えば、端末Ａ〜端末Ｅにはインターネット接続を行なう際に何れもグローバルＩＰアドレスとして「２０．１．１．１０」が割り当てられるほか、各端末４２１のプライベートＩＰアドレスとポート番号（アプリケーションの種類に対応）の組み合わせごとに個別のポート番号が割り当てられる。図２７にポート番号を含むプライベートＩＰアドレスとグローバルＩＰアドレスの対応の例を記す。この例では、アプリケーションとしてＴｅｌｎｅｔが使用される場合、インターネット側のポート番号として、端末Ａに“１００”、端末Ｂに“１０１”、以下同様にして端末Ｅに“１０４”が割り当てられている。端末ＥのようにアプリケーションとしてＦＴＰも使用される場合は例えばＴｅｌｎｅｔ（端末側のポート番号“２３”）に対してポート番号“１０４”、ＦＴＰ（端末側のポート番号“２１”）に対してポート番号“１０５”が割り当てられる。
【００２８】
【発明が解決しようとする課題】
以上のように、従来技術であるＮＡＴやＩＰマスカレードでは、プライベートアドレスを有する端末からグローバルアドレスを有する端末へのアクセスという一方向通信のみが実現されている。グローバルアドレスを有する端末からプライベートアドレスを有する端末へのアクセスや、プライベートアドレスを有する二つの網間での通信は行なえなかった。これらの実現には、グローバルアドレスを新たに取得し、プライベートアドレスを有する端末へ割り当てる必要があり、手続きや費用を要するという問題点があった。
【００２９】
また、ＮＡＴやＩＰマスカレードは下記の技術的制約により一方向通信サービスしか提供できないという問題点があった。
１．プライベートアドレス網同士はそれぞれ重複するアドレス空間を用いているため、プライベートアドレス網内の端末を一意化する手法がない。
２．現在のＤＮＳによる名前解決手法は、グローバルアドレス網からプライベートアドレス網内の端末のＩＰアドレスを取得する手段がない。
３．グローバルアドレス網のルータがプライベートアドレスの経路情報を扱う手法がない。即ち、プライベートアドレス網からグローバルアドレス網へのＩＰの経路がないためＴＣＰコネクションを張ることができない。
【００３０】
本発明は以上の点に鑑みてなされたものであり、プライベートアドレスを有する端末への通信を実現する。
【００３１】
【課題を解決するための手段】
本発明では上記課題を解決するために、第１のタイプのアドレスを有する通信装置で構成される第１のネットワークに属し、その配下に第２のタイプのアドレスを有する端末で構成される第２のネットワークを有する通信装置において、他の通信装置の配下のネットワークに属する端末に付けられた名前を、当該他の通信装置と対応して管理する手段と、配下の端末から、通信相手となる端末に付けられた名前を受信した場合、前記管理手段により対応する他の通信装置に対して、前記通信相手となる端末のアドレス解決の要求を出力する手段と、アドレス解決の要求によって得られたアドレスを、送信元アドレスおよび前記通信相手となる端末への通信に用いる送信元ポート番号と共に前記他の通信装置に通知して、対応関係を登録させる手段と、を設けたことを特徴とする通信装置が提供される。
【００３２】
ここで、第２のタイプのアドレスであるプライベートアドレスを有する端末（ノード）に対してもユニークな名前である、例えば、ＦＱＤＮ（fully-qualified domain name：ホスト名，ドット，ドメイン名の三つで構成するホストの名前。www.fts.comなど）を割り当て、その端末を有する他の通信装置に付けられた第１のタイプのアドレスであるグローバルアドレスと対応づけて管理し、配下の端末から通信相手となる端末に付けられたユニークな名前を受信した場合には、対応する他の通信装置を特定し、特定された他の通信装置に対してアドレスの解決要求を行い、その後、得られたプライベートアドレスを送信元アドレスおよび送信元ポート番号と共に他の通信装置に通知して、対応関係を登録させることにより、プライベートアドレス網、グローバルアドレス網を問わず、ユニークな識別子を端末に付与することができる。
【００３３】
また、本発明では上記課題を解決するために、第１のタイプのアドレスを有する通信装置で構成される第１のネットワークと、通信装置の配下で第２のタイプのアドレスを有する端末で構成される第２のネットワークとからなるネットワークシステムにおいて、それぞれの前記通信装置には、その配下の端末のアドレスをそれぞれの端末に付けられた名前と対応させて管理する第１の管理手段と、その配下にない端末の名前をその端末のアドレスを管理する他の通信装置と対応させて管理する第２の管理手段と、が設けられており、前記通信装置は、配下の端末からの通信要求に対して通信相手の端末のアドレスを解決する他の通信装置を前記第２の管理手段により求めてアドレス解決の要求を出力し、前記他の通信装置で前記第１の管理手段によりアドレス解決を行わせ、アドレス解決の要求によって得られたアドレスを、送信元アドレスおよび前記通信相手の端末への通信に用いる送信元ポート番号と共に前記他の通信装置に通知して、対応関係を登録させる、ことを特徴とするネットワークシステムが提供される。
【００３４】
ここで、通信装置の第１の管理手段は、配下の端末に付けられた第２のアドレスであるプライベートアドレスとユニークな名前である、例えば、ＦＱＤＮとを対応づけて管理し、第２の管理手段は、端末の名前（ＦＱＤＮ）と、その端末を管理する通信装置の第１のアドレスであるグローバルアドレスとを対応づけて管理し、配下の端末から通信要求がなされた場合には、第２の管理手段によってアドレス解決を行う他の通信装置を特定し、他の通信装置の第１の管理手段によってアドレス解決を行わせ、得られたプライベートアドレスを送信元アドレスおよび送信元ポート番号と共に他の通信装置に通知して、対応関係を登録させるようにしたので、グローバルアドレス網経由でプライベートアドレスの名前解決を実現することができる。
【００３５】
更に、本発明では上記課題を解決するために、各ノードがユニークなアドレスを有するグローバルアドレス網と、ユニークでないアドレスを有するプライベートアドレス網と、これらの間でデータを伝送する際にアドレスの変換を行うアドレス変換装置とを有するネットワークシステムにおいて、前記アドレス変換装置は、前記プライベートアドレス網に属する各ノードに対して、ユニークな名前を付与して管理し、前記グローバルアドレス網または他のプライベートアドレス網に属する所定のノードから所定の名前に対する問い合わせがなされた場合には、対応するプライベートアドレスを取得して通知し、通知先のノードから、送信元アドレスおよび前記プライベートアドレスが示すノードへの通信に用いられる送信元ポート番号と共に、前記プライベートアドレスの通知を受け取ると、対応関係を前記アドレス変換装置自身に登録する、ことを特徴とするネットワークシステムが提供される。
【００３６】
ここで、プライベートアドレス網に属するノードに対してもユニークな名前である、例えば、ＦＱＤＮを割り当てることにより、プライベートアドレス網、グローバルアドレス網を問わず、ユニークな識別子を端末が有することができる。また、グローバルアドレス網内のＤＮＳサーバのツリーには属さないプライベートアドレス網用のＤＮＳサーバはプライベートアドレス網毎に用意し、これをグローバルアドレス網からアクセスできるようにすることによりグローバルアドレス網経由でプライベートアドレスの名前解決を実現することができる。
【００３９】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。なお、通信装置は、ノードをいい、例えば、ルータである。第１のタイプのアドレスとは、例えば、グローバルアドレスであり、第２のアドレスとは、例えば、プライベートアドレスである。
【００４０】
図１は、本発明の実施の形態の構成例を示す図である。この図に示すように、本発明の実施の形態は、端末Ａ〜Ｄ、ルータＡ，Ｂ、ＤＮＳサーバによって構成されている。
【００４１】
ここで、端末Ａ，Ｂは、ルータＡを介して相互に接続されており、プライベートアドレス網を構成している。なお、端末Ａには、プライベートアドレスとして１９２．１６８．０．１が付与されている、一方、端末Ｂには、プライベートアドレスとして１９２．１６８．０．２が付与されている。
【００４２】
ルータＡは、端末Ａ，Ｂ間でパケットを転送するとともに、グローバルアドレス網を介してパケットを転送する場合には、アドレス変換を実行する。なお、ルータＡには、グローバルアドレスである、３４．５６．１０．４が付与されている。
【００４３】
ＤＮＳサーバは、そのサーバの管理下にある、各ノードのＩＰアドレスと、名前（ホスト名）の対応を記録したデータベースを保持しており、各ノードからの問い合わせに応じてデータベースを検索して、その結果を返す。また、自分の管理下にないドメインのホストの検索の場合は、さらに上位のＤＮＳサーバ（図示せず）に対して代理で問い合わせを行ない、その結果を返す。
【００４４】
ルータＢは、端末Ｃ，Ｄ間でパケットを転送するとともに、グローバルアドレス網を介してパケットを転送する場合には、アドレス変換を実行する。なお、ルータＢには、グローバルアドレスである１５．２３．１．２およびホスト名であるｓｗａｎ．ｍｂｂ．ｎｉｆ．ｃｏｍが付与されている。
【００４５】
端末Ｃ，Ｄは、ルータＢを介して相互に接続されており、プライベートアドレス網を構成している。なお、端末Ｃには、プライベートアドレスとして１９２．１６８．０．２およびホスト名としてＰＣ−Ｂ．ｈｏｍｅ−ａ．ｃｏｍが付与されている。なお、ホスト名としてはＦＱＤＮを採用する。
【００４６】
図２は、ルータＡおよびルータＢの詳細な構成例を示す図である。この図に示すように、ルータＡ，Ｂは、ＩＰ部１０、ＴＣＰ部１１、名前解決部１２、プライベート網宛名前解決判定部１３、通信先プライベート網用名前解決サーバ登録部１４、ダミーＩＰアドレスプール部１５、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６、パケット転送部１７、パケット転送用ＴＣＰコネクション管理部１８、および、通信先端末アドレス／ポートネゴシエーション部１９によって構成され、その外部には通信手段２０およびコンソール２１が接続されている。
【００４７】
ここで、ＩＰ部１０は、２つのノード間でＴＣＰのパケットを送受信する役目を担っている。即ち、ＩＰアドレスによって識別される２つのノード間においてＴＣＰパケットを配送する。なお、ＩＰ部１０は、受信を許可されているＩＰアドレスの一覧を保持する受信許可ＩＰアドレス保持部１０ａを有している。
【００４８】
ＴＣＰ部１１は、２つのアプリケーション間で、通信を行なうためのプロトコルであるコネクションを確立する。即ち、まず最初に、アプリケーション間でコネクションを確立し、そのコネクションを使用して双方向の通信を実現する。なお、ＴＣＰ部１１は、受信ポートを変更するための受信ポート変更部１１ａを有している。
【００４９】
名前解決部１２は、ＤＮＳによる名前解決要求がなされた場合には、名前解決処理を実行する。
プライベート網宛名前解決判定部１３は、通信先プライベート網用名前解決サーバ登録部１４へ問合せ先アドレスのエントリの有無をチェックするとともに、名前解決処理を実行する。
【００５０】
通信先プライベート網用名前解決サーバ登録部１４は、プライベート網用の名前解決サーバに関する情報を格納している。
ダミーＩＰアドレスプール部１５は、プライベート網に属するノードと通信する際に使用するダミーＩＰアドレスを一定数保持している。
【００５１】
通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６は、受信端末と送信端末の間でデータを授受する際に必要な各ノードのＩＰアドレスおよびダミーＩＰアドレスをエントリとして登録する。
【００５２】
パケット転送部１７は、パケットを転送する際に必要な処理を実行する。
パケット転送用ＴＣＰコネクション管理部１８は、パケット転送部１７の指示に従ってコネクションを確立する。
【００５３】
通信先端末アドレス／ポートネゴシエーション部１９は、ＮｏｔｉｆｉｃａｔｉｏｎメッセージおよびＡＣＫメッセージを生成して送信する。
通信手段２０は、伝送路を含む物理層であり、ＩＰ部１０から供給されたパケットを対応する電気信号に変換して送信するとともに、他のノードから送信されてきたパケットを対応する電気信号に変換してＩＰ部１０に供給する。
【００５４】
コンソール２１は、通信先プライベート網用名前解決サーバ登録部１４に対して情報を登録する際のインタフェースである。
次に、以上の実施の形態の動作について説明する。
【００５５】
先ず、図３を参照して、プライベート網に属する端末Ａが同じくプライベート網に属する端末Ｃに対してアクセスする際の名前解決処理について説明する。
最初に、ルータＡの通信先プライベート網用名前解決サーバ登録部１４に対して、図３に示すようなデータをコンソール２１を介して登録する。即ち、通信先プライベート網用名前解決サーバ登録部１４には、図３に示すような情報「＊．ｈｏｍｅ−ａ．ｃｏｍ／／ｓｗａｎ.ｍｂｂ．ｎｉｆ．ｃｏｍ」が登録される。この情報は、図４に示すように、解決要求された名前と、解決問い合わせ先の名前解決サーバの組み合わせからなる情報であり、いまの例では、＊．ｈｏｍｅ−ａ．ｃｏｍが解決要求された名前であり、また、ｓｗａｎ.ｍｂｂ．ｎｉｆ．ｃｏｍが解決問い合わせ先の名前解決サーバの名前である。なお、「＊」はワイルドカードを示し、任意の文字または文字列を意味する。
【００５６】
次に、端末Ａが端末Ｃのホスト名であるＰＣ−Ｂ．ｈｏｍｅ−ａ．ｃｏｍに対する問い合わせを行なうために、ルータＡに対してＤＮＳ  ｑｕｅｒｙを送信すると（図３参照）、ルータＡは通信手段２０、ＩＰ部１０、および、ＴＣＰ部１１を介してこのデータを受信し、名前解決用送受信ポートを介して名前解決部１２に供給する。
【００５７】
名前解決部１２は、このような要求をプライベート網宛名前解決判定部１３へ転送する。プライベート網宛名前解決判定部１３は、通信先プライベート網用名前解決サーバ登録部１４のエントリを検索し、この要求に対応するエントリの有無を確認し、エントリが存在する場合にはそのエントリに関する情報を名前解決部１２に対して通知する。また、エントリが存在しない場合には、通常の名前解決を実行するように名前解決部１２に指示する。
【００５８】
名前解決部１２は、通常の名前解決を実行するように指示された場合には、通常の名前解決処理を実行する。それ以外の場合には、エントリに関する情報を参照し、解決問い合わせ先の名前解決サーバを特定する。いまの例では、解決問い合わせ先の名前解決サーバのホスト名は「ｓｗａｎ．ｍｂｂ．ｎｉｆ．ｃｏｍ」であり、これは、ルータＢに対応しているので、名前解決部１２は、図３に示すように、先ず、ホスト名「ｓｗａｎ．ｍｂｂ．ｎｉｆ．ｃｏｍ」に対応するアドレスを取得するために、ＤＮＳ  ｑｕｅｒｙ  ｆｏｒ“ｓｗａｎ．ｍｂｂ．ｎｉｆ．ｃｏｍ”をＤＮＳサーバに対して送信する。その結果、ＤＮＳサーバからは、ＤＮＳ  ａｎｓｗｅｒ：１５．２３．１．２が返送されてくるので、ルータＡは、ルータＢのアドレスを知ることになる。
【００５９】
アドレスを受け取ったプライベート網宛名前解決判定部１３は、アドレス「１５．２３．１．２」を有するノードであるルータＢに対して受信端末である端末ＣのＩＰアドレスを問い合わせるために、ＤＮＳ  ｑｕｅｒｙ  ｆｏｒ“ＰＣ−Ｂ．ｈｏｍｅ−ａ．ｃｏｍ”を送信する。
【００６０】
ところで、ルータＢには、その配下に存在する端末Ｃ，Ｄに対してユニークな名前を付与して管理しているので、このような問い合わせがあった場合には、その名前に対応するＩＰアドレスを検索して返送する。いまの例では、端末Ｃに対するＩＰアドレス「１９２．１６８．０．２」が取得され、ＤＮＳ  ａｎｓｗｅｒ：１９２．１６８．０．２が返送されることになる。
【００６１】
このようにして取得された端末ＣのＩＰアドレスは、プライベート網宛名前解決判定部１３に供給される。プライベート網宛名前解決判定部１３は、ダミーＩＰアドレスをダミーＩＰアドレスプール部１５から１つ取得するとともに、取得したＩＰアドレスが他の通信に重複して使用されることを防止するためにダミーＩＰアドレスプール部１５からそのダミーＩＰアドレスを削除する。例えば、いまの例では、ダミーアドレス「１０．０．０．１」が取得されるとともに、ダミーＩＰアドレスプール部１５から削除されることになる。
【００６２】
続いて、プライベート網宛名前解決判定部１３は、取得したダミーＩＰアドレス「１０．０．０．１」を名前解決要求の回答として、端末Ａに対して送信する。ここで、端末Ｃのプライベートアドレスである「１９２．１６８．０．２」を回答として送付せずに、ダミーＩＰアドレスである「１０．０．０．１」を送信するのは、プライベートアドレスは異なるプライベート網間では重複する場合があるからである。そこで、本実施の形態では、そのような重複の発生を避けるために、ルータＡ配下のプライベートアドレス、即ち、クラスＣのプライベートアドレスとは異なるクラスＡのプライベートアドレスをダミーＩＰアドレスとして使用することとしている。
【００６３】
インターネットでは通常使用されていないクラスＡのＩＰアドレスをダミーＩＰアドレスとして使用することとしている。
続いて、プライベート網宛名前解決判定部１３は、受信許可ＩＰアドレス保持部１０ａに対してＩＰアドレス「１０．０．０．１」を受信してよいアドレスとして登録する。その結果、ＩＰアドレス「１０．０．０．１」を送信先アドレスとして含むパケットは受信の対象として許可されることになる。
【００６４】
次に、プライベート網宛名前解決判定部１３は、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６に対して、受信端末である端末Ｃ、ルータＡ、ルータＢ、送信端末である端末ＡのＩＰアドレスをエントリとして登録する。具体的には、図３に示すように、「１９２．１６８．０．２／／３４．５６．１０．４：？？；１５．２３．１．２：？？／／１９２．１６８．０．１：？？；１０．０．０．１：？？／／×」がエントリとして登録されることになる。なお、ＩＰアドレスに続く「？？」の部分には、後述する処理により決定されるポート番号が登録され、また、最後の「×」は、通信許可フラグであり、通信が許可されない場合には「×」が、また、通信が許可される場合には「○」が登録される。
【００６５】
次に、図５を参照して、ＴＣＰコネクションを確立する場合の処理について説明する。
先ず、端末Ａが、ルータＡに対して、端末Ｃの２３番ポートとの間でＴＣＰのコネクションを確立するために、ＴＣＰのＳＹＮメッセージを１０．０．０．１のポート２３番に送信する。ここで、ソースアドレスは、図５に示すように、１９２．１６８．０．１：ＹＹ（ＳＲＣ＝１９２．１６８．０．１：ＹＹ）である。
【００６６】
ルータＡのＩＰ部１０は、受信許可ＩＰアドレス保持部１０ａに１０．０．０．１が登録されているので、このパケットを受信し、ＴＣＰ部１１を介して、パケット転送部１７に供給する。
【００６７】
パケット転送部１７は、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６を検索し、１０．０．０．１に対応するエントリを取得する。その結果、１０．０．０．１が１５．２３．１．２の経由先であり、かつ、すべてのポート情報が定まっておらず、かつ、通信許可フラグがオフの状態であるので、このコネクションは名前解決処理が終了しただけの状態であることを検出する。
【００６８】
パケット転送部１７は、パケット転送用ＴＣＰコネクション管理部１８に対して、１５．２３．１．２を経由して１９２．１６８．０．２との間でＴＣＰコネクションを確立するように指示する。
【００６９】
パケット転送部１７は、ＳＹＮメッセージに含まれているソースポートアドレス（ＹＹ）と、送信先ポート（２３）を通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６の該当するエントリに対して追加する。
【００７０】
パケット転送用ＴＣＰコネクション管理部１８は、１５．２３．１．２のポートＸＸとの間でＴＣＰコネクションをＴＣＰ部１１を介して確立する。即ち、パケット転送用ＴＣＰコネクション管理部１８は、ルータＢに対してＴＣＰのＳＹＮメッセージを１０．０．０．１のポート２３番（ＳＲＣ＝１９２．１６８．０．１：ＹＹ）に送信する。その結果、ルータＢから「ＳＹＮ＋ＡＣＫ」が返送されてくるので、パケット転送用ＴＣＰコネクション管理部１８は、「ＡＣＫ」をルータＢに対して送信する。なお、ここではＸＸはあらかじめ本手法用に割り当てられた任意の固定ポート値とする。その結果、ルータＢとルータＡとの間でＴＣＰコネクションが確立されることになる。
【００７１】
次に、パケット転送用ＴＣＰコネクション管理部１８は、以上の処理によりルータＢとの間に確立されたコネクションを通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６に登録する。即ち、パケット転送用ＴＣＰコネクション管理部１８は、ＴＣＰの送信元ポートと送信先ポートであるＷＷとＸＸを、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６に登録する。その結果、先に示したエントリの「？？」が該当するポートに変更されることになる。
【００７２】
次に、パケット転送用ＴＣＰコネクション管理部１８は、通信先端末アドレス／ポートネゴシエーション部１９に対して、「１９２．１６８．０．２のポート２３番」を示すＮｏｔｉｆｉｃａｔｉｏｎメッセージ（ＭＳＧ）を、１５．２３．１．２のポートＸＸに対して、ポートＷＷのＴＣＰコネクションから送信するように指示する。
【００７３】
通信先端末アドレス／ポートネゴシエーション部１９は、１９２．１６８．０．２のポート２３番を示すＮｏｔｉｆｉｃａｔｉｏｎメッセージを作成し、ルータＢに対して送信する。その結果、図５に示すように、ＮｏｔｉｆｉｃａｔｉｏｎメッセージがルータＢに対して送信されることになる。
【００７４】
ルータＢのＴＣＰ部１１は、ポートＸＸを介して受信したＮｏｔｉｆｉｃａｔｉｏｎメッセージをパケット転送部１７に対して供給する。パケット転送部１７は、送信ポートＷＷから送信されてきたＳＹＮ，ＡＣＫ以外の最初のパケットであるため、これをＮｏｔｉｆｉｃａｔｉｏｎメッセージとみなして、パケット転送用ＴＣＰコネクション管理部１８に転送する。
【００７５】
パケット転送用ＴＣＰコネクション管理部１８は、Ｎｏｔｉｆｉｃａｔｉｏｎメッセージに示されたアドレスとポート番号（アドレス１９２．１６８．１０．２の２３番ポート）との間で、ＴＣＰコネクションを確立する。即ち、パケット転送用ＴＣＰコネクション管理部１８は、端末Ｃに対してＴＣＰのＳＹＮメッセージを１９２．１６８．１０．２のポート２３番（ＳＲＣ＝１９２．１６８．０．１：ＹＹ）へ送信する。その結果、端末Ｃから「ＳＹＮ＋ＡＣＫ」が返送されてくるので、パケット転送用ＴＣＰコネクション管理部１８は、「ＡＣＫ」を端末Ｃに対して送信する。すると、端末ＣとルータＢとの間でコネクションが確立されることになる。
【００７６】
ルータＢと端末Ｃとの間でコネクションが確立すると、ルータＢは、Ｎｏｔｉｆｉｃａｔｉｏｎメッセージに対する応答として、ＡＣＫメッセージをルータＡに対して返送するように要求する。
【００７７】
その結果、ルータＢの通信先端末アドレス／ポートネゴシエーション部１９は、端末Ｃ（１９２．１６８．０．２）のポート２３番への接続完了を通知するＡＣＫメッセージをルータＡに対して送信する。
【００７８】
続いて、ルータＢの通信先端末アドレス／ポートネゴシエーション部１９は、新たに確立されたコネクションに関するアドレス情報およびポート情報を通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６に対して格納する。即ち、通信先端末アドレス／ポートネゴシエーション部１９は、新たに確立したコネクションの送信先アドレスとポート（１９２．１６８．０．２：２３）、ソースアドレスとポート（１０．０．０．１：ＺＺ）、Ｎｏｔｉｆｉｃａｔｉｏｎメッセージが送られてきたＴＣＰコネクションのソースアドレスとポート（３４．５６．１０．４：ＷＷ）、送信先アドレスとポート（１５．２３．１．２：ＸＸ）、および、オンの通信許可フラグを有するエントリを通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６に書き込む。
【００７９】
次に、ルータＡの通信先端末アドレス／ポートネゴシエーション部１９は、パケット転送用ＴＣＰコネクション管理部１８に対して、アドレス１９２．１６８．０．２のポート２３番へのコネクションが、１５．２３．１．２のポートＸＸから３４．５６．１０．４のポートＷＷへのＴＣＰコネクション経由で確立されたことを通知する。
【００８０】
パケット転送用ＴＣＰコネクション管理部１８は、“３４．５６．１０．４：ＷＷ；１５．２３．１．２：ＸＸ”をキーとして、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６を検索し、該当するエントリを取得する。そして取得したエントリに含まれている情報を参照することにより（図６参照）、通知されたＡＣＫメッセージに対する端末Ａとのコネクションが、１９２．１６８．０．１：ＹＹおよび１０．０．０．１：２３であることを検出する。
【００８１】
パケット転送用ＴＣＰコネクション管理部１８は、ＴＣＰ部１１を介して、１９２．１６８．０．１：ＹＹと１０．０．０．１：２３との間で、コネクションを確立する。即ち、パケット転送用ＴＣＰコネクション管理部１８は、先ず、端末Ａに対してＳＹＮ＋ＡＣＫを送信し、その結果として端末Ａから返送されてきたＡＣＫを受信する。その結果、端末ＡとルータＡとの間でコネクションが確立されることになる（図６参照）。
【００８２】
そして、最後に、パケット転送用ＴＣＰコネクション管理部１８は、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６に登録されているエントリ「１９２．１６８．０．２／／３４．５６．１０．４：ＷＷ；１５．２３．１．２：ＸＸ／／１９２．１６８．０．１：ＹＹ；１０．０．０．１：２３」の通信許可フラグをオフ（×）からオン（○）に変更する（図６参照）。
【００８３】
ここで、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６に登録されているエントリは、図７に示すように、受信端末、変更後送信先ＩＰアドレス、変更後送信先ポート、変更後送信先ＩＰアドレス、変更後送信先ポート、変更前送信先ＩＰアドレス、変更前送信先ポート、変更前送信元ＩＰアドレス、変更前送信元ポート、および、通信許可フラグによって構成されている。
【００８４】
「受信端末」は、この例では、端末ＣのＩＰアドレス（１９２．１６８．０．２）であり、インターネット上においてＴＣＰコネクションを確立する側のルータのみが保持している情報である。
【００８５】
「変更後送信元ＩＰアドレス」および「変更後送信元ポート」は、アドレス変換後の送信元ＩＰアドレスおよび送信元ポート番号である。この例では、ルータＡのＩＰアドレスである３４．５６．１０．４と、ポート番号ＷＷとが該当する。
【００８６】
「変更後送信先ＩＰアドレス」および「変更後送信先ポート」は、アドレス変換後の送信先ＩＰアドレスおよび送信先ポート番号である。この例では、ルータＢのＩＰアドレスである１５．２３．１．２と、ポート番号ＸＸとが該当する。
【００８７】
「変更前送信元ＩＰアドレス」および「変更前送信元ポート」は、アドレス変換前の送信元ＩＰアドレスおよび送信元ポート番号である。この例では、端末ＡのＩＰアドレスである１９２．１６８．０．１と、ポート番号ＹＹとが該当する。
【００８８】
「変更前送信先ＩＰアドレス」および「変更前送信先ポート」は、アドレス変換前の送信先ＩＰアドレスおよび送信先ポート番号である。この例では、ダミーＩＰアドレスである１０．０．０．１と、ポート２３番とが該当する。
【００８９】
「通信許可フラグ」は、当該エントリが通信を許可されているか否かを示す情報であり、通信許可の場合には“○”、不許可の場合には“×”、一方向の通信がなされている場合には“△”となる。
【００９０】
次に、図８を参照して、以上の処理によって確立されたＴＣＰコネクションを利用してパケットを転送する場合の処理について説明する。
先ず、端末Ａから、送信先が１０．０．０．１：２３であり、また、送信元が１９２．１６８．０．１：ＹＹであることを示すヘッダが付与されたパケット（ＴＣＰ  ｄａｔａ  ｔｏ  １０．０．０．１：２３（ＳＲＣ＝１９２．１６８．０．１：ＹＹ））がルータＡに対して送信されると、ルータＡは、これを受信する。
【００９１】
ルータＡのＩＰ部１０は、１０．０．０．１：２３が受信許可ＩＰアドレス保持部１０ａに保持されていることから、これを受信し、ＴＣＰ部１１を介してパケット転送部１７に転送する。
【００９２】
パケット転送部１７は、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６を検索して該当するエントリを取得する。いまの例では、図８に示すエントリ「１９２．１６８．０．２／／３４．５６．１０．４：ＷＷ；１５．２３．１．２：ＸＸ／／１９２．１６８．０．１：ＹＹ；１０．０．０．１：２３／／○」が取得される。そして、このエントリに格納されている情報を参照し、パケットのヘッダに含まれている送信先ＩＰアドレスおよびポート情報である１０．０．０．１：２３を、１５．２３．１．２：ＸＸに変換し、また、送信元ＩＰアドレスおよびポート情報である１９２．１６８．０．１：ＹＹを３４．５６．１０．４：ＷＷに変換する。なお、パケットのデータグラムについては特に変更しない。
【００９３】
パケット転送部１７は、ヘッダの変換が終了したパケットを、ＴＣＰ部１１を介してルータＢに向けて送信する。
ルータＢは、ルータＡから伝送されてきたパケットを受信し、ポートＸＸを介して読み込み、パケット転送部１７に供給する。
【００９４】
パケット転送部１７は、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６を検索し、受信したパケットに対応するエントリである「ＮＵＬＬ／／１０．０．０．１：ＺＺ；１９２．１６８．０．２：２３／／３４．５６．１０．４：ＷＷ；１５．２３．１．２：ＸＸ／／○」を取得する。そして、パケット転送部１７は、取得したエントリに含まれている情報を参照し、パケットのヘッダに付加されている送信先ＩＰアドレスおよびポート情報である１５．２３．１．２：ＸＸを１９２．１６８．０．２：２３に変換し、送信元ＩＰアドレスおよびポート情報である１９２．１６８．０．１：ＹＹを１０．０．０．１：ＺＺに変換し、パケットのデータグラムは変換せずに、ＴＣＰ部１１を介して端末Ｃに対して送信する。
【００９５】
その結果、端末Ａから送信されたパケットは、プライベートアドレス網に属する端末Ｃに到達することになる。
次に、端末Ｃは、受信したパケットに対する応答としてのパケットを生成し、その送信先ＩＰアドレスおよびポートを１０．０．０．１：ＺＺに、また、送信元ＩＰアドレスおよびポートを１９２．１６８．１０．２：２３に設定し、送信する。なお、送信先ＩＰアドレスとして１０．０．０．１：２３を使用するのは、端末Ｃが属しているプライベートアドレス網の他のノードに誤って配信されることを防止するためである。
【００９６】
端末Ｃから送信されたパケットは、ルータＢによって受信され、ＩＰ部１０に対して供給される。ＩＰ部１０は、１０．０．０．１：ＺＺが受信許可ＩＰアドレス保持部１０ａに保持されていることから、このパケットを受信し、ＴＣＰ部１１を介してパケット転送部１７に転送する。
【００９７】
パケット転送部１７は、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６を検索して該当するエントリを取得する。いまの例では、図８に示す「ＮＵＬＬ／／１０．０．０．１：ＺＺ；１９２．１６８．０．２：２３／／３４．５６．１０．４：ＷＷ；１５．２３．１．２：ＸＸ／／○」が取得される。そして、このエントリに格納されている情報を参照し、パケットのヘッダに含まれている送信先ＩＰアドレスおよびポート情報である１０．０．０．１：ＺＺを、３４．５６．１０．４：ＷＷに変換し、また、送信元ＩＰアドレスおよびポート情報である１９２．１６８．１０．２：２３を、１５．２３．１．２：ＸＸに変換する。なお、パケットのデータグラムについては特に変更しない。
【００９８】
パケット転送部１７は、ヘッダの変換が終了したパケットを、ＴＣＰ部１１を介してルータＡに向けて送信する。
ルータＡは、ルータＢから伝送されてきたパケットを受信し、ポートＷＷを介して読み込み、パケット転送部１７に供給する。
【００９９】
パケット転送部１７は、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６を検索し、受信したパケットに対応するエントリである「１９２．１６８．０．２／／３４．５６．１０．４：ＷＷ；１５．２３．１．２：ＸＸ／／１９２．１６８．０．１：ＹＹ；１０．０．０．１：２３／／○」を取得する。そして、パケット転送部１７は、取得したエントリに含まれている情報を参照し、パケットのヘッダに付加されている送信先ＩＰアドレスおよびポート情報である３４．５６．１０．４：ＷＷを、１９２．１６８．０．１：ＹＹに変換し、また、送信元ＩＰアドレスおよびポート情報である１５．２３．１．２：ＸＸを、１０．０．０．１：２３に変換し、パケットのデータグラムは変更せずに、ＴＣＰ部１１を介して端末Ａに対して送信する。
【０１００】
その結果、端末Ｃから送信されたパケットは、プライベートアドレス網に属する端末Ａに到達することになる。
以上のような処理により、それぞれプライベートアドレス網に属する端末Ａと端末Ｃとの間でパケットの授受を行なうことが可能になる。
【０１０１】
次に、図９および図１０を参照して、ＴＣＰコネクションを終了する場合の処理について説明する。
先ず、図９を参照して、双方向の通信を片方向に変更する場合の処理について説明する。
【０１０２】
端末ＡからＴＣＰコネクションを終了するためにＴＣＰのＦＩＮメッセージが１０．０．０．１のポート２３番（ＳＲＣ＝１９２．１６８．０．１：ＹＹ）へ送信されると、ルータＡは、２３番ポートを介してこのメッセージを受信する。
【０１０３】
ルータＡのＩＰ部１０は、受信したパケットのヘッダに付加されている送信先アドレスである１０．０．０．１が受信許可ＩＰアドレス保持部１０ａに格納されているので、受信許可パケットと判断して、ＴＣＰ部１１を介してパケット転送部１７に供給する。
【０１０４】
パケット転送部１７は、パケット転送用ＴＣＰコネクション管理部１８に、送信先ＩＰアドレスおよびポート情報が１０．０．０．１：２３であり、送信元ＩＰアドレスおよびポート情報が１９２．１６８．０．１：ＹＹであるＴＣＰコネクションからＦＩＮメッセージがきたことを通知する。
【０１０５】
パケット転送部１７は、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６を検索し、送信先ＩＰアドレスおよびポート情報である１０．０．０．１：２３を１５．２３．１．２：ＸＸに変換し、また、送信元ＩＰアドレスおよびポート情報である１９２．１６８．０．１：ＹＹを３４．５６．１０．４：ＷＷに変換し、パケットのデータグラムは変更せずに、ＴＣＰ部１１を経由して、ルータＢに送信する。
【０１０６】
パケットの送信が完了すると、ルータＡのパケット転送用ＴＣＰコネクション管理部１８は、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６を検索し、送信先ＩＰアドレスおよびポートが３４．５６．１０．４：ＷＷであり、送信元ＩＰアドレスおよびポートが１５．２３．１．２：ＸＸであるコネクションからのＦＩＮメッセージに対する応答メッセージであるＡＣＫメッセージが到着するのを待つ。
【０１０７】
ルータＢは、ルータＡから送信されたパケットをポートＸＸを介して受信し、パケット転送部１７に供給する。
パケット転送部１７は、送信先ＩＰアドレスおよびポートが１５．２３．１．２：ＸＸであり、送信元ＩＰアドレスおよびポートが３４．５６．１０．４：ＷＷであるＴＣＰコネクションからＦＩＮメッセージが到着したことをパケット転送用ＴＣＰコネクション管理部１８に通知する。
【０１０８】
パケット転送部１７は、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６を検索し、送信先ＩＰアドレスおよびポート情報である１５．２３．１．２：ＸＸを１９２．１６８．０．２：２３に変換し、送信元ＩＰアドレスおよびポート情報である３４．５６．１０．４．ＷＷを１０．０．０．１：ＺＺに変換し、パケットのデータグラムは変換せずに、ＴＣＰ部１１を介してパケットを端末Ｃに送信する。
【０１０９】
そして、パケット転送用ＴＣＰコネクション管理部１８は、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６を検索し、送信先ＩＰアドレス・ポートが１０．０．０．１：ＺＺであり、送信元ＩＰアドレス・ポートが１９２．１６８．０．２：２３であるコネクションからのＦＩＮに対するＡＣＫメッセージが返送されるのを待つ。
【０１１０】
続いて、端末Ｃは、ルータＢから送信されたＦＩＮメッセージを受信し、その応答であるＴＣＰのＡＣＫメッセージを１０．０．０．１のポートＺＺ番（ＳＲＣ＝１９２．１６８．１０．２：２３）へ送信する。
【０１１１】
ルータＢは、端末Ｃから送信されたパケットをポートＺＺを介して受信し、パケット転送部１７に供給する。
パケット転送部１７は、送信先ＩＰアドレスおよびポートが１０．０．０．１：ＺＺであり、送信元ＩＰアドレスおよびポートが１９２．１６８．１０．２：２３あるＴＣＰコネクションからＡＣＫメッセージが到着したことをパケット転送用ＴＣＰコネクション管理部１８に通知する。
【０１１２】
パケット転送部１７は、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６を検索し、送信先ＩＰアドレスおよびポート情報である１０．０．０．１：ＺＺを３４．５６．１０．４：ＷＷに変換し、送信元ＩＰアドレスおよびポート情報である１９２．１６８．１０．２：２３を、１５．２３．１．２：ＷＷに変換し、パケットのデータグラムは変換せずに、ＴＣＰ部１１を介してルータＡに送信する。
【０１１３】
そして、パケット転送用ＴＣＰコネクション管理部１８は、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６に格納されている該当するエントリ「ＮＵＬＬ／／１０．０．０．１：ＺＺ；１９２．１６８．０．２：２３／／３４．５６．１０．４：ＷＷ；１５．２３．１．２：ＸＸ／／○」に通信許可フラグを「通信許可」の状態から「一方向」を示す「△」に変更する。
【０１１４】
その結果、端末ＣとルータＢとの間のコネクションがＯｎｅ−ｗａｙ  Ｃｏｎｎｅｃｔｉｏｎの状態になる。
ルータＡは、ルータＢから送信されたパケットをポートＷＷを介して受信し、パケット転送部１７に供給する。
【０１１５】
パケット転送部１７は、送信先ＩＰアドレスおよびポートが３４．５６．１０．４：ＷＷであり、送信元ＩＰアドレスおよびポートが１５．２３．１．２：ＸＸであるＴＣＰコネクションからＡＣＫメッセージが到着したことをパケット転送用ＴＣＰコネクション管理部１８に通知する。
【０１１６】
パケット転送部１７は、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６を検索し、送信先ＩＰアドレスおよびポート情報である３４．５６．１０．４：ＷＷを１９２．１６８．０．１：ＹＹに変換し、送信元ＩＰアドレスおよびポート情報である１５．２３．１．２：ＸＸを、１０．０．０．１：２３に変換し、パケットのデータグラムは変換せずに、ＴＣＰ部１１を介して端末Ａに送信する。
【０１１７】
そして、パケット転送用ＴＣＰコネクション管理部１８は、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６に格納されている該当するエントリ「１９２．１６８．０．２／／３４．５６．１０．４：ＷＷ；１５．２３．１．２：ＸＸ／／１９２．１６８．０．１：ＹＹ；１０．０．０．１：２３／／○」の通信許可フラグを「通信許可」を示す「○」から「一方向」を示す「△」に変更する。
【０１１８】
その結果、ルータＢとルータＡおよびルータＡと端末Ａとの間のコネクションがＯｎｅ−ｗａｙ  Ｃｏｎｎｅｃｔｉｏｎの状態になる。
次に、図１０を参照して、ＴＣＰコネクションを片方向から終了させる場合の処理について説明する。
【０１１９】
端末ＣからＴＣＰコネクションを終了するためにＴＣＰのＦＩＮメッセージが１０．０．０．１のポートＺＺ番（ＳＲＣ＝１９２．１６８．０．２：２３）へ送信されると、ルータＢは、ＺＺ番ポートを介してこのメッセージを受信する。
【０１２０】
ルータＢのＩＰ部１０は、受信したパケットのヘッダに付加されている送信先アドレスである１０．０．０．１が受信許可ＩＰアドレス保持部１０ａに格納されているので、受信可能のパケットと判断して、ＴＣＰ部１１を介してパケット転送部１７に供給する。
【０１２１】
パケット転送部１７は、パケット転送用ＴＣＰコネクション管理部１８に、送信先ＩＰアドレスおよびポート情報が１０．０．０．１：ＺＺであり、送信元ＩＰアドレスおよびポート情報が１９２．１６８．０．２：２３であるＴＣＰコネクションからＦＩＮメッセージが到着したことを通知する。
【０１２２】
パケット転送部１７は、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６を検索し、送信先ＩＰアドレスおよびポート情報である１０．０．０．１：ＺＺを３４．５６．１０．４：ＷＷに変換し、また、送信元ＩＰアドレスおよびポート情報である１９２．１６８．０．２：２３を１５．２３．１．２：ＸＸに変換し、パケットのデータグラムは変更せずに、ＴＣＰ部１１を経由して、ルータＡに送信する。
【０１２３】
パケットの送信が完了すると、ルータＢのパケット転送用ＴＣＰコネクション管理部１８は、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６を検索し、送信先ＩＰアドレスおよびポートが１５．２３．１．２：ＸＸであり、送信元ＩＰアドレスおよびポートが３４．５６．１０．４：ＷＷであるコネクションからのＦＩＮメッセージに対する応答メッセージであるＡＣＫメッセージが到着するのを待つ。
【０１２４】
ルータＡは、ルータＢから送信されたパケットをポートＷＷを介して受信し、パケット転送部１７に供給する。
ルータＡのパケット転送部１７は、送信先ＩＰアドレスおよびポートが３４．５６．１０．４：ＷＷであり、送信元ＩＰアドレスおよびポートが１５．２３．１．２：ＸＸであるＴＣＰコネクションからＦＩＮメッセージが到着したことをパケット転送用ＴＣＰコネクション管理部１８に通知する。
【０１２５】
パケット転送部１７は、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６を検索し、送信先ＩＰアドレスおよびポート情報である３４．５６．１０．４：ＷＷを１９２．１６８．０．１：ＹＹに変換し、送信元ＩＰアドレスおよびポート情報である１５．２３．１．２：ＸＸを１０．０．０．１：２３に変換し、パケットのデータグラムは変換せずに、ＴＣＰ部１１を介してパケットを端末Ａに送信する。
【０１２６】
そして、パケット転送用ＴＣＰコネクション管理部１８は、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６を検索し、送信先ＩＰアドレスおよびポートが１０．０．０．１：２３であり、送信元ＩＰアドレス・ポートが１９２．１６８．０．１：ＹＹであるコネクションからのＦＩＮに対するＡＣＫメッセージが返送されるのを待つ。
【０１２７】
端末ＡからＦＩＮメッセージに対する応答としてＴＣＰのＡＣＫメッセージが１０．０．０．１のポート２３番（ＳＲＣ＝１９２．１６８．０．１：ＹＹ）」へ送信されると、ルータＡはこれを受信し、パケット転送部１７に供給する。
【０１２８】
パケット転送部１７は、送信先ＩＰアドレスおよびポート情報が１０．０．０．１：２３であり、送信元ＩＰアドレスおよびポート情報が１９２．１６８．１０．１：ＹＹあるＴＣＰコネクションからＡＣＫメッセージが到着したことをパケット転送用ＴＣＰコネクション管理部１８に通知する。
【０１２９】
パケット転送部１７は、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６を検索し、送信先ＩＰアドレスおよびポート情報である１０．０．０．１：２３を１５．２３．１．２：ＸＸに変換し、送信元ＩＰアドレスおよびポート情報である１９２．１６８．１０．１：ＹＹを、３４．５６．１０．４：ＷＷに変換し、パケットのデータグラムは変換せずに、ＴＣＰ部１１を介してルータＢに送信する。
【０１３０】
そして、パケット転送用ＴＣＰコネクション管理部１８は、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６に格納されている該当するエントリ「１９２．１６８．０．２／／３４．５６．１０．４：ＷＷ；１５．２３．１．２：ＸＸ／／１９２．１６８．０．１：ＹＹ；１０．０．０．１：２３／／△」を削除する。
【０１３１】
その結果、端末ＡとルータＡとの間のコネクションがＯｎｅ−ｗａｙ  Ｃｏｎｎｅｃｔｉｏｎの状態からＣｏｎｎｅｃｔｉｏｎ  Ｃｌｏｓｅの状態になる。更に、ルータＡのパケット転送用ＴＣＰコネクション管理部１８は、受信許可ＩＰアドレス保持部１０ａに、エントリの変更前送信先ＩＰアドレスに記載されているダミーアドレス、即ち、１０．０．０．１の受信中止を通知し、ダミーＩＰアドレスプール部１５にダミーアドレスを返却する。
【０１３２】
ルータＢは、ルータＡから送信されたパケットをポートＸＸを介して受信し、パケット転送部１７に供給する。
パケット転送部１７は、送信先ＩＰアドレスおよびポート情報が１５．２３．１．２：ＸＸであり、送信元ＩＰアドレスおよびポート情報が３４．５６．１０．４：ＷＷであるＴＣＰコネクションからＡＣＫメッセージが到着したことをパケット転送用ＴＣＰコネクション管理部１８に通知する。
【０１３３】
パケット転送部１７は、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６を検索し、送信先ＩＰアドレスおよびポート情報である１５．２３．１．２：ＸＸを１９２．１６８．０．２：２３に変換し、送信元ＩＰアドレスおよびポート情報である３４．５６．１０．４：ＷＷを、１０．０．０．１：ＺＺに変換し、パケットのデータグラムは変換せずに、ＴＣＰ部１１を介して端末Ｃに送信する。
【０１３４】
そして、パケット転送用ＴＣＰコネクション管理部１８は、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６に格納されている該当するエントリ「１９２．１６８．０．２／／３４．５６．１０．４：ＷＷ；１５．２３．１．２：ＸＸ／／１９２．１６８．０．１：ＹＹ；１０．０．０．１：２３／／△」を削除する。
【０１３５】
その結果、端末ＣとルータＢおよびルータＢとルータＡとの間のコネクションがＯｎｅ−ｗａｙ  Ｃｏｎｎｅｃｔｉｏｎの状態からＣｏｎｎｅｃｔｉｏｎ  Ｃｌｏｓｅの状態になる。更に、ルータＢのパケット転送用ＴＣＰコネクション管理部１８は、受信許可ＩＰアドレス保持部１０ａに、エントリの変更後送信元ＩＰアドレスに記載されているダミーアドレス、即ち、１０．０．０．１の受信中止を通知し、ダミーＩＰアドレスプール部１５にダミーアドレスを返却する。
【０１３６】
以上の処理により、一旦確立されたコネクションを終了することが可能になる。
次に、図１１および図１２を参照して、ＴＣＰコネクションが何らかの原因で切断された場合における復旧処理について説明する。
【０１３７】
図１１は、ルータＡとルータＢの間のコネクションが切断した場合における復旧処理について説明する図である。
この図に示すように、ルータＡとルータＢの間のコネクションが切断すると、ルータＡのＴＣＰ部１１およびルータＢのＴＣＰ部１１は、コネクションが切断したことを検出する。
【０１３８】
コネクションの切断を検出したルータＡのＴＣＰ部１１は、切断されたコネクションの両端(ルータＡとルータＢ)のそれぞれのＩＰアドレスとポート番号をパケット転送用ＴＣＰコネクション管理部１８に通知する。
【０１３９】
ルータＡのパケット転送用ＴＣＰコネクション管理部１８はＴＣＰ部１１から受け取ったデータをキーとして、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６を検索し、検索結果のエントリの“通信許可フラグ”をオフにする。また、“受信端末”フィールドがＮＵＬＬではないことから、自己がＴＣＰを主体的に確立したノードであることを了知し、ルータＢのポートＸＸとの間で、ＴＣＰコネクションを確立するようにＴＣＰ部１１に指示する。
【０１４０】
その結果、ＴＣＰ部１１は、ルータＢに対してコネクションを確立するためにＴＣＰのＳＹＮメッセージを１５．２３．１．２のポートＸＸ番（ＳＲＣ＝３４．５６．１０．４：ＶＶ）へ送信する。
【０１４１】
このとき、ルータＢでは、パケット転送用ＴＣＰコネクション管理部１８がＴＣＰ部１１から受け取ったデータをキーとして、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６を検索し、検索結果のエントリの“通信許可フラグ”をオフにする。また、“受信端末”フィールドがＮＵＬＬであることから、自己がＴＣＰを主体的に確立したノードでないことを了知し、ルータＡからのコネクションの再設定を待つ。
【０１４２】
そして、ルータＢにルータＡから送信されたＳＹＮメッセージが届くと、ルータＢは、ＳＹＮ＋ＡＣＫメッセージをルータＡに対して送信する。その結果、ルータＡからは、ＡＣＫメッセージが返送され、これらの間のコネクションが再度確立（Ｒｅ−ｅｓｔａｂｌｉｓｈｍｅｎｔ）されることになる。
【０１４３】
ルータＡとルータＢの間のコネクションが再確立されると、ルータＡはルータＢに対して前述の場合と同様に、Ｎｏｔｉｆｉｃａｔｉｏｎメッセージを送信する。
【０１４４】
Ｎｏｔｉｆｉｃａｔｉｏｎメッセージを受信したルータＢは、Ｎｏｔｉｆｉｃａｔｉｏｎメッセージに対するＡＣＫを送信し、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６の対応するエントリの変更前送信元ポートを新しいポート番号（ＶＶ）に書換え、通信許可フラグをオンにする。
【０１４５】
一方、ルータＡは、ＡＣＫメッセージを受信し、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６の対応するエントリの送信変更後送信元ポートを新しいポート番号（ＶＶ）に書換え、通信許可フラグをオンにする。
【０１４６】
以上の処理により、ルータＡとルータＢの間のコネクションが切断された場合でも、コネクションを再確立し、通信を継続することが可能になる。
次に、図１２を参照して、ルータＢと端末Ｃの間のコネクションが切断した場合における復旧処理について説明する。
【０１４７】
ルータＢと端末Ｃとの間のコネクションが何らかの原因で切断すると、ルータＢのＴＣＰ部１１がこれを検出する。
ルータＢのＴＣＰ部１１は、切断されたコネクションの両端（ルータＢと端末Ｃ）のそれぞれのＩＰアドレスとポート番号をパケット転送用ＴＣＰコネクション管理部１８に通知する。
【０１４８】
パケット転送用ＴＣＰコネクション管理部１８は、ＴＣＰ部１１から通知されたデータをキーとして、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６を検索し、検査結果のエントリの“通信許可フラグ”をオフにする。また、端末Ｃのポート２３番との間で、ＴＣＰコネクションを確立するように、ＴＣＰ部１１に指示する。
【０１４９】
その結果、ルータＢから端末Ｃに対して、ＴＣＰのＳＹＮメッセージが１９２．１６８．０．２のポート２３番（ＳＲＣ＝１０．０．０．１：ＵＵ）へ送信される。
【０１５０】
すると、端末Ｃは、このＳＹＮメッセージを受信し、応答メッセージであるＳＹＮ＋ＡＣＫメッセージをルータＢに対して返信する。
端末ＣからのＳＹＮ＋ＡＣＫメッセージを受信したルータＢは、ＡＣＫメッセージを端末Ｃに対して送信するとともに、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６の該当するエントリの変更後送信元ポートを新たなポート番号（ＵＵ）に変更し、また、通信許可フラグをオンの状態にする。
【０１５１】
以上の処理により、ルータＢと端末Ｃとの間のコネクションが何らかの原因によって切断した場合であっても、これを復旧して通信を継続することが可能になる。なお、ルータＡと端末Ａ間でＴＣＰコネクションが何らかの原因で切断された場合も同様に復旧処理を行う。
【０１５２】
最後に、以上に説明した実施の形態において実行される処理の流れについてフローチャートを参照して説明する。
図１３は、図２に示す名前解決処理が実行される際のルータＡにおける処理の流れを説明するフローチャートである。このフローチャートは、ルータＡに名前解決要求が到着した場合に実行される処理であり、以下では、ルータＡに名前解決要求「ＰＣ−Ｂ．ｈｏｍｅ．ｃｏｍ」が到着した場合を例に挙げて説明する。
【０１５３】
ステップＳ１０：
名前解決部１２は、端末Ａから送信された名前解決要求である「ＰＣ−Ｂ．ｈｏｍｅ．ｃｏｍ」を通信手段２０、ＩＰ部１０、および、ＴＣＰ部１１を介して受信する。
【０１５４】
ステップＳ１１：
名前解決部１２は、この要求をプライベート網宛名前解決判定部１３へ転送する。
【０１５５】
ステップＳ１２：
プライベート網宛名前解決判定部１３は、通信先プライベート網用名前解決サーバ登録部１４を検索し、問合せ先アドレスのエントリが登録されているか否かを判定し、登録されていると判定した場合にはステップＳ１４に進み、それ以外の場合にはステップＳ１３に進む。
【０１５６】
ステップＳ１３：
名前解決部１２は、通常の名前解決要求として受け付けた要求を処理する。
ステップＳ１４：
プライベート網宛名前解決判定部１３は、ルータＢ（ｓｗａｎ．ｍｂｂ．ｎｉｆｔｙ．ｃｏｍ）のＩＰアドレスをグローバル網上の所定のＤＮＳサーバに問い合わせるよう名前解決部へ指示する。
【０１５７】
ステップＳ１５：
プライベート網宛名前解決判定部１３は、ＤＮＳサーバから返送されてきた問い合せ結果（１５．２３．１．２）を通信手段２０、ＩＰ部１０、ＴＣＰ部１１、および、名前解決部１２を介して受信する。
【０１５８】
ステップＳ１６：
プライベート網宛名前解決判定部１３は、受信端末Ｂ（ＰＣ−Ｂ．ｈｏｍｅ−ａ．ｃｏｍ）のＩＰアドレスを１５．２３．１．２（ルータＢ）に問い合わせるよう名前解決部１２に指示する。
【０１５９】
ステップＳ１７：
プライベート網宛名前解決判定部１３は、ルータＢから返送されてきた問合せ結果（１９２．１６８．０．２）を通信手段２０、ＩＰ部１０、ＴＣＰ部１１、および、名前解決部１２を介して受信する。
【０１６０】
ステップＳ１８：
プライベート網宛名前解決判定部１３は、ダミーＩＰアドレスプール部１５から任意のダミーＩＰアドレス（例えば、１０．０．０．１）を選択し、そのアドレスをダミーＩＰアドレスプール部から削除する。
【０１６１】
ステップＳ１９：
プライベート網宛名前解決判定部１３は、端末ＡにダミーのＩＰアドレス（１０．０．０．１）を名前解決要求の回答として送信する。
【０１６２】
ステップＳ２０：
プライベート網宛名前解決判定部１３は、ダミーＩＰアドレスを送信先アドレスとして有するパケットをプライベート網側から受信するように受信許可ＩＰアドレス保持部１０ａに指示する。
【０１６３】
ステップＳ２１：
プライベート網宛名前解決判定部１３は、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６に、端末Ｂ、ルータＡ、ルータＢ、および、端末ＡのそれぞれのＩＰアドレスと、ダミーＩＰアドレスをエントリとして登録する。但し、通信許可フラグについては、オフの状態に設定する。
【０１６４】
次に、図１４を参照して、ＴＣＰコネクションを確立する際の処理について説明する。なお、以下の説明では、ルータＡとルータＢの間でＴＣＰコネクションを確立する場合の処理を例に挙げて説明する。ルータＡに端末Ａから送信先ＩＰアドレスが１０．０．０．１であり、送信先ポートが２３番であるＴＣＰのＳＹＮが到着すると、以下のステップが開始される。
【０１６５】
ステップＳ３０：
ルータＡのＩＰ部１０は、受信許可ＩＰアドレス保持部１０ａを参照し、ＩＰアドレス「１０．０．０．１」が登録されていることからこのパケットを受信し、ＴＣＰ部１１を介してパケット転送部１７に供給する。
【０１６６】
ステップＳ３１：
パケット転送部１７は、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６から経由先を検索する。即ち、パケット転送部１７は、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６を検索し、ＩＰアドレス１０．０．０．１が、ＩＰアドレス１５．２３．１．２の経由先にあることを検出する。また、このとき、全てのポート情報のエントリが埋まっておらず、かつ、通信許可フラグがオフであるので、名前解決が終わっただけの状態であることを検出する。
【０１６７】
ステップＳ３２：
パケット転送部１７は、パケット転送用ＴＣＰコネクション管理部１８に対して、ＩＰアドレス１５．２３．１．２とＩＰアドレス１９２．１６８．０．２の間にＴＣＰコネクションを確立するように指示する。
【０１６８】
ステップＳ３３：
パケット転送用ＴＣＰコネクション管理部１８は、ＩＰアドレス１５．２３．１．２のポートＸＸとの間でＴＣＰコネクションを確立する。その結果、後述するステップＳ４０との間の処理により、ルータＢとルータＡとの間でコネクションが確立されることになる。
【０１６９】
ステップＳ３４：
パケット転送用ＴＣＰコネクション管理部１８は、ステップＳ３３において確立されたコネクションに関するＴＣＰの送信元と送信先ポート（ＷＷとＸＸ）を通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６の該当するエントリに書き込む。
【０１７０】
ステップＳ３５：
パケット転送用ＴＣＰコネクション管理部１８は、通信先端末アドレス／ポートネゴシエーション部１９に、１９２．１６８．０．２のポート２３番に関するＮｏｔｉｆｉｃａｔｉｏｎメッセージを１５．２３．１．２のポートＸＸに対して、ポートＷＷのＴＣＰコネクションから送信するように指示する。
【０１７１】
ステップＳ３６：
通信先端末アドレス／ポートネゴシエーション部１９は、１９２．１６８．０．２のポート２３番に関するＮｏｔｉｆｉｃａｔｉｏｎメッセージを１５．２３．１．２のポートＸＸにポートＷＷのＴＣＰコネクションから送信する。
【０１７２】
ステップＳ４０：
前述したステップＳ３３の処理に基づいて、ルータＢにおいても、ＴＣＰコネクションが確立される。
【０１７３】
ステップＳ４１：
ＴＣＰ部は、ポートＸＸで受信したＮｏｔｉｆｉｃａｔｉｏｎメッセージをパケット転送部１７へ供給する。そして、パケット転送部１７は、送信ポートＷＷから送信されてきたＳＹＮ，ＡＣＫ以外の最初のパケットであるため、これをＮｏｔｉｆｉｃａｔｉｏｎメッセージとみなして、パケット転送用ＴＣＰコネクション管理部１８へ供給する。
【０１７４】
ステップＳ４２：
パケット転送用ＴＣＰコネクション管理部１８は、Ｎｏｔｉｆｉｃａｔｉｏｎメッセージで示されたアドレスとポート（１９２．１６８．１０．２の２３番）との間で、ＴＣＰコネクションを確立する。
【０１７５】
ステップＳ４３：
パケット転送用ＴＣＰコネクション管理部１８は、通信先端末アドレス／ポートネゴシエーション部１９に３４．５６．１０．４のポートＷＷ番へＡＣＫメッセージを送信するように指示し、通信先端末アドレス／ポートネゴシエーション部１９により、既に確立されているＴＣＰコネクションを介して送信される。
【０１７６】
ステップＳ４４：
通信先端末アドレス／ポートネゴシエーション部１９は、確立されたＴＣＰの送信先アドレスとポート（１９２．１６８．０．２：２３）、ソースアドレスとポート（１０．０．０．１：ＺＺ）、Ｎｏｔｉｆｉｃａｔｉｏｎメッセージが送られてきたＴＣＰコネクションのソースアドレスとポート（３４．５６．１０．４：ＷＷ）、送信先アドレスとポート（１５．２３．１．２：ＸＸ）、および、オンの通信許可フラグを有するエントリを通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６に書き込み、図１５の（１）に進む。
【０１７７】
続いて、図１５を参照して以上の処理の続きについて説明する。
ステップＳ５０：
ルータＡの通信先端末アドレス／ポートネゴシエーション部１９は、パケット転送用ＴＣＰコネクション管理部１８に、１９２．１６８．０．２のポート２３番へのコネクションが、１５．２３．１．２のポートＸＸからポートＷＷのＴＣＰコネクション経由で確立した旨を通知する。
【０１７８】
ステップＳ５１：
パケット転送用ＴＣＰコネクション管理部１８は、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６を“３４．５６．１０．４／ＷＷ；１５．２３．１．２：ＸＸ”をキーとして検索し、これの送信端末側とのＴＣＰコネクションが１９２．１６８．０．１：ＹＹ、１０．０．０．１：２３であることを検知する。
【０１７９】
ステップＳ５２：
パケット転送用ＴＣＰコネクション管理部１８は、ＴＣＰ部１１を介して１９２．１６８．０．１：ＹＹと１０．０．０．１：２３との間でのＴＣＰコネクションを確立する。
【０１８０】
ステップＳ５３：
パケット転送用ＴＣＰコネクション管理部１８は、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６に登録されているエントリ「１９２．１６８．０．２／／３４．５６．１０．４：ＷＷ；１５．２３．１．２：ＸＸ／／１９２．１６８．０．１：ＹＹ；１０．０．０．１：２３」の通信許可フラグをオンに変更する。
【０１８１】
以上の処理により、ルータＡとルータＢとの間にＴＣＰコネクションを確立することが可能になる。
次に、図１６を参照し、以上のような処理によって確立されたＴＣＰコネクションを利用してパケットを転送する際の処理について説明する。なお、以下では、ルータＡとルータＢの間におけるパケットの転送処理を例に挙げて説明する。
【０１８２】
ステップＳ６０：
端末ＡからルータＡに、送信先アドレスが１０．０．０．１であり、また、送信先ポートが２３番であるＴＣＰのＤＡＴＡパケットが到着する。
【０１８３】
ステップＳ６１：
ルータＡのＩＰ部１０は、１０．０．０．１が受信許可ＩＰアドレス保持部１０ａに登録されているためにこれを受信し、ＴＣＰ部１１を介してしてパケット転送部１７へ渡す。
【０１８４】
ステップＳ６２：
パケット転送部１７は、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６を検索し、送信先ＩＰアドレス・ポート情報である１０．０．０．１：２３を１５．２３．１．２：ＸＸに、送信元ＩＰアドレス・ポート情報である１９２．１６８．０．１：ＹＹを３４．５６．１０．４：ＷＷに変更し、パケットのデータグラムはそのままとする。
【０１８５】
ステップＳ６３：
パケット転送部１７は、アドレスの変換が終了したパケットをＴＣＰ部１１を介して送信する。
【０１８６】
ステップＳ７０：
ルータＡからルータＢのＸＸ番ポートにＴＣＰのＤＡＴＡパケットが到着する。
【０１８７】
ステップＳ７１：
ルータＢのＴＣＰ部１１は、ポートＸＸに到着したＤＡＴＡパケットを受信し、パケット転送部１７へ渡す。
【０１８８】
ステップＳ７２：
パケット転送部１７は、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６を検索し、送信先ＩＰアドレスおよびポート情報である１５．２３．１．２：ＸＸを１９２．１６８．０．２：２３に、送信元ＩＰアドレス・ポート情報である１９２．１６８．０．１：ＹＹを１０．０．０．１：ＺＺに変換し、パケットのデータグラムはそのままとする。
【０１８９】
ステップＳ７３：
パケット転送部１７は、アドレスの変換が終了したパケットを、ＴＣＰ部１１を介してＰＣ−Ｂ．ｈｏｍｅ−ａ．ｃｏｍ（端末Ｃ）に送信する。
【０１９０】
以上の処理により、ＴＣＰコネクションを利用してパケットを転送することが可能になる。
次に、図１７を参照して、ＴＣＰコネクションを終了する際にルータＡおよびルータＢにおいて実行される処理について説明する。
【０１９１】
ステップＳ８０：
ルータＡに端末Ａから送信先アドレスが１０．０．０．１であり、送信先ポートが２３番であるＴＣＰのＦＩＮパケットが到着する。
【０１９２】
ステップＳ８１：
ルータＡのＩＰ部１１は、１０．０．０．１が受信許可ＩＰアドレス保持部１０ａに登録されているのでこれを受信し、ＴＣＰ部１１を介してパケット転送部１７へ渡す。そして、ステップＳ８３とステップＳ８２の処理を並行して実行する。
【０１９３】
ステップＳ８２：
パケット転送用ＴＣＰコネクション管理部１８は、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６を検索し、送信先ＩＰアドレス・ポートが３４．５６．１０．４．ＷＷであり、送信元ＩＰアドレス・ポートが１５．２３．１．２：ＸＸであるコネクションからのＦＩＮに対するＡＣＫメッセージを受信したか否かを判定し、受信した場合には図１８の（２）に進み、それ以外の場合には同様の処理を繰り返す。
【０１９４】
ステップＳ８３：
パケット転送部１７は、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６を検索し、送信先ＩＰアドレス・ポート情報である１０．０．０．１：２３を１５．２３．１．２：ＸＸに、送信元ＩＰアドレス・ポート情報である１９２．１６８．０．１：ＹＹを３４．５６．１０．４：ＷＷに変換し、パケットのデータグラムはそのままの状態とし、ＴＣＰ部１１を介してルータＢに転送する。
【０１９５】
ステップＳ９０：
ルータＢのＸＸ番ポートにルータＡからＴＣＰのＦＩＮパケットが到着する。
ステップＳ９１：
ＴＣＰ部１１はポートＸＸで受信したＦＩＮパケットをパケット転送部１７へ渡す。そして、パケット転送部１７は、パケット転送用ＴＣＰコネクション管理部１８に、送信先ＩＰアドレスおよびポートが１５．２３．１．２：ＸＸであり、送信元ＩＰアドレスおよびポートが３４．５６．１０．４．ＷＷであるＴＣＰコネクションからＦＩＮが到着したことを通知した後、ステップＳ９２とステップＳ９３の処理を並行して実行する。
【０１９６】
ステップＳ９２：
パケット転送用ＴＣＰコネクション管理部１８は、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６を検索し、送信先ＩＰアドレスおよびポートが１０．０．０．１．ＺＺであり、送信元ＩＰアドレスおよびポートが１９２．１６８．０．２．２３であるコネクションからのＦＩＮに対するＡＣＫメッセージが受信されたか否かを判定し、受信された場合には図１８の（３）に進み、それ以外の場合には同様の処理を繰り返す。
【０１９７】
ステップＳ９３：
パケット転送部１７は、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６を検索し、送信先ＩＰアドレスおよびポート情報である１５．２３．１．２：ＸＸを１９２．１６８．０．２：２３に、送信元ＩＰアドレスおよびポート情報である３４．５６．１０．４．ＷＷを１０．０．０．１：ＺＺに変換し、パケットのデータグラムは変更せずに、ＴＣＰ部１１を介してＰＣ−Ｂ．ｈｏｍｅ−ａ．ｃｏｍへ送信する。
【０１９８】
続いて、図１８を参照して、以上の処理の続きについて説明する。
ステップＳ１００：
ルータＢと同様の動作、即ち、後述のステップＳ１１０〜Ｓ１１７の処理により、ＡＣＫパケットの転送および通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６のエントリの変更または削除を行なう。
【０１９９】
ステップＳ１１０：
ルータＢに、ＡＣＫパケットが到着する。
ステップＳ１１１：
ルータＢのＩＰ部１０は、ＡＣＫパケットに含まれているアドレス１０．０．０．１が、受信許可ＩＰアドレス保持部１０ａに登録されているのでこれを受信し、ＴＣＰ部１１を介してパケット転送部１７へ渡す。
【０２００】
ステップＳ１１２：
パケット転送部１７は、パケット転送用ＴＣＰコネクション管理部１８に、送信先ＩＰアドレスおよびポートが１０．０．０．１：ＺＺであり、送信元ＩＰアドレスおよびポートが１９２．１６８．０．２：２３であるＴＣＰコネクションからＡＣＫが到着したことを通知する。
【０２０１】
ステップＳ１１３：
パケット転送用ＴＣＰコネクション管理部は図１７のステップＳ９２で待っていたＡＣＫであることを識別し、パケット転送用ＴＣＰコネクション管理部１８は通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６を検索し、これに対応するエントリの通信許可フラグがオン（○）かｏｎｅ−ｗａｙ（△）かを判定し、ｏｎｅ−ｗａｙの場合にはステップＳ１１４に進み、それ以外の場合にはステップＳ１１６に進む。
【０２０２】
ステップＳ１１４：
既に説明済みの方法に基づいてＡＣＫパケットをルータＢへ転送する。
ステップＳ１１５：
パケット転送用ＴＣＰコネクション管理部１８は、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６に格納されているエントリを削除する。また、このとき、パケット転送用ＴＣＰコネクション管理部１８は、受信許可ＩＰアドレス保持部１０ａに、エントリの変更後送信元ＩＰアドレスに記載されているダミーアドレスの受信中止を通知し、ダミーＩＰアドレスプール部１５にダミーアドレスを返却する。
【０２０３】
ステップＳ１１６：
既に説明済みの方法に基づいてＡＣＫパケットをルータＢへ転送する。
ステップＳ１１７：
パケット転送用ＴＣＰコネクション管理部１８は、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６に格納されているエントリの通信許可フラグをＯｎｅ−ｗａｙに設定変更する。
【０２０４】
以上の処理により、ＴＣＰコネクションを終了することが可能になる。
次に、図１９を参照して、ＴＣＰコネクションが切断した場合における復旧処理について説明する。なお、以下では、ルータＡとルータＢの間のコネクションが切断した場合の復旧処理を例に挙げて説明する。
【０２０５】
ステップＳ１２０：
ルータＡのＴＣＰ部１１がルータＢ間とのＴＣＰコネクションが切断したことを検出する。
【０２０６】
ステップＳ１２１：
ルータＡのＴＣＰ部１１は、切断したコネクションの両端（ルータＡとルータＢ）それぞれのＩＰアドレスとポート番号をパケット転送用ＴＣＰコネクション管理部１８に通知する。
【０２０７】
ステップＳ１２２：
ルータＡのパケット転送用ＴＣＰコネクション管理部１８は、ＴＣＰ部１１から受け取ったデータをキーとして、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６を検索し、検索結果のエントリの“通信許可フラグ”をオフにする。
【０２０８】
ステップＳ１２３：
ルータＡのパケット転送用ＴＣＰコネクション管理部１８は、“送信先端末”フィールドがＮＵＬＬではないことから、ルータＢのポートＸＸとの間で、ＴＣＰコネクションを確立するようにＴＣＰ部１１に指示する。
【０２０９】
ステップＳ１２４：
既に説明済みの方法に基づいてＮｏｔｉｆｉｃａｔｉｏｎメッセージを送信する。
【０２１０】
ステップＳ１２５：
既に説明済みの方法に基づいてＡＣＫメッセージを受信する。
ステップＳ１２６：
パケット転送用ＴＣＰコネクション管理部１８は、エントリの送信変更後送信元ポートを新しいポート番号(VV)に書換える。
【０２１１】
ステップＳ１２７：
パケット転送部１７は、通信許可フラグをオンにする。
ステップＳ１３０：
ルータＢのＴＣＰ部がルータＡ間とのＴＣＰコネクション断を検出する。
【０２１２】
ステップＳ１３１：
ルータＢのＴＣＰ部１１は、切断したコネクションの両端（ルータＡとルータＢ）のそれぞれのＩＰアドレスとポート番号をパケット転送用ＴＣＰコネクション管理部１８に通知する。
【０２１３】
ステップＳ１３２：
ルータＢのパケット転送用ＴＣＰコネクション管理部１８は、ＴＣＰ部１１から受け取ったデータをキーとして、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６を検索し、検索結果のエントリの“通信許可フラグ”をオフの状態にする。
【０２１４】
ステップＳ１３３：
ルータＢのパケット転送用ＴＣＰコネクション管理部１８は、“送信先端末”フィールドがＮＵＬＬであることから、ルータＡからのコネクションの再設定を待つ。
【０２１５】
ステップＳ１３４：
ステップＳ１２４において送信されたＮｏｔｉｆｉｃａｔｉｏｎメッセージを受信する。
【０２１６】
ステップＳ１３５：
既に説明済みの方法に基づいてＮｏｔｉｆｉｃａｔｉｏｎメッセージに対するＡＣＫメッセージを送信する。
【０２１７】
ステップＳ１３６：
パケット転送用ＴＣＰコネクション管理部１８は、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６の該当するエントリの変更前送信元ポートを新しいポート番号（ＶＶ）に書換える。
【０２１８】
ステップＳ１３７：
パケット転送用ＴＣＰコネクション管理部１８は、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６の該当するエントリの通信許可フラグをオンにする。
【０２１９】
以上の処理により、ルータＡとルータＢの間のコネクションが切断した場合に、コネクションを復旧することができる。
次に、図２０を参照して、ルータＢと端末Ｃとの間のコネクションが切断した場合の復旧処理について説明する。
【０２２０】
ステップＳ１４０：
ルータＢのＴＣＰ部１１は、端末Ｃとの間のコネクションが切断したことを検出する。
【０２２１】
ステップＳ１４１：
ルータＢのＴＣＰ部１１は、切断したコネクションの両端（ルータＢと端末Ｃ）のそれぞれのＩＰアドレスとポート番号をパケット転送用ＴＣＰコネクション管理部１８に通知する。
【０２２２】
ステップＳ１４２：
ルータＢのパケット転送用ＴＣＰコネクション管理部１８は、ＴＣＰ部１１から受け取ったデータをキーとして、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６を検索し、検索結果のエントリの通信許可フラグをオフの状態にする。
【０２２３】
ステップＳ１４３：
ルータＢのパケット転送用ＴＣＰコネクション管理部１８は、端末Ｃのポート２３番との間で、ＴＣＰコネクションを確立するようにＴＣＰ部１１に指示する。その結果、ＴＣＰコネクションが発呼される。
【０２２４】
ステップＳ１４４：
ルータＢのパケット転送用ＴＣＰコネクション管理部１８は、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６の対応するエントリを変更する。即ち、送信元ポートを新しいポート番号（ＵＵ）に書き換える。
【０２２５】
ステップＳ１４５：
ルータＢのパケット転送用ＴＣＰコネクション管理部１８は、通信先端末・ゲートウェイＩＰアドレス／ポート保持部１６の対応するエントリの通信許可フラグをオンの状態にする。その結果、端末Ｂとの間でＴＣＰコネクションが確立されることになる。
【０２２６】
以上の処理により、ルータＢと端末Ｃとの間のＴＣＰコネクションが切断した場合でも、コネクションを復旧することが可能になる。
以上に説明したように、本発明によれば、ユニークなＦＱＤＮ（fully-qualified domain name：ホスト名，ドット，ドメイン名の三つで構成するホストの名前。www.fts.com等）をプライベートアドレス網内の端末に割り当てるようにしたので、プライベートアドレス網、グローバルアドレス網を問わず、ユニークな識別子を端末が有することができる。その結果、プライベートアドレス網同士はそれぞれ重複するアドレス空間を用いているが、プライベートアドレス網内の端末を一意化することが可能になる。
【０２２７】
また、本発明によれば、グローバルアドレス網内のＤＮＳサーバのツリーには属さないプライベートアドレス網用のＤＮＳサーバはプライベートアドレス網毎に用意し、これをグローバルアドレス網からアクセスできるようにしたので、グローバルアドレス網経由でプライベートアドレスの名前解決を実現することが可能になる。
【０２２８】
更に、本発明によれば、プライベートアドレス網内でのＴＣＰコネクションとグローバルアドレス網内でのＴＣＰコネクションをプライベート網・グローバル網境界ルータ（アドレス変換装置）が別個に張り、ルータが両コネクションをマップ（情報交換）することで、グローバルアドレス網からプライベートアドレス網へのＴＣＰコネクションを実現することが可能になる。
【０２２９】
（付記１）  第１のタイプのアドレスを有する通信装置で構成される第１のネットワークに属し、その配下に第２のタイプのアドレスを有する端末で構成される第２のネットワークを有する通信装置において、
他の通信装置の配下のネットワークに属する端末に付けられた名前を、当該他の通信装置に付けられた名前と対応して管理する手段と、
配下の端末から、通信相手となる端末に付けられた名前を受信した場合、前記管理手段により対応する通信装置に対してアドレス解決の要求を出力する手段と、
を設けたことを特徴とする通信装置。
【０２３０】
（付記２）  その配下の端末のアドレスをその端末に付けられた名前と対応させて管理する手段と、
前記他の通信装置からのその配下の端末のアドレス解決の要求に対して、前記管理手段によりアドレスを解決して、前記他の通信装置へ解決したアドレスを通知する手段と、
を設けたことを特徴とする付記１記載の通信装置。
【０２３１】
（付記３）  アドレス解決の要求に対してアドレスの解決通知を前記他の通信装置から受信した場合、通知を受けたアドレスを前記第２のタイプのアドレスであって、その配下のネットワークの端末のアドレスとして用いられないアドレスに変換したダミーアドレスと対応づけて管理する手段と、
変換後の前記アドレスを通信を要求した端末へ通知する手段と、
を設けたことを特徴とする付記２記載の通信装置。
【０２３２】
（付記４）  通信を要求した端末から、通知後のダミーアドレスを持つパケットを受信した場合、ダミーアドレスを前記他の通信装置のアドレスに変換する手段を設けたことを特徴とする付記３記載の通信装置。
【０２３３】
（付記５）  第１のタイプのアドレスを有する通信装置で構成される第１のネットワークと、通信装置の配下で第２のタイプのアドレスを有する端末で構成される第２のネットワークとからなるネットワークシステムにおいて、
前記通信装置には、その配下の端末のアドレスをそれぞれの端末に付けられた名前と対応させて管理する第１の管理手段と、端末の名前をその端末のアドレスを管理する通信装置と対応させて管理する第２の管理手段と、を設け、
配下の端末からの通信要求に対して通信相手の端末のアドレスを解決する他の通信装置を前記第２の管理手段により求め、他の通信装置で前記第１の管理手段によりアドレス解決を行うことを特徴とするネットワークシステム。
【０２３４】
（付記６）  各ノードがユニークなアドレスを有するグローバルアドレス網と、ユニークでないアドレスを有するプライベートアドレス網と、これらの間でデータを伝送する際にアドレスの変換を行なうアドレス変換装置とを有するネットワークシステムにおいて、
前記アドレス変換装置は、前記プライベートアドレス網に属する各ノードに対して、ユニークな名前を付与して管理し、前記グローバルアドレス網または他のプライベートアドレス網に属する所定のノードから所定の名前に対する問い合わせがなされた場合には、対応するプライベートアドレスを取得して通知する、ことを特徴とするネットワークシステム。
【０２３５】
（付記７）  送信端末側に配置された他のアドレス変換装置を更に有し、
前記他のアドレス変換装置には、各ノードに付与されているユニークな名前が予め登録されていることを特徴とする付記６記載のネットワークシステム。
【０２３６】
（付記８）  各ノードがユニークなアドレスを有するグローバルアドレス網と、ユニークでないアドレスを有するプライベートアドレス網と、前記グローバルアドレス網におけるアドレス変換を行なう第１のアドレス変換装置と、前記グローバルアドレス網と前記プライベートアドレス網との間におけるアドレス変換を行なう第２のアドレス変換装置とを有するネットワークシステムにおいて、
前記第１および第２のアドレス変換装置は、それぞれ独立にコネクションを確立し、相互にコネクションに関する情報を交換することにより、前記グローバルアドレス網と、前記プライベートネットワーク網との間で、データの授受を可能とする、ことを特徴とするネットワークシステム。
【０２３７】
（付記９）  前記第１のアドレス変換装置は、送信端末がコネクションを確立する際に、前記コネクションに関する情報を前記第２のアドレス変換装置に通知することを特徴とする付記８記載のネットワークシステム。
【０２３８】
（付記１０）  前記第１のアドレス変換装置は、受信端末の実際のプライベートアドレスとは異なるダミーのアドレスを前記送信端末に対して通知することを特徴とする付記９記載のネットワークシステム。
【０２３９】
（付記１１）  前記ダミーのアドレスは、前記受信端末の実際のプライベートアドレスとはネットワーククラスが異なるアドレスであることを特徴とする付記１０記載のネットワークシステム。
【０２４０】
（付記１２）  前記第２のアドレス変換装置は、前記受信端末との間のコネクションが切断された場合には、前記第１のアドレス変換装置から通知された前記コネクションに関する情報を参照して、コネクションを再度確立し直すことを特徴とする付記９記載のネットワークシステム。
【０２４１】
（付記１３）  前記第１のアドレス変換装置は、前記第２のアドレス変換装置との間のコネクションが切断された場合には、受信端末に関する情報を参照し、前記第２のアドレス変換装置との間に新たにコネクション確立するとともに、前記第２のアドレス変換装置に前記コネクションに関する情報を通知し、
前記第２のアドレス変換装置は、前記第１のアドレス変換装置から通知された前記コネクションに関する情報に基づいてコネクションを更新する、
ことを特徴とする付記９記載のネットワークシステム。
【０２４２】
（付記１４）  前記第１および第２のアドレス変換装置は、コネクションの状態を示す情報を保持し、この情報に基づいてデータを転送することを特徴とする付記９記載のネットワークシステム。
【０２４３】
（付記１５）  前記コネクションの状態を示す情報は、コネクションの確立中、片方向のみ確立済み、または、通信可能のいずれかを示す情報であることを特徴とする付記９記載のネットワークシステム。
【０２４４】
（付記１６）  各ノードがユニークなアドレスを有するグローバルアドレス網と、ユニークでないアドレスを有するプライベートアドレス網との間でデータを伝送する際にアドレスの変換を行なうアドレス変換装置において、
前記プライベートアドレス網に属する各ノードに対して、ユニークな名前を付与して管理し、前記グローバルアドレス網または他のプライベートアドレス網に属する所定のノードから所定の名前に対する問い合わせがなされた場合には、対応するプライベートアドレスを取得して通知する、ことを特徴とするアドレス変換装置。
【０２４５】
（付記１７）  各ノードがユニークなアドレスを有するグローバルアドレス網と、ユニークでないアドレスを有するプライベートアドレス網と、前記グローバルアドレス網と前記プライベートアドレス網との間におけるアドレス変換を行なう他のアドレス変換装置とを有するネットワークに接続され、前記グローバルアドレス網におけるアドレス変換を行なうアドレス変換装置において、
前記他のアドレス変換装置とは独立にコネクションを確立し、前記他のアドレス変換装置との間で相互にコネクションに関する情報を交換することにより、前記グローバルアドレス網と、前記プライベートネットワーク網との間で、データの授受を可能とすることを特徴とするアドレス変換装置。
【０２４６】
（付記１８）  前記アドレス変換装置は、送信端末がコネクションを確立する際に、前記コネクションに関する情報を前記他のアドレス変換装置に通知することを特徴とする付記１７記載のアドレス変換装置。
【０２４７】
（付記１９）  前記アドレス変換装置は、受信端末の実際のプライベートアドレスとは異なるダミーのアドレスを送信端末に対して通知することを特徴とする付記１８記載のアドレス変換装置。
【０２４８】
（付記２０）  前記ダミーのアドレスは、前記受信端末の実際のプライベートアドレスとはネットワーククラスが異なるアドレスであることを特徴とする付記１９記載のアドレス変換装置。
【０２４９】
【発明の効果】
以上説明したように本発明では、第１のタイプのアドレスを有する通信装置で構成される第１のネットワークに属し、その配下に第２のタイプのアドレスを有する端末で構成される第２のネットワークを有する通信装置において、他の通信装置の配下のネットワークに属する端末に付けられた名前を、当該他の通信装置と対応して管理する手段と、配下の端末から、通信相手となる端末に付けられた名前を受信した場合、管理手段により対応する他の通信装置に対して、通信相手となる端末のアドレス解決の要求を出力する手段と、アドレス解決の要求によって得られたアドレスを、送信元アドレスおよび通信相手となる端末への通信に用いる送信元ポート番号と共に他の通信装置に通知して、対応関係を登録させる手段と、を設けるようにしたので、プライベートアドレス網、グローバルアドレス網を問わず、ユニークな識別子を端末に付与することができる。また、ユニークな識別子から端末の名前解決を行い、コネクションを確立することができる。
【０２５０】
また、以上説明したように本発明では、第１のタイプのアドレスを有する通信装置で構成される第１のネットワークと、通信装置の配下で第２のタイプのアドレスを有する端末で構成される第２のネットワークとからなるネットワークシステムにおいて、それぞれの通信装置には、その配下の端末のアドレスをそれぞれの端末に付けられた名前と対応させて管理する第１の管理手段と、その配下にない端末の名前をその端末のアドレスを管理する他の通信装置と対応させて管理する第２の管理手段と、が設けられており、通信装置は、配下の端末からの通信要求に対して通信相手の端末のアドレスを解決する他の通信装置を第２の管理手段により求めてアドレス解決の要求を出力し、他の通信装置で第１の管理手段によりアドレス解決を行わせ、アドレス解決の要求によって得られたアドレスを、送信元アドレスおよび通信相手の端末への通信に用いる送信元ポート番号と共に他の通信装置に通知して、対応関係を登録させるようにしたので、ユニークな識別子を端末に付与し、その識別子に基づいて通信を行うことが可能になる。また、ユニークな識別子から端末の名前解決を行い、コネクションを確立することができる。
【０２５１】
また、以上説明したように本発明では、各ノードがユニークなアドレスを有するグローバルアドレス網と、ユニークでないアドレスを有するプライベートアドレス網と、これらの間でデータを伝送する際にアドレスの変換を行うアドレス変換装置とを有するネットワークシステムにおいて、アドレス変換装置は、プライベートアドレス網に属する各ノードに対して、ユニークな名前を付与して管理し、グローバルアドレス網または他のプライベートアドレス網に属する所定のノードから所定の名前に対する問い合わせがなされた場合には、対応するプライベートアドレスを取得して通知し、通知先のノードから、送信元アドレスおよびプライベートアドレスが示すノードへの通信に用いられる送信元ポート番号と共に、プライベートアドレスの通知を受け取ると、対応関係をアドレス変換装置自身に登録するようにしたので、プライベートアドレス網またはグローバルアドレス網の別を問わず、ユニークな識別子を各ノードが有することが可能になる。また、ユニークな識別子からノードの名前解決を行い、コネクションを確立することができる。
【０２５２】
特に、それぞれの通信装置が、配下の端末との間のコネクションと他の通信装置との間のコネクションとを独立に確立し、相互にコネクションに関する情報を交換することで、グローバルアドレス網からプライベートアドレス網へのコネクションを確立してデータを授受することが可能になる。
【図面の簡単な説明】
【図１】本発明の実施の形態の構成を示す図である。
【図２】ルータの詳細な構成例を示す図である。
【図３】プライベート網に属する端末Ａが同じくプライベート網に属する端末Ｂに対してアクセスする際の名前解決処理について説明するシグナルフロー図である。
【図４】通信先プライベート網用名前解決サーバ登録部に登録されている情報のフォーマットを説明する図である。
【図５】ＴＣＰコネクションを確立する場合の処理について説明するシグナルフロー図である。
【図６】ＴＣＰコネクションを確立する場合の処理について説明するシグナルフロー図である。
【図７】通信先端末・ゲートウェイＩＰアドレス／ポート保持部に登録されているエントリのフォーマットを説明する図である。
【図８】ＴＣＰコネクションを利用してパケットを転送する場合の処理について説明するシグナルフロー図である。
【図９】ＴＣＰコネクションを終了する際に、双方向の通信を片方向に変更する場合の処理について説明するシグナルフロー図である。
【図１０】ＴＣＰコネクションを終了する際に、片方向の通信を終了する場合の処理について説明するシグナルフロー図である。
【図１１】ルータＡとルータＢとの間のコネクションが切断した場合において、これを復旧する際の処理について説明するシグナルフロー図である。
【図１２】ルータＢと端末Ｃとの間のコネクションが切断した場合において、これを復旧する際の処理について説明するシグナルフロー図である。
【図１３】名前解決処理が実行される際のルータＡにおける処理の流れを説明するフローチャートである。
【図１４】ＴＣＰコネクションを確立する際の処理について説明するフローチャートである。
【図１５】ＴＣＰコネクションを確立する際の処理について説明するフローチャートである。
【図１６】図１４および図１５の処理によって確立されたＴＣＰコネクションを利用してパケットを転送する際の処理について説明するフローチャートである。
【図１７】ＴＣＰコネクションを終了する際にルータＡおよびルータＢにおいて実行される処理について説明するフローチャートである。
【図１８】ＴＣＰコネクションを終了する際にルータＡおよびルータＢにおいて実行される処理について説明するフローチャートである。
【図１９】ＴＣＰコネクションが切断した場合における復旧処理について説明するフローチャートである。
【図２０】ルータＢと端末Ｃとの間のコネクションが切断した場合の復旧処理について説明するフローチャートである。
【図２１】各クラスのＩＰアドレスの構成を示す図である。
【図２２】各クラスのＩＰアドレスに使用される数字の範囲を説明するための図である。
【図２３】ＲＦＣ１５９７に規定されているプライベートＩＰアドレスの数値を示す図である。
【図２４】公報中に記載されている図１に記載されているインターネットワーク環境のブロック図に同公報の説明内容を要約して付加して示した図である。
【図２５】ＮＡＴ機能を説明する図である。
【図２６】ＩＰマスカレードにおけるネットワークの構成とＩＰアドレスの使用形態のモデルを示す図である。
【図２７】ＩＰマスカレードにおけるプライベートＩＰアドレスとグローバルＩＰアドレスの対応の一例を示す図である。
【符号の説明】
１０  ＩＰ部
１０ａ  受信許可ＩＰアドレス保持部
１１  ＴＣＰ部
１１ａ  受信ポート変更部
１２  名前解決部
１３  プライベート網宛名前解決判定部
１４  通信先プライベート網用名前解決サーバ登録部
１５  ダミーＩＰアドレスプール部
１６  通信先端末・ゲートウェイＩＰアドレス／ポート保持部
１７  パケット転送部
１８  パケット転送用ＴＣＰコネクション管理部
１９  通信先端末アドレス／ポートネゴシエーション部
２０  通信手段
２１  コンソール
【図１】
0004010830.tif 000002
【図２】
0004010830.tif 000003
【図３】
0004010830.tif 000004
【図４】
0004010830.tif 000005
【図５】
0004010830.tif 000006
【図６】
0004010830.tif 000007
【図７】
0004010830.tif 000008
【図８】
0004010830.tif 000009
【図９】
0004010830.tif 000010
【図１０】
0004010830.tif 000011
【図１１】
0004010830.tif 000012
【図１２】
0004010830.tif 000013
【図１３】
0004010830.tif 000014
【図１４】
0004010830.tif 000015
【図１５】
0004010830.tif 000016
【図１６】
0004010830.tif 000017
【図１７】
0004010830.tif 000018
【図１８】
0004010830.tif 000019
【図１９】
0004010830.tif 000020
【図２０】
0004010830.tif 000021
【図２１】
0004010830.tif 000022
【図２２】
0004010830.tif 000023
【図２３】
0004010830.tif 000024
【図２４】
0004010830.tif 000025
【図２５】
0004010830.tif 000026
【図２６】
0004010830.tif 000027
【図２７】
0004010830.tif 000028