(57)【特許請求の範囲】
【請求項１】
プライベートＩＰアドレスをグローバルＩＰアドレスに変換する少なくとも第１及び第２のアドレス変換装置のグローバルＩＰアドレス網側を経由して、該第１及び第２のアドレス変換装置のプライベートＩＰアドレス網側にそれぞれ接続された少なくとも第１及び第２のノード間を接続する方法において、
該第１又は第２のアドレス変換装置を経由してそれぞれ該第１又は第２のノードとの間に制御用パスとしての制御用セッションを予め確立しておく第１ステップと、
該第１のノードから、データ用パスとしてのデータ用セッションを経由して、接続要求フレームを受けたとき、該制御用セッションを介して該第２のノードに該接続要求フレームを該第２のアドレス変換装置を経由して転送する第２ステップと、
該第２のノードから、該データ用セッションを経由して、接続回答フレームを受けたとき、該制御用セッションを介して該第１のノードに該接続回答フレームを該第１のアドレス変換装置を経由して転送する第３ステップと、
を備えたことを特徴とするノード間接続方法。
【請求項２】
請求項１において、
該第２又は第１のノードが、それぞれ該接続要求フレーム又は該接続回答フレームを受けた後、それぞれのフレームに含まれる該第１又は第２のアドレス変換装置のＩＰアドレス及びポート番号に基づいて該第１又は第２のアドレス変換装置に向けてデータフレームを送るステップと、該第１又は第２のアドレス変換装置が、それぞれ、該データフレームに含まれる該第１又は第２のノードのＩＰアドレス及びポート番号と該第２又は第１のアドレス変換装置のＩＰアドレス及びポート番号とをそれぞれバインドしてノード間の直接通信を可能にするステップと、をさらに備えたことを特徴とするノード間接続方法。
【請求項３】
請求項１において、
該第２のノードが、該接続要求フレームを受けたとき、該接続要求フレームに係る自ノードのポートが利用可能でないときは、その旨の該接続回答フレームを該制御用セッションのポートから該第１のノードへ送出するステップをさらに含むことを特徴としたノード間接続方法。
【請求項４】
請求項１において、
該制御用セッションが、各ノードの識別番号と、該第１及び第２のアドレス変換装置のグローバルIPアドレス及びポート番号と、該第１及び第２のノードのポート番号に基づいて確立されることを特徴としたノード間接続方法。
【請求項５】
請求項１において、
該アドレス変換装置が、NAPT装置であることを特徴としたノード間接続方法。
【請求項６】
プライベートＩＰアドレスをグローバルＩＰアドレスに変換する少なくとも第１及び第２のアドレス変換装置のグローバルＩＰアドレス網側を経由して、該第１及び第２のアドレス変換装置のプライベートＩＰアドレス網側にそれぞれ接続された少なくとも第１及び第２のノード間を接続する装置において、
該第１又は第２のアドレス変換装置を経由してそれぞれ該第１又は第２のノードとの間に制御用パスとしての制御用セッションを予め確立しておく第１手段と、
該第１のノードから、データ用パスとしてのデータ用セッションを経由して、接続要求フレームを受けたとき、該制御用セッションを介して該第２のノードに該接続要求フレームを該第２のアドレス変換装置を経由して転送する第２手段と、
該第２のノードから、該データ用セッションを経由して、接続回答フレームを受けたとき、該制御用セッションを介して該第１のノードに該接続回答フレームを該第１のアドレス変換装置を経由して転送する第３手段と、
を備えたことを特徴とするノード間接続装置。
【請求項７】
請求項６において、
該第２又は第１のノードが、それぞれ該接続要求フレーム又は該接続回答フレームを受けた後、それぞれのフレームに含まれる該第１又は第２のアドレス変換装置のＩＰアドレス及びポート番号に基づいて該第１又は第２のアドレス変換装置に向けてデータフレームを送る手段を備え、該第１又は第２のアドレス変換装置が、それぞれ、該データフレームに含まれる該第１又は第２のノードのＩＰアドレス及びポート番号と該第２又は第１のアドレス変換装置のＩＰアドレス及びポート番号とをそれぞれバインドしてノード間の直接通信を可能にする手段を備えたことを特徴とするノード間接続装置。
【請求項８】
請求項６において、
該第２のノードが、該接続要求フレームを受けたとき、該接続要求フレームに係る自ノードのポートが利用可能でないときは、その旨の該接続回答フレームを該制御用セッションのポートから該第１のノードへ送出する手段をさらに含むことを特徴としたノード間接続装置。
【請求項９】
請求項６において、
該制御用セッションが、各ノードの識別番号と、該第１及び第２のアドレス変換装置のグローバルIPアドレス及びポート番号と、該第１及び第２のノードのポート番号に基づいて確立されることを特徴としたノード間接続装置。
【請求項１０】
請求項６において、
該アドレス変換装置が、NAPT装置であることを特徴としたノード間接続装置。
【請求項１１】
第１のノードと、第２のノードと、第１のアドレス変換装置と、第２のアドレス変換装置とを用い、更に、該第１のノードの第１のポートを用いた通信を行う際に用いられる該第１のノードの識別情報と該第１のアドレス変換装置のグローバルＩＰアドレスと該第１のアドレス変換装置の第1のポート番号との対応関係と、該第２のノードの第１のポートを用いた通信を行う際に用いられる該第２のノードの識別情報と該第２のアドレス変換装置のグローバルＩＰアドレスと該第２のアドレス変換装置の第１のポート番号との対応関係を記憶する管理装置を用いた、該第１のノードと該第２のノード間におけるデータ通信方法であって、
該第１のノードから、該第１のノードの第２のポート番号と該第２のノードの第２のポート番号を用いたデータ通信のための接続要求を、該第１ノードのローカルＩＰアドレスを送信元アドレス、該第２のポート番号を通信元ポート番号とし、前記管理装置のグローバルＩＰアドレスを送信先アドレス、前記管理装置の所定のポート番号を通信先ポート番号として送信し、
前記管理装置は、前記第１のアドレス変換装置によって、送信元アドレスが前記第１のアドレス変換装置のグローバルＩＰアドレスに変換され、通信元ポート番号が前記第１のアドレス変換装置の第２のポート番号に変換された接続要求を受信し、
前記管理装置は、変換された送信元アドレスと通信元ポート番号のそれぞれから抽出した前記第１のアドレス変換装置のグローバルＩＰアドレス、前記第１のアドレス変換装置の第２のポート番号を、受信した前記接続要求に追加し、記憶する前記対応関係に基づいて取得した、該接続要求に含まれる前記第２のノードの識別情報に対応する前記第２のアドレス変換装置のグローバルＩＰアドレスを送信先アドレス、前記第２のアドレス変換装置の第１のポート番号を通信先ポート番号として、追加後の接続要求を送信し、
前記第２のノードは、前記第２のアドレス変換装置を介して、前記追加後の接続要求を受信すると、該追加後の接続要求に含まれる該第２のノードの第２のポート番号を用いてデータ通信が可能な場合に、該第２のノードのローカルＩＰアドレスを送信元アドレス、該第２のノードの第２のポート番号を通信元ポート番号として、前記接続要求に対する応答を前記管理装置に送信し、
前記管理装置は、前記第２のアドレス変換装置によって、送信元アドレスが前記第２のアドレス変換装置のグローバルＩＰアドレスに変換され、通信元ポート番号が前記第２のアドレス変換装置の第２のポート番号に変換された応答を受信し、
前記管理装置は、変換された送信元アドレスと通信元ポート番号のそれぞれから抽出した前記第２のアドレス変換装置のグローバルＩＰアドレス、前記第２のアドレス変換装置の第２のポート番号を、受信した前記応答に追加するとともに、記憶する前記対応関係に基づいて取得した、前記応答に含まれる前記第１のノードの識別情報に対応する前記第１のアドレス変換装置のグローバルＩＰアドレスを送信先アドレス、前記第１のアドレス変換装置の第１のポート番号を通信先ポート番号として、追加後の応答を送信し、
前記第１のノードは、前記第１のアドレス変換装置を介して受信した前記追加後の応答から前記第２のアドレス変換装置のグローバルＩＰアドレスと、前記第２のアドレス変換装置の第２のポート番号を取得し、
前記第１のノードは、前記第１のノードのローカルＩＰアドレスを送信元アドレス、前記第１のノードの第２のポートを通信元ポート番号とし、取得した前記第２のアドレス変換装置のグローバルＩＰアドレスを送信先アドレス、前記第２のアドレス変換装置の第２のポート番号を通信先ポート番号とするフレームを送信することで、前記第１のアドレス変換装置にバインディング情報を記憶させ、前記第２のノードは、前記第２のノードのローカルＩＰアドレスを送信元アドレス、前記第２のノードの第２のポート番号を通信元ポート番号とし、前記第1のアドレス変換装置のグローバルＩＰアドレスを送信先アドレスとし、前記第１のアドレス変換装置の第２のポート番号を通信先ポート番号とするフレームを送信することで、前記第２のアドレス変換装置にバインディング情報を記憶させ、
前記第１のノードと前記第２のノードとの間で、前記第１のアドレス変換装置、前記第２のアドレス変換装置を介したデータ通信を行う、
ことを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はノード間接続方法及び装置に関し、特に異なる割当ポリシーにより管理されたアドレス空間、すなわち、プライベートIPアドレス網及びグローバルIPアドレス網を経由してノード（端末）間を接続する方法及び装置に関するものである。
【背景技術】
【０００２】
(1)IPアドレスの種類とその変換方法
IPアドレスは、その割当ポリシーから、グローバルIPアドレスとプライベートIPアドレスの二種類が、それぞれ下記のように定義されている。
・グローバルIPアドレス：インターネットに接続された機器に一意に割り当てられたIPアドレス（例えば非特許文献1参照。)。
・プライベートIPアドレス：組織内のネットワーク（イントラネット等）に接続された機器に一意に割り当てられたIPアドレス。申請を行わなくても組織内で自由に割り当てることができるが、インターネット上での一意性は保証されないため、そのままではインターネットを通じて通信を行なうことはできない（例えば非特許文献2参照。)。
【０００３】
(2)アドレス変換
プライベートIPアドレスを有するノードがグローバルIPアドレスを有するノードと通信するためには、両アドレス間でのアドレス変換が必要であり、その代表的な手法としてNAPT（Network Address Port Translation:IPマスカレード）機能を有する装置（以下、単に“NAPT装置”と称する。）が広く普及している（例えば非特許文献3参照。)。
・NAPT装置：図16に示すように、プライベートIPアドレスを有するノードが複数、すなわち、プライベートIPアドレス“192.168.0.10”のローカル（プライベート）ノード（以下、単にノードと称することがある。）N1と、プライベートIPアドレス“192.168.0.20”のローカルノードN2がプライベートIPアドレス網NW1中にあり、グローバルIPアドレス“202.232.2.13”のグローバルノードN3がグローバルIPアドレス網NW2中に在る場合、単一のグローバルIPアドレスだけでは、ノードN3は、どのプライベートIPアドレスのノードからパケット（フレーム）を受信したかが判断できない。このため、NAPT装置ACを設け、ここにバインドテーブルBTを設けることによりIPアドレスとポート番号を対応させることでパケットとローカルノードとを対応付けることができる。
【０００４】
例えば、プライベートIPアドレス“192.168.0.10”を有するノードN1からパケットを最初に受信したNAPT装置ACは、自分のグローバルIPアドレス網NW2側のポート（IPアドレス“202.19.176.120”：ポート番号“10080”）を割り当てることで、バインドテーブルBTのエントリが作成される。すなわち、このバインドテーブルBTは、ノードN1が送信したフレームによりエントリが作成される（NAPT装置ACのグローバルIPアドレス網NW2側のポートが割り当てられる）ので、NAPT装置ACはローカルノードN1,N2からグローバルノードN3への方向のアドレス変換のみが可能となる。
【０００５】
このため、図17に示す如く、ノードN1とN2が、それぞれ互いに異なるプライベートIPアドレス空間NW1及びNW3に設置され、それぞれのNAPT装置AC1及びAC2並びに両者を結ぶグローバルIPアドレス網N2を介して接続される場合には、フレームがグローバルIPアドレス網からプライベートIPアドレス網内に到達できず、ノードN1-N2間の通信ができない（ステップT0）。
【０００６】
(3)STUN
上記（2）に示したNAPT装置の問題点を解決するための手法として、STUN (RFC3489) がある。（例えば非特許文献4参照。）。
【０００７】
このSTUNでは、図18に示すように、グローバルIPアドレス網NW2の側に、以下の情報をテーブルTBLで管理するアソシエーションサーバ（以下、単にサーバと称することがある。）SRVを設けることで、送受信ノード双方があたかも送信側であるかの如く振舞うこと（双方が受信に先立って、フレームを送信すること）で、問題を解決する。なおSTUNはUDPを対象にしており、TCPは対象外である。
【０００８】
[アソシエーションサーバSRVが管理するテーブルTBLの情報]
・NAPT装置AC1,AC2のグローバルIPアドレス（WAN IPアドレス）とグローバルポート番号（WANポート）
・ノードの識別番号（全ノードにユニークに割り当てられたID）
・ノードのローカルポート（LANポート）番号
【０００９】
すなわち、ノードN1,N2は、予めアソシエーションサーバSRVに外部との接続を許可するLANポートを登録し、アソシエーションサーバSRVは各ノードN1,N2にユニークなID（以下、ノードIDと称することがある）を割り当てる。これにより、アソシエーションサーバSRVは管理テーブルTBLのエントリを作成する。
【００１０】
以下、図18を参照してノード間接続（通信）の手順を示す。なお、本図では、ノードN1のポート700からノードN2のポート300へ接続する例を示す。また、ポートとポート番号が同じ記号で表される場合がある。
【００１１】
ステップS11:
通信元ノードN1は、通信を希望する通信先ノードN2のノードID“0002”とローカルポート番号“300”からなる『接続要求』フレームをアソシエーションサーバSRVに送信する。
【００１２】
ステップS12:
アソシエーションサーバSRVは、通信元ノードN1及び通信先ノードN2に、それぞれ、相手側のNAPT装置AC2及びAC1のグローバルIPアドレス網NW2側のIPアドレス及びポート番号を通知する。すなわち、NAPT装置AC1のグローバルIPアドレス“100.101.102.10: 8700”をノードN2に通知し、NAPT装置AC2のグローバルIPアドレス“200.50.40.24：4100”をノードN1に通知する。
【００１３】
ステップS13:
ノードN1は、上記のステップS12で通知されたPeerとなるNAPT装置AC2のグローバルIPアドレス及びポート番号(200.50.40.24:4100)へフレームを送信する。これによりNAPT装置AC1は、ノードN1のプライベートIPアドレス及びポート番号と、NAPT装置AC2のグローバルIPアドレス及びポート番号とをバインド（関連付け）する。
【００１４】
ステップS14:
ノードN2は、上記のステップS12で通知されたPeerとなるNAPT装置AC1のグローバルIPアドレス及びポート番号(100.101.102.10:8700)へフレームを送信する。これによりNAPT装置AC2は、ノードN2のプライベートIPアドレス及びポート番号と、NAPT装置AC1のグローバルIPアドレス及びポート番号とをバインド（関連付け）する。
【００１５】
ステップS15:
ノードN1及びN2は、アソシエーションサーバSRVを介さずにNAPT装置AC1-AC2を経由して直接セッション（パス）を確立する。
【００１６】
すなわち、上記のステップS12で通信元ノードと通信先ノードにそれぞれNAPT装置のグローバルIPアドレスとポート番号を通知することで、上記のステップS13,S14それぞれにおいてプライベートIPアドレス網NW1,NW3側のノードN1,N2からアクセスを開始できることになる。
【００１７】
一方、サーバ各々の相互の直接的な通信により転送効率を向上させる従来技術として、P側（プライベート網側）、G側（グローバル網側）の機器を、G側に設置したセッション管理サーバに接続し、セッション管理サーバによって一意に割り当てられたデータ領域を監視し、取得した自らに関するデータ転送要求等のセッション情報に従って、セッション管理サーバを経由せず機器間で直接データ転送を行うとともに、G側からP側への直接データ転送は、P側からG側への直接データ取得に置き換えることで可能とするネットワーク・ルータを越えてプライベート・アドレスを持つ機器とグローバル・アドレスを持つ機器との間で動的に双方向データ交換を行う装置、機構、方法およびこれらを記録した媒体がある（例えば、特許文献1参照。）。
【００１８】
【非特許文献１】http://e-words.jp/w/E382B0E383ADE383BCE38390E383ABE382A2E38389E383ACE382B9.html
【非特許文献２】http://e-words.jp/w/E38397E383A9E382A4E38399E383BCE38388E382A2E383 89E383ACE382B9.html
【非特許文献３】http://www.asi.co.jp/techinfo/unix/nat/html
【非特許文献４】http://www.ietf.org/rfc/rfc3489.txt?number=3489
【特許文献１】特開2003-101590号公報
【発明の開示】
【発明が解決しようとする課題】
【００１９】
上述したSTUNのアソシエーションサーバは、各ノードが公開しているポート数分のエントリ（登録）を有する管理テーブルにより、ノードへアクセスする通信を実現する。図18の例では、アソシエーションサーバSRVのテーブルTBLは5ポート分のエントリを有している。
【００２０】
このため、エントリするポート数が増加すると、アソシエーションサーバのリソース（メモリ、ハードディスク、CPUなど）のコスト負担が増え、結果としてスケーラビリティに制限が生じてしまう。
【００２１】
従って、本発明は、ノード間接続をアソシエーションサーバが保持するエントリの数を必要最小限に抑えて、ノード間アクセスを実現すること（すなわち、図18に示す管理テーブルTBLの項番数を減らして同等の機能を提供すること）を目的とする。
【課題を解決するための手段】
【００２２】
上記の目的に鑑み、本発明者は、以下の通り、制御用セッションとデータ転送用セッションとを分離することに着目した。
(1)両セッションを使い、STUNのアソシエーションサーバの管理テーブルが保持していた情報をノード間で動的に交換する。
(2)アソシエーションサーバは、制御用セッション情報のみを管理する。
【００２３】
このような点に基づき、本発明に係るノード間接続方法（装置）は、プライベートＩＰアドレスをグローバルＩＰアドレスに変換する少なくとも第１及び第２のアドレス変換装置のグローバルＩＰアドレス網側を経由して、該第１及び第２のアドレス変換装置のプライベートＩＰアドレス網側にそれぞれ接続された少なくとも第１及び第２のノード間を接続するとき、該第１又は第２のアドレス変換装置を経由してそれぞれ該第１又は第２のノードとの間に制御用パスとしての制御用セッションを予め確立しておく第１ステップ（手段）と、該第１のノードから、データ用パスとしてのデータ用セッションを経由して、接続要求フレームを受けたとき、該制御用セッションを介して該第２のノードに該接続要求フレームを該第２のアドレス変換装置を経由して転送する第２ステップ（手段）と、該第２のノードから、該データ用セッションを経由して、接続回答フレームを受けたとき、該制御用セッションを介して該第１のノードに該接続回答フレームを該第１のアドレス変換装置を経由して転送する第３ステップ（手段）と、を備えたことを特徴としている。
【００２４】
なお、このノード間接続装置は、下記に述べるアソシエーションサーバに相当している。
【００２５】
ここで、上記の第２又は第１のノードは、それぞれ該接続要求フレーム又は該接続回答フレームを受けたとき、それぞれのフレームに含まれる該第１又は第２のアドレス変換装置のＩＰアドレス及びポート番号に基づいて該第１又は第２のアドレス変換装置に向けてデータフレームを送り、該第１又は第２のアドレス変換装置が、それぞれ、該データフレームに含まれる該第１又は第２のノードのＩＰアドレス及びポート番号と該第２又は第１のアドレス変換装置のＩＰアドレス及びポート番号とをそれぞれバインドしてノード間の直接通信を可能にすることができる。
【００２６】
また、上記の第２のノードは、該接続要求フレームを受けたとき、該接続要求フレームに係る自ノードのポートが利用可能でないときは、その旨の該接続回答フレームを該制御用セッションのポートから該第１のノードへ送出することができる。
【００２７】
また、上記の制御用セッションは、各ノードの識別番号と、該第１及び第２のアドレス変換装置のグローバルIPアドレス及びポート番号と、該第１及び第２のノードのポート番号に基づいて確立することができる。
【００２８】
なお、上記アドレス変換装置は、例えばNAPT装置である。
【００２９】
上記の本発明に係るノード間接続方法及び装置を図を参照して以下に説明する。なお、この場合に用いる図とその説明は本発明の理解を助けるための例示に過ぎず、本発明はこれらに限定されるものではない。
【００３０】
動作原理［1］
本発明の動作原理[1]を示す図1は、図18に示したSTUNと同様の構成を有している。この図示の例において、ノードN1のポート600からノードN2のポート300へアクセスする場合について説明する。この場合、下記事項を前提とする。
【００３１】
(1)制御用セッションCS1,CS2は管理テーブルTBLに示すように、予め確立されているものとする。各ノードN1,N2は任意のポートを制御用セッションCS1,CS2に利用できる。図1の例では下記のポートで制御用セッションCS1,CS2を確立することとする。
・ノードN1:ポート500
・ノードN2:ポート400
【００３２】
(2)ノードN1は、アクセスするアソシエーションサーバSRVのグローバルIPアドレス“200.210.100.5”とポート番号“10000”、ノードN2のノードID“0002”とポート番号“300”を、ここでは記載しない手法で予め知っているものとする。
【００３３】
また、ノードN1-N2間で交換される制御フレームのフォーマットを図2に示す。このフレームの名フィールドの内容は次のとおりである。
【００３４】
(a) UDP/IPヘッダ：既存のいわゆるTCP/IPのヘッダ
(b) フレーム種別(接続要求/接続回答):フレームが、『接続要求』か、『接続回答』か、を示すフィールド
(c) 接続OK/NGフラグ：通信先のノードが、通信元との通信を行うか、拒否するかを示すフラグ
【００３５】
(d) NAPT装置のIPアドレス:NAPT装置のグローバルIPアドレス
(e) NAPT装置のポート番号:NAPT装置のポート番号(WANポート番号)
(f) 通信元ノードID：接続要求を発生した通信元ノードのノードID
【００３６】
(g) 通信元LAN(ローカル)ポート番号:接続要求を発生した通信元ノードが通信先ノードとの通信時に利用するポート番号
(h) 通信先ノードID:接続要求の通信先ノードのID
(i) 通信先LANポート番号:通信元ノードが、通信先ノードに接続を要求するポート番号
【００３７】
以下、図1の動作手順を、図3に示したフレームの状態遷移例に沿って説明する。なお、図中の「通信元」はフレームの最初の出発点、「送信元」は、フレームの直近の出発点、「通信先」はフレームの最終的な到着点、そして、「宛先」はフレームの直近の到着点を表わす。
【００３８】
ステップS1_1, S1_2:
ノードN1は、ノードN2への『接続要求』（図3(1)(b)のフレームの種別）のフレーム（以下、単に接続要求と称することがある。）を、ポート番号“300”（同(i)）のノードN2と通信するデータ用セッションDS1のポート番号“600”(同(g))からアソシエーションサーバSRV宛に送信する。ここでは、接続要求フレームは制御用セッションCS1で送信されない。なお、ノードN1は、アソシエーションサーバSRVのグローバルIPアドレス及びポート番号（同(a-3):(a-4)）を予め知っているので、これに対応するNAPT装置AC1のポート番号“7800”を自動的に割り当てることになる。
【００３９】
ステップS1_3, S1_4:
アソシエーションサーバSRVは、ノードN1からの『接続要求』フレームに、NAPT装置AC1のグローバルIPアドレス網NW2側のグローバルIPアドレスとポート番号（100.101.102.10:7800）を付与すると共に、このときノードN2に対しては管理テーブルTBLによる制御用セッションCS2しか設定されていないので、この制御用セッションCS2を介して、ノードN2のポート番号“400”（図3(1)(a-4)）宛に転送する。
【００４０】
この場合、アソシエーションサーバSRVは、NAPT装置AC1のグローバルIPアドレス網NW2側のIPアドレスとポート番号（100.101.102.10:7800）を、NAPT装置AC1から受信した『接続要求』フレーム中の送信元IPアドレスとポート番号のフィールド（図3(1)(a-1):(a-2)）から得る。
【００４１】
ステップS2, S3, S4_1, S4_2:
ノードN2は、上記のステップS1_3,S1_4の『接続要求』フレームを受信すると、該接続要求の通信先ポート“300”が利用可能であるか否かを判断する。ノードN2は、利用可能であれば、『接続OK/NGフラグ=OK』（図3(2)(C)）とした『接続回答』フレームを、『接続要求』フレームの通信先ポート“300”（同(a-2)）からデータ用セッションDS2を経由してアソシエーションサーバSRV宛に送信する。なお、利用不可である場合については、本発明の動作原理[2]で後述する。
【００４２】
ステップS4_3,S4_4:
アソシエーションサーバSRVは、上記のステップS3の『接続回答』フレームを受信すると、その通信元ノードID値“0001”（同(f)）=ノードN1を識別して、通信先ノードN1への制御用セッションCS1を特定する。接続OK/NGフラグ=OKの場合、上記のステップS3の『接続回答』フレームに、NAPT装置AC2のグローバルIPアドレス網NW2側のIPアドレスとポート番号（200.50.40.24:4100）を付与し、ノードN1への制御用セッションCS1を介してノードN1宛に転送する。
【００４３】
この場合、アソシエーションサーバSRVは、NAPT装置AC2のグローバルIPアドレス網NW2側のIPアドレスとポート番号（200.50.40.24:4100）を、NAPT装置AC2から受信した『接続回答』フレームの送信元IPアドレスとポート番号のフィールド（図3(2)(a-2):(a-1)）から得る。
【００４４】
ステップS5:
ノードN1は、上記のステップS4_3, S4_4で転送された『接続回答』フレームを受信し、該接続回答の『接続OK/NGフラグ』を識別する。この結果、接続OK/NGフラグ=OKの場合には、ノードN1は該接続回答中のNAPT装置AC2のグローバルIPアドレス網NW2側のIPアドレスとポート番号（200.50.40.24:4100）を抽出し、そのアドレスへ向けて、データ用セッションDS1を介してUDPのデータフレームを送信する。これによりNAPT装置AC1は、ノードN1のIPアドレス及びポート番号(192.168.10.1:600)と、NAPT装置AC2のグローバルIPアドレス網NW2側のIPアドレスとポート番号(200.50.40.24:4100)とをバインド（関連付け）する。
なお、接続OK/NG フラグ=NGの場合は、本発明の動作原理[2]で後述する。
【００４５】
ステップS6:
ノードN2は、上記のステップS3の処理終了後、受信した『接続要求』フレーム中のNAPT装置AC1のグローバルIPアドレス網NW2側のIPアドレスとポート番号（100.101.102.10:7800）を抽出し、そのアドレスへ向けて、データ用セッションDS2を介してUDPのデータフレームを送信する。これによりNAPT装置AC2は、ノードN2のIPアドレス及びポート番号（192.168.20.2:300）と、NAPT装置AC1のグローバルIPアドレス網NW2側のIPアドレス及びポート番号とをバインド（関連付け）する。
【００４６】
ステップS7:
ノードN1-N2間で、アソシエーションサーバSRVを介さずに直接通信を開始する。
【００４７】
このようにして、上記のステップS5及びS6のそれぞれでプライベートIP網NW1,NW3側のノードN1-N2間の通信を開始できることになる。
【００４８】
動作原理［2］
本発明の動作原理[2]を示す図4は、図18及び図1に示した構成と同様であるが、この図示の例では、ノードN2で『接続要求』の通信先ポート“300”が利用不可の場合について示している。なお、この場合も、上記の前提事項（1）及び（2）は同様に適用される。また、ノードN1からデータ用セッションDS1及び制御用セッションCS2を経由してノードN2に達する上記のステップS1_1からS1_4,及びステップS2並びに図3(1)のフレームの状態遷移例は、この動作原理[2]においても同様に適用される。従って、フレームの状態遷移例は図5に示すように、ノードN2からN1に向かう場合のみが、動作原理[1]と異なっている。
【００４９】
ステップS8, S9_1, S9_2:
ノードN2は、ノードN1からの『接続要求』の通信先ポート“300”が利用不可であれば、『接続OK/NGフラグ=NG』（図5(C)）とした『接続回答』フレームを、制御用セッションCS2のポート“400”（同(a-2)）からアソシエーションサーバSRV宛に返信する。
【００５０】
ステップS9_3, S9_4:
アソシエーションサーバSRVは、上記の『接続回答』を受信すると、その通信元ノードID値“0001”（同(f)） = ノードN1を識別し、通信先ノードN1への制御用セッションCS1を特定し、該制御用セッションCS1を介して、『接続回答』フレームをノードN1宛に転送する。
【００５１】
ノードN1は、アソシエーションサーバSRVから転送された『接続回答』フレームを受信し、該接続回答の『接続OK/NGフラグ』を識別する。そして、接続OK/NGフラグ=NGの場合は、通信要求が拒否されたことをコンソール等に通知する。                      
【発明の効果】
【００５２】
以上のように、従来は、アソシエーションサーバが、ノード毎にポート数分のエントリを保持していたが、本発明によればノード毎の制御用セッションのエントリのみを用意すればよく、アソシエーションサーバに必要なリソースが抑えられるという効果がある。
【００５３】
また、アドレス変換装置に機能追加せずに、アドレスとポート番号を通信ノードに通知できるため、アドレス変換装置のコストを抑えることができる。
【００５４】
さらに、通信先のノードが公開していないポートに対する接続要求を拒否できるため、ポートに対して柔軟に適用できる。
【発明の実施のための最良の形態】
【００５５】
◎ノードの実施例
図6は、図1及び図4に示したノード(端末)N1及びN2の構成実施例をブロック図で示したもので、以下、各ブロックの機能を順次説明する。
【００５６】
コンソール11
ユーザとのインタフェース部であり、以下の指示や通知を行う。
(1)『接続要求』の作成指示。
(2)『接続回答』の『接続OK/NG フラグ』がNGの場合の通知。すなわち、接続要求に対して、通信先ノードから接続を拒否された旨を表示する。
【００５７】
接続要求フレーム作成部12
コンソール11からの指示により接続要求フレームを作成する。
【００５８】
TCP/IPフレーム作成部13
いわゆるTCP/IPフレームを作成する。
【００５９】
通信終端部14
ネットワークNW（NW1,NW3）からの通信をリンクレイヤまで終端する。ネットワークNWから受信したフレームをフレーム種別判定部15へ渡す。また、TCP/IPフレーム作成部13から渡されたフレームに対し、リンクレイヤの処理を施し、ネットワークNWへ送信する。
【００６０】
フレーム種別判定部15
通信終端部14から渡されたフレームの、フレーム種別フィールドを識別する。『接続回答』の場合は、接続OK/NG フラグ判定部16へ、『接続要求』の場合は、公開ポート確認部17へ、フレームを渡す。
【００６１】
接続OK/NG フラグ判定部16
フレーム種別判定部15から渡された『接続回答』フレーム中の、接続OK/NG フラグフィールドを識別する。“OK”の場合は、NAPT装置IPアドレス/ポート番号フィールド取得部22へフレームを渡す。“NG”の場合は、コンソール11へ通信が接続要求先から拒否されたことを通知する。
【００６２】
公開ポート確認部17
フレーム種別判定部15から渡された『接続要求』フレームから、“通信先LANポート番号フィールド”を取得し、該ポート番号が公開されているか否かを下記の通り公開ポート管理DB部18に問い合わせる。この場合、「ポートが公開されている」とは、該ポートでフレームを送受信できることを意味する。
【００６３】
(1)該ポート番号が公開時：接続回答フレーム作成部19に、『接続OK/NG フラグ = OK』の接続回答フレームの作成を指示する。さらに、NAPT装置IPアドレス/ポート番号フィールド取得部22に該『接続要求』フレームを渡す。
【００６４】
(2)該ポート番号が非公開時：接続回答フレーム作成部19に、『接続OK/NG フラグ = NG』の接続回答フレームの作成を指示する。
【００６５】
公開ポート管理DB部18
ノード中、送受信可能なポート番号の一覧を管理するデータベース。このデータベースはOSが一般的に有している。
【００６６】
接続回答フレーム作成部19
接続回答フレームを、受信した接続要求フレームから作成する。該接続要求フレームから変更するフィールドは以下のとおり。
【００６７】
(1)フレーム種別：『接続回答』に変更
(2)接続OK/NG フラグフィールド：  公開ポート確認部17からの指示に基づく。
(3)NAPT装置のポート番号：受信した値をクリアする。
(4)NAPT装置のIPアドレス： 受信した値をクリアする。
【００６８】
制御用セッションのアドレス・ポート番号取得部20
アソシエーションサーバSRVのIPアドレスと、制御用セッションに係るアソシエーションサーバと自ノードのポート番号を、制御用／データ用セッション管理DB(データベース)部21から取得する。取得したアソシエーションサーバのIPアドレスとポート番号を宛先アドレスと宛先ポート番号とし、自ノードのポート番号を通信元ポートとするTCP/IPフレーム（接続回答フレーム）の作成をTCP/IPフレーム作成部13に指示する。なお、上述したとおり、該制御用セッションはここに記載しない方法で、予めアソシエーションサーバと張られているものとする。
【００６９】
制御用/データ用セッション管理DB部21
制御用セッション及びデータ用セッションのため、アソシエーションサーバのIPアドレス及びポート番号と、自ノードのポート番号を管理するデータベース。
【００７０】
NAPT装置IPアドレス/ポート番号フィールド取得部22
公開ポート確認部17から渡された接続要求フレーム、または接続OK/NG フラグ判定部16から渡された接続回答フレームから、「NAPT装置のIPアドレスフィールド」と、「NAPT装置のポート番号フィールド」の値を取得する。
【００７１】
通信元LANポート番号取得部23
「通信元LANポート番号フィールド」の値を取得する。該ポート番号を通信元ポート、NAPT装置IPアドレス/ポート番号フィールド取得部22で取得したIPアドレスとポート番号を宛先アドレスと宛先ポート番号とするフレームの作成を、TCP/IPフレーム作成部13に指示する。
【００７２】
通信先LANポート番号取得部24
「通信先Localポート番号フィールド」の値を取得する。該ポート番号を通信元ポート、NAPT装置IPアドレス/ポート番号フィールド取得部22で取得したIPアドレスとポート番号を宛先アドレスと宛先ポート番号とするフレームの作成を、TCP/IPフレーム作成部13に指示する。
【００７３】
データ用セッションのアドレス・ポート番号取得部25
アソシエーションサーバSRVのIPアドレスと、データ用セッションに係るアソシエーションサーバのポート番号を、制御用／データ用セッション管理DB(データベース)部21から取得する。取得したアソシエーションサーバのIPアドレスとポート番号を宛先アドレスと宛先ポート番号とし、自ノードの任意のポート番号を通信元ポートとするTCP/IPフレーム（接続回答フレーム）の作成をTCP/IPフレーム作成部13に指示する。
【００７４】
◎アソシエーションサーバの実施例
図7は、図1及び図4に示したアソシエーションサーバSRVの構成実施例をブロック図で示したもので、以下、各ブロックの機能を順次説明する。
【００７５】
通信終端部31
図6に示した通信終端部14と同様の機能を有する。
【００７６】
フレーム種別判定部32
通信終端部31から渡されたフレームの、「フレーム種別フィールド」を識別する。その結果、『接続回答』の場合は、接続OK/NG フラグ判定部33へ、『接続要求』の場合は、NAPT装置IPアドレス/ポート番号フィールド追記部34へ、それぞれフレームを渡す。
【００７７】
接続OK/NG フラグ判定部33
フレーム種別判定部32から渡された『接続回答』フレームの、「接続OK/NG フラグフィールド」を識別する。“OK”の場合は、NAPT装置IPアドレス/ポート番号フィールド追記部34へ、“NG”の場合は、制御用セッションのアドレス・ポート番号取得部35へフレームを渡す。
【００７８】
NAPT装置IPアドレス/ポート番号フィールド追記部34
フレームの通信元IPアドレスとポートを、それぞれ接続要求または接続回答フレームの「NAPT装置のIPアドレスフィールド」と、「NAPT装置のポート番号フィールド」に追記する。追記後、制御用セッションのアドレス・ポート番号取得部35へフレームを渡す。
【００７９】
制御用セッションのアドレス・ポート番号取得部35
接続回答フレーム、または接続要求フレームを転送する制御用セッションの宛先IPアドレスとポート番号を取得し、TCP/IPフレーム作成部37にフレームの作成を指示する。
【００８０】
(1)接続回答フレームの転送時：通信元ノードIDフィールドのノードIDを有するノードの制御用セッションのグローバル IPアドレスとポート番号を取得。
(2)接続要求フレームの転送時：通信先ノードIDフィールドのノードIDを有するノードの制御用セッションのグローバルIPアドレスポート番号を取得。
【００８１】
制御用セッション管理DB部36
複数のノードとアソシエーションサーバ間で確立されている制御用セッションの情報を保持するデータベース。
【００８２】
TCP/IPフレーム作成部37
図6に示したTCP/IPフレーム作成部と同様の機能を有する。
【００８３】
動作実施例[1]
(1)接続要求送信動作：図8の太線；図1及び図3のステップS1_1, S1_2
まず、ユーザは、図8において太線で示すように、コンソール11から、『接続要求』フレーム（図3(1)）の作成を接続要求作成部12に対して指示する。これを受けて、接続要求フレーム作成部12は接続要求フレームを作成してTCP/IPフレーム作成部13に与えると、このTCP/IPフレーム作成部13はTCP/IPフレームを作成して通信終端部14へ渡し、この通信終端部14においてリンクレイヤの処理を施してネットワークNW(プライベートＩＰアドレス網NW1)へ送信する。
【００８４】
これにより、ノードN1からアソシエーションサーバSRVに対してデータ用セッションDS1を介して接続要求フレームが送信される。
【００８５】
(2)接続要求転送動作：図9の太線；図1及び図3のステップS1_3, S1_4
接続要求フレームをノードN1から受信したアソシエーションサーバSRVにおいては、図9において太線で示すように、通信終端部31が、その接続要求フレームをフレーム種別判定部32へ渡す。フレーム種別判定部32においては、通信終端部31から渡されたフレームにおけるフレーム種別をフレーム種別フィールド(図3(1)(b))により識別する。この結果、『接続要求』の場合は、NAPT装置IPアドレス/ポート番号フィールド追記部34へその接続要求フレームを渡す。
【００８６】
NAPT装置IPアドレス/ポート番号フィールド追記部34は、その接続要求フレームにおける送信元IPアドレス(同(a-1)：NAPT装置AC1のIPアドレス“100.101.102.10”)と送信元ポート番号(同(a-2)：NAPT装置AC1のポート番号“7800”)をそれぞれ接続要求フレームの「NAPT装置AC1のIPアドレスフィールド(同(d)：IPアドレス“100.101.102.10”)」と「NAPT装置AC1のポート番号フィールド(同(e)：ポート番号“7800”)」に追記する。追記後、制御用セッションのアドレス・ポート番号取得部35へその接続要求フレームを渡す。
【００８７】
制御用セッションのアドレス・ポート番号取得部35においては、その接続要求フレームを転送する制御用セッションCS2の宛先IPアドレス(同(a-3)：NAPT装置AC2のIPアドレス“200.50.40.24”)とポート番号(同(a-4)：NAPT装置AC2のポート番号“5200”)を取得し、TCP/IPフレーム作成部37にフレームの作成を指示する。TCP/IPフレーム作成部37は、制御用セッションのアドレス・ポート番号取得部35から受けた接続要求フレームよりTCP/IPフレームを作成して通信終端部31を介してネットワークNW（グローバルIPアドレス網NW2）に送出する。
【００８８】
(3)接続要求受信動作：図10の太線;図1のステップS2,S3,S4_1,S4_2
アソシエーションサーバSRVからNAPT装置AC2を経由して送られて来た接続要求フレームを受信したノードN2においては、図10に太線で示すように、ネットワークNW(プライベートIPアドレス網NW3)からその接続要求フレームを通信終端部14において受信し、さらにフレーム種別判定部15においてそのフレームが『接続要求』フレームか、又は『接続回答』フレームかを判定する。この結果、受信したフレームは接続要求フレームであることが判定されるので、公開ポート確認部17において、接続要求フレームから「通信先LANポート番号フィールド」(図3(1)(i)：ノードN1のポート番号“300”)を取得し、このポート番号“300”が公開されているか否かを公開ポート管理DB部18に問い合わせる。
【００８９】
この結果、ポート番号“300”が公開されていることが公開ポート管理DB部18から分かったとき、公開ポート確認部17は、接続回答フレーム作成部19に対して『接続OK/NGフラグ＝OK』の接続回答フレーム（図3(2)）の作成を指示する。
【００９０】
接続回答フレーム作成部19は、受信した接続要求フレームから接続回答フレームを作成して、フレーム種別を『接続回答』に変更し(同(b))、接続OK/NGフラグを“OK”に設定 して(同(c))、データ用セッションのアドレス・ポート番号取得部25に送る。
【００９１】
データ用セッションのアドレス・ポート番号取得部25においては、アソシエーションサーバSRVのグローバルIPアドレス“200.210.100.5”と、データ用セッションDS2のアソシエーションサーバのポート番号“10000”を制御用／データ用セッション管理DB部21から取得する。取得したアソシエーションサーバSRVの制御用セッションのIPアドレスとポート番号を宛先アドレスとポート番号（同(a-3):(a-4)）としたTCP/IPフレーム(接続回答)の作成をTCP/IPフレーム作成部13に指示する。なお、データ用セッションDS2は、アソシエーションサーバSRV間と予め張られてはいない。またアソシエーションサーバSRVのデータセッション用ポート番号“10000”はここでは記載しない既知の方法で、ノードN2は、予め知っているものとする。
【００９２】
接続OK/NGフラグ＝OKに設定された接続回答フレームがTCP/IPフレーム作成部13に送られることにより(図10<1>)、TCP/IPフレーム作成部13がTCP/IPフレームを作成して通信終端部14からネットワークNW(プライベートIPアドレス網NW3)へ送出する。
【００９３】
(4)接続回答転送動作：図11の太線;図1及び図3のステップS4_3, S4_4
ノードN2から接続回答フレームをネットワークNW(グローバルIPアドレス網NW2)を介して通信終端部31で受信したアソシエーションサーバSRVにおいては、フレーム種別判定部32で今度は受信したフレームが『接続回答』のフレームであることが判定されるので、この判定結果が接続OK/NGフラグ判定部33に送られることにより、接続OK/NGフラグ判定部33では「接続OK/NGフラグフィールド」（図3(2)(c)）が“OK”に設定されているので、NAPT装置IPアドレス/ポート番号フィールド追記部34に対して、接続回答フレームを渡す。
【００９４】
NAPT装置IPアドレス/ポート番号フィールド追記部34においては、「NAPT装置AC2のIPアドレスフィールド」(図3(2)(d))と「NAPT装置AC2のポート番号フィールド」(同(e))にそれぞれ“200.50.40.24”と“4100”を追記する。そして、この追記したフレームを制御用セッションのアドレス・ポート番号取得部35へ渡す。
【００９５】
制御用セッションのアドレス・ポート番号取得部35においては、図9に示した接続要求転送動作時と同様に、接続回答フレームを転送する制御用セッションCS1の宛先IPアドレス(同(a-3)：NAPT装置AC1のIPアドレス“100.101.102.10”)と、ポート番号(同(a-4)：NAPT装置AC1のポート番号“6900”)を制御用セッション管理DB部36から取得し、TCP/IPフレーム作成部37にフレームの作成を指示して、そのTCP/IPフレームを通信終端部31からネットワークNW(グローバルIPアドレス網NW2)へ送出する。
【００９６】
(5)接続回答受信動作：図12の太線
アソシエーションサーバSRVから送出された接続回答フレームを受けたノードN1においては、図12に太線で示すように、まずネットワークNW(プライベートIPアドレス網NW1)より通信終端部14において受信する。そして、このフレームの種別をフレーム種別判定部15において判定し、その結果、受信したフレームは『接続回答』と分かるので、受信フレームを接続OK/NGフラグ判定部16へ送る。
【００９７】
接続OK/NGフラグ判定部16では、接続OK/NGフラグ(同(c))が“OK”であることが分かるので、これをNAPT装置IPアドレス/ポート番号フィールド取得部22に与えることにより、NAPT装置IPアドレス/ポート番号フィールド取得部22は、受信した接続回答フレームから、「NAPT装置のIPアドレスフィールド」(同(d)：NAPT装置AC2のグローバルIPアドレス“200.50.40.24”)と「NAPT装置のポート番号フィールド」(同(e)：NAPT装置AC2のポート番号“4100”)を取得する。
【００９８】
この後、通信元ローカルポート番号取得部23は、接続回答フレームにおける「通信先LANポート番号フィールド」(同(g)：ポート番号“300”)を取得する。この取得したポート番号“300”を通信元ポートとし、NAPT装置IPアドレス/ポート番号フィールド取得部22で取得したNAPT装置AC2のIPアドレスとポート番号を宛先IPアドレス及びポート番号とするUDPのデータフレームの作成をTCP/IPフレーム作成部13に指示する。
【００９９】
(6)データフレームの送信動作：図12及び図10;図1のステップS5,S6
上記（5）により、TCP/IPフレーム作成部13は作成したUDPデータフレームを通信終端部14からデータフレームとしてネットワークNW(プライベートIPアドレス網NW1)へ送出する（ステップS5）。
【０１００】
図10においても、ノードN1がデータフレームを送信した場合と同様にして、ノードN2からUDPのデータフレームを送信する。この動作は、ノードN2において、公開ポート確認部17が『通信先ローカルポート』＝公開されていると判定した後、公開ポート確認部17が、NAPT装置IPアドレス/ポート番号フィールド取得部22に対して接続要求フレームを渡す。
【０１０１】
NAPT装置IPアドレス/ポート番号フィールド取得部22は、公開ポート確認部17から渡された接続要求フレームから、「NAPT装置のIPアドレスフィールド」と「NAPT装置のポート番号フィールド」の値を得て、通信先ローカルポート番号取得部24へ渡す。通信先ローカルポート番号取得部24は、「通信先ローカルポート番号フィールド」（同(i)）の値“600”を取得し、このポート番号を通信元ポート、NAPT装置IPアドレス/ポート番号フィールド取得部22で取得したIPアドレスとポート番号を宛先IPアドレスとポート番号とするUDPデータフレームの作成をTCP/IPフレーム作成部13に指示する（図10<2>）。TCP/IPフレーム作成部13はこのようなUDPデータフレームを作成し、通信終端部14を経由してネットワークNW(プライベートIPアドレス網NW3)に送出する。
【０１０２】
これにより、NAPT装置AC1,AC2は、それぞれ、自分のネットワーク側のノードと相手のネットワーク側のNAPT装置とをIPアドレスとポート番号でバインドすることができる。従って、図1に示したように、ノードN1とノードN2は、アソシエーションサーバSRVを経由せずに直接NAPT装置AC1及びAC2を経由して直接通信することが可能となる（ステップS7）。
【０１０３】
動作実施例[2]
この動作実施例は、上記の動作実施例[1]における動作(1)及び(2)はこの実施例においても同様に適用される。
【０１０４】
(3)接続回答送信動作：図13の太線;図4のステップS8,S9_1,S9_2
まず、アソシエーションサーバSRVから受信した接続要求フレームは、ノードN2において、通信終端部14、フレーム種別判定部15、及び公開ポート確認部17に転送されて来るところは上記の動作実施例[1]と同様であるが、公開ポート確認部17においては、公開ポート管理DB部18を参照した結果、『通信先ローカルポート』が非公開であることが分かったときには、これを受けて接続回答フレーム作成部19が接続OK/NGフラグ(図5(c))を“NG”に設定すると共に、フレーム種別(同(b))を「接続回答」に設定して制御用セッションのアドレス・ポート番号取得部20へ送る。
【０１０５】
この制御用セッションのアドレス・ポート番号取得部20においては、アソシエーションサーバSRVのグローバルIPアドレス“200.210.100.5”と、制御用セッションCS2のアソシエーションサーバのポート番号“5200”と自ノードのポート番号“400”を制御用／データ用セッション管理DB部21から取得する。取得したアソシエーションサーバSRVの制御用セッションのIPアドレスとポート番号を宛先アドレスとポート番号（同(a-3):(a-4)）、自ノードのポート番号を通信元ポート（同(a-2)）としたTCP/IPフレーム(接続回答)の作成をTCP/IPフレーム作成部13に指示する。これにより、TCP/IPフレーム作成部13がこれに対応した接続回答フレームを通信終端部14からネットワークNW(プライベートIPアドレス網NW3)へ送出する。
【０１０６】
(4)接続回答転送動作：図14の太線；図4及び図5のステップS9_3, S9_4
このような接続回答フレームは、受信したアソシエーションサーバSRVにおいて、通信終端部14、フレーム種別判定部15、及び接続OK/NGフラグ判定部33を経由して受信し、このときその接続OK/NGフラグ(同(c))が“NG”に設定されていることが分かるので、これを制御用セッションのアドレス・ポート番号取得部35に通知することにより、この制御用セッションのアドレス・ポート番号取得部35では、宛先ポート番号(同(a-4))を“10001”から“6900”に変更すると共に、宛先IPアドレス(同(a-3))をアソシエーションサーバSRVのIPアドレス“200.210.100.5”からNAPT装置AC1のIPアドレス“100.101.102.10”に変更し、さらに送信元ポート番号(同(a-2))をNAPT装置AC2のポート番号“5200”からNAPT装置AC1のポート番号“10001”に変更した形でTCP/IPフレームを送出するように、TCP/IPフレーム作成部37に指示する。
【０１０７】
(5)接続回答受信動作：図15の太線
このような接続回答フレームをNAPT装置AC1を介してアソシエーションサーバSRVから受信したノードN1においては、図1に示すように、通信終端部14とフレーム種別判定部15と接続OK/NGフラグ判定部16とを経由することにより、接続回答フレーム中の接続OK/NGフラグ(同(c))が“NG”であることが分かるので、これをコンソール11を介してユーザに通知することになる。
【０１０８】
これにより、ユーザは接続要求に対して通信先ノードN2から接続を拒否されたことを認識することが可能となり、従ってデータフレームの送受信は行なわれないこととなる。
【図面の簡単な説明】
【０１０９】
【図１】本発明に係るノード間接続方法及び装置の動作原理[1]を示したブロック図である。
【図２】本発明で用いるフレームフォーマット例を示した図である。
【図３】本発明の動作原理[1]におけるフレームの状態遷移例(接続OK/NGフラグ＝OKの時)を示した図である。
【図４】本発明に係るノード間接続方法及び装置の動作原理[2]を示したブロック図である。
【図５】本発明の動作原理[2]におけるフレームの状態遷移例(接続OK/NGフラグ＝NGの時)であって接続回答フレームが転送される状態を示した図である。
【図６】図１及び図４に示した本発明で用いられる各ノードの構成実施例を示したブロック図である。
【図７】図１及び図４に示したアソシエーションサーバの構成実施例を示したブロック図である。
【図８】図１及び図４に示したノードN1の動作例(接続要求送信)を説明するためのブロック図である。
【図９】図１及び図４に示したアソシエーションサーバの動作例(接続要求転送)を説明するためのブロック図である。
【図１０】図１及び図４で用いられるノードN2の動作例(接続要求受信、接続回答送信、及びデータフレーム送信)を説明するためのブロック図である。
【図１１】図１及び図４に示したアソシエーションサーバの動作例(接続回答転送)を説明するためのブロック図である。
【図１２】図１及び図４で用いられるノードN1の動作例(接続回答受信及びデータフレーム送信)を説明するためのブロック図である。
【図１３】図１及び図４で用いられるノードN2の動作例(接続要求受信及び接続回答送信)を説明するためのブロック図である。
【図１４】図１及び図４に示したアソシエーションサーバの動作例(接続回答転送)を説明するためのブロック図である。
【図１５】図１及び図４に示したノードN1の動作例(接続回答受信)を説明するためのブロック図である。
【図１６】一般的なNAPT装置の動作を説明した図である。
【図１７】図１６に示したNAPT装置の問題点を説明する図である。
【図１８】従来から知られているSTUNの動作を説明するためのブロック図である。
【符号の説明】
【０１１０】
N1, N2  ノード(端末)
SRV  アソシエーションサーバ
TBL  制御用セッション管理テーブル
NW1, NW3  プライベートIPアドレス網
NW2  グローバルIPアドレス網
AC1, AC2  NAPT装置
DS1, DS2  データ用セッション
CS1, CS2  制御用セッション
11  コンソール
12  接続要求フレーム作成部
13, 37  TCP/IPフレーム作成部
14, 31  通信終端部
15, 32  フレーム種別判定部
16, 33  接続OK/NGフラグ判定部
17  公開ポート確認部
18  公開ポート管理DB部
19  接続回答フレーム作成部
20, 35  制御用セッションのアドレス・ポート番号取得部
21  制御用／データ用セッション管理DB部
22  NAPT装置IPアドレス/ポート番号フィールド取得部
23  通信元ローカルポート番号取得部
24  通信先ローカルポート番号取得部
25  データ用セッションのアドレス・ポート番号取得部
34   NAPT装置IPアドレス/ポート番号フィールド追記部
36   制御用セッション管理DB部
図中、同一符号は同一又は相当部分を示す。
【図１】
0004766976.tif 000002
【図２】
0004766976.tif 000003
【図３】
0004766976.tif 000004
【図４】
0004766976.tif 000005
【図５】
0004766976.tif 000006
【図６】
0004766976.tif 000007
【図７】
0004766976.tif 000008
【図８】
0004766976.tif 000009
【図９】
0004766976.tif 000010
【図１０】
0004766976.tif 000011
【図１１】
0004766976.tif 000012
【図１２】
0004766976.tif 000013
【図１３】
0004766976.tif 000014
【図１４】
0004766976.tif 000015
【図１５】
0004766976.tif 000016
【図１６】
0004766976.tif 000017
【図１７】
0004766976.tif 000018
【図１８】
0004766976.tif 000019