(57)【要約】【課題】  クロスバスイッチと異なる転送能力のインターフェースを結合した場合の、性能の低下を防ぐ。【解決手段】  クロスバスイッチ３５は、ルータの内部でパケットの転送を行う。クロスバスイッチ内部よりも低速なスループットのパケット転送エンジン等からポート１３１を介して入力されたセルは、受信バッファ１３２に保持される。受信バッファ１３２からの読み出しは受信バッファ管理部１３３によって管理される。受信バッファ管理部１３３は、閾値レジスタ１３７と受信バッファ１３２の保持している最終セル数及びセル数により、受信バッファ１３２からセルを読み出すかどうかを判定する。低速なパケット転送エンジン等から入力されたセルを受信バッファ１３２に必要数保持してから転送する又は最終セルが保持されてから転送することにより、クロスバスイッチの使用効率を大きくすることができる。【選択図】  図３
2005252953.tif 000002
【特許請求の範囲】
【請求項１】
複数のセルを有するパケットの先頭セルの通過から最終セルの通過まで、第１のポートから第２のポートへの転送経路を確保するパケット転送方式におけるクロスバスイッチであって、
受信されたパケットの各セルを保持する受信バッファと、
前記受信バッファに保持されるセル又はパケットの転送を制御する受信バッファ管理部と、
受信されたパケットに含まれる出力方路情報又はパケットのヘッダ情報に基づき得られた出力方路情報に従いパケットの転送先のポートを決定し、前記受信バッファから読み出されたセル又はパケットを決定されたポートへ転送するためのスイッチと
を備え、
前記受信バッファ管理部は、
前記受信バッファへの最終セルの書き込みを検出してパケット又はセルを転送させるための信号を出力し、及び、前記受信バッファからの最終セルの読み出しを検出してパケット又はセルの転送を停止させ、
前記受信バッファへの最終セルの書き込みを検出できなくても、前記受信バッファに保持されているセル数が予め定められた閾値以上の場合に、パケット又はセルを転送させるための信号を出力し、及び、前記受信バッファからの最終セルの読み出しを検出してパケット又はセルの転送を停止させる前記クロスバスイッチ。
【請求項２】
前記パケット又はセルを転送させるための信号は、調停参加信号であり、
前記受信バッファ管理部から調停参加信号が出力されると、複数の調停参加信号間でのセル又はパケットの転送の優先順位に従い、前記受信バッファに保持されるセル又はパケットを、順次前記スイッチに送出させてセル又はパケットを転送させる調停回路
をさらに備えた請求項１に記載のクロスバスイッチ。
【請求項３】
受信されたセルを前記受信バッファに書き込み、及び、パケットの最終セルを検出して、最終セルを前記受信バッファに書き込むことにより最終セル書き込み信号を出力する書き込み制御部と、
前記受信バッファからセルを読み出し、及び、パケットの最終セルを検出して、最終セルを前記受信バッファから読み出すことにより最終セル読み出し信号を出力する読み出し制御部と
をさらに備え、
前記受信バッファ管理部は、
前記書き込み制御部からの最終セル書き込み信号により最終セルの書き込みを検出し、前記読み出し制御部からの最終セル読み出し信号により最終セルの読み出しを検出する請求項１又は２に記載のクロスバスイッチ。
【請求項４】
前記受信バッファ管理部は、
前記書き込み制御部からの最終セル書き込み信号及び前記読み出し制御部からの最終セル読み出し信号に基づき、前記受信バッファが保持する最終セルの有無を判別し、最終セルが有る場合にパケット又はセルを転送させるための信号を出力し、及び、最終セルが無くなった場合にパケットの転送を停止させる最終セル判別手段と、
前記書き込み制御部が前記受信バッファにセルを書き込んだときに出力されるセル書き込み信号、及び、前記読み出し制御部が前記受信バッファからセルを読み出したときに出力される読み出し信号に基づき、前記受信バッファが保持するセル数をカウントするセルカウンタと、
前記セルカウンタの値と予め定められた閾値とを比較し、前記セルカウンタの値が閾値以上の場合に信号を出力する比較器と、
前記比較器の出力によってセットされ、前記読み出し制御部からの最終セル読み出し信号によってリセットされる転送フラグと
を有し、
前記最終セル判断手段が最終セルなしと判別しても、前記転送フラグがセットされることによりパケット又はセルを転送させるための信号を出力し、前記転送フラグがリセットされることによりパケットの転送を停止させる請求項３に記載のクロスバスイッチ。
【請求項５】
前記閾値を格納する閾値レジスタ
をさらに備え、
前記閾値レジスタに格納される閾値により、前記受信バッファ管理部におけるパケット又はセルの転送の制御が、接続される装置に応じて変更可能な請求項１乃至４のいずれかに記載のクロスバスイッチ。
【請求項６】
複数のセルを有するパケットの先頭セルの通過から最終セルの通過まで、第１のポートから第２のポートへの転送経路を確保するパケット転送方式において、自クロスバスイッチと同じ又はほぼ同じ転送能力を有する装置と、自クロスバスイッチよりも低い転送能力を有する装置とに接続されるためのクロスバスイッチであって、
自クロスバスイッチと同じ又はほぼ同じ転送能力を有する装置から受信されたパケットの各セルを保持する第１の受信バッファと、
前記第１の受信バッファに保持されるセル又はパケットの転送を制御する、前記第１の受信バッファに対応した第１の受信バッファ管理部と、
自クロスバスイッチよりも低い転送能力を有する装置から受信されたパケットの各セルを保持する第２の受信バッファと、
前記第２の受信バッファに保持されるセル又はパケットの転送を制御する、前記第１の受信バッファに対応した第２の受信バッファ管理部と、
受信されたパケットに含まれる出力方路情報又はパケットのヘッダ情報に基づき得られた出力方路情報に従いパケットの転送先のポートを決定し、前記第１及び第２の受信バッファから読み出されたセル又はパケットを決定されたポートへ転送するためのスイッチと、
前記第１及び第２の受信バッファ管理部から出力されるパケット又はセルを転送させるための信号を入力すると、セル又はパケットの転送の優先順位に従い、前記第１及び第２の受信バッファに保持されるセル又はパケットを、順次前記スイッチに送出させてセル又はパケットを転送させる調停回路と
を備え、
前記第１及び第２の受信バッファ管理部は、それぞれ、
対応する前記第１及び第２の受信バッファへの最終セルの書き込みを検出してパケット又はセルを転送させるための信号を出力し、及び、対応する前記第１及び第２の受信バッファからの最終セルの読み出しを検出してパケット又はセルの転送を停止させ、
対応する前記第１及び第２の受信バッファへの最終セルの書き込みを検出できなくても、対応する前記第１及び第２の受信バッファに保持されているセル数が、前記第１及び第２の受信バッファに対応する第１又は第２の閾値以上の場合に、パケット又はセルを転送させるための信号を出力し、及び、対応する前記第１及び第２の受信バッファからの最終セルの読み出しを検出してパケット又はセルの転送を停止させる前記クロスバスイッチ。
【請求項７】
請求項１乃至６のいずれかに記載のクロスバスイッチで構成されるサブクロスバスイッチを有する複数のパケット転送部と、
前記サブクロスバスイッチのいずれか及び回線に接続され、回線からのパケットを前記サブクロスバスイッチに転送し、及び、前記サブクロスバスイッチからのパケットを回線に送出するための第１のパケット転送エンジンを有する複数の回線対応部と、
請求項１乃至６のいずれかに記載のクロスバスイッチと、装置全体を管理する装置管理処理部と、前記クロスバスイッチと前記装置管理処理部との間でパケットを転送するための第２のパケット転送エンジンとを有し、前記複数のパケット転送部と前記第２のパケット転送エンジンとのそれぞれの間でパケットを転送する装置管理部と
を備え、
前記第１のパケット転送エンジン及び前記第２のパケット転送エンジンの少なくともひとつの転送能力は、接続される前記クロスバスイッチ又は前記サブクロスバスイッチのパケット転送能力よりも低いネットワーク転送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロスバスイッチ及びネットワーク転送装置に係り、特に、転送能力の異なるパケット転送エンジン及びクロスバスイッチを組み合わせて構成されるネットワークにおいて、高効率なバッファ管理を可能とするクロスバスイッチ及びネットワーク転送装置に関する。
【背景技術】
【０００２】
一般にネットワーク転送装置においては、複数のパケット転送エンジンをクロスバスイッチを介して接続し、パケットを転送している。また、パケットはセルと呼ばれる一定の大きさのデータの集合に分割されて送信され、転送先のパケット転送エンジンにてパケットに再構成される。この際に異なるパケットのセルが入り交じって到着する、あるいは、同一パケットでもセルが異なる順序で到着するとパケットの再構成時のオーバヘッドが大きくなるため、クロスバスイッチなどの転送経路ではパケットの先頭セルの通過時に送信ポートから受信ポートへの転送経路を確保し、パケットの最終セルが通過するまで、確保した転送経路は解放しないパケット転送方式をとる。
【０００３】
このようなパケット転送方式の制御を行うネットワーク転送装置において、転送能力の等しいパケット転送装置とクロスバスイッチを接続しても、特に双方の能力に制限は発生しにくい。しかし、例えば転送能力の低いパケット転送エンジンと転送能力の高いクロスバスイッチを接続すると、転送能力の高いクロスバスイッチの性能が転送能力の低いパケット転送エンジンの性能に制限されてしまう。この制限はネットワーク転送装置全体の性能に影響する。
【０００４】
図５は、クロスバスイッチのモデルを示している。クロスバスイッチ２００は、複数の受信バッファ１３２と、受信バッファ１３２を選択して出力するスイッチ１３５とを有し、内部のスループットが２Ａのクロスバスイッチにおいて、受信バッファ１３２の１つにスループットＡのパケット転送エンジン４５を接続した例を示している。このように接続された従来のクロスバスイッチ３００は、スループット２Ａの能力を発揮できず、スループット２Ａの他のパケット転送エンジン１５についてもパケット転送効率が低下する。
【０００５】
図６乃至図８は、従来のパケット転送例（ａ）及び本発明のパケット転送例（ｂ）を示す図である。
図６（ａ）は、パケット転送エンジン４５から受信バッファ１３２の保持可能なセル数以下のパケット長のパケットが転送されてきた例を示している。また、図７（ａ）と図８（ａ）は、パケット転送エンジン４５から受信バッファ１３２の保持可能なセル数以上のパケット長のパケットが転送されてきた例を示している。図６（ｂ）、図７（ｂ）、図８（ｂ）については後に詳細に述べる。
【０００６】
図６（ａ）、図７（ａ）、図８（ａ）のいずれの場合でも、転送能力の低い（例えばスループットがＡ）パケット転送エンジン４５から転送されてきたセルを受信バッファ１３２に保持することなく転送能力の高い（例えばスループットが２Ａ）クロスバスイッチ３００の出力へ転送していくと、クロスバスイッチ３００は本来の転送能力を活かすことができずに、セル間に隙間が空いた転送しかできなくなる。すなわち、クロスバスイッチ３００は、スループット２Ａの転送能力があるにもかかわらず、この場合はスループットＡでセルが転送される。
【０００７】
このため、この回線の占有時間が長くなり、その他の受信バッファ１３２に転送能力の高い（例えばスループットが２Ａ）、別のパケット転送エンジン１５からのパケットが到着しても転送できない状態が長く存在し、ネットワーク転送装置全体の性能を低下させることになる。
【０００８】
また、記憶装置からバッファにデータを読み出して他装置に送信するデータ送信装置において、記憶装置から読み出していく未送信のデータが指定サイズの大きさのものになったか否かを判断する判断手段と、上記判断手段が指定サイズへの到達を判断する度に、ヘッダ情報を付加しつつ、その判断対象となった指定サイズのデータを他装置に送信する送信手段とを備えるデータ送信装置が開示されている（例えば、特許文献１参照）。
【特許文献１】特開平８−１０１８１８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
転送能力の異なるパケット転送エンジン及びスイッチを同一のネットワーク転送装置内に使用する場合、転送能力の低いパケット転送エンジンの性能によって、転送能力の高いクロスバスイッチの性能が制限される場合が発生する。ネットワーク転送装置内でパケット転送の効率化を図るには、転送能力の低いパケット転送エンジンの性能に制限されることなく、転送能力の高いパケット転送エンジン、クロスバスイッチが本来の性能を発揮できることが望まれる。
【００１０】
従来のネットワーク転送装置では、クロスバスイッチの各ポートに設けられたパケットを保持するバッファに入ってきたセルを順次転送しているため、転送能力の低いパケット転送エンジンからのパケット転送はスイッチ本来の転送能力が制限される。また、パケット転送先が転送能力の高いパケット転送エンジンの場合はこのパケット転送エンジンの能力も発揮できない。
【００１１】
特許文献１に開示されるデータ送信装置は、最終セル相当の判断がなく，あらかじめ決められたデータ総量との比較でデータ転送終了の判断がなされている。また、集中転送するデータのサイズ（処理単位サイズ）が定められたサイズになっている。特許文献１に記載のネットワークは、複数のデータ転送装置間転送を多重化して転送できることを想定しているものと考えられる。例えば、装置Ａから装置Ｂへの転送をＸ，装置Ｃから装置Ｄへの転送をＹとすると、ネットワーク上では，ＸＹＸＹＸＹのように交互に転送できることを想定していると推測される。複数のパケットが同一伝送線上で入り混じることが禁止されている上記パケット転送方式においては、特許文献１に記載の転送装置を用いて効率的なパケット転送をすることは困難である。
【００１２】
例えば、特許文献１に記載の方式は、データの送信は、記憶部からの読み出しとオーバラップするようになされることにより、データの読み出しからデータ送信完了までの時間は短縮されるが、データ送信の開始から終了までの時間は、データ転送間に隙間があくようになっている。すなわち、上述のようなパケットの最終セルが通過するまで確保した転送経路を解放しないパケット転送方式に適用してもデータの送信開始から終了までの回線占有時間は大幅に短くならない。
【００１３】
本発明は、以上の点に鑑み、転送能力の異なるパケット転送エンジン及びクロスバスイッチを同一のネットワーク転送装置内に使用する場合でも、転送能力の高いパケット転送エンジン及びクロスバスイッチの性能低下を抑え、使用効率を大きく又は最大にするためのクロスバスイッチ及びパケット転送装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明はネットワーク転送装置において、転送能力の低いパケット転送エンジンと転送能力の高いクロスバスイッチを接続した場合に、転送能力の高いクロスバスイッチの転送能力の低下を低減するバッファ制御方式として、以下の構成することができる。
【００１５】
本発明の第１の解決手段によると、
複数のセルを有するパケットの先頭セルの通過から最終セルの通過まで、第１のポートから第２のポートへの転送経路を確保するパケット転送方式におけるクロスバスイッチであって、
受信されたパケットの各セルを保持する受信バッファと、
前記受信バッファに保持されるセル又はパケットの転送を制御する受信バッファ管理部と、
受信されたパケットに含まれる出力方路情報又はパケットのヘッダ情報に基づき得られた出力方路情報に従いパケットの転送先のポートを決定し、前記受信バッファから読み出されたセル又はパケットを決定されたポートへ転送するためのスイッチと
を備え、
前記受信バッファ管理部は、
前記受信バッファへの最終セルの書き込みを検出してパケット又はセルを転送させるための信号を出力し、及び、前記受信バッファからの最終セルの読み出しを検出してパケット又はセルの転送を停止させ、
前記受信バッファへの最終セルの書き込みを検出できなくても、前記受信バッファに保持されているセル数が予め定められた閾値以上の場合に、パケット又はセルを転送させるための信号を出力し、及び、前記受信バッファからの最終セルの読み出しを検出してパケット又はセルの転送を停止させる前記クロスバスイッチが提供される。
【００１６】
本発明の第２の解決手段によると、
複数のセルを有するパケットの先頭セルの通過から最終セルの通過まで、第１のポートから第２のポートへの転送経路を確保するパケット転送方式において、自クロスバスイッチと同じ又はほぼ同じ転送能力を有する装置と、自クロスバスイッチよりも低い転送能力を有する装置とに接続されるためのクロスバスイッチであって、
自クロスバスイッチと同じ又はほぼ同じ転送能力を有する装置から受信されたパケットの各セルを保持する第１の受信バッファと、
前記第１の受信バッファに保持されるセル又はパケットの転送を制御する、前記第１の受信バッファに対応した第１の受信バッファ管理部と、
自クロスバスイッチよりも低い転送能力を有する装置から受信されたパケットの各セルを保持する第２の受信バッファと、
前記第２の受信バッファに保持されるセル又はパケットの転送を制御する、前記第１の受信バッファに対応した第２の受信バッファ管理部と、
受信されたパケットに含まれる出力方路情報又はパケットのヘッダ情報に基づき得られた出力方路情報に従いパケットの転送先のポートを決定し、前記第１及び第２の受信バッファから読み出されたセル又はパケットを決定されたポートへ転送するためのスイッチと、
前記第１及び第２の受信バッファ管理部から出力されるパケット又はセルを転送させるための信号を入力すると、セル又はパケットの転送の優先順位に従い、前記第１及び第２の受信バッファに保持されるセル又はパケットを、順次前記スイッチに送出させてセル又はパケットを転送させる調停回路と
を備え、
前記第１及び第２の受信バッファ管理部は、それぞれ、
対応する前記第１及び第２の受信バッファへの最終セルの書き込みを検出してパケット又はセルを転送させるための信号を出力し、及び、対応する前記第１及び第２の受信バッファからの最終セルの読み出しを検出してパケット又はセルの転送を停止させ、
対応する前記第１及び第２の受信バッファへの最終セルの書き込みを検出できなくても、対応する前記第１及び第２の受信バッファに保持されているセル数が、前記第１及び第２の受信バッファに対応する第１又は第２の閾値以上の場合に、パケット又はセルを転送させるための信号を出力し、及び、対応する前記第１及び第２の受信バッファからの最終セルの読み出しを検出してパケット又はセルの転送を停止させる前記クロスバスイッチが提供される。
【００１７】
本発明の第３の解決手段によると、
上記クロスバスイッチで構成されるサブクロスバスイッチを有する複数のパケット転送部と、
前記サブクロスバスイッチのいずれか及び回線に接続され、回線からのパケットを前記サブクロスバスイッチに転送し、及び、前記サブクロスバスイッチからのパケットを回線に送出するための第１のパケット転送エンジンを有する複数の回線対応部と、
上記クロスバスイッチと、装置全体を管理する装置管理処理部と、前記クロスバスイッチと前記装置管理処理部との間でパケットを転送するための第２のパケット転送エンジンとを有し、前記複数のパケット転送部と前記第２のパケット転送エンジンとのそれぞれの間でパケットを転送する装置管理部と
を備え、
前記第１のパケット転送エンジン及び前記第２のパケット転送エンジンの少なくともひとつの転送能力は、接続される前記クロスバスイッチ又は前記サブクロスバスイッチのパケット転送能力よりも低いネットワーク転送装置が提供される。
【発明の効果】
【００１８】
本発明によると、転送能力の異なるパケット転送エンジンとクロスバスイッチを同一のネットワーク装置に使用しても性能低下を低減することができる。特に、転送能力の低いパケット転送エンジンと接続されるクロスバスイッチのポートの受信バッファが、受信するパケットの最大セル数と同数のバッファ面数を持っている場合は、クロスバスイッチの転送能力を低下させることなく動作可能である。
【発明を実施するための最良の形態】
【００１９】
図１は、ネットワーク転送装置の概略図である。ネットワーク転送装置は回線対応部１０（ＮＩＦ、Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ）と、パケット転送部２０（ＰＰＵ、Ｐａｃｋｅｔ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と、装置管理部３０（ＲＭ、Ｒｏｕｔｉｎｇ  Ｍａｎａｇｅｒ）を備える。回線対応部１０はパケット転送エンジン１５（ＰＦＰ、Ｐａｃｋｅｔ  Ｆｏｒｗａｒｄｉｎｇ  Ｐｒｏｃｅｓｓｏｒ）を有する。また、パケット転送部２０は、サブクロスバスイッチ２５（Ｓｕｂ  Ｃｒｏｓｓｂａｒ  Ｓｗｉｔｃｈ）と、経路検索エンジン２６（ＲＣＴＬ、Ｒｏｕｔｉｎｇ  Ｃｏｎｔｒｏｌ  Ｐｒｏｃｅｓｓｏｒ）と、バス選択回路２７（ＢＵＳＳＥＬ、ＢＵＳ  Ｓｅｌｅｃｔｏｒ）を有する。装置管理部３０は、クロスバスイッチ３５（Ｃｒｏｓｓｂａｒ  Ｓｗｉｔｃｈ）と、パケット転送エンジン３６（ＰＦＰ）と、装置管理ＣＰＵ３７（ＲＭ−ＣＰＵ、Ｒｏｕｔｉｎｇ  Ｍａｎａｇｅｒ  ＣＰＵ）を有する。なお、ネットワーク転送装置は、現用系と予備系の装置管理部３０を備える二重化冗長構成の例である。
【００２０】
回線対応部１０は、回線からパケットを受信しパケット転送部２０へ送信する。回線対応部１０のパケット転送エンジン１５は、回線からパケットを受信するとパケットの出力方路情報を抽出し、パケット転送部２０の経路検索エンジン２６に送信する。また、パケット転送エンジン１５（第１のパケット転送エンジン）は、受信したパケットを適宜のバッファに格納する。パケット転送エンジン１５は、経路検索エンジン２６からパケットの転送先を示す出力方路情報を受け取ると、出力方路情報をバッファに格納した該当するパケットの一部とし、そのパケットをサブクロスバスイッチ２５に送信する。また、パケット転送エンジン１５は、サブクロスバスイッチ２５からパケットを受信すると、パケット内の出力方路情報に従いパケットを回線に出力する。
【００２１】
パケット転送部２０は、回線対応部１０が受信したパケットのヘッダ情報からパケットの転送先を検索し、パケットを転送先へ転送する。パケット転送部２０の経路検索エンジン２６には、例えば、宛先アドレスに対応してパケットの転送先をしめす出力方路情報が記憶されている。経路検索エンジン２６は、例えば、パケット転送エンジン１５から受け取ったパケットヘッダ中の宛先アドレスに基づき出力方路情報を検索して、パケット転送エンジン１５に出力方路情報を送る。出力方路情報としては、例えば、出力サブクロスバスイッチ、出力パケット転送エンジン、出力回線を示す適宜の識別情報を用いることができる。
【００２２】
サブクロスバスイッチ２５は、経路検索エンジン２６により指定された出力方路情報に従い、パケット転送エンジン１５から受け取った出力方路情報を含むパケットを出力方路へ転送する。また、サブクロスバスイッチ２５は、クロスバスイッチ３５から出力方路情報を含むパケットを受信し、出力方路情報に応じたパケット転送エンジン１５へ受信した出力方路情報を含むパケットを送信する。サブクロスバスイッチ２５は、内部のセレクタにより、現用系及び予備系の装置管理部３０のクロスバスイッチ３５に選択的に接続される。また、サブクロスバスイッチ２５は、異なる種類の（例えば、転送能力の異なる）パケット転送エンジンへ接続するためのポートを備え、それらのポートをパケット転送エンジンに応じて使用することにより異なるパケット転送エンジンと接続することができる。
【００２３】
バス選択回路２７は、装置管理部３０に接続されているバス（ＢＵＳ）を選択する。バス選択回路２７は、通常、現用系の装置管理部３０に接続されているバスを選択し、装置管理部３０が予備系に切り替わると予備系に接続されているバスを選択する。サブクロスバスイッチ２５、経路検索エンジン２６、回線対応部１０のパケット転送エンジン１５は、バス選択回路２７が選択したバスを介して装置管理ＣＰＵ３７とデータの送受信が可能である。
【００２４】
装置管理部３０は、現用系又は予備系としてあらかじめ設定され、ネットワーク転送装置を管理する。装置管理部３０のクロスバスイッチ３５は、パケット転送部２０のサブクロスバスイッチ２５との間でパケットを転送する。クロスバスイッチ３５は、サブクロスバスイッチ２５から出力方路情報を含むパケットを受け取ると、出力方路情報に応じたサブクロスバスイッチ２５、又はパケット転送エンジン（第２のパケット転送エンジン）３６に出力方路情報を含むパケットを転送する。また、装置管理部３０のクロスバスイッチ３５は、装置管理部３０のパケット転送エンジン３６との間でパケットを転送する。クロスバスイッチ３５は、パケット転送エンジン３６から装置管理ＣＰＵ３７が作成した、出力方路情報を含むパケットを受け取ると、出力方路情報に応じたサブクロスバスイッチ２５、又はパケット転送エンジン３６に出力方路情報を含むパケットを転送する。なお、クロスバスイッチ３５と、サブクロスバスイッチ２５は、同じ構造のクロスバスイッチ３５を用いることができる。
【００２５】
装置管理ＣＰＵ３７は、例えば、経路検索エンジン２６に対し、経路情報をクロスバスイッチ３５、サブクロスバスイッチ２５、パケット転送エンジン１５を経由して配布する。また、現用系に設定されている装置に障害が発生した場合に、予備系に切り替える系切替手順を実行する。系切替手順における信号は、バスを介して装置全体に送信される。
【００２６】
図２は、二重化構成のネットワーク転送装置の構成例を示す図である。ネットワーク転送装置は、複数の回線対応部１０又は４０と、複数のパケット転送部２０又は５０と、現用系及び予備系の装置管理部３０を備える。装置管理部３０は、一方が現用系、他方は予備系として予め設定されている。
【００２７】
回線対応部１０のパケット転送エンジン１５は、複数のパケット転送部２０のいずれかのサブクロスバスイッチ２５に収容される。ポート番号は、サブクロスバスイッチ２５の各ポートに予め割り当てられた識別番号である。例えば、ポート０は第１のパケット転送エンジン１５に接続され、接続されたパケット転送エンジン１５の識別番号は０、ポート１は第２のパケット転送エンジン１５に接続され、接続されたパケット転送エンジン１５の識別番号１となる。
【００２８】
また、通常はパケット転送エンジン１５とサブクロスバスイッチ２５の間の転送はスループットが最大となる第一モードを選択するが、パケット転送エンジン１５とサブクロスバスイッチ２５に予め設定することによって、周波数を半分としてスループットを半分とする第二モードを選択することも可能である。
【００２９】
回線対応部４０のパケット転送エンジン４５は、パケット転送エンジン１５とは転送能力の異なる低速のインターフェースを有し、例えばサブクロスバスイッチ２５のポート９に収容が可能である。図２に示す例では、パケット転送エンジン４５は、パケット転送エンジン３６と同一のインターフェースを実装している。パケット転送エンジン４５は、複数のパケット転送部５０のいずれかのサブクロスバスイッチ２５に収容される。なお、本実施の形態では、パケット転送部５０は回線対応部４０を収容するためにサブクロスバスイッチ２５のポート９を使用し、パケット転送部２０で使用しているポート０、１を未使用にする。サブクロスバスイッチ２５はパケット転送部２０に搭載されているか、パケット転送部４０に接続されているかが予め設定され、その設定に従い機能を切り替える。
【００３０】
各々のサブクロスバスイッチ２５の現用系又は予備系に対応する各ポートは、装置管理部３０内の現用系又は予備系のクロスバスイッチ３５にそれぞれ収容される。例えば、ポート４，６は０系クロスバスイッチ３５に搭載され、ポート５，７は１系クロスバスイッチ３５に収容される。
【００３１】
クロスバスイッチ３５のポート番号は予め割り当てられた識別番号である。例えば、ポート０とポート４はパケット転送部２０のサブクロスバスイッチ２５のポート４とポート６に接続される。また例えば、ポート９はパケット転送エンジン３６に接続される。パケット転送エンジン３６は、例えばパケット転送エンジン４５と同一のインターフェースを有する。すなわち、パケット転送エンジン１５及びクロスバスイッチ３５に対して低速なインタフェースを有する。
【００３２】
サブクロスバスイッチ２５は予め定められた設定に従い、現用系に接続されているポート（例えばポート４とポート６）を有効とする。また、サブクロスバスイッチ２５は、例えば装置管理部３０内の装置管理ＣＰＵ３７からの系切替信号に応答して、所定のポートを無効とし、予備系のポート（例えば、ポート５とポート７）を有効とする。これらの動作はパケット転送部２０又は５０に搭載されても同様の動作を行う。
【００３３】
図２のネットワーク転送装置では、等しい転送能力を有するクロスバスイッチ３５及びサブクロスバスイッチ２５及びパケット転送エンジン１５と、これらスイッチ３５、２５、及びパケット転送エンジン１５よりも低い転送能力のパケット転送エンジン３６及び４５を接続した構成である。図２の構成は一例であり、パケット転送部２０と５０の数の変更やパケット転送エンジンをさらに多種にすることも可能である。また、図２に示す例では、転送能力の低いパケット転送エンジン３６と４５を示しているが、少なくともひとつのパケット転送エンジンまたはスイッチが他のスイッチ等よりも転送能力が低い構成とすることもできる。
【００３４】
図３は、クロスバスイッチ３５の内部構造を示す説明図である。サブクロスバスイッチ２５も同様の構成をしているが、ここではクロスバスイッチ３５として説明する。クロスバスイッチ３５は、ポート１３１と、各ポート１３１毎の受信バッファ１３２、受信バッファ管理部１３３、閾値レジスタ１３７、受信バッファ書き込み制御部１５１及び受信バッファ読み出し制御部１５２と、調停回路１３４と、スイッチ１３５とを有する。
【００３５】
サブクロスバスイッチ２５あるいはパケット転送エンジン３６からポート１３１を介して受信したパケットは、各ポート１３１に対応して設けられた受信バッファ１３２にパケットの構成単位であるセル単位で一旦保持される。なお、このパケットを入出力するためのポートは例えば９ポート存在し、以後の説明では必要に応じて［０］〜［７］及び［９］の番号を付すものとする。
【００３６】
受信バッファ書き込み制御部１５１は、入出力ポート１３１から送られてきたセルを受信バッファ１３２に書き込むとともに、受信バッファ管理部１３３へセルを受信バッファ１３２に１つ書き込んだことを示すセル書き込み信号１５３を発行（出力）する。また受信バッファに書き込んだセルの種別を判定し、セルが最終セルである場合にはセル書き込み信号と共に、最終セル書き込み信号１５４を発行する。
【００３７】
受信バッファ読み出し制御部１５２は、受信バッファ管理部１３３より調停参加指示信号１５７を受け取ることにより、調停回路１３４に対して調停参加信号を発行する。また、受信バッファ１３２からセルを読み出してスイッチ１３５へセルを送出した際に、セル読み出し信号１５５を発行し、送出したセル種別が最終セルの場合には、最終セル読み出し信号１５６を発行する。なお、受信バッファ書き込み制御部１５１及び受信バッファ読み出し制御部１５２は、例えばパケット終端情報やパケットの終端にある空白ビットを検出することにより最終セルを判別することができる。最終セルの判断は、これ以外にも適宜の方法を用いてもよい。
【００３８】
受信バッファ１３２に保持されたセルは受信バッファ管理部１３３からの指示及び調停回路１３４からの指示に従い、受信バッファ読み出し制御部１５２によって読み出され、第一セルにある出力方路情報は、調停回路１３４に転送される。調停回路１３４は、各ポート１３１から並列して入力され、及び受信バッファ読み出し制御部１５２から調停参加信号を受信したパケットについて、転送の優先順位に従って、パケット又はセルを、順次スイッチ回路１３５に送出させる機能を奏する。
【００３９】
受信バッファ管理部１３３は、受信バッファ１３２内部に保持されたセル数を管理し、受信セルバッファ１３２の状態（例えばバッファに記憶されているセル数）と閾値レジスタ１３７の値に従い、調停参加指示信号１５７を生成する。また、受信バッファ管理部１３３は、受信バッファ１３２内部に保持された最終セル数を管理し、最終セル数に従い、調停参加指示信号１５７を生成する。生成された調停参加指示信号１５７は、例えば受信バッファ読み出し制御部１５２に出力される。なお、受信バッファ１３２の詳細な構成及び調停参加指示の決定方法については後述する。
【００４０】
閾値レジスタ１３７は、外部から入力される閾値を記憶するプログラマブルな不揮発メモリである。例えば、ポート１３１［０］〜１３１［７］に対応する閾値レジスタ１３７［０］〜１３７［７］には１を設定し、ポート１３１［９］に対応する閾値レジスタ１３７［９］には受信バッファ１３２の格納可能な最大面数を設定することができる。なお、閾値レジスタに設定する値はこれ以外にも適宜の値を設定することができる。例えば、閾値レジスタ１３７［９］には、種々の機能（バックプレッシャーなど）を考慮して、最大面数よりもいくらか小さい値としてもよい。
【００４１】
また、通常はパケット転送エンジン１５とサブクロスバスイッチ２５の間の転送はスループットが最大となる第一モードを選択するが、周波数を半分としてスループットを半分とする第二モードをパケット転送エンジン１５とサブクロスバスイッチ２５の対応するポートに設定した場合にも、サブクロスバスイッチ２５の対応するポートの閾値レジスタ１３７に例えば受信バッファ１３２の格納可能な最大面数を設定する。
【００４２】
スイッチ回路１３５はセルヘッダ情報（出力方路情報）に従って、パケットの転送先を切り替え、指定されたポートに対応した送信バッファ１３６にパケットを出力する。送信バッファ１３６はこのパケットをポート１３１から出力する。なお、説明の便宜上、図中には受信側と送信側にそれぞれポート１３１を示したが、両者はクロスバスイッチ３５の回路上は同一のものである。
【００４３】
また、本実施の形態ではポート１３１［０］〜１３１［７］（第１のポート）とポート１３１［９］（第２のポート）は、転送能力の異なるインターフェースを持っている。例えば、クロスバスイッチ３５のポート１３１［０］〜１３１［７］はサブクロスバスイッチのポート１３１［０］〜１３１［７］と接続可能であり、クロスバスイッチのポート１３１［９］はパケット転送エンジン１５より低速なパケット転送エンジン３６と接続が可能である。
【００４４】
同様に、サブクロスバスイッチ２５のポート１３１［０］〜１３１［７］はクロスバスイッチのポート１３１［０］〜１３１［７］、又は、サブクロスバスイッチ２５と同速度のパケット転送エンジン１５と接続可能であり、サブクロスバスイッチのポート１３１［９］はパケット転送エンジン１５より低速なパケット転送エンジン４５と接続が可能である。
【００４５】
図４は、受信バッファ管理部１３３の構造を示す説明図である。
受信バッファ管理部１３３は、セルカウンタ１４０と、第一比較器１４１と、転送フラグ１４２と、最終セルカウンタ１４３と、第二比較器１４４と、ＯＲ回路１４５とを有する。
【００４６】
セルカウンタ１４０は、対応する受信バッファ１３２に格納されているセル数をカウントするカウンタである。例えば、対応する受信バッファ１３２にセルが書き込まれることに基づいて受信バッファ書き込み制御部１５１が送信するセル書き込み信号１５３を受信することにより例えば＋１され、受信バッファ１３２からセルが読み出されることに基づいて受信バッファ読み出し制御部１５２が送信するセル読み出し信号１５５を受信することより例えば−１される。
【００４７】
第一比較器１４１は、セルカウンタ１４０の出力（Ａ）と閾値レジスタ１３７の値（Ｂ）を比較する比較器である。セルカウンタ１４０の出力が閾値レジスタ１３７の値と等しいか、それ以上の場合に転送フラグ１４２をセットする。
【００４８】
転送フラグ１４２は、セル読み出しを行うかどうかを示すフラグであり、受信バッファ１３２に閾値レジスタ１３７の値以上にセルが格納されていた場合に、調停参加指示を出力し、最終セルまでセルを転送するための制御を行うためのフラグである。転送フラグ１４２は、第一比較器１４１からの信号でセットされ、受信バッファ読み出し制御部１５２からの最終セルの読み出し信号１５６によって、リセットされる。
【００４９】
最終セルカウンタ１４３は、対応する受信バッファ１３２に格納されている最終セルの数をカウントするカウンタである。受信バッファ１３２に最終セルが書き込まれることに基づいて受信バッファ書き込み制御部１５１が送信する最終セル書き込み信号１５４を受信することにより例えば＋１され、受信バッファ１３２から最終セルが読み出されることに基づいて受信バッファ読み出し制御部１５２が送信する最終セル読み出し信号１５６を受信することにより例えば−１される。
【００５０】
第二比較器１４４は、最終セルカウンタ１４３の出力（Ｃ）が、予め設定された所定値Ｄ（例えば１）以上、すなわち最終セルが受信バッファ１３２に１つ以上格納されている場合に調停参加指示を出力させる。最終セルが受信バッファ１３２に１つ以上格納されている場合は１パケット分のセルが受信バッファ１３２に格納されたことを示すため、パケットの転送を開始可能であることを表している。なお、最終セルカウンタ１４３及び第二比較器１４４は、カウンタ及び比較器に限らず、最終セルの有無を判別するための適宜の構成（最終セル判別手段）とすることができる。
【００５１】
ＯＲ回路１４５は、転送フラグがセットされている、あるいは第二比較器１４４の出力が受信バッファ１３２に最終セルが１つ以上格納されていることを示す場合に調停参加指示を出力するための回路である。調停参加指示が調停回路１３４に出力されると、転送の優先順位に従って受信バッファ１３２に格納されているセルが、受信バッファ読み出し制御部１５２により順次読み出され、最終セルを転送するまで回線を占有してスイッチ回路１３５を介して転送される。
【００５２】
なお、図４は、受信バッファ管理部１３３の回路構成例であるが、これ以外の回路構成としてもよいし、同様の機能をソフトウェアで実現してもよい。
【００５３】
（動作例）
図６（ｂ）は、従来例を示す図６（ａ）に対して、受信バッファ１３２の保持可能なセル数以下のパケットが入力されたときの本実施の形態のクロスバスイッチの動作例を示す図である。受信バッファ１３２にパケット２００の最終セルが保持されたことを受信バッファ管理部１３３が検出することにより、パケット転送を開始する。この制御により図６（ａ）の送信パケット２５０のようにパケット間に隙間を空けることなく、図６（ｂ）の送信パケット２５１のように回線占有時間を短縮することができる。すなわち、クロスバスイッチ３５は、自らの転送能力を最大限に発揮することができ、回線占有時間が短くなることにより他のポートに入力されるパケットの待ち時間も短くなる。
【００５４】
なお、図中、受信パケット２００の１はパケットの１番目のセル、２は２番目のセル、以下数字は何番目のセルであるかを示している。最終セルのみはＥで示している。以下のパケット２５０、２５１、２１０、２６０、２６１、２２０、２７０、２７１も同様である。
【００５５】
図７（ｂ）は、従来例を示す図７（ａ）に対して、受信バッファ１３２の保持可能なセル数以上のパケットが入力されたときの本実施の形態のクロスバスイッチの動作である。受信バッファ１３２に受信パケット２１０のセルが閾値レジスタ１３７の値以上保持されたことを受信バッファ管理部１３３が検出することにより、パケット転送を開始する。この制御により図７（ａ）の送信パケット２６０のようにパケット間に隙間を空けることなく、図７（ｂ）の送信パケット２６１のように回線占有時間を短縮することができる。
【００５６】
図７（ｂ）では閾値レジスタ１３７の保持する値は受信バッファ１３２の保持可能なセル数と同じ値に設定した例である。また、送信パケット２６１のように隙間なくパケットが転送される場合のパケットの最大セル数（Ｎ）は、パケット転送エンジンのスループットＡとクロスバスイッチのスループットＢ（Ｂ＞Ａ）と受信バッファの面数から算出可能である。例えば、
Ｎ＝Ｍ（１＋（Ａ／Ｂ）＋（Ａ／Ｂ）２＋（Ａ／Ｂ）３＋・・・・）
と表現することができる。Ｍ＝８、Ｂ＝２Ａの場合、Ｎは、約１６となるが、実際にはＮ、Ｍが整数であることからＮ＝１５となる。
【００５７】
図８（ｂ）は、従来例を示す図８（ａ）に対して、受信バッファ１３２の保持可能なセル数以上のパケットで上記Ｎ以上のセル数のパケットが入力されたときの本実施の形態のクロスバスイッチの動作例を示す図である。受信バッファ１３２に受信パケット２２０のセルが閾値レジスタ１３７の値以上保持されたことを受信バッファ管理部１３３が検出することにより、パケット転送を開始する。この制御により図８（ｂ）の送信パケット２７１ではＮ個までのセルはパケット間に隙間を空けることなく転送し、Ｎ＋１個目のセル以降は従来の送信パケット２７０と同様の隙間をつくり転送する。従来の送信パケット２７０に比較して、本実施の形態の送信パケット２７１のほうが回線占有時間を短縮することができる。
【００５８】
なお、上述は図６〜８は、クロスバスイッチ３５として説明したが、サブクロスバスイッチ２５も同様である。
【産業上の利用可能性】
【００５９】
パケット転送を行う通信装置に関する産業に利用可能である。
【図面の簡単な説明】
【００６０】
【図１】ネットワーク転送装置の概略図。
【図２】異なる回線対応部を収容したネットワーク転送装置の構成例を示す図。
【図３】クロスバスイッチ３５の内部構造を示す説明図。
【図４】受信バッファ管理部１３３の内部構造を示す説明図。
【図５】クロスバスイッチのモデル。
【図６】クロスバスイッチの動作例（１）を示す図。
【図７】クロスバスイッチの動作例（２）を示す図。
【図８】クロスバスイッチの動作例（３）を示す図。
【符号の説明】
【００６１】
１０  回線対応部（１）
１５  パケット転送エンジン（１）
２０  パケット転送部（１）
２５  サブクロスバスイッチ
２６  経路検索エンジン
２７  バス選択回路
３０  装置管理部
３５  クロスバスイッチ
３６  パケット転送エンジン（３）
３７  装置管理ＣＰＵ
４０  回線対応部（２）
４５  パケット転送エンジン（２）
５０  パケット転送部（２）
１３１  入出力ポート
１３２  受信バッファ
１３３  受信バッファ管理部
１３４  調停回路
１３５  スイッチ
１３６  送信バッファ
１３７  閾値レジスタ
１４０  セルカウンタ
１４１  第一比較器
１４２  転送フラグ
１４３  最終セルカウンタ
１４４  第二比較器
１４５  ＯＲ回路
１５１  受信バッファ書き込み制御部
１５２  受信バッファ読み出し制御部
１５３  セル書き込み信号
１５４  最終セル書き込み信号
１５５  セル読み出し信号
１５６  最終セル読み出し信号
１５７  調停参加指示信号
１５８  閾値
２００、２１０、２２０  受信パケット
２５０、２５１、２６０、２６１、２７０、２７１  送信パケット
【図１】
2005252953.tif 000003
【図２】
2005252953.tif 000004
【図３】
2005252953.tif 000005
【図４】
2005252953.tif 000006
【図５】
2005252953.tif 000007
【図６】
2005252953.tif 000008
【図７】
2005252953.tif 000009
【図８】
2005252953.tif 000010