(57)【特許請求の範囲】
【請求項１】
ネットワーク中継装置であって、
所定の形式の単位データを転送する複数のクロスバスイッチと、
ネットワークから受信した転送データを前記単位データに分割し、分割された前記単位データごとに前記複数のクロスバスイッチに転送する複数の受信側転送部と、
前記複数のクロスバスイッチから転送されてきたデータを前記ネットワークに送信する複数の送信側転送部と、
を備えており、
前記複数の受信側転送部のそれぞれは、
前記単位データに、前記単位データの前記クロスバスイッチによる転送先が同一であるか否かにかかわらず、前記クロスバスイッチへの転送順に連続するシリアル番号を付加するシリアル番号付加部と、
前記シリアル番号が付加された単位データを、前記複数のクロスバスイッチに分散して転送する分散処理部と、
を有し、
前記複数の送信側転送部のそれぞれは、
前記複数の受信側転送部のそれぞれに対応する複数の単位データ整列部を有し、
前記複数の単位データ整列部のそれぞれは、
前記複数のクロスバスイッチのそれぞれに対応して、各クロスバスイッチから転送されてきた前記単位データを蓄積する複数のキューと、
前記複数のキューの全てに前記単位データが蓄積された場合に、前記複数のキューの先頭に蓄積された単位データのうちの前記シリアル番号が最小の単位データを抽出する単位データ抽出部と、
を有している、
ネットワーク中継装置。
【請求項２】
請求項１記載のネットワーク中継装置であって、
前記受信側転送部は、前記複数の送信側転送部のうちの特定の送信側転送部に転送するデータが所定の時間以上受信されない場合に、前記特定の送信側転送部に対して単位データの抽出を実行させるための同期単位データを転送する、
ネットワーク中継装置。
【請求項３】
請求項１または２記載のネットワーク中継装置であって、
前記シリアル番号付加部は、前記シリアル番号にラップアラウンドが生じた場合に、前記複数の送信側転送部にラップアラウンドの発生を通知するためのラップアラウンド通知単位データを生成する、ネットワーク中継装置。
【請求項４】
請求項１ないし３のいずれか記載のネットワーク中継装置であって、
前記単位データは、所定のデータ長のセルであって、
前記受信側転送部は、前記ネットワーク中継装置が受信するパケットを前記セルに分割し、前記シリアル番号付加部に前記パケット単位で前記単位データを転送するパケット分割部を有し、
前記複数の送信側転送部のそれぞれは、前記クロスバスイッチから転送されてきた前記セルから前記パケットを復元するパケット復元部を有する、
ネットワーク中継装置。
【請求項５】
請求項４記載のネットワーク中継装置であって、
前記パケット分割部は、前記単位データの前記パケット内での位置を示す、型識別子を付加する型識別子付加部を有し、
前記パケット復元部は、前記単位データの前記型識別子に基づいて、前記パケットが適正に復元されたか否かを判断する型識別子判定部を有する、
ネットワーク中継装置。
【請求項６】
請求項１ないし５のいずれか記載のネットワーク中継装置であって、
前記クロスバスイッチは、前記受信側転送部から供給された単一の単位データを前記複数の送信側転送部のうちの２つ以上の送信側転送部のそれぞれに対して別個の単位データとして転送することが可能に構成されている、ネットワーク中継装置。
【請求項７】
所定の形式の単位データを転送する複数のクロスバスイッチを用いてネットワークにおけるデータを中継するネットワーク中継方法であって、
（ａ）前記ネットワークから受信した転送データを前記単位データごとに前記複数のクロスバスイッチに転送する工程と、
（ｂ）前記単位データごとに前記複数のクロスバスイッチから転送されてきたデータを前記ネットワークに送信する工程と、
を備えており、
前記工程（ａ）は、
複数の受信側転送部が実行し、
前記複数の受信側転送部のそれぞれが実行する以下の
前記単位データに、前記単位データの前記クロスバスイッチによる転送先が同一であるか否かにかかわらず、前記クロスバスイッチへの転送順に連続するシリアル番号を付加する工程と、
前記シリアル番号が付加された単位データを、前記複数のクロスバスイッチに分散して転送する工程と、
を含み、
前記工程（ｂ）は、
前記複数の受信側転送部のそれぞれに対応する複数の単位データ整列部が実行し、
前記複数の単位データ整列部のそれぞれが実行する以下の
前記複数のクロスバスイッチのそれぞれに対応して、各クロスバスイッチから転送されてきた前記単位データを蓄積する工程と、
前記複数のクロスバスイッチの全てに対して前記単位データが蓄積された場合に、前記蓄積した単位データのうちの前記シリアル番号が最小の単位データを抽出する工程と、
を含んでいる、
ネットワーク中継方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ネットワークにおいてデータの転送を行うネットワーク中継技術に関する。
【背景技術】
【０００２】
ネットワーク中継装置では、入力ポートに接続された外部装置から受信したパケットを、パケットに含まれる宛先に基づいて特定される出力ポートに転送することにより、パケットの宛先となる外部装置に中継する。この入力ポートと出力ポートとの間でのデータの転送をより高速に行うため、入力ポートを有する受信側の転送装置と、出力ポートを有する送信側の転送装置との間のデータ転送に複数のクロスバスイッチが使用される場合がある。クロスバスイッチを用いるネットワーク中継装置では、一般に、受信したパケットを所定のデータ長のセルに分割し、分割されたセルがクロスバスイッチにより転送される。
【０００３】
このようにパケットを分割したセルを複数のクロスバスイッチで転送した場合、互いに異なるクロスバスイッチを経由して転送されたセルの送信側転送装置への到達順序は、受信側転送装置からクロスバスイッチへの転送順序とは必ずしも一致しない。セルの到達順序が保証されない場合、セルの順序の入れ替わりにより、セルからパケットを適正に復元し得なくなる。そこで、従来のネットワーク中継装置は、受信側転送装置においてクロスバスイッチによるセルの宛先ごとにセルシリアル番号（ＣＳＮ）を付加し、送信側転送装置においてＣＳＮ順にセルを並べ替える整列処理が行われる。
【０００４】
【特許文献１】特開２００５−０４５６２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、セル宛先ごとにＣＳＮを付加する場合、送信側転送装置の数が増えるにしたがってＣＳＮを付加するためのＣＳＮ付加回路等の数が増加し、ネットワーク中継装置の回路規模が増大する。特に、クロスバスイッチにおいて単一のセルを複数の送信側転送装置に転送するマルチキャスト転送を行う場合、送信側転送装置の増加にしたがって、ＣＳＮ付加回路等の数が急激に増加する。なお、この問題は、パケットをセルに分割して転送する場合に限らず、パケットやセルなどの単位データの転送順序を維持することが求められる場合一般に共通する。
【０００６】
本発明は、上述した従来の課題を解決するためになされたものであり、複数のクロスバスイッチを使用するネットワーク中継装置において、ネットワーク中継装置の回路規模の増大を抑制することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
【０００８】
［適用例１］
ネットワーク中継装置であって、
所定の形式の単位データを転送する複数のクロスバスイッチと、
ネットワークから受信したデータを前記単位データごとに前記複数のクロスバスイッチに転送する受信側転送部と、
前記複数のクロスバスイッチから転送されてきたデータを前記ネットワークに送信する複数の送信側転送部と、
を備えており、
前記受信側転送部は、
前記単位データに、前記単位データの前記クロスバスイッチによる転送先が同一であるか否かにかかわらず、前記クロスバスイッチへの転送順に連続するシリアル番号を付加するシリアル番号付加部と、
前記シリアル番号が付加された単位データを、前記複数のクロスバスイッチに分散して転送する分散処理部と、
を有し、
前記複数の送信側転送部のそれぞれは、
前記複数のクロスバスイッチのそれぞれに対応して、各クロスバスイッチから転送されてきた前記単位データを蓄積する複数のキューと、
前記複数のキューの全てに前記単位データが蓄積された場合に、前記複数のキューの先頭に蓄積された単位データのうちの前記シリアル番号が最小の単位データを抽出する単位データ抽出部と、
を有している、
ネットワーク中継装置。
【０００９】
この適用例では、単位データには、単位データのクロスバスイッチによる転送先が同一であるか否かにかかわらず、クロスバスイッチへの転送順に連続するシリアル番号が付加される。そのため、送信側転送部の数が増えた場合においても、シリアル番号付加部の数の増加が抑制できるので、ネットワーク中継装置の回路規模の増大を抑制することが可能になる。なお、送信側転送部は、複数のキューの全てに単位データが蓄積された場合に、複数のキューの先頭に蓄積された単位データのうちのシリアル番号が最小の単位データを抽出する。これにより、単位データの抽出順序は、受信側転送部からクロスバスイッチへの転送順序に一致させることが可能となる。
【００１０】
［適用例２］
適用例１記載のネットワーク中継装置であって、
前記受信側転送部は、前記複数の送信側転送部のうちの特定の送信側転送部に転送するデータが所定の時間以上受信されない場合に、前記特定の送信側転送部に対して単位データの抽出を実行させるための同期単位データを転送する、
ネットワーク中継装置。
【００１１】
この適用例では、特定の送信側転送部に転送するデータが所定の時間以上受信されない場合に、特定の送信側転送部に対して単位データの抽出を実行させるための同期単位データが転送される。そのため、複数のキューの全てに単位データが蓄積されていない状態でデータが受信されていない場合であっても、より確実に順序が保証された単位データを抽出することができる。
【００１２】
［適用例３］
適用例１または２記載のネットワーク中継装置であって、
前記シリアル番号付加部は、前記シリアル番号にラップアラウンドが生じた場合に、前記複数の送信側転送部にラップアラウンドの発生を通知するためのラップアラウンド通知単位データを生成する、ネットワーク中継装置。
【００１３】
この適用例では、シリアル番号にラップアラウンドが生じた場合に、ラップアラウンド通知単位データが送信側転送部に転送される。そのため、シリアル番号が最小の単位データを抽出する単位データ抽出部において、ラップアラウンドの発生により誤った単位データが抽出されることを抑制することがより容易となる。
【００１４】
［適用例４］
適用例１ないし３のいずれか記載のネットワーク中継装置であって、
前記受信側転送部は、前記ネットワーク中継装置が受信するパケットを前記単位データに分割し、前記シリアル番号付加部に前記パケット単位で前記単位データを転送するパケット分割部を有し、
前記複数の送信側転送部のそれぞれは、前記クロスバスイッチから転送されてきた前記単位データから前記パケットを復元するパケット復元部を有する、
ネットワーク中継装置。
【００１５】
この適用例によれば、受信側転送部は、一般的にクロスバスイッチでの転送に適した所定のデータ長のセルが生成される。そのため、クロスバスイッチによるデータ転送をより適切なものにすることが可能となる。
【００１６】
［適用例５］
適用例４記載のネットワーク中継装置であって、
前記パケット分割部は、前記単位データの前記パケット内での位置を示す、型識別子を付加する型識別子付加部を有し、
前記パケット復元部は、前記単位データの前記型識別子に基づいて、前記パケットが適正に復元されたか否かを判断する型識別子判定部を有する、
ネットワーク中継装置。
【００１７】
この適用例によれば、受信側転送部からクロスバスイッチ、およびクロスバスイッチから送信側転送部へ、単位データが適正に転送されたか否かを判断することが可能となる。そのため、単位データからパケットが適正に復元されたか否かを判断することがより容易となる。
【００１８】
［適用例６］
適用例１ないし５のいずれか記載のネットワーク中継装置であって、
前記クロスバスイッチは、前記受信側転送部から供給された単一の単位データを前記複数の送信側転送部のうちの２つ以上の送信側転送部のそれぞれに対して別個の単位データとして転送することが可能に構成されている、ネットワーク中継装置。
【００１９】
クロスバスイッチにおいて単一の単位データを２つ以上の送信側転送部のそれぞれに対して別個の単位データとして転送する場合においても、送信側転送部の増加に伴うシリアル番号付加部の数の急激な増大を抑制することができる。そのため、この適用例によれば、ネットワーク中継装置の回路規模の増大をより抑制することができる。
【００２０】
なお、本発明は、種々の態様で実現することが可能である。例えば、ネットワーク中継装置およびネットワーク中継方法、それらの装置および方法の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の態様で実現することができる。
【発明を実施するための最良の形態】
【００２１】
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
Ａ．実施例：
Ｂ．変形例：
【００２２】
Ａ．実施例：
図１は、本発明の一実施例としてのネットワーク中継装置１００の概略構成を示す説明図である。本実施例において、ネットワーク中継装置１００は、２つのルーティングマネージャ（ＲＭ：Routing Manager）２００と、４つのパケット処理部（ＰＰＵ：Packet Processing Unit）３００と、クロスバスイッチ（ＣＳＷ：Crossbar Switch）が搭載された３つのクロスバスイッチボード（ＣＳＷ−ＰＫ）４００と、を有している。なお、本明細書において、２つのルーティングマネージャ２００を区別する場合には、ルーティングマネージャ２００［０］あるいはルーティングマネージャ２００［１］と表記する。また、図面においては、ＲＭ（０）あるいはＲＭ（１）と表記する。パケット処理部３００、クロスバスイッチボード４００、およびその他の構成部についても同様に記述する。
【００２３】
ルーティングマネージャ２００は、クロスバスイッチボード４００およびパケット処理部３００の動作を制御する。ルーティングマネージャ２００は、また、ルーティング情報の作成および更新と、作成・更新されたルーティング情報のパケット処理部３００への配布を行う。なお、本実施例では、ルーティングマネージャ２００は、２重冗長系として構成されている。したがって、２つのルーティングマネージャ２００［０］，２００［１］のいずれか一方が、現用系としてルーティングマネージャ２００としての処理を実行し、残りの一方が予備系として現用系のルーティングマネージャ２００での障害発生時に使用される。
【００２４】
本実施例では、クロスバスイッチボード４００も冗長系として構成されている。具体的には、ルーティングマネージャ２００は、２つのクロスバスイッチボード４００［０］，４００［１］を現用系として稼働させ、残りのクロスバスイッチボード４００［２］を予備系として非稼働状態に設定する。これにより、クロスバスイッチボード４００［０］，４００［１］のいずれかに障害が発生した場合には、障害が発生したクロスバスイッチボード４００に替えて、予備系のクロスバスイッチボード４００［２］が稼働状態になる。このように、クロスバスイッチボード４００に冗長性を持たせることにより、ネットワーク中継装置１００の耐障害性を高めることができる。但し、クロスバスイッチボード４００の運用状態は、必ずしもこの限りでない。例えば、３つのクロスバスイッチボード４００の全てを稼働させ、ネットワーク中継装置１００におけるデータの転送能力をより高くすることも可能である。また、ネットワーク中継装置１００により中継されるデータのトラフィックに応じて、稼働させるクロスバスイッチボード４００の数を変更するものとしてもよい。このようにすれば、トラフィックが少ない場合に、クロスバスイッチボード４００の稼働数を低減することにより、ネットワーク中継装置１００の消費電力をより低減することが可能となる。
【００２５】
図２は、パケット処理部３００とクロスバスイッチボード４００との接続状態を示す説明図である。図２の例では、クロスバスイッチボード（ＣＳＷ−ＰＫ）４００は、それぞれ４つのクロスバスイッチ（ＣＳＷ）４１０を有している。なお、図２の例では、クロスバスイッチボード４００には、４つのクロスバスイッチ４１０が設けられているが、クロスバスイッチボード４００が有するクロスバスイッチ４１０の数は、１以上であれば任意の数とすることができる。
【００２６】
パケット処理部（ＰＰＵ）３００は、それぞれ、パケット転送部（ＰＦＰ：Packet Forwarding Processor）３１０と、サブクロスバスイッチ３０２と、を備えている。サブクロスバスイッチ３０２は、通常、受信側サブクロスバスイッチ（ＳＳＷ−Ｒ）と送信側サブクロスバスイッチ（ＳＳＷ−Ｔ）とで構成されているが、図２では、図示の便宜上、単一のサブクロスバスイッチ３０２として描いている。但し、受信側サブクロスバスイッチ（ＳＳＷ−Ｒ）および送信側サブクロスバスイッチ（ＳＳＷ−Ｔ）を一体のものとして構成することも可能である。
【００２７】
クロスバスイッチ４１０のそれぞれには、４つのパケット処理部３００［０］〜３００［３］が接続されている。このように、単一のクロスバスイッチ４１０に対して、４つのパケット処理部３００［０］〜３００［３］が接続される構成は、「４×４」の構成と呼ばれる。図２の例では、４つのクロスバスイッチ４１０を別個のクロスバスイッチとして使用しているが、クロスバスイッチ４１０の構成によっては、２つのクロスバスイッチ４１０をそれぞれ単一のクロスバスイッチとして使用することも可能である。このように２つのクロスバスイッチ４１０を単一のクロスバスイッチとして使用することにより、クロスバスイッチに接続されるパケット処理部３００の数を倍（すなわち、８×８の構成）にすることが可能となる。
【００２８】
図３は、ネットワーク中継装置１００の各部の構成を示す説明図である。図１および図２は、ネットワーク中継装置１００が、４つのパケット処理部（ＰＰＵ）３００と、３つのクロスバスイッチボード（ＣＳＷ−ＰＫ）４００と、２つのルーティングマネージャ（ＲＭ）２００と、により構成されている例を示しているが、一般に、パケット処理部３００とクロスバスイッチボード４００との数は、適宜変更可能である。そのため、以下では、図３に示すように、パケット処理部３００の数をＮ個とし、クロスバスイッチボード４００の数をＭ個として説明する。
【００２９】
パケット処理部３００は、パケット転送部（ＰＦＰ）３１０と、受信側サブクロスバスイッチ（ＳＳＷ−Ｒ）３２０と、送信側サブクロスバスイッチ（ＳＳＷ−Ｔ）３３０と、ルーティングコントローラ３４０と、バス選択部３５０と、を備えている。パケット処理部３００の内部において、バス選択部３５０は、パケット転送部３１０と、受信側サブクロスバスイッチ３２０と、送信側サブクロスバスイッチ３３０と、ルーティングコントローラ３４０と、に接続されている。なお、図３の例では、個々のパケット処理部３００に対して１つのパケット転送部３１０が設けられているが、パケット処理部３００に設けられるパケット転送部３１０の数は、１以上の任意の数とすることができる。
【００３０】
クロスバスイッチボード４００は、クロスバスイッチ４１０と、バス選択部４２０と、を備えている。クロスバスイッチボード４００の内部において、バス選択部４２０は、クロスバスイッチ４１０に接続されている。上述のように、クロスバスイッチボード４００に設けられるクロスバスイッチ４１０の数は、１以上の任意の数とすることができる。そこで、以下では、１つのクロスバスイッチボード４００には、１つのクロスバスイッチ４１０が設けられているものとして説明する。
【００３１】
ルーティングマネージャ（ＲＭ）２００は、それぞれ、ＣＰＵ２１０を備えている。ＣＰＵ２１０は、ルーティングマネージャ２００に設けられたメモリ（図示しない）に格納されたコンピュータプログラムを実行することにより、ルーティングマネージャ２００としての機能を実現する。２つのルーティングマネージャ２００［０］，２００［１］は、それぞれ、別個のバスＢＵＳ０，ＢＵＳ１に接続されている。パケット処理部３００およびクロスバスイッチボード４００に設けられたバス選択部３５０，４２０は、２つのバスＢＵＳ０，ＢＵＳ１のうちの現用系のルーティングマネージャ２００に接続されたバスを通して、ルーティングマネージャ２００との間のデータの授受を仲介する。
【００３２】
パケット処理部３００のルーティングコントローラ３４０は、ルーティングマネージャ２００から供給されるルーティング情報をパケット転送部３１０に受け渡す。パケット転送部３１０は、図示しない外部ポートから転送対象のパケットを受信する。受信されたパケットは、パケット転送部３１０においてセル（後述する）に分割され、パケット転送部３１０から受信側サブクロスバスイッチ３２０に受け渡される。パケット転送部３１０から受信側サブクロスバスイッチ３２０に受け渡されるセルには、その宛先としてパケット処理部３００を特定するセル宛先が付加されている。セル宛先は、パケット転送部３１０が、ルーティングコントローラ３４０から取得したルーティング情報に基づいて決定される。
【００３３】
受信側サブクロスバスイッチ３２０は、受け取ったセルをＭ個のクロスバスイッチ４１０に分散して転送する。クロスバスイッチ４１０は、セル宛先に従ってセルを送信側サブクロスバスイッチ３３０に転送する。送信側サブクロスバスイッチ３３０は、セルからパケットを復元し、復元したパケットをパケット転送部３１０に受け渡す。パケット転送部３１０は、受け取ったパケットを、ルーティングコントローラ３４０から取得したルーティング情報に基づいて特定される外部ポートから送信する。このようにして、ある外部ポートに転送されてきたパケットは、ルーティング情報に基づいて特定された外部ポートに転送され、ネットワーク中継装置１００におけるパケットの転送が行われる。
【００３４】
このように、パケット転送部（ＰＦＰ）３１０と受信側サブクロスバスイッチ（ＳＳＷ−Ｒ）３２０は、クロスバスイッチ（ＣＳＷ）４１０にネットワークから受信したデータを転送する機能を有している。そのため、パケット転送部３１０と受信側サブクロスバスイッチ３２０とは、併せて、「受信側転送部」とも呼ぶことができる。また、パケット転送部３１０と送信側サブクロスバスイッチ（ＳＳＷ−Ｔ）３３０は、クロスバスイッチ４１０から転送されてきたデータをネットワークに送信する機能を有している。そのため、パケット転送部３１０と送信側サブクロスバスイッチ３３０とは、併せて、「送信側転送部」とも呼ぶことができる。
【００３５】
図４は、パケット転送部（ＰＦＰ）３１０において、受信されたパケットがセルに分割される様子を示す説明図である。図４（ａ）は、パケット転送部３１０において、パケットをセルに分割する機能の構成を示すブロック図である。パケット転送部３１０は、パケットをセルに分割する分割処理部３１２と、セルに付加されるセル宛先を決定するセル宛先決定部３１４と、分割されたセルにセル宛先を付加して、受信側サブクロスバスイッチ（ＳＳＷ−Ｒ）３２０に転送するセルを生成するセル生成部３１６と、を備えている。なお、これらの各部３１２，３１４，３１６は、パケットを分割してセルを生成する回路であるので、あわせて「パケット分割回路」とも呼ぶことができる。パケット分割回路で生成されたセルは、キュー３１８に蓄積され、キュー３１８から受信側サブクロスバスイッチ３２０に転送される。なお、キュー３１８は、単一のパケット処理部（ＰＰＵ）３００への転送（ユニキャスト転送）と、複数のパケット処理部３００への転送（マルチキャスト転送）と、のそれぞれに対して別個に設けられるのが好ましい。このようにすれば、受信側サブクロスバスイッチ３２０においてユニキャストとマルチキャストとで異なる処理を行うことが容易となる。さらに、キュー３１８は、セルの転送パターン（データフロー）毎に、あるいはセルの転送パターン（データフロー）を複数束ねたフロー毎に、別個に設けられるのがより好ましい。このようにすれば、受信側サブクロスバスイッチ３２０においてセルの転送パターン（データフロー）毎に異なる処理を行うことが容易となる。
【００３６】
図４（ｂ）は、インターネットプロトコル（ＩＰ：Internet Protocol）に準拠した形式のパケット（ＩＰパケット）からセルが生成される様子を示している。但し、セルの生成に用いられるパケットは、必ずしもＩＰパケットでなくとも良く、ネットワーク中継装置１００が対応するプロトコルに応じて適宜変更される。なお、図４（ｂ）において、データ転送は、矢印で示すように、図の右から左の方向の順序で行われる。
【００３７】
ＩＰパケットには、宛先ＩＰアドレスなどが登録されたＩＰヘッダと、ＩＰパケットにより転送されるデータ（ＩＰデータグラム）とが含まれている。分割処理部３１２は、受け取ったＩＰパケットを複数のセルデータに分割する。ＩＰパケットの分割数は、予め定められているセルのデータ長（例えば、３２バイトや１２８バイト）に応じて決定される。図４（ｂ）の例では、ＩＰパケットは４つに分割されている。なお、図４（ｂ）では、ＩＰヘッダを含むＩＰパケット全体からセルデータが生成されているが、ＩＰヘッダを除去したＩＰデータグラムからセルデータを生成するものとしてもよい。
【００３８】
セル宛先決定部３１４は、ＩＰヘッダに含まれる宛先ＩＰアドレスに従って、セル宛先を決定する。具体的には、ルーティングコントローラ３４０（図３）から供給されるルーティング情報に基づいて、宛先ＩＰアドレスに対応するパケット処理部３００を特定する。そして、特定されたパケット処理部３００に基づいてセル宛先を決定する。このセル宛先は、クロスバスイッチ４１０からのセルの転送先を特定する情報である。セル宛先としては、クロスバスイッチ４１０におけるセルの転送パターン（データフロー）を表すＮビットのビットマップ、すなわちクロスバスイッチの接続状態を表すビットマップとして与えることができる。また、後述するように、データフローに対応づけられた番号（データフロー番号）をセル宛先としても良い。
【００３９】
セル生成部３１６は、分割処理部３１２とにより生成されたセルデータに、セル宛先を含むセルヘッダを付加する。図４（ｂ）に示すように、セルヘッダには、セル宛先と、セルシリアル番号（ＣＳＮ：Cell Serial Number）が含まれるが、セル生成部３１６においてはＣＳＮは設定されない。この場合、ＣＳＮの値としては、例えば０が設定されるが、他の任意の値としても良く、また、不定値であっても良い。セル生成部３１６において生成されたセルは、キュー３１８に蓄積された後、受信側サブクロスバスイッチ３２０に転送される。なお、パケット転送部３１０から受信側サブクロスバスイッチ３２０へのセルの転送は、分割前のパケット単位で行われる。
【００４０】
セル生成部３１６は、また、宛先となるパケット処理部３００（宛先ＰＰＵ）に転送されるＩＰパケットが途切れた場合（すなわち、所定の時間、特定の宛先のパケットが受信されていない場合）、ＩＰパケットの途切れを通知するための同期セル（ダミーセル）を生成し、受信側サブクロスバスイッチ３２０に転送する。同期セルは、通常のセルと区別可能であれば任意の形式とすることができる。例えば、セルヘッダに同期セルか否かを表すフラグを設け、同期セルに対しては、そのフラグを立てるものとしてもよい。
【００４１】
図５は、受信側サブクロスバスイッチ（ＳＳＷ−Ｒ）３２０から送信側サブクロスバスイッチ（ＳＳＷ−Ｔ）３３０にセルが転送される様子を示す説明図である。受信側サブクロスバスイッチ３２０は、ＣＳＮ付加回路３２２と、セル分散回路３２４と、を有している。送信側サブクロスバスイッチ（ＳＳＷ−Ｔ）３３０は、セル整列回路３３２と、パケット復元回路３３４と、を有している。図５に示すように、パケット転送部（ＰＦＰ）３１０から受信側サブクロスバスイッチ３２０に転送されてきたセルは、ＣＳＮ付加回路３２２、セル分散回路３２４、クロスバスイッチ（ＣＳＷ）４１０、セル整列回路３３２、およびパケット復元回路３３４を介して、パケット転送部３１０に転送される。なお、これらの各部３２２，３２４，４１０，３３２，３３４における処理の内容については、後述する。
【００４２】
図６は、ＣＳＮ付加回路３２２において個々のセルにＣＳＮが付加される様子を示す説明図である。図６（ａ）に示すように、ＣＳＮ付加回路３２２は、パケット転送部（ＰＦＰ）３１０から転送されてきたＣＳＮ未設定のセルに対し、転送順に連続したＣＳＮを付加し、ＣＳＮが付加されたセルをセル分散回路３２４に受け渡す。
【００４３】
図６（ｂ）は、セルにＣＳＮが付加される様子を示している。図６（ｂ）において、データ転送は、矢印で示すように、図の右から左の方向の順序で行われる。なお、図６（ｂ）において、セル宛先は単なる数字として表し、ＣＳＮはナンバ記号（＃）を付した数字として表している。本実施例においては、ＣＳＮは、セル宛先にかかわらず、セルの転送順に連続した番号が付加される。なお、セルヘッダにおいてＣＳＮに割り当てられているビット数は、予め定められている。この場合、ＣＳＮが割当ビット数で表すことができる数を超えた場合には、ＣＳＮは０に戻される（「ラップアラウンド」と呼ばれる）。このようにラップアラウンドが発生した場合には、ＣＳＮ付加回路３２２は、ラップアラウンドの発生を通知するためのセルを生成する。
【００４４】
このように転送順にＣＳＮが付加されたセルは、図３に示すように、クロスバスイッチ（ＣＳＷ）４１０を介して宛先ＰＰＵに転送される。このとき、宛先ＰＰＵでは、図６（ｃ）に示すように、受信したセルのＣＳＮは連続番号とはならない。そこで、本実施例では、後述するように、送信側サブクロスバスイッチ（ＳＳＷ−Ｔ）３３０に、送信元のパケット処理部（送信元ＰＰＵ）３００のそれぞれに対応するセル整列回路３３２を設けている。そして、個々のセル整列回路３３２に、クロスバスイッチ４１０に対応したキューを設ける。キューに蓄積されたセルからＣＳＮが最小のセルを取り出すことにより、整列されたセルが取得される。なお、このように、セルの整列を行うための具体的な構成およびその機能については、後述する。
【００４５】
図７は、比較例としての従来のＣＳＮ付加回路３２２ａにおいて個々のセルにＣＳＮが付加される様子を示す説明図である。従来のＣＳＮ付加回路３２２ａは、セル宛先を検出する宛先検出回路６１２と、宛先別ＣＳＮ付加回路６１４と、セル順序維持回路６１６と、を有している。宛先検出回路６１２は、ＣＳＮ未設定セルのセル宛先を検出し、セル宛先に対応した宛先別ＣＳＮ付加回路６１４に当該セルを転送する。宛先別ＣＳＮ付加回路６１４のそれぞれは、転送されてきたセルに対し、別個の連続番号をＣＳＮとして設定する。セル順序維持回路６１６は、宛先別ＣＳＮ付加回路６１４から転送されてきたセルを、ＣＳＮ付加回路３２２ａへの受入順にセル分散回路３２４（図５）に転送する。これにより、従来のＣＳＮ付加回路３２２ａでは、セル宛先毎に連続するＣＳＮがセルに設定される。
【００４６】
後述するように、セルの転送先である送信側サブクロスバスイッチ（ＳＳＷ−Ｔ）においては、セル宛先に対応する数のセル整列回路が設けられる。そして、個々のセル整列回路に、クロスバスイッチ４１０のそれぞれに対応するキューを設ける。このキューの先頭に蓄積されたセルのＣＳＮは、連続した番号となる。そこで、整列されたセルを抽出する度に１ずつインクリメントされるＣＳＮ期待値（以下、単に「期待値」とも呼ぶ）と、キュー先頭のセルのＣＳＮとを比較し、ＣＳＮが期待値となっているセルを抽出することにより、セルを整列させることができる。
【００４７】
しかしながら、このように宛先毎に連続するＣＳＮをセルに付加する場合、宛先別ＣＳＮ付加回路６１４とセル整列回路との数は、パケット処理部３００の数が増加するにしたがって急激に増大する。図８は、パケット処理部３００の数が８である場合に、セルの転送パターン（データフロー）の全てにセル宛先を割り当てた様子を示している。
【００４８】
図８に示すように、クロスバスイッチ４１０（図５）におけるマルチキャスト転送を可能にする場合、データフローは、パケット処理部３００の数をＮとして、２N−１種類となる。そのため、データフロー毎にセル宛先を割り当てると、セル宛先に対応する宛先別ＣＳＮ付加回路６１４とセル整列回路とは、それぞれ、２N−１個必要となる。例えば、パケット処理部３００の数を８とした場合、宛先別ＣＳＮ付加回路６１４とセル整列回路とは、それぞれ２５５個必要となる。
【００４９】
このような問題を回避するため、データフロー数よりも少ない数のセル宛先を設定し、各セル宛先に対しデータフローを登録することも可能である。図９は、Ｋ個のセル宛先にデータフローを登録した一例を示している。
【００５０】
このようなデータフローの登録は、例えば、Ｋ個のデータ領域（エントリ）を有するコンテンツアドレサブルメモリ（ＣＡＭ：Contents Addressable Memory）に、使用するデータフローを割り付けることにより行うことができる。この場合、既にエントリ数のデータフローが登録されており、ＣＡＭに登録されていない新たなデータフローを使用する場合、新たなデータフローは、最も使用頻度の低いデータフローのエントリに登録される。但し、このようにデータフローの登録を行う場合、宛先別ＣＳＮ付加回路６１４とセル整列回路との間でデータフローの登録状態を同期することが必要となる。したがって、同期のために処理が複雑化するとともに、オーバーヘッドが増加するおそれがある。
【００５１】
このように、従来のネットワーク中継装置において、クロスバスイッチ４１０におけるマルチキャスト転送を行うと、パケット処理部３００の増加にしたがってセル宛先数が急激に増加する。したがって、従来のネットワーク中継装置では、宛先別ＣＳＮ付加回路６１４の数と、セル整列回路の数との増加を抑制するため、クロスバスイッチ４１０におけるマルチキャスト転送を行うことなくセルを複数の宛先ＰＰＵに転送することが行われている。この場合、マルチキャストのセルを予め複製することにより、マルチキャストを単一の転送先へのユニキャストに変換することが行われる。
【００５２】
図１０は、クロスバスイッチ４１０におけるマルチキャスト転送の様子を示す説明図である。図１１および図１２は、マルチキャストをユニキャストに変換した場合のセルの転送の様子を示す説明図である。
【００５３】
図１０に示すように、クロスバスイッチ（ＣＳＷ）４１０［０］は、単一の受信側サブクロスバスイッチ（ＳＳＷ−Ｒ）３２０［０］から転送されてきたセルを、複数の送信側サブクロスバスイッチ（ＳＳＷ−Ｔ）３３０［０］〜３３０［２］に転送することが可能である。そのため、図１０の例に示すように、クロスバスイッチ４１０［０］においてマルチキャスト転送を行うことにより、単一のクロスバスイッチ４１０［０］を使用していても、受信側サブクロスバスイッチ３２０［０］とクロスバスイッチ４１０［０］との間のトラフィックの増加を抑制することができる。
【００５４】
一方、図１１に示すように、受信側サブクロスバスイッチ（ＳＳＷ−Ｒ）３２０［０］においてセルを複製し、複製したセルを単一のクロスバスイッチ４１０［０］に転送すると、受信側サブクロスバスイッチ３２０［０］とクロスバスイッチ４１０［０］との間でのトラフィックが増大する。また、図１２に示すように、複製したセルを複数のクロスバスイッチ４１０［０］〜４１０［２］に転送すると、複製のクロスバスイッチ４１０［０］〜４１０［２］が占有される。このように、従来のネットワーク中継装置で宛先別ＣＳＮ付加回路６１４等の数を抑制するため、マルチキャストからユニキャストへの変換を行うと、受信側サブクロスバスイッチ３２０とクロスバスイッチ４１０との間のトラフィックの増大や、クロスバスイッチ４１０の占有により、セルの転送速度が低下するおそれがある。
【００５５】
図１３は、セル分散回路３２４においてセルがＭ個のクロスバスイッチ（ＣＳＷ）に分散される様子を示す説明図である。個々のクロスバスイッチ４１０に分散されたセルは、セル分散回路３２４とクロスバスイッチ４１０との間に設けられたキュー（ＣＳＷ宛キュー）に蓄積され、ＣＳＷ宛キューの先頭から順次クロスバスイッチ４１０に転送される。セルの転送先のクロスバスイッチは、ラウンドロビン等の種々の分散方法を用いて決定することができる。セル転送先のクロスバスイッチは、図５の受信側サブクロスバスイッチ（ＳＳＷ−Ｒ）３２０および送信側サブクロスバスイッチ（ＳＳＷ−Ｔ）３３０に設けられた種々のキューの状態に応じて決定するのがより好ましい。この場合、セルの転送先は、例えば、以下の順にしたがって決定することができる。
１：ＣＳＷ宛キューのセル蓄積数が所定の閾値よりも少ないクロスバスイッチ４１０。
２：宛先ＰＰＵの送信側サブクロスバスイッチ（ＳＳＷ−Ｔ）から転送の制限を受けていない（バックプレッシャがかかっていない）クロスバスイッチ４１０。
３：クロスバスイッチ４１０のラウンドロビン。
【００５６】
なお、転送されるセルがユニキャストとマルチキャストとのいずれかに応じて、転送先のクロスバスイッチ４１０を分けるものとしてもよい。このようにクロスバスイッチ４１０を使い分けることにより、マルチキャスト転送の帯域を確保することがより容易になる点でより好ましい。
【００５７】
図１３の例では、クロスバスイッチ４１０に対するラウンドロビンによって、セルの転送先が決定されている。そのため、ＣＳＮ付加回路３２２から供給されたセルは、順番にクロスバスイッチ４１０［０］からクロスバスイッチ４１０［Ｍ−１］に転送されている。
【００５８】
図１４は、クロスバスイッチ４１０の内部構成を示す説明図である。クロスバスイッチ４１０は、セルの転送先であるＮ個の送信側サブクロスバスイッチ（ＳＳＷ−Ｔ）のそれぞれに対応して、Ｎ個のスイッチバッファ５１０を備えている。スイッチバッファ５１０には、セルの転送元であるＮ個の受信側サブクロスバスイッチ（ＳＳＷ−Ｒ）に対応して、Ｎ個の内部キュー５１２と、内部キュー５１２に蓄積されたセルを選択し、送信側サブクロスバスイッチに転送する転送セル選択回路５１４とが設けられている。
【００５９】
スイッチバッファ５１０のそれぞれには、受信側サブクロスバスイッチ（ＳＳＷ−Ｒ）から転送されてきたセルが、転送先の送信側サブクロスバスイッチ（ＳＳＷ−Ｔ）に応じて振り分けられる。各スイッチバッファ５１０に振り分けられたセルは、転送元毎に別個に設けられた内部キュー５１２に蓄積される。
【００６０】
転送セル選択回路５１４は、転送元に対するセル単位のラウンドロビンによって転送されるセルを選択し、選択したセルを転送先の送信側サブクロスバスイッチ（ＳＳＷ−Ｔ）に送出する。なお、後述するように、送信側サブクロスバスイッチ（ＳＳＷ−Ｔ）のセル整列回路３３２（図５）には、転送元のパケット処理部３００（すなわち、受信側サブクロスバスイッチ３２０）毎に別個のキューが設けられている。そこで、送信側サブクロスバスイッチのキューへのセルの蓄積量に応じて転送するセルを選択するのが、セル整列回路３３２へのセル転送をより効率的に行える点でより好ましい。なお、図１４に示すクロスバスイッチ４１０の構成から分かるように、クロスバスイッチ４１０では、特定の入力ポートから出力ポートに転送されるセルは、その転送順序が維持される。
【００６１】
図１５は、送信側サブクロスバスイッチ３３０（図５）に設けられた、セル整列回路３３２の内部構成を示す説明図である。セル整列回路３３２は、セルの送信元であるＮ個のパケット処理部（送信元ＰＰＵ）に対応して、Ｎ個のセル整列バッファ５２０を備えている。セル整列バッファ５２０のそれぞれには、セルの転送元であるＭ個のクロスバスイッチ４１０に対応して、Ｍ個の内部キュー５２２と、内部キュー５２２に蓄積されたセルから最も先頭のセルを選択し、パケット復元回路３３４（図５）に転送するＣＳＮ最小値検出回路５２４とが設けられている。
【００６２】
図１６は、ＣＳＮ最小値検出回路５２４がセルを整列する処理の流れを示すフローチャートである。このセル整列処理は、ネットワーク中継装置１００の稼働中、ＣＳＮ最小値検出回路５２４により常時実行されている。
【００６３】
ステップＳ１１０において、ＣＳＮ最小値検出回路５２４は、全ての内部キュー５２２にセルが存在するか否かを判断する。全ての内部キュー５２２にセルが存在する場合、処理はステップＳ１２０に進む。内部キュー５２２のいずれかにセルが存在していない場合、処理はステップＳ１１０に戻され、全ての内部キュー５２２にセルが存在するようになるまで、ステップＳ１１０が繰り返し実行される。
【００６４】
ステップＳ１２０において、ＣＳＮ最小値検出回路５２４は、内部キュー５２２の先頭のセルのうちの、ＣＳＮが最小のセル（ＣＳＮ最小セル）を検索する。次いで、ステップＳ１３０において、ステップＳ１２０で検索されたＣＳＮ最小セルを、パケット復元回路３３４（図５）に転送する。ＣＳＮ最小セルのパケット復元回路３３４への転送の後、処理は、ステップＳ１１０に戻され、ステップＳ１１０〜Ｓ１３０が繰り返し実行される。
【００６５】
図１５の例では、クロスバスイッチ４１０［０］〜４１０［Ｍ−２］に対応する内部キュー５２２［０］〜５２２［Ｍ−２］には、それぞれセルが蓄積されている。クロスバスイッチ４１０［Ｍ−１］に対応する内部キュー５２２［Ｍ−１］（ハッチングで示す）に、ＣＳＮが＃５のセルが蓄積されると、全ての内部キュー５２２［０］〜５２２［Ｍ−１］にセルが存在していると判断される（ステップＳ１１０）。これにより、ＣＳＮが最小のセルが検索され（ステップＳ１２０）、検索されたＣＳＮが＃０のセルが、パケット復元回路３３４に転送される（ステップＳ１３０）。
【００６６】
なお、本実施例では、パケット処理部３００へのパケットの転送が途切れた場合、上述のように、同期セルの転送が行われる。そのため、同期セルが内部キュー５２２に蓄積されているかを判断することによって、パケット復元回路３３４にセルを転送すべきか否かを判断することができる。しかしながら、同期セルを使用せず、最後にセルを受け取ってからの時間が予め定められた時間となった場合に、セルの転送を行うものとしてもよい。但し、ＣＳＮ最小値検出回路５２４における処理がより容易となる点で、同期セルを使用するのがより好ましい。
【００６７】
また、本実施例では、ＣＳＮのラップアラウンドが発生した場合、上述のように、その旨を伝達するセルの転送が行われる。そのため、ＣＳＮ最小値検出回路５２４が、ラップアラウンドの発生により誤ったセルを抽出して転送することが抑制される。しかしながら、セルの転送ではなく、ラップアラウンドの発生の通知を別途受け付けるものとしてもよい。但し、ラップアラウンドの発生タイミングについて、ＣＳＮ付加回路３２２とＣＳＮ最小値検出回路５２４との間での同期がより容易となる点で、セルの転送によりラップアラウンドの通知をするのがより好ましい。
【００６８】
図１７は、比較例としての従来のセル整列回路３３２ａの内部構成を示す説明図である。セル整列回路３３２ａは、ＣＳＮ最小値検出回路５２４に替えて期待値一致検出回路５２４ａが使用されている点で、図１５に示す本実施例のセル整列回路３３２と異なっている。他の点は、本実施例のセル整列回路３３２と同様である。なお、図１７のセル整列回路３３２ａには、Ｎ個のセル宛先に対応して、Ｎ個のセル整列バッファ５２０が設けられている。したがって、図１７のセル整列回路３３２ａを使用する場合、クロスバスイッチ４１０においてマルチキャスト転送を行うことができない。上述のように、クロスバスイッチ４１０においてマルチキャスト転送を行う場合、セル整列回路３３２ａには、Ｎ個よりも多くのセル整列バッファ５２０ａが設けられる。
【００６９】
図１８は、期待値一致検出回路５２４ａがセルを整列する処理の流れを示すフローチャートである。このセル整列処理も、図１６に示す本実施例のセル整列処理と同様に、ネットワーク中継装置１００の稼働中、期待値一致検出回路５２４ａにより常時実行されている。
【００７０】
ステップＳ２１０において、期待値一致検出回路５２４ａは、ＣＳＮ期待値を０に設定する。次いで、ステップＳ２２０において、期待値一致検出回路５２４ａは、ＣＳＮが期待値に一致するセル（以下、「期待値一致セル」とも呼ぶ）が、内部キュー５２２の先頭に存在するか否かを判断する。期待値一致セルが内部キュー５２２の先頭に存在する場合、処理はステップＳ２３０に進む。一方、期待値一致セルが内部キュー５２２の先頭に存在しない場合、処理はステップＳ２２０に戻され、期待値一致セルが内部キュー５２２の先頭に存在するようになるまで、ステップＳ２２０が繰り返し実行される。
【００７１】
ステップＳ２３０において、期待値一致検出回路５２４ａは、期待値一致セルをパケット復元回路３３４（図５）に転送する。次いで、ステップＳ２４０において、期待値一致検出回路５２４ａは、期待値を１だけインクリメントする。期待値のインクリメントの後、処理はステップＳ２２０に戻され、ステップＳ２２０〜Ｓ２４０が繰り返し実行される。
【００７２】
図１７の例は、ＣＳＮ期待値が０の状態において、クロスバスイッチ４１０［０］〜４１０［Ｍ−２］に対応する内部キュー５２２［０］〜５２２［Ｍ−２］に、期待値（＃０）よりもＣＳＮが大きいセルが蓄積されている状態を示している。ここで、クロスバスイッチ４１０［Ｍ−１］に対応する内部キュー５２２［Ｍ−１］（ハッチングで示す）に、ＣＳＮが期待値（＃０）のセルが蓄積されると、期待値一致セルが内部キュー５２２の先頭に存在すると判断される（ステップＳ２２０）。これにより、内部キュー５２２［Ｍ−１］から期待値一致セル（ＣＳＮ＝０）がパケット復元回路３３４に転送される（ステップＳ２３０）。
【００７３】
このように、従来技術では、ＣＳＮとして、セル宛先毎に連続した番号が割り当てられる。そのため、セル整列回路３３２ａは、期待値一致セルをパケット復元回路３３４に転送する度にＣＳＮ期待値を１ずつインクリメントすることにより、次に転送すべきセルのＣＳＮを特定することができる。そのため、パケット処理部３００（図５）へのパケットの転送が途切れた場合や、ＣＳＮにラップアラウンドが発生した場合においても、適正にセルをパケット復元回路３３４に転送することができる。但し、上述のように、クロスバスイッチ４１０においてマルチキャスト転送を行う場合、セル整列回路３３２ａに設けられるセル整列バッファ５２０ａの数は、本実施例よりも多くなる。また、従来技術では、ＩＰパケットを分割したセルの一部の消失（セル抜け）が発生した場合に、期待値一致検出回路５２４ａは期待するＣＳＮを検出することが不可能となるため、ステップＳ２２０にて停止する。そのため、期待値一致検出回路５２４ａは、例えばセル整列バッファ５２２の状態と、ステップＳ２２０にて停止している時間に基づいて、ＣＳＮ期待値を１だけインクリメントする処理が必要となる。一方、本実施例では、ＩＰパケットを分割したセルの一部の消失（セル抜け）が発生した場合にも、ＣＳＮ最小値検出回路５２４は停止することなく消失したセルの処理を省略することが可能となる。
【００７４】
図１９は、パケット復元回路３３４の内部構成を示す説明図である。パケット復元回路３３４は、送信元別パケット復元回路５３２と、パケット選択回路５３４と、を有している。図１９に示すように、パケット復元回路３３４には、Ｎ個のセル整列バッファ５２０（図１７）に対応して、Ｎ個の送信元別パケット復元回路５３２が設けられている。
【００７５】
送信元別パケット復元回路５３２は、それぞれ、セル整列バッファ５２０から転送されてきた整列済のセルから、分割前のＩＰパケット（図４）を復元する。具体的には、セルからセルヘッダを除去し、セルデータを転送順に組み立てることによりＩＰパケットの復元が行われる。なお、ＩＰパケットを分割したセルの一部の消失（セル抜け）が発生したか否かは、組み立てたＩＰパケットを構成したセルのＣＳＮの連続性、およびＩＰパケットに含まれるエラー訂正コードを参照することにより判断することができる。この場合、セル抜けが発生したと判断されるＩＰパケットは、ＩＰパケット単位で廃棄する。
【００７６】
パケット選択回路５３４は、個々の送信元別パケット復元回路５３２から、送信元ＰＰＵに対するラウンドロビン等の方法によって、パケット転送部３１０（図１）に転送するパケットを選択し、パケット転送部３１０に転送する。パケット転送部３１０は、送信側サブクロスバスイッチ３３０から転送されてきたパケットを、ルーティングコントローラ３４０（図３）から供給されるルーティング情報に基づいて、パケット転送部３１０に設けられた図示しないポートに転送する。ネットワーク中継装置１００は、このように、特定のポートから受信したパケットをルーティング情報に基づいて決定されたポートに転送することにより、パケットの中継を行うことができる。
【００７７】
このように、本実施例では、セル宛先にかかわらず転送順にＣＳＮを付加することにより、単一のＣＳＮ付加回路３２２によりＣＳＮをセルに付加することができるとともに、セル整列回路３３２の数を送信元ＰＰＵの数に抑えることができる。そのため、ネットワーク中継装置１００の回路規模の増大を抑制することが可能となる。特に、クロスバスイッチ４１０におけるマルチキャスト転送を行う場合、ＣＳＮ付加回路３２２およびセル整列回路３３２の数の急激な増大を抑制することができる。そのため、クロスバスイッチ４１０におけるマルチキャスト転送をより容易に行うことができ、受信側サブクロスバスイッチ３２０とクロスバスイッチ４１０との間のトラフィックの低減がより容易となる。
【００７８】
Ｂ．変形例：
なお、この発明は上記実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【００７９】
Ｂ１．変形例１：
上記実施例では、図４に示すように受信側サブクロスバスイッチ（ＳＳＷ−Ｒ）３２０には、ＩＰパケットを分割したセルが転送され、受信側サブクロスバスイッチ３２０から供給されたセルがクロスバスイッチ４１０（図５）により転送される。但し、クロスバスイッチにより転送されるデータは、送信側において転送順序の保証が要求されているデータであれば、必ずしもセルでなくとも良く、ＩＰパケットなどの所定の形式の単位データであっても良い。但し、一般にクロスバスイッチ４１０は、所定のデータ長のセルを転送するのに適している。そのため、クロスバスイッチ４１０においては、パケットを分割したセルを転送するのがより好ましい。
【００８０】
Ｂ２．変形例２：
上記実施例では、転送セル選択回路５１４（図１４）における転送セルの決定や、パケット選択回路５３４（図１９）における転送パケットの決定において、ラウンドロビン等の選択手段を用いているが、上記実施例に記載した方法の他に、データ転送のサービス品質（ＱｏＳ：Quality of Service）に基づいて転送するセルやパケットを決定するものとしてもよい。この場合、ＱｏＳの要求レベルが高いセルやパケットを優先的に選択し、その他のセルやパケットについては、所定の時間の経過後に転送が中止（タイムアウト）される。
【００８１】
Ｂ３．変形例３：
上記実施例では、送信元別パケット復元回路５３２（図１９）において、ＩＰパケットを分割したセルの一部の消失（セル抜け）が発生したか否かは、組み立てたＩＰパケットを構成したセルのＣＳＮの連続性、およびＩＰパケットに含まれるエラー訂正コードを参照することにより判断しているが、上記実施例に記載した方法の他に、セルヘッダに分割されたＩＰパケット内の位置を示す、型識別子を設け、この型識別子を参照することによりＩＰパケットが適正に復元されたか否かを判断するとしてもよい。
【００８２】
図２０は本変形例の型識別子を付加したセルヘッダを示す例である。具体的には、セルヘッダに、ＩＰパケットの先頭を示すフラグと、ＩＰパケットの末尾を示すフラグと、ＩＰパケット内部の連続したセル番号を記憶する領域、からなる型識別子を有し、セル生成部３１６（図４）において型識別子を生成し、送信元別パケット復元回路５３２（図１９）において、型識別子を参照することにより、ＩＰパケットが適正に復元されたか否かを判断する。
【００８３】
この場合、ＩＰパケットの全体を参照せずに転送順にセルヘッダを順次参照すればよく、ＩＰパケットが適正に復元されたか否かを判断することがより容易となる。なお、変形例３では、ＩＰパケット内のセルのＣＳＮの連続性が必ずしも必要ないため、セルの転送先に重複がない場合は、パケット転送部３１０（図３）から受信側サブクロスバスイッチ３２０（図３）へのセル転送は分割前のパケット単位でなくともよい。
【図面の簡単な説明】
【００８４】
【図１】ネットワーク中継装置の概略構成を示す説明図。
【図２】パケット処理部（ＰＰＵ）とクロスバスイッチボード（ＣＳＷ−ＰＫ）との接続状態を示す説明図。
【図３】ネットワーク中継装置の各部の構成を示す説明図。
【図４】受信されたパケットがセルに分割される様子を示す説明図。
【図５】受信側サブクロスバスイッチから送信側サブクロスバスイッチにセルが転送される様子を示す説明図。
【図６】ＣＳＮ付加回路において個々のセルにＣＳＮが付加される様子を示す説明図。
【図７】従来のＣＳＮ付加回路において個々のセルにＣＳＮが付加される様子を示す説明図。
【図８】データフロー毎にセル宛先を与えた様子を示す説明図。
【図９】データフロー数よりも少ない数のセル宛先にデータフローを登録した様子を示す説明図。
【図１０】クロスバスイッチにおいてマルチキャスト転送を行う様子を示す説明図。
【図１１】マルチキャストをユニキャストに変換した場合のセルの転送の様子を示す説明図。
【図１２】マルチキャストをユニキャストに変換した場合のセルの転送の様子を示す説明図。
【図１３】セル分散回路においてセルがＭ個のクロスバスイッチに分散される様子を示す説明図。
【図１４】クロスバスイッチの内部構成を示す説明図。
【図１５】セル整列回路の構成を示す説明図。
【図１６】ＣＳＮ最小値検出回路がセルを整列する処理の流れを示すフローチャート。
【図１７】比較例としての従来のセル整列回路の内部構成を示す説明図。
【図１８】期待値一致検出回路がセルを整列する処理の流れを示すフローチャート。
【図１９】パケット復元回路の内部構成を示す説明図。
【図２０】型識別子を付加したセルヘッダの構成を示す説明図。
【符号の説明】
【００８５】
１００…ネットワーク中継装置
２００…ルーティングマネージャ
２１０…ＣＰＵ
３００…パケット処理部
３０２…サブクロスバスイッチ
３１０…パケット転送部
３１２…分割処理部
３１４…セル宛先決定部
３１６…セル生成部
３１８…キュー
３２０…受信側サブクロスバスイッチ
３２２，３２２ａ…ＣＳＮ付加回路
３２４…セル分散回路
３３０…送信側サブクロスバスイッチ
３３２，３３２ａ…セル整列回路
３３４…パケット復元回路
３４０…ルーティングコントローラ
３５０…バス選択部
４００…クロスバスイッチボード
４１０…クロスバスイッチ
４２０…バス選択部
５１０…スイッチバッファ
５１２…内部キュー
５１４…転送セル選択回路
５２０，５２０ａ…セル整列バッファ
５２２…内部キュー
５２４…最小ＣＳＮ検出回路
５２４ａ…期待値一致検出回路
５３２…送信元別パケット復元回路
５３４…パケット選択回路
６１２…宛先検出回路
６１４…宛先別ＣＳＮ付加回路
６１６…セル順序維持回路
【図１】
0004901777.tif 000002
【図２】
0004901777.tif 000003
【図３】
0004901777.tif 000004
【図４】
0004901777.tif 000005
【図５】
0004901777.tif 000006
【図６】
0004901777.tif 000007
【図７】
0004901777.tif 000008
【図８】
0004901777.tif 000009
【図９】
0004901777.tif 000010
【図１０】
0004901777.tif 000011
【図１１】
0004901777.tif 000012
【図１２】
0004901777.tif 000013
【図１３】
0004901777.tif 000014
【図１４】
0004901777.tif 000015
【図１５】
0004901777.tif 000016
【図１６】
0004901777.tif 000017
【図１７】
0004901777.tif 000018
【図１８】
0004901777.tif 000019
【図１９】
0004901777.tif 000020
【図２０】
0004901777.tif 000021