JP4078594B2 - Information processing apparatus and method, and program - Google Patents

Information processing apparatus and method, and program Download PDF

Info

Publication number
JP4078594B2
JP4078594B2 JP2002262002A JP2002262002A JP4078594B2 JP 4078594 B2 JP4078594 B2 JP 4078594B2 JP 2002262002 A JP2002262002 A JP 2002262002A JP 2002262002 A JP2002262002 A JP 2002262002A JP 4078594 B2 JP4078594 B2 JP 4078594B2
Authority
JP
Japan
Prior art keywords
information
address
port
processing apparatus
client
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 - Fee Related
Application number
JP2002262002A
Other languages
Japanese (ja)
Other versions
JP2004104357A (en
JP2004104357A5 (en
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2002262002A priority Critical patent/JP4078594B2/en
Publication of JP2004104357A publication Critical patent/JP2004104357A/en
Publication of JP2004104357A5 publication Critical patent/JP2004104357A5/ja
Application granted granted Critical
Publication of JP4078594B2 publication Critical patent/JP4078594B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は情報処理装置および方法、並びにプログラムに関し、特に、NAT機能を備えたルータを使用し、インターネットを介してストリーミング通信を行うことができるようにし情報処理装置および方法、並びにプログラムに関する。
【0002】
【従来の技術】
複数のコンピュータをインターネットに接続する場合、各コンピュータを、ルータを介してインターネットに接続することが多い。このルータには、1つのグローバルIP(Internet Protocol)アドレス(固有の情報であるグローバルIPアドレス)を複数のコンピュータで共有する技術であるNAT(Network Address Translation)が使用されているものがある。
【0003】
NATには、大きく分けて、Full Cone NAT,Restricted Cone NAT、およびPort Restricted Cone NATの3種類がある。
【0004】
図1は、Full Cone NATの機能を備えたルータが接続されたネットワークの構成例を示している。
【0005】
クライアント1は、ローカルアドレス(ローカルのネットワーク内において(限定された範囲において)固有の情報であるローカルアドレス)として、aa.aa.aa.aaが割り当てられており、ポートbbbを介してルータ2に接続されている(以下、このような状態を、aa.aa.aa.aa:bbbと記述する)。また、ポート番号は、ルータ2内のサービスを識別するための識別情報とされる。クライアント1は、ルータ2から、インターネット(図示せず)を介して他の装置(この例の場合サーバ3,4)と通信する。ルータ2は、Full Cone NATの機能を備えており、グローバルアドレス(ルータ2に固有の情報である固有情報)として、tt.tt.tt.ttが割り当てられており、ポートsssを介してサーバ3およびサーバ4と接続されている(tt.tt.tt.tt:sss)。サーバ3は、グローバルアドレスとして、xx.xx.xx.xxが割り当てられており、ポートyyyとポートzzzが、ルータ2のポートtt.tt.tt.tt::sssと接続されている(xx.xx.xx.xx:yyy、xx.xx.xx.xx:zzz)。また、サーバ4は、グローバルアドレスとして、pp.pp.pp.ppが割り当てられており、ポートqqqが、ルータ2のポートtt.tt.tt.tt::sssと接続されている(pp.pp.pp.pp:qqq)。
【0006】
ルータ2は、Full Cone NATの機能を備えているため、クライアント1のポートaa.aa.aa.aa:bbbから送信されたパケットを、ポートtt.tt.tt.tt:sssから、指定されたポート(図1の例の場合、ポートxx.xx.xx.xx:yyy)に送信するとともに、ポートtt.tt.tt.tt:sss宛に送信されてきた全てのパケットを、クライアント1のポートaa.aa.aa.aa:bbbに転送する。従って、サーバ3のポートxx.xx.xx.xx:yyy若しくはポートxx.xx.xx.xx:zzz、またはサーバ4のポートpp.pp.pp.pp:qqqのいずれから送信されたパケットであっても、クライアント1のポートaa.aa.aa.aa:bbbに転送される。
【0007】
図2は、Restricted Cone NATの機能を備えたルータが接続されたネットワークの構成例を示している。
【0008】
図2の例の場合、図1のルータ2(Full Cone NATの機能を備えるルータ)と異なり、ルータ11は、Restricted Cone NATの機能を備えているため、クライアント1が、リクエストしたサーバと同一のグローバルアドレスを有するサーバ(図2の例の場合、サーバ3)からのパケットのみ受信し、クライアント1に転送する。従って、図2に、点線で示されるように、サーバ4からのクライアント1に対する通信は制限される。
【0009】
すなわち、ルータ11は、クライアント1のポートaa.aa.aa.aa:bbbから送信されたパケットを、ルータ11のポートtt.tt.tt.tt:sssから、指定されたポート(図2例の場合、サーバ3のポートxx.xx.xx.xx:yyy)に送信するとともに、指定されたグローバルIPアドレス xx.xx.xx.xxを有するサーバ3のポートxx.xx.xx.xx:yyy若しくはポートxx.xx.xx.xx:zzz からポートtt.tt.tt.tt:sss宛に送信されてきた全てのパケットを、クライアント1のポートaa.aa.aa.aa:bbbに転送する。しかしながら、ルータ11は、指定されたグローバルIPアドレス xx.xx.xx.xxを有しない(グローバルIPアドレス pp.pp.pp.ppを有する)サーバ4のポートpp.pp.pp.pp:qqqからポートtt.tt.tt.tt:sss宛に送信されてきた全てのパケットの受信を拒否する。
【0010】
図3は、Port Restricted Cone NATの機能を備えたルータが接続されたネットワークの構成例を示している。
【0011】
Port Restricted Cone NATは、Restricted Cone NATとほぼ同じ機能を有するが、これに加えて、ポート番号も制限する。
【0012】
すなわち、Port Restricted Cone NATの機能を備えているルータ12は、クライアント1のポートaa.aa.aa.aa:bbbから送信されたパケットを、ルータ12のポートtt.tt.tt.tt:sssから、指定されたポート(図3例の場合、サーバ3のポートxx.xx.xx.xx:yyy)に送信するとともに、指定されたグローバルIPアドレスとポートxx.xx.xx.xx:yyyを有するサーバ3のポートxx.xx.xx.xx:yyyからポートtt.tt.tt.tt:sss宛に送信されてきた全てのパケットを、クライアント1のポートaa.aa.aa.aa:bbbに転送する。しかしながら、ルータ12は、指定されたグローバルIPアドレスとポートxx.xx.xx.xx:yyyを有しない(グローバルIPアドレス pp.pp.pp.ppを有する)サーバ4のポートpp.pp.pp.pp:qqqからポートtt.tt.tt.tt:sss宛に送信されてきたパケットはもとより、グローバルIPアドレス とxx.xx.xx.xxは同一でも、ポートzzzが異なるサーバ3のポートxx.xx.xx.xx:zzzからポートtt.tt.tt.tt:sss宛に送信されてきたパケットの受信を拒否する。
【0013】
また、近年、NAT機能を備えるルータに接続され、UDP(User Datagram Protocol)通信を行なう技術として、STUN(Simple Traversal of UDP through NAT)が知られている(例えば、非特許文献1乃至3参照)。
【0014】
図4は、STUNを利用して接続されているネットワークの構成例を示す図である。
【0015】
クライアント30には、STUNクライアント部31が設けられている。STUNクライアント部31には、グローバルアドレス問い合わせ部41と、グローバルアドレス受信部42が設けられている。
【0016】
クライアント30に接続されているルータ13には、アドレス変換部51が設けられている。
【0017】
インターネット60を介してルータ13と接続されているSTUNサーバ70には、STUNサーバ部71が設けられており、STUNサーバ部71は、グローバルアドレス問い合わせ応答部81を有する。
【0018】
STUNプロトコルの目的は、図5に示されるようなルータ13の下にいるクライアント30が、ルータ13の外のグローバルIPとポート(図5の例の場合、tt.tt.tt.tt:sss)を知ることである。しかしながら、一般的には、クライアント30がルータ13から、直接これらの情報を得ることはできない。
【0019】
そこで、以下の手順により、クライアント30が、ルータ13の外の(インターネット60側の)グローバルIPとポート(図5の例の場合、tt.tt.tt.tt:sss)を取得する。
【0020】
最初に、既知のグローバルIPとポート(図5の例の場合、xx.xx.xx.xx:yyy)を持つSTUNサーバ70をインターネット60上に用意する。
【0021】
次に、クライアント30は、ルータ13とインターネット60を介して、STUNサーバ70に対して、UDPパケットAを送信する。このとき、始点(送信元アドレス)は、aa.aa.aa.aa:bbb(ローカルIPアドレス)であり、終点(送信先アドレス)は、xx.xx.xx.xx:yyy(グローバルIPアドレス)である。
【0022】
ルータ13のアドレス変換部51は、パケットAの始点を、tt.tt.tt.tt:sss(グローバルIPアドレス)に変換し、インターネット60を介して、終点のxx.xx.xx.xx:yyyであるSTUNサーバ70に送信する。またこのとき、ルータ13のアドレス変換部51は、グローバル側からtt.tt.tt.tt:sss(グローバルIPアドレス)宛に送信されてくるパケットを、aa.aa.aa.aa:bbb(ローカルIPアドレス)に転送するアドレス変換マップを生成する。
【0023】
STUNサーバ70のグローバルアドレス問い合わせ応答部81は、インターネット60を介してパケットAを受信すると、パケットAに応答するパケットBを生成する。グローバルアドレス問い合わせ応答部81は、このパケットBに、パケットAの送信元のグローバルIPアドレスtt.tt.tt.tt:sssを含める。STUNサーバ70は、生成したパケットBを、インターネット60を介して、ルータ13に返送する。このパケットBの送信元のアドレスは、xx.xx.xx.xx:yyyとされ、送信先のアドレスは、tt.tt.tt.tt:sssとされる。
【0024】
ルータ13のアドレス変換部51は、アドレス変換マップを参照し、受信したパケットBの終点(送信先)を、aa.aa.aa.aa:bbbに変換し、これをクライアント30に送信する。
【0025】
クライアント30は、この受信したパケットBのデータに含まれるグローバルアドレスtt.tt.tt.ttとポートsssを取得する。これにより、クライアント30は、ルータ13のグローバルIP:ポートが、tt.tt.tt.tt:sssであることを取得することができる。
【0026】
そこで、このSTUNサーバ70を使用して、ルータ13にアドレス変換マップを生成した上で(上述した処理を実行した後)、そのマップを用いてUDPのストリーミング通信を行なうことが考えられる。これを、図6を参照して説明する。
【0027】
図6に示されるように、クライアント30が、ルータ13を介して、インターネット60に接続されており、STUNサーバ70とクライアント90も、それぞれ、インターネット60に接続されている。
【0028】
クライアント30は、ポート10000を有しており、ルータ13は、ポート27000を有し、クライアント90は、ポート10000を有している。すなわち、図6の例の場合、クライアント30とクライアント90は、同じ番号のポート10000を有している。また、ルータ13の下に位置するクライアント30は、ローカルIPアドレスを有しており、ルータを介さずに、インターネット60に直接接続されているクライアント90は、グローバルIPアドレスを有している。
【0029】
次に、図7のアローチャートを参照して、図6のネットワークの構成における処理を説明する。なお、この処理は、クライアント30のユーザにより、クライアント90との間での、ストリーミング通信が指令されたとき、開始される。
【0030】
ステップS1において、クライアント30は、STUNサーバ70に、ルータ13のグローバルIPアドレス:ポートを問い合わせる。このとき、クライアント30が、STUNサーバ70に所定のパケットを送信すると、ルータ13は、上述したようにパケットの始点を、ルータ13が有するグローバルIPアドレス:ポートに変換し、グローバル側からローカル側に転送するマップを生成する。
【0031】
このクライアント30からの問い合わせ(ステップS1)が出力されると、ステップS31において、STUNサーバ70は、この問い合わせを受信する。STUNサーバ70は、この問い合わせに対するパケットを生成する。このパケットには、上述したように、受信したパケットに記述されている送信元(ルータ13)のグローバルIPアドレス:ポートが含められる。
【0032】
ステップS32において、STUNサーバ70は、生成したパケット(ルータ13のグローバルIPアドレス:ポートが含まれているパケット)を送信する。このパケットは、ルータ13に送信され、ルータ13は、生成したマップを参照し、受信したパケットの終点(送信先)を、クライアント30のローカルIPアドレス:ポートに変換し、クライアント30に転送する。
【0033】
ステップS2において、クライアント30は、ステップS32の処理により送信されたパケット(上述したように、ルータ13のグローバルIPアドレス:ポートが含まれるパケット)を受信する。これにより、クライアント30は、ルータ13のグローバルIPアドレス:ポートを取得することができる。
【0034】
ステップS3とステップS51において、クライアント30とクライアント90は、お互いのグローバルIPアドレス:ポートを交換する(自分が受信に使用するグローバルIPアドレス:ポートを相手に通知する)。例えば、クライアント30は、取得したルータ13のグローバルIPアドレス:ポートの情報を含むパケットを生成し、ルータ13とインターネット60を介して、クライアント90に送信し、クライアント90は、自分自身が保有しているグローバルIPアドレス:ポートをクライアント30に送信することにより、お互いのグローバルIPアドレス:ポートを取得することができる。
【0035】
これにより、クライアント30とクライアント90は、お互いのグローバルIPアドレス:ポートに対して情報を送信することができる。
【0036】
ステップS4において、クライアント30は、画像・音声のストリームを、ルータ13とインターネット60を介して、クライアント90のグローバルIPアドレス:ポート宛に送信する。このとき、クライアント90のポートは、10000である。具体的には、クライアント30が、画像・音声のストリームをクライアント90のグローバルIPアドレス:ポートに送信すると、ルータ13は、パケットの送信元としてのクライアント30(送信元)のローカルIPアドレス:ポートを、ルータ13が有するグローバルIPアドレス:ポートに変換し、クライアント90に送信する。
【0037】
ステップS52において、クライアント90は、ステップS4の処理によりクライアント30により送信された画像・音声のストリームを受信し、再生する。
【0038】
ステップS53において、クライアント90は、画像・音声のストリームを、インターネット60を介して、ルータ13のグローバルIPアドレス:ポート宛に送信する。ルータ13は、マップを参照し、パケットの送信先のグローバルIPアドレス:ポート(ルータ13のグローバルIPアドレス:ポート)を、クライアント30のローカルIPアドレス:ポートに変換し、画像・音声のストリームを、クライアント30に転送する。
【0039】
ステップS5において、クライアント30は、ステップS53の処理によりクライアント90により送信された画像・音声のストリームを受信し、再生する。
【0040】
これにより、ルータ13に接続されている、ローカルIPアドレス:ポートを有するクライアント30においても、他のクライアント90との間で画像・音声のストリームを授受することができる。
【0041】
【非特許文献1】
MIDCOM WG,J. Rosenberg, dynamicsoft, J. Weinberger, dynamicsoft, C. Huitema, Microsoft, R. Mahy, Cisco著「STUN - Simple Traversal of UDP Through Network Address Translators」、[online]、2002年3月1日、IETF(The Internet Engineering Task Force)、[2002年8月14日検索]、インターネット,<URL: http://www.ietf.org/internet-drafts/draft-rosenberg-midcom-stun-01.txt >、文書名(draft-rosenberg-midcom-stun-01.txt)
【非特許文献2】
MIDCOM WG,J. Rosenberg, dynamicsoft, J. Weinberger, dynamicsoft, C. Huitema, Microsoft, R. Mahy, Cisco著「STUN - Simple Traversal of UDP Through Network Address Translators」、[online]、2002年3月1日、IETF(The Internet Engineering Task Force)、[2002年8月14日検索]、インターネット,<URL: http://www.potaroo.net/ietf/ids/draft-rosenberg-midcom-stun-01.txt >、文書名(draft-rosenberg-midcom-stun-01.txt)
【非特許文献3】
MIDCOM WG,J. Rosenberg, dynamicsoft, J. Weinberger, dynamicsoft, C. Huitema, Microsoft, R. Mahy, Cisco著「STUN - Simple Traversal of UDP Through Network Address Translators」、[online]、2002年3月1日、IETF(The Internet Engineering Task Force)、[2002年8月14日検索]、インターネット,<URL: http://www.watersprings.org/pub/id/draft-rosenberg-midcom-stun-01.txt>、文書名(draft-rosenberg-midcom-stun-01.txt)
【0042】
【発明が解決しようとする課題】
しかしながら、図6のシステムでは、画像・音声などのストリーミング通信を行なう2者(図6の例の場合、クライアント30とクライアント90)の他に、グローバルアドレスを持たない機器が接続されているルータのグローバルアドレスを取得するためにSTUNサーバ70が必要となるという課題があった。
【0043】
また、ルータ13は、図1に示されるようなFull Cone NATの機能を備えることが必要であり、ルータ外からのアクセスが制限されるRestricted Cone NATまたはPort Restricted Cone NATの機能を備えるルータを用いることができないという課題があった。
【0044】
本発明は、このような状況に鑑みてなされたものであり、NAT機能を備えたルータを使用し、簡便に、インターネットを介するストリーミング通信を行なうことができるようにするものである。
【0049】
【課題を解決するための手段】
本発明情報処理装置は、他の情報処理装置から送信された、通信制御装置において他の情報処理装置を識別するための情報である第1の固有情報と、通信制御装置内のサービスを識別するための第1の識別情報の通知の要求を受信する要求受信手段と、要求受信手段により受信された第1の固有情報と第1の識別情報の通知の要求に対応して、通信制御装置の第1の固有情報と第1の識別情報の通知を含む応答を出力する応答出力手段と、他の情報処理装置に情報を送信する情報送信手段とを備え、情報送信手段は、情報処理装置の情報を出力するサービスを識別するための第2の識別情報を、情報処理装置の応答出力手段が応答を出力するサービスを識別するための第3の識別情報と同じとすることを特徴とする。
【0050】
前記要求受信手段により受信された、第1の固有情報と第1の識別情報の通知の要求には、送信元を表わす情報として、通信制御装置の第1の固有情報と第1の識別情報が含まれ、送信先を表わす情報として、情報処理装置に固有の情報である第2の固有情報と情報処理装置内のサービスを識別するための第3の識別情報が含まれ、応答出力手段により出力される、通信制御装置の第1の固有情報と第1の識別情報の通知を含む応答には、送信元を表わす情報として、第2の固有情報と第3の識別情報が含まれ、送信先を表わす情報として、通信制御装置の第1の固有情報と第1の識別情報が含まれ、情報送信手段により送信される情報には、送信元を表わす情報として、第2の固有情報と第2の識別情報が含まれ、送信先を表わす情報として、通信制御装置の第1の固有情報と第1の識別情報が含まれるようにすることができる。
【0051】
前記第1の固有情報は、グローバルIPアドレスであり、第2の固有情報は、グローバルIPアドレスであり、第1の識別情報は、通信制御装置が通信のサービスを行なうポートのポート番号であり、第2の識別情報は、情報処理装置が情報を送信するサービスを行なうポートのポート番号であり、第3の識別情報は、情報処理装置が、応答を出力するサービスを行なうポートのポート番号であるようにすることができる。
【0052】
本発明の情報処理方法は、他の情報処理装置から送信された、通信制御装置おいて他の情報処理装置を識別するための情報である第1の固有情報と、通信制御装置内のサービスを識別するための第1の識別情報の通知の要求を受信する要求受信ステップと、要求受信ステップの処理により受信された第1の固有情報と第1の識別情報の通知の要求に対応して、通信制御装置の第1の固有情報と第1の識別情報の通知を含む応答を出力する応答出力ステップと、他の情報処理装置に情報を送信する情報送信ステップとを含み、情報送信ステップの処理は、情報処理装置の情報を出力するサービスを識別するための第2の識別情報を、情報処理装置の応答出力ステップの処理により応答を出力するサービスを識別するための第3の識別情報と同じとすることを特徴とする。
【0053】
本発明のプログラムは、通信制御装置を介してネットワークに接続されている他の情報処理装置と、ネットワークを介して情報を授受する情報処理装置を制御するコンピュータが実行可能なプログラムであって、他の情報処理装置から送信された、通信制御装置において他の情報処理装置を識別するための情報である第1の固有情報と、通信制御装置内のサービスを識別するための第1の識別情報の通知の要求を受信する要求受信ステップと、要求受信ステップの処理により受信された第1の固有情報と第1の識別情報の通知の要求に対応して、通信制御装置の第1の固有情報と第1の識別情報の通知を含む応答を出力する応答出力ステップと、他の情報処理装置に情報を送信する情報送信ステップとを含み、情報送信ステップの処理は、情報処理装置の情報を出力するサービスを識別するための第2の識別情報を、情報処理装置の応答出力ステップの処理により応答を出力するサービスを識別するための第3の識別情報と同じとすることを特徴とする。
【0062】
本発明においては、他の情報処理装置から通信制御装置において他の情報処理装置を識別するための情報である第1の固有情報と通信制御装置内のサービスを識別するための第1の識別情報の通知の要求が受信されると、この要求に対応して、通信制御装置の第1の固有情報と第1の識別情報の通知を含む応答が出力される。また、他の情報処理装置に情報を送信する場合、情報を出力するサービスを識別する第2の識別情報を、応答を出力するサービスを識別するための第3の識別情報と同じとする。
【0066】
【発明の実施の形態】
図8は、本発明を適用したネットワークシステムの構成例を表わしている。
【0067】
クライアント120は、NAT機能を有するルータ180を介して、インターネット60に接続されている。また、クライアント200は、ルータ(NAT機能を有するルータ)を介さずに、インターネット60に直接接続されている。これらのクライアント120,200およびルータ180は、例えば、パーソナルコンピュータ(例えば、後述する図11のパーソナルコンピュータ300)により構成される。
【0068】
クライアント120は、図示せぬ他のクライアントとともに、ルータ180の下側(図8において左側のローカルネットワーク側)に接続され、ローカルIPアドレス:ポート(ローカルIPアドレスは、ルータ180の下側(図8において左側)のネットワーク(ローカルなネットワーク内)においてクライアント120に固有の情報である固有情報であり、ポート番号は、クライアント120内のサービスを識別するための識別情報である)が割り当てられている。より正確には、ローカルIPアドレスは、ルータ180により各クライアントに割り当てられたものであるが、ポートは、各クライアントが設定したものである。また、クライアント120には、STUNクライアント部121、RTP受信部122、STUNサーバ部123、および、RTP送信部124が設けられている。STUNクライアント部121には、グローバルアドレス問い合わせ部141、グローバルアドレス受信部142が設けられており、それぞれ、グローバルアドレスを問い合わせたり、グローバルアドレスを受信したりする。STUNサーバ部123には、グローバルアドレスの問い合わせに対する応答を行なうグローバルアドレス問い合わせ応答部161が設けられている。
【0069】
ルータ180には、アドレス変換部181が設けられており、アドレス変換部181は、グローバルアドレスをローカルアドレスに変換したり、ローカルアドレスをグローバルアドレスに変換し、その変換マップに基づいて、ルーティング処理を実行する。
【0070】
クライアント200は、ルータを介さずに、インターネット60に直接接続されており、グローバルIPアドレス:ポート(グローバルIPアドレスは、グローバルネットワークとしてのインターネット60においてクライアント200に固有の情報である固有情報であり、ポート番号は、クライアント200内のサービスを識別するための識別情報である)が割り当てられている。この場合にも、より正確には、グローバルIPアドレスは割り当てられたものであるが、ポートは自分自身が設定したものである。
【0071】
また、クライアント200には、STUNクライアント部201、RTP受信部202、STUNサーバ部203、および、RTP送信部204が設けられている。STUNクライアント部201には、グローバルアドレス問い合わせ部221、グローバルアドレス受信部222が設けられており、STUNサーバ部123には、グローバルアドレス問い合わせ応答部241が設けられている。このように、クライアント200の構成は、クライアント120の構成と同様であるため、その説明は省略する。
【0072】
いま、クライアント120、ルータ180、クライアント200は、それぞれ、図9に示されるようなIPアドレス:ポートを有するものとする。
【0073】
すなわち、クライアント120のローカルアドレスは、192.168.0.2とされており、ポート10000とポート20000を有している。STUNサーバ部123は、ポート20000を使用して情報の授受を行なう。また、クライアント120は、情報の受信をポート10000で行い、情報の送信をポート20000から行なっている。
【0074】
ルータ180のローカルアドレスは、192.168.0.1とされており、グローバルアドレスは、12.34.56.78とされている。また、ルータ180は、グローバル側(インターネット60の側)に、ポート27000と、ポート37000を有している。
【0075】
クライアント200のグローバルアドレスは、11.22.33.44とされており、ポート10000とポート20000を有している。また、STUNサーバ部203は、ポート20000を使用して情報の授受を行なう。クライアント200は、さらに、ポート10000で情報を受信し、ポート20000から情報を送信する。
【0076】
すなわち、クライアント120とクライアント200のポートは、同じ番号のポート(図9の例の場合、ポート10000とポート20000)とされている。
【0077】
図10のアローチャートを参照して、図9のクライアント120とクライアント200における通信処理を説明する。なお、この処理は、クライアント120のユーザにより、クライアント200との間の通信が指令されたとき開始される(例えば、クライアント200から、画像・音声のストリームを送信するか、受信し、再生するように指令されたとき、開始される)。
【0078】
ステップS101において、クライアント120のグローバルアドレス問い合わせ部141は、クライアント200のSTUNサーバ部203に対して、グローバルIPアドレス:ポートの問い合わせ(ルータ180のグローバルIPアドレス:ポートの問い合わせ)をする(通知を要求する)。このとき、クライアント120が送信する要求のパケットには、送信元(From)のアドレスは、192.168.0.2:10000(IPアドレス:ポート番号)とされ、送信先(To)のアドレスは、11.22.33.44:20000(IPアドレス:ポート番号)とされている。
【0079】
ステップS101の処理によりクライアント120のグローバルアドレス問い合わせ部141から出力されたパケット(問い合わせパケット(通知要求パケット))は、ステップS131において、ルータ180に受信される。ルータ180のアドレス変換部181は、このパケットの送信元(From)のアドレス192.168.0.2:10000(IPアドレス:ポート番号)と、送信先(To)のアドレス11.22.33.44:20000(IPアドレス:ポート番号)のうち、送信元(From)のアドレス192.168.0.2:10000(IPアドレス:ポート番号)を、ルータ180自身が有するグローバルIPアドレス:ポートに変換し、2つのアドレスを対応付けるマップを生成する。その後、アドレス変換部181は、インターネット60を介してこのパケットを送信先に送信する。
【0080】
具体的には、ルータ180のアドレス変換部181は、送信元(From)のアドレス192.168.0.2:10000(ローカルIPアドレス:ポート番号)を、12.34.56.78:27000(グローバルIPアドレス:ポート番号)に変換する。このとき、上述したように、アドレス変換部181は、マップを生成する。マップには、ローカルIPアドレス:ポート192.168.0.2:10000に、グローバルIPアドレス:ポート12.34.56.78:27000が対応するという情報が含まれている。その後、ルータ180は、このパケットを、インターネット60を介して、送信先であるクライアント200(送信先(To)の11.22.33.44:20000(IPアドレス:ポート番号))に送信する。このとき、送信されるパケットの送信元(From)のアドレスは12.34.56.78:27000(IPアドレス:ポート番号)とされ、送信先(To)のアドレスは11.22.33.44:20000(IPアドレス:ポート番号)とされている。
【0081】
ステップS131の処理により送信されたパケット(問い合わせパケット)は、ステップS161において、クライアント200のグローバルアドレス問い合わせ応答部241により受信される。具体的には、パケットの送信先(To)は、11.22.33.44:20000(IPアドレス:ポート番号)とされているため、STUNサーバ部203のグローバルアドレス問い合わせ応答部241がこれを受信する。
【0082】
ステップS162において、クライアント200のグローバルアドレス問い合わせ応答部241は、受信したパケットが、その内容からグローバルIPアドレスとポートの通知を要求するパケットであると判定した場合、ステップS161の処理により受信した問い合わせに対する応答のパケットを生成する。グローバルアドレス問い合わせ応答部241は、この応答パケットに、問い合わせパケットの送信元(From)のアドレスとして記述されていた、ルータ180のグローバルIPアドレス:ポート12.34.56.78:27000(IPアドレス:ポート番号)を、データ(パケットの内容)として記述するとともに、送信元(From)のアドレスとして、STUNサーバ部203のグローバルIPアドレス:ポート番号11.22.33.44:20000(IPアドレス:ポート番号)を記述し、送信先(To)のアドレスとして、問い合わせパケットの送信元として記述されていたアドレス12.34.56.78:20000(IPアドレス:ポート番号)を記述する。
【0083】
ステップS162の処理により送信された応答パケットは、ステップS132において、ルータ180により受信される(応答パケットの送信先(To)のアドレスは、ルータ180のアドレスとなっているため)。ルータ180のアドレス変換部181は、ステップS131の処理により生成されたマップ(ローカルIPアドレス:ポート192.168.0.2:10000に、グローバルIPアドレス:ポート12.34.56.78:27000が対応するという対応関係が記述されているマップ)を参照し、応答パケットの送信先(To)のアドレス(12.34.56.78:20000)を、クライアント120のローカルIPアドレス(192.168.0.2:10000)に変換する。ルータ180は、その後、この応答パケットを、クライアント120に転送する。
【0084】
ステップS132の処理により転送された応答パケットは、その送信先(To)のアドレスが、192.168.0.2:10000(IPアドレス:ポート番号)であり、送信元(From)のアドレスが11.22.33.44:20000(IPアドレス:ポート番号)であるため、ステップS102において、クライアント120のポート10000により受信される。この応答パケットには、データとしてルータ180のグローバルIPアドレス:ポートである12.34.56.78:27000(IPアドレス:ポート番号)が記述されている。従って、クライアント120のグローバルアドレス受信部142は、応答パケットのデータ部を読み取ることで、ルータ180の受信用のグローバルIPアドレス:ポートである12.34.56.78:27000(IPアドレス:ポート番号)を取得することができる。
【0085】
なお、例えば、仮に、ステップS163において、クライアント200のグローバルアドレス問い合わせ応答部221が、クライアント120(クライアント120のSTUNサーバ部123)に、グローバルIPアドレス:ポートの問い合わせをしたとする。この問い合わせのパケットには、送信元(From)のアドレス11.22.33.44:10000と、送信先(To)のアドレス12.34.56.78:20000が記述されている。
【0086】
送信先のアドレスのうちのポート20000は、このネットワークシステムにおいて、STUNサーバ部203の共通のポート番号として、予め決められているものである。しかしながら、クライアント120のSTUNサーバ部123は番号20000のポートを使用したとしても、クライアント120は、ルータの下に接続されており、ルータは、このポート番号を、ルータのポート番号として解釈する。ルータは、番号20000のポートに関するマップを有していないので、結局、ルータは、クライアント200からの問い合わせパケットの受信を拒絶することになる。
【0087】
最も、クライアント200は、ルータに接続されておらず、そのルータのグローバルIPアドレスを問い合わせる必要がないので、クライアント200は、実際には、このような処理を行わない。
【0088】
ステップS103において、クライアント120は、ステップS102の処理により取得したルータ180のグローバルIPアドレス:ポート(12.34.56.78:27000)(ルータ180は、ポート27000とポート37000を有しているが、受信するためのポートとしては、ポート27000を使用する)をクライアント200に送信する。また、同様に、ステップS164において、クライアント200は、自分自身が有するグローバルIPアドレス:ポート(11.22.33.44:10000)(クライアント200は、ポート10000とポート20000を有するが、受信する為のポートとしては、ポート10000を使用する)をクライアント120に送信する。すなわち、ステップS103とステップS164の処理により、クライアント120とクライアント200は、相手側から送信されてきた受信用の、グローバルIPアドレス:ポートを受信することになる。
【0089】
なお、このグローバルIPアドレス:ポートの交換は、その後の方法により行なうこともできる。クライアント120が、クライアント200に対して画像・音声のストリームを送信する場合、ステップS104において、クライアント120のRTP送信部124は、パケットの送信先(To)を、ステップS103の処理により取得したクライアント200のグローバルIPアドレス:ポート(図10の例の場合、11.22.33.44:10000)とし、そのパケットのデータ部に、画像・音声のストリームを配置して、パケットを送信する。このとき、パケットの送信元(From)のアドレスは、192.168.0.2:20000とされる。
【0090】
これに対して、ステップS134において、ルータ180のアドレス変換部181は、クライアント120から送信された画像・音声のストリームのパケットの送信元(From)とされているアドレス192.168.0.2:20000を、ルータ180のアドレス(送信に使用されるポート37000のアドレス)12.34.56.78:37000に変換し、クライアント200(送信先のアドレスに指定されている11.22.33.44:10000)に送信する。クライアント200のRTP受信部202は、ポート10000から、このパケットを受信し、所定の処理を実行する(例えば、受信したパケットのデータ部に格納されている画像・音声のストリームを、表示部やスピーカ(いずれも図示せず)に出力する)。
【0091】
クライアント200が、クライアント120に対して画像・音声のストリームを送信する場合、ステップS166において、クライアント200のRTP送信部204は、ステップS164の処理により取得したクライアント120のグローバルIPアドレス:ポート(実際には、ルータ180のグローバルIPアドレス:ポート)(図10の例の場合、12.34.56.78:27000)をパケットの送信先(To)アドレスとし、画像・音声のストリームをパケットのデータ部に格納して送信する。このとき、パケットの送信元(From)のアドレスは、11.22.33.44:20000とされる。
【0092】
これに対して、ステップS135において、ルータ180のアドレス変換部181は、クライアント200から送信された画像・音声のストリームのパケットの送信先(To)とされているアドレス12.34.56.78:27000を、クライアント120のアドレス(受信に使用されるポート10000(勿論、このアドレスは、ローカルIPアドレス:ポートである)に変換し、クライアント120(送信先のアドレスに指定されている192.168.0.2:10000)に転送する。クライアント120のRTP受信部122は、ポート10000から、このパケットを受信し、所定の処理を実行する(例えば、受信した画像・音声のストリームを、表示部やスピーカに出力する)。
【0093】
以上により、STUNサーバの役割(例えば、図6に示されるSTUNサーバ70)を、ストリーミング通信を行なう相手(図9の例の場合、クライアント200)が担うことにより(クライアント200にSTUNサーバ部203を設けることにより)、ネットワークシステム上に、STUNサーバを設ける必要がなくなり、もって、STUNサーバに制限されない通信を行なうことができる。
【0094】
また、ルータ180によりマップを生成するのに使用するSTUNサーバ部(図9の例の場合、STUNサーバ部203)と、画像・音声のストリームを送信する機器(図9の例の場合、クライアント200)が、同一のグローバルIPアドレス(図9の例の場合、11.22.33.44)を有するため、ルータ180として、Full Cone NATは勿論のこと、Restricted Cone NATの機能を備えたルータを使用することができる。
【0095】
さらに、STUNサーバ部203のポート番号(図9の例の場合、STUNサーバ部203のポート番号20000)と、ストリームを送信するポート番号(図9の例の場合、クライアント200のポート番号20000、すなわち、RTP送信部204により使用されるポートのポート番号)を同一にするようにしたので、ルータ180として、Port Restricted Cone NATを使用することもできる。
【0096】
ただし、ストリーミング通信をする少なくとも一方(図9の例の場合、クライアント200)は、インターネット60に、NATを介さずに直接接続されている必要がある。
【0097】
なお、ルータ180とインターネット60の間には、インターネットサービスプロバイダを設けるようにしてもよい。この場合、ルータ180のグローバルアドレスは、インターネットサービスプロバイダが、割り当てたものとなる。また、同様に、クライアント200とインターネット60の間に、インターネットサービスプロバイダを設けるようにしてもよい。この場合においても、クライアント200のグローバルアドレスは、インターネットサービスプロバイダにより割り当てられたグローバルアドレスが使用される。
【0098】
また、以上においては、ネットワークをインターネットとしたが、インターネット以外のネットワークが使用される場合にも、本発明は適用することができる。また、クライアントは、パーソナルコンピュータ以外に、PDA(Personal Digital Assistants)、携帯電話機、その他の情報処理装置とすることができる。また、ルータも、ルータ以外の通信を制御する通信制御装置とすることができる。
【0099】
さらに、以上においては、グローバルIPアドレス、ローカルIPアドレス、およびルータを使用するようにしたが、グローバルIPアドレスは、その装置に固有の情報であれば、他の情報でもよく、ローカルIPアドレスについても、その装置の限定された範囲において固有の情報であれば、他の情報でもよい。また、ポート番号についても、その装置内のサービスを識別するための識別情報であれば、他のものでもよい。さらに、サービスとは、例えば、所定のストリーム情報である。
【0100】
上述した一連の処理は、ハードウエアにより実行させることもできるが、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば、汎用のパーソナルコンピュータなどに、ネットワークやプログラム格納媒体からインストールされる。この場合、例えば、図9のクライアント120、ルータ180、またはクライアント200は、図11に示されるようなパーソナルコンピュータ300により構成される。
【0101】
図11において、CPU(Central Processing Unit)301は、ROM(Read Only Memory)302に記憶されているプログラム、または、記憶部308からRAM(Random Access Memory)303にロードされたプログラムに従って各種の処理を実行する。RAM303にはまた、CPU301が各種の処理を実行する上において必要なデータなどが適宜記憶される。
【0102】
CPU301、ROM302、およびRAM303は、内部バス304を介して相互に接続されている。この内部バス304にはまた、入出力インターフェース305も接続されている。
【0103】
入出力インターフェース305には、キーボード、マウスなどよりなる入力部306、CRT(cathode Ray Tube),LCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部307、ハードディスクなどより構成される記憶部308、モデム、ターミナルアダプタなどより構成される通信部309が接続されている。通信部309は、衛星回線やCATVを含む各種のネットワークを介しての通信処理を行なう。
【0104】
入出力インターフェース305にはまた、必要に応じてドライブ310が接続され、磁気ディスク321、光ディスク322、光磁気ディスク323、あるいは半導体メモリ324などが適宜装着され、それから読み出されたコンピュータプログラムが、必要に応じて記憶部308にインストールされる。
【0105】
一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用の専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば、汎用のパーソナルコンピュータなどに、ネットワークやプログラム格納媒体からインストールされる。
【0106】
このプログラム格納媒体は、図11に示されるように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク321(フロッピディスクを含む)、光ディスク322(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク323(MD(Mini Disc)を含む)、半導体メモリ324などによりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM302や記憶部308が含まれるハードディスクなどで構成される。
【0107】
なお、本明細書において、コンピュータプログラムを記述するステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0109】
【発明の効果】
本発明によれば、アドレスの変換機能を備えた通信制御装置を使用し、ネットワークを介して情報を授受することができる。特に、この発明によれば、ネットワークシステムの構成を複雑にすることなく、かつ、コスト高とすることなく、通信制御装置の種類によらない通信を行なうことができる。
【図面の簡単な説明】
【図1】従来のFull Cone NATの機能を備えたルータを介して接続されたネットワークの構成例を示す図である。
【図2】従来のRestricted Cone NATの機能を備えたルータを介して接続されたネットワークの構成例を示す図である。
【図3】従来のPort Restricted Cone NATの機能を備えたルータを介して接続されたネットワークの構成例を示す図である。
【図4】従来のSTUNを利用して接続されているネットワークの構成例を示すブロック図である。
【図5】図4のネットワークを説明する図である。
【図6】図4のネットワークにおけるストリーミング通信を説明する図である。
【図7】図6のネットワークにおける処理を説明するアローチャートである。
【図8】本発明を適用したネットワークシステムの構成例を示すブロック図である。
【図9】図8のネットワークシステムのアドレスを説明する図である。
【図10】図8のネットワークシステムにおける処理を説明するアローチャートである。
【図11】パーソナルコンピュータを示すブロック図である。
【符号の説明】
120 クライアント, 121 STUNクライアント部, 122 RTP受信部, 123 STUNサーバ部, 124 RTP送信部, 141 グローバルアドレス問い合わせ部, 142 グローバルアドレス受信部, 161 グローバルアドレス問い合わせ応答部, 180 ルータ, 181 アドレス変換部, 200 クライアント, 201 STUNクライアント部, 202 RTP受信部, 203 STUNサーバ部, 204 RTP送信部, 221 グローバルアドレス問い合わせ部, 222 グローバルアドレス受信部, 241 グローバルアドレス問い合わせ応答部
[0001]
BACKGROUND OF THE INVENTION
The present invention , Regarding information processing apparatus and method, and program, in particular, a router having a NAT function is used so that streaming communication can be performed via the Internet. The The present invention relates to an information processing apparatus and method, and a program.
[0002]
[Prior art]
When a plurality of computers are connected to the Internet, each computer is often connected to the Internet via a router. Some routers use NAT (Network Address Translation), which is a technique for sharing one global IP (Internet Protocol) address (a global IP address, which is unique information), among a plurality of computers.
[0003]
There are three main types of NAT: Full Cone NAT, Restricted Cone NAT, and Port Restricted Cone NAT.
[0004]
FIG. 1 shows a configuration example of a network to which a router having a Full Cone NAT function is connected.
[0005]
The client 1 is assigned aa.aa.aa.aa as a local address (local address that is unique information (within a limited range) in the local network), and is sent to the router 2 via the port bbb. Connected (hereinafter, such a state is described as aa.aa.aa.aa: bbb). The port number is identification information for identifying a service in the router 2. The client 1 communicates with other devices (servers 3 and 4 in this example) via the Internet (not shown) from the router 2. The router 2 has a Full Cone NAT function, tt.tt.tt.tt is assigned as a global address (unique information that is unique to the router 2), and the server 3 is connected via the port sss. And connected to the server 4 (tt.tt.tt.tt: sss). The server 3 is assigned xx.xx.xx.xx as a global address, and the port yyy and the port zzz are connected to the port tt.tt.tt.tt::sss of the router 2 (xx. xx.xx.xx: yyy, xx.xx.xx.xx: zzz). The server 4 is assigned pp.pp.pp.pp as a global address, and the port qqq is connected to the port tt.tt.tt.tt::sss of the router 2 (pp.pp .pp.pp: qqq).
[0006]
Since the router 2 has the Full Cone NAT function, the packet transmitted from the port aa.aa.aa.aa: bbb of the client 1 is designated from the port tt.tt.tt.tt:sss Port 1 (port xx.xx.xx.xx: yyy in the example shown in Fig. 1), and all packets sent to port tt.tt.tt.tt: sss aa.aa.aa.aa: Transfer to bbb. Therefore, it is a packet transmitted from either the server 3 port xx.xx.xx.xx: yyy or the port xx.xx.xx.xx: zzz or the server 4 port pp.pp.pp.pp: qqq. However, it is transferred to port aa.aa.aa.aa: bbb of client 1.
[0007]
FIG. 2 shows a configuration example of a network to which routers having the function of Restricted Cone NAT are connected.
[0008]
In the case of the example in FIG. 2, unlike the router 2 in FIG. 1 (a router having a Full Cone NAT function), the router 11 has a Restricted Cone NAT function, so that the client 1 is the same as the requested server. Only packets from a server having a global address (in the example of FIG. 2, server 3) are received and transferred to the client 1. Therefore, as shown by a dotted line in FIG. 2, communication from the server 4 to the client 1 is restricted.
[0009]
That is, the router 11 transmits a packet transmitted from the port aa.aa.aa.aa: bbb of the client 1 from the port tt.tt.tt.tt:sss of the router 11 (in the example of FIG. 2). The server 3 port xx.xx.xx.xx: yyy) and the server 3 port xx.xx.xx.xx: yyy having the specified global IP address xx.xx.xx.xx All packets transmitted from the port xx.xx.xx.xx: zzz to the port tt.tt.tt.tt:sss are transferred to the port aa.aa.aa.aa: bbb of the client 1. However, the router 11 does not have the specified global IP address xx.xx.xx.xx (from the port pp.pp.pp.pp: qqq of the server 4 having the global IP address pp.pp.pp.pp). Reject all packets sent to port tt.tt.tt.tt:sss.
[0010]
FIG. 3 shows a configuration example of a network to which a router having a function of Port Restricted Cone NAT is connected.
[0011]
Port Restricted Cone NAT has almost the same function as Restricted Cone NAT, but additionally restricts the port number.
[0012]
In other words, the router 12 having the function of Port Restricted Cone NAT transmits the packet transmitted from the port aa.aa.aa.aa: bbb of the client 1 from the port tt.tt.tt.tt:sss of the router 12. , To the specified port (in the example of FIG. 3, in the server 3 port xx.xx.xx.xx: yyy), and has the specified global IP address and port xx.xx.xx.xx: yyy Forward all packets sent from server 3 port xx.xx.xx.xx: yyy to port tt.tt.tt.tt:sss to client 1 port aa.aa.aa.aa: bbb To do. However, the router 12 does not have the designated global IP address and port xx.xx.xx.xx: yyy (has the global IP address pp.pp.pp.pp), and the port pp.pp.pp. Port xx.xx of server 3 with different port zzz even though the global IP address and xx.xx.xx.xx are the same as well as the packet sent from pp: qqq to port tt.tt.tt.tt:sss Reject the reception of packets sent from .xx.xx: zzz to port tt.tt.tt.tt:sss.
[0013]
In recent years, STUN (Simple Traversal of UDP through NAT) is known as a technology for performing UDP (User Datagram Protocol) communication connected to a router having a NAT function (see, for example, Non-Patent Documents 1 to 3). .
[0014]
FIG. 4 is a diagram illustrating a configuration example of a network connected using STUN.
[0015]
The client 30 is provided with a STUN client unit 31. The STUN client unit 31 is provided with a global address inquiry unit 41 and a global address reception unit 42.
[0016]
The router 13 connected to the client 30 is provided with an address conversion unit 51.
[0017]
The STUN server 70 connected to the router 13 via the Internet 60 is provided with a STUN server unit 71, and the STUN server unit 71 has a global address inquiry response unit 81.
[0018]
The purpose of the STUN protocol is that the client 30 under the router 13 as shown in FIG. 5 has a global IP and port outside the router 13 (in the case of FIG. 5, tt.tt.tt.tt:sss) To know. However, in general, the client 30 cannot obtain such information directly from the router 13.
[0019]
Therefore, the client 30 acquires the global IP and port (in the example of FIG. 5 tt.tt.tt.tt:sss) outside the router 13 (by the Internet 60 side) by the following procedure.
[0020]
First, a STUN server 70 having a known global IP and port (in the example of FIG. 5 xx.xx.xx.xx: yyy) is prepared on the Internet 60.
[0021]
Next, the client 30 transmits a UDP packet A to the STUN server 70 via the router 13 and the Internet 60. At this time, the start point (source address) is aa.aa.aa.aa: bbb (local IP address) and the end point (destination address) is xx.xx.xx.xx: yyy (global IP address) It is.
[0022]
The address conversion unit 51 of the router 13 converts the start point of the packet A into tt.tt.tt.tt:sss (global IP address), and the end point xx.xx.xx.xx: yyy via the Internet 60. To the STUN server 70. At this time, the address translation unit 51 of the router 13 transmits a packet transmitted from the global side to tt.tt.tt.tt:sss (global IP address), aa.aa.aa.aa: bbb (local An address translation map to be transferred to (IP address) is generated.
[0023]
When receiving the packet A via the Internet 60, the global address inquiry response unit 81 of the STUN server 70 generates a packet B that responds to the packet A. The global address inquiry response unit 81 includes the global IP address tt.tt.tt.tt:sss of the transmission source of the packet A in the packet B. The STUN server 70 returns the generated packet B to the router 13 via the Internet 60. The source address of this packet B is xx.xx.xx.xx: yyy, and the destination address is tt.tt.tt.tt:sss.
[0024]
The address conversion unit 51 of the router 13 refers to the address conversion map, converts the end point (transmission destination) of the received packet B into aa.aa.aa.aa: bbb, and transmits this to the client 30.
[0025]
The client 30 acquires the global address tt.tt.tt.tt and the port sss included in the data of the received packet B. Thereby, the client 30 can acquire that the global IP: port of the router 13 is tt.tt.tt.tt:sss.
[0026]
Therefore, it is conceivable that the STUN server 70 is used to generate an address translation map in the router 13 (after performing the above-described processing), and then perform UDP streaming communication using the map. This will be described with reference to FIG.
[0027]
As shown in FIG. 6, the client 30 is connected to the Internet 60 via the router 13, and the STUN server 70 and the client 90 are also connected to the Internet 60.
[0028]
The client 30 has a port 10000, the router 13 has a port 27000, and the client 90 has a port 10000. That is, in the example of FIG. 6, the client 30 and the client 90 have the same number of ports 10000. In addition, the client 30 located under the router 13 has a local IP address, and the client 90 directly connected to the Internet 60 without a router has a global IP address.
[0029]
Next, processing in the network configuration of FIG. 6 will be described with reference to the arrow chart of FIG. This process is started when streaming communication with the client 90 is instructed by the user of the client 30.
[0030]
In step S <b> 1, the client 30 inquires of the STUN server 70 about the global IP address: port of the router 13. At this time, when the client 30 transmits a predetermined packet to the STUN server 70, the router 13 converts the start point of the packet into the global IP address: port of the router 13 as described above, and from the global side to the local side. Generate a map to transfer.
[0031]
When the inquiry (step S1) from the client 30 is output, the STUN server 70 receives this inquiry in step S31. The STUN server 70 generates a packet for this inquiry. As described above, the global IP address: port of the transmission source (router 13) described in the received packet is included in this packet.
[0032]
In step S32, the STUN server 70 transmits the generated packet (the global IP address of the router 13: a packet including a port). This packet is transmitted to the router 13, and the router 13 refers to the generated map, converts the end point (destination) of the received packet into the local IP address: port of the client 30, and transfers it to the client 30.
[0033]
In step S <b> 2, the client 30 receives the packet transmitted by the process of step S <b> 32 (as described above, the global IP address of the router 13: a packet including a port). Thereby, the client 30 can acquire the global IP address: port of the router 13.
[0034]
In step S3 and step S51, the client 30 and the client 90 exchange their global IP address: port (notify the other party of the global IP address: port used for reception). For example, the client 30 generates a packet including the acquired global IP address: port information of the router 13 and transmits the packet to the client 90 via the router 13 and the Internet 60. The client 90 is owned by itself. By transmitting the existing global IP address: port to the client 30, it is possible to acquire each other's global IP address: port.
[0035]
Thereby, the client 30 and the client 90 can transmit information to each other's global IP address: port.
[0036]
In step S <b> 4, the client 30 transmits the image / audio stream to the global IP address: port of the client 90 via the router 13 and the Internet 60. At this time, the port of the client 90 is 10,000. Specifically, when the client 30 transmits an image / audio stream to the global IP address: port of the client 90, the router 13 sets the local IP address: port of the client 30 (transmission source) as the packet transmission source. , The global IP address of the router 13 is converted into a port and transmitted to the client 90.
[0037]
In step S52, the client 90 receives and reproduces the image / sound stream transmitted by the client 30 in the process of step S4.
[0038]
In step S 53, the client 90 transmits the image / audio stream to the global IP address: port of the router 13 via the Internet 60. The router 13 refers to the map, converts the packet destination global IP address: port (router 13 global IP address: port) into the local IP address: port of the client 30, and converts the video / audio stream to Transfer to client 30.
[0039]
In step S5, the client 30 receives and reproduces the image / sound stream transmitted by the client 90 in the process of step S53.
[0040]
As a result, the client 30 having the local IP address: port connected to the router 13 can also exchange image / sound streams with other clients 90.
[0041]
[Non-Patent Document 1]
"STUN-Simple Traversal of UDP Through Network Address Translators" by MIDCOM WG, J. Rosenberg, dynamicsoft, J. Weinberger, dynamicsoft, C. Huitema, Microsoft, R. Mahy, Cisco, [online], March 1, 2002 , IETF (The Internet Engineering Task Force), [searched on August 14, 2002], Internet, <URL: http://www.ietf.org/internet-drafts/draft-rosenberg-midcom-stun-01.txt>, document name (draft-rosenberg-midcom-stun-01.txt)
[Non-Patent Document 2]
"STUN-Simple Traversal of UDP Through Network Address Translators" by MIDCOM WG, J. Rosenberg, dynamicsoft, J. Weinberger, dynamicsoft, C. Huitema, Microsoft, R. Mahy, Cisco, [online], March 1, 2002 , IETF (The Internet Engineering Task Force), [searched on August 14, 2002], Internet, <URL: http://www.potaroo.net/ietf/ids/draft-rosenberg-midcom-stun-01.txt>, document name (draft-rosenberg-midcom-stun-01.txt)
[Non-Patent Document 3]
"STUN-Simple Traversal of UDP Through Network Address Translators" by MIDCOM WG, J. Rosenberg, dynamicsoft, J. Weinberger, dynamicsoft, C. Huitema, Microsoft, R. Mahy, Cisco, [online], March 1, 2002 , IETF (The Internet Engineering Task Force), [searched on August 14, 2002], Internet, <URL: http://www.watersprings.org/pub/id/draft-rosenberg-midcom-stun-01.txt>, document name (draft-rosenberg-midcom-stun-01.txt)
[0042]
[Problems to be solved by the invention]
However, in the system of FIG. 6, in addition to the two parties that perform streaming communication such as images and sounds (in the example of FIG. 6, the client 30 and the client 90), a router connected to a device that does not have a global address is connected. There is a problem that the STUN server 70 is required to acquire a global address.
[0043]
Further, the router 13 is required to have a Full Cone NAT function as shown in FIG. 1 and uses a router having a Restricted Cone NAT function or a Restricted Cone NAT function that restricts access from outside the router. There was a problem that it was not possible.
[0044]
The present invention has been made in view of such a situation, and makes it possible to easily perform streaming communication via the Internet using a router having a NAT function.
[0049]
[Means for Solving the Problems]
The present invention of The information processing apparatus transmits first unique information that is transmitted from another information processing apparatus and is information for identifying the other information processing apparatus in the communication control apparatus, and a service for identifying the service in the communication control apparatus. In response to the request for notification of the first identification information and the first identification information received by the request reception means, the request receiving means for receiving the request for notification of the first identification information, the first of the communication control device A response output means for outputting a response including the notification of the unique information and the first identification information, and an information transmission means for transmitting information to another information processing apparatus. The second identification information for identifying the service to be output is the same as the third identification information for identifying the service to which the response output unit of the information processing apparatus outputs a response.
[0050]
The request for notification of the first unique information and the first identification information received by the request receiving means includes the first unique information and the first identification information of the communication control device as information representing the transmission source. The information indicating the transmission destination includes second unique information that is unique to the information processing device and third identification information for identifying the service in the information processing device, and is output by the response output means. The response including the notification of the first unique information and the first identification information of the communication control device includes the second unique information and the third identification information as information representing the transmission source. The information indicating the communication control device includes the first unique information and the first identification information, and the information transmitted by the information transmitting means includes the second unique information and the second information as information representing the transmission source. Is included as information indicating the destination. It may be to include the first unique information and the first identification information of the communication control apparatus.
[0051]
The first unique information is a global IP address, the second unique information is a global IP address, and the first identification information is a port number of a port on which a communication control device performs a communication service, The second identification information is a port number of a port that performs a service for transmitting information by the information processing apparatus, and the third identification information is a port number of a port that performs a service for outputting a response by the information processing apparatus. Can be.
[0052]
The information processing method of the present invention is a communication control device transmitted from another information processing device. To identify other information processing devices The first unique information that is the information of the communication information, the request reception step for receiving the request for notification of the first identification information for identifying the service in the communication control device, and the first received by the processing of the request reception step A response output step for outputting a response including the notification of the first unique information and the first identification information of the communication control device in response to the request for the notification of the unique information and the first identification information, and other information processing An information transmission step of transmitting information to the device, wherein the information transmission step processing includes second identification information for identifying a service that outputs information of the information processing device, and processing of a response output step of the information processing device. This is the same as the third identification information for identifying the service that outputs the response.
[0053]
The program of the present invention is a program that can be executed by a computer that controls another information processing apparatus connected to a network via a communication control apparatus and an information processing apparatus that exchanges information via the network. Sent from the information processing device to the communication control device To identify other information processing devices The first unique information that is the information of the communication information, the request reception step for receiving the request for notification of the first identification information for identifying the service in the communication control device, and the first received by the processing of the request reception step A response output step for outputting a response including the notification of the first unique information and the first identification information of the communication control device in response to the request for the notification of the unique information and the first identification information, and other information processing An information transmission step of transmitting information to the device, wherein the information transmission step processing includes second identification information for identifying a service that outputs information of the information processing device, and processing of a response output step of the information processing device. This is the same as the third identification information for identifying the service that outputs the response.
[0062]
The present invention In, the notification of the first identification information for identifying the first unique information which is information for identifying the other information processing device in the communication control device and the service in the communication control device from the other information processing device In response to this request, a response including a notification of the first unique information of the communication control device and the first identification information is output. When information is transmitted to another information processing apparatus, the second identification information for identifying the service for outputting the information is the same as the third identification information for identifying the service for outputting the response.
[0066]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 8 shows a configuration example of a network system to which the present invention is applied.
[0067]
The client 120 is connected to the Internet 60 via a router 180 having a NAT function. The client 200 is directly connected to the Internet 60 without going through a router (router having a NAT function). These clients 120 and 200 and the router 180 are configured by, for example, a personal computer (for example, a personal computer 300 in FIG. 11 described later).
[0068]
The client 120 is connected to the lower side of the router 180 (the local network side on the left side in FIG. 8) together with other clients (not shown), and the local IP address: port (the local IP address is the lower side of the router 180 (FIG. 8). In the left side network (within the local network), unique information that is unique to the client 120 and a port number is identification information for identifying a service within the client 120). More precisely, the local IP address is assigned to each client by the router 180, but the port is set by each client. Further, the client 120 is provided with a STUN client unit 121, an RTP receiving unit 122, an STUN server unit 123, and an RTP transmitting unit 124. The STUN client unit 121 includes a global address inquiry unit 141 and a global address reception unit 142, which inquire about the global address and receive the global address. The STUN server unit 123 is provided with a global address inquiry response unit 161 that makes a response to a global address inquiry.
[0069]
The router 180 is provided with an address conversion unit 181. The address conversion unit 181 converts a global address into a local address, converts a local address into a global address, and performs routing processing based on the conversion map. Execute.
[0070]
The client 200 is directly connected to the Internet 60 without using a router, and has a global IP address: port (global IP address is unique information that is unique to the client 200 in the Internet 60 as a global network, The port number is assigned identification information for identifying a service in the client 200). Also in this case, more precisely, the global IP address is assigned, but the port is set by itself.
[0071]
Further, the client 200 is provided with a STUN client unit 201, an RTP receiving unit 202, an STUN server unit 203, and an RTP transmitting unit 204. The STUN client unit 201 is provided with a global address inquiry unit 221 and a global address reception unit 222, and the STUN server unit 123 is provided with a global address inquiry response unit 241. As described above, the configuration of the client 200 is the same as the configuration of the client 120, and thus the description thereof is omitted.
[0072]
Now, it is assumed that the client 120, the router 180, and the client 200 each have an IP address: port as shown in FIG.
[0073]
That is, the local address of the client 120 is 192.168.0.2, and has a port 10000 and a port 20000. The STUN server unit 123 uses the port 20000 to exchange information. Further, the client 120 receives information from the port 10000 and transmits information from the port 20000.
[0074]
The local address of the router 180 is 192.168.0.1, and the global address is 12.34.56.78. The router 180 has a port 27000 and a port 37000 on the global side (the Internet 60 side).
[0075]
The global address of the client 200 is 11.22.33.44, and has a port 10000 and a port 20000. Also, the STUN server unit 203 uses the port 20000 to exchange information. The client 200 further receives information at the port 10000 and transmits information from the port 20000.
[0076]
That is, the ports of the client 120 and the client 200 are the same numbered ports (in the example of FIG. 9, the port 10000 and the port 20000).
[0077]
A communication process in the client 120 and the client 200 in FIG. 9 will be described with reference to the arrow chart in FIG. This process is started when communication with the client 200 is instructed by the user of the client 120 (for example, an image / audio stream is transmitted from the client 200 or received and played back). Started when commanded to).
[0078]
In step S101, the global address inquiry unit 141 of the client 120 makes a global IP address: port inquiry (the global IP address of the router 180: a port inquiry) to the STUN server unit 203 of the client 200 (request for notification). To do). At this time, in the request packet transmitted by the client 120, the source (From) address is 192.168.0.2:10000 (IP address: port number), and the destination (To) address is 11.22.33.44. : 20000 (IP address: port number).
[0079]
The packet (inquiry packet (notification request packet)) output from the global address inquiry unit 141 of the client 120 by the process of step S101 is received by the router 180 in step S131. The address conversion unit 181 of the router 180 transmits the source address (From) of the packet 192.168.0.2:10000 (IP address: port number) and the destination address (To) 11.22.33.44: 20000 (IP address: port). Number), the address 192.168.0.2:10000 (IP address: port number) of the transmission source (From) is converted into a global IP address: port of the router 180 itself, and a map that associates the two addresses is generated. Thereafter, the address conversion unit 181 transmits this packet to the transmission destination via the Internet 60.
[0080]
Specifically, the address conversion unit 181 of the router 180 changes the source (From) address 192.168.0.2:10000 (local IP address: port number) to 12.34.56.78: 27000 (global IP address: port number). Convert. At this time, as described above, the address conversion unit 181 generates a map. The map includes information that the local IP address: port 192.168.0.2:10000 corresponds to the global IP address: port 12.34.56.78:27000. Thereafter, the router 180 transmits the packet to the client 200 (the transmission destination (To) 11.22.33.44: 20000 (IP address: port number)) via the Internet 60. At this time, the source (From) address of the transmitted packet is 12.34.56.78:27000 (IP address: port number), and the destination (To) address is 11.22.33.44: 20000 (IP address: port number) ).
[0081]
The packet (inquiry packet) transmitted by the process of step S131 is received by the global address inquiry response unit 241 of the client 200 in step S161. Specifically, since the transmission destination (To) of the packet is 11.22.33.44: 20000 (IP address: port number), the global address inquiry response unit 241 of the STUN server unit 203 receives this.
[0082]
In step S162, if the global address inquiry response unit 241 of the client 200 determines that the received packet is a packet requesting notification of the global IP address and port from the content, the response to the inquiry received by the process of step S161. Generate a response packet. The global address inquiry response unit 241 includes the global IP address: port 12.34.56.78: 27000 (IP address: port number) of the router 180 described in the response packet as the transmission source (From) address of the inquiry packet. , The global IP address of the STUN server unit 203: port number 11.22.33.44: 20000 (IP address: port number) is described as the transmission source (From) address, and the transmission destination The address 12.34.56.78: 20000 (IP address: port number) described as the source of the inquiry packet is described as the (To) address.
[0083]
The response packet transmitted by the process of step S162 is received by the router 180 in step S132 (since the address of the transmission destination (To) of the response packet is the address of the router 180). The address conversion unit 181 of the router 180 describes a correspondence relationship in which the global IP address: port 12.34.56.78: 27000 corresponds to the map (local IP address: port 192.168.0.2:10000) generated by the processing of step S131. The destination address (12.34.56.78: 20000) of the response packet is converted to the local IP address (192.168.0.2: 10000) of the client 120. The router 180 then forwards this response packet to the client 120.
[0084]
In the response packet transferred by the processing in step S132, the destination (To) address is 192.168.0.2:10000 (IP address: port number), and the source (From) address is 11.22.33.44: 20000. Since it is (IP address: port number), it is received by the port 10000 of the client 120 in step S102. In this response packet, the global IP address: port 12.34.56.78:27000 (IP address: port number) of the router 180 is described as data. Therefore, the global address receiving unit 142 of the client 120 acquires 12.34.56.78:27000 (IP address: port number) that is the global IP address: port for reception of the router 180 by reading the data part of the response packet. be able to.
[0085]
For example, suppose that the global address inquiry response unit 221 of the client 200 makes an inquiry about the global IP address: port to the client 120 (STUN server unit 123 of the client 120) in step S163. In this inquiry packet, a source (From) address 11.22.33.44:10000 and a destination (To) address 12.34.56.78: 20000 are described.
[0086]
The port 20000 of the destination address is determined in advance as a common port number for the STUN server unit 203 in this network system. However, even if the STUN server unit 123 of the client 120 uses the port number 20000, the client 120 is connected under the router, and the router interprets this port number as the port number of the router. Since the router does not have a map relating to the port having the number 20000, the router eventually refuses to receive the inquiry packet from the client 200.
[0087]
However, since the client 200 is not connected to the router and does not need to query the global IP address of the router, the client 200 does not actually perform such processing.
[0088]
In step S103, the client 120 receives the global IP address: port (12.34.56.78:27000) of the router 180 acquired by the processing in step S102 (the router 180 has a port 27000 and a port 37000, but receives it). Port 27000) is transmitted to the client 200. Similarly, in step S164, the client 200 has its own global IP address: port (11.22.33.44:10000). (The client 200 has a port 10000 and a port 20000. , Use port 10000) to the client 120. That is, by the processing of step S103 and step S164, the client 120 and the client 200 receive the global IP address: port for reception transmitted from the partner side.
[0089]
This global IP address: port exchange can also be performed by a subsequent method. When the client 120 transmits an image / audio stream to the client 200, in step S104, the RTP transmission unit 124 of the client 120 acquires the packet transmission destination (To) by the processing in step S103. Global IP address: port (11.22.33.44:10000 in the example of FIG. 10), and an image / audio stream is arranged in the data portion of the packet, and the packet is transmitted. At this time, the address of the packet transmission source (From) is set to 192.168.0.2:20000.
[0090]
On the other hand, in step S134, the address conversion unit 181 of the router 180 sets the address 192.168.0.2:20000, which is the transmission source (From) of the packet of the image / sound stream transmitted from the client 120, to the router 180 address (address of port 37000 used for transmission) is converted to 12.34.56.78:37000, and is transmitted to client 200 (11.22.33.44:10000 specified in the destination address). The RTP receiving unit 202 of the client 200 receives this packet from the port 10000 and executes a predetermined process (for example, an image / audio stream stored in the data part of the received packet is displayed on a display unit or a speaker. (Both are not shown)).
[0091]
When the client 200 transmits an image / audio stream to the client 120, in step S166, the RTP transmission unit 204 of the client 200 acquires the global IP address: port (actually, the client 120 acquired by the process of step S164). The router 180 global IP address: port (in the example of FIG. 10, 12.34.56.78:27000) is the packet destination (To) address, and the image / audio stream is stored in the packet data portion. Send. At this time, the address of the packet transmission source (From) is set to 11.22.33.44: 20000.
[0092]
On the other hand, in step S135, the address conversion unit 181 of the router 180 uses the address 12.34.56.78:27000, which is the transmission destination (To) of the packet of the image / sound stream transmitted from the client 200, as the client. 120 address (translated to port 10000 used for reception (of course, this address is a local IP address: port) and forwarded to client 120 (192.168.0.2:10000 specified for the destination address) The RTP receiver 122 of the client 120 receives this packet from the port 10000 and executes predetermined processing (for example, outputs the received image / audio stream to the display unit or the speaker).
[0093]
As described above, the role of the STUN server (for example, the STUN server 70 shown in FIG. 6) is played by the partner (client 200 in the example of FIG. 9) that performs the streaming communication (the STUN server unit 203 is provided in the client 200). Therefore, it is not necessary to provide a STUN server on the network system, and communication that is not limited to the STUN server can be performed.
[0094]
Further, the STUN server unit (STUN server unit 203 in the case of FIG. 9) used for generating a map by the router 180 and the device (in the case of FIG. 9, client 200 in the case of FIG. 9) that transmits an image / audio stream. ) Have the same global IP address (11.22.33.44 in the case of FIG. 9), it is possible to use a router having the function of Restricted Cone NAT as well as Full Cone NAT as the router 180. it can.
[0095]
Furthermore, the port number of the STUN server unit 203 (in the case of FIG. 9, the port number 20000 of the STUN server unit 203) and the port number for transmitting the stream (in the case of FIG. 9, the port number 20000 of the client 200, that is, Since the port number of the port used by the RTP transmission unit 204 is made the same, Port Restricted Cone NAT can also be used as the router 180.
[0096]
However, at least one of the streaming communications (client 200 in the case of FIG. 9) needs to be directly connected to the Internet 60 without going through NAT.
[0097]
An Internet service provider may be provided between the router 180 and the Internet 60. In this case, the global address of the router 180 is assigned by the Internet service provider. Similarly, an Internet service provider may be provided between the client 200 and the Internet 60. Even in this case, the global address assigned by the Internet service provider is used as the global address of the client 200.
[0098]
In the above description, the network is the Internet. However, the present invention can also be applied when a network other than the Internet is used. In addition to the personal computer, the client can be a PDA (Personal Digital Assistants), a mobile phone, or other information processing apparatus. The router can also be a communication control device that controls communications other than the router.
[0099]
Furthermore, in the above, the global IP address, the local IP address, and the router are used. However, the global IP address may be other information as long as it is information unique to the device, and the local IP address may also be used. Other information may be used as long as the information is unique within the limited range of the device. Further, the port number may be other information as long as it is identification information for identifying the service in the apparatus. Furthermore, the service is, for example, predetermined stream information.
[0100]
The series of processes described above can be executed by hardware, but can also be executed by software. When a series of processing is executed by software, a program constituting the software executes various functions by installing a computer incorporated in dedicated hardware or various programs. For example, it is installed in a general-purpose personal computer from a network or a program storage medium. In this case, for example, the client 120, the router 180, or the client 200 in FIG. 9 is configured by a personal computer 300 as shown in FIG.
[0101]
In FIG. 11, a CPU (Central Processing Unit) 301 performs various processes according to a program stored in a ROM (Read Only Memory) 302 or a program loaded from a storage unit 308 to a RAM (Random Access Memory) 303. Execute. The RAM 303 also appropriately stores data necessary for the CPU 301 to execute various processes.
[0102]
The CPU 301, ROM 302, and RAM 303 are connected to each other via an internal bus 304. An input / output interface 305 is also connected to the internal bus 304.
[0103]
The input / output interface 305 includes an input unit 306 including a keyboard and a mouse, a display including a CRT (cathode ray tube) and an LCD (Liquid Crystal Display), an output unit 307 including a speaker, a hard disk, and the like. A communication unit 309 including a storage unit 308, a modem, a terminal adapter, and the like is connected. The communication unit 309 performs communication processing via various networks including a satellite line and CATV.
[0104]
A drive 310 is connected to the input / output interface 305 as necessary, and a magnetic disk 321, an optical disk 322, a magneto-optical disk 323, a semiconductor memory 324, or the like is appropriately mounted, and a computer program read from the disk is required. Is installed in the storage unit 308 accordingly.
[0105]
When a series of processing is executed by software, various functions can be realized by installing a program that constitutes the software in a dedicated dedicated hardware computer or by installing various programs. For example, a general-purpose personal computer that can be executed is installed from a network or a program storage medium.
[0106]
As shown in FIG. 11, the program storage medium includes a magnetic disk 321 (including a floppy disk) on which a program is recorded and an optical disk 322 (distributed to provide a program to a user separately from a computer) It is simply composed of a package medium consisting of CD-ROM (compact disc-read only memory), DVD (including digital versatile disc), magneto-optical disc 323 (including MD (mini disc)), semiconductor memory 324, etc. Rather, it is provided with a ROM 302 in which a program is recorded and a hard disk including a storage unit 308 provided to the user in a state of being preinstalled in the apparatus main body.
[0107]
In the present specification, the step of describing a computer program includes not only processing performed in time series according to the described order but also processing executed in parallel or individually even if not necessarily processed in time series. Is also included.
[0109]
【The invention's effect】
The present invention According to the above, information can be exchanged via a network using a communication control device having an address conversion function. In particular, according to the present invention, communication independent of the type of communication control device can be performed without complicating the configuration of the network system and without increasing the cost.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating a configuration example of a network connected through a router having a function of a conventional full cone NAT.
FIG. 2 is a diagram illustrating a configuration example of a network connected through a router having a function of a conventional Restricted Cone NAT.
FIG. 3 is a diagram illustrating a configuration example of a network connected via a router having a function of a conventional Port Restricted Cone NAT.
FIG. 4 is a block diagram illustrating a configuration example of a network connected using conventional STUN.
FIG. 5 is a diagram for explaining the network of FIG. 4;
6 is a diagram illustrating streaming communication in the network of FIG. 4. FIG.
7 is an arrow chart for explaining processing in the network of FIG. 6;
FIG. 8 is a block diagram showing a configuration example of a network system to which the present invention is applied.
FIG. 9 is a diagram for explaining addresses of the network system of FIG. 8;
10 is an arrow chart for explaining processing in the network system of FIG. 8;
FIG. 11 is a block diagram illustrating a personal computer.
[Explanation of symbols]
120 clients, 121 STUN client sections, 122 RTP receiver sections, 123 STUN server sections, 124 RTP transmission sections, 141 global address inquiry sections, 142 global address reception sections, 161 global address inquiry response sections, 180 routers, 181 address conversion sections, 200 client, 201 STUN client part, 202 RTP receiver part, 203 STUN server part, 204 RTP transmitter part, 221 global address inquiry part, 222 global address receiver part, 241 global address inquiry response part

Claims (5)

通信制御装置を介してネットワークに接続されている他の情報処理装置と、前記ネットワークを介して情報を授受する情報処理装置において、
前記他の情報処理装置から送信された、前記通信制御装置において前記他の情報処理装置を識別するための情報である第1の固有情報と、前記通信制御装置内のサービスを識別するための第1の識別情報の通知の要求を受信する要求受信手段と、
前記要求受信手段により受信された前記第1の固有情報と前記第1の識別情報の通知の要求に対応して、前記通信制御装置の前記第1の固有情報と前記第1の識別情報の通知を含む応答を出力する応答出力手段と、
前記他の情報処理装置に前記情報を送信する情報送信手段とを備え、
前記情報送信手段は、前記情報処理装置の前記情報を出力するサービスを識別するための第2の識別情報を、前記情報処理装置の前記応答出力手段が前記応答を出力するサービスを識別するための第3の識別情報と同じとする
ことを特徴とする情報処理装置。
In another information processing apparatus connected to a network via a communication control apparatus and an information processing apparatus that exchanges information via the network,
First unique information, which is transmitted from the other information processing apparatus and is information for identifying the other information processing apparatus in the communication control apparatus, and a first information for identifying a service in the communication control apparatus. Request receiving means for receiving a request for notification of one identification information;
In response to the request for notification of the first unique information and the first identification information received by the request receiving means, notification of the first unique information and the first identification information of the communication control device Response output means for outputting a response including:
An information transmission means for transmitting the information to the other information processing apparatus;
The information transmission unit is configured to identify second identification information for identifying the service that outputs the information of the information processing apparatus, and to identify the service that the response output unit of the information processing apparatus outputs the response. An information processing apparatus characterized by being the same as the third identification information.
前記要求受信手段により受信された、前記第1の固有情報と前記第1の識別情報の通知の要求には、送信元を表わす情報として、前記通信制御装置の前記第1の固有情報と前記第1の識別情報が含まれ、送信先を表わす情報として、前記情報処理装置に固有の情報である第2の固有情報と前記情報処理装置内のサービスを識別するための前記第3の識別情報が含まれ、
前記応答出力手段により出力される、前記通信制御装置の前記第1の固有情報と前記第1の識別情報の通知を含む応答には、送信元を表わす情報として、前記第2の固有情報と前記第3の識別情報が含まれ、送信先を表わす情報として、前記通信制御装置の前記第1の固有情報と前記第1の識別情報が含まれ、
前記情報送信手段により送信される前記情報には、送信元を表わす情報として、前記第2の固有情報と前記第2の識別情報が含まれ、送信先を表わす情報として、前記通信制御装置の前記第1の固有情報と前記第1の識別情報が含まれる
ことを特徴とする請求項に記載の情報処理装置。
In the request for notification of the first unique information and the first identification information received by the request receiving means, the first unique information and the first unique information of the communication control device are used as information representing a transmission source. 1 identification information is included, and the second identification information that is unique to the information processing apparatus and the third identification information for identifying the service in the information processing apparatus are included as information indicating the transmission destination. Included,
In the response including the notification of the first unique information and the first identification information of the communication control device, which is output by the response output means, the second unique information and the Third identification information is included, and the information representing the transmission destination includes the first unique information and the first identification information of the communication control device,
The information transmitted by the information transmitting means includes the second unique information and the second identification information as information representing a transmission source, and the information of the communication control device as information representing a transmission destination. The information processing apparatus according to claim 1 , comprising first unique information and the first identification information.
前記第1の固有情報は、グローバルIPアドレスであり、
前記第2の固有情報は、グローバルIPアドレスであり、
前記第1の識別情報は、前記通信制御装置が通信のサービスを行なうポートのポート番号であり、
前記第2の識別情報は、前記情報処理装置が前記情報を送信するサービスを行なうポートのポート番号であり、
前記第3の識別情報は、前記情報処理装置が、前記応答を出力するサービスを行なうポートのポート番号である
ことを特徴とする請求項に記載の情報処理装置。
The first unique information is a global IP address;
The second unique information is a global IP address,
The first identification information is a port number of a port on which the communication control device performs communication service,
The second identification information is a port number of a port that performs a service in which the information processing apparatus transmits the information;
The information processing apparatus according to claim 2 , wherein the third identification information is a port number of a port that provides a service for the information processing apparatus to output the response.
通信制御装置を介してネットワークに接続されている他の情報処理装置と、前記ネットワークを介して情報を授受する情報処理装置の情報処理方法において、
前記他の情報処理装置から送信された、前記通信制御装置おいて前記他の情報処理装置を識別するための情報である第1の固有情報と、前記通信制御装置内のサービスを識別するための第1の識別情報の通知の要求を受信する要求受信ステップと、
前記要求受信ステップの処理により受信された前記第1の固有情報と前記第1の識別情報の通知の要求に対応して、前記通信制御装置の前記第1の固有情報と前記第1の識別情報の通知を含む応答を出力する応答出力ステップと、
前記他の情報処理装置に前記情報を送信する情報送信ステップとを含み、
前記情報送信ステップの処理は、前記情報処理装置の前記情報を出力するサービスを識別するための第2の識別情報を、前記情報処理装置の前記応答出力ステップの処理により前記応答を出力するサービスを識別するための第3の識別情報と同じとする
ことを特徴とする情報処理方法。
In an information processing method of an information processing apparatus that exchanges information with another information processing apparatus connected to a network via a communication control apparatus, via the network,
First unique information transmitted from the other information processing apparatus, which is information for identifying the other information processing apparatus in the communication control apparatus, and a service for identifying the service in the communication control apparatus A request receiving step of receiving a request for notification of the first identification information;
In response to the notification request for the first unique information and the first identification information received by the processing of the request reception step, the first unique information and the first identification information of the communication control device A response output step for outputting a response including the notification of
An information transmission step of transmitting the information to the other information processing apparatus,
The processing of the information transmission step includes second identification information for identifying the service of the information processing device that outputs the information, and the service of outputting the response by the processing of the response output step of the information processing device. An information processing method characterized by being the same as the third identification information for identification.
通信制御装置を介してネットワークに接続されている他の情報処理装置と、前記ネットワークを介して情報を授受する情報処理装置を制御するコンピュータが実行可能なプログラムであって、
前記他の情報処理装置から送信された、前記通信制御装置において前記他の情報処理装置を識別するための情報である第1の固有情報と、前記通信制御装置内のサービスを識別するための第1の識別情報の通知の要求を受信する要求受信ステップと、
前記要求受信ステップの処理により受信された前記第1の固有情報と前記第1の識別情報の通知の要求に対応して、前記通信制御装置の前記第1の固有情報と前記第1の識別情報の通知を含む応答を出力する応答出力ステップと、
前記他の情報処理装置に前記情報を送信する情報送信ステップとを含み、
前記情報送信ステップの処理は、前記情報処理装置の前記情報を出力するサービスを識別するための第2の識別情報を、前記情報処理装置の前記応答出力ステップの処理により前記応答を出力するサービスを識別するための第3の識別情報と同じとする
ことを特徴とするプログラム。
A program executable by a computer that controls another information processing apparatus connected to a network via a communication control apparatus and an information processing apparatus that exchanges information via the network,
First unique information, which is transmitted from the other information processing apparatus and is information for identifying the other information processing apparatus in the communication control apparatus, and a first information for identifying a service in the communication control apparatus. A request receiving step for receiving a request for notification of one identification information;
In response to the notification request for the first unique information and the first identification information received by the processing of the request reception step, the first unique information and the first identification information of the communication control device A response output step for outputting a response including the notification of
An information transmission step of transmitting the information to the other information processing apparatus,
The processing of the information transmission step includes second identification information for identifying the service of the information processing device that outputs the information, and the service of outputting the response by the processing of the response output step of the information processing device. A program characterized by being the same as the third identification information for identification.
JP2002262002A 2002-09-06 2002-09-06 Information processing apparatus and method, and program Expired - Fee Related JP4078594B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002262002A JP4078594B2 (en) 2002-09-06 2002-09-06 Information processing apparatus and method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002262002A JP4078594B2 (en) 2002-09-06 2002-09-06 Information processing apparatus and method, and program

Publications (3)

Publication Number Publication Date
JP2004104357A JP2004104357A (en) 2004-04-02
JP2004104357A5 JP2004104357A5 (en) 2005-10-27
JP4078594B2 true JP4078594B2 (en) 2008-04-23

Family

ID=32262200

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002262002A Expired - Fee Related JP4078594B2 (en) 2002-09-06 2002-09-06 Information processing apparatus and method, and program

Country Status (1)

Country Link
JP (1) JP4078594B2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4269226B2 (en) 2003-11-14 2009-05-27 ソニー株式会社 Information communication system and method, information processing apparatus and method, program, and recording medium
WO2006049251A1 (en) * 2004-11-08 2006-05-11 Matsushita Electric Industrial Co., Ltd. Communication terminal, and communication method
JP4665568B2 (en) * 2005-03-16 2011-04-06 パナソニック株式会社 Information processing apparatus, port detection apparatus, information processing method, and port detection method
JP4557803B2 (en) * 2005-05-27 2010-10-06 富士通株式会社 Network system and communication method
JP4722623B2 (en) * 2005-08-24 2011-07-13 パナソニック株式会社 IP communication apparatus and control method thereof
JP2008226039A (en) * 2007-03-14 2008-09-25 Nippon Telegr & Teleph Corp <Ntt> INTERNET STORAGE NAME SERVICE (iSNS) METHOD, SERVER AND PROGRAM
JP2010283594A (en) * 2009-06-04 2010-12-16 Panasonic Corp Communication device, and method of determining communication possibility
JP5241890B2 (en) * 2011-07-12 2013-07-17 キヤノン株式会社 Receiving apparatus, method, and program

Also Published As

Publication number Publication date
JP2004104357A (en) 2004-04-02

Similar Documents

Publication Publication Date Title
US7245622B2 (en) Allowing IPv4 clients to communicate over an IPv6 network when behind a network address translator with reduced server workload
US7627689B2 (en) Information processing system, apparatus, method and computer program product having network-specific address features and global address features
US8194681B2 (en) Bridging between AD HOC local networks and internet-based peer-to-peer networks
US7272650B2 (en) Communication protocols operable through network address translation (NAT) type devices
US9722806B2 (en) Service discovery across different networks
US20150120918A1 (en) Traversal of symmetric network address translator for multiple simultaneous connections
US8650312B2 (en) Connection establishing management methods for use in a network system and network systems using the same
JP2008205988A (en) Data communication system and session management server
US20120036180A1 (en) Service virtualization over content-centric networks
US20070027997A1 (en) Technique for translating location information
US20070189486A1 (en) Communication apparatus, system, method and computer readable medium
JP4784667B2 (en) Terminal device and computer program
US20100040057A1 (en) Communication method
US20130117460A1 (en) Data management methods for use in a network system and network systems using the same
KR100607993B1 (en) System and method for communication between heterogeneous networks
JP5091887B2 (en) Terminal device, communication processing method, and program
JP4078594B2 (en) Information processing apparatus and method, and program
WO2014030580A1 (en) Synchronization transmission server
US8051157B2 (en) Discovery apparatus and method
US20050111486A1 (en) Device and method for controlling network devices located within private networks
JP2022052742A (en) Method and system for enhancing communication between ipv6 dedicated sip client and ipv4 dedicated server or client
JP2008236278A (en) Communication connection method and communication apparatus
JP4019848B2 (en) Address translation device
JP5908411B2 (en) Facilitates rapid establishment of human / machine communication links with private SIP-based IP networks by using pre-distributed static network address translation maps
WO2022201980A1 (en) Communication method, router, server, communication system, and communication program

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050906

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050906

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070928

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071012

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: 20080110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080123

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

Free format text: PAYMENT UNTIL: 20110215

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110215

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120215

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130215

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees