説明

データ通信装置

【課題】複数の通信プロトコルでIPパケットの通信を行なうデータ通信装置であって、構成上および処理上の無駄の発生を削減することができるデータ通信装置を提供すること。
【解決手段】本発明のデータ通信装置は、先頭パケットが有する宛先情報を制御情報記憶部307に記憶させる先頭パケット判定部302と、宛先情報に基づき先頭パケットの出力先を判定する引渡し先判定部305と、宛先情報が制御情報記憶部307に記憶されている場合は後続パケットを引渡し先判定部305へ渡し、宛先情報が制御情報記憶部307に記憶されていない場合は後続パケットをバッファ309に記憶させる後続パケット判定部303とを備え、引渡し先判定部305は、宛先情報記憶手段に記憶されている宛先情報に基づき、後続パケットの出力先を判定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、所定の通信プロトコルに従い、ネットワークを介して他の機器とのデータ通信を行うためのデータ通信装置に関する。
【背景技術】
【0002】
近年、Digital Living Network Alliance(DLNA)に従ったホームネットワークの構築が活発化してきており、DLNAに対応するAVネットワーク機器が商品化されてきている。
【0003】
DLNAは、一般の消費者が家庭内ネットワーク上につながっている異なるメーカーの製品同士がシームレスの相互接続環境を実現し、どの準拠製品からでも高い互換性が確保されたコンテンツをアクセスして楽しむことを可能にすることを目標とする規格である。
【0004】
DLNAでは、ホームネットワーク環境における機器間の相互接続に重要であるメディアサーバとそのネットワーク中のコンテンツを再生する機器についての設計ガイドラインが定義されている。
【0005】
家庭内でのAudio and Visual(AV)データ伝送が行われてきている昨今、地上波デジタル放送の開始などで高転送レートのAVデータを伝送する機能が必要となってきた。
【0006】
その背景の中、低コスト化から能力の低いCentral Processing Unit(CPU)が使用されるAV機器では、高転送レートのAVデータ伝送を実現するための高速伝送用のCPUとそれ以外のデータ通信を行うCPUとの2つのCPUを使用する構成がとられるのが一般的ある(例えば、特許文献1参照)。
【0007】
さらに、両CPUには、データ通信を行うための通信プロトコルが搭載される。搭載される通信プロトコルの形態には、ハードウェアで構成するもの(例えば、特許文献2参照)や、ソフトウェアで構成するものがある。また、両CPUはバス接続され、CPU間での通信を行う。
【0008】
ここでいう通信プロトコルには、Transmison Control Protocol/Internet Protocol(TCP/IP)が標準として使用される。TCP/IPは、インターネット上の標準であり、世界中で最も広く使用されている通信プロトコルである。TCP/IPには、TCPとIPはもちろんのこと、一般的なこととして、User Datagram Protocol(UDP)、Internet Control Message Protocol(ICMP)、Address Resolution Protocol(ARP)を含むものとする。ICMP、ARPについては後述する。
【0009】
以下、従来のAVネットワーク機器において2つのCPUで高転送レートのAVデータを伝送する従来の方法について、図1を使用して説明する。
【0010】
図1は、従来のAVデータ送信装置およびAVデータ受信装置の機能的な構成を示す機能ブロック図である。
【0011】
図1に示すAVデータ伝送システムは、記録装置にMoving Picture Experts Group(MPEG)規格などで圧縮されたAVコンテンツが記録されているAVデータ送信装置10と、AVデータ送信装置から伝送されるAVデータを再生装置によって再生するAVデータ受信装置13で構成される。AVデータ受信装置13は、通信プロトコルとしてTCP/IPを使い、ネットワークを介してAVデータ送信装置に接続する。
【0012】
なお、上述の記録装置および再生装置等の図示および説明は省略し、AVデータの伝送に関する構成部についての図示および説明のみを行なう。
【0013】
AVデータ送信装置10は、AVデータを伝送する高速伝送用装置12とAVデータの伝送以外のデータ通信を行うホスト装置11とを備えている。AVデータ受信装置13は、同様に、高速伝送用装置12とホスト装置14とを備えている。
【0014】
ホスト装置11およびホスト装置14は、第1の通信プロトコルによる通信を行なう第1通信プロトコル部102と、第1通信プロトコル部102にアクセスするための第1インターフェース(I/F)部101とをともに有する、また、それぞれは、第1I/F部101を介して第1通信プロトコル部102を使用する、通信のためのアプリケーションプログラム(以下、「APP」ともいう。)と、高速伝送用装置12が有する第2通信プロトコル部122を使用するAV伝送アプリケーションプログラムと、あらかじめホスト装置で所有している情報を高速伝送用装置12に設定する情報設定部103とを有している。
【0015】
高速伝送用装置12は、AVデータ伝送アプリケーションプログラムが使用する、第2の通信プロトコルによる通信を行なう第2通信プロトコル部122と、第2通信プロトコル部122にアクセスするための第2I/F部121と、第1通信プロトコル部102または第2通信プロトコル部122から入力されるデータを他の機器に送信し、また、ネットワークを介して受信したデータをパケット振り分け部124に出力する送受信部123と、送受信部123から入力された受信データを第1通信プロトコル部102または第2通信プロトコル部122に振り分けて出力するパケット振り分け部124とを有する。
【0016】
ホスト装置11およびホスト装置14が有する通信アプリケーションプログラム、具体的には、サーバAPP105、クライアントAPP106、クライアントAPP108、およびサーバAPP109は、直接サービスを提供または利用するアプリケーションプログラムや、AVデータ送信装置10またはAVデータ受信装置13を制御するアプリケーションプログラムなどである。
【0017】
直接サービスを提供するアプリケーションプログラムとして、例えば、TCP/IPの上位プロトコルに位置するFile Transfer Protocol(FTP)、Hyper Text Transfer Protocol(HTTP)、Simple Mail Transfer Protocol(SMTP)などの通信プロトコルを使用するものがある。また、独自仕様のアプリケーションプログラムである場合もある。
【0018】
TCP/IPを使用する通信アプリケーションプログラムの多くは、クライアント/サーバモデルに準じて作られる。ホスト装置11およびホスト装置14の通信アプリケーションプログラムもこれに準じている。
【0019】
また、AVデータ送信装置10が有するAV伝送サーバAPP104はサーバアプリケーションであり、AVデータ受信装置13が有するAV伝送クライアントAPP107はクライアントアプリケーションである。
【0020】
TCP/IPを使う通信アプリケーションプログラムは、ポート番号を使用してアプリケーションプログラム間の通信回線を開く。ポート番号は、TCPおよびUDPがアプリケーションプログラムを識別する際に使用される。
【0021】
第1I/F部101および第2I/F部121は、一般的にソケットと呼ばれるApplication Programming Interface(API)である。
【0022】
ホスト装置11の情報設定部103は、通信パスAを使用して、ホスト装置11で使用するIPアドレスやサブネットマスクなどの情報を高速伝送用装置12に設定する。第1通信プロトコル部102は、通信パスBを使用して送受信部123に送信したいデータを入力する。AV伝送サーバAPP104は、通信パスCを使用し、第2I/F部を介して第2通信プロトコル部122と通信する。第2通信プロトコル部122は、通信パスDを使用して送受信部123に送信したいデータを入力する。パケット振り分け部124は、通信パスBと通信パスDを使用して受信したデータを第1通信プロトコル部102と第2通信プロトコル部122とに振り分けて出力する。なお、AVデータ受信装置13のホスト装置14の各構成部も同様の動作を行う。
【0023】
上述のパケット振り分け部124は具体的には、次に説明する方法で振り分けを行う。
AVデータ受信装置13のAV伝送クライアントAPP107は、接続する際に接続先ポート番号と第2通信プロトコル部122において使用するポート番号とを通信パスCと第2I/F部121とを介して第2通信プロトコル部122に入力する。これにより、AVデータ送信装置10のAV伝送サーバAPP104との通信回線を確立する。そして、AV伝送クライアントAPP107は、この確立されたポート番号を使用して、AVデータの受信を行う。
【0024】
AVデータ送信装置10のAV伝送サーバAPP104は、使用するポート番号を通信パスCと第2I/F部121とを介して第2通信プロトコル部122に入力して、使用する通信回線を開いて待機する。AV伝送クライアントAPP107からの通信回線確立が行われると、AV伝送サーバAPP104はAVデータの送信を行う。
【0025】
上述のAV伝送クライアントAPP107およびAV伝送サーバAPP104が使用するポート番号のそれぞれは、通信パスDを介し、AVデータ伝送用として、それぞれのパケット振り分け部124に設定される。
【0026】
パケット振り分け部124は、この設定されたポート番号と受信したパケットのポート番号とを照合して、該当するパケットであれば、通信パスDにより第2通信プロトコル部122へ出力する。該当しないパケットであれば、通信パスBにより第1通信プロトコル部102へ出力する。
【0027】
AVデータ送信装置10とAVデータ受信装置13とは、上述の構成および動作により、高転送レートのAVデータを伝送している。
【0028】
本構成における、本発明に関わる従来技術について、(1)から(4)に分けて説明する。
【0029】
(1)一般的なこととして、Internet Protocol(IP)では、通過するネットワークが許容する最大転送単位(Maximum Transmission Unit(MTU)サイズ)にあわせてパケット分割(フラグメント)するという機能を持っている。
【0030】
つまり、送信側では、アプリケーションプログラムから渡されたパケットがMTUサイズよりも大きいとパケットの分割を行って送信する。受信側では、受信した分割パケット(フラグメントパケット)を元のパケットに再構築する。
【0031】
なお、IPにおけるフラグメントのことをIPフラグメントといい、IPフラグメントにより生じる、分割された各パケットをIPフラグメントパケットという。
【0032】
図2(a)は、IPフラグメントの発生からIPフラグメントパケットの再構築までの処理の流れの一例を示す図である。図2(b)は、IPフラグメントパケットの一例を示す図である。
【0033】
送信側の機器Aと受信側の機器Bとが接続されたネットワークにおけるMTUサイズは1500オクテットである。ここで、図2(a)に示すように、そのネットワーク上に、MTUサイズが620オクテットのネットワークが存在する場合を想定する。このようなネットワーク構成において、機器Aが機器Bに1000オクテットのデータを送信する場合、IPパケットはネットワークの境界にあるルータaで600オクテットと400オクテットのパケットに分割され送られる。そして、図2(b)に示すように、TCPヘッダ(または、UDPヘッダ)の情報は、分割された先頭パケットにしか存在しない。つまり、IPパケットの宛先である通信プロトコル部を特定するポート番号は、先頭パケットにのみ存在し、後続パケットには存在しない。
【0034】
また、IPフラグメントパケットは、ネットワークの状況によって順不同で到着することもある。最悪、パケットがネットワーク上で消失することもある。IPでは、IPフラグメントパケットの再構築の機能として、順不同で到着するパケットも許容される。
【0035】
図3は、IPフラグメントパケットが再構築できなかった際の処理の概要を示す図である。
【0036】
図3に示すように、ネットワークでIPフラグメントパケットの一部が消失して再構築できない場合、IPは、RFC1122で推奨として記述されている60secから120secのタイマ値の経過によって再構築できなかったパケットを廃棄する。廃棄する際、先頭パケットを受信していた場合に限り、Internet Control Protocol(ICMP)によるICMP時間超過メッセージ(ICMPフラグメントエラーメッセージ)を送信元に送出して再構築できなかったことを通知する。前述のRFCとは、Request For Commentsの略であり、インターネットに関する技術の標準を定める団体であるIETFが正式に発行する文書である。
【0037】
従来のパケット振り分け部124のフラグメント再構築部210は、IPフラグメントパケットの再構築が完了した後、先頭パケットに含まれるポート番号を照合して送信先に該当する通信プロトコル部に出力する。つまり、ポート番号に応じて第1通信プロトコル部102または第2通信プロトコル部122に再構築されたパケットを出力する。
【0038】
また、再構築できずに残ってしまうパケットを120sec(推奨されているタイマ値の最大値)の経過により廃棄する。そして、廃棄する際、先頭パケットを受信していた場合には、ICMP時間超過メッセージ(ICMPフラグメントエラーメッセージ)を送信する。このように、IPフラグメントパケットを受信した場合には、IPが行う処理、つまり、第1通信プロトコル部102および第2通信プロトコル部122が行なう処理をパケット振り分け部124でも行なっている。
【0039】
図4は、従来のフラグメント再構築部の機能的な構成を示す機能ブロック図である。なお、図中のパケット振分け部124aは、パケット振分け部124が有する、フラグメント再構築部210の機能以外の機能を表す機能ブロックである。
【0040】
図4を使用して、従来のフラグメント再構築部の構成について説明する。
受信したパケットはフラグメント判定部401に入力され、IPフラグメントパケットであるか否かの判定を行う。フラグメント判定部401は、IPフラグメントパケット以外であればパケット振り分け部124aに渡し、IPフラグメントパケットであれば先頭・後続パケット判定部402に出力する。
【0041】
先頭・後続パケット判定部402は、入力されるIPフラグメントパケットをバッファ407に格納すると共に再構築情報記録部406に記憶されている再構築情報の情報更新を行う。また、フラグメント終了判定部にパケットを受信したことを通知する。そして、新規のIPパケットの断片であるIPフラグメントパケットを受信した際には、そのIPフラグメントパケットを120sec後に廃棄するためのタイマを起動する。
【0042】
図5(a)は、IPヘッダフォーマットを示す図であり、図5(b)は、IPヘッダに含まれるPROTOCOL領域の値とプロトコル名との対応を示す図であり、図5(c)は、IPヘッダに含まれるFLAGS領域のビットと意味との対応を示す図である。
【0043】
図5(a)に示すIPヘッダに含まれるID3405、FLAGS3406、OFFSET3407、およびTOTAL_LEN3404の4種の情報により、IPフラグメントパケットは識別される。この4種の情報からなる情報を以下、「IPフラグメント識別情報」という。IPフラグメント識別情報に基づいて再構築情報の更新やタイマ起動が行われる。
【0044】
IPフラグメントパケット到着の通知を受けたフラグメント終了判定部403では、再構築情報から再構築完了を判断する。再構築が完了している場合、引渡し先判定部404に通知する。通知を受けた引渡し先判定部404では、バッファ407に格納されている再構築が完了したIPフラグメントパケットを全て読み出し、再構築情報記憶部406の情報を消去しタイマを停止する。そして、先頭のIPフラグメントパケットに付与されているTCPヘッダ(または、UDPヘッダ)に含まれるポート番号を照合して通信パスを決定し、再構築が完了したIPフラグメントパケットの出力要求を引渡し部405へ行う。
【0045】
引渡し部405は要求にしたがって、通信パスBまたは通信パスDへ再構築完了したIPフラグメントパケットを出力する。
【0046】
再構築が完了せずに、タイマによるタイムアウトが発生すると、情報消去部408は、タイムアウトとなるIPフラグメントパケットに関する再構築情報を再構築情報記憶部406から消去し、バッファ407内の、再構築できなかったIPフラグメントパケットを廃棄する。この際、再構築情報から先頭パケットを受信しているかどうかも判断する。先頭パケットを受信済みであった場合のみ、先頭パケットに含まれる情報を使用してICMP時間超過メッセージ(ICMPフラグメントエラーメッセージ)を生成する。生成されたICMPフラグメントエラーメッセージは送受信部123により、当該IPフラグメントパケットの送信元に送信される。
【0047】
従来のフラグメント再構築部210は以上のように構成され、動作している。
【0048】
(2)一般的なこととして、通信プロトコル(TCP/IP)には、IPを補助するICMPが含まれる。IPパケットが何らかの障害によって到達できなかった時にICMPによって障害の通知(ICMPエラーメッセージ)が行われる。
【0049】
ICMPエラーメッセージにはRFC792で規定されるいくつかのタイプがあり、IPを使って送信される。したがって、TCPヘッダ(または、UDPヘッダ)がつかないパケットであるため、パケット振り分け部ではどちらの通信プロトコル部に出力すればよいか判断できない。
【0050】
そこで、従来のパケット振り分け部124のICMP複製部211では、受信したICMPエラーメッセージパケットを複製して、第1通信プロトコル部102と第2通信プロトコル部122へ出力している。
【0051】
図6は、従来のICMP複製部の機能的な構成を示す機能ブロック図である。なお、図中のパケット振分け部124aは、パケット振分け部124が有する、ICMP複製部211の機能以外の機能を表す機能ブロックである。図6を使用して、ICMP複製部の構成および動作について説明する。
【0052】
受信されたパケットはICMPパケット判定部701に入力され、ICMPパケット判定部701は入力されたパケットがICMPパケットであるか否かの判定を行う。ICMPパケット判定部701は、ICMPパケット以外であればパケット振分け部124aに渡し、ICMPパケットであればパケット複製部702へ出力する。パケット複製部702は、入力されたICMPパケットを複製して、通信パスBと通信パスDへ送信する要求と共に2つのICMPパケットを引渡し部703へ出力する。引渡し部703は要求にしたがって、通信パスBと通信パスDへそれぞれICMPパケットを出力する。
【0053】
つまり、ICMPパケットは第1通信プロトコル部102および第2通信プロトコル部122の双方へ出力される。
【0054】
従来のICMP複製部210は以上のように構成され、動作している。
【0055】
(3)従来のパケット振り分け部124において、正常に通信パスBと通信パスDへパケットを振り分けるためには、通信パスCを使って設定されるポート番号が、AVデータ伝送アプリケーションプログラム以外の通信アプリケーションプログラムで使用されるポート番号と異なる番号でなければならない。
【0056】
従って、従来のAVデータ受信装置13では、AV伝送クライアントAPP107が使用するポート番号の範囲を取り決めて、クライアントAPP108およびサーバAPP109がそのポートを使用しないようにしている。例えば、AV伝送クライアントAPP107が使用するポート番号を10001〜10002とし、それ以外をクライアントAPP108等の他の通信アプリケーションプログラムが使うようにしている(例えば、特許文献3参照)。
【0057】
しかし、この方法では全てのアプリケーションプログラムで自らが使用するポート番号をあらかじめ決定するか、AV伝送クライアントAPP107が使用するポート番号を、第1I/F部101にて使わないように制限をかけることをする必要がある。
【0058】
一般的なこととして、サーバアプリケーションプログラムは通信回線を開いておかなければならないため、通信プロトコルI/Fを介して自らが使用するポート番号を通信プロトコル部に指定して通信回線を開かせる。一方、クライアントアプリケーションプログラムは、自らが使用するポート番号は意識することなく、通信プロトコルI/Fを介して通信回線を確立したいサーバアプリケーションプログラムのポート番号とIPアドレスとを指定して通信プロトコル部に通信回線を確立させる。しかし、クライアントアプリケーションプログラムは自らのポート番号を意識しないが、実際には通信プロトコルI/Fが使用されていないポート番号を適切に割り当てて通信プロトコル部に通信回線を確立させることが行われている。
【0059】
(4)一般的なこととして、通信プロトコル部は、宛先IPアドレスがわかれば、IPパケットを送信することができる。しかし、実際にはIPアドレスに対応した物理アドレス(MACアドレス)がわかれなければ通信相手にパケットを到着させることができない。
【0060】
この物理アドレスの解決は、通信プロトコル部が装備するアドレス解決プロトコル(ARP)によって行われる。アドレス解決の仕組みについて、図7に図解する。
【0061】
図7は、アドレス解決プロトコル(ARP)による一般的なアドレス解決の仕組みを示す図である。
【0062】
ARPは、通信元が、IPアドレスは知っているが物理アドレスがわからない通信相手の物理アドレスを検索するためのプロトコルである。通信元は、通信相手を探すためのARP要求パケットをブロードキャストし、該当する通信相手はARP応答パケットを返送して自らの物理アドレスを通知する。ARP応答パケットを受信した送信元は、IPアドレスと物理アドレスとの関連を管理するARPテーブルに記録する。これによって、物理アドレスを解決した通信プロトコル部は、IPパケットを通信相手に送信することが可能となる。
【0063】
従来、例えば、特許文献4に記述される方法でアドレス解決が行われる。
図8は、特許文献4に開示された、物理アドレスの解決を行なう従来のホストコンピュータの機能的な構成を示す機能ブロック図である。
【0064】
特許文献4に記述されるアドレス解決方法を、図1に示すAVデータ受信装置13に適用した場合を想定する。
【0065】
AV伝送クライアントAPP107が通信先の物理アドレスを知らなかった場合、通信先宛のダミーIPパケットが第1I/F部を介して第1通信プロトコル部102に送られる。第1通信プロトコル部102では、ARPによるアドレス解決が実行され、通信パスBを使用してダミーIPパケットの送信を行おうとする。ここで、通信先の機器がダミーIPパケットを廃棄しない構成である場合、ダミーIPパケットの送信を止めるために、通信パスB上にダミーIPパケットを廃棄する処理部を設けなければならない。
【0066】
AV伝送クライアントAPP107は、第1通信プロトコル部102でARPによるアドレス解決が行われたことをARPからの通知により、または、第1通信プロトコル部102が有するARPテーブルを監視することにより所望の物理アドレスを得たことを検知し、その物理アドレスを取得する。そして、通信パスCにより、第2I/F部121を介して、取得した物理アドレスを第2通信プロトコル部122のARPテーブルへ登録する。このようにして、第2の通信プロトコルにおけるアドレス解決を行い、AV伝送クライアントAPP107は、通信パスCを使用して通信を開始する。
【特許文献1】特開2000−235536号公報 (第4−5頁、第1図)
【特許文献2】特開2002−354046号公報 (第4頁、第2図)
【特許文献3】特開2000−235536号公報 (第10頁)
【特許文献4】特開2000−235536号公報 (第11頁、第五図)
【発明の開示】
【発明が解決しようとする課題】
【0067】
上述のように、上記従来のAVネットワーク機器は、高転送レートが要求されるため、ホスト装置と高速伝送用装置とで構成されている。さらに、1つの機器に複数の通信プロトコルが搭載されている。このような構成の機器においては、以下のような課題がある。
【0068】
パケット振り分け部124におけるフラグメント再構築部210では、適切に出力する通信パスを決定するためにIPフラグメントパケットを再構築する処理を行っている。このパケットの再構築機能は、IPに標準搭載されている機能である。つまり、第1通信プロトコル部102および第2通信プロトコル部122に搭載されている機能をフラグメント再構築部210にも搭載することとなり、冗長に機能が追加されている。
【0069】
また、パケットの再構築が完了するまでバッファ407にIPフラグメントパケットを保持しておかなければならず、バッファ407を他の処理と共有する際に有効活用できないという課題を有している。さらに、再構築が完了しなければ第1通信プロトコル部102または第2通信プロトコル部122へ出力しないため、第1通信プロトコル部102または第2通信プロトコル部122へのパケット到着がIPフラグメントパケットの場合には常に遅延するという課題も有している。
【0070】
また、上記従来の技術においては、更に、以下のような課題も有している。
パケット振り分け部124のICMP複製部211では、受信したICMPエラーメッセージパケットの送信先の通信パスを判断することができない。そのため、受信したICMPエラーメッセージパケットを複製して第1通信プロトコル部102と第2通信プロトコル部122とへ出力していた。つまり、第1通信プロトコル部102を使用してデータ通信を行っている通信回線に異常が発生した際、受信するICMPエラーメッセージパケットをまったく関係のない第2通信プロトコル部122にも出力することになる。また、当然に逆のパターンも発生する。
【0071】
したがって、冗長にICMPエラーメッセージパケットの複製処理を行い、CPUの処理能力を使用していることとなる。さらに、第1通信プロトコル部102を使用してデータ通信を行っている通信回線に異常が頻発した際、無関係である第2通信プロトコル部122にも処理負荷をかけることとなり、高速伝送に弊害を及ぼす課題も有している。
【0072】
また、上記従来の技術では、パケット振り分け部124にて正常にポート番号の照合を行うために、全てのアプリケーションプログラムで自らが使用するポート番号をあらかじめ決定するか、第1I/F部101を改変し、AV伝送クライアントAPP107が使用するポート番号を使用しないように制限をかける必要がある。さらに、通常のクライアントアプリケーションプログラムは一般的に、ポート番号の決定を通信プロトコルインターフェースに委ねており、他のシステムで使用されていた通信アプリケーションプログラムを、従来のAVネットワーク機器で使用する際には、その通信アプリケーションプログラムにも改変を加えなければならないという課題を有している。
【0073】
また、上記従来の技術では、第2通信プロトコル部122が使用する物理アドレスを解決するために、第1通信プロトコル部102が物理アドレスの解決を実行する必要があった。また、解決したアドレスを通信パスCを介して登録するという通信を行わなければならなかった。さらに、ホスト装置のAV伝送アプリケーションプログラムはダミーIPパケットを送信する動作を行わなければならず、高速伝送装置はダミーIPパケットを廃棄する動作を行わなければない。このように、AV伝送アプリケーションが第1通信プロトコル部102も使用しなければならないという課題と、ホスト装置と高速伝送装置の両装置で連動して動作する処理を追加しなければならないという課題とを有している。
【0074】
本発明は、上記従来の課題を考慮し、複数の通信プロトコルでIPパケットの通信を行なうデータ通信装置であって、構成上および処理上の無駄の発生を削減することができるデータ通信装置を提供することを目的とする。
【課題を解決するための手段】
【0075】
上記目的を達成するために、本発明のデータ管理装置は、第1の通信プロトコルで通信する第1通信プロトコル部と、第2の通信プロトコルで通信する第2通信プロトコル部とを備え、Internet Protocol(IP)パケットによる通信を行なうデータ通信装置であって、前記IPパケットは、前記IPパケットの宛先が第1通信プロトコル部であるか第2通信プロトコル部であるかを特定するための宛先情報を有する1つの第1パケットと、前記宛先情報を有しない1つ以上の第2パケットとに分割されており、前記データ通信装置は、前記第1パケットまたは前記第2パケットである、IPフラグメントパケットを受信する受信手段と、前記宛先情報を記憶するための宛先情報記憶手段と、前記第2パケットを記憶するためのバッファと、前記IPフラグメントパケットが第1パケットであるか否かを判定し、前記IPフラグメントパケットが第1パケットである場合、前記第1パケットが有する宛先情報を、前記宛先情報記憶手段に記憶させる第1パケット判定手段と、前記第1パケットを、前記宛先情報に基づき、前記第1通信プロトコル部および前記第2通信プロトコル部のいずれか一方へ出力する振り分け手段と前記IPフラグメントパケットが、前記第1パケット判定手段により前記第1パケットでないと判定された第2パケットである場合、前記宛先情報が前記宛先情報記憶手段に記憶されているとき、前記第2パケットを前記振り分け手段へ渡し、前記宛先情報が前記宛先情報記憶手段に記憶されていないとき、前記第2パケットを前記バッファに記憶させる第2パケット制御手段とを備え、前記振り分け手段は、前記第2パケット制御手段から前記第2パケットを受け取ると、前記宛先情報記憶手段に記憶されている前記宛先情報に基づき、前記第1通信プロトコル部および前記第2通信プロトコル部のいずれか一方へ前記第2パケットを出力する。
【0076】
これにより、本発明のデータ通信装置は、IPフラグメントパケットの再構築処理を通信プロトコル部と重複してパケット振り分け部に設けなくてよい。さらに、第1パケットである先頭パケットを受信すると、その先頭パケットを第1通信プロトコル部または第2通信プロトコル部へ引き渡すことができる。これにより、先頭パケット引渡しまでの遅延時間が減少する。また、その宛先に関する宛先情報は記憶されるため、第2パケットである後続パケットは、その宛先情報に基づいて適切に第1通信プロトコル部または第2通信プロトコル部へ振り分けられて出力される。従って先頭パケットが到着した後に到着する後続パケットは、バッファを使用しなくてもよい。つまり、バッファを効率良く使用できる。
【0077】
また、前記受信手段は、更に、Internet Control Message Protocol(ICMP)エラーメッセージパケットを受信し、前記データ通信装置は、更に、前記ICMPエラーメッセージパケットが、前記ICMPエラーメッセージパケットの宛先が第1通信プロトコル部であるか第2通信プロトコル部であるかを特定するためのエラー通知先情報を有するか否かを判定するエラーパケット判定手段と、前記エラーパケット判定手段により前記エラー通知先情報を有していると判定された前記ICMPエラーメッセージパケットを、前記通知先情報に基づき、第1通信プロトコル部および第2通信プロトコル部のいずれか一方に出力するエラー出力手段と、前記エラーパケット判定手段により前記エラー通知先情報を有していないと判定された前記ICMPエラーメッセージパケットを複製し、第1通信プロトコル部および第2通信プロトコル部のそれぞれに前記ICMPエラーメッセージパケットを1つずつ出力するエラー複製手段とを備えるとしてもよい。
【0078】
これにより、複製が必要なICMPパケットのみ複製を行うようになり、無用なパケット複製による処理負荷を減らすことができる。また、第1通信プロトコル部および第2通信プロトコル部は、自身に不要なICMPパケットを受信する回数が減り、無駄な処理負担を削減することができる。
【0079】
また、本発明のデータ通信装置は、更に、前記第1通信プロトコル部で使用されるポート番号の登録要求と削除とを受け付けるインターフェースと、前記第2通信プロトコル部で使用される使用ポート番号を決定するポート番号決定手段と、前記ポート番号決定手段により決定された前記使用ポート番号の登録要求を、前記インターフェースを介して前記第1通信プロトコル部に行なうポート番号登録手段と、前記第2通信プロトコル部からの所定の通知により、前記第1通信プロトコル部に登録されている前記使用ポート番号を削除するポート番号削除手段とを備え、前記インターフェースは、前記第1プロトコル部に登録されているポート番号の登録は受け付けず、前記ポート番号登録手段が、前記使用ポート番号を前記第1通信プロトコル部に登録できた場合、前記使用ポート番号は前記第1通信プロトコル部では使用されないとしてもよい。
【0080】
これにより、例えば、第2通信プロトコル部を使用するAVデータ伝送を行うクライアントアプリケーションは、従来のクライアントアプリケーションと同様にポート番号を意識せずデータ通信を行うことができる。さらに、第1通信プロトコル部のインターフェースにポート番号の制限を行うための改変を行わなくてもよい。
【0081】
また、本発明のデータ通信装置は、更に、前記第1通信プロトコル部または前記第2通信プロトコル部から送信される、他の機器の物理アドレスの解決を要求するAddress Resolution Protocol(ARP)要求パケットを受け付けるARP要求受付手段と、前記ARP要求受付手段により受け付けられた前記ARP要求パケットから得られる、送信元を示す送信元情報と、前記他の機器のIPアドレスである送信先アドレスとを対応付けて記憶するARP情報記憶手段と、前記ARP要求パケットを前記他の機器に送信するARP送信手段と、前記他の機器から送信される、前記ARP要求パケットへの応答であるARP応答パケットを受信するARP応答受信手段と、前記ARP応答受信手段により受信された前記ARP応答パケットから得られる、前記他の機器のIPアドレスと、前記ARP情報記憶手段に記憶されている前記送信先アドレスとから、前記ARP応答パケットの出力先を判定する応答出力判定手段と、前記応答出力判定手段の判定結果に従い、前記ARP応答パケットを前記第1通信プロトコル部または前記第2通信プロトコル部のいずれか一方に出力する応答出力手段とを備えるとしてもよい。
【0082】
これにより、例えば、第1通信プロトコル部を有するホスト装置と、第2通信プロトコル部を有する高速伝送用装置とで構成されたAVデータ送信装置において、ホスト装置への機能および処理の追加を行なうことなく、さらに、第2通信プロトコル部を使用するAV伝送アプリケーションが第1通信プロトコル部を使用することなく、第1通信プロトコル部および第2通信プロトコル部が要求する物理アドレスの解決を行うことができる。
【0083】
更に、本発明は、本発明のデータ通信装置の特徴的な構成部をステップとする方法として実現したり、それらのステップを含むプログラムとして実現したり、そのプログラムが格納された、CD−ROM等の記録媒体として実現したり、集積回路として実現することもできる。プログラムは、通信ネットワーク等の伝送媒体を介して流通させることもできる。
【発明の効果】
【0084】
本発明により、高転送レートでの通信が要求されるデータ通信装置であって、構成上および処理上の無駄の発生を削減するためのデータ通信装置を提供することができる。
【0085】
以上説明したように、本発明によれば、ホスト装置と高速伝送用装置に複数の通信プロトコルを搭載するAVデータ伝送装置において、IPフラグメントパケットの再構築処理を通信プロトコルと重複して高速伝送用装置に設けることなく、フラグメントパケットを処理可能であり、先頭パケットを受信した時点でパケットの引渡しを行うため引渡しまでの遅延が減り、バッファを効率良く使用することが可能となる。そして、ICMPパケットの受信では、複製が必要なICMPパケットのみ複製を行うことができ、無用なパケット複製による処理負荷を減らすことが可能となる。また、通信プロトコルインターフェースに改変をいれることなく、AVデータ伝送を行うクライアントアプリケーションに対して、従来のクライアントアプリケーションと同様にポート番号を意識させないことが可能である。さらに、通信プロトコルのアドレス解決では、ホスト装置と高速伝送用装置の両装置で連動して動作する処理を必要とせず、さらにAV伝送アプリケーションが第1通信プロトコル部102を使用せずに解決することが可能となる。
【0086】
本発明によるさらなる効果については、後述する本発明の実施の形態の説明や図面に基づく詳細な説明で記述する。
【発明を実施するための最良の形態】
【0087】
以下、本発明の実施の形態について図面を用いて説明する。
【0088】
<実施の形態1>
本発明の実施の形態1として、IPフラグメントパケットを受信した際のバッファの効率的な利用を可能とする形態について説明する。
【0089】
本発明の実施の形態1について、図9〜図13を用いて説明する。
図9は、実施の形態1のAVデータ送信装置10およびAVデータ受信装置13の機能的な構成を示す機能ブロック図である。
【0090】
AVデータ送信装置10およびAVデータ受信装置13のそれぞれは、本発明のデータ通信装置の一例である。具体的には、AVコンテンツをネットワーク伝送する機能を有するDVDレコーダや、ネットワーク伝送でAVコンテンツを受信して再生する機能を有するデジタルTV等により実現される。
【0091】
なお、AVコンテンツを蓄積する機能等、AVデータ送信装置10およびAVデータ受信装置13が本来備えている構成部についての図示および説明は省略し、本発明の特徴的な構成部についてのみ図示および説明を行なう。後述する実施の形態2〜16においても同様である。
【0092】
図9に示すように、実施の形態1のAVデータ送信装置10およびAVデータ受信装置13は、図1に示した従来のAVデータ送信装置10およびAVデータ受信装置13と比較すると、パケット振り分け部124内に、フラグメント制御部110を持つことを特徴とする。フラグメント制御部110は、受信したIPフラグメントパケットが先頭パケットであるか後続パケットであるかに応じ、効率的に処理する処理部である。
【0093】
なお、先頭パケットは本発明のデータ通信装置における第1パケットの一例であり、後続パケットは本発明のデータ通信装置における第2パケットの一例である。
【0094】
図10は、実施の形態1におけるフラグメント制御部110の機能的な構成を示す機能ブロック図である。なお、図中のパケット振分け部124aは、パケット振分け部124が有する、フラグメント制御部110の機能以外の機能を表す機能ブロックである。
【0095】
フラグメント制御部110は、制御情報記憶部307に記憶されている制御情報に基づき、IPフラグメントパケットの通信プロトコル部への送信を制御する。
【0096】
図11は、実施の形態1における制御情報記憶部307に記憶されている制御情報のデータ構成の一例を示す図である。制御情報がどのように用いられるかについては、後述の動作の説明の中で述べる。
【0097】
図12(a)は、TCPヘッダフォーマットを示す図であり、図12(b)は、UDPヘッダフォーマットを示す図である。
【0098】
受信パケットのフォーマットであるIPヘッダフォーマットにおけるDATA3414(図5(a)参照)に、図12(a)および図12(b)に示すフォーマットのTCPヘッダまたはUDPヘッダなどがペイロードデータとして格納されている。
【0099】
図13は、実施の形態1におけるフラグメント制御部110の動作の流れを示すフローチャートである。図13を用いフラグメント制御部110の各構成部の動作について説明する。
【0100】
まず、送受信部123を介し、ネットワークからパケットを受信すると、フラグメント判定部301へ受信パケットが入力される。
【0101】
フラグメント判定部301では、受信したパケットIPフラグメントパケットかどうかを判定する。受信したパケットがIPフラグメントパケットでない場合(S10でNo)、パケット振り分け部124aへと受信パケットを出力(S11)することで、以降そのパケットは適切な通信パスへ振り分けられる。
【0102】
受信パケットがIPフラグメントパケットである場合(S10でYes)、先頭パケット判定部302へ受信パケットが出力される。
【0103】
先頭パケット判定部302は、入力された受信パケットが先頭パケットであるかどうかを判断する。なお、先頭パケット判定部302は、本発明のデータ通信装置における第1パケット判定手段の一例である。先頭パケットであるかどうかの判断方法は、一般的なIPの仕様であるため、その説明は省略する。
【0104】
受信パケットが後続パケットである場合(S12でNo)、先頭パケット判定部302は、この受信パケットであるIPフラグメントパケットを後続パケット判定部303へ出力する。後続パケット判定部303では、制御情報記憶部307に記憶されている制御情報を参照し、以前に、このIPフラグメントパケットに対応する先頭パケットが到着していたかどうかを確認する。この確認は、制御情報記憶部307に記憶されている制御情報に基づき行なわれる。なお、先頭パケット判定部302は、本発明のデータ通信装置における第2パケット制御手段の一例である。
【0105】
制御情報記憶部307には、図11に示す制御情報が記憶されている。制御情報記憶部307は、本発明のデータ通信装置における宛先情報記憶手段の一例であり、制御情報は、本発明のデータ通信装置における宛先情報の一例である。
【0106】
制御情報は1つ以上のエントリで構成される。1つのエントリは、IPヘッダパラメータであるSOURCE ADDRESS1601、DESTINATION ADDRESS1602、ID1603、およびPROTOCOL1604の各情報と、送信元ポート番号1606、宛先ポート番号1607、および先頭パケットの到着有無を示すフラグである先頭パケット到着flg1605とで構成される。
【0107】
後続パケット判定部303は、IPフラグメントパケットを受信するたびに、そのIPヘッダ内にあるSOURCE ADDRESS3411、DESTINATION ADDRESS3412、およびID3405、を各エントリと比較する。この比較の結果、上記3種の情報が一致し、かつ先頭パケットの到着flg1605が到着ありを示すエントリがある場合、受信したIPフラグメントパケットに対応する先頭パケットがすでに到着済みであると判断する(S13でYes)。
【0108】
このようにして、先頭パケットが到着済みであることを確認することができる。なお、上述の確認方法は一例であり、この方法に限定するものではない。例えば、先頭パケットのみが有し、後続パケットは有しない情報である宛先ポート番号が、上記3種の情報が一致するエントリに登録されている場合、先頭パケットが到着済みであると判断してもよい。
【0109】
後続パケット判定部303は、以前に先頭パケットが到着していたことを確認した場合(S13でYes)、引渡し先判定部305へ受信パケットを出力する(S14)。また、上記条件を満たすエントリがない場合、まだ先頭パケットが到着していないことを確認し(S13でNo)、バッファ309へ受信パケットを保存する(S15)。
【0110】
なお、このとき、受信パケットのIPヘッダ内にあるSOURCE ADDRESS3411、DESTINATION ADDRESS3412およびID3405の組み合わせを有する制御情報のエントリが、制御情報記憶部307に存在しない場合、つまり、受信パケットが初めて到着したIPフラグメントパケットである場合(S16でYes)、新たなエントリとして登録し、情報消去部310のタイマ(例えば120秒など)を起動させる(S17)。
【0111】
情報消去部310は、タイマを有しており、タイマに設定された期間(例えば120秒など)が満了した場合、そのエントリを消去する。また、そのエントリに対応する後続パケットもバッファ309から消去する。
【0112】
また、先頭パケット判定部302が、受信パケットは先頭パケットであると判断した場合(S12でYes)、制御情報記憶部307に記憶されている制御情報を参照し、その先頭パケットに対応する後続パケットがバッファ309に保存されているかどうかを確認する。
【0113】
この確認は、制御情報記憶部307に記憶されている制御情報に基づき行なわれる。
制御情報記憶部307は、制御情報に、SOURCE ADDRESS1601、DESTINATION ADDRESS1602、およびID1603の情報の組み合わせが、受信した先頭パケットのIPヘッダ内の同パラメータ値の組み合わせと一致するエントリがある場合、その先頭パケットに対応する後続パケットがバッファ309に保存されていると判断する(S18でYes)。なお、上記3つの情報の組合せは本発明のデータ通信装置における識別情報の一例である。
【0114】
この場合、先頭パケット判定部302は、受信した先頭パケットだけでなく、バッファ309に保存されている、その先頭パケットに対応する全ての後続パケットも、引渡し先判定部305へ出力する(S19)。さらに、当該エントリの先頭パケット到着flg1605を到着有りを示す値に変更し、PROTOCOL1604、送信元ポート番号1606、宛先ポート番号1607に各情報を登録する。
【0115】
後続パケットがバッファ309に保存されていない場合、つまり、上記条件に該当するエントリが制御情報記憶部307に存在しない場合(S18でNo)、受信した先頭パケットのみを引渡し先判定部305へ出力する(S20)。
【0116】
このとき、先頭パケット判定部302は、この先頭パケットに対応する新たなエントリを登録し、情報消去部310のタイマ(例えば120秒など)を起動させる(S21)。
【0117】
この登録の際、先頭パケット到着flg1605は到着有りを示す値に設定される。さらに、PROTOCOL1604、送信元ポート番号1606、宛先ポート番号1607に加えSOURCE ADDRESS1601、DESTINATION ADDRESS1602、およびID1603が登録される。
【0118】
このように、受信パケットまたはバッファ309に保持されていたパケットは、先頭パケット判定部302または後続パケット判定部303により、引渡し先判定部305へ出力される。
【0119】
引渡し先判定部305では、入力された受信パケットのSOURCE ADDRESS3411、DESTINATION ADDRESS3412、およびID3405の情報の組み合わせと一致する組合せを有するエントリを検索する。さらに、該当するエントリの宛先ポート番号から宛先ポート番号を特定し(S22)、特定した宛先ポート番号と受信パケットとを引渡し部306へ出力する。
【0120】
引渡し部306では、受信した宛先ポート番号に該当する通信プロトコル部への通信パスへ、パケットを送信する(S23)。具体的には、第1通信プロトコル部102へ送信する場合は、通信パスBに送信し、第2通信プロトコル部122へ送信する場合は、通信パスDに送信する。このように、引渡し先判定部305と引渡し部306とにより、本発明のデータ通信装置における振り分け手段は実現される。
【0121】
上述のように、実施の形態1のAVデータ送信装置10およびAVデータ受信装置13は、フラグメント制御部110を有している。フラグメント制御部110により、受信したIPプラグメントパケットが先頭パケットであるか否か判断され、先頭パケットである場合、その先頭パケットは、宛先である通信プロトコル部へ送信される。
【0122】
その際、バッファ309に格納されている、その先頭パケットに対応する後続パケットも先頭パケットと共に送信される。
【0123】
つまり、後続パケットは先頭パケットが到着するまで、バッファ309に保持されるが、先頭パケットが到着すると、宛先の通信プロトコル部に送信される。その後に到着した後続パケットも、制御情報記憶部307に宛先のポート番号が記憶されているため、正しく宛先の通信プロトコル部へ送られることとなる。
【0124】
従来では、ある1つのデータの振り分けを実施する際に、そのデータを構成する全てのIPフラグメントパケットをバッファに保持して再構築する必要がある。そのため、多量のバッファが必要となる。しかしながら、実施の形態1のAVデータ送信装置10およびAVデータ受信装置13においては、フラグメント制御部110の動作により、ある1つデータを宛先の通信プロトコル部へ到達させる際の一時的なバッファの使用量を、そのデータの先頭パケットが到着するまでの最低限の使用量に低減することができる。
【0125】
このように、本発明はバッファの利用効率を向上させる効果を有する。つまり、バッファ利用における無駄を削減することができる。
【0126】
また、第1通信プロトコル部102および第2通信プロトコル部122へのパケットの到着の遅延を防ぐことができる。
【0127】
<実施の形態2>
本発明の実施の形態2として、第1通信プロトコル部102または第2通信プロトコル122がICMPエラーメッセージを送信する際に、不要となる制御情報をバッファから削除する形態について説明する。
【0128】
本発明の実施の形態2について、図14〜図16を用いて説明する。
図14は、実施の形態2のAVデータ送信装置10およびAVデータ受信装置13の機能的な構成を示す機能ブロック図である。
【0129】
図14に示すように、実施の形態2のAVデータ送信装置10およびAVデータ受信装置13は、図9に示した実施の形態1のAVデータ送信装置10およびAVデータ受信装置13と比較すると、送受信部123内に、ICMP監視部112を持つことを特徴とする。ICMP監視部112はICMPエラーメッセージを監視する処理部である。
【0130】
図15は、実施の形態2におけるフラグメント制御部110およびICMP監視部112の機能的な構成を示す機能ブロック図である。なお、図中のパケット振分け部124aは、パケット振分け部124が有する、フラグメント制御部110の機能以外の機能を表す機能ブロックである。
【0131】
図16は、ICMPエラーメッセージのパケットフォーマットを示す図である。なお、フラグメントタイムアウト用のICMPエラーメッセージ(TimeExceeded code=1)も本フォーマットであり、タイプ3601には、“11”が設定され、コード3602には、“1”が設定されていることで識別される。
【0132】
また、DATA3605には、エラーの発生したパケットに関する情報が格納される。この情報を利用する形態については実施の形態10として後述する。
【0133】
実施の形態2のAVデータ送信装置10およびAVデータ受信装置13の動作は、送信パケットを監視する部分以外は、実施の形態1の各装置の動作と同様の動作である。そのため、実施の形態1との差分の説明のみ記載する。
【0134】
第1通信プロトコル部102または、第2通信プロトコル部122が送信するパケットは、通信パスBまたは通信パスDを介して、送受信部123に入力される。このときのICMP監視部112の動作について説明する。なお、以下、第1通信プロトコル部102または、第2通信プロトコル部122により送信されたパケットを送信パケットという。
【0135】
ICMP監視部112内の、タイムアウト(以下、「TMO」ともいう。)判定部311は、送信パケットが、フラグメントタイムアウト用のICMPエラーメッセージ(TimeExceeded code=1)であるかをチェックする。フラグメントタイムアウト用のICMPエラーメッセージである場合、当該メッセージのDATA3605の内容を解析する。なお、TMO判定部311は、本発明のデータ通信装置におけるタイムアウト検出手段の一例である。
【0136】
DATA3605には、フラグメントの再構築に失敗した先頭パケットの情報が格納されている。その格納されている情報が図5(a)に示すIPヘッダフォーマットであり、DATA3414内に、図12(a)および図12(b)に示したTCPヘッダまたはUDPヘッダのフォーマットが格納されていた場合、その中の、SOURCE ADDRESS3411、DESTINATION ADDRESS3412、およびID3405の情報を参照する。
【0137】
次に、TMOパケット判定部311は、これらの情報の組に一致する情報の組を有するエントリが、制御情報記憶部307内にあるかをチェックする。該当するエントリがある場合、そのエントリの全ての情報を0クリアする。また、そのエントリに関して、情報消去部310のタイマ(例えば120秒など)についても停止させた後、前記送信パケットをネットワークへ送出する。また、TMOパケット判定部311は、上記条件を満たすエントリが制御情報記憶部307に存在しない場合は、そのまま送信パケットをネットワークへ送出する。
【0138】
このように、実施の形態2によれば、情報消去部310だけでなく、TMOパケット判定部311が制御情報を消去することができる。具体的には、TMOパケット判定部311は、第1通信プロトコル部102または第2通信プロトコル部122によりICMPエラーメッセージパケットが送信されたことを検出する。ICMPエラーメッセージパケットが送信されたということは、そのメッセージに対応する受信パケットについての制御情報は不要であり削除する。これによりバッファ309を有効活用することが可能となる。
【0139】
なお、TMOパケット判定部311の指示により、情報消去部310が、不要な制御情報を消去してもよい。
【0140】
<実施の形態3>
本発明の実施の形態3として、IPフラグメントパケットの廃棄のための適切なタイマ値設定を考慮した形態を説明する。
【0141】
本発明の実施の形態3について、図17を用いて説明する。
図17は、実施の形態3におけるフラグメント制御部110の機能的な構成を示す機能ブロック図である。なお、図中のパケット振分け部124aは、パケット振分け部124が有する、フラグメント制御部110の機能以外の機能を表す機能ブロックである。
【0142】
実施の形態3は、フラグメント制御部110がタイマ設定部1901を備える形態である。タイマ設定部1901は、第1通信プロトコル部102に設定されたタイマ値を通信パスAを介して取得し、情報消去部310に設定されたタイマ値(例えば120秒など)と比較する。比較の結果、大きい方を情報消去部310で使用する。他の処理については、実施の形態1と同様である。
【0143】
実施の形態3によれば、情報消去部310に、第2通信プロトコル部102に設定されたタイマ値が設定されている場合、第1通信プロトコル部102に設定されたタイマ値と、第2通信プロトコル部102に設定されたタイマ値とを比較することができる。
【0144】
この比較の結果、大きい方のタイマ値を採用することで、第1通信プロトコル部102に求められるタイムアウトのための期間と、第2通信プロトコル部122(122)に求められるタイムアウトのための期間とを包含したタイマ値で動作することができる。結果、どんなホスト装置に高速伝送用装置12を接続した場合でも、高速伝送用装置12に手を加えることなく、適切なタイマ値で動作させることができる。
【0145】
一般に、高速伝送用装置の用途として、さまざまなAVネットワーク機器のホスト装置と接続することが求められる。そのため、第1通信プロトコル部102はホスト装置ごとに異なり、当然、前述のタイマ値もそれぞれ異なることが考えられる。そこで実施の形態3の構成をとることにより、高速伝送用装置12は、簡単な実現手段で、汎用的かつ量産に適した構成をとることが可能となる。
【0146】
<実施の形態4>
本発明の実施の形態4として、IPフラグメントパケットの廃棄のための適切なタイマ値設定を考慮した第2の形態を説明する。
【0147】
本発明の実施の形態4について、図18と図19を用いて説明する。
図18は、実施の形態4におけるフラグメント制御部110の機能的な構成を示す機能ブロック図である。なお、図中のパケット振分け部124aは、パケット振分け部124が有する、フラグメント制御部110の機能以外の機能を表す機能ブロックである。
【0148】
図18に示すように、実施の形態4におけるフラグメント制御部110は、実施の形態3におけるフラグメント制御部110の情報消去部310に換えて、第1消去部2001および第2消去部2002を配置した構成となる。
【0149】
第1消去部2001および第2消去部2002は、それぞれタイマを有しており(図示せず)、それぞれのタイマに異なるタイマ値を設定することが可能である。
【0150】
具体的には、第1消去部2001は、第1通信プロトコル部102用のタイマ値が設定され、第2消去部2002は、第2通信プロトコル部122用のタイマ値が設定される。第1通信プロトコル部102のタイマ値の取得方法については、実施の形態3と同様である。
【0151】
図19は、実施の形態4における制御情報記憶部307に記憶されている制御情報のデータ構成の一例を示す図である。第1プロトコル配送不可フラグ2101は第1通信プロトコル部102への振り分けが不要であることを示すフラグ値が設定される管理情報領域である。第2プロトコル配送不可フラグ2102は、第2通信プロトコル部122への振り分けが不要であることを示すフラグ値が設定される管理情報領域である。それぞれ初期化時は、配送可能を示す値をとる。
【0152】
なお、第1プロトコル配送不可フラグ2101に設定されるフラグ値は、本発明のデータ通信装置における第1経過情報の一例であり、第2プロトコル配送不可フラグ2102に設定されるフラグ値は、本発明のデータ通信装置における第2経過情報の一例である。
【0153】
実施の形態4では、図19に示す各エントリに対して、登録された時点から上記2つのタイマを同時に開始し、第1消去部2001または第2消去部2002のタイマが満了した場合に、それぞれ対応する第1プロトコル配送不可フラグ2101または第2プロトコル配送不可フラグ2102に配送不可を示す値が設定される。結果、両方とも配送不可になった場合は、第1消去部2001または第2消去部2002は、該当するエントリを消去する。
【0154】
パケット受信時の処理において、実施の形態1〜3と異なる部分について記載する。
引渡し先判定部305では、入力されたパケットのSOURCE ADDRESS(3411)、DESTINATION ADDRESS(3412)およびID(3405)の情報の組み合わせと一致する情報の組を有するエントリを検索し特定する。特定したエントリの宛先ポート番号1607から読み出した宛先ポート番号と、パケットとを、引渡し部306へ出力する。
【0155】
このとき、第1プロトコル配送不可フラグ2101または、第2プロトコル配送不可フラグ2102の値も併せて、引渡し部306に出力する。
【0156】
引渡し部306では、宛先ポート番号に該当する通信プロトコル部への通信パスにパケットの振り分けを行なう。
【0157】
具体的には、第1プロトコル配送不可フラグ2101の値が配送不可になっており、かつ、振り分けるべき通信パスが通信パスB、つまりパケットの宛先が第1通信プロトコル部102である場合、そのパケットは廃棄する。同様に、第2プロトコル配送不可フラグ2102の値が配送不可になっており、かつ、振り分けるべき通信パスが通信パスD、つまりパケットの宛先が第2通信プロトコル部122である場合、そのパケットは廃棄する。
【0158】
このように、実施の形態4によれば、先頭パケットが到着した時点で既にタイムアウトが発生している通信プロトコル部へは、IPフラグメントパケットを引き渡さない。したがって、無駄なコピー処理と通信処理を行わず、処理負荷を低減することができる。
【0159】
<実施の形態5>
本発明の実施の形態5として、第1通信プロトコル部102のタイマ値を自動的に測定するための形態を説明する。
【0160】
本発明の実施の形態5について、図20を用いて説明する。
図20は、実施の形態5におけるフラグメント制御部110およびICMP監視部112の機能的な構成を示す機能ブロック図である。なお、図中のパケット振分け部124aは、パケット振分け部124が有する、フラグメント制御部110の機能以外の機能を表す機能ブロックである。
【0161】
図20に示すように、実施の形態5におけるフラグメント制御部110およびICMP監視部112は、実施の形態3におけるフラグメント制御部110にTMO測定開始部2201が追加され、ICMP監視部112にTMOパケット判定部311とTMO測定完了部2202とが追加された構成となっている。
【0162】
AVデータ送信装置10およびAVデータ受信装置13の高速伝送用装置12がTMO測定開始部2201とTMO測定完了部2202を備えることにより、AVデータ送信装置10においてはホスト装置11の、AVデータ受信装置13においてはホスト装置11のタイマ値の測定が可能となる。
【0163】
TMO測定開始部2201と、TMO測定完了部2202の動作について説明する。なお、TMO測定開始部2201は、本発明のデータ通信装置におけるダミーパケット出力手段の一例である。また、TMO測定開始部2201とTMO測定完了部2202とにより、本発明のデータ通信装置におけるタイムアウト計測手段は実現される。
【0164】
まず、TMO測定開始部2201は、ダミーの先頭フラグメントパケットを作成し、通信パスBへ送信する。つまり第1通信プロトコル部102に対して送信する。
【0165】
この時、TMO測定開始部2201は、内部でタイマを起動する。その後、任意の時間が経過すると、先頭フラグメントのみを受け取った第1通信プロトコル部102は、フラグメントの再構築に失敗するので、IPの規格に従い、フラグメントタイムアウト用のICMPエラーメッセージ(TimeExceeded code=1)を送信する。TMO測定完了部2202は、このICMPエラーメッセージを通信パスBを介して、受け取る。
【0166】
TMO測定完了部2202は、フラグメントタイムアウト用のICMPエラーメッセージ(TimeExceeded code=1)であるかをまずチェックし、フラグメントタイムアウト用のICMPエラーメッセージである場合、DATA3605の内容を解析する。実施の形態2の説明で述べたように、その格納されている情報が図5(a)に示すIPヘッダフォーマットであり、DATA3414内に、図12(a)および図12(b)に示したTCPヘッダまたはUDPヘッダのフォーマットが格納されていた場合、その、SOURCE ADDRESS3411、DESTINATION ADDRESS3412およびID3405の情報を参照する。これらの情報が、ダミーの先頭フラグメントパケットの情報と一致した場合、TMO測定開始部2201に対して、測定完了を示す通知を行う。なお、通知の方法は、信号でも、割込みでも、コマンドでもよい。
【0167】
TMO測定開始部2201は、測定完了を示す通知を受け取ると、ダミーの先頭フラグメントパケットを送信した際に起動したタイマを停止する。さらに、ダミーの先頭フラグメントパケットを送信してから測定完了を示す通知を受け取るまでにかかった時間を、第1通信プロトコル部102のタイマ値として、タイマ設定部1901に渡す。
【0168】
実施の形態5によれば、第1通信プロトコル部102のタイマ値を、自動的に測定することができる。一般に、高速伝送用装置は、その用途として、さまざまなAVネットワーク機器のホスト装置と接続することが求められるが、ホスト装置に一切手を加えることなく、具体的にはホスト装置にタイマ値を高速伝送用装置に通知する機能を追加することなく、ホスト装置のタイマ値を取得して、動作することができる。
【0169】
つまり、ホスト装置に、機能を無駄に追加することなく、ホスト装置側のタイマ値を高速伝送用装置が知ることができる。
【0170】
<実施の形態6>
本発明の実施の形態6として、バッファ309の空き容量が少なくなった場合であっても後続パケットを廃棄することなく通信を継続するための形態を説明する。
【0171】
本発明の実施の形態6について、図21および図22を用いて説明する。
図21は、実施の形態6におけるフラグメント制御部110の機能的な構成を示す機能ブロック図である。なお、図中のパケット振分け部124aは、パケット振分け部124が有する、フラグメント制御部110の機能以外の機能を表す機能ブロックである
実施の形態6におけるフラグメント制御部110は、図21に示すように、図10に示す実施の形態1におけるフラグメント制御部110の構成にバッファ量監視部2301とパケット複製制御部2302とが加えられた構成である。
【0172】
なお、バッファ量監視部2301は、本発明のデータ通信装置における容量検出手段の一例であり、パケット複製制御部2302は、本発明のデータ通信装置におけるパケット複製手段の一例である。
【0173】
図22は、実施の形態6における制御情報記憶部307に記憶されている制御情報のデータ構成の一例を示す図である。
【0174】
この制御情報は、バッファ量監視部2301、パケット複製制御部2302、および引渡し先判定部2303によって使用される情報である。
【0175】
各エントリに含まれる強制通信フラグ2405には、そのエントリに対応する後続パケットが、先頭パケットの到着を待たずに、第1通信プロトコル部102および第2通信プロトコル部122へ送信された場合、強制通信を示すフラグ値が登録される。
【0176】
強制通信フラグ2405の登録および、後続パケットの送信は、バッファ量監視部2301、パケット複製制御部2302、および引渡し先判定部2303によって行なわれる。
【0177】
まず、バッファ量監視部2301の動作について説明する。
後続パケット判定部303により、先頭パケットが未受信であると判定された後続パケットはバッファ量監視部2301に渡される。この後続パケットを受けたバッファ量監視部2301は、この後続パケットのパケット長を検出し、バッファ309の空き容量と比較する。
【0178】
このとき“パケット長≦バッファ309の空き容量”であれば、後続パケットをバッファ309に格納する。また、“パケット長>バッファ309の空き容量”であれば、バッファ309に格納することなくパケット複製制御部2302に出力する。さらに、制御情報記憶部307に登録時刻2401、フラグメントID2402、送信元IPアドレス2403、宛先IPアドレス2404の各情報を登録する。
【0179】
次に、パケット複製制御部2302の動作について説明する。
受信した後続パケットをバッファ309に格納できないために、パケット複製制御部2302は、バッファ量監視部2301から受け取った後続パケットを保持し、バッファ309に格納されている後続パケットを、格納された順番に取り出す。さらに、取り出した後続パケットを通信プロトコル部の数だけ複製する。つまり、本実施の形態においては1つの後続パケットを2つに複製する。複製した後続パケットを引渡し先判定部2303に出力する。さらにこのとき、取り出した後続パケットに対するエントリの強制通信フラグ2405に強制通信を示すフラグを設定する。なお、バッファ309に格納された順番の判断には、制御情報の登録時刻2401が用いられる。
【0180】
この処理を“バッファ量監視部2301から受信した後続パケットのパケット長≦バッファ309の空き容量”が成立するまで行う。その後、受信した後続パケットをバッファ309へ格納し、制御情報記憶部307に、登録時刻2401、フラグメントID2402、送信元IPアドレス2403、宛先IPアドレス2404の全ての情報が一致するエントリが無ければ新しいエントリとして登録する。
【0181】
次に、引渡し先判定部2303の動作について説明する。
パケット複製制御部2302から後続パケットを受け取った引渡し先判定部2303は、制御情報記憶部307から、その後続パケットに対応するエントリ情報を読み出す。このとき強制通信フラグ2405に強制通信を示すフラグ値が設定されていれば、受け取った後続パケットと、全ての通信パスに対してその後続パケットを送信する要求とを引渡し部306へ出力する。本実施の形態においては、引渡し部306は、同一の後続パケットを2つずつ受け取ることになり、その後続パケットを、第1通信プロトコル部1および第2通信プロトコル部2に1つずつ送信する。
【0182】
つまり、強制通信フラグ2405に強制通信を示すフラグ値が設定されたエントリに対応する後続パケットは、第1通信プロトコル部1および第2通信プロトコル部2へ送信されることとなる。
【0183】
また、先頭パケット判定部302、後続パケット判定部303からフラグメントパケットを受け取った場合の引渡し先判定部305は、前述した実施の形態1〜5の手順に従って動作する。
【0184】
このように、実施の形態6によれば、複数のフラグメントされたIPフラグメントパケットを受信し、かつ、それぞれのIPフラグメントパケットの先頭パケットを受信しない状態が続く場合など、バッファ309の空き容量が少なくなった場合であっても、後続パケットを破棄することなく通信を継続することができる。また各通信プロトコル部に最低限のバッファを使用するだけで通信を継続することが可能となる。
【0185】
なお、本実施の形態で示した、パケット複製制御部2302が行う制御情報記憶部307への登録時刻2401、フラグメントID2402、送信元IPアドレス2403、宛先IPアドレス2404の登録処理を先頭パケット判定部で行っても良い。また、前述したエントリの登録時刻2401は、登録した順番が分かるものであれば、例えばシーケンス番号でも良い。
【0186】
<実施の形態7>
本発明の実施の形態7として、バッファ309の空き容量が少なくなった場合に、強制通信の対象となった後続パケットに対応する後続パケットを、バッファ309から読み出して優先的に通信プロトコル部へ送信するための形態について説明する。
【0187】
本発明の実施の形態7について、図23を用いて説明する。
図23は、実施の形態7におけるパケット複製制御部2302の動作の流れを示すフローチャートである。
【0188】
なお、実施の形態7におけるフラグメント制御部110の機能ブロックの構成および制御情報のデータ構成は、実施の形態6と同じであり、それぞれ図21および図22に示したものである。
【0189】
実施の形態7におけるパケット複製制御部2302は、バッファ309から後続パケットを取り出す際に強制通信フラグ2405に設定された値を参照し、取り出す後続パケットを選択することを特徴とする。
【0190】
なお、バッファ309から後続パケットを取り出す際の選択方法以外は、実施の形態6と同様の動作であるため、その差分を中心に説明する。
【0191】
まず、実施の形態6で示すように、受信した後続パケットがバッファ309に格納できない場合は、バッファ量監視部2301からパケット複製制御部2302へ後続パケットが渡される。
【0192】
次に、パケット複製制御部2302は制御情報記憶部307に登録されているエントリで強制通信フラグ2405に強制通信を示すフラグ値が設定されているものがあるかを検索する。
【0193】
強制通信を示すフラグ値が設定されたエントリがあれば(S2501でYes)、そのエントリに対応する後続パケット、つまりエントリに含まれるフラグメントID2402、送信元IPアドレス2403、宛先IPアドレス2404の情報が一致する後続パケットを検索する(S2506)。
【0194】
一致する後続パケットがある場合(S2507でYes)、その後続パケットをバッファ309から取り出し、引渡し先判定部へ出力する(S2508)。この処理を“バッファ量監視部2301から受信した後続パケットのパケット長≦バッファ309の空き容量”が成立するまで行う(S2509でNo)、バッファ309の空き容量が上記条件を満たすまでになった場合(S2509でYes)、受信した後続パケットをバッファ309へ格納する。さらに、制御情報記憶部307に登録時刻2401、フラグメントID2402、送信元IPアドレス2403、宛先IPアドレス2404を登録する。
【0195】
実施の形態7では、強制通信を示すフラグ値が設定されたエントリが無い場合(S2501でNo)、または、強制通信を示すフラグが設定されたエントリはあるが、そのエントリに対応する後続パケットが無い場合(S2507でNo)は、制御情報記憶部307に登録されたエントリの中から最も古い登録時刻をもつエントリ(以下、「最古のエントリ」という。)を検索する(2502)。パケット複製制御部2302は、最古のエントリを検出すると、最古のエントリの強制通信フラグ(2405)に強制通信を示すフラグ値を設定する。以降の動作は実施の形態6に従うものとする。
【0196】
このように、実施の形態7によれば、各通信プロトコル部に対し、強制通信を示すフラグ値が設定されたエントリに対応する後続パケットを優先的に送信することが可能である。つまり、実施の形態6と同様に、後続パケットを破棄することなく、かつ、バッファを効率よく使用することが可能となる。さらに、各通信プロトコル部は複数のフラグメントされたIPフラグメントパケットを受信処理している状態であっても、優先的に送られるフラグメントパケットの再構築処理のみを行うだけでよく、再構築処理にかかるオーバーヘッドを抑制できる。
【0197】
<実施の形態8>
本発明の実施の形態8として、バッファ309の空き容量が少なくなった場合に、より多くのバッファ309の空き容量を確保するための形態について説明する。
【0198】
本発明の実施の形態8について、図24を用いて説明する。
図24は、実施の形態8におけるパケット複製制御部2302の動作の流れを示すフローチャートである。
【0199】
なお、実施の形態8におけるフラグメント制御部110の機能ブロックの構成および制御情報のデータ構成は、実施の形態6および7と同じであり、それぞれ図21および図22に示したものである。
【0200】
実施の形態8におけるパケット複製制御部2302は、図24に示すように、バッファ309から後続パケットを取り出す際に、後続パケットのサイズを考慮して取り出す後続パケットを選択することを特徴とする。
【0201】
なお、実施の形態8では、バッファ309から後続パケットを取り出す際の選択方法以外は、実施の形態7と同様の動作であるため、その差分のみを説明する。
【0202】
本実施の形態では、実施の形態7において制御情報記憶部307に登録されているエントリの強制通信フラグ2405に強制通信を示すフラグ値が設定されているものが無い場合(S2501でNo)のバッファ309の有効な使用方法を示す。
【0203】
この場合、制御情報記憶部307に登録されているエントリの中で、バッファ309に格納されている後続パケットの合計サイズが、最も大きなエントリを選択する(S2601)。
【0204】
つまり、実施の形態7では、バッファ309に格納されている後続パケットのうち、最古のエントリに対応する後続パケットを強制通信の対象とするのに対し、実施の形態8では、合計サイズが最大となるエントリに対応する後続パケットを強制通信の対象としている。
【0205】
このように、実施の形態8によれば、バッファ309の空き容量が少なくなった際、フラグメント制御部110内のバッファ309から一度に大量の後続パケットを取り出し、各通信プロトコル部へ送信することが可能となる。その結果、バッファ309からより多くの空き容量を確保することが可能となり、より多くの後続パケットを格納することが可能となる。つまり、実施の形態7よりもバッファを効率よく使用することができる。
【0206】
なお、フラグメント制御部110は、実施の形態7の特徴と実施の形態8の特徴とを併せ持ってもよい。例えば、バッファ309の空き容量が少なくなり、かつ、強制通信の対象となった後続パケットがない場合、まず、合計サイズが最大となるエントリを検索する。この検索の結果、同一のサイズとなるエントリが複数あった場合、最古のエントリを選択し、そのエントリに対応する後続パケットを強制通信の対象としてもよい。
【0207】
こうすることで、さらに、バッファ309の使用における効率化を向上させることが可能となる。
【0208】
<実施の形態9>
本発明の実施の形態9として、各通信プロトコル部のパケットの再構築処理に係る負担を軽減させるための形態を説明する。
【0209】
本発明の実施の形態9について、図25を用いて説明する。
図25は、実施の形態9におけるフラグメント制御部110の機能的な構成を示す機能ブロック図である。なお、図中のパケット振分け部124aは、パケット振分け部124が有する、フラグメント制御部110の機能以外の機能を表す機能ブロックである。
【0210】
図25に示すように、実施の形態9におけるフラグメント制御部110は、図10に示す実施の形態1におけるフラグメント制御部110の構成に順序制御部2701が加えられた構成である。順序制御部2701は、本発明のデータ通信装置における整列手段の一例である。
【0211】
実施の形態9では、先頭パケット判定部302から引渡し先判定部305へIPフラグメントパケットを送信するときの方法以外は、実施の形態1と同様の動作である。そのため、実施の形態1との差分を中心に説明する。
【0212】
実施の形態1に示す先頭パケット判定部302では、入力された受信パケットが先頭パケットであるかどうかを判断し、先頭パケットだった場合、制御情報記憶部307の情報を参照し、その先頭パケットに対応する後続パケットがバッファ309に格納されているかを確認する。該当する後続パケットがある場合には受信した先頭パケットと、該当する後続パケットを引渡し先判定部305へ送信するという動作を行う。
【0213】
しかし、このとき引渡し先判定部305に送信される先頭パケットおよび後続パケットは、フラグメント再構築に適した順番となる保証は無く各通信プロトコル部は順不同で受け取るフラグメントパケットを再構築しなければならない。
【0214】
そこで、図25に示す順序制御部2701では、先頭パケット判定部302から受け取った先頭パケットおよび後続パケットを、IPフラグメントパケットの並び順を示すOFFSET3407の値で昇順に整列し、引渡し先判定部へ通信する。
このように、実施の形態9によれば、フラグメント制御部110がフラグメントパケットを順不同で受信した場合でも、先頭パケットを含む受信済みの全ての後続パケットを正しく並べ替えたうえで、各通信プロトコル部に送信することが可能となる。これにより、各通信プロトコル部におけるパケットの再構築処理に係る負担を軽減することが出来る。
【0215】
<実施の形態10>
本発明の実施の形態10として、ICMPエラーパケットの処理に係る負担を低減することのできる形態について説明する。
【0216】
本発明の実施の形態10について、図26〜図28を用いて説明する。
図26は、実施の形態10におけるAVデータ送信装置10およびAVデータ受信装置13の機能的な構成を示す機能ブロック図である。
【0217】
図26に示すように、実施の形態10のAVデータ送信装置10およびAVデータ受信装置13は、図1に示した従来のAVデータ送信装置10およびAVデータ受信装置13と比較すると、パケット振り分け部124内に、ICMP制御部510を持つことを特徴とする。ICMP制御部510は、受信したICMPエラーメッセージパケットを効率的に処理する処理部である。
【0218】
図27は、実施の形態10におけるICMP制御部510の機能的な構成を示す機能ブロック図である。なお、図中のパケット振分け部124aは、パケット振分け部124が有する、ICMP制御部510の機能以外の機能を表す機能ブロックである。
【0219】
ICMP制御部510は、図16に示したパケットフォーマットのICMPエラーメッセージパケットを受信する。
【0220】
図16に示す、ICMPエラーメッセージパケットのDATA3605には、エラーの発生したパケットにおけるIPヘッダとIPヘッダに続くデータの先頭64ビットが格納される。したがって、エラーの発生したパケットがTCPパケットまたはUDPパケットであった場合、図12(a)に示すTCPヘッダにおける送信元ポート番号3501および宛先ポート番号3502、または、図12(a)に示すUDPヘッダにおける送信元ポート番号3513および宛先ポート番号3514が含まれる。
【0221】
ICMP制御部510は、このICMPエラーメッセージパケットのDATA3605に格納されている情報を利用して、ICMPエラーメッセージパケットを適切な出力先に出力することができる。
【0222】
なお、常に、DATA3605にエラーパケットの情報が格納されているのではなく、ICMPエラーメッセージパケットに含まれるエラーメッセージの種類を示す情報によりエラーパケットの情報が格納されているか否かを判定することができる。
【0223】
図28は、ICMPエラーメッセージパケットのDATA3605にエラーパケットの情報が格納される場合の代表的なICMPエラーメッセージの種類を示す図である。
【0224】
図28に示す“タイプ”および“コード”は、図16に示すフォーマットのタイプ3601およびコード3602のそれぞれに格納されている。
【0225】
なお、エラーメッセージ以外のメッセージを通知するためのICMPパケットも図16に示すパケットフォーマットと同じフォーマットである。ICMPパケットがICMPエラーメッセージパケットであるか否かは、そのICMPパケットのタイプ3601に格納されている値により判定可能である。
【0226】
図28に示すタイプ“3”、“11”、および“12”は、ICMPパケットがICMPエラーメッセージパケットであると判定されるタイプの例である。この判定は、ICMP判定部601により行われる。
【0227】
さらに、コード3602に格納されている値により、DATA3605にエラーパケットの情報が格納されているか否かの判断が可能である。
【0228】
図28に示す“0”から“15”までのコードは、DATA3605にエラーパケットの情報が格納されていると判定されるコードの例である。この判定は、エラーパケット判定部602により行われる。
【0229】
ICMP制御部510の動作について説明する。
まず、送受信部123がネットワークからパケットを受信すると、ICMP判定部601へ受信パケットが入力される。
【0230】
ICMP判定部601は、ICMPパケットであるか否かを判定する。判定の結果、ICMPパケットでない場合、パケット振り分け部124aへと受信パケットを出力する。出力されたパケットは、パケット振り分け部124aの処理により適切な通信パスへと振り分けられる。また、判定の結果、ICMPパケットであった場合、エラーパケット判定部602へ出力する。
【0231】
エラーパケット判定部602は、入力されたICMPパケットのタイプ3601からICMPパケットがICMPエラーメッセージパケットであるか否かを判定する。判定の結果、ICMPエラーメッセージパケットでなかった場合、パケット複製部605に出力する。また、判定の結果、エラーパケットであった場合、入力されたICMPパケットのコード3602からDATA3605にエラーパケット情報が格納されているか否かを判定する。
【0232】
上述のように、図28に示すタイプおよびコードは、ICMPパケットがICMPエラーメッセージパケットであり、かつ、DATA3605にエラーパケット情報が格納されていることを示すタイプおよびコードの例である。
【0233】
DATA3605にエラーパケット情報が格納されていない場合、パケット複製部605に出力する。DATA3605にエラーパケット情報が格納されている場合、TCPヘッダまたはUDPヘッダが格納されているかを判定する。さらに、TCPヘッダまたはUDPヘッダに含まれるパケットの送信元ポート番号と第2通信プロトコル部122が使用しているポート番号とを照合する。
【0234】
照合の結果、一致した場合、このICMPエラーメッセージパケットの出力先は第2通信プロトコル部122であると判定する。また、照合の結果、一致しなかった場合、このICMPエラーメッセージパケットの出力先は第1通信プロトコル部102であると判定する。
【0235】
なお、第2通信プロトコル部122が使用しているポート番号の情報は、パケット振り分け部124の所定の記憶領域に保持されている。
【0236】
そして、ICMPエラーメッセージパケットと、その出力先を示す情報とを引渡し部604へ出力する。
【0237】
引渡し部604は、入力されたICMPエラーメッセージパケットを、入力された出力先を示す情報に従って、出力すべき通信パスへ振り分ける。
【0238】
なお、パケット複製部605は、入力されたICMPパケットを複製し、第1通信プロトコル部102および第2通信プロトコル部122の双方へ出力する指示とともに、2つのICMPパケットを引渡し部604へ出力する。
【0239】
引渡し部604は、入力された2つのICMPパケットを入力された指示に従って、通信パスBおよび通信パスCへ出力する。
【0240】
このように、エラーパケット判定部602と引渡し部604とにより、本発明のデータ通信装置におけるエラー出力手段が実現される。また、パケット複製部605と引渡し部604とにより、本発明のデータ通信装置におけるエラー複製手段が実現される。
【0241】
実施の形態10によれば、従来のICMP複製部で行っていたパケットの複製を、複製が必要なICMPエラーメッセージパケットのみに行うことが可能となる。
【0242】
これにより、パケットの複製処理にともなう負荷を低減することができる。さらに、従来では、第1通信プロトコル部102でのデータ通信にエラーが多発した際、ICMPエラーメッセージパケットは、第2通信プロトコル部122にも出力されることとなる。つまり、第2通信プロトコル部122では無関係のエラーパケットを処理しなければならず、第2通信プロトコル部122を使ったデータ通信の転送レートを劣化させる影響を及ぼしていた。
【0243】
本実施の形態によれば、第1通信プロトコル部102宛のICMPエラーメッセージパケットによる第2通信プロトコル部122への影響を最低限のものにすることができる。
【0244】
<実施の形態11>
本発明の実施の形態11は、第1通信プロトコル部102を使用するアプリケーションプログラムのポート番号と、第2通信プロトコル部122を使用するアプリケーションプログラムのポート番号との排他制御に関する形態について説明する。
【0245】
本発明の実施の形態11について、図29および図30を用いて説明する。
図29は、実施の形態11におけるAVデータ送信装置10とAVデータ受信装置13の機能的な構成を示す機能ブロック図である。
【0246】
図29に示すように、AVデータ受信装置13のホスト装置14にポート予約制御部801を持つことを特徴とする。
【0247】
ポート予約制御部801は、AV伝送クライアントAPP107が使用するポート番号を第1通信プロトコル部に登録する処理部である。
【0248】
図30は、実施の形態11におけるポート予約制御部801の機能的な構成を示す機能ブロック図である。図30を用いてポート予約制御部801の構成および動作について説明する。ポート番号確定部903は、AVデータの伝送を行うクライアントアプリケーションプログラムであるAV伝送クライアントAPP107からの接続要求を受け取る。接続要求を受け取ると、ポート番号(X)を確定する。ポート番号(X)はOSから提供されるサービスコールの時間管理機能(GET_TIM)で取得した値を使用してランダムに確定する。なお、ポート番号確定部903は本発明のデータ通信装置におけるポート番号決定手段の一例である。
【0249】
このポート番号(X)は0〜65535の範囲の未使用ポート番号の中からランダムに確定される。ポート番号確定部903は、その確定したポート番号(X)をポート番号登録部902へ出力する。
【0250】
なお、このポート番号(X)はランダム関数で確定してもよい。また、未使用のポート番号を順に検索して使用してもよい。
【0251】
一般的なことであるが、ポート番号(X)の登録はソケットが提供するAPIを使用して行なう。使用するAPIは、SOCKET、BIND、CONNECT、およびCLOSESOCKETである。SOCKETはソケットを生成、BINDはソケットのポート番号や通信方式を登録、CONNECTはサーバに接続要求を行って通信回線を確立、CLOSESOCKETは通信回線を切断してソケットを閉じる役割を持つ。
【0252】
ポート番号登録部902はSOCKETを使用し、第1I/F部101とのソケットを生成する。次に、BINDを使用し、確定したポート番号(X)を第1I/F部101へ登録する。
【0253】
第1I/F部においてポート番号(X)が使用中である場合、第1I/F部101はポート番号登録部902に登録失敗を示す情報を返す。ポート番号登録部902はAV伝送クライアントAPP107へ接続エラー通知を行う。
【0254】
第1I/F部においてポート番号(X)が未使用の場合、第1I/F部101はポート番号登録部902に登録成功を示す情報を返す。ポート番号登録部902は第2I/F部121に対してSOCKETおよびCONNECTを使用し、ポート番号(X)を使用して接続要求を行う。
【0255】
また、第2I/F部121から切断通知を受けると、ポート番号削除部901はCLOSESOCKETを使用して、第1I/F部101から使用ポート番号(X)を削除する。その後、ポート番号削除部901はAV伝送クライアントAPP107に対して切断通知を行う。
【0256】
このように、実施の形態11によれば、第1I/F部101へ使用ポート番号(X)を登録することで、第1I/F部101を改変せずに、AV伝送クライアントAPP107が使用するポート番号と、第1I/F部101を使用するクライアントAPP108等のポート番号との排他制御が可能となる。
【0257】
なお、本実施の形態はAV伝送サーバAPP104がウェルノウンポート以外(1024〜65535)で通信する場合にも適用できる。
【0258】
<実施の形態12>
本発明の実施の形態12として第1通信プロトコル部に対するポート番号の予約を確実に行なうための形態について説明する。
【0259】
本発明の実施の形態12について、図31を用いて説明する。
図31は、実施の形態12におけるポート予約制御部801の機能的な構成を示す機能ブロック図である。
【0260】
図31に示すように、実施の形態12におけるポート予約制御部801は、図30に示した実施の形態12におけるポート予約制御部801が有する構成に加え、繰り返し要求部2803を有することを特徴とする。繰り返し要求部2803は、本発明のデータ通信装置における繰り返し制御手段の一例であり、第1I/F部101に対して、ポート番号の登録の要求を繰り返し行なう処理部である。
【0261】
実施の形態12では、ポート番号登録部2801とポート番号確定部2802と繰り返し要求部2803の動作以外は、実施の形態11と同様の動作であるため、その差分のみを説明する。
【0262】
ポート番号登録部2801は第1I/F部101へのポート番号(X)の登録に失敗した場合、繰り返し要求部2803に対して接続エラー通知を行う。
【0263】
繰り返し要求部2803はポート番号登録部2801から接続エラー通知を受けると、ポート番号確定部2802に新たなポート番号の登録要求を行う。繰り返し要求部2803は繰り返し回数(N回)の制限機能を備え、ポート番号の登録に失敗し続けた場合に要求を無限に繰り返さないようにする。
【0264】
繰り返し要求部2803は、接続エラー通知を受けた回数が繰り返し回数(N回)未満の場合、繰り返し要求部2803はポート番号確定部2802へ新たなポート番号の登録の要求を行う。接続エラー通知を受けた回数が繰り返し回数(N回)に達した場合、繰り返し要求部2803はAV伝送クライアントAPP107にエラー通知を行う。
【0265】
このように、実施の形態12によれば、ポート予約制御部801に繰り返し要求部2803を設けることで第1I/F部101へのポート番号の登録を繰り返し行うことができる。したがって、ポート番号確定部2802が、第1I/F部101においてすでに使用されていたポート番号を選択してしまった場合でも、異なるポート番号に変えて再登録を繰り返す。そのため、偶発的に発生するポート番号の衝突により、ポート番号の予約が失敗に終わることを回避することができ、実質的に、第1I/F部101に対するポート番号の予約を確実なものにすることができる。
【0266】
尚、本実施の形態で示した、繰り返し要求部(2803)の繰り返し制限は期間(例えば、M秒間)で行ってもよい。また、AV伝送クライアントAPP107が接続要求を行なうとともに回数または期間を指定する構成でもよい。
【0267】
尚、本実実施の形態はAV伝送サーバAPP104がウェルノウンポート以外(1024〜65535)で通信する場合にも使用できる。
【0268】
<実施の形態13>
本発明の実施の形態13として、通信先の機器の物理アドレスの解決を効率的に行なうことができる形態について説明する。
【0269】
本発明の実施の形態13について、図32〜図35を用いて説明する。
図32は、実施の形態13のAVデータ送信装置10およびAVデータ受信装置13の機能的な構成を示す機能ブロック図である。
【0270】
図32に示すように、実施の形態13のAVデータ送信装置10およびAVデータ受信装置13は、高速伝送用装置12の送受信部123にARP監視制御部1001を持つことを特徴とする。
【0271】
ARP監視制御部1001は、通信先の機器の物理アドレスの解決を要求およびその応答であるARP要求パケットおよびARP応答パケットの送受信を監視し、ARP応答パケット受信した場合に適切な出力先に出力する処理部である。
【0272】
図33は、実施の形態13におけるARP監視制御部1001の機能的な構成を示す機能ブロック図である。なお、図中のパケット振分け部124aは、パケット振分け部124が有する、ARP監視制御部1001の機能以外の機能を表す機能ブロックである。
【0273】
なお、ARP要求パケット判定部1201は、本発明のデータ通信装置におけるARP要求受付手段の一例であり、ARP応答パケット判定部1204は、本発明のデータ通信装置におけるARP応答受信手段とであり、引渡し部1206は、本発明のデータ通信装置における応答出力手段の一例である。
【0274】
ARP監視制御部1001は、通信パスBまたは通信パスDにより直接接続されている第1通信プロトコル部102または第2通信プロトコル部122からARP要求パケットを受け取ると、そのARP要求パケットに関する情報をARP情報記憶部1203に記憶する。
【0275】
図34は、実施の形態13におけるARP情報記憶部1203に記憶されたARP情報のデータ構成例を示す図である。
【0276】
図34に示すように、ARP情報記憶部1203には、ARP監視制御部1001が受け取ったARP要求パケットごとに、そのARP要求パケットに関する情報が1つのエントリとして記憶されている。
【0277】
各エントリの通信パスB要求ビット1301および通信パスD要求ビット1302は、ARP監視制御部1001がARP要求パケットを受け取った際、どちらの通信プロトコル部から送られてきたかを示す情報である。例えば、通信パスB要求ビット1301が立っている、つまり、通信パスB要求ビット1301が“1”である場合、そのエントリに対応するARP要求パケットは、通信パスBから送られてきたことを示す。ARP要求パケットが通信パスBから送られてきたということは、そのARP要求パケットは第1通信プロトコル部102から送られてきたことを意味する。
【0278】
同様に、通信パスD要求ビット1302が“1”である場合は、そのARP要求パケットは第2通信プロトコル部122から送られてきたことを意味する。通信パスB要求ビット1301および通信パスD要求ビット1302は、どちらか一方のみが“1”に設定される。
【0279】
ターゲットIPアドレス1303は、ARP要求パケットの宛先のIPアドレスを示す情報である。ターゲットIPアドレス1303の後ろの“(1)”等はエントリ番号に対応している。ターゲットIPアドレスは、ARP要求パケットに含まれる情報である。
【0280】
図35は、ARPパケットのパケットフォーマットを示す図である。ARP要求パケットおよびARP応答パケットのパケットフォーマットは、図35に示すパケットフォーマットである。
【0281】
図35に示す探索IPアドレス3712が、ARPパケットの宛先のIPアドレスである。つまり、図34に示すARP情報のエントリのターゲットIPアドレス1303には、ARP要求パケットに含まれる探索IPアドレス3712が格納される。
【0282】
ARP監視制御部1001の動作について説明する。
ARP監視制御部1001は通信パスBまたは通信パスDから送信パケットを受けると、ARP要求パケット判定部1201へ送信パケットを入力する。ARP要求パケット判定部1201では、送信パケットがARP要求パケットかどうかを判定する。なお、ARP要求パケットであるかどうかの判定方法は、一般的なIPプロトコルの仕様であるため記載は省略する。
【0283】
ARP要求パケットでない場合、送受信部123へ送信パケットを出力する。ARP要求パケットである場合、要求元判定部1202へ送信パケットを出力する。
【0284】
要求元判定部1202はARP要求パケットの探索IPアドレス3712を読み出し、ARP要求パケットの送信元(以下、「ARP要求元」という。)を判定する。判定後、ARP情報記憶部1203へのエントリの登録を行なう。そのエントリのターゲットIPアドレス1303には探索IPアドレス3712が記録され、通信パス要求ビットが設定される。
【0285】
具体的には、要求元判定部1202は、ARP要求元が第1通信プロトコル部102の場合は通信パスB要求ビット1301を“1”に設定し、第2通信プロトコル部122の場合は通信パスD要求ビット1302を“1”に設定する。
【0286】
ARP情報記憶部1203へのエントリの登録後、要求元判定部1202は送受信部123へARP要求パケットである送信パケットを出力する。
【0287】
その後、ARP監視制御部1001は、ネットワークを介して送信され、送受信部123により受信された受信パケットを受け取る。受け取られた受信パケットはARP応答パケット判定部1204へ入力される。ARP応答パケット判定部1204は、受信パケットがARP応答パケットであるか否かを判定する。なお、ARP応答パケットであるかどうかの判定方法は、一般的なIPプロトコルの仕様であるため記載は省略する。受信パケットがARP応答パケットでない場合、パケット振り分け部124aへ受信パケットを出力する。受信パケットがARP応答パケットである場合、応答出力先判定部1205へ受信パケットを出力する。
【0288】
応答出力先判定部1205では、ARP応答パケットの送信元IPアドレス3710とARP情報記憶部1203に記憶されているターゲットIPアドレス1303とを比較し、一致しているエントリを探す。一致したエントリの通信パスB要求ビット1301および通信パスD要求ビット1302のどちらに“1”が設定されているかによりARP応答パケットを出力すべき通信パスを判定する。
【0289】
判定後、応答出力先判定部1205は引渡し部1206に対して、判定した通信パスへARP応答パケットを出力するように要求する。
【0290】
引渡し部1206は、応答出力先判定部1205から要求される出力先にARP応答パケットを出力する。ARP応答パケットは、通信パスBに出力された場合は第1通信プロトコル部102に受け取られ、通信パスDに出力された場合は第2通信プロトコル部122に受け取られる。
【0291】
このように、実施の形態13では、パケット振り分け部124の内部にARP監視制御部1001が備えられる。さらに、ARP監視制御部1001が有するARP情報記憶部1203にARP要求パケットの宛先であるターゲットIPアドレスを示す情報とARP要求元を示す情報とが対応付けられて記憶される。これにより、ARP要求パケットに対する応答であるARP応答パケットを適切に振り分けることが可能となる。
【0292】
結果として、ホスト装置11およびホスト装置14への機能の追加を行なうことなく、また、処理の負荷を増加させることなく、効率的に物理アドレスの解決を行なうことができる。さらに、AV伝送を行うアプリケーションプログラム(AV伝送サーバAPP104およびAV伝送クライアントAPP107)が第1通信プロトコル部102を使用することなく、物理アドレスの解決を行うことができる。
【0293】
なお、要求元判定部2901が、ARP要求元を判定する方法は、上述のARP要求パケットのPROTOCOL3707の情報などを利用してもよい。また、例えば、どの通信パスからARP要求パケットが送られてきたかの情報を、ARP要求パケット判定部1201から受け取り、その情報を利用してもよい。
【0294】
<実施の形態14>
本発明の実施の形態14として、通信先の機器の物理アドレスの解決を効率的に行い、かつ、ネットワーク上の負荷を低減すことができる形態について説明する。
【0295】
本発明の実施の形態14について図36を用いて説明する。
図36は、実施の形態14におけるARP監視制御部1001の機能的な構成を示す機能ブロック図である。
【0296】
図36に示すように、実施の形態14におけるARP監視制御部1001は、図33に示した実施の形態13におけるARP監視制御部1001が有する構成に加え、パケット複製部2903を有することを特徴とする。なお、要求元判定部2901は、本発明のデータ通信装置におけるARP要求元判定手段の一例であり、パケット複製部2903は、本発明のデータ通信装置におけるARPパケット複製手段の一例である。
【0297】
なお、実施の形態14におけるARP情報記憶部に1203記憶されているARP情報のデータ構成は、図34に示したデータ構成と同じである。また、実施の形態14におけるARP監視制御部1001が扱うARPパケットのパケットフォーマットは、図35に示したパケットフォーマットと同じである。
【0298】
実施の形態14では、2つの通信プロトコル部から受け取ったARP要求パケットのそれぞれの宛先が同一であった場合の要求元判定部2901、応答出力先判定部2902およびパケット複製部2903の動作以外は、実施の形態13における各構成部の動作と同様の動作である。そのため、実施の形態13との差分のみを説明する。
【0299】
要求元判定部2901は、ARP要求パケット判定部1201から受け取ったARP要求パケットに含まれる探索IPアドレス3712が、ターゲットIPアドレス1303としてARP情報記憶部1203にすでに登録されているか否かを確認する。登録されていた場合、新たにエントリを追加せず、その探索IPアドレス3712がターゲットIPアドレス1303に記録されているエントリに、ARP要求元に対応する通信要求ビットを設定する。つまり、通信パスB要求ビット1301または通信パスD要求ビット1302を“1”に設定する。また、ARP要求パケットは送信せずに廃棄する。
【0300】
例えば、第1通信プロトコル部102から、IPアドレス“111.111.111.111”に対するARP要求パケットが送信され、その応答が帰ってくる前に、第2通信プロトコル部122から、同じIPアドレス“111.111.111.111”に対するARP要求パケットが送信された場合を想定する。
【0301】
この場合、第1通信プロトコル部102および第2通信プロトコル部122は、ともに同じ機器の物理アドレスの解決を要求している。従って、先に送信されたARP要求パケットのみを宛先に送信し、その応答を第1通信プロトコル部102だけでなく第2通信プロトコル部122にも送信すればよい。
【0302】
そこで、先に送信されたARP要求パケットに対応するARP応答パケットを第2通信プロトコル部122にも送信するために、要求元判定部2901は、先に送信されたARP要求パケットに対応するエントリの通信パスD要求ビット1302も“1”に設定する。
【0303】
ARP応答パケットが両方の通信プロトコル部に送信される際の各処理部の動作は以下のようになる。
【0304】
応答出力先判定部2902は、ARP応答パケット判定部1204から受け取ったARP応答パケットの送信元IPアドレス3710とARP情報記憶部1203に記憶されているターゲットIPアドレス1303とを比較し、一致しているエントリを探す。一致したエントリの通信パスB要求ビット1301および通信パスD要求ビット1302のそれぞれに“1”が設定されているか否かでARP要求元を判定する。
【0305】
通信パスB要求ビット1301および通信パスD要求ビット1302の両方に“1”が設定されている場合、応答出力先判定部2902はパケット複製部2903にARP応答パケットを出力する。
【0306】
パケット複製部2903はARP応答パケットを複製し、引渡し部1206に対して通信パスBおよび通信パスDへARP応答パケットを出力するように要求する。
【0307】
引渡し部1206は、要求に従い、両方の通信パスにARP応答パケットを出力する。その結果、第1通信プロトコル部102および第2通信プロトコル部122はともにARP応答パケットを受け取ることができる。
【0308】
このように、実施の形態14では、実施の形態13と同じく、パケット振り分け部124の内部にARP監視制御部1001が備えられ、ARP情報記憶部1203にARP要求パケットのターゲットIPアドレスとARP要求元とが対応付けられて1つのエントリとして記憶される。
【0309】
しかし、実施の形態13とは異なり、ARP監視制御部1001は、両方の通信プロトコル部から同じターゲットIPアドレスへのARP要求パケットを受けた場合、1つのARP要求パケットのみを送信する。さらに、そのARP要求パケットに対応するエントリに、2つの要求元を示す情報が登録される。その後、そのARP要求パケットへの応答であるARP応答パケットを受信した場合、両方の通信プロトコル部に出力する。
【0310】
結果として、実施の形態14のAVデータ送信装置10およびAVデータ受信装置13は、必要のないARP要求パケットの送出処理を行なわず、さらに、そのARP要求パケットへの応答であるARP応答パケットの受信処理を行う必要がない。つまり、実施の形態14のAVデータ送信装置10およびAVデータ受信装置13は、実施の形態13の説明で述べた物理アドレスの解決処理の効率化に加え、ネットワーク上の負荷を低減することができるという効果を有する。
【0311】
<実施の形態15>
本発明の実施の形態15として、通信先の機器の物理アドレスの解決を効率的に行い、かつ、ネットワーク上の負荷をさらに低減すことができる形態について説明する。
【0312】
本発明の実施の形態15について、図37を用いて説明する。
図37は、実施の形態15におけるARP監視制御部1001の機能的な構成を示す機能ブロック図である。
【0313】
図37に示すように、実施の形態15のARP監視制御部1001は、図36に示した実施の形態14のARP監視制御部1001が有する構成に加え、テーブル参照部3001と応答パケット生成部3002とを有することを特徴とする。応答パケット生成部3002は、本発明のデータ通信装置におけるARP応答生成手段の一例である。
【0314】
また、第2通信プロトコル部122が有するアドレス解決テーブル3003は、解決された、通信先の機器の物理アドレスをその機器のIPアドレスと対応付けて記録するためのテーブルである。
【0315】
また、アドレス解決テーブル3003は、第2通信プロトコル部122の要求により解決された物理アドレスだけでなく、第1通信プロトコル部102の要求により解決された物理アドレスも記録されている。
【0316】
実施の形態15におけるARP監視制御部1001の動作は、テーブル参照部3001、応答パケット生成部3002、および応答出力先判定部3004の動作以外は、実施の形態14における各構成部の動作と同様の動作である。そのため、実施の形態14との差分のみを説明する。
【0317】
ARP要求パケット判定部1201は送信パケットがARP要求パケットである場合、テーブル参照部3001へ送信パケットを出力する。
【0318】
テーブル参照部3001は、第2通信プロトコル部122が備えるアドレス解決テーブル3003を参照し、このARP要求パケットのターゲットIPアドレスが記録されているか否かを確認する。該当するターゲットIPアドレスが記録されていない場合、要求元判定部2901にARP要求パケットを出力する。
【0319】
該当するターゲットIPアドレスが記録されている場合、テーブル参照部3001は、そのターゲットIPアドレスと対応付けられた物理アドレスをアドレス解決テーブル3003から読み出す。更に、ARP要求パケットを廃棄し、応答パケット生成部3002へ、読み出した物理アドレスを通知するとともに、ARP応答パケットの生成を要求する。
【0320】
ここで、この廃棄されたARP要求パケットの宛先であるターゲットIPアドレスがアドレス解決テーブル3003に記録されているということは、このARP要求パケットの送信元は、第2通信プロトコル部122ではないことが分かる。つまり、応答パケット生成部3002により生成されるARP応答パケットは、第1通信プロトコル部102へ出力されればよい。
【0321】
応答パケット生成部3002は、テーブル参照部3001から受け取った物理アドレスを用いARP応答パケットを生成する。
【0322】
生成後、引渡し部1206に対して、通信パスBへARP応答パケットの出力要求を行う。引渡し部1206はARP応答パケットを通信パスBへ出力する。出力されたARP応答パケットは、第1通信プロトコル部102に受け取られる。
【0323】
このように、すでに解決済みの物理アドレスの解決を要求するARP要求パケットは送出されることがない。
【0324】
また、解決していない物理アドレス、つまり、アドレス解決テーブル3003に記録されていないターゲットIPアドレスに対応する物理アドレスは、以下の動作によりアドレス解決テーブル3003に追加される。
【0325】
応答出力先判定部3004は、ARP応答パケット判定部1204からARP応答パケットを受け取る。さらに、そのARP応答パケットの送信元IPアドレス3710とARP情報記憶部1203に記憶されているARP情報とから、ARP応答パケットの出力先の通信パスが通信パスBであるのか通信パスDであるのかを判定する。
【0326】
判定の結果、出力先が通信パスBである場合、第2通信プロトコル部122が備えるアドレス解決テーブル3003に、そのARP応答パケットの送信元IPアドレス3710が記録されていないことを確認する。確認後、アドレス解決テーブル3003にその送信元IPアドレス3710と、ARP応答パケットに含まれる物理アドレスとを追加記録する。
【0327】
なお、ARP応答パケットの出力先の通信パスが通信パスDである場合は、そのARP応答パケットは第2通信プロトコル部122に出力される。そのため、第2通信プロトコル部122で、アドレス解決テーブル3003への新たな物理アドレスの追加記録が行なわれる。
【0328】
このように、実施の形態15によれば、ARP監視制御部1001にテーブル参照部3001を設けることにより、第2通信プロトコル部122および第1通信プロトコル部102においてすでに物理アドレスが解決されているIPアドレスへはARP要求パケットを送信しなくてもよい。したがって、冗長なパケットの送出をふせぐことができる。従って、実施の形態14と比較すると、さらにネットワーク上の負荷を低減することができる。
【0329】
<実施の形態16>
上述の本発明の実施の形態1〜15の説明では、各実施の形態において特徴的な構成部についてのみ説明を行なった。しかしながら、AVデータ送信装置10およびAVデータ受信装置13は、各実施の形態において特徴的な構成部を複数同時に備えていてもよい。
【0330】
図38は、本発明において特徴的な構成部を複数有するAVデータ送信装置10およびAVデータ受信装置13の機能的な構成を示す機能ブロック図である。
【0331】
図38に示すAVデータ送信装置10およびAVデータ受信装置13は、実施の形態1におけるAVデータ送信装置10およびAVデータ受信装置13に、実施の形態2におけるICMP監視部112と、実施の形態10におけるICMP制御部510と、実施の形態13におけるARP監視制御部1001とが備えられ、AVデータ受信装置13には、さらに、実施の形態11におけるポート予約制御部801が備えられている。
【0332】
例えば、AVデータ送信装置10およびAVデータ受信装置13は図38に示す各構成部を同時に備えていてもよく、各構成部の動作および機能は、他の構成部の動作および機能を妨げるものではない。
【0333】
また、図38において、例えば、実施の形態13におけるARP監視制御部1001に換えて実施の形態14におけるARP監視制御部1001が備えられてもよい。また、例えば、AVデータ送信装置10がポート予約制御部801を備えていてもよい。さらに、また、例えば、ICMP監視部112は、AVデータ受信装置13にのみ備えられていてもよい。
【0334】
つまり、ICMP制御部510等の、本発明の特徴的な構成部は、製造コスト、ユーザのニーズ等に応じ、自由に組み合わせてAVデータ送信装置10およびAVデータ受信装置13に備えてもよい。
【0335】
こうすることで、AVデータ送信装置10およびAVデータ受信装置13の構成上および処理上の無駄の発生をさらに削減することが可能となる。
【産業上の利用可能性】
【0336】
本発明のデータ通信装置は、ホスト装置と高速伝送用装置のそれぞれに通信プロトコルを搭載しつつ、構成上および処理上の無駄の発生を削減することができるデータ通信装置を提供することができる。特に、高転送レートのAVデータを伝送する装置に有用である。例えば、AVコンテンツをネットワーク伝送する機能を有するDVDレコーダや、ネットワーク伝送でAVコンテンツを受信して再生する機能を有するデジタルTV等に応用できる。
【図面の簡単な説明】
【0337】
【図1】従来のAVデータ送信装置およびAVデータ受信装置の機能的な構成を示す機能ブロック図である。
【図2】図2(a)は、IPフラグメントの発生からIPフラグメントパケットの再構築までの処理の流れの一例を示す図であり、図2(b)は、IPフラグメントパケットの一例を示す図である。
【図3】フラグメントパケットが再構築できなかった際の処理の概要を示す図である。
【図4】従来のフラグメント再構築部の機能的な構成を示す機能ブロック図である。
【図5】図5(a)は、IPヘッダフォーマットを示す図であり、図5(b)は、IPヘッダに含まれるPROTOCOL領域の値とプロトコル名との対応を示す図であり、図5(c)は、IPヘッダに含まれるFLAGS領域のビットと意味との対応を示す図である。
【図6】従来のICMP複製部の機能的な構成を示す機能ブロック図である。
【図7】アドレス解決プロトコル(ARP)による一般的なアドレス解決の仕組みを示す図である。
【図8】特許文献4に開示された、物理アドレスの解決を行なう従来のホストコンピュータの機能的な構成を示す機能ブロック図である。
【図9】実施の形態1のAVデータ送信装置およびAVデータ受信装置の機能的な構成を示す機能ブロック図である。
【図10】実施の形態1におけるフラグメント制御部の機能的な構成を示す機能ブロック図である。
【図11】実施の形態1における制御情報記憶部に記憶されている制御情報のデータ構成の一例を示す図である。
【図12】図12(a)は、TCPヘッダフォーマットを示す図であり、図12(b)は、UDPヘッダフォーマットを示す図である。
【図13】実施の形態1におけるフラグメント制御部の動作の流れを示すフローチャートである。
【図14】実施の形態2のAVデータ送信装置およびAVデータ受信装置の機能的な構成を示す機能ブロック図である。
【図15】実施の形態2におけるフラグメント制御部およびICMP監視部の機能的な構成を示す機能ロック図である。
【図16】ICMPエラーメッセージのパケットフォーマットを示す図である。
【図17】実施の形態3におけるフラグメント制御部の機能的な構成を示す機能ブロック図である。
【図18】実施の形態4におけるフラグメント制御部の機能的な構成を示す機能ブロック図である。
【図19】実施の形態4における制御情報記憶部に記憶されている制御情報のデータ構成の一例を示す図である。
【図20】実施の形態5におけるフラグメント制御部およびICMP監視部の機能的な構成を示す機能ブロック図である。
【図21】実施の形態6におけるフラグメント制御部の機能的な構成を示す機能ブロック図である。
【図22】実施の形態6における制御情報記憶部に記憶されている制御情報のデータ構成の一例を示す図である。
【図23】実施の形態7における複製制御部の動作の流れを示すフローチャートである。
【図24】実施の形態8における複製制御部の動作の流れを示すフローチャートである。
【図25】実施の形態9におけるフラグメント制御部の機能的な構成を示す機能ブロック図である。
【図26】実施の形態10におけるAVデータ送信装置およびAVデータ受信装置の機能的な構成を示す機能ブロック図である。
【図27】実施の形態10におけるICMP制御部の機能的な構成を示す機能ブロック図である。
【図28】ICMPエラーメッセージパケットのDATA領域にエラーパケットの情報が格納される場合の代表的なICMPエラーメッセージの種類を示す図である。
【図29】実施の形態11におけるAVデータ送信装置とAVデータ受信装置の機能的な構成を示す機能ブロック図である。
【図30】実施の形態11におけるポート予約制御部の機能的な構成を示す機能ブロック図である。
【図31】実施の形態12におけるポート予約制御部の機能的な構成を示す機能ブロック図である。
【図32】実施の形態13のAVデータ送信装置およびAVデータ受信装置の機能的な構成を示す機能ブロック図である。
【図33】実施の形態13におけるARP監視制御部の機能的な構成を示す機能ブロック図である。
【図34】実施の形態13におけるARP情報記憶部に記憶されたARP情報のデータ構成例を示す図である。
【図35】ARPパケットのパケットフォーマットを示す図である。
【図36】実施の形態14におけるARP監視制御部の機能的な構成を示す機能ブロック図である。
【図37】実施の形態15におけるARP監視制御部の機能的な構成を示す機能ブロック図である。
【図38】本発明において特徴的な構成部を複数有するAVデータ送信装置10およびAVデータ受信装置13の機能的な構成を示す機能ブロック図である。
【符号の説明】
【0338】
10 AVデータ送信装置
11、14 ホスト装置
12 高速伝送用装置
13 AVデータ受信装置
101 第1I/F部101
102 第1通信プロトコル部102
103 情報設定部
104 AV伝送サーバAPP
105、109 サーバAPP
106、108 クライアントAPP
107 AV伝送クライアントAPP
110 フラグメント制御部
112 ICMP監視部
121 第2I/F部
122 第2通信プロトコル部
123 送受信部
124 パケット振り分け部
301 フラグメント判定部
302 先頭パケット判定部
303 後続パケット判定部
305、2303 引渡し先判定部
306、604、1206 引渡し部
307 制御情報記憶部
309 バッファ
310 情報消去部
311 TMOパケット判定部
510 ICMP制御部
601 ICMP判定部
602 エラーパケット判定部
605、2903 パケット複製部
801 ポート予約制御部
901 ポート番号削除部
902 ポート番号登録部
903 ポート番号確定部
1001 ARP監視制御部
1201 ARP要求パケット判定部
1202 要求元判定部
1203 ARP情報記憶部
1204 ARP応答パケット判定部
1205 応答出力先判定部
1901 タイマ設定部
2001 第1消去部
2002 第2消去部
2101 第1プロトコル配送不可フラグ
2102 第2プロトコル配送不可フラグ
2201 TMO測定開始部
2202 TMO測定完了部
2301 バッファ量監視部
2302 パケット複製制御部
2701 順序制御部
2801 ポート番号登録部
2802 ポート番号確定部
2803 繰り返し要求部
2901 要求元判定部
2902 応答出力先判定部
3001 テーブル参照部
3002 応答パケット生成部
3003 アドレス解決テーブル
3004 応答出力先判定部

【特許請求の範囲】
【請求項1】
第1の通信プロトコルで通信する第1通信プロトコル部と、第2の通信プロトコルで通信する第2通信プロトコル部とを備え、Internet Protocol(IP)パケットによる通信を行なうデータ通信装置であって、
前記IPパケットは、前記IPパケットの宛先が第1通信プロトコル部であるか第2通信プロトコル部であるかを特定するための宛先情報を有する1つの第1パケットと、前記宛先情報を有しない1つ以上の第2パケットとに分割されており、
前記データ通信装置は、
前記第1パケットまたは前記第2パケットである、IPフラグメントパケットを受信する受信手段と、
前記宛先情報を記憶するための宛先情報記憶手段と、
前記第2パケットを記憶するためのバッファと、
前記IPフラグメントパケットが第1パケットであるか否かを判定し、前記IPフラグメントパケットが第1パケットである場合、前記第1パケットが有する宛先情報を、前記宛先情報記憶手段に記憶させる第1パケット判定手段と、
前記第1パケットを、前記宛先情報に基づき、前記第1通信プロトコル部および前記第2通信プロトコル部のいずれか一方へ出力する振り分け手段と、
前記IPフラグメントパケットが、前記第1パケット判定手段により前記第1パケットでないと判定された第2パケットである場合、前記宛先情報が前記宛先情報記憶手段に記憶されているとき、前記第2パケットを前記振り分け手段へ渡し、前記宛先情報が前記宛先情報記憶手段に記憶されていないとき、前記第2パケットを前記バッファに記憶させる第2パケット制御手段とを備え、
前記振り分け手段は、前記第2パケット制御手段から前記第2パケットを受け取ると、前記宛先情報記憶手段に記憶されている前記宛先情報に基づき、前記第1通信プロトコル部および前記第2通信プロトコル部のいずれか一方へ前記第2パケットを出力する
データ通信装置。
【請求項2】
前記第1パケット判定手段は、前記IPフラグメントパケットが第1パケットであると判定した場合、前記バッファに前記第2パケットが記憶されているとき、前記バッファから前記第2パケットを読み出し、前記第1パケットとともに読み出した前記第2パケットを前記振り分け手段に渡し、
前記振り分け手段は、前記第1パケット判定手段から渡された前記第1パケットと前記第2パケットとを、前記宛先情報記憶手段に記憶されている前記宛先情報に基づき前記第1通信プロトコル部および前記第2通信プロトコル部のいずれか一方へ出力する
請求項1記載のデータ通信装置。
【請求項3】
前記第1パケットおよび前記第2パケットのそれぞれは、前記IPパケットにおける自身の位置を示す位置情報を有しており、
前記データ通信装置は、更に、
前記第1パケットと1つ以上の第2パケットとを、前記位置情報に従って整列させる整列手段を備え、
前記振り分け手段は、前記整列手段により整列された前記第1パケットと1つ以上の第2パケットとを、前記宛先情報記憶手段に記憶されている前記宛先情報に基づき、前記第1通信プロトコル部および前記第2通信プロトコル部のいずれか一方へ出力する
請求項2記載のデータ通信装置。
【請求項4】
前記第1通信プロトコル部および前記第2通信プロトコル部は、それぞれ所定の期間内に前記IPパケットを構成する前記第1パケットおよび全ての第2パケットが入力されない場合、タイムアウト通知を出力し、
前記データ通信装置は、更に、
前記第1通信プロトコル部または前記第2通信プロトコル部から出力されるタイムアウト通知を検出するタイムアウト検出手段と、
前記タイムアウト検出手段により、前記タイムアウト通知が検出された場合、前記宛先情報記憶手段に記憶されている前記宛先情報を消去する消去手段とを備える
請求項1記載のデータ通信装置。
【請求項5】
更に、時間の経過を計測するタイマと、
前記タイマから所定の通知を受けると、前記宛先情報記憶手段に記憶されている前記宛先情報と前記バッファに記憶されている第2パケットとを消去する消去手段とを備え、
前記第1パケット判定手段は、前記受信手段により受信された前記IPフラグメントパケットが第1パケットであるか否かを判定するとともに、前記タイマを起動させ、
前記タイマは、所定の期間を示す値が設定されており、前記第1パケット判定手段により起動されてから設定された期間が経過すると、前記消去手段に前記所定の通知を送る
請求項1記載のデータ管理装置。
【請求項6】
前記第1通信プロトコル部および前記第2通信プロトコル部のそれぞれには、前記IPパケットを構成する前記第1パケットおよび全ての第2パケットが揃うのを待つ期間を示す値であるタイムアウト値が設定されており、
前記データ通信装置は、更に、
前記第1プロトコル部に設定されている第1タイムアウト値と、前記第2プロトコル部に設定されている第2タイムアウト値とを比較し、より大きなタイムアウト値を、前記タイマに設定するタイマ設定手段を備える
請求項5記載のデータ通信装置。
【請求項7】
前記第1通信プロトコル部および前記第2通信プロトコル部のそれぞれには、前記IPパケットを構成する前記第1パケットおよび全ての第2パケットが揃うのを待つ期間を示す値であるタイムアウト値が設定されており、
前記データ通信装置は、更に、
時間の経過を計測する第1タイマおよび第2タイマと、
前記第1プロトコル部に設定されている第1タイムアウト値を前記第1タイマに設定し、前記第2プロトコル部に設定されている第2タイムアウト値を前記第2タイマに設定するタイマ設定手段と、
前記第1タイマから前記第1タイムアウト値の経過の通知を受けると、前記第2タイムアウト値が経過したことを示す第2経過情報が前記宛先情報記憶手段に記憶されていない場合、前記第1タイムアウト値が経過したことを示す第1経過情報を前記宛先情報記憶手段に記憶させ、前記第2経過情報が前記宛先情報記憶手段に記憶されている場合、前記宛先情報記憶手段に記憶されている前記宛先情報と前記第2経過情報とを消去する第1消去手段と、
前記第2タイマから前記第2タイムアウト値の経過の通知を受けると、前記第1経過情報が前記宛先情報記憶手段に記憶されていない場合、前記第2経過情報を前記宛先情報記憶手段に記憶させ、前記第1経過情報が前記宛先情報記憶手段に記憶されている場合、前記宛先情報記憶手段に記憶されている前記宛先情報と前記第1経過情報とを消去する第1消去手段とを備え、
前記振り分け手段は、前記第1パケットまたは前記第2パケットを受け取ると、前記宛先情報記憶手段に前記第1経過情報が記憶されている場合、前記宛先情報の内容に関わらず前記第1パケットまたは前記第2パケットを前記第1プロトコル部へは出力せず、前記宛先情報記憶手段に前記第2経過情報が記憶されている場合、前記宛先情報の内容に関わらず前記第1パケットまたは前記第2パケットを前記第2プロトコル部へは出力しない
請求項1記載のデータ管理装置。
【請求項8】
更に、
1つのIPフラグメントパケットであるダミーパケットを前記第1通信プロトコル部に出力するダミーパケット出力手段と、
ダミーパケット出力手段により前記ダミーパケットが出力されてから、前記ダミーパケットに対応して前記第1通信プロトコル部から出力されるタイムアウト通知を受け取るまでの時間を計測するタイムアウト計測手段とを備え、
前記タイマ設定手段は、前記タイムアウト計測手段により計測された時間を、前記第1タイムアウト値として、前記第1タイマに設定する
請求項7記載のデータ通信装置。
【請求項9】
第1パケットが有する宛先情報はポート番号と、前記IPパケットを識別するための識別情報とを含み、
第2パケットは前記識別情報を有し、
前記第2パケット制御手段は、前記第2パケットが有する識別情報と同じ識別情報を含む宛先情報が前記宛先情報記憶手段に記憶されている場合、前記第2パケットを前記振り分け手段へ渡し、前記第2パケットが有する識別情報と同じ識別情報を含む宛先情報が前記宛先情報記憶手段に記憶されていないとき、前記第2パケットを前記バッファに記憶させ、
前記振り分け手段は、前記第2パケットを受け取ると、前記第2パケットが有する識別情報と同じ識別情報を含む宛先情報に含まれるポート番号と、前記第1通信プロトコル部または前記第2通信プロトコル部で使用されるポート番号とを比較して出力先を決定する
請求項1記載のデータ通信装置。
【請求項10】
前記データ通信装置は、更に、
前記バッファの空き容量を検出する容量検出手段と、
前記第2パケット制御手段から第2パケットを受け取ると、受け取った前記第2パケットを複製し、2つの前記第2パケットを前記振り分け手段に渡すパケット複製手段とを備え、
前記第2パケット制御手段は、更に、前記バッファに記憶させようとする第2パケットの容量が、前記空き容量検出手段により検出された前記空き容量を超える場合、前記バッファに記憶されている複数の第2パケットの中から、所定の条件を満たす第2パケットを取り出して前記パケット複製手段に渡し、
前記振り分け手段は、前記パケット複製手段から2つの第2パケットを受け取ると、前記第1通信プロトコル部および前記第2通信プロトコル部のそれぞれに1つの前記第2パケットを出力する
請求項1記載のデータ通信装置。
【請求項11】
前記所定の条件とは、前記バッファに記憶されている第2パケットの中で、前記バッファに記憶された時期が最も早い第2パケットである、または、最も容量が大きい第2パケットであるという条件である
請求項10記載のデータ通信装置。
【請求項12】
前記第2パケットは、前記第2パケットが含まれていた前記IPパケットを識別するための識別情報を有し、
前記宛先情報記憶手段には、第2パケットが前記バッファに記憶された際に、前記第2パケット制御手段により、前記第2パケットの識別情報が書き込まれており、
前記第2パケット制御手段は、前記バッファに記憶させようとする第2パケットの容量が、前記空き容量検出手段により検出された前記空き容量を超える場合、前記宛先情報記憶手段に記憶された時期が最も早い識別情報と同一の識別情報を有する第2パケットを、前記バッファの中から取り出してパケット複製手段に渡す
請求項10記載のデータ通信装置。
【請求項13】
前記第2パケットは、前記第2パケットが含まれていた前記IPパケットを識別するための識別情報を有し、
前記宛先情報記憶手段には、第2パケットが前記バッファに記憶された際に、前記第2パケット制御手段により、前記第2パケットの識別情報が書き込まれており、
前記第2パケット制御手段は、前記バッファに記憶させようとする第2パケットの容量が、前記空き容量検出手段により検出された前記空き容量を超える場合、前記宛先情報記憶手段に記憶されている識別情報ごとに、前記識別情報と同じ識別情報を有する第2パケットの合計容量を求め、前記合計容量が最大となる識別情報を有する第2パケットを前記バッファの中から取り出してパケット複製手段に渡す
請求項10記載のデータ通信装置。
【請求項14】
前記受信手段は、更に、Internet Control Message Protocol(ICMP)エラーメッセージパケットを受信し、
前記データ通信装置は、更に、
前記ICMPエラーメッセージパケットが、前記ICMPエラーメッセージパケットの宛先が第1通信プロトコル部であるか第2通信プロトコル部であるかを特定するためのエラー通知先情報を有するか否かを判定するエラーパケット判定手段と、
前記エラーパケット判定手段により前記エラー通知先情報を有していると判定された前記ICMPエラーメッセージパケットを、前記通知先情報に基づき、第1通信プロトコル部および第2通信プロトコル部のいずれか一方に出力するエラー出力手段と、
前記エラーパケット判定手段により前記エラー通知先情報を有していないと判定された前記ICMPエラーメッセージパケットを複製し、第1通信プロトコル部および第2通信プロトコル部のそれぞれに前記ICMPエラーメッセージパケットを1つずつ出力するエラー複製手段とを備える
請求項1記載のデータ通信装置。
【請求項15】
前記ICMPエラーメッセージパケットが有する通知先情報はポート番号を含み、
前記エラー出力手段は、前記通知先情報に含まれるポート番号と、前記第1通信プロトコル部または前記第2通信プロトコル部で使用されるポート番号とを比較して出力先を決定する
請求項14記載のデータ通信装置。
【請求項16】
前記データ通信装置は、更に、
前記第1通信プロトコル部で使用されるポート番号の登録要求と削除とを受け付けるインターフェースと、
前記第2通信プロトコル部で使用される使用ポート番号を決定するポート番号決定手段と、
前記ポート番号決定手段により決定された前記使用ポート番号の登録要求を、前記インターフェースを介して前記第1通信プロトコル部に行なうポート番号登録手段と、
前記第2通信プロトコル部からの所定の通知により、前記第1通信プロトコル部に登録されている前記使用ポート番号を削除するポート番号削除手段とを備え、
前記インターフェースは、前記第1プロトコル部に登録されているポート番号の登録は受け付けず、
前記ポート番号登録手段が、前記使用ポート番号を前記第1通信プロトコル部に登録できた場合、前記使用ポート番号は前記第1通信プロトコル部では使用されない
請求項1記載のデータ通信装置。
【請求項17】
前記ポート番号登録手段が、前記使用ポート番号を前記第1通信プロトコル部に登録できなかった場合、更に、前記ポート番号決定手段に使用ポート番号を決定させ前記ポート番号登録手段に前記使用ポート番号の登録要求を行わせる繰り返し制御手段を備える
請求項16記載のデータ通信装置。
【請求項18】
前記繰り返し制御手段は、使用ポート番号を前記第1通信プロトコル部へ登録できるまでの間であって、かつ、所定の期間が経過するまで、または、使用ポート番号を前記第1通信プロトコル部に登録できなかった回数が所定の回数に達するまで、前記ポート番号決定手段に使用ポート番号を決定させ、前記ポート番号登録手段に前記使用ポート番号の登録要求を行わせる
請求項17記載のデータ通信装置。
【請求項19】
更に、
前記第1通信プロトコル部または前記第2通信プロトコル部から送信される、他の機器の物理アドレスの解決を要求するAddress Resolution Protocol(ARP)要求パケットを受け付けるARP要求受付手段と、
前記ARP要求受付手段により受け付けられた前記ARP要求パケットから得られる、送信元を示す送信元情報と、前記他の機器のIPアドレスである送信先アドレスとを対応付けて記憶するARP情報記憶手段と、
前記ARP要求パケットを前記他の機器に送信するARP送信手段と、
前記他の機器から送信される、前記ARP要求パケットへの応答であるARP応答パケットを受信するARP応答受信手段と、
前記ARP応答受信手段により受信された前記ARP応答パケットから得られる、前記他の機器のIPアドレスと、前記ARP情報記憶手段に記憶されている前記送信先アドレスとから、前記ARP応答パケットの出力先を判定する応答出力判定手段と、
前記応答出力判定手段の判定結果に従い、前記ARP応答パケットを前記第1通信プロトコル部または前記第2通信プロトコル部のいずれか一方に出力する応答出力手段とを備える
請求項1記載のデータ通信装置。
【請求項20】
更に、
前記ARP要求受付手段により受け付けられたARP要求パケットから得られる送信先アドレスが、前記ARP情報記憶手段に記憶されていた場合、前記ARP要求パケットから得られる送信元情報を前記送信先アドレスに更に対応付けて前記ARP情報記憶手段に記憶させ、前記ARP要求パケットを廃棄するARP要求元判定手段と、
前記ARP応答受信手段により受信されたARP応答パケットから得られる、他の機器のIPアドレスが、送信先アドレスとして前記ARP情報記憶手段に記憶されており、かつ、前記送信先アドレスに2つの異なる送信元情報が対応付けられている場合、前記ARP応答パケットを複製し、2つの前記ARP応答パケットを前記応答出力手段に渡すARPパケット複製手段とを備え、
前記応答出力手段は、更に、前記ARPパケット複製手段から2つの前記ARP応答パケットを受け取ると、前記第1通信プロトコル部および前記第2通信プロトコル部のそれぞれに1つの前記ARP応答パケットを出力する
請求項19記載のデータ通信装置。
【請求項21】
更に、
前記ARP応答受信手段により受信されたARP応答パケットから得られる他の機器のIPアドレスと物理アドレスとを対応付けて記憶するアドレス解決テーブルと、
前記ARP要求受付手段により受け付けられたARP要求パケットから得られる送信先アドレスが、前記他の機器のIPアドレスとしてアドレス解決テーブルに記憶されていた場合、前記他の機器のIPアドレスに対応付けられた前記物理アドレスを含むARP応答パケットを生成し前記応答出力手段に渡すARP応答生成手段とを備え、
前記応答出力手段は、更に、前記ARP応答生成手段から前記ARP応答パケットを受け取ると、前記ARP要求パケットの送信元である前記第1通信プロトコル部および前記第2通信プロトコル部のいずれか一方に前記ARP応答パケットを出力し、
前記応答出力判定手段は、更に、前記ARP応答受信手段により受信された前記ARP応答パケットから得られる他の機器のIPアドレスが、アドレス解決テーブルに記憶されていない場合、前記他の機器のIPアドレスと前記ARP応答パケットから得られる前記物理アドレスとを対応付けてアドレス解決テーブルに記憶させる
請求項20記載のデータ通信装置。
【請求項22】
前記受信手段は、更に、Internet Control Message Protocol(ICMP)エラーメッセージパケットを受信し、
前記データ通信装置は、更に、
前記ICMPエラーメッセージパケットが、前記ICMPエラーメッセージパケットの宛先が第1通信プロトコル部であるか第2通信プロトコル部であるかを特定するためのエラー通知先情報を有するか否かを判定するエラーパケット判定手段と、
前記エラーパケット判定手段により前記エラー通知先情報を有していると判定された前記ICMPエラーメッセージパケットを、前記通知先情報に基づき、第1通信プロトコル部および第2通信プロトコル部のいずれか一方に出力するエラー出力手段と、
前記エラーパケット判定手段により前記エラー通知先情報を有していないと判定された前記ICMPエラーメッセージパケットを複製し、第1通信プロトコル部および第2通信プロトコル部のそれぞれに前記ICMPエラーメッセージパケットを1つずつ出力するエラー複製手段と、
前記第1通信プロトコル部で使用されるポート番号の登録要求と削除とを受け付けるインターフェースと、
前記第2通信プロトコル部で使用される使用ポート番号を決定するポート番号決定手段と、
前記ポート番号決定手段により決定された前記使用ポート番号の登録要求を、前記インターフェースを介して前記第1通信プロトコル部に行なうポート番号登録手段と、
前記第2通信プロトコル部からの所定の通知により、前記第1通信プロトコル部に登録されている前記使用ポート番号を削除するポート番号削除手段と、
前記第1通信プロトコル部または前記第2通信プロトコル部から送信される、他の機器の物理アドレスの解決を要求するAddress Resolution Protocol(ARP)要求パケットを受け付けるARP要求受付手段と、
前記ARP要求受付手段により受け付けられた前記ARP要求パケットから得られる、送信元を示す送信元情報と、前記他の機器のIPアドレスである送信先アドレスとを対応付けて記憶するARP情報記憶手段と、
前記ARP要求パケットを前記他の機器に送信するARP送信手段と、
前記他の機器から送信される、前記ARP要求パケットへの応答であるARP応答パケットを受信するARP応答受信手段と、
前記ARP応答受信手段により受信された前記ARP応答パケットから得られる、前記他の機器のIPアドレスと、前記ARP情報記憶手段に記憶されている前記送信先アドレスとから、前記ARP応答パケットの出力先を判定する応答出力判定手段と、
前記応答出力判定手段の判定結果に従い、前記ARP応答パケットを前記第1通信プロトコル部または前記第2通信プロトコル部のいずれか一方に出力する応答出力手段とを備え、
前記インターフェースは、前記第1プロトコル部に登録されているポート番号の登録は受け付けず、
前記ポート番号登録手段が、前記使用ポート番号を前記第1通信プロトコル部に登録できた場合、前記使用ポート番号は前記第1通信プロトコル部では使用されない
請求項1記載のデータ通信装置。
【請求項23】
前記IPパケットは、コンテンツデータの一部または全部を構成するパケットである、請求項22記載のデータ通信装置を備えるコンテンツ再生装置。
【請求項24】
前記IPパケットは、コンテンツデータの一部または全部を構成するパケットである、請求項22記載のデータ通信装置を備えるコンテンツ記録再生装置。
【請求項25】
第1の通信プロトコルで通信する第1通信プロトコル部と、第2の通信プロトコルで通信する第2通信プロトコル部とを備えるデータ通信装置において、IPパケットによる通信を行なう通信方法であって、
前記IPパケットは、前記IPパケットの宛先が第1通信プロトコル部であるか第2通信プロトコル部であるかを特定するための宛先情報を有する1つの第1パケットと、前記宛先情報を有しない1つ以上の第2パケットとに分割されており、
前記データ通信装置は、
前記宛先情報を記憶するための宛先情報記憶手段と、
前記第2パケットを記憶するためのバッファとを備えており、
前記第1パケットまたは前記第2パケットである、IPフラグメントパケットを受信する受信ステップと、
前記IPフラグメントパケットが第1パケットであるか否かを判定し、前記IPフラグメントパケットが第1パケットである場合、前記第1パケットが有する宛先情報を、前記宛先情報記憶手段に記憶させる第1パケット判定ステップと、
前記第1パケットを、前記宛先情報に基づき、前記第1通信プロトコル部および前記第2通信プロトコル部のいずれか一方へ出力する第1パケット制御ステップと、
前記IPフラグメントパケットが、前記第1パケット判定ステップにおいて前記第1パケットでないと判定された第2パケットである場合、前記宛先情報が前記宛先情報記憶手段に記憶されているとき、前記宛先情報に基づき、前記第1通信プロトコル部および前記第2通信プロトコル部のいずれか一方へ前記第2パケットを出力し、前記宛先情報が前記宛先情報記憶手段に記憶されていないとき、前記第2パケットを前記バッファに記憶させる第2パケット制御ステップと
を含む通信方法。
【請求項26】
第1の通信プロトコルで通信する第1通信プロトコル部と、第2の通信プロトコルで通信する第2通信プロトコル部とを備えるデータ通信装置において、IPパケットによる通信を行なうためのプログラムであって、
前記IPパケットは、前記IPパケットの宛先が第1通信プロトコル部であるか第2通信プロトコル部であるかを特定するための宛先情報を有する1つの第1パケットと、前記宛先情報を有しない1つ以上の第2パケットとに分割されており、
前記データ通信装置は、
前記宛先情報を記憶するための宛先情報記憶手段と、
前記第2パケットを記憶するためのバッファとを備えており、
前記第1パケットまたは前記第2パケットである、IPフラグメントパケットを受信する受信ステップと、
前記IPフラグメントパケットが第1パケットであるか否かを判定し、前記IPフラグメントパケットが第1パケットである場合、前記第1パケットが有する宛先情報を、前記宛先情報記憶手段に記憶させる第1パケット判定ステップと、
前記第1パケットを、前記宛先情報に基づき、前記第1通信プロトコル部および前記第2通信プロトコル部のいずれか一方へ出力する第1パケット制御ステップと、
前記IPフラグメントパケットが、前記第1パケット判定ステップにおいて前記第1パケットでないと判定された第2パケットである場合、前記宛先情報が前記宛先情報記憶手段に記憶されているとき、前記宛先情報に基づき、前記第1通信プロトコル部および前記第2通信プロトコル部のいずれか一方へ前記第2パケットを出力し、前記宛先情報が前記宛先情報記憶手段に記憶されていないとき、前記第2パケットを前記バッファに記憶させる第2パケット制御ステップと
をコンピュータに実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate


【公開番号】特開2007−104137(P2007−104137A)
【公開日】平成19年4月19日(2007.4.19)
【国際特許分類】
【出願番号】特願2005−289089(P2005−289089)
【出願日】平成17年9月30日(2005.9.30)
【出願人】(000005821)松下電器産業株式会社 (73,050)
【Fターム(参考)】