(57)【要約】【課題】  セキュリティ上のリスクが小さい、簡易な通信路確立方法等を提供する。【解決手段】  第1ネットワークにある第1端末が、第2ネットワークにある第2端末に対してデータグラムを、ゲートウェイを通過させて送信する第1送信ステップ等を有し、前記ゲートウェイは、端末からあて先へ送られるデータグラムがいったん通過することによって、前記あて先から前記端末へ送られるデータグラムが通過できるように設定されるゲートウェイであり、送信ステップが間欠的に行われることを特徴とする通信路確立方法である。本構成によれば、ネットワークの外部からのデータグラム受信開始のタイミングの少々のずれなどを気にせず簡易に通信路を確立でき、さらに、セキュリティ上のリスクを小さくおさえた状態で通信路を確立できる。【選択図】  図3
2007306227.tif 000002
【特許請求の範囲】
【請求項１】
第1ネットワークにある第1端末が、第2ネットワークにある第2端末に対してデータグラムを、ゲートウェイを通過させて送信する第1送信ステップと、
前記第2端末が、前記ゲートウェイを通過させて、前記第1端末に対してデータグラムを送信する第2送信ステップと
を有し、
前記ゲートウェイは、端末からあて先へ送られるデータグラムがいったん通過することによって、前記あて先から前記端末へ送られるデータグラムが通過できるように設定されるゲートウェイであり、
前記第1送信ステップ及び前記第2送信ステップが同期間内に行われ、
前記第1送信ステップ及び前記第2送信ステップのうちの少なくとも一方が間欠的に行われることを特徴とする通信路確立方法。
【請求項２】
前記第1送信ステップ及び前記第2送信ステップの双方が間欠的に行われることを特徴とする請求項1記載の通信路確立方法。
【請求項３】
前記第1端末及び前記第2端末のうちの少なくとも一方が他方の端末からのデータグラムを受信した場合には、受信応答のデータグラムを他方の端末に対して返信することを特徴とする請求項1記載の通信路確立方法。
【請求項４】
仲介サーバからの指示によって、前記第1送信ステップ及び前記第2送信ステップのうちの少なくとも一方は開始されることを特徴とする請求項1記載の通信路確立方法。
【請求項５】
データグラムの間欠的な送信を開始する前に、通過可能ルータ数を指定したデータグラムを、送信側のネットワークにあるゲートウェイを通過させて送信するステップをさらに有し、
前記送信側のネットワークにあるゲートウェイは通過し、受信側のネットワークにある、ソケットアドレス変換機能又はファイアウォール機能を有するゲートウェイには届かない数が、前記通過可能ルータ数として指定されていることを特徴とする請求項1記載の通信路確立方法。
【請求項６】
データグラムに、通信を行おうとする双方の端末が知る秘密情報に基づいて算出した情報を格納することによって、互いに他方から届いたデータグラムであることを確認することを特徴とする請求項1記載の通信路確立方法。
【請求項７】
前記第1端末及び前記第2端末のうち少なくとも一方は、他方の端末から届いたデータグラムの送信元のソケットアドレスを、他方の端末に送信するデータグラムの宛先として使用することを特徴とする請求項1記載の通信路確立方法。
【請求項８】
第1ネットワークにある第1端末が、第2ネットワークにある第2端末に対してデータグラムを、ゲートウェイを通過させて送信する第1送信手段と、
前記第2端末が、前記ゲートウェイを通過させて、前記第1端末に対してデータグラムを送信する第2送信手段と
を有し、
前記ゲートウェイは、端末からあて先へ送られるデータグラムがいったん通過することによって、前記あて先から前記端末へ送られるデータグラムが通過できるように設定されるゲートウェイであり、
前記第1送信手段及び前記第2送信手段が同期間内に実行され、
前記第1送信ステップ及び前記第2送信ステップのうちの少なくとも一方が間欠的に実行されることを特徴とする通信路確立システム。
【請求項９】
第1ネットワークにある第1端末が、第2ネットワークにある第2端末に対してデータグラムを、ゲートウェイを通過させて送信する第1送信ステップと、
前記第2端末が、前記ゲートウェイを通過させて、前記第1端末に対してデータグラムを送信する第2送信ステップと
を有し、
前記ゲートウェイは、端末からあて先へ送られるデータグラムがいったん通過することによって、前記あて先から前記端末へ送られるデータグラムが通過できるように設定されるゲートウェイであり、
前記第1送信ステップ及び前記第2送信ステップが同期間内に行われ、
前記第1送信ステップ及び前記第2送信ステップのうちの少なくとも一方が間欠的に行われ、
通信路を確立することを特徴とするコンピュータが読み取り可能なプログラムが格納されているプログラム格納媒体。
【請求項１０】
第1ネットワークにある第1端末が、第2ネットワークにある第2端末に対してデータグラムを、ゲートウェイを通過させて送信する第1送信ステップと、
前記第2端末が、前記ゲートウェイを通過させて、前記第1端末に対してデータグラムを送信する第2送信ステップと
を有し、
前記ゲートウェイは、端末からあて先へ送られるデータグラムがいったん通過することによって、前記あて先から前記端末へ送られるデータグラムが通過できるように設定されるゲートウェイであり、
前記第1送信ステップ及び前記第2送信ステップが同期間内に行われ、
前記第1送信ステップ及び前記第2送信ステップのうちの少なくとも一方が間欠的に行われ、
通信路を確立することコンピュータに実行させることを特徴とするプログラム。
【請求項１１】
第1ネットワークにある情報処理装置であって、
第2ネットワークにある第2端末に対してデータグラムを、ゲートウェイを通過させて送信する送信手段と、
前記第2端末から、前記ゲートウェイを経て送信されるデータグラムを受信する受信手段と
を有し、
前記ゲートウェイは、端末からあて先へ送られるデータグラムがいったん通過することによって、前記あて先から前記端末へ送られるデータグラムが通過できるように設定されるゲートウェイであり、
前記送信及び前記受信が同期間内に行われ、
前記送信及び前記受信のうちの少なくとも一方が間欠的に行われ、
通信路を確立することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信路確立方法、通信路確立システム、プログラム格納媒体、プログラム及び情報処理装置に関する。
【背景技術】
【０００２】
[アドレス変換装置とファイアウォール装置]
【０００３】
事務所などのLAN (Local Area Network)をインターネットに接続するには、アドレス変換装置またはファイアウォール装置、またはその両方を使用するのが一般的である。アドレス変換装置やファイアウォール装置は、実際には装置として独立していることは少なく、ルータ装置（網間接続装置）の内部の機能であるのが一般的である。
【０００４】
[アドレス変換装置]
【０００５】
インターネットの黎明期には、世界中の全てのコンピュータに異なるIPアドレスを付与することを想定していたが、現在では、IPバージョン4の32ビットのアドレス空間では世界中のコンピュータの台数に対して不足していることが明白となった。そのため、各利用者には、1個または少数のIPアドレスだけが貸与される。LAN内のコンピュータには、インターネット上には存在しない取り決めになっているIPアドレス（プライベートIPアドレスと呼ばれる）を使用するのが一般的である。LAN内のコンピュータがLANの外部のコンピュータと通信を行う場合だけ、あたかも、貸与されたIPアドレス（プライベートIPアドレスに対比してグローバルIPアドレスと呼ばれる）を持つコンピュータがLANの外部と通信しているかのようにみせかける装置を使用する。こういった装置を、アドレス変換装置と呼ぶ。
【０００６】
これらの技術では、限られたアドレス空間を有効に活用するためにNAT（Network Address Translation）と呼ばれる技術を用いて、外部のネットワークを接続するときにプライベートアドレスをグローバルなアドレスに変換して利用している。
【０００７】
なお、同等の概念として、NAPT（Network Address Port Translation、IPマスカレード）がある。これもまた、組織内でのみ通用するプライベートIPアドレスと、インターネット上のグローバルIPアドレスを透過的に相互変換することにより実現される。ポート番号まで動的に変換されるため、一つのグローバルアドレスで複数のマシンから同時に接続することが可能である。
【０００８】
一般に、IP（インターネット・プロトコル）を使用した通信では、端点のIPアドレス、ポート番号、他端のIPアドレス、ポート番号との組み合わせによって通信を識別する。IPアドレスとポート番号の組み合わせをソケットアドレスと呼ぶ。この観点では、アドレス変換装置は、LAN内のコンピュータのソケットアドレスを、アドレス変換装置のソケットアドレスに変換するものである。
【０００９】
LAN内のコンピュータが外部のコンピュータに対して通信を要求した場合は、アドレス変換装置のソケットアドレスのうち未使用の物を選んで、送信元ソケットアドレスをこのソケットアドレスに変換すればいい。しかし、逆に、外部のコンピュータがアドレス変換装置のソケットアドレスに対して通信を要求した場合は、事前の特別な設定や操作無しには、宛先ソケットアドレスをLAN内のどのコンピュータのソケットアドレスに変換していいのかがわからない。
【００１０】
[ファイアウォール装置]
【００１１】
外部からLAN内のコンピュータに侵入されることを防ぐため、ファイアウォール装置を設置するのが一般的である。ファイアウォール装置には一般に、LAN内のコンピュータの要求で外部のコンピュータに対して行う通信は許可するが、外部のコンピュータの要求でLAN内のコンピュータに対して行う通信は許可しないという設定を行う。特に設定を行わなくてもこのような動作を行うのが一般的である。
【００１２】
[LAN内に対する通信]
【００１３】
大多数の事業所や家庭では、アドレス変換装置またはファイアウォール装置を使用し、事前に特別な設定や操作を行っていない。このような環境を仮定するとき、LANの外部のコンピュータの要求でLAN内のコンピュータに対して通信を行うことはできない。同様に、ある拠点のLAN内のコンピュータと、別の拠点のLAN内のコンピュータとが通信を行うこともできない。
【００１４】
[.アドレス変換装置またはファイアウォール装置に対する設定]
【００１５】
上述のように、アドレス変換装置の主たる目的はLAN内のコンピュータのソケットアドレスをアドレス変換装置のソケットアドレスに変換することである。しかし、機種によっては、アドレス変換装置の特定のソケットアドレスをLAN内の特定のコンピュータの特定のソケットアドレスに変換する機能を持っている。このためには、ソケットアドレスの変換の対応付けをあらかじめ決定して、アドレス変換装置に設定しておく必要がある。
【００１６】
ファイアウォール装置の機種によっては、LAN内の特定のコンピュータまたは特定のソケットアドレスに対する通信を許可するように設定することができる。
【００１７】
これらの方法によれば、LANの外部のコンピュータの要求でLAN内のコンピュータに対して通信を行うことが可能である。しかし、以下の問題がある。
（1）あらかじめ設定を行っておくのが面倒である。
（2）ネットワーク管理者ではない通常の利用者に設定が許可されないのが一般的である。
（3）LAN内のその特定のコンピュータは外部に暴露されているのと等価の状態であり、不法な侵入などセキュリティ上のリスクが高まる。
【００１８】
[UPnP]
【００１９】
近年に製造販売されているルータ装置のうち、特に家庭用や小規模事業所用の安価な物には、アドレス変換装置の機能と、UPnP（ユニバーサル・プラグ・アンド・プレイ）と呼ばれる機能とが装備されているものが多い。
【００２０】
UPnP機能を使用すれば、アドレス変換装置に対するソケットアドレスの対応付けの設定を、必要なときにLAN内のコンピュータからの自動操作で行うことができる。この操作には、ネットワーク管理者の権限が必要無いのが一般的である。
【００２１】
この方法によれば、上述の問題点のうち最初の2個は解消されるが、3個目は解消されない。むしろ、UPnP機能を有効にしておくこと自体がセキュリティ上のリスクとなる可能性がある。なぜならば、UPnP機能が有効であれば、ソケットアドレスの対応付けの設定を行ってLAN内のコンピュータを外部に暴露してしまうことが、ネットワーク管理者の権限無しに可能だからである。また、このことから、企業に設置されたルータ装置ではUPnP機能を無効にしてあることが比較的多く、このUPnP機能による手法が使用できない可能性も高い。
【００２２】
[中継サーバ]
【００２３】
インターネット上に中継サーバを設置し、LAN内のコンピュータから中継サーバに対して接続を行い、そのまま接続状態を維持しておく。LANの外部のコンピュータは、LAN内のコンピュータと通信を行いたい場合には、この中継サーバに対して接続を行う。中継サーバは、双方向の通信を中継する。
【００２４】
この方法によれば、LANの外部のコンピュータからLAN内のコンピュータに直接に接続することはできないものの、LANの外部のコンピュータの要求でLAN内のコンピュータに対して通信を行うことが可能である。
【００２５】
この方法では、中継サーバをあらかじめ設置しておく必要がある点、中継サーバが全ての通信データの中継を行うことから、中継サーバに比較的大きな処理能力が要求されるという問題、中継サーバによって盗聴されるリスクといった問題がある。
【発明の開示】
【発明が解決しようとする課題】
【００２６】
本発明は、上述の背景技術に鑑みてなされたものであり、セキュリティ上のリスクが小さい、簡易な通信路確立方法等を提供することを目的とする。
【課題を解決するための手段】
【００２７】
この発明によれば、上述の目的を達成するために、特許請求の範囲に記載のとおりの構成を採用している。以下、この発明を詳細に説明する。
【００２８】
本発明の第１の側面は、
第1ネットワークにある第1端末が、第2ネットワークにある第2端末に対してデータグラムを、ゲートウェイを通過させて送信する第1送信ステップと、
前記第2端末が、前記ゲートウェイを通過させて、前記第1端末に対してデータグラムを送信する第2送信ステップと
を有し、
前記ゲートウェイは、端末からあて先へ送られるデータグラムがいったん通過することによって、前記あて先から前記端末へ送られるデータグラムが通過できるように設定されるゲートウェイであり、
前記第1送信ステップ及び前記第2送信ステップが同期間内に行われ、
前記第1送信ステップ及び前記第2送信ステップのうちの少なくとも一方が間欠的に行われることを特徴とする通信路確立方法
にある。
【００２９】
本構成によれば、第1送信ステップ及び第2送信ステップのうちの少なくとも一方が間欠的に行われるため、ネットワークの外部からのデータグラム受信開始のタイミングの少々のずれなどを気にせず簡易に通信路を確立でき、さらに、双方向の直接通信のためセキュリティ上のリスクを小さくおさえた状態で通信路を確立できる。
【００３０】
本発明の第2の側面は、
第1ネットワークにある第1端末が、第2ネットワークにある第2端末に対してデータグラムを、ゲートウェイを通過させて送信する第1送信手段と、
前記第2端末が、前記ゲートウェイを通過させて、前記第1端末に対してデータグラムを送信する第2送信手段と
を有し、
前記ゲートウェイは、端末からあて先へ送られるデータグラムがいったん通過することによって、前記あて先から前記端末へ送られるデータグラムが通過できるように設定されるゲートウェイであり、
前記第1送信手段及び前記第2送信手段が同期間内に実行され、
前記第1送信ステップ及び前記第2送信ステップのうちの少なくとも一方が間欠的に実行されることを特徴とする通信路確立システム
にある。
【００３１】
本構成によれば、第1送信手段及び第2送信手段のうちの少なくとも一方が間欠的に行われるため、ネットワークの外部からのデータグラム受信開始のタイミングの少々のずれなどを気にせず簡易に通信路を確立でき、さらに、双方向の直接通信のためセキュリティ上のリスクを小さくおさえた状態で通信路を確立できる。
【００３２】
本発明の第3の側面は、
第1ネットワークにある第1端末が、第2ネットワークにある第2端末に対してデータグラムを、ゲートウェイを通過させて送信する第1送信ステップと、
前記第2端末が、前記ゲートウェイを通過させて、前記第1端末に対してデータグラムを送信する第2送信ステップと
を有し、
前記ゲートウェイは、端末からあて先へ送られるデータグラムがいったん通過することによって、前記あて先から前記端末へ送られるデータグラムが通過できるように設定されるゲートウェイであり、
前記第1送信ステップ及び前記第2送信ステップが同期間内に行われ、
前記第1送信ステップ及び前記第2送信ステップのうちの少なくとも一方が間欠的に行われ、
通信路を確立することを特徴とするコンピュータが読み取り可能なプログラムが格納されているプログラム格納媒体
にある。
【００３３】
本構成によれば、第1送信ステップ及び第2送信ステップのうちの少なくとも一方が間欠的に行われるため、ネットワークの外部からのデータグラム受信開始のタイミングの少々のずれなどを気にせず簡易に通信路を確立でき、さらに、双方向の直接通信のためセキュリティ上のリスクを小さくおさえた状態で通信路を確立できる。
【００３４】
本発明の第4の側面は、
第1ネットワークにある第1端末が、第2ネットワークにある第2端末に対してデータグラムを、ゲートウェイを通過させて送信する第1送信ステップと、
前記第2端末が、前記ゲートウェイを通過させて、前記第1端末に対してデータグラムを送信する第2送信ステップと
を有し、
前記ゲートウェイは、端末からあて先へ送られるデータグラムがいったん通過することによって、前記あて先から前記端末へ送られるデータグラムが通過できるように設定されるゲートウェイであり、
前記第1送信ステップ及び前記第2送信ステップが同期間内に行われ、
前記第1送信ステップ及び前記第2送信ステップのうちの少なくとも一方が間欠的に行われ、
通信路を確立することコンピュータに実行させることを特徴とするプログラム
にある。
【００３５】
本構成によれば、第1送信ステップ及び第2送信ステップのうちの少なくとも一方が間欠的に行われるため、ネットワークの外部からのデータグラム受信開始のタイミングの少々のずれなどを気にせず簡易に通信路を確立でき、さらに、双方向の直接通信のためセキュリティ上のリスクを小さくおさえた状態で通信路を確立できる。
【００３６】
本発明の第5の側面は、
第1ネットワークにある情報処理装置であって、
第2ネットワークにある第2端末に対してデータグラムを、ゲートウェイを通過させて送信する送信手段と、
前記第2端末から、前記ゲートウェイを経て送信されるデータグラムを受信する受信手段と
を有し、
前記ゲートウェイは、端末からあて先へ送られるデータグラムがいったん通過することによって、前記あて先から前記端末へ送られるデータグラムが通過できるように設定されるゲートウェイであり、
前記送信及び前記受信が同期間内に行われ、
前記送信及び前記受信のうちの少なくとも一方が間欠的に行われ、
通信路を確立することを特徴とする情報処理装置
にある。
【００３７】
本構成によれば、送信及び受信のうちの少なくとも一方が間欠的に行われるため、ネットワークの外部からのデータグラム受信開始のタイミングの少々のずれなどを気にせず簡易に通信路を確立でき、さらに、双方向の直接通信のためセキュリティ上のリスクを小さくおさえた状態で通信路を確立できる。
【００３８】
なお、本明細書でいう端末には、携帯電話機、PHS電話機などの電話機、無線LANの、アクセスポイント機能等を持たないクライアント的な通信端末、特定の機能を提供するコンピュータシステムであるサーバ、ユーザインターフェースを備えた端末装置等も含まれる。
ネットワークは、複数のコンピュータなどが接続されたシステム全体を指し、LAN (Local Area Network)、WAN (Wide Area Network)（例えばインターネット）、MAN (Metropolitan Area Network)、SAN  (Storage  Area  Network)等が含まれる。
【００３９】
ゲートウェイとは、ネットワークにおいて、異なる媒体や通信プロトコルを使用する他のネットワークと接続するために使われるコンピュータ又はソフトウェア等の総称であり、例えば、さまざまなデバイス等を、LANと 、インターネットや企業イントラネットなどのパブリックと、WAN等に相互に接続する。例えば、IPマスカレード等のアドレス変換、サーキットレベルゲートウェイ等のファイアウォール等の機能をゲートウェイにもたせることが考えられる。
【発明の効果】
【００４０】
本発明によれば、通信路を簡易に確立する方法等が得られる。
【００４１】
本発明のさらに他の目的、特徴又は利点は、後述する本発明の実施の形態や添付する図面に基づく詳細な説明によって明らかになるであろう。
【発明を実施するための最良の形態】
【００４２】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。
【００４３】
[本実施形態の主な目的]
【００４４】
図1は、端末装置（クライアントコンピュータ）1Aがプライベートネットワーク（LAN (Local Area Network)）内に置かれ、このLANが、アドレス変換装置またはファイアウォール装置（ゲートウェイ）2を介してグローバルネットワーク（インターネット）に接続されている場合を示す図である。この場合、端末装置1Bから端末装置1Aに対して接続を行い、端末装置1Aと端末装置1Bの間で相互に通信できる通信路を確立するのが本実施形態の主な目的である。
【００４５】
なお、ここでは、端末装置を一例として挙げて説明しているが、端末装置とは、例えば、コンピュータの入出力装置であり、主としてオペレータや利用者がコンピュータを使うためのユーザインターフェース機能を備えた装置である。具体的には、コンソール、利用者端末（リモート端末）、対話型端末の種類、ダム端末、インテリジェント端末、専用端末、仮想端末、X端末、マルチメディアステーション等が挙げられる。
【００４６】
図2は、端末装置1Bが別のLAN内に置かれ、このLANが、アドレス変換装置またはファイアウォール装置を介してインターネットに接続されている場合を示す図である。この場合においても、端末装置1Bから端末装置1Aに対して接続を行い、端末装置1Aと端末装置1Bの間で相互に通信できる通信路を確立するのが本実施形態の主な目的である。
【００４７】
[本実施形態の主な工程]
【００４８】
図3は、本実施形態の主な工程を示す図である。端末装置AおよびBを使用し、以下の処理手順により本実施形態の方法は主に実現される。
処理手順1  他方の端末装置に対してデータグラムを間欠的に送信する。
処理手順2  他方から受信したデータグラムに対して受信応答を示すデータグラムを送信する。
処理手順3  他方から受信応答を示すデータグラムを受信することを条件として上記の処理手順1を停止させる。
【００４９】
[ソケットアドレスと補助手段]
【００５０】
ここでは、IPアドレスとポート番号との組み合わせを「ソケットアドレス」という。
端末装置1Aおよび端末装置1Bはそれぞれ、これらの処理手順を開始する以前に、他方のソケットアドレスを知っている。また、これらの処理手順は、端末装置1Aおよび端末装置1Bの両方において同時に実行される。ただし、これらの処理手順を同時に開始する必要はない。
【００５１】
他方のソケットアドレスを知るため、および同時に実行を行うため、何らかの補助手段を用いてもよい。補助手段として、他の通信方法を用いてもいいし、人が介在してもいい。
【００５２】
図4は、ソケットアドレスを知るための方法の一例を示す図である。図4に示すように、端末装置1Aおよび端末装置1Bが共に通信することのできる仲介サーバ4をインターネット上に設置し、端末装置1A、端末装置1B、または仲介サーバ4からの指示に従って上記の処理手順を開始することが考えられる。
【００５３】
端末装置がそのソケットアドレスを知るには様々な方法がある。
【００５４】
図5は、端末装置がそのソケットアドレスを知るための方法の一例を示す図である。図5に示すように、インターネット上にアドレス調査サーバ5を設置し、端末装置1Aからアドレス調査サーバ5に通信を行い、アドレス調査サーバはその通信の発信元を調べて端末装置1Aに通知するという方法が考えられる。この場合には、すなわち、アドレス変換装置（またはファイアウォール装置）2の外部のネットワークに設置したアドレス調査サーバ5に対して各端末装置から通信を行い、ソケットアドレスはその通信の発信元として得られる。端末装置1Aおよび端末装置1Bが使用するアドレス調査サーバが異なっていてもかまわない。また、図4に示した仲介サーバ4がアドレス調査サーバ5を兼ねることもできる。
【００５５】
以下、端末装置1Aまたは端末装置1Bが他方と通信するために使用するソケットアドレスを、それぞれS(1A)とS(1B)と記載する。これらは、端末装置1Aおよび端末装置1Bがアドレス変換装置の配下にない場合（インターネットに直接接続されている場合およびファイアウォール装置の配下にある場合）には、端末装置1Aおよび端末装置1Bがそれぞれ所有するソケットアドレスのひとつである。しかし、アドレス変換装置の配下にある場合には、端末装置ではなく、アドレス変換装置が所有するアドレスのひとつである。
【００５６】
[主な動作原理]
【００５７】
上述した処理手順1により、端末装置1AはS(1B)に向けて、端末装置1BはS(1A)に向けてデータグラムを送信する。インターネット上を流れるデータグラムの送信元と宛先は、それぞれS(1A)からS(1B)、S(1B)からS(1A)である。
【００５８】
このとき、アドレス変換装置およびファイアウォール装置が有する一般的な機能によって、これらのデータグラムに対する応答を端末装置1Aおよび端末装置1Bが受信できるよう、アドレス変換装置またはファイアウォール装置が一時的な設定が自動的になされる。つまり、アドレス変換装置の場合には、それぞれS(1B)からS(1A)に宛てられたデータグラムを端末装置1Aに転送し、S(1A)からS(1B)に宛てられたデータグラムを端末装置1Bに転送するような設定がなされる。また、ファイアウォール装置の場合には、S(1B)からS(1A)に宛てられたデータグラム、S(1A)からS(1B)に宛てられたデータグラムを通過させるような設定がなされる。
【００５９】
処理手順1において、送信先の端末装置がアドレス変換装置またはファイアウォール装置の配下である場合には、端末装置1AがS(1B)に向けて、端末装置1BがS(1A)に向けて当初に送信するデータグラムは送信先の端末装置に届かないだろう。なぜならば、相手側のアドレス変換装置またはファイアウォール装置に、上記の一時的な設定がなされていないからである。しかし、その後間欠的に送信するデータグラムは、送信先の端末装置に届く可能性が高い。なぜならば、相手側の端末装置が当初に送信したデータグラムによって、相手側のアドレス変換装置またはファイアウォール装置に、上記の一時的な設定がなされるからである。
【００６０】
このように、端末装置AおよびBがそれぞれ間欠的にデータグラムを送信すると、一方がデータグラムを送信したすぐ後に他方が送信するデータグラムは、アドレス変換装置またはファイアウォール装置を通過して相手に届く。その後は、いずれの方向のデータグラムも相手に届く。
【００６１】
この後、処理手順2により、相手からデータグラムを受信できたら受信応答を意味するデータグラムで応答する。処理手順3により、相手から受信応答を意味するデータグラムを受信したら、処理手順1の間欠送信を停止する。この後は、端末装置1Aおよび端末装置1Bは、それぞれS(1B)およびS(1A)に宛ててデータグラムを送信することにより、データグラムを直接に相手に届けることができる。
【００６２】
上記のように、アドレス変換装置およびファイアウォール装置の配下から外部に対してデータグラムを送信することによって、その逆方向のデータグラムを受信できるような一時的な設定がなされた。その設定で許された組み合わせの送信元および宛先を持つ通信が行われない状態が一定期間以上継続すると、その設定が消去されるというのが、アドレス変換装置およびファイアウォール装置の一般的な動作である。設定が消去されるまでの期間は、一般に10分程度と言われている。
【００６３】
従って、処理手順1の間欠送信の間隔は、この消去までの期間よりも短ければ問題がない。間隔を長くすると本発明の処理が完了するまでの時間が長くなるため、端末装置、アドレス変換装置またはファイアウォール装置、インターネットなどに負荷をかけない程度に短いことが望ましい。0.5秒〜1秒程度が適切だと考えられる。
【００６４】
本実施形態の一連の手順が完了した後、本実施形態の手順によって確立された通信路を維持するには、設定が消去されるまでの期間よりも短い間隔でデータグラムを送信し続けることが望ましい。つまり、通信の必要が無い場合であっても、何らかのデータグラムを一定時間以内に送信することが望ましい。
【００６５】
[一時的な設定がなされる前にデータグラムを送信することの問題]
【００６６】
上記の動作原理において、端末装置1Aおよび端末装置1Bのいずれかが先に送信したデータグラムは、他方の端末装置が配下にあるアドレス変換装置またはファイアウォール装置まで届くが、アドレス変換装置またはファイアウォール装置によって捨てられ、他方の端末装置には届かない。なぜならば、他方の端末装置はまだデータグラムを送信していないから、他方の端末装置にデータグラムが届くために必要な「一時的な設定」が、アドレス変換装置またはファイアウォール装置に行われていないからである。
【００６７】
アドレス変換装置またはファイアウォール装置の機種や設定によっては、このことが問題を引き起こす場合がある。
【００６８】
ひとつの問題は、アドレス変換装置またはファイアウォール装置がデータグラムを捨てたことを、不法な侵入が試みられた可能性があるとして管理者に報告することである。本来不法な侵入ではないにもかかわらず、誤認されるのは問題である。
【００６９】
もうひとつの問題が発生する可能性があるのは、アドレス変換装置の場合である。アドレス変換装置の機種によっては、送信のために使用する予定のソケットアドレスに対して先にデータグラムを受信すると、その後送信で使用するソケットアドレスを変更してしまう。これにより、上記の動作原理による通信路の確立処理がうまくいかない可能性がある。
【００７０】
これらの問題に対処する方法を説明する。
【００７１】
たとえば、インターネットプロトコル（IP）の場合には、データグラムに、通過可能なルータの数を指定することができる。この値を指定するためのフィールドはデータグラムのヘッダにあり、IPバージョン4の場合には「Time  To  Live  （TTL）」フィールド、IPバージョン6の場合には「Hop Limit」フィールドである。オペレーティングシステムを使用してデータグラムを送信する場合、特にこの値を指定しなければ、オペレーティングシステムによって異なる値が使用されるが、その値は一般に64から255の範囲である。
【００７２】
データグラムの間欠的な送信を開始する前に、通過可能なルータの数として小さな値を指定した何らかのデータグラムを、間欠送信と同じ宛先に向けて送信する。このデータグラムは、受信側のアドレス変換装置またはファイアウォール装置に到達しないから、上記の問題を引き起こさない。しかし、このデータグラムは、送信側のアドレス変換装置またはファイアウォール装置を通過するため、応答のデータグラムを受信するために必要な「一時的な設定」は行われる。つまり、アドレス変換装置またはファイアウォール装置を通過して外部ネットワークには出ることができるが、他方のアドレス変換装置またはファイアウォール装置には届かないように、通過可能ルータ数を小さな値を指定したデータグラムを、データグラムの間欠的な送信を開始する前に送信することによって、上記の問題を回避することができる。
【００７３】
なお、ここで送信するデータグラムの内容は、相手に届かないから無意味である。しかし、もし届いてしまっても悪影響を及ぼさないような内容にデータグラムの内容はしておくことが好ましい。
【００７４】
ここで、通過可能なルータの数として「小さな値」を指定する必要がある。この値は、送信側のアドレス変換装置またはファイアウォール装置を通過することができるが、受信側のアドレス変換装置またはファイアウォール装置には到達できない程度の値とすることが好ましい。一般的に、端末装置と外部ネットワークの間に存在するルータは、アドレス変換装置またはファイアウォール装置そのもの1個だけであることが多い。それよりも若干多いことも考えて、この値を5以下とすることが好ましく、例えばこの値を5程度に指定すればいいだろう。
【００７５】
端末装置がアドレス変換装置の配下にある場合には、より正確に値を定めることができる。データグラムが、通過可能なルータの数よりも多くのルータを通過しようとすると、そのルータから、エラーを示すデータグラムが返される。通過可能なルータの数を変えながら複数のデータグラムを送信し、エラーを示すデータグラムの送信元のIPアドレスを調べる。このIPアドレスがプライベートIPアドレスであれば、まだアドレス変換装置を通過していない。このIPアドレスがグローバルIPアドレスであれば、アドレス変換装置を通過したことがわかる。通過可能なルータの数を1から1ずつ増やしながらこの処理を行い、初めてアドレス変換装置を通過したときの数が定めるべき値である。
【００７６】
[届いたデータグラムの正当性]
【００７７】
端末装置1Aおよび端末装置1Bには、それぞれ他方からのデータグラムが届く。しかし、端末装置は、データグラムの送信元ソケットアドレスをもって送信元の正当性を信頼することはできない。データグラムの送信元ソケットアドレスは、第三者が詐称することができるからである。
【００７８】
この問題に対応するため、端末装置AおよびBだけが知る秘密情報に基づいて算出した情報をデータグラムに格納してから送信する。受信した端末装置は、やはり秘密情報に基づいて情報を算出し、受信したデータグラムに格納されている情報と比べることが好ましい。データグラムの送信元が正当であれば、これら情報は同一になるはずである。これら情報に差異があれば、データグラムの送信元は不正であると推測することができる。
【００７９】
[ソケットアドレスの変化]
【００８０】
端末装置がアドレス変換装置の配下にある場合、この端末装置が外部と通信する際に用いられるアドレス変換装置上のソケットアドレスは、何らかの理由で変化することがある。このことは、アドレス変換装置の一般の使用方法では変化は問題にならない現象である。アドレス変換装置の配下の端末装置からの要求で外部のサーバにデータグラムを送信し、その応答を待つという使用方法であるため、外部のサーバは常にデータグラムの送信元に対して応答するからである。ところが、本実施形態においては、ソケットアドレスの変化は問題になり得る。端末装置は互いに、相手のソケットアドレスに対してデータグラムを送信する必要があるからである。
【００８１】
そこで、端末装置は、他方からデータグラムが届くと、そのデータグラムの送信元の外部ソケットアドレスを記憶し、これ以降に他方に送るデータグラムの宛先、又は通信路の確立後に送信する通信データのデータグラムの宛先として使用することが考えられる。この方法を使用すると、処理手順1の開始前または処理中にソケットアドレスが変化しても通信路の確立が可能であるし、通信路の確立後にソケットアドレスが変化しても通信を継続することができる。ただし、ソケットアドレスが変化することを想定すれば、送信元のソケットアドレスをもって相手の正当性を確認することはできない。そのため、データグラムに、通信を行おうとする双方の端末装置だけが知る秘密情報に基づいて算出した情報を格納することによって、互いに他方から届いたデータグラムであることを確認するという上述の方法を併用して送信元の正当性を確認することが望ましい。
【００８２】
アドレス変換装置には、通信先のソケットアドレスによって通信元のソケットアドレスを変化させるような機種も存在する。このようなアドレス変換装置の配下にある端末装置については、アドレス変換装置またはファイアウォール装置の外部のネットワークに設置したアドレス調査サーバに対して各端末装置から通信を行い、その通信の発信元として得るという方法によって、相手の端末装置と通信するのに使用されるソケットアドレスを調査することができない。アドレス調査サーバと通信するときのソケットアドレスと、相手の端末装置と通信するときのソケットアドレスが異なるからである。このようなアドレス変換装置が使用される場合についても、端末装置が、他方からデータグラムが届くと、そのデータグラムの送信元の外部ソケットアドレスを記憶し、これ以降に他方に送るデータグラムの宛先、および通信路の確立後に送信する通信データのデータグラムの宛先として使用するという方法が有効に働く。
【００８３】
両方の端末装置においてソケットアドレスが同時に変化した場合には、この方法によっても通信することは難しい。端末装置が互いに送るデータグラムが全く相手に届かないからである。このことは、両方の端末装置がアドレス変換装置の配下にあり、それらアドレス変換装置がいずれも、通信先のソケットアドレスによって通信元のソケットアドレスを変化させるような機種である場合にも問題となる。しかし、このようなアドレス変換装置は希であることから、この問題が発生するのはごく希であると考えられる。
【００８４】
端末装置が外部と通信する際に用いられるアドレス変換装置上のソケットアドレスが変化すること、上述の仲介サーバ4に登録すべき情報などが何らかの理由で変化することを考えると、これら情報を定期的に仲介サーバ4またはアドレス調査サーバ5に登録することが望ましい。
【００８５】
また、端末装置と仲介サーバ4との通信をデータグラムによって行う場合には、端末装置が仲介サーバ4に送信したデータグラムに対する応答として、仲介サーバ4からの指示を受信する必要がある。このためには、端末装置が仲介サーバ4にデータグラムを送信したため仲介サーバ4からの応答を許可するという、アドレス変換装置またはファイアウォール装置になされた一時的な設定が消去されるよりも短い間隔で、端末装置が仲介サーバ4に何らかのデータグラムを送信し続ける必要がある。
【００８６】
したがって、ソケットアドレスや登録すべき情報に変化があっても無くても、端末装置が仲介サーバ4に定期的にデータグラムを送信し続けるという手法が考えられる。
【００８７】
しかしながら、端末装置が数十万台などの多数のときには、多数の端末装置から送信されるデータグラムがサーバにとって大きな負担となることも予想される。
【００８８】
そこで、通常の場合には、アドレス変換装置またはファイアウォール装置を通過して外部ネットワークには出ることができるが、仲介サーバ4またはアドレス調査サーバ5には届かないように、通過可能ルータ数を小さな値に指定したデータグラムを送信する一方、端末装置のソケットアドレス、登録情報などが変化した場合には、仲介サーバ4またはアドレス調査サーバ5には届くように、通過可能ルータ数を大きな値に指定したデータグラムを送信することがさらに望ましい。
【００８９】
[ソフトウェアとしての実施形態等]
【００９０】
上述した一連の処理は、ハードウェアにより実行させることも、システムにより実行させることも、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行させることが可能な、例えば汎用のパーソナルコンピュータなどにプログラム格納媒体などからインストールされる。
【００９１】
図6は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施形態の構成例を示す。
【００９２】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク205やＲＯＭ203に予め記録しておくことができる。
【００９３】
あるいは、プログラムは、フレキシブルディスク、CD-ROM  (Compact  Disc  Read  Only  Memory)、MO  (Magneto  Optical)ディスク、DVD  (Digital  Versatile  Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体２１１に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体２１１は、いわゆるパッケージソフトウエアとして提供することができる。
【００９４】
なお、プログラムは、上述したようなリムーバブル記録媒体２１１からコンピュータにインストールするほか、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送し、または、LAN (Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部208で受信し、内蔵するハードディスク205にインストールすることができる。
【００９５】
コンピュータは、CPU  (Central  Processing  Unit)202を内蔵している。CPU202には、バス201を介して、入出力インタフェース210が接続されており、CPU202は、入出力インタフェース210を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部207が操作等されることにより指令が入力されると、それにしたがって、ROM  (Read  Only  Memory)203に格納されているプログラムを実行する。あるいは、また、CPU202は、ハードディスク205に格納されているプログラム、衛星若しくはネットワークから転送され、通信部208で受信されてハードディスク205にインストールされたプログラム、またはドライブ209に装着されたリムーバブル記録媒体２１１から読み出されてハードディスク205にインストールされたプログラムを、RAM  (Random  Access  Memory)204にロードして実行する。これにより、CPU202は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU202は、その処理結果を、必要に応じて、例えば、入出力インタフェース210を介して、LCD  (Liquid  Crystal  Display)やスピーカ等で構成される出力部206から出力、あるいは、通信部208から送信、さらには、ハードディスク205に記録等させる。
【００９６】
ここで、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしも記載された順序に沿って時系列的に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。
【００９７】
また、プログラムは、１つのコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであってもよい。
【００９８】
データは、記録媒体に供給されて記録され、あるいは、伝送媒体を介して伝送（送信）されてもよい。
【００９９】
記録媒体としては、例えば、光ディスク、磁気ディスク、光磁気ディスク、磁気テープ、半導体メモリその他を採用することができる。伝送媒体としては、例えば、インターネット、LAN、電話回線、衛星回線、地上波、赤外線その他の任意の有線回線または無線回線を採用することができる。
【０１００】
なお、システムは、複数の装置が論理的に集合した物をいい、各構成の装置が同一筐体中にあるか否かは、問わない。
【０１０１】
[その他]
【０１０２】
上述の実施形態によれば、インターネットに接続された拠点に設置されたアドレス変換装置またはファイアウォール装置の配下に接続された端末装置に対して、その外部のネットワークに設置された端末装置からの要求で接続し、通信データを他のサーバ装置に中継させなくとも、インターネットを介して直接に双方向の通信を行うことが可能である。これは、不法な侵入などセキュリティ上のリスクを抑える点でたいへん効果的である。
【０１０３】
特に、データグラムの間欠的な送信を開始する前に、所定の通過可能ルータ数を指定したデータグラムを送信する場合には、アドレス変換装置またはファイアウォール装置によっては、外部ソケットアドレスにおいてデータグラムを送信する前にデータグラムを受信すると、以後の通信を拒絶したり、警告を発したり、外部ソケットアドレスを変化させたりするものがあるが、このようなアドレス変換装置またはファイアウォール装置でもインターネットを介した直接の双方向の通信を行うことが可能である点でこれまでの技術に比べてもたいへん有利である。
【０１０４】
[権利解釈等]
【０１０５】
以上、特定の実施形態を参照しながら、本発明について説明してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正又は代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【０１０６】
また、この発明の説明用の実施形態が上述の目的を達成することは明らかであるが、多くの変更や他の実施例を当業者が行うことができることも理解されるところである。特許請求の範囲、明細書、図面及び説明用の各実施形態のエレメント又はコンポーネントを他の１つまたは組み合わせとともに採用してもよい。特許請求の範囲は、かかる変更や他の実施形態をも範囲に含むことを意図されており、これらは、この発明の技術思想および技術的範囲に含まれる。
【図面の簡単な説明】
【０１０７】
【図１】端末装置（クライアントコンピュータ）1Aがプライベートネットワーク（LAN(Local Area Network)）内に置かれ、このLANが、アドレス変換装置またはファイアウォール装置を介してグローバルネットワーク（インターネット）に接続されている場合を示す図である。
【図２】端末装置1Bが別のLAN内に置かれ、このLANが、アドレス変換装置またはファイアウォール装置を介してインターネットに接続されている場合を示す図である。
【図３】本実施形態の主な工程を示す図である。
【図４】ソケットアドレスを知るための方法の一例を示す図である。
【図５】端末装置がそのソケットアドレスを知るための方法の一例を示す図である。
【図６】一連の処理を実行するプログラムがインストールされるコンピュータの一実施形態の構成例である。
【符号の説明】
【０１０８】
1A  端末装置
1B  端末装置
2  アドレス変換装置又はファイアウォール装置
4  仲介サーバ
5  アドレス調査サーバ
201  バス
202  CPU
203  ROM
204  RAM
205  ハードディスク
206  出力部
207  入力部
208  通信部
209  ドライブ
210  入出力インタフェース
211  リムーバブル記録媒体
【図１】
2007306227.tif 000003
【図２】
2007306227.tif 000004
【図３】
2007306227.tif 000005
【図４】
2007306227.tif 000006
【図５】
2007306227.tif 000007
【図６】
2007306227.tif 000008