(57)【要約】【課題】  ＩＥＥＥ１３９４シリアルバス上のパケットと、ＩＰパケットとの間の変換を高速に行う。【解決手段】  パケット転送装置であって、バスを経由して転送された非同期パケットを受信し、そのうちＩＰパケットから分割されたＩＰパケット分割片を有するものを選択して出力する受信フィルタと、受信フィルタが出力する非同期パケットから非同期パケットヘッダ及びエンキャプスレーションヘッダを削除されたパケットを、メモリに格納させ、分割前のＩＰパケットを復元するアドレス制御部と、送信すべきＩＰパケットを、メモリから分割して読み出し、読み出されたＩＰパケット分割片を出力する送信フラグメンテーション制御部と、ＩＰパケット分割片に、送信すべきＩＰパケットに関する情報を含むエンキャプスレーションヘッダが付加されたパケットに、非同期パケットヘッダを付加して、バスに転送させる送信パケット変換部とを備える。【選択図】      図２
2005151012.tif 000002
【特許請求の範囲】
【請求項１】
バスを経由して転送された非同期パケットを受信し、受信した非同期パケットのうちＩＰ（internet protocol）パケットから分割されたＩＰパケット分割片を有するものを選択して出力する受信フィルタと、
前記受信フィルタが出力する非同期パケットから前記バスにおける転送のための非同期パケットヘッダを削除して出力する受信パケット変換部と、
前記受信パケット変換部が出力するパケットからエンキャプスレーションヘッダを削除し、得られたパケットと、前記エンキャプスレーションヘッダが有し、前記得られたパケットに含まれるＩＰパケット分割片に関する情報とを出力するエンキャプスレーションヘッダ削除部と、
前記エンキャプスレーションヘッダ削除部が出力するパケットを、前記情報に基づいてメモリに格納させ、分割前のＩＰパケットを復元するアドレス制御部と、
送信すべきＩＰパケットを、指定されたＩＰパケット分割サイズ毎にメモリから分割して読み出し、読み出されたＩＰパケット分割片を出力する送信フラグメンテーション制御部と、
前記送信フラグメンテーション制御部が出力するＩＰパケット分割片に、前記送信すべきＩＰパケットに関する情報を含むエンキャプスレーションヘッダを付加し、得られたパケットを出力するエンキャプスレーションヘッダ付加部と、
前記エンキャプスレーションヘッダ付加部が出力するパケットに前記バスにおける転送のための非同期パケットヘッダを付加して、前記バスに転送させる送信パケット変換部とを備える
パケット転送装置。
【請求項２】
請求項１に記載のパケット転送装置において、
前記エンキャプスレーションヘッダ付加部は、
前記送信すべきＩＰパケットの総サイズ、及び分割前のＩＰパケットにおける前記ＩＰパケット分割片の位置を示すＩＰパケット分割片の分割位置を前記送信すべきＩＰパケットに関する情報として含む前記エンキャプスレーションヘッダを作成し、このヘッダが付加されたパケットのサイズを前記送信パケット変換部に出力するものである
ことを特徴とするパケット転送装置。
【請求項３】
請求項１に記載のパケット転送装置において、
前記送信パケット変換部は、
通知されたパケットタイプがアシンクロナスストリームパケットである場合には、前記エンキャプスレーションヘッダ付加部が出力するパケットに、チャンネル番号、及び前記エンキャプスレーションヘッダ付加部から通知された、エンキャプスレーションヘッダが付加されたパケットのサイズを含むヘッダを、前記非同期パケットヘッダとして付加して出力し、
通知されたパケットタイプがブロック書き込み要求パケットである場合には、前記エンキャプスレーションヘッダ付加部が出力するパケットに、送信先識別子、送信先のメモリ内書き込み先アドレス、及びエンキャプスレーションヘッダ付加部から通知された、エンキャプスレーションヘッダが付加されたパケットのサイズを含むヘッダを、前記非同期パケットヘッダとして付加して出力するものである
ことを特徴とするパケット転送装置。
【請求項４】
請求項１に記載のパケット転送装置において、
前記受信フィルタは、
前記受信した非同期パケットのうち、ＩＰパケットが格納されていることが前記エンキャプスレーションヘッダに示されているパケットであって、そのパケットタイプ、及び送信者識別子、並びにチャンネル番号又は送信先のメモリ内書き込み先アドレスが、指定されたものと同じであるパケットを選択するものである
ことを特徴とするパケット転送装置。
【請求項５】
請求項１に記載のパケット転送装置において、
前記受信パケット変換部は、
前記非同期パケットから、パケット内データサイズ及び送信者識別子を読み出して、それぞれを前記エンキャプスレーションヘッダ削除部及び前記アドレス制御部に通知するものである
ことを特徴とするパケット転送装置。
【請求項６】
請求項１に記載のパケット転送装置において、
前記エンキャプスレーションヘッダ削除部は、
前記ＩＰパケット分割片に関する情報として、前記受信されたＩＰパケットの総サイズ、パケットグループ識別ラベル、ＩＰパケット分割情報、及び分割前のＩＰパケットにおける前記ＩＰパケット分割片の位置を示すＩＰパケット分割片の分割位置を前記エンキャプスレーションヘッダから取り出して、前記アドレス制御部に出力するものである
ことを特徴とするパケット転送装置。
【請求項７】
請求項１に記載のパケット転送装置において、
前記アドレス制御部は、
前記エンキャプスレーションヘッダ削除部が出力する情報に基づいて書き込み先アドレスを求め、受信したＩＰパケット分割片を前記メモリの前記書き込み先アドレスに格納させるものである
ことを特徴とするパケット転送装置。
【請求項８】
請求項１に記載のパケット転送装置において、
前記送信フラグメンテーション制御部は、
分割して送信された１つのＩＰパケットの送信が完了すると、送信が完了したことを通知する信号を出力するものである
ことを特徴とするパケット転送装置。
【請求項９】
請求項１に記載のパケット転送装置において、
前記送信フラグメンテーション制御部は、
分割して送信された１つのＩＰパケットの送信が正常に完了しなかった場合には、ＩＰパケットの送信を完了できなかったことを通知する信号を出力するものである
ことを特徴とするパケット転送装置。
【請求項１０】
請求項１に記載のパケット転送装置において、
前記送信フラグメンテーション制御部は、
分割回数指定子が通知された場合には、ＩＰパケットを前記メモリから分割して読み出して出力することを、前記分割回数指定子で指定された回数ずつ連続して行うものである
ことを特徴とするパケット転送装置。
【請求項１１】
請求項１に記載のパケット転送装置において、
前記送信フラグメンテーション制御部は、
最優先指定子が通知された場合には、ＩＰパケットの読み出しを中断し、前記最優先指定子に係るＩＰパケットを前記メモリから分割して読み出して出力し、このＩＰパケットについての読み出しが全て終了した後、読み出しが中断されたＩＰパケットの読み出しを再開するものである
ことを特徴とするパケット転送装置。
【請求項１２】
請求項１に記載のパケット転送装置において、
前記送信フラグメンテーション制御部は、
１つのノードに対して分割して送信しているＩＰパケットの送信が完了していない場合であっても、他のノードに対して分割して送信するＩＰパケットを前記メモリから読み出して出力するものであり、
前記エンキャプスレーションヘッダ付加部は、
同一のＩＰパケットから分割されたＩＰパケット分割片に、同一のパケットグループ識別ラベルを前記エンキャプスレーションヘッダとして付加して出力するものであり、
前記送信パケット変換部は、
送信先のノードを示す送信先識別子を前記非同期パケットヘッダとして付加して出力するものである
ことを特徴とするパケット転送装置。
【請求項１３】
請求項１に記載のパケット転送装置において、
前記送信フラグメンテーション制御部は、
１つのノードに対して分割して送信しているＩＰパケットの送信が完了していない場合であっても、そのノードに対して分割して送信する他のＩＰパケットを前記メモリから読み出して出力するものであり、
前記エンキャプスレーションヘッダ付加部は、
同一のＩＰパケットから分割されたＩＰパケット分割片に、同一のパケットグループ識別ラベルを前記エンキャプスレーションヘッダとして付加して出力するものである
ことを特徴とするパケット転送装置。
【請求項１４】
請求項１に記載のパケット転送装置において、
前記アドレス制御部は、
分割して送信された１つのＩＰパケットの受信が完了すると、受信が完了したことを通知する信号を出力するものである
ことを特徴とするパケット転送装置。
【請求項１５】
請求項１に記載のパケット転送装置において、
前記アドレス制御部は、
分割して送信された１つのＩＰパケットの受信が正常に完了しなかった場合には、ＩＰパケットの受信を完了できなかったことを通知する信号を出力するものである
ことを特徴とするパケット転送装置。
【請求項１６】
請求項１に記載のパケット転送装置において、
前記受信フィルタは、
１つのノードから分割して送信されたＩＰパケットの受信が完了していない場合であっても、他のノードから分割して送信されたＩＰパケットを含む非同期パケットを選択して出力するものであり、
前記受信パケット変換部は、
前記受信フィルタが出力するパケットの送信者識別子を出力するものであり、
前記アドレス制御部は、
前記受信フィルタが出力するパケットの送信者識別子に基づいて、異なるノードから送信されたＩＰパケットを前記メモリの異なる領域に格納するように、書き込み先のアドレスを求めるものである
ことを特徴とするパケット転送装置。
【請求項１７】
請求項１に記載のパケット転送装置において、
前記受信フィルタは、
１つのノードから分割して送信されたＩＰパケットの受信が完了していない場合であっても、そのノードから分割して送信された他のＩＰパケットを含む非同期パケットを選択して出力するものであり、
前記受信パケット変換部は、
前記受信フィルタが出力するパケットの送信者識別子を出力するものであり、
前記エンキャプスレーションヘッダ削除部は、
前記パケットグループ識別ラベルを前記エンキャプスレーションヘッダから取り出して出力するものであり、
前記アドレス制御部は、
前記送信者識別子及び前記パケットグループ識別ラベルに基づいて、前記ノードから送信された異なるＩＰパケットを前記メモリの異なる領域に格納するように、書き込み先のアドレスを求めるものである
ことを特徴とするパケット転送装置。
【請求項１８】
請求項１に記載のパケット転送装置において、
分割して送信しているＩＰパケットの送信が完了していない場合であっても、分割して送信された他のＩＰパケットを受信することができ、分割して送信されたＩＰパケットの受信が完了していない場合であっても、他のＩＰパケットを分割して送信することができるように構成されている
ことを特徴とするパケット転送装置。
【請求項１９】
請求項１に記載のパケット転送装置において、
ＩＰアドレスとノード番号との対応関係を示すＡＲＰ（address resolution protocol）テーブルを格納するＡＲＰテーブル格納部と、
通知されたＩＰアドレスが前記ＡＲＰテーブルに含まれていない場合には、前記通知されたＩＰアドレスを含むＡＲＰ要求パケットを作成して、前記バス上に出力させ、通知されたＩＰアドレスが前記ＡＲＰテーブルに含まれている場合には、前記ＩＰアドレスに対応するノード番号を前記送信フラグメンテーション制御部に出力するＡＲＰパケット作成部とを更に備え、
前記受信フィルタは、
ＡＲＰ返答パケットを受信すると、このパケットを前記ＡＲＰテーブル格納部に出力し、このパケットに格納されているノード番号を前記送信フラグメンテーション制御部に出力するものであり、
ＡＲＰテーブル格納部は、
前記ＡＲＰ返答パケットを受け取ると、このパケットに含まれているＩＰアドレスとノード番号との対応関係を前記ＡＲＰテーブルに格納するものである
ことを特徴とするパケット転送装置。
【請求項２０】
請求項１に記載のパケット転送装置において、
ＩＰアドレスとノード番号との対応関係を示すＡＲＰテーブルを格納するＡＲＰテーブル格納部と、
ＡＲＰパケット作成部とを更に備え、
前記受信フィルタは、
ＡＲＰ要求パケットを受信すると、このパケットを前記ＡＲＰテーブル格納部に出力するものであり、
前記ＡＲＰテーブル格納部は、
ＡＲＰ要求パケットを受け取ると、このパケットに係る、ＩＰアドレスとノード番号との対応関係を前記ＡＲＰテーブルに追加し、ＡＲＰ返答パケットを返送するように前記ＡＲＰパケット作成部に指示するものであり、
前記ＡＲＰパケット作成部は、
前記ＡＲＰテーブル格納部から指示を受けると、ＡＲＰ返答パケットを作成して前記バス上に出力させるものである
ことを特徴とするパケット転送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＥＥＥ（institute of electrical and electronics engineers）１３９４シリアルバスを用いてパケットを転送するためのパケット転送装置に関する。
【背景技術】
【０００２】
近年、会社や役所、病院、学校などの様々な場所がネットワーク化されてきている。例えば、複数のパーソナルコンピュータ（以下では、ＰＣと称する）をネットワークに接続した上で、あるＰＣから、他のＰＣに保存されているファイルを参照して使用したり、ネットワークに接続されているプリンタを複数のＰＣで共用することなどが行われている。現在、このようなネットワークは、主にEthernet（登録商標）技術を用いて構築されている。
【０００３】
今後は、家電やＰＣ、ＡＶ（audiovisual）機器などが備え付けられている一般の住宅内もネットワーク化されることが期待されている。しかし、この技術を使って３台以上のＰＣや周辺機器を接続する場合には、別途ネットワーク中継装置が必要である。また現在、この技術は、ＡＶ機器においてはほとんど採用されていないので、ＡＶ機器とＰＣとの間や、ＡＶ機器どうしの間を接続して住宅内をネットワーク化するためには最適であるとはいえない。
【０００４】
ところで、近年、ＡＶ機器間やＡＶ機器とＰＣとの間で、デジタルデータを転送するインターフェースとして、ＩＥＥＥ１３９４シリアルバス（以下では、ＩＥＥＥ１３９４バスと称する）が利用されるようになってきた。ＩＥＥＥ１３９４バスを使用すれば、デジタルビデオカメラで撮影した映像を、他のデジタルビデオカメラやＰＣにダビングしたり、デジタル放送受信機が受信したデジタル映像をデジタル映像録画装置に録画したり、ＰＣ上で編集した文書ファイル等をＰＣに接続されたファイル蓄積装置に保存することができる。
【０００５】
ＩＥＥＥ１３９４バスには、次のような利便性がある。すなわち、機器間を電源が入ったままＩＥＥＥ１３９４ケーブルで接続することができる。更に接続するだけで互いに接続相手をすぐに認識することができるので、接続後すぐに接続された機器間で通信をすることができる。
【０００６】
一方、ＩＰパケットをＩＥＥＥ１３９４バス上で転送するためのプロトコルとして、ＩＰ ｏｖｅｒ １３９４が規定されている。このプロトコルを用いると、ＰＣ間やＡＶ機器間、又はＰＣとＡＶ機器との間をＩＥＥＥ１３９４ケーブルで接続すれば、接続されたものの間でネットワークを構成することができる。すなわち、ＩＰパケットを用いて、接続相手が保有するファイルの一覧を参照したり、接続相手との間で互いにファイルの移動やコピーをすることができる。このような特長から、ＩＰ ｏｖｅｒ １３９４は、住宅内ネットワークを構成するためのプロトコルとして有望視されている。
【０００７】
図１４は、従来のパケット転送装置を有するパーソナルコンピュータが接続されたネットワークの例を示すブロック図である。ＰＣ９１０は、パケット転送装置９００と、ＣＰＵ（central processing unit）９６０と、メモリ９７０とを備えている。ＰＣ９１０Ｂも同様に、パケット転送装置９００Ｂと、ＣＰＵ９６０Ｂと、メモリ９７０Ｂとを備えている。ＰＣ９１０のパケット転送装置９００と、ＰＣ９１０Ｂのパケット転送装置９００Ｂとが、ＩＥＥＥ１３９４バス４を介して接続されている。
【０００８】
このようなネットワーク上においては、ＩＰパケットがＩＥＥＥ１３９４バス用のパケットに変換されてから、転送される。ＩＰパケットは、サイズが所定の大きさ以上であれば、複数のＩＰパケット分割片に分割されてから、ＩＥＥＥ１３９４バス用のパケットに変換される。
【０００９】
図１５は、図１４のパケット転送装置の構成の例を示すブロック図である。光ディスクに格納されたデータ等を、ＩＥＥＥ１３９４バスを介して伝送するデータ伝送装置が知られている（例えば、特許文献１参照）。図１５は、このようなデータ伝送装置の一部を用いて、ＩＥＥＥ１３９４バスを介してＩＰパケットを転送するパケット転送装置の構成の例を示している。
【００１０】
図１６は、図１５のパケット転送装置９００がＩＰパケットを分割して送信する場合の動作を示すシーケンス図である。図１４〜図１６を参照して、図１５のパケット転送装置９００の送信時の動作、すなわち、パケット転送可能最大サイズよりもサイズが大きく、分割して転送する必要があるＩＰパケットを、ＰＣ９１０から他のＰＣ９１０ＢへＩＥＥＥ１３９４バス４を介して転送する動作について説明する。
【００１１】
ＣＰＵ９６０は、ＡＲＰ（address resolution protocol）を管理している。ＣＰＵ９６０は、送信先であるＰＣ９１０ＢのＩＰアドレスがＡＲＰテーブルに登録されていない場合には、このＩＰアドレスを格納したＡＲＰ要求パケットを作成し（ステップＳ９０１）、これを送信バッファ９１４に書き込んで送信させる（ステップＳ９０２）。
【００１２】
ＡＲＰ返答パケットが受信されると、受信フィルタ９１８は、ＣＰＵ９６０に割込みを通知する。すると、ＣＰＵ９６０は、このパケットを受信バッファ９１６から読み出して（ステップＳ９０３）、このパケットから、送信先のＩＰアドレスに対応する識別子である送信者識別子等を取り出してＡＲＰテーブルに格納する（ステップＳ９０４）。送信先のＩＰアドレスがＡＲＰテーブルに登録されている場合には、ステップＳ９０１〜Ｓ９０４の処理は行われない。
【００１３】
ＣＰＵ９６０は、送信すべきＩＰパケットをメモリ９７０から分割して読み出し（ステップＳ９２１）、読み出されたＩＰパケット分割片にＩＰパケットに関する情報を含むエンキャプスレーションヘッダを付加し（ステップＳ９２２）、バスにおける転送のための非同期パケットヘッダを付加するパケット変換処理を行い（ステップＳ９２３）、送信バッファ９１４に書き込む（ステップＳ９２４）。送信バッファ９１４に書き込まれたＩＥＥＥ１３９４バス用の非同期パケットは、リンク層コントローラ９２２及び物理層コントローラ９２４によってバス４上をＰＣ９１０Ｂに向けて送信される。
【００１４】
ＰＣ９１０Ｂから受信完了通知パケットが送信されると、これが受信バッファ９１６に格納され、受信フィルタ９１８は、ＣＰＵ９６０に割込みを通知する。すると、ＣＰＵ９６０は、このパケットを受信バッファ９１６から読み出して（ステップＳ９２５）、ＰＣ９１０Ｂがパケットを正常に受信したか否かを確認する（ステップＳ９２６）。その後、ステップＳ９２１〜Ｓ９２６の処理が繰り返される。
【００１５】
図１７は、図１５のパケット転送装置９００がＩＰパケットを分割して受信する場合の動作を示すシーケンス図である。図１４、図１５、及び図１７を参照して、図１５のパケット転送装置９００の受信時の動作、すなわち、パケット転送可能最大サイズよりもサイズが大きく、分割して転送する必要があるＩＰパケットを、ＰＣ９１０へ他のＰＣ９１０ＢからＩＥＥＥ１３９４バス４を介して転送する動作について説明する。
【００１６】
ＡＲＰ要求パケットが受信されると、受信フィルタ９１８は、ＣＰＵ９６０に割込みを通知する。すると、ＣＰＵ９６０は、このパケットを受信バッファ９１６から読み出して（ステップＳ９１１）、このパケットに対するＡＲＰ返答パケットを作成し（ステップＳ９１２）、送信バッファ９１４に書き込む（ステップＳ９１３）。このパケットは、リンク層コントローラ９２２及び物理層コントローラ９２４によってバス４上をＰＣ９１０Ｂに向けて送信される。
【００１７】
ＰＣ９１０ＢからＰＣ９１０に向けて、ＩＰパケット分割片が格納されたＩＥＥＥ１３９４バス用の非同期パケットが送信されると、これが受信バッファ９１６に格納され、受信フィルタ９１８は、ＣＰＵ９６０に割込みを通知する。すると、ＣＰＵ９６０は、このパケットを受信バッファ９１６から読み出す（ステップＳ９４１）。
【００１８】
ＣＰＵ９６０は、受信完了通知パケットを作成し（ステップＳ９４２）、送信バッファ９１４に書き込む（ステップＳ９４３）。送信バッファ９１４に書き込まれたパケットは、リンク層コントローラ９２２及び物理層コントローラ９２４によってバス４上をＰＣ９１０Ｂに向けて送信される。
【００１９】
更に、ＣＰＵ９６０は、受信バッファ９１６から読み出したパケットから非同期パケットヘッダを削除し（ステップＳ９４４）、得られたパケットに含まれているＩＰパケット分割片を抜き出して（ステップＳ９４５）、分割前のＩＰパケットを復元するように、メモリ９７０に格納させる（ステップＳ９４６）。その後、ステップＳ９４１〜Ｓ９４６の処理が繰り返される。
【特許文献１】特開２０００−３５４０８３号公報
【発明の開示】
【発明が解決しようとする課題】
【００２０】
このように、ＩＰパケットを分割してメモリから取り出して、ＩＥＥＥ１３９４バス上を転送させるためのパケットを生成する処理や、ＩＥＥＥ１３９４バス上を転送されて来たパケットから、ＩＰパケットを分割して得られたＩＰパケット分割片を取り出して、分割前のＩＰパケットを復元する処理を、ＣＰＵが行っていた。このため、ＩＰパケットを送受信する速度を十分に大きくすることができなかった。
【００２１】
また、ＣＰＵにこのような動作させるためにはソフトウェアが必要であるが、これを作成するには大きな手間が必要であった。
【００２２】
本発明は、ＩＰパケットを有し、ＩＥＥＥ１３９４シリアルバス上を転送することができるパケットと、ＩＰパケットとの間の変換を、高速に行うパケット転送装置を提供することを目的とする。
【課題を解決するための手段】
【００２３】
前記課題を解決するため、請求項１の発明が講じた手段は、パケット転送装置として、バスを経由して転送された非同期パケットを受信し、受信した非同期パケットのうちＩＰ（internet protocol）パケットから分割されたＩＰパケット分割片を有するものを選択して出力する受信フィルタと、前記受信フィルタが出力する非同期パケットから前記バスにおける転送のための非同期パケットヘッダを削除して出力する受信パケット変換部と、前記受信パケット変換部が出力するパケットからエンキャプスレーションヘッダを削除し、得られたパケットと、前記エンキャプスレーションヘッダが有し、前記得られたパケットに含まれるＩＰパケット分割片に関する情報とを出力するエンキャプスレーションヘッダ削除部と、前記エンキャプスレーションヘッダ削除部が出力するパケットを、前記情報に基づいてメモリに格納させ、分割前のＩＰパケットを復元するアドレス制御部と、送信すべきＩＰパケットを、指定されたＩＰパケット分割サイズ毎にメモリから分割して読み出し、読み出されたＩＰパケット分割片を出力する送信フラグメンテーション制御部と、前記送信フラグメンテーション制御部が出力するＩＰパケット分割片に、前記送信すべきＩＰパケットに関する情報を含むエンキャプスレーションヘッダを付加し、得られたパケットを出力するエンキャプスレーションヘッダ付加部と、前記エンキャプスレーションヘッダ付加部が出力するパケットに前記バスにおける転送のための非同期パケットヘッダを付加して、前記バスに転送させる送信パケット変換部とを備えるものである。
【００２４】
請求項１の発明によると、ＣＰＵによる処理を介することなく、パケット転送可能最大サイズよりもサイズが大きいＩＰパケットを分割してバス用のパケットに変換する処理を高速に行うことができる。また、逆に、ＣＰＵによる処理を介することなく、バスを介して他のノードから受け取ったバス用のパケットをＩＰパケット分割片に変換し、分割前のＩＰパケットを復元する処理を高速に行うことができる。このため、バスを介して他のノードとの間のＩＰパケット転送を高速に行うことができる。
【００２５】
請求項２の発明では、請求項１に記載のパケット転送装置において、前記エンキャプスレーションヘッダ付加部は、前記送信すべきＩＰパケットの総サイズ、及び分割前のＩＰパケットにおける前記ＩＰパケット分割片の位置を示すＩＰパケット分割片の分割位置を前記送信すべきＩＰパケットに関する情報として含む前記エンキャプスレーションヘッダを作成し、このヘッダが付加されたパケットのサイズを前記送信パケット変換部に出力するものである。
【００２６】
請求項３の発明では、請求項１に記載のパケット転送装置において、前記送信パケット変換部は、通知されたパケットタイプがアシンクロナスストリームパケットである場合には、前記エンキャプスレーションヘッダ付加部が出力するパケットに、チャンネル番号、及び前記エンキャプスレーションヘッダ付加部から通知された、エンキャプスレーションヘッダが付加されたパケットのサイズを含むヘッダを、前記非同期パケットヘッダとして付加して出力し、通知されたパケットタイプがブロック書き込み要求パケットである場合には、前記エンキャプスレーションヘッダ付加部が出力するパケットに、送信先識別子、送信先のメモリ内書き込み先アドレス、及びエンキャプスレーションヘッダ付加部から通知された、エンキャプスレーションヘッダが付加されたパケットのサイズを含むヘッダを、前記非同期パケットヘッダとして付加して出力するものである。
【００２７】
請求項４の発明では、請求項１に記載のパケット転送装置において、前記受信フィルタは、前記受信した非同期パケットのうち、ＩＰパケットが格納されていることが前記エンキャプスレーションヘッダに示されているパケットであって、そのパケットタイプ、及び送信者識別子、並びにチャンネル番号又は送信先のメモリ内書き込み先アドレスが、指定されたものと同じであるパケットを選択するものである。
【００２８】
請求項５の発明では、請求項１に記載のパケット転送装置において、前記受信パケット変換部は、前記非同期パケットから、パケット内データサイズ及び送信者識別子を読み出して、それぞれを前記エンキャプスレーションヘッダ削除部及び前記アドレス制御部に通知するものである。
【００２９】
請求項６の発明では、請求項１に記載のパケット転送装置において、前記エンキャプスレーションヘッダ削除部は、前記ＩＰパケット分割片に関する情報として、前記受信されたＩＰパケットの総サイズ、パケットグループ識別ラベル、ＩＰパケット分割情報、及び分割前のＩＰパケットにおける前記ＩＰパケット分割片の位置を示すＩＰパケット分割片の分割位置を前記エンキャプスレーションヘッダから取り出して、前記アドレス制御部に出力するものである。
【００３０】
請求項７の発明では、請求項１に記載のパケット転送装置において、前記アドレス制御部は、前記エンキャプスレーションヘッダ削除部が出力する情報に基づいて書き込み先アドレスを求め、受信したＩＰパケット分割片を前記メモリの前記書き込み先アドレスに格納させるものである。
【００３１】
請求項８の発明では、請求項１に記載のパケット転送装置において、前記送信フラグメンテーション制御部は、分割して送信された１つのＩＰパケットの送信が完了すると、送信が完了したことを通知する信号を出力するものである。
【００３２】
請求項９の発明では、請求項１に記載のパケット転送装置において、前記送信フラグメンテーション制御部は、分割して送信された１つのＩＰパケットの送信が正常に完了しなかった場合には、ＩＰパケットの送信を完了できなかったことを通知する信号を出力するものである。
【００３３】
請求項１０の発明では、請求項１に記載のパケット転送装置において、前記送信フラグメンテーション制御部は、分割回数指定子が通知された場合には、ＩＰパケットを前記メモリから分割して読み出して出力することを、前記分割回数指定子で指定された回数ずつ連続して行うものである。
【００３４】
請求項１１の発明では、請求項１に記載のパケット転送装置において、前記送信フラグメンテーション制御部は、最優先指定子が通知された場合には、ＩＰパケットの読み出しを中断し、前記最優先指定子に係るＩＰパケットを前記メモリから分割して読み出して出力し、このＩＰパケットについての読み出しが全て終了した後、読み出しが中断されたＩＰパケットの読み出しを再開するものである。
【００３５】
請求項１２の発明では、請求項１に記載のパケット転送装置において、前記送信フラグメンテーション制御部は、１つのノードに対して分割して送信しているＩＰパケットの送信が完了していない場合であっても、他のノードに対して分割して送信するＩＰパケットを前記メモリから読み出して出力するものであり、前記エンキャプスレーションヘッダ付加部は、同一のＩＰパケットから分割されたＩＰパケット分割片に、同一のパケットグループ識別ラベルを前記エンキャプスレーションヘッダとして付加して出力するものであり、前記送信パケット変換部は、送信先のノードを示す送信先識別子を前記非同期パケットヘッダとして付加して出力するものである。
【００３６】
請求項１３の発明では、請求項１に記載のパケット転送装置において、前記送信フラグメンテーション制御部は、１つのノードに対して分割して送信しているＩＰパケットの送信が完了していない場合であっても、そのノードに対して分割して送信する他のＩＰパケットを前記メモリから読み出して出力するものであり、前記エンキャプスレーションヘッダ付加部は、同一のＩＰパケットから分割されたＩＰパケット分割片に、同一のパケットグループ識別ラベルを前記エンキャプスレーションヘッダとして付加して出力するものである。
【００３７】
請求項１４の発明では、請求項１に記載のパケット転送装置において、前記アドレス制御部は、分割して送信された１つのＩＰパケットの受信が完了すると、受信が完了したことを通知する信号を出力するものである。
【００３８】
請求項１５の発明では、請求項１に記載のパケット転送装置において、前記アドレス制御部は、分割して送信された１つのＩＰパケットの受信が正常に完了しなかった場合には、ＩＰパケットの受信を完了できなかったことを通知する信号を出力するものである。
【００３９】
請求項１６の発明では、請求項１に記載のパケット転送装置において、前記受信フィルタは、１つのノードから分割して送信されたＩＰパケットの受信が完了していない場合であっても、他のノードから分割して送信されたＩＰパケットを含む非同期パケットを選択して出力するものであり、前記受信パケット変換部は、前記受信フィルタが出力するパケットの送信者識別子を出力するものであり、前記アドレス制御部は、前記受信フィルタが出力するパケットの送信者識別子に基づいて、異なるノードから送信されたＩＰパケットを前記メモリの異なる領域に格納するように、書き込み先のアドレスを求めるものである。
【００４０】
請求項１７の発明では、請求項１に記載のパケット転送装置において、前記受信フィルタは、１つのノードから分割して送信されたＩＰパケットの受信が完了していない場合であっても、そのノードから分割して送信された他のＩＰパケットを含む非同期パケットを選択して出力するものであり、前記受信パケット変換部は、前記受信フィルタが出力するパケットの送信者識別子を出力するものであり、前記エンキャプスレーションヘッダ削除部は、前記パケットグループ識別ラベルを前記エンキャプスレーションヘッダから取り出して出力するものであり、前記アドレス制御部は、前記送信者識別子及び前記パケットグループ識別ラベルに基づいて、前記ノードから送信された異なるＩＰパケットを前記メモリの異なる領域に格納するように、書き込み先のアドレスを求めるものである。
【００４１】
請求項１８の発明は、請求項１に記載のパケット転送装置において、分割して送信しているＩＰパケットの送信が完了していない場合であっても、分割して送信された他のＩＰパケットを受信することができ、分割して送信されたＩＰパケットの受信が完了していない場合であっても、他のＩＰパケットを分割して送信することができるように構成されているものである。
【００４２】
請求項１９の発明は、請求項１に記載のパケット転送装置において、ＩＰアドレスとノード番号との対応関係を示すＡＲＰ（address resolution protocol）テーブルを格納するＡＲＰテーブル格納部と、通知されたＩＰアドレスが前記ＡＲＰテーブルに含まれていない場合には、前記通知されたＩＰアドレスを含むＡＲＰ要求パケットを作成して、前記バス上に出力させ、通知されたＩＰアドレスが前記ＡＲＰテーブルに含まれている場合には、前記ＩＰアドレスに対応するノード番号を前記送信フラグメンテーション制御部に出力するＡＲＰパケット作成部とを更に備え、前記受信フィルタは、ＡＲＰ返答パケットを受信すると、このパケットを前記ＡＲＰテーブル格納部に出力し、このパケットに格納されているノード番号を前記送信フラグメンテーション制御部に出力するものであり、ＡＲＰテーブル格納部は、前記ＡＲＰ返答パケットを受け取ると、このパケットに含まれているＩＰアドレスとノード番号との対応関係を前記ＡＲＰテーブルに格納するものである。
【００４３】
請求項２０の発明は、請求項１に記載のパケット転送装置において、ＩＰアドレスとノード番号との対応関係を示すＡＲＰテーブルを格納するＡＲＰテーブル格納部と、ＡＲＰパケット作成部とを更に備え、前記受信フィルタは、ＡＲＰ要求パケットを受信すると、このパケットを前記ＡＲＰテーブル格納部に出力するものであり、前記ＡＲＰテーブル格納部は、ＡＲＰ要求パケットを受け取ると、このパケットに係る、ＩＰアドレスとノード番号との対応関係を前記ＡＲＰテーブルに追加し、ＡＲＰ返答パケットを返送するように前記ＡＲＰパケット作成部に指示するものであり、前記ＡＲＰパケット作成部は、前記ＡＲＰテーブル格納部から指示を受けると、ＡＲＰ返答パケットを作成して前記バス上に出力させるものである。
【発明の効果】
【００４４】
以上のように、本発明によると、ＩＥＥＥ１３９４シリアルバスを用いてＩＰパケットを高速に送受信することができる。また、ＣＰＵの処理負担が軽減され、ＣＰＵの内蔵ＲＯＭ（read-only memory）を低容量化することもできるので、低価格のＣＰＵを用いることができ、パケット転送装置を用いたシステム全体のコストを低減することができる。
【発明を実施するための最良の形態】
【００４５】
以下、本発明の実施の形態について、図面を参照しながら説明する。ＩＥＥＥ１３９４には、ＩＥＥＥ１３９４−１９９５、ＩＥＥＥ１３９４ａ、及びＩＥＥＥ１３９４ｂのいずれをも含むものとする。
【００４６】
図１は、本発明の実施形態に係るパケット転送装置を有するパーソナルコンピュータ（以下では、ＰＣと称する）が接続されたネットワークの例を示すブロック図である。ＰＣ１１０は、パケット転送装置１００と、ＣＰＵ６０と、メモリ７０とを備えている。同様に、ＰＣ１１０Ｂは、パケット転送装置１００Ｂと、ＣＰＵ６０Ｂと、メモリ７０Ｂとを備え、ＰＣ１１０Ｃは、パケット転送装置１００Ｃと、ＣＰＵ６０Ｃと、メモリ７０Ｃとを備えている。図１のように、ＰＣ１１０のパケット転送装置１００と、ＰＣ１１０Ｂのパケット転送装置１００Ｂと、ＰＣ１１０Ｃのパケット転送装置１００Ｃとが、ＩＥＥＥ１３９４シリアルバス（以下では、単にバスと称する）４を介して接続されている。パケット転送装置１００，１００Ｂ，１００Ｃは、それぞれ、バス４上のノードに対応している。
【００４７】
図２は、本発明の実施形態に係るパケット転送装置１００の構成の例を示すブロック図である。図２のパケット転送装置１００は、ＣＰＵインタフェース１２と、ＡＲＰ（address resolution protocol）パケット作成部１３と、送信バッファ１４と、ＡＲＰテーブル格納部１５と、受信バッファ１６と、受信フィルタ１８と、リンク層コントローラ２２と、物理層コントローラ２４と、ＤＭＡ（direct memory access）制御部２６と、データ受信バッファ３２と、受信パケット変換部３４と、エンキャプスレーションヘッダ削除部（以下では、Ｅｎｃａｐヘッダ削除部と称する）３６と、アドレス制御部３８と、送信フラグメンテーション制御部４２と、エンキャプスレーションヘッダ付加部（以下では、Ｅｎｃａｐヘッダ付加部と称する）４４と、送信パケット変換部４６と、データ送信バッファ４８とを備えている。
【００４８】
図２のパケット転送装置１００は、ＩＰ  ｏｖｅｒ  １３９４プロトコルに則り、バス４上を非同期転送される非同期パケット（ブロック書き込み要求パケット及びアシンクロナスストリームパケット）を用いて、ＩＰ（internet protocol）パケットの転送を行うものである。パケット転送装置１００は、ＣＰＵ６０の制御を受けて動作するものであり、メモリ７０に格納されたＩＰパケットをＰＣ１１０Ｂ等に転送し、ＰＣ１１０Ｂ等から転送されたＩＰパケットをメモリ７０に格納する。ＣＰＵ６０は、ＣＰＵインタフェース１２を介して、パケット転送装置１００内の各部分との間でデータを入出力する。ＣＰＵ６０及びＤＭＡ制御部２６は、データバス２を介してメモリ７０との間でデータの入出力を行う。
【００４９】
図３は、ブロック書き込み要求パケットのフォーマットの例を示す説明図である。このパケットは、送信先識別子（destination＿ID）、トランザクションラベル（tl）、リトライコード（rt）、パケットタイプ（tcode）、優先度（pri）、送信者識別子（source＿ID）、送信先のメモリ内書き込みアドレス（destination＿offset）、データ長（data＿length）、拡張トランザクションコード（extended＿tcode）、ヘッダＣＲＣ（header＿CRC）、データフィールド（data＿field）、データＣＲＣ（data＿CRC）の各フィールドを有している。パケットタイプは、トランザクションコードとも呼ばれる。これは、以下においても同様である。
【００５０】
図４は、アシンクロナスストリームパケットのフォーマットの例を示す説明図である。このパケットは、データ長（data＿length）、フォーマットタグ（tag）、チャンネル番号（channel）、パケットタイプ（tcode）、同期コード（sy）、ヘッダＣＲＣ（header＿CRC）、送信者識別子（source＿ID）、特定識別子（specifier＿ID）、バージョン（version）、データフィールド（data＿field）、データＣＲＣ（data＿CRC）の各フィールドを有している。
【００５１】
ブロック書き込み要求パケット及びアシンクロナスストリームパケットのいずれも、ビットｍｓｂが最初に伝送され、ビットｌｓｂが最後に伝送される。先頭からヘッダＣＲＣまでが、バス４上でパケットを転送するための非同期パケットヘッダである。また、伝送速度等に応じて、ブロック書き込み要求パケット及びアシンクロナスストリームパケットのそれぞれについて、データフィールドに格納可能なデータのサイズの最大値が、パケット転送可能最大サイズとして求められているとする。
【００５２】
パケット転送装置１００は、ブロック書き込み要求パケット及びアシンクロナスストリームパケット等のデータフィールドに格納されたＩＰパケットを送受信する。ＩＰパケットのサイズがパケット転送可能最大サイズよりも大きい場合には、ＩＰパケットはＩＰパケット分割片に分割されて送受信される。この場合、パケット転送装置１００は、送信すべきＩＰパケットをＣＰＵ６０による処理を介さずにメモリ７０から分割して読み出し、得られたＩＰパケット分割片を複数の非同期パケットに格納して送信する。また、パケット転送装置１００は、非同期パケットに格納されたＩＰパケット分割片を受信すると、これらをＣＰＵ６０による処理を介さずにメモリ７０に格納し、ＩＰパケットを復元する。
【００５３】
非同期パケットに格納される場合、ＩＰパケット又はＩＰパケット分割片の前にはエンキャプスレーションヘッダが付加される。図５（ａ）は、ＩＰパケットが分割されていない場合におけるエンキャプスレーションヘッダのフォーマットの例を示す説明図である。図５（ｂ）は、先頭のＩＰパケット分割片に対するエンキャプスレーションヘッダのフォーマットの例を示す説明図である。図５（ｃ）は、２番目以降のＩＰパケット分割片に対するエンキャプスレーションヘッダのフォーマットの例を示す説明図である。
【００５４】
図５（ａ），（ｂ）のエンキャプスレーションヘッダは、イーサタイプ（ether＿type）フィールドを有している。このフィールドは、その値が所定の値である場合には、その非同期パケットにはＩＰパケットが格納されていることを示す。また、図５（ａ）〜（ｃ）のエンキャプスレーションヘッダはいずれも、ＩＰパケット分割情報（lf）を有している。ＩＰパケット分割情報は、ＩＰパケットが分割されているか否か、又は分割前のＩＰパケットにおけるＩＰパケット分割片の順位（先頭、末尾、中間のいずれか）を示している。以下では、より具体的に、パケット転送装置１００の動作について説明する。
【００５５】
（送信時の動作）
図６は、図２のパケット転送装置１００がＩＰパケットを分割して送信する場合の動作を示すシーケンス図である。図１〜図６を参照して、図２のパケット転送装置１００の送信時の基本的な動作、すなわち、パケット転送可能最大サイズよりもサイズが大きく、分割して転送する必要があるＩＰパケットを、ＰＣ１１０から他のＰＣ１１０Ｂへバス４を介して転送する動作について説明する。
【００５６】
ＣＰＵ６０は、ＩＰパケットを自動送信するための処理を起動する。すなわち、ＣＰＵ６０は、送信すべきＩＰパケットについて、メモリ７０内における格納アドレス、ＩＰパケット総サイズ（datagram＿size）、送信先のＩＰアドレス、パケットタイプ、及びチャンネル番号等、ＩＰパケットの自動送信処理のための情報をＣＰＵインタフェース１２に書き込む（ステップＳ１０１）。ＩＰパケットを自動送信するための設定が行われると、パケット転送装置１００は、ＣＰＵインタフェース１２が受け取った情報を用いてＩＰパケット自動送信処理を開始する。
【００５７】
ＩＰパケット自動送信処理は、メモリ７０内に格納されている、パケット転送可能最大サイズよりもサイズが大きいＩＰパケットを、ＣＰＵ６０の処理を介さずに自動的に分割して送信させる処理である。
【００５８】
ＡＲＰテーブル格納部１５は、ＩＰアドレスとバス４上のノードを表す識別子（ノードＩＤ）との対応関係を示すＡＲＰテーブルを格納している。
【００５９】
ＩＰパケットを自動送信するための設定が行われると、ＣＰＵインタフェース１２は、ＩＰパケットの送信先であるＰＣ１１０ＢのＩＰアドレスを、ＡＲＰパケット作成部１３に通知する。ＡＲＰパケット作成部１３は、通知された送信先のＩＰアドレスがＡＲＰテーブルに登録されているか否かをＡＲＰテーブル格納部１５に問い合わせる。
【００６０】
送信先のＩＰアドレスがＡＲＰテーブルに登録されていない場合には、ＡＲＰパケット作成部１３は、このＩＰアドレスを格納したＡＲＰ要求パケットを作成し（ステップＳ１０２）、これを送信バッファ１４に書き込んで送信させる（ステップＳ１０３）。ＡＲＰ要求パケットは、アシンクロナスストリームパケットである。
【００６１】
リンク層コントローラ２２は、送信バッファ１４からＡＲＰ要求パケットを読み出し、これにＰＣ１１０を示す送信者識別子等をパケット識別情報として付加して、物理層コントローラ２４に出力する。物理層コントローラ２４は、リンク層コントローラ２２から受け取ったパケットを電気信号に変換してバス４に送信する。
【００６２】
バス４に接続されている他の全てのＰＣ１１０Ｂ，１１０Ｃは、ＡＲＰ要求パケットを受信する。すると、これらのＰＣのうち、このパケットが格納するＩＰアドレスを有しているＰＣ１１０Ｂのみが、ＡＲＰ返答パケットを作成して、これをＡＲＰ要求パケットを送信したＰＣ１１０にバス４を経由して送信する。ＡＲＰ返答パケットは、ブロック書き込み要求パケット又はアシンクロナスストリームパケットである。
【００６３】
パケット転送装置１００の物理層コントローラ２４は、ＡＲＰ返答パケットを受信すると、これを電気信号からデジタルデータの形式に変換してリンク層コントローラ２２に出力する。リンク層コントローラ２２は、物理層コントローラ２４から受け取ったＡＲＰ返答パケットを受信フィルタ１８に出力する。
【００６４】
受信フィルタ１８は、リンク層コントローラ２２から受け取ったパケットのパケットタイプ、送信者識別子、チャンネル番号、エンキャプスレーションヘッダのイーサタイプフィールド等に基づいて、受信したパケットの種類を判断する。
【００６５】
受信フィルタ１８は、受信したパケットがＡＲＰ返答パケット、ＩＰパケットを含んだパケット、又はその他のパケットであると判断した場合には、このパケットを、それぞれＡＲＰテーブル格納部１５、データ受信バッファ３２、又は受信バッファ１６に出力する。
【００６６】
ＡＲＰテーブル格納部１５は、ＡＲＰ返答パケットを受け取ると、このパケットから、送信先のＩＰアドレスに対応する識別子である送信者識別子（source＿ID）、送信者受信可能最大ペイロードサイズ（sender＿max＿rec）、送信者メモリ内書き込みアドレス（sender＿unicast＿FIFO）、及び送信者転送速度（sspd）を取り出してＡＲＰテーブルに格納する（ステップＳ１０４）。バス４の最大転送速度に応じた最大データペイロード値と、送信者受信可能最大ペイロードサイズとのうち、小さい方がパケット転送可能最大サイズとなる。
【００６７】
また、ＡＲＰテーブル格納部１５は、送信フラグメンテーション制御部４２に、パケット転送可能最大サイズをＩＰパケット分割サイズとして、送信者識別子を送信先識別子として、送信者メモリ内書き込みアドレスを送信先のメモリ内書き込みアドレス（destination＿offset）として通知する（ステップＳ１０５）。
【００６８】
一方、送信先のＩＰアドレスがＡＲＰテーブルに登録されている場合には、ＡＲＰパケット作成部１３は、ＡＲＰ要求パケットの作成及び送信を行うことなく、ＡＲＰテーブルを用いて、ステップＳ１０５の処理を行う。
【００６９】
送信フラグメンテーション制御部４２は、送信すべきＩＰパケットを、そのメモリ７０内における格納アドレス、ＩＰパケット総サイズ、及びＩＰパケット分割サイズに基づいて、メモリ７０からＩＰパケット分割サイズ毎に分割して読み出す。具体的には、送信フラグメンテーション制御部４２は、ＤＭＡ制御部２６に対して読み出しを行うように指示を行い、ＤＭＡ制御部２６は、送信すべきＩＰパケットをメモリ７０からＩＰパケット分割サイズ毎に分割して読み出し、読み出されたＩＰパケット分割片を送信フラグメンテーション制御部４２に出力する（ステップＳ１２１）。
【００７０】
また、送信フラグメンテーション制御部４２は、ＩＰパケット分割片を、ＤＭＡ制御部２６から受け取る度にＥｎｃａｐヘッダ付加部４４に出力するとともに、ＩＰパケット総サイズ、ＩＰパケット分割サイズ、ＩＰパケット分割情報、及び分割前のＩＰパケットにおけるＩＰパケット分割片の位置を示すＩＰパケット分割片の分割位置（fragment＿offset）をＥｎｃａｐヘッダ付加部４４に通知する。また、送信フラグメンテーション制御部４２は、送信先識別子、及び送信先のメモリ内書き込みアドレスをＥｎｃａｐヘッダ付加部４４に通知する（ステップＳ１２１）。
【００７１】
Ｅｎｃａｐヘッダ付加部４４は、送信フラグメンテーション制御部４２からＩＰパケット分割片を受け取る度に、ＩＰパケット総サイズ、ＩＰパケット分割情報、及びＩＰパケット分割片の分割位置を、送信すべきＩＰパケットに関する情報として含むエンキャプスレーションヘッダを作成し、これをＩＰパケット分割片に付加して送信パケット変換部４６に出力する。更に、Ｅｎｃａｐヘッダ付加部４４は、ＩＰパケット分割片にエンキャプスレーションヘッダが付加されたパケット（以下では、ＩＰパケット分割片カプセルと称する）のサイズ（カプセル化データサイズ）を送信パケット変換部４６に通知する。また、Ｅｎｃａｐヘッダ付加部４４は、送信先識別子、及び送信先のメモリ内書き込みアドレスを送信パケット変換部４６に通知する。（ステップＳ１２２）。
【００７２】
送信パケット変換部４６は、ＩＰパケット分割片カプセルを受け取る度に、これをＩＰパケット分割片転送パケットに変換し、データ送信バッファ４８に出力する（ステップＳ１２３）。すなわち、ＣＰＵ６０から通知されたパケットタイプがアシンクロナスストリームパケットである場合には、送信パケット変換部４６は、併せて通知されたチャンネル番号、及びＥｎｃａｐヘッダ付加部４４から通知されたカプセル化データサイズを有するヘッダを、非同期パケットヘッダとしてＩＰパケット分割片カプセルに付加してアシンクロナスストリームパケットを作成し、これをＩＰパケット分割片転送パケットとして出力する。
【００７３】
また、ＣＰＵ６０から通知されたパケットタイプがブロック書き込み要求パケットである場合には、送信パケット変換部４６は、併せて通知された送信先識別子、送信先のメモリ内書き込みアドレス、及びＥｎｃａｐヘッダ付加部４４から通知されたカプセル化データサイズを有するヘッダを、非同期パケットヘッダとしてＩＰパケット分割片カプセルに付加してブロック書き込み要求パケットを作成し、これをＩＰパケット分割片転送パケットとして出力する。
【００７４】
リンク層コントローラ２２は、データ送信バッファ４８にパケットが書き込まれる度に取り出して、このパケットにパケット識別情報を付与して物理層コントローラ２４に出力する。
【００７５】
物理層コントローラ２４は、リンク層コントローラ２２からブロック書き込み要求パケットを受け取る度に、パケットを電気信号に変換し、バス４を介してＰＣ１１０Ｂに送信する（ステップＳ１２４）。
【００７６】
ＰＣ１１０Ｂは、パケットを受信すると、受信完了通知パケット（ack＿comp又はＷＲＳ（comp））をＰＣ１１０に送信する。
【００７７】
物理層コントローラ２４は、受信完了通知パケットを受信すると、このパケットを電気信号からデジタルデータの形式に変換してリンク層コントローラ２２に出力する。リンク層コントローラ２２は、物理層コントローラ２４から受け取ったパケットを受信フィルタ１８に出力する。
【００７８】
受信フィルタ１８は、リンク層コントローラ２２から受け取ったパケットが、ＩＰパケットを含んだパケットではなく、かつ、送信したＩＰパケット分割片に対する受信完了通知パケットであることを確認すると、受信完了通知パケット内の応答コード（rcode）を読み出す。受信フィルタ１８は、応答コードが受信完了応答であることを確認することにより、送信されたＩＰパケット分割片をＰＣ１１０Ｂが正常に受信したことを確認する（ステップＳ１２５）。
【００７９】
以後、パケット転送装置１００は、ステップＳ１２１〜Ｓ１２５の処理を繰り返す。すなわち、メモリ７０内の送信すべきＩＰパケットをＩＰパケット分割サイズ毎に分割して取り出し、取り出されたＩＰパケット分割片にエンキャプスレーションヘッダを付加し、非同期パケットに納めてから、バス４を通して他のＰＣ１１０Ｂに送信するという処理を、送信すべきＩＰパケットがなくなるまで繰り返す。
【００８０】
このように、図２のパケット転送装置１００によると、ＣＰＵ６０がＣＰＵインタフェース１２に制御情報を書き込むことにより指示を行うと、それ以後はＣＰＵ６０の処理を介さずに、自動的にＩＰパケットを指定された分割サイズ毎に分割して送信することができる。したがって、パケット転送可能最大サイズよりもサイズが大きいＩＰパケットを、ＩＥＥＥ１３９４バス用のパケットに変換して、ＰＣ１１０から他のＰＣ１１０Ｂへバス４を介して高速に転送することができる。
【００８１】
また、ＡＲＰ要求パケットの作成やＡＲＰテーブルへの登録等の処理をＣＰＵ６０が行わないので、この処理を高速化することができ、ＣＰＵ６０の負荷を減らすこともできる。
【００８２】
（受信時の動作）
図７は、図２のパケット転送装置１００がＩＰパケットを分割して受信する場合の動作を示すシーケンス図である。図１、図２、及び図７を参照して、図２のパケット転送装置１００の受信時の基本的な動作、すなわち、パケット転送可能最大サイズよりもサイズが大きく、分割して転送する必要があるＩＰパケットを、ＰＣ１１０へ他のＰＣ１１０Ｂからバス４を介して転送する動作について説明する。
【００８３】
ＩＰパケットを送信したいＰＣ１１０Ｂは、送信先（ＰＣ１１０）のＩＰアドレスがＰＣ１１０ＢのＡＲＰテーブルに登録されていない場合には、ＩＰパケットを送信する前に、まずＩＰパケットの送信先であるＰＣ１１０のＩＰアドレスを格納したＡＲＰ要求パケットをバス４に送信する。
【００８４】
一方、送信先（ＰＣ１１０）のＩＰアドレスがＰＣ１１０ＢのＡＲＰテーブルに登録されている場合には、ＰＣ１１０Ｂは、ＡＲＰ要求パケットの作成及び送信を行うことなく、ＡＲＰテーブルを用いて、ＩＰパケットの送信の処理を始める。
【００８５】
ＰＣ１１０ＢがＡＲＰ要求パケットを送信すると、バス４に接続されている全てのＰＣは、ＡＲＰ要求パケットを受信する。ＰＣ１１０に搭載されたパケット転送装置１００の物理層コントローラ２４は、ＡＲＰ要求パケットを受信すると、これを電気信号からデジタルデータの形式に変換してリンク層コントローラ２２に出力する。リンク層コントローラ２２は、物理層コントローラ２４から受け取ったＡＲＰ要求パケットを受信フィルタ１８に出力する。
【００８６】
受信フィルタ１８は、受信したパケットに格納されたパケットタイプ、送信者識別子、チャンネル番号、送信先のメモリ内書き込み先アドレス、及びエンキャプスレーションヘッダのイーサタイプフィールドに基づいて、受信したパケットの種類を判断する。受信フィルタ１８は、受信したパケットがＰＣ１１０に対するＡＲＰ要求パケットであると判断すると、これをＡＲＰテーブル格納部１５に出力する。
【００８７】
ＡＲＰテーブル格納部１５は、ＡＲＰ要求パケットを受け取ると、このパケットから、送信者識別子（source＿ID）、送信者メモリ内書き込み先アドレス（sender＿unicast＿FIFO）、送信者受信可能最大ペイロードサイズ（sender＿max＿rec）、送信者転送速度（sspd）、及び送信者ＩＰアドレス（sender＿IP＿address）を読み出して、ＡＲＰテーブルに登録する（ステップＳ２０１）。また、ＡＲＰテーブル格納部１５は、ＡＲＰ返答パケットを返送するように、ＡＲＰパケット作成部１３に指示をする。
【００８８】
次に、ＡＲＰテーブル格納部１５は、ＩＰパケットを自動受信するための処理を起動する。すなわち、ＡＲＰテーブル格納部１５は、ＩＰパケットを含む可能性があるパケットの送信者識別子、メモリ内書き込み先アドレス、パケットタイプ、チャネル番号を受信フィルタ１８に通知して、これらの条件を満たすパケットのみを選択してデータ受信バッファ３２へ出力するように指示する（ステップＳ２０２）。ここで、ＩＰパケットを含む可能性があるパケットとは、ＡＲＰテーブルに登録されている送信者から受け取ったパケットである。
【００８９】
また、ＡＲＰパケット作成部１３は、ＡＲＰ要求パケットから得たこのパケットの送信者識別子、送信者メモリ内書き込み先アドレス、及びＰＣ１１０が有するＩＥＥＥ１３９４関連情報に基づいて、ＡＲＰ返答パケットを作成して送信バッファ１４に書き込む（ステップＳ２０３）。
【００９０】
リンク層コントローラ２２は、送信バッファ１４に格納されたＡＲＰ返答パケットにパケット識別情報を付与して物理層コントローラ２４に出力する。物理層コントローラ２４は、リンク層コントローラ２２から受け取ったＡＲＰ返答パケットを電気信号に変換し、バス４を介して、ＡＲＰ要求パケットを送信してきたＰＣ１１０Ｂに送出する。
【００９１】
ＩＰパケットを送信したいＰＣ１１０Ｂは、ＡＲＰ返答パケットを受信すると、ＡＲＰ返答パケット内の送信者ＩＰアドレスと、ＰＣ１１０Ｂ自身がＡＲＰ要求パケットに格納して送出した標的ＩＰアドレス（target＿IP＿address）とを比較する。両者が同じであることを確認すると、ＰＣ１１０Ｂは、ＡＲＰ返答パケットから更に送信者識別子、送信者メモリ内書き込み先アドレス、送信者受信可能最大ペイロードサイズ、及び送信者転送速度を読み出し、これらに基づいて、送信するＩＰパケットをどのようなサイズに分割するかを示す送信用ＩＰパケット分割サイズを算出する。
【００９２】
ＰＣ１１０Ｂは、パケット転送可能最大サイズ以上のＩＰパケットを、算出した送信用ＩＰパケット分割サイズ毎に分割し、その送信用ＩＰパケット分割片の先頭に、送信するＩＰパケットがどのように分割され、カプセル化されているかを示すエンキャプスレーションヘッダを付加する。
【００９３】
ＰＣ１１０Ｂは、エンキャプスレーションヘッダが付加された送信用ＩＰパケット分割片をブロック書き込み要求パケットの中に格納して、得られたＩＰパケット分割片転送パケットを、バス４に接続され、ＡＲＰ返答パケットに格納された送信者識別子を有しているＰＣ１１０に向けて送信する。
【００９４】
パケット転送装置１００の物理層コントローラ２４は、ＰＣ１１０ＢからＩＰパケット分割片転送パケットを受信する度に、これを電気信号からデジタルデータの形式に変換してリンク層コントローラ２２に出力する。リンク層コントローラ２２は、物理層コントローラ２４からパケットを受け取る度に、これを受信フィルタ１８に出力する。
【００９５】
受信フィルタ１８は、パケット受信処理を行う（ステップＳ２２１）。すなわち、受信フィルタ１８は、リンク層コントローラ２２からパケットを受け取る度にパケットの属性を調べて、このパケットにＰＣ１１０宛のＩＰパケットが含まれている否かを判断する。受信フィルタ１８は、ＰＣ１１０宛のＩＰパケットが含まれていると判断すると、リンク層コントローラ２２から受け取ったパケットをデータ受信バッファ３２に出力して格納させる。
【００９６】
ここで、受信フィルタ１８は、パケットのデータブロックから読み出したエンキャプスレーションヘッダのイーサタイプフィールドが、ＩＰパケットが入ったパケットであることを示していて、かつ、次の条件を満たすときに、ＰＣ１１０宛のＩＰパケットが含まれていると判断する。
【００９７】
すなわち、受け取ったパケットのパケットタイプがアシンクロナスストリームパケットである場合には、そのチャンネル番号がＣＰＵ６０から指定された番号と同じであり、パケットのデータブロックから読み出した送信者識別子がＣＰＵ６０から指定された識別子と同じであること。パケットタイプがブロック書き込み要求パケットである場合には、送信者識別子がＣＰＵ６０から指定された識別子と同じであり、送信先のメモリ内書き込み先アドレスがＣＰＵ６０から指定されたアドレスと同じであること。
【００９８】
パケット転送装置１００が、ＩＰパケット分割片を有するパケットを正常に受信すると、受信フィルタ１８は、このパケットを送信してきたＰＣ１１０Ｂへ受信完了通知パケットを送信するように、リンク層コントローラ２２に指示をする。
【００９９】
リンク層コントローラ２２は、このＩＰパケット分割片を有するパケットに対する受信完了通知パケットを作成し、これにパケット識別情報を付与して、物理層コントローラ２４に出力する（ステップＳ２２２）。
【０１００】
物理層コントローラ２４は、リンク層コントローラ２２から受け取った受信完了通知パケットを電気信号に変換し、バス４を介してＰＣ１１０Ｂに送信する（ステップＳ２２３）。
【０１０１】
受信パケット変換部３４は、データ受信バッファ３２から読み出したパケットをＩＰパケット分割片カプセルに変換するパケット変換処理を行う（ステップＳ２２４）。すなわち、受信パケット変換部３４は、受信されたパケットをデータ受信バッファ３２から読み出し、その度にパケットの属性を調べ、非同期パケットヘッダに含まれるパケット内データサイズ（data＿length）をＥｎｃａｐヘッダ削除部３６に出力する。
【０１０２】
また、受信パケット変換部３４は、受信バッファ３２から読み出された非同期パケットがアシンクロナスストリームパケットである場合には、そのデータ部分から読み出した送信者識別子をアドレス制御部３８に出力する。受信パケット変換部３４は、受信バッファ３２から読み出された非同期パケットがブロック書き込み要求パケットである場合には、その非同期パケットヘッダに含まれる送信者識別子をアドレス制御部３８に出力する。
【０１０３】
更に、受信パケット変換部３４は、非同期パケットから非同期パケットヘッダを削除して、得られたＩＰパケット分割片カプセルをＥｎｃａｐヘッダ削除部３６に出力する。
【０１０４】
Ｅｎｃａｐヘッダ削除部３６は、ＩＰパケット分割片カプセルを受信パケット変換部３４から受け取る度に、ＩＰパケット分割片カプセルからエンキャプスレーションヘッダを取り除き、得られたＩＰパケット分割片をアドレス制御部３８に出力する。また、Ｅｎｃａｐヘッダ削除部３６は、エンキャプスレーションヘッダから読み出したパケットグループ識別ラベル（dgl）、ＩＰパケット総サイズ（datagram＿size）、ＩＰパケット分割情報（lf）、及びＩＰパケット分割片の分割位置（fragment＿offset）をＩＰパケット分割片に関する情報としてアドレス制御部３８に出力する。更に、Ｅｎｃａｐヘッダ削除部３６は、このＩＰパケット分割片に関する情報及び受信パケット変換部３４から通知されたパケット内データサイズに基づいて、ＩＰパケット分割サイズを算出し、アドレス制御部３８に出力する（ステップＳ２２５）。
【０１０５】
アドレス制御部３８は、Ｅｎｃａｐヘッダ削除部３６からＩＰパケット分割片を受け取る度に、Ｅｎｃａｐヘッダ削除部３６から通知されたパケットグループ識別ラベル、ＩＰパケット総サイズ、ＩＰパケット分割情報、ＩＰパケット分割サイズ、ＩＰパケット分割片の分割位置、及び受信パケット変換部３４から通知された送信者識別子に基づいて、ＩＰパケット分割片のメモリ７０における格納先アドレスを算出し、これをＩＰパケット分割片とともにＤＭＡ制御部２６に出力する。また、アドレス制御部３８は、メモリ７０内に格納したＩＰパケット分割片が分割前のＩＰパケットにおいて占める位置の情報を記憶しておく。ＤＭＡ制御部２６は、アドレス制御部３８に指定された、メモリ７０における格納先アドレスに、ＩＰパケット分割片を格納する（ステップＳ２２６）。
【０１０６】
以後、パケット転送装置１００は、ステップＳ２２１〜Ｓ２２６の処理を繰り返す。すなわち、ＩＰパケット分割片が入ったパケットを受信する度に、そのパケットの中からＩＰパケット分割片カプセルを抜き出し、そのエンキャプスレーションヘッダに示されたＩＰパケット分割片の分割位置に基づいて、ＩＰパケット分割片をメモリ内の適切な位置に保存するという処理を、１つのＩＰパケットから分割されたＩＰパケット分割片を全て受信し終えるまで繰り返す。
【０１０７】
ここで、複数のＩＰパケット分割片は、格納先のアドレス順に送信されてもよいし、他の順で送信されてもよい。いずれの場合においても、アドレス制御部３８は適切な格納先アドレスを出力するので、メモリ７０内において、分割前のＩＰパケットを復元することができる。
【０１０８】
ＩＰパケット分割片を全て受信し終えると、アドレス制御部３８は、ＩＰパケット分割片が分割前のＩＰパケットにおいて占める位置の情報に基づいて、ＩＰパケット分割片を全て受信したか否かを確認する。
【０１０９】
アドレス制御部３８は、分割して送信された１つのＩＰパケットの受信が完了すると、すなわち、そのＩＰパケットを構成するＩＰパケット分割片を全て受信した場合には、そのＩＰパケットの送信者識別子、及びパケットグループ識別ラベルをＣＰＵインタフェース１２上に登録し、更にＣＰＵ６０に対して割込みを行って、受信が完了したことを通知する（ステップＳ２５１）。
【０１１０】
また、アドレス制御部３８は、分割して送信された１つのＩＰパケットの受信が正常に完了しなかった場合、例えば、そのＩＰパケットを構成するＩＰパケット分割片のうち、受信できなかったものがある場合には、そのＩＰパケット分割片の送信者識別子、パケットグループ識別ラベル、及び分割位置をＣＰＵインタフェース１２上に登録する。更にアドレス制御部３８は、ＣＰＵ６０に対して割込みを行って、一部のＩＰパケット分割片が未着であって、ＩＰパケットの受信を完了できなかったことを通知する（ステップＳ２５２）。
【０１１１】
このように、図２のパケット転送装置１００によると、ＣＰＵ６０がＣＰＵインタフェース１２に制御情報を書き込むことにより指示を行うと、それ以後はＣＰＵ６０の処理を介さずに、自動的に受信したパケットの中からＩＰパケットが格納されているパケットを抽出し、ＩＰパケットが分割されているか否かを判別し、分割されている場合には、受信したＩＰパケット分割片を連結して元のＩＰパケットを復元することができる。したがって、パケット転送可能最大サイズよりもサイズが大きいＩＰパケットを、ＩＥＥＥ１３９４バス用のパケットに変換して、他のＰＣ１１０ＢからＰＣ１１０へバス４を介して高速に転送することができる。
【０１１２】
また、ＡＲＰ返答パケットの作成等の処理をＣＰＵ６０が行わないので、この処理を高速化することができ、ＣＰＵ６０の負荷を減らすこともできる。
【０１１３】
（送信中に受信を行う場合の動作）
図８は、図２のパケット転送装置１００が、バス４を介して、１つのノードへＩＰパケットを送信中に他のノードからＩＰパケットを受信する場合の動作を示すシーケンス図である。図１、図２、及び図８を参照して、図２のパケット転送装置１００が、ＰＣ１１０Ｂへパケット転送可能最大サイズよりもサイズが大きいＩＰパケットを分割して送信中に、他のノードであるＰＣ１１０Ｃからパケット転送可能最大サイズよりもサイズが大きい他のＩＰパケットを分割して受信する動作について説明する。
【０１１４】
図８において、まず、ＣＰＵ６０は、ＩＰパケットを自動送信するための処理を起動する。これは、図６を参照して説明したステップＳ１０１における処理と同様であるので、説明を省略する。
【０１１５】
ＣＰＵインタフェース１２にＩＰパケットを自動送信するための設定が行われると、パケット転送装置１００は、設定された情報を用いてＩＰパケット自動送信処理を開始する。
【０１１６】
パケット転送装置１００は、ＩＰパケット分割ステップＳ３２１、ＩＰパケットカプセル化ステップＳ３２２、パケット変換ステップＳ３２３、パケット送信ステップＳ３２４、及び受信完了通知パケット確認ステップＳ３２５を行うことによって、ＩＰパケット分割片をメモリ７０から読み出してＰＣ１１０Ｂに送信する。ステップＳ３２１〜Ｓ３２５における処理は、それぞれ図６のステップＳ１２１〜Ｓ１２５における処理と同様である。パケット転送装置１００は、ステップＳ３２１〜Ｓ３２５の処理を繰り返し行う。
【０１１７】
パケット転送装置１００は、必要に応じて、ＰＣ１１０ＣからのＡＲＰ要求パケットの受信、及びＰＣ１１０ＣへのＡＲＰ返答パケットの送信を既に行っているものとする。
【０１１８】
分割して送信中のＩＰパケットの全ての分割片を送信し終えていなくても、送信先のＰＣ１１０Ｂとは異なるノードのＰＣ１１０ＣからＩＰパケット分割片転送パケットを受信すると、パケット転送装置１００は、受信処理を行う。すなわち、パケット転送装置１００は、パケット受信ステップＳ３４１，受信完了通知パケット作成ステップＳ３４２、受信完了通知パケット送信ステップＳ３４３、パケット変換ステップＳ３４４、ＩＰパケット分割片抜き出しステップＳ３４５、及びＩＰパケット分割片保存ステップＳ３４６を行うことによって、ＩＰパケット分割片をＰＣ１１０Ｃから受信してメモリ７０に格納する。ステップＳ３４１〜Ｓ３４６における処理は、それぞれ図７のステップＳ２２１〜Ｓ２２６における処理と同様である。
【０１１９】
ステップＳ３４６において、受信したＩＰパケット分割片をメモリ７０に格納すると、パケット転送装置１００は、ステップＳ３２１〜Ｓ３２５の処理を再び繰り返し行う。また、パケット転送装置１００は、ＰＣ１１０ＣからＩＰパケット分割片転送パケットを受信すると、ステップＳ３４１〜Ｓ３４６の処理を再び行う。以下、パケット転送装置１００は、同様の処理を繰り返す。
【０１２０】
このように、図２のパケット転送装置１００によると、ＰＣ１１０ＢへＩＰパケットを分割して送信中に、ＰＣ１１０ＣからＩＰパケットを分割して受信することができる。
【０１２１】
（受信中に送信を行う場合の動作）
図９は、図２のパケット転送装置１００が、バス４を介して、１つのノードからＩＰパケットを受信中に他のノードへＩＰパケットを送信する場合の動作を示すシーケンス図である。図１、図２、及び図９を参照して、図２のパケット転送装置１００が、ＰＣ１１０Ｂからパケット転送可能最大サイズよりもサイズが大きいＩＰパケットを分割して受信中に、他のノードであるＰＣ１１０Ｃにパケット転送可能最大サイズよりもサイズが大きい他のＩＰパケットを分割して送信する動作について説明する。
【０１２２】
パケット転送装置１００は、必要に応じて、ＰＣ１１０ＢからのＡＲＰ要求パケットの受信、及びＰＣ１１０ＢへのＡＲＰ返答パケットの送信を既に行っているものとする。
【０１２３】
ＩＰパケット分割片転送パケットを受信すると、パケット転送装置１００は、受信処理を行う。すなわち、パケット転送装置１００は、パケット受信ステップＳ４２１，受信完了通知パケット作成ステップＳ４２２、受信完了通知パケット送信ステップＳ４２３、パケット変換ステップＳ４２４、ＩＰパケット分割片抜き出しステップＳ４２５、及びＩＰパケット分割片保存ステップＳ４２６を行うことによって、ＩＰパケット分割片をＰＣ１１０Ｂから受信してメモリ７０に格納する。ステップＳ４２１〜Ｓ４２６における処理は、それぞれ図７のステップＳ２２１〜Ｓ２２６における処理と同様である。パケット転送装置１００は、ステップＳ４２１〜Ｓ４２６の処理を繰り返し行う。
【０１２４】
分割して受信中のＩＰパケットの全ての分割片を受信し終えていなくても、ＩＰパケットを例えばＰＣ１１０Ｃに送信する必要が生じた場合には、ＣＰＵ６０は、ＩＰパケットを自動送信するための処理を起動する。これは、図６を参照して説明したステップＳ１０１における処理と同様であるので、説明を省略する。
【０１２５】
ＣＰＵインタフェース１２にＩＰパケットを自動送信するための設定が行われると、パケット転送装置１００は、設定された情報を用いてＩＰパケット自動送信処理を開始する。
【０１２６】
パケット転送装置１００は、ＩＰパケット分割ステップＳ４４１、ＩＰパケットカプセル化ステップＳ４４２、パケット変換ステップＳ４４３、パケット送信ステップＳ４４４、及び受信完了通知パケット確認ステップＳ４４５を行うことによって、ＩＰパケット分割片をメモリ７０から読み出してＰＣ１１０Ｃに送信する。ステップＳ４４１〜Ｓ４４５における処理は、それぞれ図６のステップＳ１２１〜Ｓ１２５における処理と同様である。パケット転送装置１００は、ステップＳ３２１〜Ｓ３２５の処理を繰り返し行う。
【０１２７】
分割して送信中のＩＰパケットの全ての分割片を送信し終えていなくても、ＰＣ１１０ＢからＩＰパケット分割片転送パケットを受信すると、パケット転送装置１００は、再びステップＳ４２１〜Ｓ４２６の処理を繰り返し行って、ＩＰパケット分割片をメモリ７０に格納する。以下、パケット転送装置１００は、同様の処理を繰り返す。
【０１２８】
このように、図２のパケット転送装置１００によると、ＰＣ１１０ＢからＩＰパケットを分割して受信中に、ＰＣ１１０ＣにＩＰパケットを分割して送信することができる。
【０１２９】
（複数のＰＣへＩＰパケットを送信する場合の動作）
図１０は、図２のパケット転送装置１００が、バス４を介して、複数のノードのそれぞれへ異なるＩＰパケットを送信する場合の動作を示すシーケンス図である。図１、図２、及び図１０を参照して、図２のパケット転送装置１００が、ＰＣ１１０Ｂ及びＰＣ１１０Ｃのそれぞれへ、パケット転送可能最大サイズよりもサイズが大きいＩＰパケットを分割して送信する動作について説明する。
【０１３０】
パケット転送装置１００は、必要に応じて、ＰＣ１１０Ｂ及びＰＣ１１０ＣへのＡＲＰ要求パケットの送信、ＰＣ１１０Ｂ及びＰＣ１１０ＣからのＡＲＰ返答パケットの受信、並びにＡＲＰテーブルへの格納を既に行っているものとする。
【０１３１】
図１０において、まず、ＣＰＵ６０は、ＩＰパケットを自動送信するための処理を起動する。これは、図６を参照して説明したステップＳ１０１における処理と同様であるので、説明を省略する。
【０１３２】
ＣＰＵインタフェース１２にＩＰパケットを自動送信するための設定が行われると、パケット転送装置１００は、設定された情報を用いてＩＰパケット自動送信処理を開始する。
【０１３３】
パケット転送装置１００は、ＩＰパケット分割ステップＳ５２１、ＩＰパケットカプセル化ステップＳ５２２、パケット変換ステップＳ５２３、パケット送信ステップＳ５２４、及び受信完了通知パケット確認ステップＳ５２５を行うことによって、ＩＰパケットＡをメモリ７０から分割して読み出し、得られたＩＰパケット分割片をＰＣ１１０Ｂに送信する。
【０１３４】
ＩＰパケット分割ステップＳ５２１では、送信フラグメンテーション制御部４２は、ＩＰパケット分割片をＥｎｃａｐヘッダ付加部４４に出力する際に、ＩＰパケットＡのメモリ７０内における格納アドレスをもＥｎｃａｐヘッダ付加部４４に通知する。
【０１３５】
ＩＰパケットカプセル化ステップＳ５２２では、Ｅｎｃａｐヘッダ付加部４４は、送信先識別子及びメモリ７０内における格納アドレスに基づいて、パケットグループ識別ラベルを決定し、これをエンキャプスレーションヘッダとして追加する。この際、同一のＩＰパケットから分割されたＩＰパケット分割片には、同一のパケットグループ識別ラベルを与えるようにする。
【０１３６】
パケット変換ステップＳ５２３では、送信パケット変換部４６は、ＩＰパケット分割片カプセル毎に、送信先のノードを示す適切な送信先識別子を非同期パケットヘッダとして付加して出力する。
【０１３７】
これらの点の他は、ステップＳ５２１〜Ｓ５２５における処理は、それぞれ図６のステップＳ１２１〜Ｓ１２５における処理と同様である。パケット転送装置１００は、ステップＳ５２１〜Ｓ５２５の処理を繰り返し行う。
【０１３８】
分割して送信中のＩＰパケットＡの全ての分割片を送信し終えていなくても、他のＩＰパケットを例えばＰＣ１１０Ｃに送信する必要が生じた場合には、ＣＰＵ６０は、ＩＰパケットを自動送信するための処理を起動する。これは、図６を参照して説明したステップＳ１０１における処理と同様であるので、説明を省略する。
【０１３９】
ＣＰＵインタフェース１２にＩＰパケットを自動送信するための設定が行われると、パケット転送装置１００は、設定された情報を用いてＩＰパケット自動送信処理を開始する。
【０１４０】
パケット転送装置１００は、ＩＰパケット分割ステップＳ５４１、ＩＰパケットカプセル化ステップＳ５４２、パケット変換ステップＳ５４３、パケット送信ステップＳ５４４、及び受信完了通知パケット確認ステップＳ５４５を行うことによって、ＩＰパケットＢをメモリ７０から分割して読み出し、得られたＩＰパケット分割片をＰＣ１１０Ｃに送信する。ステップＳ５４１〜Ｓ５４５における処理は、それぞれステップＳ５２１〜Ｓ５２５における処理とほぼ同様である。パケット転送装置１００は、ステップＳ５４１〜Ｓ５４５の処理を繰り返し行う。
【０１４１】
分割して送信中のＩＰパケットＢの全ての分割片を送信し終えていなくても、パケット転送装置１００は、ＩＰパケットＡをメモリ７０から分割して読み出し、得られたＩＰパケット分割片をＰＣ１１０Ｂに送信する。以下、パケット転送装置１００は、同様の処理を繰り返す。
【０１４２】
通常は、送信フラグメンテーション制御部４２が、ＩＰパケットＡの分割片とＩＰパケットＢの分割片とを交互にメモリ７０から読み出してＥｎｃａｐヘッダ付加部４４に出力することにより、ＩＰパケットＡを送信する処理とＩＰパケットＢを送信する処理とを交互に繰り返す。しかし、次のように、一方の処理を連続して行うようにしてもよい。
【０１４３】
送信先のノードにおけるパケット転送可能最大サイズが小さい場合には、単位時間当たりの送信回数が同じであっても、平均的なデータ転送速度が小さい。そこで、このようなノードに対して送信を行う場合には、ＣＰＵ６０は、回数指定子を、そのノードへ送信すべきＩＰパケットのメモリ７０内における格納アドレスに関連付け、ＣＰＵインタフェース１２を経由して送信フラグメンテーション制御部４２に通知する。
【０１４４】
送信フラグメンテーション制御部４２は、回数指定子に関連付けられたＩＰパケットについては、メモリ７０から読み出して送信する処理を、回数指定子に示された回数ずつ連続して行う。例えば、ＩＰパケットＡを送信する処理を連続して行った後に、ＩＰパケットＢを送信する処理を１回のみ行い、その後、ＩＰパケットＡを送信する処理を再び連続して行う。
【０１４５】
また、特定のＩＰパケットのみを優先して送信するようにしてもよい。すなわち、優先して送信したいＩＰパケットがあるときは、ＣＰＵ６０は、最優先指定子を、そのＩＰパケットのメモリ７０内における格納アドレスに関連付け、ＣＰＵインタフェース１２を経由して送信フラグメンテーション制御部４２に通知する。
【０１４６】
送信フラグメンテーション制御部４２は、最優先指定子に関連付けられたＩＰパケットがあるときは、その他のＩＰパケットの送信処理を中断し、最優先指定子に関連付けられたＩＰパケットをメモリ７０から読み出して送信する処理を連続して行う。そのＩＰパケットを送信する処理が終了すると、送信フラグメンテーション制御部４２は、その他のＩＰパケットの送信処理を再開する。
【０１４７】
１つのＩＰパケットの最後のＩＰパケット分割片に対する受信完了通知パケットが受信されると、そのＩＰパケットの送信が正常に完了したことがわかる。この場合には、送信フラグメンテーション制御部４２は、送信されたＩＰパケットのメモリ７０内における格納アドレスと、送信先識別子とを、ＣＰＵ６０に割込みで通知し（ＩＰパケット送信完了通知）、送信が完了したことを知らせる（Ｓ５５１）。
【０１４８】
一方、１つのＩＰパケットの送信が正常に完了しなかった場合、すなわち、送信したＩＰパケット分割片に対する受信完了通知パケットを全て受信することはできなかった場合には、送信フラグメンテーション制御部４２は、ＩＰパケットの送信に異常があったことを、ＣＰＵ６０に割込みで通知し（ＩＰパケット送信失敗通知）、ＩＰパケットの送信を完了できなかったことを知らせる（Ｓ５５２）。したがって、ＣＰＵ６０は、送信が正常に終了したＩＰパケットを知ることができる。
【０１４９】
このように、図２のパケット転送装置１００によると、ＰＣ１１０ＢへＩＰパケットを分割して送信中に、他のＰＣ１１０Ｃへ他のＩＰパケットを分割して送信することができる。
【０１５０】
（１つのＰＣへ複数のＩＰパケットを送信する場合の動作）
図１１は、図２のパケット転送装置１００が、バス４を介して、１つのノードへ複数のＩＰパケットを送信する場合の動作を示すシーケンス図である。図１、図２、及び図１１を参照して、図２のパケット転送装置１００が、ＰＣ１１０Ｂへ、パケット転送可能最大サイズよりもサイズが大きい複数のＩＰパケットを分割して送信する動作について説明する。
【０１５１】
パケット転送装置１００は、必要に応じて、ＰＣ１１０ＢへのＡＲＰ要求パケットの送信、ＰＣ１１０ＢからのＡＲＰ返答パケットの受信、及びＡＲＰテーブルへの格納を既に行っているものとする。
【０１５２】
図１１において、まず、ＣＰＵ６０は、ＩＰパケットを自動送信するための処理を起動する。これは、図６を参照して説明したステップＳ１０１における処理と同様であるので、説明を省略する。
【０１５３】
ＣＰＵインタフェース１２にＩＰパケットを自動送信するための設定が行われると、パケット転送装置１００は、設定された情報を用いてＩＰパケット自動送信処理を開始する。
【０１５４】
パケット転送装置１００は、ＩＰパケット分割ステップＳ６２１、ＩＰパケットカプセル化ステップＳ６２２、パケット変換ステップＳ６２３、パケット送信ステップＳ６２４、及び受信完了通知パケット確認ステップＳ６２５を行うことによって、ＩＰパケットＡをメモリ７０から分割して読み出し、得られたＩＰパケット分割片をＰＣ１１０Ｂに送信する。
【０１５５】
ＩＰパケットカプセル化ステップＳ６２２では、Ｅｎｃａｐヘッダ付加部４４は、メモリ７０内における格納アドレスに基づいて、パケットグループ識別ラベルを決定し、これをエンキャプスレーションヘッダに追加する。
【０１５６】
この点の他は、ステップＳ６２１〜Ｓ６２５における処理は、それぞれ図１０のステップＳ５２１〜Ｓ５２５における処理と同様である。パケット転送装置１００は、ステップＳ６２１〜Ｓ６２５の処理を繰り返し行う。
【０１５７】
分割して送信中のＩＰパケットＡの全ての分割片を送信し終えていなくても、他のＩＰパケットをＰＣ１１０Ｂに送信する必要が生じた場合には、ＣＰＵ６０は、ＩＰパケットを自動送信するための処理を起動する。これは、図６を参照して説明したステップＳ１０１における処理と同様であるので、説明を省略する。
【０１５８】
ＣＰＵインタフェース１２にＩＰパケットを自動送信するための設定が行われると、パケット転送装置１００は、設定された情報を用いてＩＰパケット自動送信処理を開始する。
【０１５９】
パケット転送装置１００は、ＩＰパケット分割ステップＳ６４１、ＩＰパケットカプセル化ステップＳ６４２、パケット変換ステップＳ６４３、パケット送信ステップＳ６４４、及び受信完了通知パケット確認ステップＳ６４５を行うことによって、ＩＰパケットＢをメモリ７０から分割して読み出し、得られたＩＰパケット分割片をＰＣ１１０Ｂに送信する。ステップＳ６４１〜Ｓ６４５における処理は、それぞれステップＳ６２１〜Ｓ６２５における処理とほぼ同様である。パケット転送装置１００は、ステップＳ６４１〜Ｓ６４５の処理を繰り返し行う。
【０１６０】
分割して送信中のＩＰパケットＢの全ての分割片を送信し終えていなくても、パケット転送装置１００は、ＩＰパケットＡをメモリ７０から分割して読み出して、得られたＩＰパケット分割片をＰＣ１１０Ｂに送信する。以下、パケット転送装置１００は、同様の処理を繰り返す。
【０１６１】
送信フラグメンテーション制御部４２が、１つのＩＰパケットの送信が正常に完了した場合には、ＣＰＵ６０にＩＰパケット送信完了通知（Ｓ６５１）を行い、１つのＩＰパケットの送信が正常に完了しなかった場合には、ＣＰＵ６０にＩＰパケット送信失敗通知（Ｓ６５２）を行う点は、図１０の場合と同様である。ただし、送信フラグメンテーション制御部４２は、ＩＰパケット送信完了通知の際には、送信されたＩＰパケットのメモリ７０内における格納アドレスをＣＰＵ６０に通知すれば十分である。
【０１６２】
このように、図２のパケット転送装置１００によると、ＰＣ１１０ＢへＩＰパケットを分割して送信中に、同一のＰＣ１１０Ｂへ他のＩＰパケットを分割して送信することができる。
【０１６３】
（複数のＰＣからＩＰパケットを受信する場合の動作）
図１２は、図２のパケット転送装置１００が、バス４を介して、複数のノードのそれぞれから異なるＩＰパケットを受信する場合の動作を示すシーケンス図である。図１、図２、及び図１２を参照して、図２のパケット転送装置１００が、ＰＣ１１０Ｂ及びＰＣ１１０Ｃのそれぞれから、パケット転送可能最大サイズよりもサイズが大きいＩＰパケットを分割して受信する動作について説明する。
【０１６４】
パケット転送装置１００は、必要に応じて、ＰＣ１１０Ｂ及びＰＣ１１０ＣからのＡＲＰ要求パケットの受信、ＰＣ１１０Ｂ及びＰＣ１１０ＣへのＡＲＰ返答パケットの送信、並びにＡＲＰテーブルへの格納を既に行っているものとする。
【０１６５】
ＰＣ１１０ＢからＩＰパケット分割片転送パケットを受信すると、パケット転送装置１００は、このパケットを受信するための処理を行う。すなわち、パケット転送装置１００は、パケット受信ステップＳ７２１、受信完了通知パケット作成ステップＳ７２２、受信完了通知パケット送信ステップＳ７２３、パケット変換ステップＳ７２４、ＩＰパケット分割片抜き出しステップＳ７２５、及びＩＰパケット分割片保存ステップＳ７２６を行うことによって、ＩＰパケット分割片をＰＣ１１０Ｂから受信してメモリ７０に格納する。
【０１６６】
ここで、アドレス制御部３８は、パケットグループ識別ラベル、送信者識別子等に基づいて、ＩＰパケット分割片のメモリにおける格納先アドレスとして、メモリ７０の領域Ｅ１内のアドレスを算出する。ＤＭＡ制御部２６は、アドレス制御部３８によって指定された、メモリ７０における格納先アドレスに、ＩＰパケット分割片を格納する（ステップＳ７２６）。
【０１６７】
これらの点の他は、ステップＳ７２１〜Ｓ７２６における処理は、それぞれ図７のステップＳ２２１〜Ｓ２２６における処理と同様である。パケット転送装置１００は、ステップＳ７２１〜Ｓ７２６の処理を繰り返し行い、メモリ７０の領域Ｅ１内に、受信したＩＰパケットを復元する。
【０１６８】
ＰＣ１１０Ｂから分割して受信中のＩＰパケットの分割片を全て受信し終えていなくても、ＰＣ１１０ＣからＩＰパケット分割片転送パケットを受信すると、パケット転送装置１００は、このパケットを受信するための処理を行う。すなわち、パケット転送装置１００は、パケット受信ステップＳ７４１，受信完了通知パケット作成ステップＳ７４２、受信完了通知パケット送信ステップＳ７４３、パケット変換ステップＳ７４４、ＩＰパケット分割片抜き出しステップＳ７４５、及びＩＰパケット分割片保存ステップＳ７４６を行うことによって、ＩＰパケット分割片をＰＣ１１０Ｃから受信してメモリ７０に格納する。ステップＳ７４１〜Ｓ７４６における処理は、それぞれステップＳ７２１〜Ｓ７２６における処理とほぼ同様である。
【０１６９】
ここで、受信フィルタ１８は、ＰＣ１１０Ｂから分割して送信されたＩＰパケットの受信が完了していない場合であっても、他のノードであるＰＣ１１０Ｃから分割して送信されたＩＰパケットを含む非同期パケットを選択し、データ受信バッファを経由して受信パケット変換部３４に出力する。
【０１７０】
また、アドレス制御部３８は、パケットグループ識別ラベル、受信フィルタ１８が出力するパケットの送信者識別子等に基づいて、ＩＰパケット分割片のメモリにおける格納先アドレスとして、メモリ７０の領域Ｅ２内のアドレスを算出する。この送信者識別子は、ＰＣ１１０Ｂから受信したパケットの送信者識別子とは異なるので、アドレス制御部３８は、領域Ｅ１とは異なる領域Ｅ２内のアドレスを算出する。ＤＭＡ制御部２６は、アドレス制御部３８によって指定された、メモリ７０における格納先アドレスに、ＩＰパケット分割片を格納する（ステップＳ７４６）。
【０１７１】
その後、パケット転送装置１００は、ステップＳ７４１〜Ｓ７４６の処理を繰り返し行い、メモリ７０の領域Ｅ２内に、受信したＩＰパケットを復元する。
【０１７２】
また、ＰＣ１１０Ｃから分割して受信中のＩＰパケットの分割片を全て受信し終えていなくても、ＰＣ１１０ＢからＩＰパケット分割片転送パケットを受信すると、パケット転送装置１００は、再びステップＳ７２１〜Ｓ７２６の処理を繰り返し行って、ＩＰパケット分割片をメモリ７０の領域Ｅ１内に格納する。
【０１７３】
このように、図２のパケット転送装置１００によると、ＰＣ１１０ＢからＩＰパケットを分割して受信中に、他のＰＣ１１０Ｃからも他のＩＰパケットを分割して受信することができる。
【０１７４】
（１つのＰＣから複数のＩＰパケットを受信する場合の動作）
図１３は、図２のパケット転送装置１００が、バス４を介して、１つのノードから複数のＩＰパケットを並行して受信する場合の動作を示すシーケンス図である。図１、図２、及び図１３を参照して、図２のパケット転送装置１００が、ＰＣ１１０Ｂから、パケット転送可能最大サイズよりもサイズが大きい複数のＩＰパケットを分割して受信する動作について説明する。
【０１７５】
パケット転送装置１００は、必要に応じて、ＰＣ１１０ＢからのＡＲＰ要求パケットの受信、ＰＣ１１０ＢへのＡＲＰ返答パケットの送信、及びＡＲＰテーブルへの格納を既に行っているものとする。
【０１７６】
ＰＣ１１０ＢからＩＰパケットＡから分割されたＩＰパケット分割片を有するＩＰパケット分割片転送パケットを受信すると、パケット転送装置１００は、このパケットを受信するための処理を行う。すなわち、パケット転送装置１００は、パケット受信ステップＳ８２１，受信完了通知パケット作成ステップＳ８２２、受信完了通知パケット送信ステップＳ８２３、パケット変換ステップＳ８２４、ＩＰパケット分割片抜き出しステップＳ８２５、及びＩＰパケット分割片保存ステップＳ８２６を行うことによって、ＩＰパケット分割片をＰＣ１１０Ｂから受信してメモリ７０に格納する。
【０１７７】
ここで、アドレス制御部３８は、パケットグループ識別ラベル、送信者識別子等に基づいて、ＩＰパケット分割片のメモリにおける格納先アドレスとして、メモリ７０の領域Ｆ１内のアドレスを算出する。ＤＭＡ制御部２６は、アドレス制御部３８によって指定された、メモリ７０における格納先アドレスに、ＩＰパケット分割片を格納する（ステップＳ８２６）。
【０１７８】
これらの点の他は、ステップＳ８２１〜Ｓ８２６における処理は、それぞれ図７のステップＳ２２１〜Ｓ２２６における処理と同様である。パケット転送装置１００は、ステップＳ８２１〜Ｓ８２６の処理を繰り返し行い、メモリ７０の領域Ｆ１内に、受信したＩＰパケットを復元する。
【０１７９】
ＰＣ１１０Ｂから分割して受信中のＩＰパケットＡの分割片を全て受信し終えていなくても、ＩＰパケットＢから分割されたＩＰパケット分割片を有するＩＰパケット分割片転送パケットをＰＣ１１０Ｂから受信すると、パケット転送装置１００は、このパケットを受信するための処理を行う。すなわち、パケット転送装置１００は、パケット受信ステップＳ８４１、受信完了通知パケット作成ステップＳ８４２、受信完了通知パケット送信ステップＳ８４３、パケット変換ステップＳ８４４、ＩＰパケット分割片抜き出しステップＳ８４５、及びＩＰパケット分割片保存ステップＳ８４６を行うことによって、ＩＰパケット分割片をＰＣ１１０Ｂから受信してメモリ７０に格納する。ステップＳ８４１〜Ｓ８４６における処理は、それぞれステップＳ８２１〜Ｓ８２６における処理とほぼ同様である。
【０１８０】
ここで、受信フィルタ１８は、ＰＣ１１０Ｂから分割して送信されたＩＰパケットＡの受信が完了していない場合であっても、このＰＣ１１０Ｂから分割して送信されたＩＰパケットＢを含む非同期パケットを選択し、データ受信バッファを経由して受信パケット変換部３４に出力する。
【０１８１】
また、アドレス制御部３８は、パケットグループ識別ラベル、受信フィルタ１８が出力する送信者識別子等に基づいて、ＩＰパケット分割片のメモリにおける格納先アドレスとして、メモリ７０の領域Ｆ２内のアドレスを算出する。このパケットグループ識別ラベルは、ＰＣ１１０Ｂから受信したパケットのパケットグループ識別ラベルとは異なるので、アドレス制御部３８は、領域Ｆ１とは異なる領域Ｆ２内のアドレスを算出する。ＤＭＡ制御部２６は、アドレス制御部３８によって指定された、メモリ７０における格納先アドレスに、ＩＰパケット分割片を格納する（ステップＳ８４６）。
【０１８２】
その後、パケット転送装置１００は、ステップＳ８４１〜Ｓ８４６の処理を繰り返し行い、メモリ７０の領域Ｆ２内に、受信したＩＰパケットを復元する。
【０１８３】
また、ＰＣ１１０Ｂから分割して受信中のＩＰパケットＢの分割片を全て受信し終えていなくても、ＩＰパケットＡから分割されたＩＰパケット分割片を有するＩＰパケット分割片転送パケットを受信すると、パケット転送装置１００は、再びステップＳ８２１〜Ｓ８２６の処理を繰り返し行って、ＩＰパケット分割片をメモリ７０の領域Ｆ１内に格納する。
【０１８４】
このように、図２のパケット転送装置１００によると、ＰＣ１１０ＢからＩＰパケットＡを分割して受信中に、並行して同じＰＣ１１０Ｂから他のＩＰパケットＢを分割して受信することができる。
【０１８５】
なお、以上の実施形態において、パケット転送装置は、外部から入力されたＩＰパケット分割サイズ毎に、送信すべきＩＰパケットを分割するようにしてもよい。例えば、受信フィルタ又はＡＲＰテーブル格納部が、ＣＰＵに割込みを行って、これにパケット転送可能最大サイズを通知する。ＣＰＵは、自身が実行しているソフトウェアが、送信すべきＩＰパケットをパケット転送可能最大サイズよりも小さいＩＰパケット分割サイズ毎に分割すべきことを必要としている場合には、このＩＰパケット分割サイズを、ＣＰＵインタフェースを経由して送信フラグメンテーション制御部に通知する。
【０１８６】
また、ノードはＰＣであるとして説明したが、これ以外のものであってもよい。例えば、ビデオカメラ、デジタルスチルカメラ、プリンタ、ビデオレコーダ、セットトップボックス、ＤＶＤプレーヤー、ＤＶＤレコーダ等であってもよい。
【産業上の利用可能性】
【０１８７】
本発明に係るパケット転送装置は、ＩＰパケットを高速に送受信することができ、ＩＥＥＥ１３９４シリアルバスを用いてパケットを転送するコンピュータ等の機器に有用である。
【図面の簡単な説明】
【０１８８】
【図１】本発明の実施形態に係るパケット転送装置を有するパーソナルコンピュータが接続されたネットワークの例を示すブロック図である。
【図２】本発明の実施形態に係るパケット転送装置の構成の例を示すブロック図である。
【図３】ブロック書き込み要求パケットのフォーマットの例を示す説明図である。
【図４】アシンクロナスストリームパケットのフォーマットの例を示す説明図である。
【図５】（ａ）は、ＩＰパケットが分割されていない場合におけるエンキャプスレーションヘッダのフォーマットの例を示す説明図である。（ｂ）は、先頭のＩＰパケット分割片に対するエンキャプスレーションヘッダのフォーマットの例を示す説明図である。（ｃ）は、２番目以降のＩＰパケット分割片に対するエンキャプスレーションヘッダのフォーマットの例を示す説明図である。
【図６】図２のパケット転送装置がＩＰパケットを分割して送信する場合の動作を示すシーケンス図である。
【図７】図２のパケット転送装置がＩＰパケットを分割して受信する場合の動作を示すシーケンス図である。
【図８】図２のパケット転送装置が、バスを介して、１つのノードへＩＰパケットを送信中に他のノードからＩＰパケットを受信する場合の動作を示すシーケンス図である。
【図９】図２のパケット転送装置が、バスを介して、１つのノードからＩＰパケットを受信中に他のノードへＩＰパケットを送信する場合の動作を示すシーケンス図である。
【図１０】図２のパケット転送装置が、バスを介して、複数のノードのそれぞれへ異なるＩＰパケットを送信する場合の動作を示すシーケンス図である。
【図１１】図２のパケット転送装置が、バスを介して、１つのノードへ複数のＩＰパケットを送信する場合の動作を示すシーケンス図である。
【図１２】図２のパケット転送装置が、バスを介して、複数のノードのそれぞれから異なるＩＰパケットを受信する場合の動作を示すシーケンス図である。
【図１３】図２のパケット転送装置が、バスを介して、１つのノードから複数のＩＰパケットを並行して受信する場合の動作を示すシーケンス図である。
【図１４】従来のパケット転送装置を有するパーソナルコンピュータが接続されたネットワークの例を示すブロック図である。
【図１５】図１４のパケット転送装置の構成の例を示すブロック図である。
【図１６】図１５のパケット転送装置がＩＰパケットを分割して送信する場合の動作を示すシーケンス図である。
【図１７】図１５のパケット転送装置がＩＰパケットを分割して受信する場合の動作を示すシーケンス図である。
【符号の説明】
【０１８９】
４  ＩＥＥＥ１３９４シリアルバス（バス）
１２  ＣＰＵインタフェース
１３  ＡＲＰパケット作成部
１４  送信バッファ
１５  ＡＲＰテーブル格納部
１６  受信バッファ
１８  受信フィルタ
２２  リンク層コントローラ
２４  物理層コントローラ
２６  ＤＭＡ制御部
３２  データ受信バッファ
３４  受信パケット変換部
３６  エンキャプスレーションヘッダ削除部
３８  アドレス制御部
４２  送信フラグメンテーション制御部
４４  エンキャプスレーションヘッダ付加部
４６  送信パケット変換部
４８  データ送信バッファ
６０，６０Ｂ，６０Ｃ  ＣＰＵ
７０，７０Ｂ，７０Ｃ  メモリ
１００，１００Ｂ，１００Ｃ  パケット転送装置
１１０，１１０Ｂ，１１０Ｃ  パーソナルコンピュータ
【図１】
2005151012.tif 000003
【図２】
2005151012.tif 000004
【図３】
2005151012.tif 000005
【図４】
2005151012.tif 000006
【図５】
2005151012.tif 000007
【図６】
2005151012.tif 000008
【図７】
2005151012.tif 000009
【図８】
2005151012.tif 000010
【図９】
2005151012.tif 000011
【図１０】
2005151012.tif 000012
【図１１】
2005151012.tif 000013
【図１２】
2005151012.tif 000014
【図１３】
2005151012.tif 000015
【図１４】
2005151012.tif 000016
【図１５】
2005151012.tif 000017
【図１６】
2005151012.tif 000018
【図１７】
2005151012.tif 000019