JP2007274063A - 通信装置、通信方法および記録媒体 - Google Patents

通信装置、通信方法および記録媒体 Download PDF

Info

Publication number
JP2007274063A
JP2007274063A JP2006093992A JP2006093992A JP2007274063A JP 2007274063 A JP2007274063 A JP 2007274063A JP 2006093992 A JP2006093992 A JP 2006093992A JP 2006093992 A JP2006093992 A JP 2006093992A JP 2007274063 A JP2007274063 A JP 2007274063A
Authority
JP
Japan
Prior art keywords
communication
connection
network
target device
connection target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006093992A
Other languages
English (en)
Inventor
Jun Ishii
純 石井
Takeshi Kokado
健 古門
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2006093992A priority Critical patent/JP2007274063A/ja
Publication of JP2007274063A publication Critical patent/JP2007274063A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】複数のNAT機能搭載ルータにより階層的に構成される宅内ネットワークにおいて、異なるサブネットワークに接続された通信装置間で高速に通信路を確立可能な通信装置を提供する。
【解決手段】接続対象機器との通信開始前に、自身からの接続対象機器のネットワーク上の相対位置を判定し、その判定結果に応じて適切な方法で接続することで、接続対象機器が異なるサブネットワークに存在する場合も、通信路確立に失敗することなく高速に通信路を確立することを可能とする。
【選択図】図1

Description

(宅内P2P通信技術について記述)
本発明は、宅内ネットワークに接続された通信装置間の通信に関し、特に宅内ネットワークが1台以上のルータで構成される場合においても通信装置間の通信を可能とする通信装置に関する。
(「宅内ネットワーク構築」について記述)
近年、インターネットに代表されるIP(Internet Protocol:インターネットプロトコル)ネットワーク網の整備が進み、パーソナルコンピュータの他、AV(Audio Visual)機器や監視カメラ、IP電話等の様々な家電機器がIPネットワークに接続する傾向にある。また、家庭内にIPネットワークを構築し、家電機器間での通信サービスを提供する機運も高まり、ネットワークを利用したサービスの多様化が進んでいる。しかし、宅内のネットワーク構成によっては、宅外から宅内、また宅内機器同士の通信が不可能な場合がある。
(NATの説明文を記述)
これは、一般家庭ユーザ向けに市販されているルータの多くに搭載されたNAT(Network Address Translation)またはNAPT(Network Address Port Translation)と呼ばれる機能が原因となっている。
NATは、インターネットに関する技術の標準を定める団体であるIETF(Internet Engineering Task Force)が正式に発行する文書であるRFC(Request For Comment)の1631で規定され、NAPTは、RFC2663で規定されている公知の技術である(以降、NAPTもNATと記す)。
NATは、インターネット上で機器を一意に識別することができるグローバルIPアドレスが不足する問題に対処するために開発され、グローバルIPアドレスと、インターネット上における通信では使用することができないプライベートIPアドレスとを透過的に相互変換するためのアドレス変換技術である。
この技術によって、プライベートIPアドレスを用いて通信が行われている、あるプライベートネットワークに存在する複数の機器は、NAT機能を有する機器を介して、インターネット上の機器と通信することが可能となる。
NAT機能においては、プライベートIPアドレスを有する宅内機器からインターネット上の宅外の機器へ通信が開始された場合にのみ、NAT機能搭載ルータにて、その宅内機器と宅外機器間の通信のためのアドレス変換が行われる。
そして、その宅内機器のプライベートIPアドレスと宅外機器のグローバルIPアドレスを対応付けた情報が、“NATテーブル”として自動的に作成される(NAPTの場合は、IPアドレスに加えて、通信サービスを特定するために用いられている“ポート番号”もアドレス変換ルールに含めてNATテーブルが作成される)。
しかし、グローバルIPアドレスを有する宅外機器からプライベートIPアドレスを有する宅内機器へ通信が開始された場合は、セキュリティの観点から、NAT機能搭載ルータにおいてNATテーブルは自動的に作成されない仕組みになっている。
そのため、宅内機器から宅外機器への通信が開始された場合においては、宅内機器と宅外機器との間で相互通信が可能となるが、宅外機器から宅内機器宛ての通信が開始された場合は、ルータにてNATテーブルが自動的に作成されないため、通信が拒絶されることになり、相互通信が不可能となる。
(宅内ルータ多段構成環境におけるNATの問題点について記述)
上記現象は、宅外から宅内の通信だけでなくNAT機能搭載ルータが宅内ネットワークに複数台設置されている環境での宅内機器同士の通信においても発生する。
図13は、2つのNAT機能搭載ルータが宅内のネットワークに直列に接続されたネットワーク構成を示す図である(以降、このような複数のルータで階層的にサブネットワークが構築されるネットワーク構成をルータ多段構成と呼ぶ)。図13では、NAT機能搭載ルータ200を境界として宅内サブネットワークLAN10と宅内サブネットワークLAN20が構成され、サブネットワークLAN10は、サブネットワークLAN20に対して上層側サブネットワークに、一方サブネットワークLAN20は、サブネットワークLAN10に対して下層側サブネットワークに位置する。
この時、サブネットワークLAN10に属する機器101からサブネットワークLAN20に属する機器201宛ての通信は、NAT機能搭載ルータ200にとって上層側サブネットワークから下層側サブネットワークへの通信であり、前述のインターネット上の宅外機器から宅内機器への通信と同様の状況になる。そのため、NAT機能搭載ルータ200においてNATテーブルが作成されず通信が拒絶されることになる。
上記問題は、一般的に使用される家庭用ルータ(家庭用無線ルータ含む)にNATまたはNAPT機能が標準搭載されていることに加えて、ユーザが宅内ネットワークを構築する際に集線装置であるHUBの代わりとしてHUB機能搭載ルータを設置したり、無線アクセスポイントの代わりとして無線ルータが設置されたりすることによってルータ多段構成ネットワークが構築されてしまうために発生する。
また、このようなルータ多段構成ネットワークの構築は、ルータおよび無線ルータの低価格化によって増加している。
これらネットワーク構成により相互通信が不可能になる問題は、ユーザ自身が宅内ネットワークの構成を把握し、NAT機能搭載ルータにて、上層側サブネットワーク機器から下層側サブネットワーク機器への通信を許可するNAT設定を施す作業(静的NAT設定)を正確に行うことで回避可能だが、この作業を実施するにはネットワーク技術に関する専門的な知識が必要となるため、一般ユーザには困難である。
これに対し、通信不可能となる問題をユーザの専門知識を必要とせず解決する方法として、接続先となる機器(接続対象機器)に対し直接通信ができない場合には、接続対象機器から接続を開始することで、機器間通信を可能とする方法が知られている(例えば、特許文献1参照)。図15は、前記特許文献1に記載された従来の機器間通信方法を示すものである。
図15においては、機器101と機器102によって宅内ネットワークが構築され、機器001は宅外ネットワーク00に存在している。
また、宅外ネットワーク00と宅内ネットワーク01の境界部分に設置されているルータ110は汎用的なルータではなく、特許文献1記載のシステム専用のNAT機能搭載ルータである。
このシステム専用ルータ110は、宅内ネットワーク01内の機器との相互接続を要求している機器が特許文献1記載の機器001であれば、機器001から宅内ネットワーク01に存在する機器に対して送信されたメッセージを宅内ネットワーク01内の機器へ転送する機能を備えている。
そのため、機器101、機器102、そして機器001は、このルータと連係動作することで相互通信が可能となる。
ここで、図15において、相互接続を要求している機器(接続要求元機器)である宅外機器001から接続対象機器である宅内機器101宛ての通信が開始された場合について詳しく説明する。
宅外機器001はまず、宅内機器101のIPアドレスを送信先IPアドレスとして直接接続を行うために、宅内機器101へ接続要求メッセージを送信する。
しかし、宅外ネットワーク00と宅内ネットワーク01の境界部分に存在するグローバルIPアドレスとプライベートIPアドレスとの付け替えを行うNAT機能搭載ルータ110によって、グローバルIPアドレスを有する宅外機器からプライベートIPアドレスを有する宅内機器宛ての通信は拒絶される。
このとき、ルータ110は、宅外機器001に対して通信拒絶を知らせるメッセージと共に、ルータ110のグローバルIPアドレスを通知する。
ルータ110からの通信拒絶メッセージを受信した宅外機器001は、通信失敗を認識した後に、ルータ110のグローバルIPアドレス宛てに、宅内機器101から接続してもらうための接続要求依頼メッセージを送信する。
上記メッセージは、ルータ110のグローバルIPアドレス宛てであるため、ルータ110で通信が拒絶されることはなく、ルータ110にて処理が行われ、ルータ110から宅内機器101へ前記接続要求依頼メッセージが転送される。
そして、宅外機器001からの接続要求依頼メッセージを受信した宅内機器101は、宅外機器001に対して接続要求メッセージを送信して通信が開始される。
そのため、NAT機能搭載ルータが存在する場合でも、宅外機器001と宅内機器101の間での機器間接続を可能としていた。
特開2004−23597号公報(第13頁、図1)
(先行特許における課題を記述)
しかしながら、特許文献1では、接続要求元機器は接続対象機器が自身に対してどのネットワークに存在するのか把握出来ないため、まず接続対象機器101への直接接続を試行し、接続が失敗した後にNAT機能搭載ルータに接続要求依頼メッセージの転送を頼んで接続対象機器101との通信路の確立を試みる。
直接接続試行時、接続対象機器が接続要求元機器にとって異なるネットワークに存在し、且つ接続対象機器へ明確な通信経路が明示されていない場合は、接続対象機器宛のメッセージは接続要求元機器にとってのデフォルトルータ(接続要求元機器が所属するネットワークから別のネットワークに存在する機器へ通信する際に、接続要求元機器から送信されたメッセージが始めに経由することになるルータ)へ送信され、そのデフォルトルータにおいてもパケットの転送先が不明な場合は、更に別のルータに転送される。
そのため、直接接続を試行して接続対象機器との通信路が確立出来ない場合は、ある一定時間待つことになり、通信路確立までに時間を要するという問題がある。
特に、信頼性を重視した相互通信を行うプロトコル(通信規約)であるTransmission Control Protocol(TCP)を用いた通信においては、接続対象機器との通信路を確立する処理にて、接続対象機器からの応答メッセージを一定時間待つため、次の処理を行うまで数分程時間を要する場合もある。
このことは、ネットワークサービスを利用するユーザを待たせてしまうということになる。
また、接続要求元機器が宅内ネットワークに存在し、接続対象機器のIPアドレスが接続要求元機器とは異なるネットワークアドレスであるプライベートIPアドレスとなっている場合、通信イベント発生時に何らかの理由により接続対象機器が存在していなければ接続要求元機器から送信された接続対象機器宛てのパケットはインターネット上に流出するという問題がある。
これは、異なるネットワークのIPアドレスを送信先とするパケットは、まず接続要求元機器にとってのデフォルトルータへ送信され、そのデフォルトルータにおいてもパケットの転送先が不明な場合は、更に上層のルータ(例えばインターネット上のプロバイダ)へ転送され、結果としてプライベートIPアドレスを宛先としたパケットが、インターネット上に流出するからである。
このことは、特にセキュリティ面においてユーザに悪影響を与えることになる。
更に、特許文献1では、専用のルータが必要となるため、様々な種類の一般家庭用ルータが混在するネットワーク環境においては、その技術を適用することが非常に困難となる。
(本発明の目的)
本発明は、前記従来の課題を解決するものであり、専用ルータを必要とすることなく、通信開始前に接続要求元機器に対する接続対象機器の相対位置関係を判定し、相対位置関係から適切な接続手法を選択して接続処理を実行することで、通信路確立に要する時間の短縮を実現すると共に、通信路確立時にプライベートIPアドレス宛てのパケットがインターネット上に流出することを防ぐことを実現する通信装置を提供することを目的とする。
本発明の請求項1に係る通信装置は、複数のアドレス変換装置によりサブネットワークが階層的に構成されているネットワークに接続された通信装置であって、前記アドレス変換装置により、前記通信装置が送信したメッセージの送信元アドレスが変換されるサブネットワークを前記通信装置が接続されたサブネットワークの上層側ネットワーク、メッセージの送信先アドレスが変換されるサブネットワークを前記通信装置が接続されたサブネットワークの下層側サブネットワークとするとき、接続の可能性のある相手である接続対象機器が、前記通信装置が接続されたサブネットワークに対し、上層側サブネットワーク、同一のサブネットワーク、下層側サブネットワークのいずれに接続されているかを判定する相対位置判定部と、前記相対位置判定部の判定結果に応じて、前記接続対象機器との間の通信電文が直接相互に到達可能とするために必要な設定が行なわれていることを意味する“通信路の確立”の方法を変更する接続部を備えたことを特徴とする。
この場合、通信装置は接続対象機器が自身から見て、上層側サブネットワーク又は同一のサブネットワークに存在するのか、あるいは下層側サブネットワークに存在するのかを判断して接続方法を選択することにより、接続対象機器と必ず通信路の確立を行うことができる方法を選択することが可能となる。
結果として、通信路の確立の安定性と高速化が可能となる。
本発明の請求項2に係る通信装置における、前記接続部は、前記相対位置判定部の判定結果として、前記接続対象機器が上層側サブネットワークまたは同一サブネットワークに接続されていると判定した場合は、通信路確立要求メッセージを前記接続対象機器へ送信することにより、前記接続対象機器との通信路を確立する方法を選択することを特徴とする。
この場合、前記接続対象機器が上層側サブネットワークまたは同一サブネットワークに接続されていれば、前記通信装置が通信路確立要求メッセージを前記接続対象機器へ送信することにより、失敗することなく通信路を確立することができる。
そのため、通信路の確立の安定性と高速化が可能となる。
本発明の請求項3に係る通信装置における、前記接続部は、前記相対位置判定部の判定結果として、前記接続対象機器が下層サブネットワークに接続されていると判定した場合は、前記通信装置および前記接続対象機器との間に通信路を確立している接続支援サーバに対して通信路確立要求依頼メッセージを送信することで、前記接続対象機器に対して通信路確立の依頼を伝え、前記接続対象機器からの通信路確立要求メッセージを受信することにより前記接続対象機器との通信路を確立する方法を選択することを特徴とする。
前記接続対象機器が下層サブネットワークに接続されている場合、前記通信装置が通信路確立要求メッセージを前記接続対象機器へ送信しても通信路の確立に失敗する。
しかし、この場合、前記相対位置判定部の判定結果により、前記通信装置および前記接続対象機器との間に通信路を確立している接続支援サーバに対して通信路確立要求依頼メッセージを送信することで、前記接続対象機器に対して通信路確立の依頼を伝え、前記接続対象機器からの通信路確立要求メッセージを受信することにより、失敗すること無く通信路の確立を行うことができる。
そのため、通信路の確立の安定性と高速化が可能となる。
本発明の請求項4に係る通信装置における、前記相対位置判定部は、Time To Live (TTL)を操作したパケットを送信し、前記アドレス変換装置からの応答により前記ネットワーク内に接続された前記通信装置の上層側サブネットワークに接続されている複数の前記アドレス変換装置のアドレス情報を取得し、取得した前記アドレス情報からネットワークアドレスを推測し、前記接続対象機器のIPアドレスから推測したネットワークアドレスを比較し、一致するネットワークアドレスが存在しない場合は、前記接続対象機器は下層側サブネットワークに接続されていると判定することにより、接続対象機器のネットワーク上の相対位置を判定することが可能である。
本発明の請求項5に係る通信装置における、前記相対位置判定部は、Time To Live (TTL)を操作したパケットを送信し、前記アドレス変換装置からの応答により前記ネットワーク内に接続された前記通信装置の上層側サブネットワークに接続されている複数の前記アドレス変換装置のアドレス情報を取得し、取得した前記アドレス情報と、前記接続対象機器が接続されている前記アドレス変換装置のアドレス情報を比較し、一致するアドレスが存在しない場合は、前記接続対象機器は下層側サブネットワークに接続されていると判定するにより、接続対象機器のネットワーク上の相対位置を判定することが可能である。
本発明の請求項6に係る通信装置における、前記通信装置は、前記相対位置判定部により判定された、前記接続対象機器の相対位置を記憶する記憶部を更に備え前記接続部は、前記記憶部に記憶された前記接続対象機器の相対位置情報を使用して前記接続対象機器への接続手法を選択して通信路を確立することにより、相対位置判定の処理を省略することが可能であるため、通信路確立までの時間を短縮することが可能となる。
また、相対位置判定のためのパケットがネットワーク上に流れないことにより、ネットワーク内のトラヒックを軽減することも可能となる。
本発明の請求項7に係る通信装置における、前記接続部は、前記接続対象機器との通信路の確立が失敗した場合に、前記相対位置判定部に再判定を依頼することにより、ネットワーク全体の構成が変化したことを検出することが可能となる。
また、接続対象機器との相対位置を見直して再接続することが可能となる。
本発明の請求項8に係る通信装置における、前記相対位置判定部は、定期的に、前記接続対象機器の相対位置を再判定することにより、常に最新の相対位置情報を把握しておくことが可能である。
本発明の請求項9に係る通信装置における、前記相対位置判定部は、前記接続対象機器の相対位置再判定に成功した場合に、再判定結果を通信路確立失敗時に使用した前記接続対象機器の相対位置情報に更新することを前記記憶部に依頼することにより、次回の通信路確立時に誤情報による通信路確立の失敗を防ぐことが可能となる。
本発明の請求項10に係る通信装置における、前記相対位置判定部は、前記接続対象機器の相対位置再判定に失敗した場合に、通信路確立失敗時に使用した前記接続対象機器の相対位置情報の削除を前記記憶部に依頼することにより、記憶部に誤情報が残り、その誤情報による通信路確立の失敗を防ぐことが可能となると共に、記憶部の領域を有効活用することが可能である。
また本発明は、複数のアドレス変換装置によりサブネットワークが階層的に構成されているネットワークにおいて、前記通信装置は、前記接続対象機器が前記通信装置に対して上層側サブネットワーク、同一のサブネットワーク、下層側サブネットワークのいずれに接続されているかを判定するステップと、前記判定ステップの結果に応じて、前記接続対象機器との間の通信電文が直接相互に到達可能とするために必要な設定が行なわれていることを意味する“通信路の確立”の方法を変更するステップとを備える。
なお本発明は、複数のアドレス変換装置によりサブネットワークが階層的に構成されているネットワークにおいて、前記通信装置は、前記接続対象機器が前記通信装置に対して上層側サブネットワーク、同一のサブネットワーク、下層側サブネットワークのいずれに接続されているかを判定するステップと、前記判定ステップの結果に応じて、前記接続対象機器との間の通信電文が直接相互に到達可能とするために必要な設定が行なわれていることを意味する“通信路の確立”の方法を変更するステップとを備えるプログラムを記録した記録媒体により提供されてもよい。
以上説明したように、本発明では、接続対象機器との通信路確立前に予め接続対象機器の相対位置を判定し、判定結果に応じて通信路確立方法を切り替えることで、複数のアドレス変換装置によりサブネットワークが階層的に構成されているネットワークにおいて、接続対象機器がどのサブネットワークに接続されていても短時間で通信路確立を可能とし、且つ、通信路確立時にプライベートIPアドレス宛てのパケットがインターネット上に流出しない通信装置を提供することを可能とする。
以下本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
(環境について記述)
図1は、本発明の実施の形態1における“通信装置”が用いられるネットワークの一例を示す図である。
図1において、NAT機能搭載ルータ(以降単にルータと記す)100およびNAT機能搭載ルータ200は、通信に利用するIPアドレス領域が異なる2つのサブネットワークを接続する機能を持つ装置であり、ルータ100およびルータ200は、接続する2つのネットワークのIPアドレスを持つ。
ここで、各ルータが接続する2つのサブネットワークにおいて、ルータが接続する第1のサブネットワークから第2のサブネットワークにパケットを中継する時に、ルータがパケットの送信先アドレスを変換してパケットを中継する場合、第1のサブネットワークをこのルータの上層側サブネットワークと呼ぶことにする。また、第2のサブネットワークをこのルータの下層側サブネットワークと呼ぶことにする。なお、この場合、第2のサブネットワークから第1のサブネットワークにパケットを中継する時、ルータはパケットの送信元アドレスを第1のサブネットワークのアドレスに変換する。
通常、図1のような宅外ネットワークに接続される宅内ネットワークにおいては、各ルータ(ルータ100、ルータ200)の上層側サブネットワークに向けて送信したパケットが宅外ネットワークに送信されるように接続される。つまり、各ルータにおいて、宅外ネットワークに近いサブネットワークが上層側サブネットワークとなる。
すなわち、ルータ100にとっては、IPアドレスとして“200.168.1.200”が設定されている側が上層側ネットワーク、IPアドレスとして“192.168.1.1”が設定されている側が下層側サブネットワークとなる。
また、ルータ200にとっては、IPアドレスとして“192.168.1.2”が設定されている側が上層側サブネットワーク、IPアドレスとして“192.168.2.1”が設定されている側が下層側サブネットワークとなる。
そして、グローバルIPアドレスを用いて通信が行われる宅外ネットワーク00とプライベートIPアドレスを用いて通信が行われる宅内ネットワーク01とが、ルータ100を介して接続されている。
また、サブネットワークLAN10とサブネットワークLAN20とが、ルータ200を介して接続されている。
このサブネットワークLAN10及びサブネットワークLAN20に接続された機器101、102、201、202は、本発明に係る“通信装置”であり、この機器101、102、201、202は、例えば、PCやネットワーク対応の家電機器(ネット家電)である。
なお本実施の形態においては、機器101と機器202を“直接通信を要求する機器(接続要求元機器)”、機器102と機器201を“接続要求元機器にとって直接通信の対象となる機器(接続対象機器)”とするが、接続要求元機器、接続対象機器どちらか一方の機能のみを有するのではなく、接続要求元機器と接続対象機器双方の機能を有してもよい。
また、接続支援サーバ111は、接続要求元機器から送信された接続対象機器に対する接続要求依頼メッセージを接続対象機器へ転送する機能が搭載された機器である。
本実施の形態においては、接続支援サーバ111は、サブネットワークLAN10に接続され、プライベートIPアドレス“192.168.1.111”を有するものとする。
なお、接続支援サーバは、宅内ネットワーク01内の全ての機器と双方向通信可能な通信路を確立する機能を有し、上記接続要求依頼メッセージの転送が可能である。
接続支援サーバ111が、宅内ネットワーク01内の全ての機器と双方向通信路を確立する過程を簡単に説明する。図1のように接続管理サーバが宅外ネットワーク00と宅内ネットワーク01との境界に接続されたルータ100に接続されている場合、接続支援サーバ111は各機器から見ると、同じサブネットワークにあるか、又は上層側のサブネットワークに存在することになる。そのため、各機器が接続支援サーバ111のアドレスを取得すれば、各機器から接続支援サーバ111に直接、通信路を接続することができ、結果として、接続支援サーバ111から、各機器に対してもパケットを送信することが可能となる。
また、接続支援サーバ111がルータ200のような宅外ネットワーク00との境界ではないルータに接続されている場合、機器101や機器102のように接続支援サーバ111が接続しているサブネットワークの上層側サブネットワークに接続している機器から接続支援サーバ111に通信路を接続することはできない。しかし、接続支援サーバ111が上層側サブネットワークに接続している機器101及び機器102のアドレス情報を取得している場合、接続支援サーバ111から機器101及び機器102に直接、通信路を接続することができ、結果として、機器101及び機器102から接続支援サーバ111に対してもパケットを送信することが可能となる。
このように、各機器から上層側に接続された接続支援サーバ111に通信路の接続を行い、接続支援サーバ111から上層側に接続された機器に通信路の接続を行うことにより、接続支援サーバが図1の宅内ネットワーク01のどのルータに接続している場合でも、各機器との間に通信路を接続することが可能である。
ここで、通信路接続とは、TCPによる通信路接続でも良いし、各機器又は接続支援サーバ111が定期的にUDPパケットを送信することで、通信経路上に存在する各ルータの設定を保持し、接続支援サーバ111から各機器への通信を可能とした接続でも良い。また、接続支援サーバ111及び各機器が、それぞれ、機器のアドレス情報、接続支援サーバのアドレス情報を取得する方法としては、ユーザによるアドレス情報の設定等の方法が考えられる。
なお、本特許の本質は、接続支援サーバ111と各機器との間で通信路を利用して、各機器間(接続要求元機器と接続対象機器との間)に、短時間で通信路確立し、且つ、通信路確立時にプライベートIPアドレス宛てのパケットがインターネット上に流出しない制御を実現することである。そのため、本特許においては、接続支援サーバ111と各機器との間で通信路が形成されていればよく、その接続過程は本特許の範疇外である。ゆえに、本実施の形態で記載した接続支援サーバ111と各機器との間で通信路を確立する過程は、一例であって本特許を限定するものではない。
(発明装置の機能ブロックについて記述)
図12(A)は、接続要求元機器101の基本構成を示す機能ブロック図である。
図12(B)は、接続対象機器201の基本構成を示す機能ブロック図である。
また図12(C)は、接続支援サーバ111の基本構成を示す機能ブロック図である。
図12(A)において接続要求元機器101は、機器101から宅外ネットワークに到達するまでに経由するルータのアドレス情報を取得するための通信経路調査部1004と通信経路調査結果を記憶する記憶部1002を備える。
また、自身のアドレス情報を、宅内機器のアドレスを収集している機器に登録するアドレス情報登録部1005と、接続対象機器のアドレスを取得するためのアドレス情報取得部1006を備え、アドレス情報取得部1006にて取得した情報も記憶部1002に記憶する。
更に、通信経路調査部1004にて調査した、接続要求元機器101から宅外ネットワークまでの通信経路の情報と、アドレス情報取得部1006にて取得した接続対象機器のアドレス情報を基に、接続要求元機器101自身に対する接続対象機器のネットワーク上の相対位置の判定を行う相対位置判定部1001を備え、この判定結果も記憶部1002に記憶する。
また、記憶部1002に記憶した相対位置判定結果に従って、接続対象機器との間で通信路を確立するための接続処理を行う接続部1003と、他機器と通信するための通信機能部1007を備える。
なお、記憶部1002においては、後に記すその他処理に必要な情報および処理結果も記憶する。
図12(B)において接続対象機器201は、接続支援サーバとの通信路を確立するための処理や、接続要求元機器から送信されたメッセージに応じた接続処理を行う接続部2001と、自身のアドレス情報を、宅内機器のアドレス情報を収集している機器に登録するアドレス情報登録部2002と、他機器と通信するための通信機能部2003を備える。
図12(C)において接続支援サーバ111は、自身のアドレス情報を、宅内機器のアドレスを収集している機器(ここでは接続支援サーバ自身)に登録するアドレス情報登録部1113と、自身のアドレス情報および他の宅内機器から送信されたアドレス情報を記憶する記憶部1111と、他の機器から宅内機器のアドレス情報の提供を求められた際に、記憶部1111に記憶されている宅内機器のアドレス情報を提供するアドレス情報提供部1114を備える。
また、接続要求元機器にとって接続対象となる機器が下層側サブネットワークに存在する場合に、接続要求元機器から送信されてくるメッセージを、接続要求元機器にとっての接続対象機器へ転送するメッセージ転送部1112と、他機器と通信するための通信機能部1115を備える。
なお、接続要求元機器202は接続要求元機器101と同一の機能を、接続対象機器102は接続対象機器201と同一の機能を有しているのでそれぞれの機器についての説明は省略することとする。
以下、本実施の形態では、接続要求元機器101と接続対象機器201との間で通信路を確立する際の動作を中心に説明する。
まず、図2を用いて、当該通信装置と、当該通信装置にとって接続対象機器となる機器との間に通信路を確立するための4つのフェーズについて、その概要を説明する。
(4つのフェーズの概要について記述)
接続対象機器との通信路を確立するためには、通信経路調査フェーズ(ステップS201)、機器一覧情報取得フェーズ(ステップS202)、相対位置判定フェーズ(ステップS203)、接続フェーズ(ステップS204)の4つのフェーズがある。
通信経路調査フェーズと機器一覧情報取得フェーズの実施順序は前後してもよく、通信経路調査フェーズおよび機器一覧情報取得フェーズ後に相対位置判定フェーズを実施し、続いて接続フェーズを実施する。
次に、各フェーズの概要を説明する。
ステップS201に示す通信経路調査フェーズにおいて、接続要求元機器は、自身から宅外ネットワーク上の所定の機器001宛に通信経路調査を実施する。
この通信経路調査によって、接続要求元機器101は自身が接続されたルータのアドレス情報と、その上層側サブネットワークに接続されたルータのアドレス情報を取得する。
ステップS202に示す機器一覧情報取得フェーズにおいて、機器101は、接続対象機器となりうる機器のアドレス情報を取得するために、機器一覧情報を接続支援サーバから取得する。
ステップS203に示す相対位置判定フェーズにおいて、機器101に対しての相対位置を判定する必要がある機器について、ステップ201の通信経路調査フェーズで取得したルータのアドレス情報とステップ202で取得した接続対象機器のアドレス情報を用いて、相対位置判定を行い、記憶部1002に判定結果を記憶する。
ステップS204に示す接続フェーズにおいて、機器101の記憶部1002がステップ203の相対位置判定フェーズで記憶した相対位置判定結果を用いて、接続対象機器との通信路を確立する。
本実施の形態においては、接続フェーズ以外の3つのフェーズ(通信経路調査フェーズ、機器一覧取得フェーズ、相対位置判定フェーズ)を、接続対象機器との通信イベントが発生する前に予め実施するものとして説明するが、接続要求元機器が、ネットワークに接続された直後に通信イベントが発生した等の場合には、即座に接続対象機器との間に通信路を確立するための4つのフェーズをステップS201からS204まで連続的に実施してもよい。
なお、通信経路調査フェーズと機器一覧情報取得フェーズは前後して実施してもよい。
以下、前記4つの各フェーズについて、図3〜9を用いて詳細に説明する。
(通信経路調査フェーズについて詳細説明)
図3は、図2におけるステップS201の通信経路調査フェーズでの通信シーケンスを示した図である。
機器101の通信経路調査部1004は、パケットのIPヘッダに設定するTTL(Time To Live)の値を1ずつ増加させながらUDPパケット(通信経路調査メッセージ)を宅外ネットワーク上の所定の機器宛てに送信することにより得られた、前記UDPパケットが通過するルータからのICMP時間超過メッセージを用いて通信経路調査を行う。
ICMP時間超過メッセージとは、ルータを通過する度に1ずつ減らされるTTLの値が0になったときに、該当パケットがルータにて破棄された際にルータから該当パケット送信元に対して送られるメッセージのことであり、このICMP時間超過メッセージの送信元アドレスは、通常、ルータの下層側ネットワーク用IPアドレスとなる。
このことを利用すると、ICMP時間超過メッセージ(以降、通信経路調査応答メッセージと記すこととする)の送信元アドレスがグローバルアドレスとなるまで通信経路調査を実施することで、宅内に設置されているルータの下層側ネットワーク用IPアドレスを把握することが可能となる。
なお、下層側ネットワーク用IPアドレスがグローバルアドレスであるか、そうでないかを判断する際は、アドレスがプライベートアドレス(10.0.0.0〜10.255.255.255、172.16.0.0〜172.255.255.255、192.168.0.0〜192.168.255.255)であるか、そうでないかを確認することによって判断する。
本実施の形態においては、接続要求元機器101から宅外ネットワーク上の機器001宛てに、TTLを1ずつ増加(TTL=1から開始)させながら通信経路調査メッセージを送信する(ステップS301)と、まず、TTL=1と設定して通信経路調査メッセージを送信したときの応答として、下層側ネットワーク用IPアドレスが“192.168.1.1”であるルータ100から送られた通信経路調査応答メッセージを受信することにより、通信経路調査を実施する(ステップS302)。
続いて、TTL=2と設定して通信経路調査メッセージを送信したときの応答として、下層側ネットワーク用IPアドレスが“200.168.1.10”である宅外ルータ010から送られた通信経路調査応答メッセージを受信する(ステップS303)。
このとき、宅外ルータ010から送られた応答メッセージの送信元アドレスはグローバルアドレスとなっていることがわかるので、ここで通信経路調査は終了し、調査結果を記憶部1002に記憶する(ステップS304)。
なお、いわゆるマンションLANのように、宅外ネットワークがインターネットではない環境において通信経路調査を実施する際は、通信経路調査を実施する前に、宅内ネットワーク01と宅外ネットワーク00の境界部分に設置されているルータ100の上層側ネットワーク用IPアドレスをアプリケーション等から取得し、そのアドレスを宛先として通信経路調査を実施してもよい。
また、通信経路調査の際は、tracerouteコマンドのようなネットワーク経路調査ツールを用いても、他のツールを用いてもよく、記憶された通信経路調査結果は、記憶部1002内部で一定期間または相対位置判定部からの削除要求を受信するまで記憶する。
このように、通信経路調査結果を記憶部1002にて記憶することによって、通信経路調査結果を利用する処理が必要となった場合に、即座に処理を実行することが可能となる。
また、記憶期間を設けたり、削除要求に従って記憶情報を削除することによって、現状に即した情報を保持することが可能となると共に、不要な情報を削除することで、現状に即していない情報を用いた処理を行わないことが可能となる。
(機器一覧情報取得フェーズの詳細説明)
図4は、図2におけるステップS202の機器一覧情報取得フェーズでの通信シーケンスを示した図である。
まず、機器101、102、201、202、接続支援サーバ111は、ネットワークに接続した際に、それぞれの機器に備わっているアドレス情報登録部1005、2002、1113により、自身のアドレス情報を、宅内機器のアドレス情報を収集している機器に登録する。
そして、機器101のアドレス情報取得部1006は、接続対象機器を含む宅内ネットワーク機器一覧情報を取得するための処理を行う。
本実施の形態においては、宅内機器一覧情報は、接続支援サーバ111が保持しているため、接続支援サーバ111に対して宅内機器一覧情報取得要求メッセージを送信する(ステップS401)。
機器101からの宅内機器一覧情報取得要求メッセージを受信した接続支援サーバ111のアドレス情報提供部1114は、宅内機器一覧情報を含む宅内機器一覧情報取得応答メッセージを機器101へ送信する(ステップS402)。
宅内機器一覧情報を含む宅内機器一覧情報取得応答メッセージを受信した機器101は、宅内機器一覧情報の取得に成功したことを記憶部1002に記憶すると共に、記憶部1002に宅内機器一覧情報を記憶する(ステップS403)。
前記機器一覧情報は、機器101の記憶部1002にて、例えば図10に示すようにIPアドレスと機器名等の識別名を対応付けて記憶するが、識別名がない場合はIPアドレスのみを記憶する。
また前記機器一覧情報は、記憶部1002が一定期間または削除要求を受信するまで記憶する。
このように、機器一覧情報を記憶部1002にて記憶することによって、機器一覧情報を利用する処理が必要となった場合に、即座に処理を実行することが可能となる。
また、記憶期間を設けたり、削除要求に従って記憶情報を削除することによって、現状に即した情報を保持することが可能となると共に、不要な情報を削除することで、現状に即していない情報を用いた処理を行わないことが可能となる。
なお、図2のステップS202の機器一覧取得フェーズは、ステップS201の通信経路調査フェーズの前に実施してもよく、機器101におけるアドレス情報取得部1006が相対位置判定部1001からの機器一覧取得要求を受信したときに実施してもよい。
また本実施の形態では、接続要求元機器が接続支援サーバから機器一覧情報を取得することとしているが、接続支援サーバ以外の機器が保持している機器一覧情報を取得してもよい。
(相対位置判定フェーズの詳細説明)
図5は、図2におけるステップS203の相対位置判定フェーズでの処理のフローチャートを示した図である。
なお、ここでは、機器101を接続対象機器、機器201を接続対象機器として説明する。
まず、機器101の相対位置判定部1001は、自身が保持する通信経路調査結果と、機器一覧情報に記されている接続対象機器201のIPアドレスを記憶部1002から読み込む。
続いて、通信経路調査結果に記された、機器101から送信されたパケットが宅外ネットワークに至るまでに経由するルータの下層側ネットワーク用IPアドレス“192.168.1.1”からネットワークアドレスを推測し、“192.168.1”を抽出する。
また、同様に接続対象機器である機器201のIPアドレス“192.168.2.201”から、ネットワークアドレスを推測し、“192.168.2”も抽出する(ステップS501)。
ここで、家庭用ルータにおいてネットワークアドレスは、プライベートアドレスのクラスに応じて設定されているため、IPアドレスが判明すれば、そのネットワークアドレスを推測することが可能である。この家庭用ルータのネットワークアドレスの設定では、通常、クラスCのアドレスが用いられており、そのネットワークアドレスは192.168.x(xは0〜255)である。
そして、通信経路調査結果に記述されている各機器から抽出したネットワークアドレスと、接続対象機器201のネットワークアドレスを比較し、通信経路調査結果に、機器201のネットワークアドレスと同一のネットワークアドレスが存在しないかどうかを調査する(ステップS502)。
本実施の形態においては、通信経路調査結果の中に、機器201のネットワークアドレスと同一のネットワークアドレス“192.168.2”が付与されたルータ200は存在しない。
これは、機器101が機器201と同一ネットワークに存在していないことに加えて、機器101から送信されたパケットが、機器101が所属するサブネットワークLAN10よりも上層側ネットワークである宅外ネットワーク00に到達するまでに、機器201が所属するサブネットワークLAN20を通過しない、すなわち、サブネットワークLAN20は、機器101が所属するサブネットワークLAN10に対して同一または上層側サブネットワークには存在しないことを意味している。
よって、機器201が属するサブネットワークは、機器101が属するサブネットワークより下層側に存在することが明らかになるため、機器201は機器101が属するサブネットワークより下層側サブネットワークに存在するものと判定することが可能となる(ステップS503)。
仮に、接続対象機器が機器102であった場合は、機器102のネットワークアドレスは“192.168.1”であり、通信経路調査結果の中に、機器102のネットワークアドレスと同一のネットワークアドレスが付与されたルータが存在する、すなわち、機器102は、機器101が属するサブネットワークと同一または上層側サブネットワークに存在するものと判定することが可能となる(ステップS504)。
ここで判定された結果は、接続対象機器のIPアドレスと対応付けて、例えば図11に示すような形式で記憶部1002に記憶する(ステップS505)。
なお、機器101の相対位置判定部1001は、図6の相対位置判定フェーズでの処理のフローチャートに示すように、接続対象機器のIPアドレスの他に、接続対象機器におけるデフォルトルータのIPアドレスを利用してもよい。
その際は、記憶部1002に記憶されている接続対象機器におけるデフォルトルータのIPアドレスと通信経路調査結果を抽出して(ステップS601)、通信経路調査結果の中に、接続対象機器におけるデフォルトルータ(機器が、自身とは異なるネットワークに所属する通信相手への特別な通信経路情報を持たない場合にパケットが最初に送られるルータ)のIPアドレスと同一のIPアドレスが存在しないかどうか調査して(ステップS602)、接続対象機器の相対位置を判定してもよい(ステップS603、S604)。
そして、判定結果は、接続対象機器のIPアドレスと対応付けて、例えば図11に示すような形式で記憶部1002に記憶する(ステップS605)。
また、機器101の相対位置判定部1001は、機器一覧情報取得直後や任意のタイミング、または、定期的に図2におけるステップS203の相対位置判定フェーズにおける判定処理を実施してもよい。
あるいは、相対位置判定部1001からの再判定の要求を受信した場合に、判定処理を実施してもよい。
このことは、接続要求元機器において接続対象機器に対する通信イベントが発生する前に、判定処理を予め実施してもよいということを意味している。
(接続フェーズについての詳細説明)
図7は、図2におけるステップS204の接続フェーズでの処理のフローチャートを示した図である。
まず、機器101の接続部1003は、図11に示すような形式で記憶部1002に記憶している接続対象機器に対する情報を記憶部1002から読み込む(ステップS701)。
続いて、接続要求元機器に対する接続対象機器の相対位置判定結果に応じて、接続処理を選択する(ステップS702)。
接続対象機器が接続要求元機器に対して下層側サブネットワークに存在する場合は、接続対象機器が下層側サブネットワークに存在する場合の接続処理を(ステップS703)、接続対象機器が接続要求元機器に対して同一または上層側サブネットワークに存在する場合は、接続対象機器が同一/上層側サブネットワークに存在する場合の接続処理を行う(ステップS704)。
そして、ステップS703(またはS704)の後、通信路が確立出来たか否かを判定する(ステップS705)。
接続対象機器との通信路が確立された場合は、接続要求元機器である機器101では“通信路確立成功”という内部情報を保持し(ステップS706)、通信路が確立出来なかった場合は、“通信路確立失敗”という内部情報を保持する(ステップS707)。
図8は、図1に示す状況下で、図7におけるステップS703の接続処理において接続対象機器が下層側サブネットワークに存在している場合にTCP通信路を確立する際の通信シーケンスを示した図である。
まず機器101の接続部1002は、機器201に対する“接続要求依頼メッセージ”を接続支援サーバ111に送信する(ステップS801)。
なお、本実施の形態において、この“接続要求メッセージ”は、“TCP通信におけるsynパケットの送信を依頼するメッセージ”を指す。
続いて、接続支援サーバ111は、機器101から送信された機器201宛ての“接続要求依頼メッセージ”を機器201宛てに転送する(ステップS802)。
接続支援サーバ111と機器201との間には、通信路が予め確立されているため、ルータ200にて前記接続要求依頼メッセージは機器201に転送される。
機器101からの前記接続要求依頼メッセージを受信した機器201は、機器101宛てに“接続要求メッセージ(synパケット8001)”を送信する(ステップS803)。
ここで機器201は、ルータ200の下層側ネットワークに接続されているため、ルータ200の上層側ネットワークに接続されている機器101に対して、直接メッセージを送信することが出来る。
機器201からの前記接続要求メッセージ(synパケット8001)を受信した機器101は、機器201に対して“接続要求メッセージおよび機器201から送信された接続要求メッセージに対する受信確認応答メッセージ(syn/ackパケット8002)”を送信する(ステップS804)。
なお、前記“接続要求メッセージおよび受信確認応答メッセージ”は、TCP通信における“syn/ackパケット(8002)”である。
機器101からの“接続要求メッセージと受信確認応答メッセージ”を受信した機器201は、機器101に対して“受信確認応答メッセージ(ackパケット8003)”を送信する(ステップS805)。
機器201からの“受信確認応答メッセージ(ackパケット8003)”を受信した機器101は、機器101と機器201との間で通信路が確立されたことを認識し(ステップS806)、以後、機器101と機器201との間で通信が行われることとなる。
なお、本実施の形態におけるステップS803〜S805は、TCP通信における“3ウェイ・ハンドシェーク”と呼ばれる通信路確立シーケンスであり、機器101は、以降機器201とTCP通信を行う際は、この通信路を用いる。
図9は、図1に示す状況下で、図7におけるステップS704の接続処理において接続対象機器が同一または上層側サブネットワークに存在している場合にTCP通信路を確立する際の通信シーケンスを示した図である。
なおここでは、接続要求元機器を機器202として、接続要求元機器に対して上層側サブネットワークに存在する機器102を、接続対象機器として説明する。
まず、機器202は、機器102に対する“接続要求メッセージ(synパケット9001)”を送信する(ステップS901)。
これは、接続対象機器が下層側サブネットワークに接続されている場合とは異なり、直接通信が可能であるため、接続支援サーバを介さずに通信を開始している。
機器202からの“接続要求メッセージ(synパケット9001)”を受信した機器102の接続部2001は、機器202に対して“接続要求メッセージおよび受信確認応答メッセージ(syn/ackパケット9002)”を送信する(ステップS902)。
機器102からの“接続要求メッセージおよび受信確認応答メッセージ(syn/ackパケット9002)”を受信した機器101は、機器102に対して“受信確認応答メッセージ(ackパケット9003)”を送信する(ステップS903)。
機器202からの“受信確認応答メッセージ(ackパケット9003)”を受信した機器102は、機器202と機器102との間で通信路が確立されたことを認識し(ステップS904)、以降機器202とTCP通信を行う際は、この通信路を用いる。
このように、接続要求元機器に対する接続対象機器のネットワーク上の相対位置を判定し、判定結果に応じて接続方法を切り替えることで、接続対象機器との直接接続に失敗したことを検出した後に接続方法を切り替える必要がないため、通信イベント発生後すぐに適切な方法で接続対象機器との通信路を確立することが可能となる。
更に、相対位置判定の際に、“通信経路調査結果に接続対象機器に関する情報が含まれていない場合は、接続対象機器は接続要求元機器が所属するサブネットワークより下層側に存在する”と判定するため、接続対象機器が宅内ネットワーク内に存在するかしないか不明な場合には、自身より下層側ネットワークに向かって接続処理を実施するため、自身より上層側ネットワーク、つまりインターネットを含む宅外ネットワークに向かって接続処理は行われず、プライベートIPアドレスを宛先としたパケットが宅外ネットワークへ流出することを防止することが可能となる。
なお、本実施の形態においては、TCP通信の際の通信シーケンスを説明したが、TCPパケットを使用せずとも本実施の形態に記す通信シーケンスを実現することは可能である。
例えば、TCPのような繁雑な処理を省き高速処理を行うプロトコルであるUser Datagram Protocol(UDP)等のTCP以外のプロトコルに基づいて通信路を確立することも可能である。
UDPの場合は、TCPとは異なり、オペレーティングシステム(OS)内部のネットワークソフトウェアの一種であるトランスポートモジュールで、接続対象機器との相互通信のための通信路確立は行わないため、OS内部のモジュールと比べてより具体的な機能を提供しているミドルウェアまたはアプリケーションソフトウェアにて、TCPで提供されている通信路確立機能を模倣した処理を行い、接続対象機器との通信路を確立することが可能となる。
更に、接続対象機器と接続要求元機器間で、一定期間毎にUDPパケットを送受信し合うことにより、一旦確立した通信路を維持し続けることが可能となる。
また、接続対象機器の相対位置は、図2におけるステップS201〜S203のシーケンスにより記憶部1003に記憶されているため、ステップS204の接続フェーズは、ステップS203が完了している状態であればいつ実施してもよい。
なお、ステップS201〜S203は一連のシーケンスとして処理が行われているが、記憶部1002に記憶している相対位置を参照して接続してもよい。
(接続失敗時の処理について記述)
図14は、図2におけるステップS204の接続フェーズにおいて、機器101の接続部1003にて通信路の確立が失敗した場合の処理のフローチャートを示した図である。
通信路の確立が失敗する状況としては、接続要求元機器および接続要求元機器が接続しているルータ、または、接続対象機器および接続対象機器が接続しているルータが移設される、つまり、サブネットワーク全体が移設されたことにより、接続対象機器のIPアドレスに変更はないが、接続要求元機器が存在するサブネットワークと接続対象機器が存在するサブネットワークの、ネットワーク上の位置関係に変化が生じた場合が考えられる。
接続部1003は、記憶部1002に記憶されている情報を用いて通信路の確立に失敗した際、機器一覧情報の再取得を行い(ステップS1401)、再判定依頼を相対位置判定部1001に対して行う(ステップS1402)。
再判定依頼を受けた相対位置判定部1001は、機器101の記憶部1002に記憶されている最新の情報を用いて、図5のステップS501〜S505(またはステップS601〜S605)に示す相対位置判定を行う(ステップS1403)。
上記再判定に成功した場合、機器101の相対位置判定部1001は、再判定前の結果と再判定後の結果を比較し、再判定前後で結果に違いが生じた場合は、再判定結果で通信路確立失敗時に使用した情報を更新するよう記憶部1002に依頼する(ステップS1404)。
なお、再判定前後での判定結果の違いが、接続対象機器が移設等されたことにより相対位置が変化したものであった場合(IPアドレスの変化があった場合)は、通信路確立失敗時に使用した記憶情報を一旦削除して、再判定結果を新たに記憶部1002に記憶することにより更新し、サブネットワーク全体が移設した場合(IPアドレスは変化しないがネットワーク上の相対位置が変化した場合)は、再判定結果で通信路確立失敗時に使用した情報を単に上書きすることにより更新するとよい。
なお、再判定結果の更新方法は、旧情報削除と新規記憶または上書きと統一してもよい。
再判定に失敗した場合、機器101の相対位置判定部1001は、通信路確立失敗時に使用した記憶情報の削除と、再判定時に使用した情報の削除を記憶部1002に依頼する(ステップS1405)。
(方法クレームと記憶媒体クレームについて記述)
なお、本実施の形態において、接続要求元機器、接続対象機器、接続支援サーバそれぞれは、図2〜9に示す通信シーケンスを遂行するものとしたが、その全てをソフトウェアとして実装してもよい。
このようにすることによって、PC(Personal Computer)等の情報処理装置に前記ソフトウェアをインストールすることで、PC等の情報処理装置を接続要求元機器、接続対象機器、接続支援サーバとして動作させることが可能となる。
また、前記ソフトウェアを、HDD(Hard Disk Drive)、CD−ROM(Compace Disk Read Only Memory)、メモリカード、フロッピー(登録商標)ディスク等の記憶媒体に記憶してもよい。
このようにすることによって、前記記憶媒体を用いてPC等の情報処理装置に前記ソフトウェアをインストールすることが可能となる。
また、図16に示すようなハードウェア構成にて、本発明の通信装置を実現してもよい。
その際は、図12(A)、(B)、(C)にて示している、通信機能部以外の機能部1001〜1006、2001、2002、1111、1112、1113、1114を、Read Only Memory (ROM)そしてRandom Access Memory (RAM)等の記憶装置1601に書き込み、Programmed I/O (PIO)方式のように、記憶装置1601内のデータを中央処理装置1602を介してデータを通信機能部1007へ転送(1611)、または、Direct Memory Access (DMA)方式のように、記憶装置1601内のデータを中央処理装置1602を介さず、データを通信機能部1007へ転送(1612)するなどして実現してもよい。
また、本発明の通信装置により実現する機能を、Large Scale Integration (LSI)のような集積回路に組み込んでもよい。
なお、接続支援サーバは、全ての機器との通信路が確立されていなくてもよく、接続要求元機器と接続対象機器それぞれとの間でのみ通信路が確立されていればよい。
また、本実施の形態で説明している構成は一例であって、本発明の通信装置および接続対象機器、そして接続支援サーバはどのサブネットワークに接続されていてもよい。
本発明の通信装置は、宅内ネットワークのような局所的なネットワークにて、複数のルータを設置することによりサブネットワークが階層的に構築された環境において、異なるサブネットワークに接続されている機器間でネットワーク環境に影響されることなく、安定して迅速に通信路を確立することが可能であり、かつ、プライベートIPアドレスを宛先としたパケットが宅外ネットワークへ流出することを防いで宅内機器同士連携動作する際に有用である。
本発明の実施の形態1におけるネットワーク構成を示す図 本発明の実施の形態1において接続対象機器との通信路を確立するための4つの代表的なフェーズを示す図 本発明の実施の形態1において通信路を調査するフェーズにおける通信シーケンスを示した図 本発明の実施の形態1において宅内機器一覧情報を取得するフェーズにおける通信シーケンスを示した図 本発明の実施の形態1において接続対象機器のIPアドレスを用いて相対位置を判定するフェーズにおける処理内容を示した図 本発明の実施の形態1において接続対象機器におけるデフォルトルータのIPアドレスを用いて相対位置を判定するフェーズにおける処理内容を示した図 接続フェーズにおいて、相対位置判定結果に応じて接続する際の処理内容を示した図 接続対象機器が下層側ネットワークに接続されている場合における接続時の通信シーケンスを示した図 接続対象機器が同一または上層側ネットワークに接続されている場合における接続時の通信シーケンスを示した図 本発明の通信装置内部に記憶される、接続対象機器のIPアドレス、機器の識別名を含む宅内機器一覧情報を示した図 本発明の通信装置内部に記憶される、接続対象機器のIPアドレス、相対位置、情報取得経過時間を含む相対位置判定結果記憶情報を示した図 本発明の通信装置における機能構成を示した図 宅内ネットワークを示す図 本発明の実施の形態1において接続対象機器との接続に失敗した場合における処理内容を示した図 特許文献1の実施の形態によるネットワーク構成を示す図 図12の装置を、CPUを用いて実現した場合のハードウェア構成を示した図
符号の説明
00 宅外ネットワーク
01 宅内ネットワーク
10,20 サブネットワーク
001 宅外ネットワーク上の機器
100,200 NAT機能搭載ルータ
110 特許文献1記載のNAT機能搭載ルータ
101,102 サブネットワークLAN10に接続されている機器
201,202 サブネットワークLAN20に接続されている機器
111 接続支援サーバ
1001 相対位置判定部
1002,1111 記憶部
1003,2001 接続部
1004 通信経路調査部
1005,1113,2002 アドレス情報登録部
1006 アドレス情報取得部
1007,1115,2003 通信機能部
1112 メッセージ転送部
1114 アドレス情報提供部
1601 記憶装置
1602 中央演算装置(CPU)
1611 PIO転送方式の際に使用する信号線
1612 DMA転送方式の際に使用する信号線

Claims (12)

  1. 複数のアドレス変換装置によりサブネットワークが
    階層的に構成されているネットワークに接続された通信装置であって、
    前記アドレス変換装置により、
    前記通信装置が送信したメッセージの送信元アドレスが変換されるサブネットワークを
    前記通信装置が接続されたサブネットワークの上層側ネットワーク、
    メッセージの送信先アドレスが変換されるサブネットワークを
    前記通信装置が接続されたサブネットワークの下層側サブネットワークとするとき、
    接続の可能性のある相手である接続対象機器が、
    前記通信装置が接続されたサブネットワークに対し、
    上層側サブネットワーク、同一のサブネットワーク、下層側サブネットワークの
    いずれに接続されているかを判定する相対位置判定部と、
    前記相対位置判定部の判定結果に応じて、
    前記接続対象機器との間の通信電文が直接相互に到達可能とするための設定が
    行なわれていることを意味する通信路の確立の方法を変更する接続部
    を備えた通信装置。
  2. 前記接続部は、前記相対位置判定部の判定結果として、
    前記接続対象機器が上層側サブネットワークまたは同一サブネットワークに
    接続されていると判定した場合は、
    通信路確立要求メッセージを前記接続対象機器へ送信することにより、
    前記接続対象機器との通信路を確立する方法を選択する、
    請求項1に記載の通信装置。
  3. 前記接続部は、前記相対位置判定部の判定結果として、
    前記接続対象機器が下層側サブネットワークに接続されていると判定した場合は、
    前記通信装置および前記接続対象機器との間に通信路を確立している
    接続支援サーバに対して通信路確立要求依頼メッセージを送信し、
    前記接続対象機器に対して通信路確立の依頼を伝え、
    前記接続対象機器からの通信路確立要求メッセージを受信することにより
    前記接続対象機器との通信路を確立する方法を選択する、
    請求項1に記載の通信装置。
  4. 前記相対位置判定部は、Time To Live (TTL)を操作したパケットを送信し、
    前記アドレス変換装置からの応答により前記ネットワーク内に接続された前記通信装置の上層側サブネットワークに接続されている複数の前記アドレス変換装置のアドレス情報を取得し、
    取得した前記アドレス情報からネットワークアドレスを推測して、
    前記接続対象機器のIPアドレスから推測したネットワークアドレスと比較を行い、
    一致するネットワークアドレスが存在しない場合は、
    前記接続対象機器は下層側サブネットワークに接続されていると判定する、
    請求項1記載の通信装置。
  5. 前記相対位置判定部は、TTLを操作したパケットを送信し、前記アドレス変換装置からの応答により前記ネットワーク内に接続された前記通信装置の上層側サブネットワークに接続されている複数の前記アドレス変換装置のアドレス情報を取得し、
    取得した前記アドレス情報と、
    前記接続対象機器が接続されている前記アドレス変換装置のアドレス情報とを比較し、
    一致するアドレスが存在しない場合は、
    前記接続対象機器は下層側サブネットワークに接続されていると判定する、
    請求項1記載の通信装置。
  6. 前記通信装置は、前記相対位置判定部により判定された、
    前記接続対象機器の相対位置を記憶する記憶部を更に備え、
    前記接続部は、前記記憶部に記憶された前記接続対象機器の相対位置情報を使用して
    前記接続対象機器への接続手法を選択し、通信路を確立する、
    請求項1記載の通信装置。
  7. 前記接続部は、前記接続対象機器との通信路の確立が失敗した場合に、
    前記相対位置判定部に再判定を依頼する、
    請求項6に記載の通信装置。
  8. 前記相対位置判定部は、
    定期的に、前記接続対象機器の相対位置を再判定する、
    請求項7に記載の通信装置。
  9. 前記相対位置判定部は、
    前記接続対象機器の相対位置再判定に成功した場合に、
    再判定結果を
    通信路確立失敗時に使用した前記接続対象機器の相対位置情報に
    更新することを前記記憶部に依頼し、
    前記接続対象機器と接続する際に、前記更新情報を使用する、
    請求項8に記載の通信装置。
  10. 前記相対位置判定部は、
    前記接続対象機器の相対位置再判定に失敗した場合に、
    通信路確立失敗時に使用した前記接続対象機器の相対位置情報の削除を前記記憶部に依頼し、通信路確立失敗時に使用した情報を後に使用しないようにする、
    請求項8に記載の通信装置。
  11. 複数のアドレス変換装置によりサブネットワークが階層的に構成されているネットワークにおいて、
    通信装置は、接続対象機器が前記通信装置に対して上層側サブネットワーク、同一のサブネットワーク、下層側サブネットワークのいずれに接続されているかを判定するステップと、
    前記判定ステップの結果に応じて、
    前記接続対象機器との間の通信電文が直接相互に到達可能とするために必要な設定が
    行なわれていることを意味する通信路の確立の方法を変更するステップとを備える、通信方法。
  12. 複数のアドレス変換装置によりサブネットワークが階層的に構成されているネットワークにおいて、
    通信装置は、接続対象機器が前記通信装置に対して上層側サブネットワーク、 同一のサブネットワーク、下層側サブネットワークのいずれに接続されているかを判定するステップと、
    前記判定ステップの結果に応じて、
    前記接続対象機器との間の通信電文が直接相互に到達可能とするために必要な設定が行なわれていることを意味する通信路の確立の方法を変更するステップとを備えるプログラムを記録した記録媒体。
JP2006093992A 2006-03-30 2006-03-30 通信装置、通信方法および記録媒体 Pending JP2007274063A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006093992A JP2007274063A (ja) 2006-03-30 2006-03-30 通信装置、通信方法および記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006093992A JP2007274063A (ja) 2006-03-30 2006-03-30 通信装置、通信方法および記録媒体

Publications (1)

Publication Number Publication Date
JP2007274063A true JP2007274063A (ja) 2007-10-18

Family

ID=38676453

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006093992A Pending JP2007274063A (ja) 2006-03-30 2006-03-30 通信装置、通信方法および記録媒体

Country Status (1)

Country Link
JP (1) JP2007274063A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012054909A (ja) * 2011-07-14 2012-03-15 Springsoft Inc 静的nat形成装置、リバースプロキシサーバ及び仮想接続制御装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012054909A (ja) * 2011-07-14 2012-03-15 Springsoft Inc 静的nat形成装置、リバースプロキシサーバ及び仮想接続制御装置

Similar Documents

Publication Publication Date Title
US7729366B2 (en) Method, apparatus and system for network mobility of a mobile communication device
US8000280B2 (en) Network communication apparatus, network communication method, and address management apparatus
JP4354294B2 (ja) ネットワーク・セグメントが互いに異なる複数のネットワークに接続されたゲートウェイ装置、およびipパケットを転送するためのプログラムおよび方法
JP4327852B2 (ja) 通信装置、通信設定方法、通信設定プログラム及び通信設定プログラムを記録した記録媒体
CN105763440B (zh) 一种报文转发的方法和装置
WO2019165775A1 (zh) 一种局域网设备的搜索方法及搜索系统
US11388138B2 (en) Communication system, address notification apparatus, communication control apparatus, terminal, communication method, and program
JP2005525750A (ja) ネットワークアドレス変換(nat)によるピアツーピアネットワーク通信
CN107113892A (zh) 一种网关设备自动组网的方法及装置
WO2013069927A1 (en) Method and apparatus for provisioning network address translator traversal methods
TW201607276A (zh) 一種提供跨網路服務的方法、系統及設備
JP2007274063A (ja) 通信装置、通信方法および記録媒体
JPWO2010143286A1 (ja) 通信端末、アドレス解決サーバ、及びコンピュータプログラム
JP6052876B2 (ja) 中継装置、その制御方法、及びその制御プログラム
JP5054666B2 (ja) Vpn接続装置、パケット制御方法、及びプログラム
JP5084716B2 (ja) Vpn接続装置、dnsパケット制御方法、及びプログラム
JP2015201758A (ja) 中継装置、通信システム、情報処理方法及びプログラム
WO2008069504A1 (en) Method for configuring control tunnel and direct tunnel in ipv4 network-based ipv6 service providing system
JP2004080703A (ja) ネットワーク間通信方法およびそれに使用されるゲート装置並びに端末装置
CN113992583B (zh) 一种表项维护方法及装置
KR101331561B1 (ko) 사설 아이피의 할당 및 갱신 방법, 이를 이용한 아이피 공유기
JP2010130604A (ja) 動的ゲートウェイ探索システム、動的ゲートウェイ探索方法、及びプログラム
KR20070061036A (ko) 홈네트워크 간 미디어 공유 장치 및 그 방법
JP6755171B2 (ja) 接続切り替えシステム、接続切り替え方法、および、接続先装置
JP2006261867A (ja) ネットワーク、ルータ装置及びそれらに用いるプライベートアドレス間通信方法並びにそのプログラム