JP3835462B2 - 情報処理装置、及びバブルパケット送信方法 - Google Patents

情報処理装置、及びバブルパケット送信方法 Download PDF

Info

Publication number
JP3835462B2
JP3835462B2 JP2004138222A JP2004138222A JP3835462B2 JP 3835462 B2 JP3835462 B2 JP 3835462B2 JP 2004138222 A JP2004138222 A JP 2004138222A JP 2004138222 A JP2004138222 A JP 2004138222A JP 3835462 B2 JP3835462 B2 JP 3835462B2
Authority
JP
Japan
Prior art keywords
communication
information processing
lifetime
bubble packet
packet
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.)
Expired - Lifetime
Application number
JP2004138222A
Other languages
English (en)
Other versions
JP2005323033A (ja
Inventor
邦男 郷原
前川  肇
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 Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
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
Priority to JP2004138222A priority Critical patent/JP3835462B2/ja
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to PCT/JP2005/007296 priority patent/WO2005109785A1/ja
Priority to EP05730504.7A priority patent/EP1739897B1/en
Priority to CNA2005800144577A priority patent/CN1977499A/zh
Priority to KR20067022422A priority patent/KR100770101B1/ko
Priority to US10/590,596 priority patent/US8194566B2/en
Priority to TW94113689A priority patent/TW200541277A/zh
Publication of JP2005323033A publication Critical patent/JP2005323033A/ja
Application granted granted Critical
Publication of JP3835462B2 publication Critical patent/JP3835462B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2567NAT traversal for reachability, e.g. inquiring the address of a correspondent behind a NAT server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2575NAT traversal using address mapping retrieval, e.g. simple traversal of user datagram protocol through session traversal utilities for NAT [STUN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2578NAT traversal without involvement of the NAT server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、他の情報処理装置と通信を行う情報処理装置等に関する。
従来、サーバを介することなく、情報処理装置間で直接、Peer to Peer等の通信を行う技術が開発されている。その通信において、図9で示すように、情報処理装置PC1,PC2が、それぞれNAT1,NAT2を介して通信を行う場合もある。ここで、NAT1、NAT2は、ローカル側(情報処理装置側)のプライベートIPアドレスと、通信回線側のグローバルIPアドレスとの変換を行う。そのNAT1、NAT2等には、ポート割り当てルールと、受信フィルタルールとがあり、その組み合わせによってNATの分類がなされる。具体的には、送信ポート割り当てルールには、パケットの宛先(IPアドレス、ポート)に依存せず、NATのローカル側(たとえば、LAN側)の情報処理装置のポートとIPアドレスが同じであれば、NATに割り当てられるグローバル側(たとえば、インターネットなどのWAN側)のポートが同一となるConeタイプと、パケットの宛先アドレスごとに新しいポートが割り当てられるAddress Sensitiveタイプと、パケットの宛先ポートごとに新しいポートが割り当てられるPort Sensitiveタイプがある。NATのローカル側からパケットが送信されたポートに対してグローバル側からのパケットの受信可能性を判断する受信フィルタルールには、そのポートからパケットを送信したアドレスからのみしかパケットを受信しないAddress Sensitiveフィルタと、そのポートからパケットを送信したポートからのみしかパケットを受信しないPort Sensitiveフィルタと、フィルタが存在しないNoフィルタがある。
そのようなNATを介した通信において、NATのLAN側からWAN側に対してパケットの送信がなされていないと、WAN側の他の情報処理装置からのパケットを受け付けることができない。特に、NATの受信フィルタルールがAddress SensitiveフィルタやPort Sensitiveフィルタである場合には、WAN側の情報処理装置や、その情報処理装置における所定のポートにパケットを送信していないと、そのWAN側の情報処理装置から送信されたパケットを受け付けることができない。したがって、NATを介した情報処理装置間の通信を確立するために、NATに送信履歴を残すためのパケット(バブルパケット)の送信等を行っていた(例えば、非特許文献1、2参照)。
J.Rosenberg、J.Weinberger、C.Huitema、R.Mahy、「STUN−Simple Traversal of User Datagram Protocol(UDP) Through Network Address Translators(NATs)」、[Online]、2003年3月、[2004年3月17日検索]、インターネット<URL:http://www.ietf.org/rfc/rfc3489.txt> 及川卓也、「Advanced Networking Pack for Windows(登録商標) XP大解剖 第1回 IPv6接続をさらに透過的にするTeredo」、[Online]、2003年9月29日、[2004年3月17日検索]、インターネット<URL:http://www.ipv6style.jp/jp/tryout/20030929/2.shtml>
しかしながら、NATの種類によっては、セキュリティーを向上させるために、受信フ
ィルタルールによって受信することができないパケットを攻撃であるとみなし、そのパケットの通信元のIPアドレスから送信されたパケットを受け付けないものもある。そのような場合に、バブルパケットを通信先のNATに対して送信すると、そのバブルパケットが攻撃であるとみなされる。その結果、バブルパケットを受信したNATが、バブルパケットを送信した情報処理装置からのパケットを一切受け付けなくなり、バブルパケットを送信した情報処理装置と、バブルパケットが送信された側の情報処理装置との間での通信を適切に確立することができなくなる場合もある。
また、バブルパケットは、通信元のNATが通信先から送信されたパケットを適切に受信することができるように、通信元のNATに送信履歴を残すことを目的として送信されるものである。したがって、通常、バブルパケットは情報を伝達するために送信されるものではない。そのような情報を伝達する役割を持たないパケットによって、インターネットなどの通信回線におけるトラフィックが増大することは、好ましいことではない。
本発明は上記問題点を解決するためになされたものであり、その一つの目的は、セキュリティーレベルの高い通信制御装置(例えば、NAT)を介した通信を適切に確立することができる情報処理装置等を提供することである。
また、本発明の他の目的は、通信回線におけるトラフィックの増大を抑えながら、バブルパケットを送信する情報処理装置等を提供することである。
上記目的を達成するため、本発明による情報処理装置は、通信先の情報処理装置と、通信元の1以上の通信制御装置を介して通信を行う通信元の情報処理装置であって、通信元の通信制御装置に送信履歴を残すために前記通信元の情報処理装置から送信されるバブルパケットに対して、当該バブルパケットが前記通信先の情報処理装置に到達しない範囲の寿命を設定する寿命設定部と、前記寿命設定部が設定した寿命を有するバブルパケットを、通信元の1以上の通信制御装置を介して送信するバブルパケット送信部と、を備えたものである。
このような構成により、バブルパケットが通信先の情報処理装置に到達する前に、そのバブルパケットを消滅させることができる。その結果、通信回線のトラフィックを減少させることができ得る。具体的には、バブルパケットに寿命を設けることによって、バブルパケットが通信先の情報処理装置に到達する場合に比べて、通信回線においてバブルパケットの通過する経路を短くすることができる。このようにして、通信回線のトラフィックを、全体として減少させることができ得る。
また、本発明による情報処理装置では、前記通信先の情報処理装置と、前記通信元の情報処理装置との通信が、通信先の1以上の通信制御装置を介して行われるものであり、前記寿命設定部が、バブルパケットが前記通信先の1以上の通信制御装置に到達しない範囲の寿命を設定してもよい。
このような構成により、通信先の通信制御装置のいずれにも到達しないようにバブルパケットを送信することができる。その結果、通信先の通信制御装置がセキュリティーレベルの高いものであり、受信フィルタルールによって受け付けることのできなかったパケットを攻撃とみなし、そのパケットの通信元から送信されたパケットを一切受け付けなくなる通信制御装置であったとしても、通信先の通信制御装置にバブルパケットが到達しないことによって、通信元と通信先の情報処理装置間における通信を適切に確立することができ得る。
また、本発明による情報処理装置では、前記寿命設定部が、前記バブルパケットがグロ
ーバルアドレスからグローバルアドレスにパケットを中継する中継ノードに到達することができるように寿命を設定してもよい。
このような構成により、バブルパケットが、少なくとも通信元の通信制御装置(多段である場合には、そのすべての通信制御装置)を超えることができるように寿命を設定することができ、通信元の通信制御装置において、通信先の情報処理装置からの返信パケットを適切に受信することができるための送信履歴を残すことができ得る。
また、本発明による情報処理装置では、前記寿命設定部が、前記バブルパケットがグローバルアドレスからグローバルアドレスにパケットを中継する中継ノードのうち、直近の中継ノードに到達することができる寿命を設定してもよい。
このような構成により、必要最低限の範囲の寿命をバブルパケットに設定することができ、通信回線のトラフィックの増大を防止することができ得る。
また、本発明による情報処理装置では、前記寿命設定部が、前記通信元の情報処理装置と、前記通信先の情報処理装置との通信が確立されるまで、前記バブルパケット送信部がバブルパケットを送信するごとに、前記バブルパケットが到達することができる中継ノードを1ずつ増やして寿命を設定してもよい。
このような構成により、例えば、通信元の通信制御装置の段数などを適切にカウントできなかったために、バブルパケットの寿命が適切に設定できなかったような場合にも、バブルパケットの寿命を順番に増やすことにより、適切なバブルパケットの寿命とすることができ、通信元と通信先の情報処理装置間での通信を適切に確立することができ得る。
また、本発明による情報処理装置では、前記寿命設定部が、前記バブルパケットが通信先の1以上の通信制御装置の1個以上手前の中継ノードに到達することができる寿命を設定してもよい。
このような構成により、バブルパケットが通信元の通信制御装置(多段である場合には、そのすべての通信制御装置)を確実に超えることができるようにバブルパケットの寿命を設定することができる。その結果、通信先の通信制御装置にバブルパケットを到達させることなく、通信元と通信先の情報処理装置間での通信を適切に確立することができ得る。
また、本発明による情報処理装置では、前記通信元の情報処理装置からの中継ノードの数を計数する中継ノード計数部をさらに備え、前記寿命設定部が、前記中継ノード計数部が計数した中継ノードの数に基づいて、前記バブルパケットの寿命の設定を行ってもよい。
このような構成により、通信元の通信制御装置の段数などを手入力などで入力することなく、中継ノード計数部による計数結果に基づいて、バブルパケットの寿命を適切に設定することができる。
また、本発明による情報処理装置では、前記通信元の情報処理装置からの中継ノードの数を、グローバルアドレスからグローバルアドレスにパケットを中継する中継ノードのうち直近の中継ノードまで計数する中継ノード計数部をさらに備え、前記寿命設定部が、前記中継ノード計数部が計数した中継ノードの数に基づいて、前記バブルパケットの寿命の設定を行ってもよい。
このような構成により、中継ノード計数部が中継ノードを計数するために送信するチェ
ックパケットを通信先の通信制御装置に到達しないようにすることができる。ここで、通信先の通信制御装置は、チェックパケット(例えば、ICMPのパケットなど)を受け付けたとしても、一般にそれを攻撃とはみなさないが、仮に、通信先の通信制御装置がそのチェックパケットを攻撃とみなすものであったとしても、通信先の通信制御装置にチェックパケットが到達しないため、通信元の情報処理装置から送信されたパケットが通信先の通信制御装置において一切受け付けられなくなる事態を回避し得ることとなる。
本発明による情報処理装置等によれば、バブルパケットに所定の寿命を設定することにより、セキュリティーレベルの高い通信制御装置を介した通信を適切に確立することができ得る。また、バブルパケットに寿命を設けることにより、通信回線におけるトラフィックの増大を防止でき得る。
(実施の形態1)
本発明の実施の形態1による通信システムについて、図面を参照しながら説明する。
図1は、本実施の形態による通信システムの構成を示す図である。図1において、本実施の形態による通信システムは、第1の情報処理装置1と、第2の情報処理装置2と、第1の通信制御装置3と、第2の通信制御装置4と、サーバ5とを備える。第1の通信制御装置3、第2の通信制御装置4、サーバ5は、有線または無線の通信回線6を介して接続されている。この通信回線6は、例えば、インターネットである。
なお、図1では、第1の通信制御装置3、第2の通信制御装置4にそれぞれ、第1の情報処理装置1、第2の情報処理装置2のみが接続されている場合について示しているが、これ以外の装置が、第1の通信制御装置3、第2の通信制御装置4に接続されていてもよい。
また、図1では、第1の情報処理装置1、及び第2の情報処理装置2にそれぞれ第1の通信制御装置3、第2の通信制御装置4が1個ずつ接続されている場合について示しているが、各情報処理装置において接続される通信制御装置は、多段であってもよい。すなわち、第1の情報処理装置1及び第2の情報処理装置2から通信回線6までの間に、2以上の通信制御装置が存在してもよい。
また、本実施の形態では、第1の情報処理装置1が通信元の情報処理装置として動作し、第2の情報処理装置2が通信先の情報処理装置として動作する場合について説明する。ここで、通信元の情報処理装置とは、第1の情報処理装置1と第2の情報処理装置2との間の通信を確立する際における、通信(コネクション)の要求を出す側(言い換えれば、バブルパケットを送信する側)のことである。一方、通信先の情報処理装置とは、その反対側の情報処理装置、すなわち通信の要求を受け取る側(言い換えれば、バブルパケットに対する返信パケットを送信する側)の情報処理装置のことである。なお、通信を確立するとは、第1の情報処理装置1と第2の情報処理装置2との間において、サーバ5を介さないPeer to Peerの通信を開始することをいう。また、バブルパケット、返信パケットについては後述する。
図2は、第1の情報処理装置1の構成を示すブロック図である。図2において、第1の情報処理装置1は、通信制御部11と、中継ノード計数部12、寿命設定部13と、バブルパケット送信部14とを備える。
通信制御部11は、第1の情報処理装置1と、通信先の第2の情報処理装置2との間での通信を確立させるための処理を行う。その処理の詳細については後述する。
中継ノード計数部12は、第1の情報処理装置1からの中継ノードの数を計数する。ここで、中継ノードとは、ルーティング機能を有するいわゆるルータのことであり、アドレス変換機能(例えば、プライベートアドレスからグローバルアドレスへの変換を行う機能)を有してもよく、有していなくてもよい。また、中継ノードは、グローバルアドレスからグローバルアドレスにパケットを中継(例えば、インターネットにおいて行われる)してもよく、プライベートアドレスからプライベートアドレスにパケットを中継(例えば、LANにおいて行われる)してもよく、プライベートアドレスとグローバルアドレスとの間でパケットを中継(例えば、LANとインターネットとの間で行われる)してもよい。この中継ノードの数の計数は、例えば、トレースルートによって行ってもよく、TTL(Time To Live)を設定したUDPパケットを、そのTTLを1から順番にインクリメントしながら送信することによって行ってもよい。本実施の形態では、トレースルートによって中継ノードの数の計数を行うものとする。この計数の処理の詳細については、後述する。
寿命設定部13は、バブルパケット送信部14が送信するバブルパケットに対して、そのバブルパケットが通信先の第2の通信制御装置4に到達しない範囲の寿命を設定する。寿命設定部13は、中継ノード計数部12が計数した中継ノードの数に基づいて、その寿命の設定を行う。この寿命の設定は、例えば、バブルパケットに関するTTLを設定することによって行う。なお、寿命設定部13によって設定されるバブルパケットの寿命は、バブルパケットが通信元の通信制御装置(多段の通信制御装置である場合にはそのすべて)を超えることができるものでなくてはならない。バブルパケットは、通信先の返信パケットを受信することができるように、通信元の通信制御装置に対して送信履歴を残す役割を有するため、バブルパケットが通信元の通信制御装置を超えなかった場合には、通信元の通信制御装置が通信先からの返信パケットを受信できないからである。
寿命設定部13は、例えば、バブルパケットがグローバルアドレスからグローバルアドレスにパケットを中継する中継ノードに到達することができるようにバブルパケットの寿命を設定してもよく、グローバルアドレスからグローバルアドレスにパケットを中継する中継ノードのうち、通信元の第1の情報処理装置1に対して直近の中継ノードにバブルパケットが到達することができるようにバブルパケットの寿命を設定してもよく、バブルパケットが通信先の第2の通信制御装置4の1個以上手前の中継ノードに到達することができるようにバブルパケットの寿命を設定してもよい。なお、通信先の通信制御装置が多段である場合には、通信元に一番近い側の通信制御装置の1個以上手前の中継ノードに到達するように(すなわち、通信先のいずれの通信制御装置にも到達しないように)バブルパケットの寿命を設定してもよい。
バブルパケット送信部14は、寿命設定部13が設定した寿命を有するバブルパケットを、通信元の第1の通信制御装置3を介して送信する。ここで、バブルパケットとは、通信先の第2の情報処理装置2から送信される返信パケットを第1の通信制御装置3が受け付けることができるように、通信元の第1の通信制御装置3に送信履歴を残すために通信元の第1の情報処理装置1から送信されるパケットのことである。送信履歴を残すとは、返信パケットを受け付けることができるためのポートを割り当てる(ポートを開く)ことをいう。このバブルパケットには、何らかの情報が含まれていてもよく、何も情報が含まれていなくてもよい(ダミーであってもよい)が、本実施の形態によるバブルパケットは通信先に到達しないため、一般的に、このバブルパケットには有意な情報は含まれていない。バブルパケット送信部14は、例えば、所定のメモリで記憶されているバブルパケットを送信する。このバブルパケットは、例えば、UDPのようなコネクションレス型のプロトコルによって送信される。
第2の情報処理装置2は、第1の情報処理装置1から送信されたバブルパケットに対し
て返信パケットを送信する。そのようにして、第1の情報処理装置1と、第2の情報処理装置2との間での第1の通信制御装置3,第2の通信制御装置4を介した通信が確立することになる。ここで、返信パケットとは、バブルパケットの通過した第1の通信制御装置3のポートに対して送信される。あらかじめバブルパケットが送信されていることにより、第1の情報処理装置1は、この返信パケットを、第1の通信制御装置3を介して受信することができる。この返信パケットには、何らかの情報が含まれていてもよく、何も情報が含まれていなくてもよい。
第1の通信制御装置3は、第1の情報処理装置1から送信されたパケット、あるいは、第1の情報処理装置1に送信されたパケットのアドレス変換を行うNAT(Network Address Translation)の機能を有する装置である。なお、第1の通信制御装置3は、アドレス変換以外の他の機能を有していてもよい。具体的には、第1の情報処理装置1側で使用されているローカルなアドレスと、通信回線6側で使用されているグローバルなアドレスとの変換を行う。この第1の通信制御装置3は、ルーティング機能を有するものであり、中継ノード計数部12が計数する中継ノードに含まれる。
第2の通信制御装置4も、アドレス変換を行うNATの機能を有する、第1の通信制御装置3と同様の装置である。
なお、第1の通信制御装置3,第2の通信制御装置4で使用される送信ポート割り当てルールと受信フィルタルールとは、第1の情報処理装置1と第2の情報処理装置2との間での通信を確立するためにバブルパケットの送信が必要である範囲において、限定されるものではない。ただし、本実施の形態では、第1の通信制御装置3,第2の通信制御装置4の送信ポート割り当てルールがConeタイプであり、受信フィルタルールがAddress Sensitiveフィルタである場合について説明する。すなわち、第1の通信制御装置3,第2の通信制御装置4は、いわゆるRestricted Cone NATの機能を有するものであるとする。
サーバ5は、第1の情報処理装置1と第2の情報処理装置2との間でのサーバ5を介さない通信を確立するために必要な処理等を行う。例えば、第1の情報処理装置1に対して第2の情報処理装置2(厳密には、第2の通信制御装置4)の通信回線6側のIPアドレスを通知したり、第1の情報処理装置1から送信されたバブルパケットの通過した第1の通信制御装置3のポートの番号を第2の情報処理装置2に通知したりする。
次に、中継ノード計数部12がトレースルートによって中継ノードの数を計数する方法について説明する。ここでは、トレースルートを用いて中継ノードの数を計数する方法について説明する。トレースルートでは、IPのルートをトレースすることにより、通信先までの各中継ノードのIPアドレスを知ることができ得る。
図3、図4は、トレースルートについて説明するための図である。これらの図において、中継ノードは、丸で示されている。図3で示されるように、まず、第1の情報処理装置1の中継ノード計数部12は、第2の通信制御装置4に向けてTTL=1のチェックパケットを送信する。ここで、チェックパケットとは、トレースルートにおいて、送信先に向けて送信されるパケットのことである。このチェックパケットには、TTLが設定されている。チェックパケットのTTLは、中継ノードを通過するごとに1だけ減少されるため、TTL=1のチェックパケットは、第1の通信制御装置3に到達したときにTTL=0となり、第1の通信制御装置3からICMP Time Exceededによって第1の情報処理装置1に返される。次に、図4で示されるように、中継ノード計数部12は、第2の通信制御装置4に向けてTTL=2のチェックパケットを送信する。すると、そのチェックパケットは中継ノード51においてTTL=0となり、ICMP Time Exceededによって中継ノード51から第1の情報処理装置1に返される。これによ
って、中継ノード計数部12は、中継ノード51のIPアドレスを知ることができる。このように、チェックパケットが第2の通信制御装置4に到達するまで、TTLを1ずつインクリメントしながらチェックパケットの送信と、ICMP Time Exceededの受信とを繰り返すことにより、第2の通信制御装置4に到達するまでに経由した各中継ノードのIPアドレスを知ることができる。なお、ICMP Time Exceededを返さない中継ノードの場合には、中継ノード計数部12は、タイムアウトとなった後に、次のチェックパケットを送信する。チェックパケットが第2の通信制御装置4に到達すると、ICMP Port Unreachableが返され、トレースルートは終了となる。なお、場合によっては、ICMP Port Unreachableの代わりに、ICMP Echo Replyが返されることもある。中継ノード計数部12は、このトレースルートを行うことにより、第2の通信制御装置4に到達するまでに経由する中継ノードの数と、各中継ノードのIPアドレスとを知ることができる。
なお、ここではトレースルートを第2の通信制御装置4に対して行う場合について説明したが、中継ノード計数部12は、トレースルート以外の方法によって中継ノードの数を計数してもよく、また、チェックパケットの送信先は、第2の通信制御装置4以外の例えばサーバ5などであってもよい。
次に、本実施の形態による通信システムにおける第1の情報処理装置1と第2の情報処理装置2とが通信を確立する動作について、図5を用いて説明する。なお、この説明において、第1の情報処理装置1及び第2の情報処理装置2は、あらかじめ、サーバ5の仲介によって第1の通信制御装置3、第2の通信制御装置4の通信回線6側のIPアドレスを知っているものとする。
(ステップS101)中継ノード計数部12は、第2の通信制御装置4までの中継ノードの数を計数する。
(ステップS102)寿命設定部13は、中継ノード計数部12による中継ノードの数の計数結果に基づいて、バブルパケット送信部14が送信するバブルパケットの寿命を設定する。
(ステップS103)通信制御部11は、ポート検出用パケットをサーバ5に送信する。このポート検出用パケットは、バブルパケットが送信される第1の通信制御装置3におけるポート(以下、「バブルパケット送信ポート」とする)の位置(例えば、ポート番号によって特定される)を検出するために、バブルパケットの送信の前に送信されるものである。そのポート検出用パケットはサーバ5で受信される。
(ステップS104)バブルパケット送信部14は、寿命設定部13によって設定された寿命を有するバブルパケットを第2の通信制御装置4に送信する。このバブルパケットは、設定された寿命で消滅するため、第2の通信制御装置4には到達しない。なお、このバブルパケットは、サーバ5を介さないで、直接、第2の通信制御装置4に送信される。
(ステップS105)サーバ5は、ステップS103で送信されたポート検出用パケットによって、バブルパケット送信ポートの位置を検出する。
(ステップS106)サーバ5は、ステップS105で検出したバブルパケット送信ポートの位置を第2の情報処理装置2に通知する。
(ステップS107)第2の情報処理装置2は、第1の通信制御装置3のバブルパケット送信ポートに対して、返信パケットを送信する。この返信パケットが第1の情報処理装置1で受信されることによって、第1の情報処理装置1と、第2の情報処理装置2との間で、サーバ5を介さない通信が確立されることになる。
次に、この通信システムの動作について、具体例を用いて説明する。この具体例では、前述のように、第1の通信制御装置3、第2の通信制御装置4がRestricted Cone NATの機能を有するものであるとする。また、中継ノード計数部12は、トレースルートによって中継ノードの数を計数するものとする。また、寿命設定部13は、バブルパケットのTTLを設定することによって寿命を設定するものとする。また、第1の通信制御装置3、第2の通信制御装置4、サーバ5の通信回線6側の各IPアドレスは、以下のとおりであるとする。
第1の通信制御装置3:202.132.10.6
第2の通信制御装置4:131.206.10.240
サーバ5:155.32.10.10
図6、図7は、この具体例を説明するための図である。この具体例では、第1の情報処理装置1から接続要求が行われるものとする。図6において、第1の情報処理装置1は、サーバ5のIPアドレス「155.32.10.10」をあらかじめ知っており、そのサーバ5に対して、第1の情報処理装置1の機器ID「1234567890」を送信する。ここで、この機器IDとしては、例えば、MACアドレス等のGUID(Global
Unique ID)を用いることができる。この機器IDの送信は、第1の情報処理装置1のポートP1から、第1の通信制御装置3で割り当てられたポートP2を介して、サーバ5のポートP3に対して行われる。この送信によって、サーバ5は、第1の情報処理装置1の機器IDと、第1の通信制御装置3のIPアドレス「202.132.10.6」と、第1の通信制御装置3におけるポートP2のポート番号「10034」とを知ることができる。これらの情報は、サーバ5において保持される。
第2の情報処理装置2も、第1の情報処理装置1と同様にして、第2の情報処理装置2の機器ID「9876543210」を送信する。その結果、第2の通信制御装置4のIPアドレス「131.206.10.240」と、第2の情報処理装置2の機器IDと、第2の通信制御装置4におけるポートP5のポート番号「23495」とがサーバ5において保持される。
次に、第1の情報処理装置1が、接続を要求する第2の情報処理装置2の機器ID「9876543210」をサーバ5に送信することにより、第2の情報処理装置2への接続要求を行う。すると、サーバ5は、その接続要求を受け取り、ポートP2を介して第1の情報処理装置1に第2の通信制御装置4のIPアドレス「131.206.10.240」と、ポートP5のポート番号「23495」とを通知する。
第1の情報処理装置1の中継ノード計数部12は、第2の通信制御装置4のIPアドレス「131.206.10.240」に対してトレースルートを実行することにより、第2の通信制御装置4までの中継ノードの数を計数する(ステップS101)。この計数は、図3、図4を用いた説明と同様にして行われる。そして、中継ノード計数部12は、第2の通信制御装置4までの中継ノードの数、及び第2の通信制御装置4までに経過した各中継ノードまでのTTLの値と、その中継ノードから返ってきたIPアドレスとの対応を計数結果として寿命設定部13に渡す。
寿命設定部13は、中継ノード計数部12による中継ノードの数の計数結果を受け取ると、ICMP Time Exceededによって中継ノードから返ってきたIPアドレスがグローバルアドレスである直近の(第1の通信制御装置3に一番近い)中継ノードにまでバブルパケットが到達するようにバブルパケットのTTLを設定する(ステップS102)。具体的には、中継ノードから返ってきたグローバルアドレスに対応するTTLのうち、一番小さい値のTTLをバブルパケットのTTLとして設定する。このように寿
命を設定することにより、バブルパケットは、グローバルアドレスからグローバルアドレスにパケットを中継する中継ノードのうち、直近の中継ノードに到達するように寿命が設定されたことになる。ここでは、第1の情報処理装置1から2個目の中継ノードがグローバルアドレスからグローバルアドレスにパケットを中継する中継ノードであり、TTL=2に設定されたとする。
通信制御部11は、第1の情報処理装置1のポートP7からサーバ5のポートP9にバブルパケット送信ポートを検出するためのポート検出用パケットを送信する(ステップS103)。ポートP9は、サーバ5から指示されたポートであるとする。なお、このポートP9は、ポートP3と同一であってもよい。このポート検出用パケットは、第1の通信制御装置3において、新たに割り当てられたポートP8(ポート番号「10040」)を用いて送信される。このポート検出用パケットはサーバ5で受信され、第1の通信制御装置3のポートP8のポート番号「10040」が検出されて、保持される(ステップS105)。
バブルパケット送信部14は、TTL=2のバブルパケットを第2の通信制御装置4のポートP5に向けて送信する(ステップS104)。このバブルパケットのTTLは、第1の通信制御装置3において1だけ減少されTTL=1となり、第1の通信制御装置3の次の中継ノードにおいてTTL=0となって消滅する。したがって、バブルパケットは第2の通信制御装置4には到達しない。
サーバ5は、保持しているバブルパケット送信ポートP8のポート番号「10040」と、第1の通信制御装置3のIPアドレス「202.132.10.6」を、ポートP5を介して第2の情報処理装置2に通知する(ステップS106)。
第2の情報処理装置2は、第1の通信制御装置3のIPアドレスと、ポートP8のポート番号とを受け取ると、ポートP10から、そのIPアドレス、ポート番号に向けて、返信パケットを送信する(図7参照)。その返信パケットは、第1の通信制御装置3のポートP8で受け付けられ、第1の情報処理装置1のポートP7に渡される。このようにして、第1の情報処理装置1と、第2の情報処理装置2との間での通信が確立し、その後、第1の情報処理装置1と、第2の情報処理装置2とは所望のデータの送信、受信等を行うことができる。
なお、この具体例では、グローバルアドレスからグローバルアドレスにパケットを中継する中継ノードのうち、通信元の第1の情報処理装置1に対して直近の中継ノード(すなわち、第1の通信制御装置3の次の中継ノード)にバブルパケットが到達することができるように、寿命設定部13が寿命を設定する場合について説明したが、これは一例であって、前述のように、寿命設定部13は、バブルパケットがグローバルアドレスからグローバルアドレスにパケットを中継する中継ノードに到達することができるように寿命を設定してもよく、バブルパケットが通信先の第2の通信制御装置4に到達する1個以上手前の中継ノードに到達するように寿命を設定してもよい。
例えば、中継ノードの中には、ICMPに従わないものもあり得る。具体的には、トレースルートにおいてはTTLを減少させないにもかかわらず、UDPのバブルパケットのTTLを減少させる中継ノードもあり得る。そのような中継ノードが通信元の通信制御装置に含まれている場合に、中継ノード計数部12による計数結果に基づいて、グローバルアドレスからグローバルアドレスにパケットを中継する直近の中継ノードまでの寿命を有するバブルパケットを送信したとしても、実際には、バブルパケットが通信元の通信制御装置のすべてを超えないこととなってしまう。その結果、通信元の通信制御装置のうち、一番送信先に近い側の通信制御装置に送信履歴を残すことができず、第2の情報処理装置
2から送信された返信パケットを受け付けることができなくなる。そのような事態を避けるためには、グローバルアドレスからグローバルアドレスにパケットを中継する直近の中継ノードから、1個以上先の中継ノードにバブルパケットが到達するように寿命を設定してもよく、あるいは、通信先の通信制御装置の1個手前の中継ノードまでのいずれかの中継ノードにバブルパケットが到達するように寿命を設定してもよい。
また、寿命設定部13は、通信元の第1の情報処理装置1と、通信先の第2の情報処理装置2との通信が確立されるまで、バブルパケット送信部14がバブルパケットを送信するごとに、バブルパケットが到達することができる中継ノードを増やして寿命を設定してもよい。具体的には、まず、グローバルアドレスからグローバルアドレスにパケットを中継する直近の中継ノードに到達するようにバブルパケットの寿命を設定しておき、そのバブルパケットの送信によって情報処理装置間の通信を確立することができなかった場合に、次にバブルパケットの寿命(TTL)を1だけインクリメントしてバブルパケットを送信し、それでも情報処理装置間の通信を確立することができなかった場合には、さらにバブルパケットの寿命を1だけインクリメントして通信の確立を試みるということを繰り返して行ってもよい。なお、通信が確立できなかった場合に、バブルパケットが到達することができる中継ノードを1ずつ増やして寿命を設定してもよく、あるいは、バブルパケットが到達することができる中継ノードを所定の数ずつ(何回目の増加であるかによって異なっていてもよい)増やして寿命を設定してもよい。
以上のように、本実施の形態による通信システムによれば、第1の情報処理装置1が送信するバブルパケットに寿命を設け、第2の通信制御装置4に到達しないようにしたことで、受信フィルタルールによって受け付けることができないパケットを受信した場合に、そのパケットの通信元から一切のパケットを受け付けなくなるような第2の通信制御装置4が用いられていたとしても、バブルパケットが第2の通信制御装置4に到達することがないため、バブルパケットを送信した後の、第1の情報処理装置1と第2の情報処理装置2との間での通信の確立を適切に行うことができ得る。
また、グローバルアドレスからグローバルアドレスへのパケットの中継を行う中継ノードのうち、通信元に直近の中継ノードにバブルパケットが到達した時点で消滅するようにバブルパケットの寿命を設定しておくことによって、通信元の第1の通信制御装置3に送信履歴を残す役割のみを有するバブルパケットによって通信トラフィックが増大される事態を回避することができ得る。
なお、本実施の形態では、中継ノード計数部12が中継ノードの数を計数し、その計数結果に基づいて寿命設定部13がバブルパケットの寿命を設定する場合について説明したが、第1の情報処理装置1が中継ノード計数部12を備えず、外部から入力された通信元の通信制御装置の段数に基づいて、寿命設定部13がバブルパケットの寿命を設定するようにしてもよい。例えば、図1で示されるように、通信元の第1の通信制御装置3が1段しかない場合には、寿命設定部13がその通信制御装置の段数「1」に「1」を加算した「2」をTTLとして設定することによってバブルパケットの寿命の設定を行ってもよい。
また、本実施の形態では、通信先の第2の情報処理装置2の側にも、通信制御装置を有する場合について説明したが、図8で示されるように、通信先は通信制御装置を有しない構成であってもよい。この場合には、寿命設定部13は、通信先の第2の情報処理装置2に到達しない範囲の寿命をバブルパケットの寿命として設定する。このようにすることで、通信のトラフィックを増大させる事態を回避することができ得る。このことは、特に、寿命設定部13がバブルパケットの寿命を、グローバルアドレスからグローバルアドレスにパケットを中継する直近の中継ノードにバブルパケットが到達できるように設定した場
合に顕著である。
また、本実施の形態では、通信制御装置がRestricted Cone NATの機能を有するものである場合について説明したが、通信制御装置は、それ以外の種類のNATであってもよい。すなわち、バブルパケットに寿命を設定することは、任意の種類のNATを介してバブルパケットを送信する情報処理装置において用いることができ得る。なお、異なる種類のNATを用いた場合には、そのNATの種類に応じて、通信を確立するための処理が異なっていてもよい。
また、中継ノード計数部12による中継ノードの数の計数において、本実施の形態では、通信先のNATである第2の通信制御装置4までの中継ノードの数を計数する場合について説明したが、例えば、寿命設定部13がグローバルアドレスからグローバルアドレスへのパケットの中継を行う直近の中継ノードにバブルパケットが到達できるように寿命を設定するような場合には、サーバ5や、その他のサーバにまでの中継ノードの数の計数を行ってもよい。
また、中継ノード計数部12による中継ノードの数の計数において、本実施の形態では、トレースルートによって所定の通信先のノード(例えば、第2の通信制御装置4など)までの中継ノードの数をすべて計数する場合について説明したが、例えば、寿命設定部13がグローバルアドレスからグローバルアドレスへのパケットの中継を行う直近の中継ノードにバブルパケットが到達できるように寿命を設定するような場合には、中継ノードの数の計数は、通信元の通信制御装置(通信制御装置が多段である場合には、その多段のすべての通信制御装置)を超える範囲において、中継ノードの数の計数を行ってもよい。例えば、寿命設定部13がグローバルアドレスからグローバルアドレスへのパケットの中継を行う直近の中継ノードにバブルパケットが到達できるように寿命を設定するような場合には、中継ノードの数の計数は、グローバルアドレスからグローバルアドレスへのパケットの中継を行う直近の中継ノードにおいて終了してもよい。具体的には、UDPのパケットにTTLを順番にインクリメントしながら設定して送信している場合には、ICMP Time Exceededを返してきた中継ノードのIPアドレスがグローバルアドレスを有するようになった時点で、中継ノードの数の計数を終了してもよい。そして、そのグローバルアドレスを返してきた時点のUDPパケットに設定されていたTTLの値を、寿命設定部13がバブルパケットの寿命として設定してもよい。
また、本実施の形態では、バブルパケットの寿命の設定をTTLの設定によって行う場合について説明したが、それ以外の方法によって寿命の設定を行ってもよい。例えば、送信時の時刻と、寿命を示す時間との設定により、バブルパケットに寿命を設定してもよい。この場合には、中継ノードにおいて、送信時の時刻から寿命を示す時間だけ経過したことが確認されると、そのバブルパケットが廃棄されることになる。
また、本実施の形態では、第1の通信制御装置3、及び第2の通信制御装置4がNATの機能を有するものであると説明したが、第1の通信制御装置3、及び第2の通信制御装置4は、NATの機能に代えて、あるいはNATの機能と共にパケットフィルタリングのファイアウォール(Firewall)の機能を有するものであってもよい。ここで、パケットフィルタリングとは、例えば、前述の受信フィルタルールに基づいた受信パケットの選択を行うものである。第1の通信制御装置3が、そのような受信フィルタルールに基づいたファイアウォール機能を有する場合、ローカル側(第1の情報処理装置1側)からグローバル側(通信回線6)へのバブルパケットの送信によって第1の通信制御装置3に送信履歴を残すことで、バブルパケット送信ポートに送信された返信パケットを受け付けることができるようになる。また、第2の通信制御装置4が受信フィルタルールによって受け付けることができないパケットを受信した場合に、そのパケットの通信元から一切の
パケットを受け付けなくなるようなファイアウォールの機能を有する場合であっても、通信先の第2の通信制御装置4に到達しない範囲の寿命がバブルパケットに設定されることによって、第1の情報処理装置1と第2の情報処理装置2との通信を適切に確立することができ得る。
なお、第1の通信制御装置3、及び第2の通信制御装置4がハードウェアとして情報処理装置と別途構成されており、また、NATの機能を有しないで、ファイアウォールの機能を有する場合には、それらの通信制御装置は、ルーティング機能を有することになり、一般にTTLを1だけ減少させる中継ノードとなり得る。この場合には、例えば、グローバルアドレスからグローバルアドレスにパケットを中継する中継ノードにバブルパケットが到達することができるようにバブルパケットの寿命が設定されることにより、そのファイアウォール(通信制御装置)に対しても送信履歴を残すことができ、第1の情報処理装置1は、第2の情報処理装置2から送信された返信パケットを受け付けることができる。
一方、第1の情報処理装置1、及び第2の情報処理装置2においてアプリケーションとしてファイアウォール機能を実装した場合には、バブルパケットがファイアウォール(通信制御装置)を通過することによって、TTLが1だけ減少されることはない(この場合には、情報処理装置と通信制御装置とが一体として構成されていることとなり、そのうち通信制御装置(ファイアウォール)の機能のみを別途明記したものが図1で示されることになる)。この場合には、TTLが1以上のバブルパケットが送信されることにより、ファイアウォールに送信履歴を残すことができる。また、このファイアウォールのグローバル側(通信回線6側)にさらにNATの機能を有する1以上の通信制御装置があったとしても、グローバルアドレスからグローバルアドレスにパケットを中継する中継ノードにバブルパケットが到達することができるようにバブルパケットの寿命が設定されることにより、そのNATの機能を有する通信制御装置に対しても送信履歴を残すことができ、第1の情報処理装置1は、第2の情報処理装置2から送信された返信パケットを受け付けることができる。
なお、図8で示されるように第2の通信制御装置4を備えなくてもよい旨、通信元の通信制御装置の段数を外部から入力してもよい旨などについては、通信制御装置がNATの機能に代えて、あるいはNATの機能と共にファイアウォール機能を有する場合であっても、上記説明と同様である。
また、本実施の形態では、サーバ5をIPアドレスによって特定する場合について説明したが、サーバ5をドメイン名(例えば、server.pana.netなど)によって特定してもよい。この場合には、そのドメイン名がDNSサーバを用いて、IPアドレスに変換されることにより、サーバ5を特定することができる。
また、本実施の形態における通信プロトコルは、例えば、IPv4(Internet
Protocol version 4)であってもよく、あるいは、IPv6(Internet Protocol version 6)であってもよい。
また、上記実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実
行することによって、各構成要素が実現され得る。なお、上記実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、通信先の情報処理装置と、通信元の1以上の通信制御装置を介して通信を行う通信元の情報処理装置におけるバブルパケットを送信させるためのプログラムであって、通信元の通信制御装置に送信履歴を残すために前記通信元の情報処理装置から送信されるバブルパケットに対して、当該バブルパケットが前記通信先の情報処理装置に到達しない範囲の寿命を設定する寿命設定ステップと、前記寿命設定ステップで設定した寿命を有するバブルパケットを、通信元の1以上の通信制御装置を介して送信するバブルパケット送信ステップと、を実行させるためのものである。
なお、上記プログラムにおいて、パケットを送信する送信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、CD−ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
以上のように、本発明による情報処理装置等は、バブルパケットが通信先の情報処理装置、あるいは通信先の通信制御装置に到達しない範囲の寿命をバブルパケットに設定するものであり、情報処理装置間の通信の確立においてバブルパケットを送信する情報処理装置等に有用である。
本発明の実施の形態1による通信システムの構成を示す図 同実施の形態による第1の情報処理装置の構成を示すブロック図 同実施の形態におけるトレースルートを説明するための図 同実施の形態におけるトレースルートを説明するための図 同実施の形態による通信システムの動作を説明するための図 同実施の形態による通信システムの具体例を説明するための図 同実施の形態による通信システムの具体例を説明するための図 同実施の形態による通信システムの構成の他の一例を示す図 通信システムの一例を示す図
符号の説明
1 第1の情報処理装置
2 第2の情報処理装置
3 第1の通信制御装置
4 第2の通信制御装置
5 サーバ
11 通信制御部
12 中継ノード計数部
13 寿命設定部
14 バブルパケット送信部

Claims (14)

  1. 通信先の情報処理装置と、通信元の通信制御装置を介して通信を行う通信元の情報処理装置であって、
    前記通信元の情報処理装置からの中継ノードの数を、グローバルアドレスからグローバルアドレスにパケットを中継する中継ノードまで計数する計数部と、
    前記計数部が計数した中継ノードの数に基づいて、前記通信元の通信制御装置に送信履歴を残すために前記通信元の情報処理装置から送信されるバブルパケットに対して、寿命を設定する寿命設定部と、
    前記寿命設定部が設定した寿命を有する前記バブルパケットを、前記通信元の通信制御装置を介して送信するバブルパケット送信部と、を備えた情報処理装置。
  2. 前記寿命設定部は、前記バブルパケットがグローバルアドレスからグローバルアドレスにパケットを中継する中継ノードに到達することができる寿命を設定する、請求項1記載の情報処理装置。
  3. 通信先の情報処理装置と、通信元の通信制御装置を介して通信を行う通信元の情報処理装置であって、
    通信元の通信制御装置に送信履歴を残すために前記通信元の情報処理装置から送信されるバブルパケットに対して、前記通信元の情報処理装置と前記通信先の情報処理装置との通信が確立されるまで、前記バブルパケットが送信されるごとに、前記バブルパケットが到達する中継ノードを1ずつ増やして寿命を設定する寿命設定部と、
    前記寿命設定部が設定した寿命を有するバブルパケットを、前記通信元の通信制御装置を介して送信するバブルパケット送信部と、を備えた情報処理装置。
  4. 前記寿命設定部は、前記バブルパケットが到達する前記中継ノードのうち、前記通信元の情報処理装置に対して直近のグローバルアドレスからグローバルアドレスにパケットを中継する前記中継ノードに到達することができる寿命を設定する、請求項2また3記載の情報処理装置。
  5. 前記通信元の情報処理装置はさらに通信先の通信制御装置を介して前記通信先の情報処理装置と通信を行い、
    前記寿命設定部は、前記バブルパケットが前記通信先の通信制御装置の1個以上手前の前記中継ノードに到達することができる寿命を設定する、請求項1から4のいずれか1つ記載の情報処理装置。
  6. 前記寿命の設定は、バブルパケットに関するTTL(Time To Live)の設定である、請求項1から5のいずれか1つ記載の情報処理装置。
  7. 前記計数部は、トレースルートによって中継ノードの数の計数を行う、請求項1、2、4から6のいずれか1つ記載の情報処理装置。
  8. 通信先の情報処理装置と、通信元の通信制御装置を介して通信を行う通信元の情報処理装置におけるバブルパケット送信方法であって、
    前記通信元の情報処理装置からの中継ノードの数を、グローバルアドレスからグローバルアドレスにパケットを中継する中継ノードまで計数する計数ステップと、
    前記計数ステップにおいて計数した中継ノードの数に基づいて、前記通信元の通信制御装置に送信履歴を残すために前記通信元の情報処理装置から送信されるバブルパケットに対して、寿命を設定する寿命設定ステップと、
    前記寿命設定ステップにおいて設定した寿命を有する前記バブルパケットを、前記通信元の通信制御装置を介して送信するバブルパケット送信ステップと、を備えたバブルパケット送信方法。
  9. 前記寿命設定ステップにおいて、前記バブルパケットがグローバルアドレスからグローバルアドレスにパケットを中継する中継ノードに到達することができる寿命を設定する、請求項8記載のバブルパケット送信方法。
  10. 通信先の情報処理装置と、通信元の通信制御装置を介して通信を行う通信元の情報処理装置におけるバブルパケット送信方法であって、
    通信元の通信制御装置に送信履歴を残すために前記通信元の情報処理装置から送信されるバブルパケットに対して、前記通信元の情報処理装置と前記通信先の情報処理装置との通信が確立されるまで、前記バブルパケットが送信されるごとに、前記バブルパケットが到達する中継ノードを1ずつ増やして寿命を設定する寿命設定ステップと、
    前記寿命設定ステップにおいて設定した寿命を有するバブルパケットを、前記通信元の通信制御装置を介して送信するバブルパケット送信ステップと、を備えたバブルパケット送信方法。
  11. 前記寿命設定ステップにおいて、前記バブルパケットが到達する前記中継ノードのうち、前記通信元の情報処理装置に対して直近のグローバルアドレスからグローバルアドレスにパケットを中継する前記中継ノードに到達することができる寿命を設定する、請求項9また10記載のバブルパケット送信方法。
  12. 前記通信元の情報処理装置はさらに通信先の通信制御装置を介して前記通信先の情報処理装置と通信を行い、
    前記寿命設定ステップにおいて、前記バブルパケットが前記通信先の通信制御装置の1個以上手前の前記中継ノードに到達することができる寿命を設定する、請求項8から11のいずれか1つ記載のバブルパケット送信方法。
  13. 前記寿命の設定は、バブルパケットに関するTTL(Time To Live)の設定である、請求項8から12のいずれか1つ記載のバブルパケット送信方法。
  14. 前記計数ステップにおいて、トレースルートによって中継ノードの数の計数を行う、請求項8、9、11から13のいずれか1つ記載のバブルパケット送信方法。
JP2004138222A 2004-05-07 2004-05-07 情報処理装置、及びバブルパケット送信方法 Expired - Lifetime JP3835462B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2004138222A JP3835462B2 (ja) 2004-05-07 2004-05-07 情報処理装置、及びバブルパケット送信方法
EP05730504.7A EP1739897B1 (en) 2004-05-07 2005-04-15 Information processing device, and bubble packet transmission method and program
CNA2005800144577A CN1977499A (zh) 2004-05-07 2005-04-15 信息处理装置、气泡数据包发送方法以及程序
KR20067022422A KR100770101B1 (ko) 2004-05-07 2005-04-15 정보 처리 장치, 버블 패킷 송신 방법 및 프로그램
PCT/JP2005/007296 WO2005109785A1 (ja) 2004-05-07 2005-04-15 情報処理装置、バブルパケット送信方法およびプログラム
US10/590,596 US8194566B2 (en) 2004-05-07 2005-04-15 Information processing device, and bubble packet transmission method and program
TW94113689A TW200541277A (en) 2004-05-07 2005-04-28 Information-processing device; bubble packet transmitting method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004138222A JP3835462B2 (ja) 2004-05-07 2004-05-07 情報処理装置、及びバブルパケット送信方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2006024358A Division JP4345751B2 (ja) 2006-02-01 2006-02-01 情報処理装置、及びバブルパケット送信方法

Publications (2)

Publication Number Publication Date
JP2005323033A JP2005323033A (ja) 2005-11-17
JP3835462B2 true JP3835462B2 (ja) 2006-10-18

Family

ID=35320569

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004138222A Expired - Lifetime JP3835462B2 (ja) 2004-05-07 2004-05-07 情報処理装置、及びバブルパケット送信方法

Country Status (7)

Country Link
US (1) US8194566B2 (ja)
EP (1) EP1739897B1 (ja)
JP (1) JP3835462B2 (ja)
KR (1) KR100770101B1 (ja)
CN (1) CN1977499A (ja)
TW (1) TW200541277A (ja)
WO (1) WO2005109785A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7729267B2 (en) * 2003-11-26 2010-06-01 Cisco Technology, Inc. Method and apparatus for analyzing a media path in a packet switched network
JP4440056B2 (ja) * 2004-09-27 2010-03-24 パナソニック株式会社 情報処理装置、通信処理装置、情報処理システム、情報処理方法、及び通信処理方法
JP3999785B2 (ja) * 2005-01-20 2007-10-31 株式会社フラクタリスト 通信方法
JP4665568B2 (ja) * 2005-03-16 2011-04-06 パナソニック株式会社 情報処理装置、ポート検出装置、情報処理方法、及びポート検出方法
US7738383B2 (en) * 2006-12-21 2010-06-15 Cisco Technology, Inc. Traceroute using address request messages
US7706278B2 (en) * 2007-01-24 2010-04-27 Cisco Technology, Inc. Triggering flow analysis at intermediary devices
US7693091B2 (en) * 2007-03-30 2010-04-06 Microsoft Corporation Teredo connectivity between clients behind symmetric NATs
US20080253383A1 (en) * 2007-04-13 2008-10-16 Microsoft Corporation Communicating using the port-preserving nature of symmetric network address translators
EP2003845B1 (en) * 2007-06-15 2015-07-29 Alcatel Lucent Peer chosen as tester for detecting misbehaving peer in structured peer-to-peer networks
US8370919B2 (en) * 2007-06-26 2013-02-05 Microsoft Corporation Host firewall integration with edge traversal technology
US7707294B2 (en) * 2007-06-26 2010-04-27 Microsoft Corporation Edge traversal service dormancy
JP5239618B2 (ja) * 2008-08-19 2013-07-17 沖電気工業株式会社 アドレス変換装置、方法及びプログラム、並びにノード
US8774010B2 (en) 2010-11-02 2014-07-08 Cisco Technology, Inc. System and method for providing proactive fault monitoring in a network environment
US8559341B2 (en) 2010-11-08 2013-10-15 Cisco Technology, Inc. System and method for providing a loop free topology in a network environment
US8982733B2 (en) 2011-03-04 2015-03-17 Cisco Technology, Inc. System and method for managing topology changes in a network environment
US8670326B1 (en) 2011-03-31 2014-03-11 Cisco Technology, Inc. System and method for probing multiple paths in a network environment
US8724517B1 (en) 2011-06-02 2014-05-13 Cisco Technology, Inc. System and method for managing network traffic disruption
US8830875B1 (en) 2011-06-15 2014-09-09 Cisco Technology, Inc. System and method for providing a loop free topology in a network environment
US9450846B1 (en) 2012-10-17 2016-09-20 Cisco Technology, Inc. System and method for tracking packets in a network environment
CN105052106B (zh) * 2013-03-15 2018-01-02 柏思科技有限公司 用于接收和传输互联网协议(ip)数据包的方法和系统
TWI538449B (zh) * 2013-11-29 2016-06-11 晶睿通訊股份有限公司 穿透網路位址轉換的方法、電腦可讀取媒體與連線中介系統
US9703888B2 (en) * 2013-12-18 2017-07-11 Dassault Systemes Americas Corp. Component obsolescence registry
TWI599201B (zh) * 2016-02-05 2017-09-11 物聯智慧科技(深圳)有限公司 網路系統及建立資料連線的方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5675741A (en) * 1994-10-25 1997-10-07 Cabletron Systems, Inc. Method and apparatus for determining a communications path between two nodes in an Internet Protocol (IP) network
US6687732B1 (en) * 1998-09-28 2004-02-03 Inktomi Corporation Adaptive traffic bypassing in an intercepting network driver
US6952421B1 (en) * 1999-10-07 2005-10-04 Cisco Technology, Inc. Switched Ethernet path detection
GB2369746A (en) * 2000-11-30 2002-06-05 Ridgeway Systems & Software Lt Communications system with network address translation
US7133368B2 (en) * 2002-02-01 2006-11-07 Microsoft Corporation Peer-to-peer method of quality of service (QoS) probing and analysis and infrastructure employing same
US7310356B2 (en) * 2002-06-24 2007-12-18 Paradyne Corporation Automatic discovery of network core type

Also Published As

Publication number Publication date
TW200541277A (en) 2005-12-16
EP1739897B1 (en) 2017-12-20
US8194566B2 (en) 2012-06-05
EP1739897A4 (en) 2012-04-25
CN1977499A (zh) 2007-06-06
JP2005323033A (ja) 2005-11-17
KR20070009646A (ko) 2007-01-18
WO2005109785A1 (ja) 2005-11-17
KR100770101B1 (ko) 2007-10-24
US20070171835A1 (en) 2007-07-26
EP1739897A1 (en) 2007-01-03

Similar Documents

Publication Publication Date Title
JP3835462B2 (ja) 情報処理装置、及びバブルパケット送信方法
EP2220852B1 (en) Communicating a selection of a potential configuration
JP4327142B2 (ja) 情報処理システム、トンネル通信装置、トンネル通信方法、代理応答装置、及び代理応答方法
JP4708036B2 (ja) 通信システム、情報処理装置、サーバ、及び情報処理方法
EP3342127A1 (en) Network packet flow controller with extended session management
US10298616B2 (en) Apparatus and method of securing network communications
US20080304419A1 (en) Determining connectivity between endpoints in a network
Muller et al. Autonomous nat traversal
WO2011035528A1 (zh) 用于通过中继方式进行nat穿越的方法、系统和中继服务器
US20130013739A1 (en) DNS Server, Gateways and Methods for Managing an Identifier of a Port Range in the Transmission of Data
JP4712481B2 (ja) 通信方法および装置
US20160380964A1 (en) Network transmission method and network transmission system for a multi-layer network address translator structure
US20050030956A1 (en) Method, apparatus and system for accessing multiple nodes on a private network
US7356031B1 (en) Inter-v4 realm routing
US9860157B2 (en) Zero configuration approach for port forwarding cascaded routers
EP1809000A1 (en) Information processing device, information processing system, information processing method, and program
WO2005046143A1 (ja) 通信システム、情報処理装置、サーバ、および通信方法
JP4345751B2 (ja) 情報処理装置、及びバブルパケット送信方法
Punithavathani et al. Performance analysis for wireless networks: An analytical approach by multifarious sym teredo
WO2008069504A1 (en) Method for configuring control tunnel and direct tunnel in ipv4 network-based ipv6 service providing system
JP5084716B2 (ja) Vpn接続装置、dnsパケット制御方法、及びプログラム
Santos Private realm gateway
WO2013035309A1 (ja) エージェント装置及び通信中継方法
Silvennoinen Legacy network address translator traversal using the host identity protocol
Hagino et al. RFC3142: An IPv6-to-IPv4 Transport Relay Translator

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051228

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20060111

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060112

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20060123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060411

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060612

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060704

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060717

R151 Written notification of patent or utility model registration

Ref document number: 3835462

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090804

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100804

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110804

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110804

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120804

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130804

Year of fee payment: 7