(57)【要約】【課題】セキュリティーレベルの高いＮＡＴを介した通信を適切に確立することができる情報処理装置を提供する。【解決手段】通信先の情報処理装置と、通信元の１以上のＮＡＴを介して通信を行う通信元の第１の情報処理装置１であって、通信先の情報処理装置から送信されるパケットを受け付けることができるように、通信元のＮＡＴに送信履歴を残すために送信されるバブルパケットに対して、そのバブルパケットが通信先の情報処理装置に到達しない範囲の寿命を設定する寿命設定部１３と、寿命設定部１３が設定した寿命を有するバブルパケットを、通信元の１以上のＮＡＴを介して送信するバブルパケット送信部１４とを備える。【選択図】図２
2006121762.tif 000002
【特許請求の範囲】
【請求項１】
通信先の情報処理装置と、通信元の１以上の通信制御装置を介して通信を行う通信元の情報処理装置であって、
通信元の通信制御装置に送信履歴を残すために前記通信元の情報処理装置から送信されるバブルパケットに対して、当該バブルパケットが前記通信先の情報処理装置に到達しない範囲の寿命を設定する寿命設定部と、
前記寿命設定部が設定した寿命を有するバブルパケットを、通信元の１以上の通信制御装置を介して送信するバブルパケット送信部と、を備えた情報処理装置。
【請求項２】
前記通信先の情報処理装置と、前記通信元の情報処理装置との通信は、通信先の１以上の通信制御装置を介して行われるものであり、
前記寿命設定部は、バブルパケットが前記通信先の１以上の通信制御装置に到達しない範囲の寿命を設定する、請求項１記載の情報処理装置。
【請求項３】
前記寿命設定部は、前記バブルパケットがグローバルアドレスからグローバルアドレスにパケットを中継する中継ノードに到達することができるように寿命を設定する、請求項１または２記載の情報処理装置。
【請求項４】
前記寿命設定部は、前記バブルパケットがグローバルアドレスからグローバルアドレスにパケットを中継する中継ノードのうち、直近の中継ノードに到達することができる寿命を設定する、請求項１から３のいずれか記載の情報処理装置。
【請求項５】
前記寿命設定部は、前記通信元の情報処理装置と、前記通信先の情報処理装置との通信が確立されるまで、前記バブルパケット送信部がバブルパケットを送信するごとに、前記バブルパケットが到達することができる中継ノードを１ずつ増やして寿命を設定する、請求項４記載の情報処理装置。
【請求項６】
前記寿命設定部は、前記バブルパケットが通信先の１以上の通信制御装置の１個以上手前の中継ノードに到達することができる寿命を設定する、請求項２記載の情報処理装置。
【請求項７】
前記寿命の設定は、バブルパケットに関するＴＴＬ（Ｔｉｍｅ  Ｔｏ  Ｌｉｖｅ）の設定である、請求項１から６のいずれか記載の情報処理装置。
【請求項８】
前記通信元の情報処理装置からの中継ノードの数を計数する中継ノード計数部をさらに備え、
前記寿命設定部は、前記中継ノード計数部が計数した中継ノードの数に基づいて、前記バブルパケットの寿命の設定を行う、請求項１から７のいずれか記載の情報処理装置。
【請求項９】
前記中継ノード計数部は、トレースルートによって中継ノードの数の計数を行う、請求項８記載の情報処理装置。
【請求項１０】
前記通信元の情報処理装置からの中継ノードの数を、グローバルアドレスからグローバルアドレスにパケットを中継する中継ノードのうち直近の中継ノードまで計数する中継ノード計数部をさらに備え、
前記寿命設定部は、前記中継ノード計数部が計数した中継ノードの数に基づいて、前記バブルパケットの寿命の設定を行う、請求項４記載の情報処理装置。
【請求項１１】
通信先の情報処理装置と、通信元の１以上の通信制御装置を介して通信を行う通信元の情報処理装置におけるバブルパケット送信方法であって、
通信元の通信制御装置に送信履歴を残すために前記通信元の情報処理装置から送信されるバブルパケットに対して、当該バブルパケットが前記通信先の情報処理装置に到達しない範囲の寿命を設定する寿命設定ステップと、
前記寿命設定ステップで設定した寿命を有するバブルパケットを、通信元の１以上の通信制御装置を介して送信するバブルパケット送信ステップと、を備えたバブルパケット送信方法。
【請求項１２】
コンピュータに、
通信先の情報処理装置と、通信元の１以上の通信制御装置を介して通信を行う通信元の情報処理装置におけるバブルパケットを送信させるためのプログラムであって、
通信元の通信制御装置に送信履歴を残すために前記通信元の情報処理装置から送信されるバブルパケットに対して、当該バブルパケットが前記通信先の情報処理装置に到達しない範囲の寿命を設定する寿命設定ステップと、
前記寿命設定ステップで設定した寿命を有するバブルパケットを、通信元の１以上の通信制御装置を介して送信するバブルパケット送信ステップと、を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、他の情報処理装置と通信を行う情報処理装置等に関する。
【背景技術】
【０００２】
従来、サーバを介することなく、情報処理装置間で直接、Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ等の通信を行う技術が開発されている。その通信において、図９で示すように、情報処理装置ＰＣ１，ＰＣ２が、それぞれＮＡＴ１，ＮＡＴ２を介して通信を行う場合もある。ここで、ＮＡＴ１、ＮＡＴ２は、ローカル側（情報処理装置側）のプライベートＩＰアドレスと、通信回線側のグローバルＩＰアドレスとの変換を行う。そのＮＡＴ１、ＮＡＴ２等には、ポート割り当てルールと、受信フィルタルールとがあり、その組み合わせによってＮＡＴの分類がなされる。具体的には、送信ポート割り当てルールには、パケットの宛先（ＩＰアドレス、ポート）に依存せず、ＮＡＴのローカル側（たとえば、ＬＡＮ側）の情報処理装置のポートとＩＰアドレスが同じであれば、ＮＡＴに割り当てられるグローバル側（たとえば、インターネットなどのＷＡＮ側）のポートが同一となるＣｏｎｅタイプと、パケットの宛先アドレスごとに新しいポートが割り当てられるＡｄｄｒｅｓｓ  Ｓｅｎｓｉｔｉｖｅタイプと、パケットの宛先ポートごとに新しいポートが割り当てられるＰｏｒｔ  Ｓｅｎｓｉｔｉｖｅタイプがある。ＮＡＴのローカル側からパケットが送信されたポートに対してグローバル側からのパケットの受信可能性を判断する受信フィルタルールには、そのポートからパケットを送信したアドレスからのみしかパケットを受信しないＡｄｄｒｅｓｓ  Ｓｅｎｓｉｔｉｖｅフィルタと、そのポートからパケットを送信したポートからのみしかパケットを受信しないＰｏｒｔ  Ｓｅｎｓｉｔｉｖｅフィルタと、フィルタが存在しないＮｏフィルタがある。
【０００３】
そのようなＮＡＴを介した通信において、ＮＡＴのＬＡＮ側からＷＡＮ側に対してパケットの送信がなされていないと、ＷＡＮ側の他の情報処理装置からのパケットを受け付けることができない。特に、ＮＡＴの受信フィルタルールがＡｄｄｒｅｓｓ  ＳｅｎｓｉｔｉｖｅフィルタやＰｏｒｔ  Ｓｅｎｓｉｔｉｖｅフィルタである場合には、ＷＡＮ側の情報処理装置や、その情報処理装置における所定のポートにパケットを送信していないと、そのＷＡＮ側の情報処理装置から送信されたパケットを受け付けることができない。したがって、ＮＡＴを介した情報処理装置間の通信を確立するために、ＮＡＴに送信履歴を残すためのパケット（バブルパケット）の送信等を行っていた（例えば、非特許文献１、２参照）。
【非特許文献１】Ｊ．Ｒｏｓｅｎｂｅｒｇ、Ｊ．Ｗｅｉｎｂｅｒｇｅｒ、Ｃ．Ｈｕｉｔｅｍａ、Ｒ．Ｍａｈｙ、「ＳＴＵＮ−Ｓｉｍｐｌｅ  Ｔｒａｖｅｒｓａｌ  ｏｆ  Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ（ＵＤＰ）  Ｔｈｒｏｕｇｈ  Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｏｒｓ（ＮＡＴｓ）」、［Ｏｎｌｉｎｅ］、２００３年３月、［２００４年３月１７日検索］、インターネット<ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ３４８９．ｔｘｔ>
【非特許文献２】及川卓也、「Ａｄｖａｎｃｅｄ  Ｎｅｔｗｏｒｋｉｎｇ  Ｐａｃｋ  ｆｏｒ  Ｗｉｎｄｏｗｓ（登録商標）  ＸＰ大解剖  第１回  ＩＰｖ６接続をさらに透過的にするＴｅｒｅｄｏ」、［Ｏｎｌｉｎｅ］、２００３年９月２９日、［２００４年３月１７日検索］、インターネット<ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｉｐｖ６ｓｔｙｌｅ．ｊｐ／ｊｐ／ｔｒｙｏｕｔ／２００３０９２９／２．ｓｈｔｍｌ>
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、ＮＡＴの種類によっては、セキュリティーを向上させるために、受信フィルタルールによって受信することができないパケットを攻撃であるとみなし、そのパケットの通信元のＩＰアドレスから送信されたパケットを受け付けないものもある。そのような場合に、バブルパケットを通信先のＮＡＴに対して送信すると、そのバブルパケットが攻撃であるとみなされる。その結果、バブルパケットを受信したＮＡＴが、バブルパケットを送信した情報処理装置からのパケットを一切受け付けなくなり、バブルパケットを送信した情報処理装置と、バブルパケットが送信された側の情報処理装置との間での通信を適切に確立することができなくなる場合もある。
【０００５】
また、バブルパケットは、通信元のＮＡＴが通信先から送信されたパケットを適切に受信することができるように、通信元のＮＡＴに送信履歴を残すことを目的として送信されるものである。したがって、通常、バブルパケットは情報を伝達するために送信されるものではない。そのような情報を伝達する役割を持たないパケットによって、インターネットなどの通信回線におけるトラフィックが増大することは、好ましいことではない。
【０００６】
本発明は上記問題点を解決するためになされたものであり、その一つの目的は、セキュリティーレベルの高い通信制御装置（例えば、ＮＡＴ）を介した通信を適切に確立することができる情報処理装置等を提供することである。
【０００７】
また、本発明の他の目的は、通信回線におけるトラフィックの増大を抑えながら、バブルパケットを送信する情報処理装置等を提供することである。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明による情報処理装置は、通信先の情報処理装置と、通信元の１以上の通信制御装置を介して通信を行う通信元の情報処理装置であって、通信元の通信制御装置に送信履歴を残すために前記通信元の情報処理装置から送信されるバブルパケットに対して、当該バブルパケットが前記通信先の情報処理装置に到達しない範囲の寿命を設定する寿命設定部と、前記寿命設定部が設定した寿命を有するバブルパケットを、通信元の１以上の通信制御装置を介して送信するバブルパケット送信部と、を備えたものである。
【０００９】
このような構成により、バブルパケットが通信先の情報処理装置に到達する前に、そのバブルパケットを消滅させることができる。その結果、通信回線のトラフィックを減少させることができ得る。具体的には、バブルパケットに寿命を設けることによって、バブルパケットが通信先の情報処理装置に到達する場合に比べて、通信回線においてバブルパケットの通過する経路を短くすることができる。このようにして、通信回線のトラフィックを、全体として減少させることができ得る。
【００１０】
また、本発明による情報処理装置では、前記通信先の情報処理装置と、前記通信元の情報処理装置との通信が、通信先の１以上の通信制御装置を介して行われるものであり、前記寿命設定部が、バブルパケットが前記通信先の１以上の通信制御装置に到達しない範囲の寿命を設定してもよい。
【００１１】
このような構成により、通信先の通信制御装置のいずれにも到達しないようにバブルパケットを送信することができる。その結果、通信先の通信制御装置がセキュリティーレベルの高いものであり、受信フィルタルールによって受け付けることのできなかったパケットを攻撃とみなし、そのパケットの通信元から送信されたパケットを一切受け付けなくなる通信制御装置であったとしても、通信先の通信制御装置にバブルパケットが到達しないことによって、通信元と通信先の情報処理装置間における通信を適切に確立することができ得る。
【００１２】
また、本発明による情報処理装置では、前記寿命設定部が、前記バブルパケットがグローバルアドレスからグローバルアドレスにパケットを中継する中継ノードに到達することができるように寿命を設定してもよい。
【００１３】
このような構成により、バブルパケットが、少なくとも通信元の通信制御装置（多段である場合には、そのすべての通信制御装置）を超えることができるように寿命を設定することができ、通信元の通信制御装置において、通信先の情報処理装置からの返信パケットを適切に受信することができるための送信履歴を残すことができ得る。
【００１４】
また、本発明による情報処理装置では、前記寿命設定部が、前記バブルパケットがグローバルアドレスからグローバルアドレスにパケットを中継する中継ノードのうち、直近の中継ノードに到達することができる寿命を設定してもよい。
【００１５】
このような構成により、必要最低限の範囲の寿命をバブルパケットに設定することができ、通信回線のトラフィックの増大を防止することができ得る。
【００１６】
また、本発明による情報処理装置では、前記寿命設定部が、前記通信元の情報処理装置と、前記通信先の情報処理装置との通信が確立されるまで、前記バブルパケット送信部がバブルパケットを送信するごとに、前記バブルパケットが到達することができる中継ノードを１ずつ増やして寿命を設定してもよい。
【００１７】
このような構成により、例えば、通信元の通信制御装置の段数などを適切にカウントできなかったために、バブルパケットの寿命が適切に設定できなかったような場合にも、バブルパケットの寿命を順番に増やすことにより、適切なバブルパケットの寿命とすることができ、通信元と通信先の情報処理装置間での通信を適切に確立することができ得る。
【００１８】
また、本発明による情報処理装置では、前記寿命設定部が、前記バブルパケットが通信先の１以上の通信制御装置の１個以上手前の中継ノードに到達することができる寿命を設定してもよい。
【００１９】
このような構成により、バブルパケットが通信元の通信制御装置（多段である場合には、そのすべての通信制御装置）を確実に超えることができるようにバブルパケットの寿命を設定することができる。その結果、通信先の通信制御装置にバブルパケットを到達させることなく、通信元と通信先の情報処理装置間での通信を適切に確立することができ得る。
【００２０】
また、本発明による情報処理装置では、前記通信元の情報処理装置からの中継ノードの数を計数する中継ノード計数部をさらに備え、前記寿命設定部が、前記中継ノード計数部が計数した中継ノードの数に基づいて、前記バブルパケットの寿命の設定を行ってもよい。
【００２１】
このような構成により、通信元の通信制御装置の段数などを手入力などで入力することなく、中継ノード計数部による計数結果に基づいて、バブルパケットの寿命を適切に設定することができる。
【００２２】
また、本発明による情報処理装置では、前記通信元の情報処理装置からの中継ノードの数を、グローバルアドレスからグローバルアドレスにパケットを中継する中継ノードのうち直近の中継ノードまで計数する中継ノード計数部をさらに備え、前記寿命設定部が、前記中継ノード計数部が計数した中継ノードの数に基づいて、前記バブルパケットの寿命の設定を行ってもよい。
【００２３】
このような構成により、中継ノード計数部が中継ノードを計数するために送信するチェックパケットを通信先の通信制御装置に到達しないようにすることができる。ここで、通信先の通信制御装置は、チェックパケット（例えば、ＩＣＭＰのパケットなど）を受け付けたとしても、一般にそれを攻撃とはみなさないが、仮に、通信先の通信制御装置がそのチェックパケットを攻撃とみなすものであったとしても、通信先の通信制御装置にチェックパケットが到達しないため、通信元の情報処理装置から送信されたパケットが通信先の通信制御装置において一切受け付けられなくなる事態を回避し得ることとなる。
【発明の効果】
【００２４】
本発明による情報処理装置等によれば、バブルパケットに所定の寿命を設定することにより、セキュリティーレベルの高い通信制御装置を介した通信を適切に確立することができ得る。また、バブルパケットに寿命を設けることにより、通信回線におけるトラフィックの増大を防止でき得る。
【発明を実施するための最良の形態】
【００２５】
（実施の形態１）
本発明の実施の形態１による通信システムについて、図面を参照しながら説明する。
【００２６】
図１は、本実施の形態による通信システムの構成を示す図である。図１において、本実施の形態による通信システムは、第１の情報処理装置１と、第２の情報処理装置２と、第１の通信制御装置３と、第２の通信制御装置４と、サーバ５とを備える。第１の通信制御装置３、第２の通信制御装置４、サーバ５は、有線または無線の通信回線６を介して接続されている。この通信回線６は、例えば、インターネットである。
【００２７】
なお、図１では、第１の通信制御装置３、第２の通信制御装置４にそれぞれ、第１の情報処理装置１、第２の情報処理装置２のみが接続されている場合について示しているが、これ以外の装置が、第１の通信制御装置３、第２の通信制御装置４に接続されていてもよい。
【００２８】
また、図１では、第１の情報処理装置１、及び第２の情報処理装置２にそれぞれ第１の通信制御装置３、第２の通信制御装置４が１個ずつ接続されている場合について示しているが、各情報処理装置において接続される通信制御装置は、多段であってもよい。すなわち、第１の情報処理装置１及び第２の情報処理装置２から通信回線６までの間に、２以上の通信制御装置が存在してもよい。
【００２９】
また、本実施の形態では、第１の情報処理装置１が通信元の情報処理装置として動作し、第２の情報処理装置２が通信先の情報処理装置として動作する場合について説明する。ここで、通信元の情報処理装置とは、第１の情報処理装置１と第２の情報処理装置２との間の通信を確立する際における、通信（コネクション）の要求を出す側（言い換えれば、バブルパケットを送信する側）のことである。一方、通信先の情報処理装置とは、その反対側の情報処理装置、すなわち通信の要求を受け取る側（言い換えれば、バブルパケットに対する返信パケットを送信する側）の情報処理装置のことである。なお、通信を確立するとは、第１の情報処理装置１と第２の情報処理装置２との間において、サーバ５を介さないＰｅｅｒ  ｔｏ  Ｐｅｅｒの通信を開始することをいう。また、バブルパケット、返信パケットについては後述する。
【００３０】
図２は、第１の情報処理装置１の構成を示すブロック図である。図２において、第１の情報処理装置１は、通信制御部１１と、中継ノード計数部１２、寿命設定部１３と、バブルパケット送信部１４とを備える。
【００３１】
通信制御部１１は、第１の情報処理装置１と、通信先の第２の情報処理装置２との間での通信を確立させるための処理を行う。その処理の詳細については後述する。
【００３２】
中継ノード計数部１２は、第１の情報処理装置１からの中継ノードの数を計数する。ここで、中継ノードとは、ルーティング機能を有するいわゆるルータのことであり、アドレス変換機能（例えば、プライベートアドレスからグローバルアドレスへの変換を行う機能）を有してもよく、有していなくてもよい。また、中継ノードは、グローバルアドレスからグローバルアドレスにパケットを中継（例えば、インターネットにおいて行われる）してもよく、プライベートアドレスからプライベートアドレスにパケットを中継（例えば、ＬＡＮにおいて行われる）してもよく、プライベートアドレスとグローバルアドレスとの間でパケットを中継（例えば、ＬＡＮとインターネットとの間で行われる）してもよい。この中継ノードの数の計数は、例えば、トレースルートによって行ってもよく、ＴＴＬ（Ｔｉｍｅ  Ｔｏ  Ｌｉｖｅ）を設定したＵＤＰパケットを、そのＴＴＬを１から順番にインクリメントしながら送信することによって行ってもよい。本実施の形態では、トレースルートによって中継ノードの数の計数を行うものとする。この計数の処理の詳細については、後述する。
【００３３】
寿命設定部１３は、バブルパケット送信部１４が送信するバブルパケットに対して、そのバブルパケットが通信先の第２の通信制御装置４に到達しない範囲の寿命を設定する。寿命設定部１３は、中継ノード計数部１２が計数した中継ノードの数に基づいて、その寿命の設定を行う。この寿命の設定は、例えば、バブルパケットに関するＴＴＬを設定することによって行う。なお、寿命設定部１３によって設定されるバブルパケットの寿命は、バブルパケットが通信元の通信制御装置（多段の通信制御装置である場合にはそのすべて）を超えることができるものでなくてはならない。バブルパケットは、通信先の返信パケットを受信することができるように、通信元の通信制御装置に対して送信履歴を残す役割を有するため、バブルパケットが通信元の通信制御装置を超えなかった場合には、通信元の通信制御装置が通信先からの返信パケットを受信できないからである。
【００３４】
寿命設定部１３は、例えば、バブルパケットがグローバルアドレスからグローバルアドレスにパケットを中継する中継ノードに到達することができるようにバブルパケットの寿命を設定してもよく、グローバルアドレスからグローバルアドレスにパケットを中継する中継ノードのうち、通信元の第１の情報処理装置１に対して直近の中継ノードにバブルパケットが到達することができるようにバブルパケットの寿命を設定してもよく、バブルパケットが通信先の第２の通信制御装置４の１個以上手前の中継ノードに到達することができるようにバブルパケットの寿命を設定してもよい。なお、通信先の通信制御装置が多段である場合には、通信元に一番近い側の通信制御装置の１個以上手前の中継ノードに到達するように（すなわち、通信先のいずれの通信制御装置にも到達しないように）バブルパケットの寿命を設定してもよい。
【００３５】
バブルパケット送信部１４は、寿命設定部１３が設定した寿命を有するバブルパケットを、通信元の第１の通信制御装置３を介して送信する。ここで、バブルパケットとは、通信先の第２の情報処理装置２から送信される返信パケットを第１の通信制御装置３が受け付けることができるように、通信元の第１の通信制御装置３に送信履歴を残すために通信元の第１の情報処理装置１から送信されるパケットのことである。送信履歴を残すとは、返信パケットを受け付けることができるためのポートを割り当てる（ポートを開く）ことをいう。このバブルパケットには、何らかの情報が含まれていてもよく、何も情報が含まれていなくてもよい（ダミーであってもよい）が、本実施の形態によるバブルパケットは通信先に到達しないため、一般的に、このバブルパケットには有意な情報は含まれていない。バブルパケット送信部１４は、例えば、所定のメモリで記憶されているバブルパケットを送信する。このバブルパケットは、例えば、ＵＤＰのようなコネクションレス型のプロトコルによって送信される。
【００３６】
第２の情報処理装置２は、第１の情報処理装置１から送信されたバブルパケットに対して返信パケットを送信する。そのようにして、第１の情報処理装置１と、第２の情報処理装置２との間での第１の通信制御装置３，第２の通信制御装置４を介した通信が確立することになる。ここで、返信パケットとは、バブルパケットの通過した第１の通信制御装置３のポートに対して送信される。あらかじめバブルパケットが送信されていることにより、第１の情報処理装置１は、この返信パケットを、第１の通信制御装置３を介して受信することができる。この返信パケットには、何らかの情報が含まれていてもよく、何も情報が含まれていなくてもよい。
【００３７】
第１の通信制御装置３は、第１の情報処理装置１から送信されたパケット、あるいは、第１の情報処理装置１に送信されたパケットのアドレス変換を行うＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ）の機能を有する装置である。なお、第１の通信制御装置３は、アドレス変換以外の他の機能を有していてもよい。具体的には、第１の情報処理装置１側で使用されているローカルなアドレスと、通信回線６側で使用されているグローバルなアドレスとの変換を行う。この第１の通信制御装置３は、ルーティング機能を有するものであり、中継ノード計数部１２が計数する中継ノードに含まれる。
【００３８】
第２の通信制御装置４も、アドレス変換を行うＮＡＴの機能を有する、第１の通信制御装置３と同様の装置である。
【００３９】
なお、第１の通信制御装置３，第２の通信制御装置４で使用される送信ポート割り当てルールと受信フィルタルールとは、第１の情報処理装置１と第２の情報処理装置２との間での通信を確立するためにバブルパケットの送信が必要である範囲において、限定されるものではない。ただし、本実施の形態では、第１の通信制御装置３，第２の通信制御装置４の送信ポート割り当てルールがＣｏｎｅタイプであり、受信フィルタルールがＡｄｄｒｅｓｓ  Ｓｅｎｓｉｔｉｖｅフィルタである場合について説明する。すなわち、第１の通信制御装置３，第２の通信制御装置４は、いわゆるＲｅｓｔｒｉｃｔｅｄ  Ｃｏｎｅ  ＮＡＴの機能を有するものであるとする。
【００４０】
サーバ５は、第１の情報処理装置１と第２の情報処理装置２との間でのサーバ５を介さない通信を確立するために必要な処理等を行う。例えば、第１の情報処理装置１に対して第２の情報処理装置２（厳密には、第２の通信制御装置４）の通信回線６側のＩＰアドレスを通知したり、第１の情報処理装置１から送信されたバブルパケットの通過した第１の通信制御装置３のポートの番号を第２の情報処理装置２に通知したりする。
【００４１】
次に、中継ノード計数部１２がトレースルートによって中継ノードの数を計数する方法について説明する。ここでは、トレースルートを用いて中継ノードの数を計数する方法について説明する。トレースルートでは、ＩＰのルートをトレースすることにより、通信先までの各中継ノードのＩＰアドレスを知ることができ得る。
【００４２】
図３、図４は、トレースルートについて説明するための図である。これらの図において、中継ノードは、丸で示されている。図３で示されるように、まず、第１の情報処理装置１の中継ノード計数部１２は、第２の通信制御装置４に向けてＴＴＬ＝１のチェックパケットを送信する。ここで、チェックパケットとは、トレースルートにおいて、送信先に向けて送信されるパケットのことである。このチェックパケットには、ＴＴＬが設定されている。チェックパケットのＴＴＬは、中継ノードを通過するごとに１だけ減少されるため、ＴＴＬ＝１のチェックパケットは、第１の通信制御装置３に到達したときにＴＴＬ＝０となり、第１の通信制御装置３からＩＣＭＰ  Ｔｉｍｅ  Ｅｘｃｅｅｄｅｄによって第１の情報処理装置１に返される。次に、図４で示されるように、中継ノード計数部１２は、第２の通信制御装置４に向けてＴＴＬ＝２のチェックパケットを送信する。すると、そのチェックパケットは中継ノード５１においてＴＴＬ＝０となり、ＩＣＭＰ  Ｔｉｍｅ  Ｅｘｃｅｅｄｅｄによって中継ノード５１から第１の情報処理装置１に返される。これによって、中継ノード計数部１２は、中継ノード５１のＩＰアドレスを知ることができる。このように、チェックパケットが第２の通信制御装置４に到達するまで、ＴＴＬを１ずつインクリメントしながらチェックパケットの送信と、ＩＣＭＰ  Ｔｉｍｅ  Ｅｘｃｅｅｄｅｄの受信とを繰り返すことにより、第２の通信制御装置４に到達するまでに経由した各中継ノードのＩＰアドレスを知ることができる。なお、ＩＣＭＰ  Ｔｉｍｅ  Ｅｘｃｅｅｄｅｄを返さない中継ノードの場合には、中継ノード計数部１２は、タイムアウトとなった後に、次のチェックパケットを送信する。チェックパケットが第２の通信制御装置４に到達すると、ＩＣＭＰ  Ｐｏｒｔ  Ｕｎｒｅａｃｈａｂｌｅが返され、トレースルートは終了となる。なお、場合によっては、ＩＣＭＰ  Ｐｏｒｔ  Ｕｎｒｅａｃｈａｂｌｅの代わりに、ＩＣＭＰ  Ｅｃｈｏ  Ｒｅｐｌｙが返されることもある。中継ノード計数部１２は、このトレースルートを行うことにより、第２の通信制御装置４に到達するまでに経由する中継ノードの数と、各中継ノードのＩＰアドレスとを知ることができる。
【００４３】
なお、ここではトレースルートを第２の通信制御装置４に対して行う場合について説明したが、中継ノード計数部１２は、トレースルート以外の方法によって中継ノードの数を計数してもよく、また、チェックパケットの送信先は、第２の通信制御装置４以外の例えばサーバ５などであってもよい。
【００４４】
次に、本実施の形態による通信システムにおける第１の情報処理装置１と第２の情報処理装置２とが通信を確立する動作について、図５を用いて説明する。なお、この説明において、第１の情報処理装置１及び第２の情報処理装置２は、あらかじめ、サーバ５の仲介によって第１の通信制御装置３、第２の通信制御装置４の通信回線６側のＩＰアドレスを知っているものとする。
【００４５】
（ステップＳ１０１）中継ノード計数部１２は、第２の通信制御装置４までの中継ノードの数を計数する。
【００４６】
（ステップＳ１０２）寿命設定部１３は、中継ノード計数部１２による中継ノードの数の計数結果に基づいて、バブルパケット送信部１４が送信するバブルパケットの寿命を設定する。
【００４７】
（ステップＳ１０３）通信制御部１１は、ポート検出用パケットをサーバ５に送信する。このポート検出用パケットは、バブルパケットが送信される第１の通信制御装置３におけるポート（以下、「バブルパケット送信ポート」とする）の位置（例えば、ポート番号によって特定される）を検出するために、バブルパケットの送信の前に送信されるものである。そのポート検出用パケットはサーバ５で受信される。
【００４８】
（ステップＳ１０４）バブルパケット送信部１４は、寿命設定部１３によって設定された寿命を有するバブルパケットを第２の通信制御装置４に送信する。このバブルパケットは、設定された寿命で消滅するため、第２の通信制御装置４には到達しない。なお、このバブルパケットは、サーバ５を介さないで、直接、第２の通信制御装置４に送信される。
【００４９】
（ステップＳ１０５）サーバ５は、ステップＳ１０３で送信されたポート検出用パケットによって、バブルパケット送信ポートの位置を検出する。
【００５０】
（ステップＳ１０６）サーバ５は、ステップＳ１０５で検出したバブルパケット送信ポートの位置を第２の情報処理装置２に通知する。
【００５１】
（ステップＳ１０７）第２の情報処理装置２は、第１の通信制御装置３のバブルパケット送信ポートに対して、返信パケットを送信する。この返信パケットが第１の情報処理装置１で受信されることによって、第１の情報処理装置１と、第２の情報処理装置２との間で、サーバ５を介さない通信が確立されることになる。
【００５２】
次に、この通信システムの動作について、具体例を用いて説明する。この具体例では、前述のように、第１の通信制御装置３、第２の通信制御装置４がＲｅｓｔｒｉｃｔｅｄ  Ｃｏｎｅ  ＮＡＴの機能を有するものであるとする。また、中継ノード計数部１２は、トレースルートによって中継ノードの数を計数するものとする。また、寿命設定部１３は、バブルパケットのＴＴＬを設定することによって寿命を設定するものとする。また、第１の通信制御装置３、第２の通信制御装置４、サーバ５の通信回線６側の各ＩＰアドレスは、以下のとおりであるとする。
【００５３】
第１の通信制御装置３：２０２．１３２．１０．６
第２の通信制御装置４：１３１．２０６．１０．２４０
サーバ５：１５５．３２．１０．１０
図６、図７は、この具体例を説明するための図である。この具体例では、第１の情報処理装置１から接続要求が行われるものとする。図６において、第１の情報処理装置１は、サーバ５のＩＰアドレス「１５５．３２．１０．１０」をあらかじめ知っており、そのサーバ５に対して、第１の情報処理装置１の機器ＩＤ「１２３４５６７８９０」を送信する。ここで、この機器ＩＤとしては、例えば、ＭＡＣアドレス等のＧＵＩＤ（Ｇｌｏｂａｌ
Ｕｎｉｑｕｅ  ＩＤ）を用いることができる。この機器ＩＤの送信は、第１の情報処理装置１のポートＰ１から、第１の通信制御装置３で割り当てられたポートＰ２を介して、サーバ５のポートＰ３に対して行われる。この送信によって、サーバ５は、第１の情報処理装置１の機器ＩＤと、第１の通信制御装置３のＩＰアドレス「２０２．１３２．１０．６」と、第１の通信制御装置３におけるポートＰ２のポート番号「１００３４」とを知ることができる。これらの情報は、サーバ５において保持される。
【００５４】
第２の情報処理装置２も、第１の情報処理装置１と同様にして、第２の情報処理装置２の機器ＩＤ「９８７６５４３２１０」を送信する。その結果、第２の通信制御装置４のＩＰアドレス「１３１．２０６．１０．２４０」と、第２の情報処理装置２の機器ＩＤと、第２の通信制御装置４におけるポートＰ５のポート番号「２３４９５」とがサーバ５において保持される。
【００５５】
次に、第１の情報処理装置１が、接続を要求する第２の情報処理装置２の機器ＩＤ「９８７６５４３２１０」をサーバ５に送信することにより、第２の情報処理装置２への接続要求を行う。すると、サーバ５は、その接続要求を受け取り、ポートＰ２を介して第１の情報処理装置１に第２の通信制御装置４のＩＰアドレス「１３１．２０６．１０．２４０」と、ポートＰ５のポート番号「２３４９５」とを通知する。
【００５６】
第１の情報処理装置１の中継ノード計数部１２は、第２の通信制御装置４のＩＰアドレス「１３１．２０６．１０．２４０」に対してトレースルートを実行することにより、第２の通信制御装置４までの中継ノードの数を計数する（ステップＳ１０１）。この計数は、図３、図４を用いた説明と同様にして行われる。そして、中継ノード計数部１２は、第２の通信制御装置４までの中継ノードの数、及び第２の通信制御装置４までに経過した各中継ノードまでのＴＴＬの値と、その中継ノードから返ってきたＩＰアドレスとの対応を計数結果として寿命設定部１３に渡す。
【００５７】
寿命設定部１３は、中継ノード計数部１２による中継ノードの数の計数結果を受け取ると、ＩＣＭＰ  Ｔｉｍｅ  Ｅｘｃｅｅｄｅｄによって中継ノードから返ってきたＩＰアドレスがグローバルアドレスである直近の（第１の通信制御装置３に一番近い）中継ノードにまでバブルパケットが到達するようにバブルパケットのＴＴＬを設定する（ステップＳ１０２）。具体的には、中継ノードから返ってきたグローバルアドレスに対応するＴＴＬのうち、一番小さい値のＴＴＬをバブルパケットのＴＴＬとして設定する。このように寿命を設定することにより、バブルパケットは、グローバルアドレスからグローバルアドレスにパケットを中継する中継ノードのうち、直近の中継ノードに到達するように寿命が設定されたことになる。ここでは、第１の情報処理装置１から２個目の中継ノードがグローバルアドレスからグローバルアドレスにパケットを中継する中継ノードであり、ＴＴＬ＝２に設定されたとする。
【００５８】
通信制御部１１は、第１の情報処理装置１のポートＰ７からサーバ５のポートＰ９にバブルパケット送信ポートを検出するためのポート検出用パケットを送信する（ステップＳ１０３）。ポートＰ９は、サーバ５から指示されたポートであるとする。なお、このポートＰ９は、ポートＰ３と同一であってもよい。このポート検出用パケットは、第１の通信制御装置３において、新たに割り当てられたポートＰ８（ポート番号「１００４０」）を用いて送信される。このポート検出用パケットはサーバ５で受信され、第１の通信制御装置３のポートＰ８のポート番号「１００４０」が検出されて、保持される（ステップＳ１０５）。
【００５９】
バブルパケット送信部１４は、ＴＴＬ＝２のバブルパケットを第２の通信制御装置４のポートＰ５に向けて送信する（ステップＳ１０４）。このバブルパケットのＴＴＬは、第１の通信制御装置３において１だけ減少されＴＴＬ＝１となり、第１の通信制御装置３の次の中継ノードにおいてＴＴＬ＝０となって消滅する。したがって、バブルパケットは第２の通信制御装置４には到達しない。
【００６０】
サーバ５は、保持しているバブルパケット送信ポートＰ８のポート番号「１００４０」と、第１の通信制御装置３のＩＰアドレス「２０２．１３２．１０．６」を、ポートＰ５を介して第２の情報処理装置２に通知する（ステップＳ１０６）。
【００６１】
第２の情報処理装置２は、第１の通信制御装置３のＩＰアドレスと、ポートＰ８のポート番号とを受け取ると、ポートＰ１０から、そのＩＰアドレス、ポート番号に向けて、返信パケットを送信する（図７参照）。その返信パケットは、第１の通信制御装置３のポートＰ８で受け付けられ、第１の情報処理装置１のポートＰ７に渡される。このようにして、第１の情報処理装置１と、第２の情報処理装置２との間での通信が確立し、その後、第１の情報処理装置１と、第２の情報処理装置２とは所望のデータの送信、受信等を行うことができる。
【００６２】
なお、この具体例では、グローバルアドレスからグローバルアドレスにパケットを中継する中継ノードのうち、通信元の第１の情報処理装置１に対して直近の中継ノード（すなわち、第１の通信制御装置３の次の中継ノード）にバブルパケットが到達することができるように、寿命設定部１３が寿命を設定する場合について説明したが、これは一例であって、前述のように、寿命設定部１３は、バブルパケットがグローバルアドレスからグローバルアドレスにパケットを中継する中継ノードに到達することができるように寿命を設定してもよく、バブルパケットが通信先の第２の通信制御装置４に到達する１個以上手前の中継ノードに到達するように寿命を設定してもよい。
【００６３】
例えば、中継ノードの中には、ＩＣＭＰに従わないものもあり得る。具体的には、トレースルートにおいてはＴＴＬを減少させないにもかかわらず、ＵＤＰのバブルパケットのＴＴＬを減少させる中継ノードもあり得る。そのような中継ノードが通信元の通信制御装置に含まれている場合に、中継ノード計数部１２による計数結果に基づいて、グローバルアドレスからグローバルアドレスにパケットを中継する直近の中継ノードまでの寿命を有するバブルパケットを送信したとしても、実際には、バブルパケットが通信元の通信制御装置のすべてを超えないこととなってしまう。その結果、通信元の通信制御装置のうち、一番送信先に近い側の通信制御装置に送信履歴を残すことができず、第２の情報処理装置２から送信された返信パケットを受け付けることができなくなる。そのような事態を避けるためには、グローバルアドレスからグローバルアドレスにパケットを中継する直近の中継ノードから、１個以上先の中継ノードにバブルパケットが到達するように寿命を設定してもよく、あるいは、通信先の通信制御装置の１個手前の中継ノードまでのいずれかの中継ノードにバブルパケットが到達するように寿命を設定してもよい。
【００６４】
また、寿命設定部１３は、通信元の第１の情報処理装置１と、通信先の第２の情報処理装置２との通信が確立されるまで、バブルパケット送信部１４がバブルパケットを送信するごとに、バブルパケットが到達することができる中継ノードを増やして寿命を設定してもよい。具体的には、まず、グローバルアドレスからグローバルアドレスにパケットを中継する直近の中継ノードに到達するようにバブルパケットの寿命を設定しておき、そのバブルパケットの送信によって情報処理装置間の通信を確立することができなかった場合に、次にバブルパケットの寿命（ＴＴＬ）を１だけインクリメントしてバブルパケットを送信し、それでも情報処理装置間の通信を確立することができなかった場合には、さらにバブルパケットの寿命を１だけインクリメントして通信の確立を試みるということを繰り返して行ってもよい。なお、通信が確立できなかった場合に、バブルパケットが到達することができる中継ノードを１ずつ増やして寿命を設定してもよく、あるいは、バブルパケットが到達することができる中継ノードを所定の数ずつ（何回目の増加であるかによって異なっていてもよい）増やして寿命を設定してもよい。
【００６５】
以上のように、本実施の形態による通信システムによれば、第１の情報処理装置１が送信するバブルパケットに寿命を設け、第２の通信制御装置４に到達しないようにしたことで、受信フィルタルールによって受け付けることができないパケットを受信した場合に、そのパケットの通信元から一切のパケットを受け付けなくなるような第２の通信制御装置４が用いられていたとしても、バブルパケットが第２の通信制御装置４に到達することがないため、バブルパケットを送信した後の、第１の情報処理装置１と第２の情報処理装置２との間での通信の確立を適切に行うことができ得る。
【００６６】
また、グローバルアドレスからグローバルアドレスへのパケットの中継を行う中継ノードのうち、通信元に直近の中継ノードにバブルパケットが到達した時点で消滅するようにバブルパケットの寿命を設定しておくことによって、通信元の第１の通信制御装置３に送信履歴を残す役割のみを有するバブルパケットによって通信トラフィックが増大される事態を回避することができ得る。
【００６７】
なお、本実施の形態では、中継ノード計数部１２が中継ノードの数を計数し、その計数結果に基づいて寿命設定部１３がバブルパケットの寿命を設定する場合について説明したが、第１の情報処理装置１が中継ノード計数部１２を備えず、外部から入力された通信元の通信制御装置の段数に基づいて、寿命設定部１３がバブルパケットの寿命を設定するようにしてもよい。例えば、図１で示されるように、通信元の第１の通信制御装置３が１段しかない場合には、寿命設定部１３がその通信制御装置の段数「１」に「１」を加算した「２」をＴＴＬとして設定することによってバブルパケットの寿命の設定を行ってもよい。
【００６８】
また、本実施の形態では、通信先の第２の情報処理装置２の側にも、通信制御装置を有する場合について説明したが、図８で示されるように、通信先は通信制御装置を有しない構成であってもよい。この場合には、寿命設定部１３は、通信先の第２の情報処理装置２に到達しない範囲の寿命をバブルパケットの寿命として設定する。このようにすることで、通信のトラフィックを増大させる事態を回避することができ得る。このことは、特に、寿命設定部１３がバブルパケットの寿命を、グローバルアドレスからグローバルアドレスにパケットを中継する直近の中継ノードにバブルパケットが到達できるように設定した場合に顕著である。
【００６９】
また、本実施の形態では、通信制御装置がＲｅｓｔｒｉｃｔｅｄ  Ｃｏｎｅ  ＮＡＴの機能を有するものである場合について説明したが、通信制御装置は、それ以外の種類のＮＡＴであってもよい。すなわち、バブルパケットに寿命を設定することは、任意の種類のＮＡＴを介してバブルパケットを送信する情報処理装置において用いることができ得る。なお、異なる種類のＮＡＴを用いた場合には、そのＮＡＴの種類に応じて、通信を確立するための処理が異なっていてもよい。
【００７０】
また、中継ノード計数部１２による中継ノードの数の計数において、本実施の形態では、通信先のＮＡＴである第２の通信制御装置４までの中継ノードの数を計数する場合について説明したが、例えば、寿命設定部１３がグローバルアドレスからグローバルアドレスへのパケットの中継を行う直近の中継ノードにバブルパケットが到達できるように寿命を設定するような場合には、サーバ５や、その他のサーバにまでの中継ノードの数の計数を行ってもよい。
【００７１】
また、中継ノード計数部１２による中継ノードの数の計数において、本実施の形態では、トレースルートによって所定の通信先のノード（例えば、第２の通信制御装置４など）までの中継ノードの数をすべて計数する場合について説明したが、例えば、寿命設定部１３がグローバルアドレスからグローバルアドレスへのパケットの中継を行う直近の中継ノードにバブルパケットが到達できるように寿命を設定するような場合には、中継ノードの数の計数は、通信元の通信制御装置（通信制御装置が多段である場合には、その多段のすべての通信制御装置）を超える範囲において、中継ノードの数の計数を行ってもよい。例えば、寿命設定部１３がグローバルアドレスからグローバルアドレスへのパケットの中継を行う直近の中継ノードにバブルパケットが到達できるように寿命を設定するような場合には、中継ノードの数の計数は、グローバルアドレスからグローバルアドレスへのパケットの中継を行う直近の中継ノードにおいて終了してもよい。具体的には、ＵＤＰのパケットにＴＴＬを順番にインクリメントしながら設定して送信している場合には、ＩＣＭＰ  Ｔｉｍｅ  Ｅｘｃｅｅｄｅｄを返してきた中継ノードのＩＰアドレスがグローバルアドレスを有するようになった時点で、中継ノードの数の計数を終了してもよい。そして、そのグローバルアドレスを返してきた時点のＵＤＰパケットに設定されていたＴＴＬの値を、寿命設定部１３がバブルパケットの寿命として設定してもよい。
【００７２】
また、本実施の形態では、バブルパケットの寿命の設定をＴＴＬの設定によって行う場合について説明したが、それ以外の方法によって寿命の設定を行ってもよい。例えば、送信時の時刻と、寿命を示す時間との設定により、バブルパケットに寿命を設定してもよい。この場合には、中継ノードにおいて、送信時の時刻から寿命を示す時間だけ経過したことが確認されると、そのバブルパケットが廃棄されることになる。
【００７３】
また、本実施の形態では、第１の通信制御装置３、及び第２の通信制御装置４がＮＡＴの機能を有するものであると説明したが、第１の通信制御装置３、及び第２の通信制御装置４は、ＮＡＴの機能に代えて、あるいはＮＡＴの機能と共にパケットフィルタリングのファイアウォール（Ｆｉｒｅｗａｌｌ）の機能を有するものであってもよい。ここで、パケットフィルタリングとは、例えば、前述の受信フィルタルールに基づいた受信パケットの選択を行うものである。第１の通信制御装置３が、そのような受信フィルタルールに基づいたファイアウォール機能を有する場合、ローカル側（第１の情報処理装置１側）からグローバル側（通信回線６）へのバブルパケットの送信によって第１の通信制御装置３に送信履歴を残すことで、バブルパケット送信ポートに送信された返信パケットを受け付けることができるようになる。また、第２の通信制御装置４が受信フィルタルールによって受け付けることができないパケットを受信した場合に、そのパケットの通信元から一切のパケットを受け付けなくなるようなファイアウォールの機能を有する場合であっても、通信先の第２の通信制御装置４に到達しない範囲の寿命がバブルパケットに設定されることによって、第１の情報処理装置１と第２の情報処理装置２との通信を適切に確立することができ得る。
【００７４】
なお、第１の通信制御装置３、及び第２の通信制御装置４がハードウェアとして情報処理装置と別途構成されており、また、ＮＡＴの機能を有しないで、ファイアウォールの機能を有する場合には、それらの通信制御装置は、ルーティング機能を有することになり、一般にＴＴＬを１だけ減少させる中継ノードとなり得る。この場合には、例えば、グローバルアドレスからグローバルアドレスにパケットを中継する中継ノードにバブルパケットが到達することができるようにバブルパケットの寿命が設定されることにより、そのファイアウォール（通信制御装置）に対しても送信履歴を残すことができ、第１の情報処理装置１は、第２の情報処理装置２から送信された返信パケットを受け付けることができる。
【００７５】
一方、第１の情報処理装置１、及び第２の情報処理装置２においてアプリケーションとしてファイアウォール機能を実装した場合には、バブルパケットがファイアウォール（通信制御装置）を通過することによって、ＴＴＬが１だけ減少されることはない（この場合には、情報処理装置と通信制御装置とが一体として構成されていることとなり、そのうち通信制御装置（ファイアウォール）の機能のみを別途明記したものが図１で示されることになる）。この場合には、ＴＴＬが１以上のバブルパケットが送信されることにより、ファイアウォールに送信履歴を残すことができる。また、このファイアウォールのグローバル側（通信回線６側）にさらにＮＡＴの機能を有する１以上の通信制御装置があったとしても、グローバルアドレスからグローバルアドレスにパケットを中継する中継ノードにバブルパケットが到達することができるようにバブルパケットの寿命が設定されることにより、そのＮＡＴの機能を有する通信制御装置に対しても送信履歴を残すことができ、第１の情報処理装置１は、第２の情報処理装置２から送信された返信パケットを受け付けることができる。
【００７６】
なお、図８で示されるように第２の通信制御装置４を備えなくてもよい旨、通信元の通信制御装置の段数を外部から入力してもよい旨などについては、通信制御装置がＮＡＴの機能に代えて、あるいはＮＡＴの機能と共にファイアウォール機能を有する場合であっても、上記説明と同様である。
【００７７】
また、本実施の形態では、サーバ５をＩＰアドレスによって特定する場合について説明したが、サーバ５をドメイン名（例えば、ｓｅｒｖｅｒ．ｐａｎａ．ｎｅｔなど）によって特定してもよい。この場合には、そのドメイン名がＤＮＳサーバを用いて、ＩＰアドレスに変換されることにより、サーバ５を特定することができる。
【００７８】
また、本実施の形態における通信プロトコルは、例えば、ＩＰｖ４（Ｉｎｔｅｒｎｅｔ
Ｐｒｏｔｏｃｏｌ  ｖｅｒｓｉｏｎ  ４）であってもよく、あるいは、ＩＰｖ６（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  ｖｅｒｓｉｏｎ  ６）であってもよい。
【００７９】
また、上記実施の形態において、各処理（各機能）は、単一の装置（システム）によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【００８０】
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをＣＰＵ等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。なお、上記実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、通信先の情報処理装置と、通信元の１以上の通信制御装置を介して通信を行う通信元の情報処理装置におけるバブルパケットを送信させるためのプログラムであって、通信元の通信制御装置に送信履歴を残すために前記通信元の情報処理装置から送信されるバブルパケットに対して、当該バブルパケットが前記通信先の情報処理装置に到達しない範囲の寿命を設定する寿命設定ステップと、前記寿命設定ステップで設定した寿命を有するバブルパケットを、通信元の１以上の通信制御装置を介して送信するバブルパケット送信ステップと、を実行させるためのものである。
【００８１】
なお、上記プログラムにおいて、パケットを送信する送信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理（ハードウェアでしか行われない処理）は含まれない。
【００８２】
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体（例えば、ＣＤ−ＲＯＭなどの光ディスクや磁気ディスク、半導体メモリなど）に記録されたプログラムが読み出されることによって実行されてもよい。
【００８３】
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【産業上の利用可能性】
【００８４】
以上のように、本発明による情報処理装置等は、バブルパケットが通信先の情報処理装置、あるいは通信先の通信制御装置に到達しない範囲の寿命をバブルパケットに設定するものであり、情報処理装置間の通信の確立においてバブルパケットを送信する情報処理装置等に有用である。
【図面の簡単な説明】
【００８５】
【図１】本発明の実施の形態１による通信システムの構成を示す図
【図２】同実施の形態による第１の情報処理装置の構成を示すブロック図
【図３】同実施の形態におけるトレースルートを説明するための図
【図４】同実施の形態におけるトレースルートを説明するための図
【図５】同実施の形態による通信システムの動作を説明するための図
【図６】同実施の形態による通信システムの具体例を説明するための図
【図７】同実施の形態による通信システムの具体例を説明するための図
【図８】同実施の形態による通信システムの構成の他の一例を示す図
【図９】通信システムの一例を示す図
【符号の説明】
【００８６】
１  第１の情報処理装置
２  第２の情報処理装置
３  第１の通信制御装置
４  第２の通信制御装置
５  サーバ
１１  通信制御部
１２  中継ノード計数部
１３  寿命設定部
１４  バブルパケット送信部
【図１】
2006121762.tif 000003
【図２】
2006121762.tif 000004
【図３】
2006121762.tif 000005
【図４】
2006121762.tif 000006
【図５】
2006121762.tif 000007
【図６】
2006121762.tif 000008
【図７】
2006121762.tif 000009
【図８】
2006121762.tif 000010
【図９】
2006121762.tif 000011