(57)【要約】【課題】ネットワーク中継装置におけるマルチキャスト転送において、パケット送信部で輻輳が発生するとパケット受信部で宛先に輻輳が発生している送信部を含むパケットを止めることになり、他のパケットにまで遅延の影響が出てしまう。【解決手段】本発明では入力部に廃棄閾値書換え回路を備え、パケットのスイッチングを行なうクロスバースイッチから受け取った輻輳情報をもとに、宛先に輻輳が起きている出力部を含むパケットの廃棄閾値を小さく書き換える。廃棄閾値を小さくすると該当のパケットを廃棄されやすくなり、他のパケットに及ぼす遅延の影響を小さくすることができる。【選択図】図４
2012244348.tif 000002
【特許請求の範囲】
【請求項１】
パケットの転送を行なう複数のパケット転送部と、パケットのスイッチングを行なうクロスバースイッチ部と、前記パケット転送部とパケットを送受信し、前記クロスバースイッチの入出力を制御する複数のスイッチを有するネットワーク中継装置において、
前記クロスバースイッチは、検出した輻輳情報を前記スイッチに送信し、
輻輳情報を受信したスイッチは、スイッチヘッダの廃棄閾値を書き換えることを特徴とするネットワーク中継装置。
【請求項２】
請求項１に記載のネットワーク中継装置であって、
前記クロスバースイッチは、前記輻輳情報をＣＰＵ線を用いて、前記スイッチに送信することを特徴とするネットワーク中継装置。
【請求項３】
パケットの転送を行なう複数のパケット転送部と、パケットのスイッチングを行なうクロスバースイッチ部と、前記パケット転送部とパケットを送受信し、前記クロスバースイッチの入出力を制御する複数のスイッチを有するネットワーク中継装置において、
前記クロスバースイッチは、検出した輻輳情報をスイッチヘッダに書き込んで前記スイッチに送信し、
輻輳情報を受信したスイッチは、スイッチヘッダの廃棄閾値を書き換えることを特徴とするネットワーク中継装置。
【請求項４】
請求項１または請求項３に記載のネットワーク中継装置であって、
前記スイッチは、送信キューと、廃棄判定部とを備え、
前記廃棄判定部は、前記送信キューのキュー長と、前記廃棄閾値とを比較し、受信したパケットの廃棄閾値が前記キュー長以下のとき、前記受信したパケットを廃棄することを特徴とするネットワーク中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク中継装置に係り、特に輻輳を制御してデータ転送を行なうネットワーク中継装置に関する。
【背景技術】
【０００２】
近年の情報通信ネットワークでは情報の通信量が急増していることから、ネットワーク中継装置においても高速かつ大容量のデータ処理が求められている。特に１つの地点からの情報を複数の地点へ転送するマルチキャスト転送は、ネットワーク中継装置内部では、１つの回線から入力されたデータを複数の回線に複製して出力する。このため、複製によってさらに増大した大量のデータを高効率で処理を行なう必要がある。
【０００３】
特許文献１は、マルチキャストパケットに許容される入力レートを低下させることなく、処理の負荷を低減することができるパケットスイッチを開示する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−２０８９３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は複数の送受信部を備えるパケット転送装置において、一つの受信部で受信したパケットを一つまたは複数の送信部へ転送するパケット転送のスイッチングを行なう際に、送信部の輻輳状況に応じて受信部の転送制御を行なう技術であり、特にマルチキャスト転送に有効な技術である。
【０００６】
図３のパケット転送装置において、あるパケット転送部５０から転送されるパケットをサブクロスバースイッチ（ＳＳＷ）６０からクロスバースイッチ（ＣＳＷ）７０を介して別のＳＳＷ６０へスイッチングを行なう際、一つのＳＳＷ６０にパケットが集中するとＳＳＷ６０の通信容量を超えてパケット転送が遅延する輻輳が発生する。特に、ＣＳＷ７０が一つのパケットを複数のＳＳＷ６０にコピーして転送するマルチキャスト転送は、輻輳が発生しやすい。
【０００７】
図１を参照して、輻輳に対処するための従来方法を説明する。図１において、パケット転送装置９００は、パケット転送受信部５０（Ｉ）と、サブクロスバースイッチ受信部６０（Ｉ）と、クロスバースイッチ７０と、サブクロスバースイッチ送信部６０（Ｅ）と、パケット転送送信部５０（Ｅ）とから構成される。なお、パケット転送受信部５０（Ｉ）と、サブクロスバースイッチ受信部６０（Ｉ）と、サブクロスバースイッチ送信部６０（Ｅ）と、パケット転送送信部５０（Ｅ）とは、それぞれｎ台である。それぞれを区別するとき、パケット転送受信部５０（Ｉｎ）（ｎ＝０〜ｎ−１）と記載する。
【０００８】
ＳＳＷ受信部６０（Ｉ）は、マルチキャスト用ＳＳＷ送信キュー９０と、スケジューラ１３０とを含む。ＣＳＷ７０は、スイッチング部２００と、ＣＳＷ送信キュー１１０と、輻輳監視回路１２０と、輻輳情報書換え回路１４０と、輻輳情報生成回路１００とを含む。ここで、ＣＳＷ送信キュー１１０と、輻輳監視回路１２０と、輻輳情報書換え回路１４０とは、それぞれｎ台である。ＳＳＷ送信部６０（Ｅ）は、ヘッダ解析回路１５０を含む。
【０００９】
パケット転送装置９００におけるスイッチングでは、輻輳が起こっているＳＳＷ送信部６０（Ｅ）宛のパケットはＳＳＷ受信部６０（Ｉ）で待機させ、輻輳が解消されるまで待つ。図１において、スイッチングを行なうＣＳＷ７０にある輻輳監視回路１２０は、担当のＣＳＷ送信キュー１１０で輻輳が起きたことがわかると輻輳情報生成回路１００へ輻輳情報を通知する。ＣＳＷ送信キュー１１０が輻輳しているということは、いずれかのＳＳＷ送信部６０（Ｅ）が輻輳しているということである。このため、輻輳情報生成回路１００は、輻輳が起きているＳＳＷ送信部６０（Ｅ）を表す輻輳情報を生成し、ＳＳＷ送信部６０（Ｅ）ごとに存在する輻輳情報書換え回路１４０へ送る。
【００１０】
輻輳情報書換え回路１４０は、ＳＳＷ送信部６０（Ｅ）へ送信するスイッチヘッダの輻輳情報を書き込むフィールドを更新する。一定時間送信するパケットがない場合、輻輳情報書換え回路１４０は、ダミーパケットを生成しヘッダに輻輳情報を書き込んでＳＳＷ送信部６０（Ｅ）へ送信する。ＳＳＷ送信部６０（Ｅ）のヘッダ解析回路１５０（Ｅ）は、スイッチヘッダから輻輳情報を読出し、ＳＳＷ受信部６０（Ｉ）へ送信する。
【００１１】
ＳＳＷ受信部６０（Ｉ）にはＣＳＷ７０へ転送するパケットを一時的に書き込むＳＳＷ送信キュー９０があり、スケジューラ１３０によって管理されている。スケジューラ１３０は、輻輳情報を受け取ると、輻輳が起こっているＳＳＷ送信部６０（Ｅ）を宛先に含むパケットがＳＳＷ送信キュー９０の先頭にきた場合は、そのパケットをＣＳＷ７０へ送信しないようにスケジューリングを行ない、輻輳が解消されるのを待つ。しかし、この方式では図２に示すような問題がある。
【００１２】
図２のように、ＳＳＷ送信部６０（Ｅ１）で輻輳が発生しているとする。ＳＳＷ受信部６０（Ｉ０）では、ＳＳＷ送信キュー９０の先頭のパケット”１”の宛先がＳＳＷ送信部６０（Ｅ０）およびＳＳＷ送信部６０（Ｅ１）であるため、パケット”１”を待機させる。すると、ＳＳＷ送信キュー９０に保持されているパケットが全て待機状態になる。このため、宛先がＳＳＷ送信部６０（Ｅ２）およびＳＳＷ送信部６０（Ｅ３）であるパケット”２”についても、遅延が発生してしまう。つまり、従来方法では輻輳が発生していないＳＳＷ送信部宛のみのパケットまで遅延を起こしてしまうという問題がある。
【００１３】
その課題は、ユニキャスト転送は、ＳＳＷ受信部６０（Ｉ）の送信キューを宛先ごとに分けることで解決できる。しかし、マルチキャスト転送は、宛先が複数存在するため、宛先ごとにキューを分けることができない。この理由から、一般的にマルチキャストパケットは、宛先に関わらず１つのキュー９０を使用している。
【００１４】
パケット転送装置におけるマルチキャスト転送において、ＳＳＷ送信部で輻輳が発生するとＳＳＷ受信部で宛先に輻輳が発生している送信部を含むパケットを止めることになり、他のパケット転送にまで遅延の影響が出てしまう。
【課題を解決するための手段】
【００１５】
本発明ではマルチキャスト転送において輻輳が起きているＳＳＷ出力ポート宛を含むパケットの廃棄閾値を下げることにより、パケットを廃棄されやすくする。その結果、輻輳していない宛先のみのマルチキャストパケットが転送されやすくなる。廃棄閾値とは、パケット転送部において付加されるスイッチヘッダについており、ＳＳＷ受信部において送信キューのキュー長が廃棄閾値より小さい場合にはバッファに送信し、送信キューのキュー長が廃棄閾値より大きい場合にはそのパケットを廃棄するという値である。キュー長とはキュー内の在留パケット数である。つまり、廃棄閾値を小さくするということは、キューに送信されずに廃棄される確率が高くなるということである。
【００１６】
上述した課題は、パケットの転送を行なう複数のパケット転送部と、パケットのスイッチングを行なうクロスバースイッチ部と、パケット転送部とパケットを送受信し、クロスバースイッチの入出力を制御する複数のスイッチを有するネットワーク中継装置において、クロスバースイッチは、検出した輻輳情報をスイッチに送信し、輻輳情報を受信したスイッチは、スイッチヘッダの廃棄閾値を書き換えるネットワーク中継装置により、達成できる。
【００１７】
また、パケットの転送を行なう複数のパケット転送部と、パケットのスイッチングを行なうクロスバースイッチ部と、パケット転送部とパケットを送受信し、クロスバースイッチの入出力を制御する複数のスイッチを有するネットワーク中継装置において、クロスバースイッチは、検出した輻輳情報をスイッチヘッダに書き込んでスイッチに送信し、輻輳情報を受信したスイッチは、スイッチヘッダの廃棄閾値を書き換えるネットワーク中継装置により、達成できる。
【発明の効果】
【００１８】
マルチキャスト転送において、輻輳が起きている出力ポート宛を含むパケットの廃棄閾値を下げ、パケットが破棄されやすくする。それによって、輻輳が起きているポートを含まないパケットの遅延の影響を小さくすることができる。
【図面の簡単な説明】
【００１９】
【図１】従来のパケット転送装置のブロック図である。
【図２】輻輳を説明するパケット転送装置主要部のブロック図である。
【図３】ネットワーク中継装置のブロック図である。
【図４】ネットワーク中継装置の詳細ブロック図である。
【図５】輻輳監視回路のブロック図である。
【図６】輻輳情報のシリアル転送を説明する図である。
【図７】パケットのヘッダフォーマットを説明する図である。
【図８】廃棄閾値書換え回路と廃棄判定回路のブロック図である。
【図９】パケット廃棄のフローを説明する図である。
【図１０】ＳＳＷの処理を説明するフローチャートである。
【図１１】ネットワーク中継装置の処理を説明するフローチャートである。
【図１２】他のネットワーク中継装置の詳細ブロック図である。
【図１３】さらに他のネットワーク中継装置の詳細ブロック図である。
【図１４】パケットの他のヘッダフォーマットを説明する図である。
【図１５】他のネットワーク中継装置の処理を説明するフローチャートである。
【図１６】他のネットワーク中継装置のブロック図である。
【発明を実施するための形態】
【００２０】
以下、本発明の実施の形態について、実施例を用い図面を参照しながら詳細に説明する。なお、実質同一部位には同じ参照番号を振り、説明は繰り返さない。
【実施例１】
【００２１】
図３を参照して、ネットワーク中継装置の構成を説明する。図３において、ネットワーク中継装置１００は、ｎ式の回線２０と、ｎ台のパケット転送ユニット３０と、スイッチングユニット４０と、ＣＰＵ１０とで構成される。パケット転送ユニット３０は、パケット転送部５０と、ＳＳＷ６０とを有する。スイッチングユニット４０は、ＣＳＷ７０を含む。
【００２２】
パケット転送部５０は、回線２０から受信したパケットにスイッチヘッダを付加および削除する。ＳＳＷ６０は、廃棄閾値を参照してパケットの廃棄を行なう。スイッチヘッダにはスイッチング情報と廃棄閾値が含まれる。ＣＳＷ７０は、パケットのスイッチヘッダのスイッチング情報を元にスイッチングを行なう。ＣＰＵ１０は、全てのパケット転送ユニット３０とスイッチングユニット４０を監視制御する。ＣＰＵ１０は、ＣＰＵバス１７０を介してパケット転送ユニット３０とスイッチングユニット４０と接続されている。ＳＳＷ６０とＣＳＷ７０は、データパス１８０および輻輳通知専用線１９０を介して接続されている。
【００２３】
図４を参照して、ネットワーク中継装置の詳細を説明する。図４において、ネットワーク中継装置１０００は、パケット転送受信部５０（Ｉ）と、ＳＳＷ受信部６０Ａ（Ｉ）と、ＣＳＷ７０と、ＳＳＷ送信部６０（Ｅ）と、パケット転送送信部５０（Ｅ）とから構成されている。パケット転送受信部５０（Ｉ）、ＳＳＷ受信部６０Ａ（Ｉ）、ＳＳＷ送信部６０（Ｅ）、パケット転送送信部５０（Ｅ）は、それぞれｎ台で構成されている。パケット転送受信部５０（Ｉ）とパケット転送送信部５０（Ｅ）を合わせるとパケット転送部５０に相当する。また、ＳＳＷ受信部６０Ａ（Ｉ）とＳＳＷ送信部６０（Ｅ）を合わせるとＳＳＷ６０に相当する。ＳＳＷ受信部６０Ａ（Ｉ）は、廃棄閾値書換え回路８０と、廃棄判定回路１６０と、マルチキャスト用ＳＳＷ送信キュー９０とを含む。ＣＳＷ７０は、スイッチング部２００と、ＣＳＷ送信キュー１１０と、輻輳監視回路１２０と、輻輳情報生成回路１００とを含む。ＣＳＷ送信キュー１１０、輻輳監視回路１２０は、それぞれｎ台で構成されている。
【００２４】
パケット転送受信部５０（Ｉ）は、パケットにパケットの解析結果や装置の状態から生成したスイッチヘッダを付加する。廃棄閾値書換え回路８０は、スイッチヘッダの廃棄閾値フィールドを書き換える。ＳＳＷ送信キュー９０は、ＣＳＷ７０へ送信するパケットを一時的に保存する。廃棄判定回路１６０は、スイッチヘッダの廃棄閾値フィールドとＳＳＷ送信キュー９０のキュー長を比較してパケットをＳＳＷ送信キュー９０へ送るか廃棄するかを決定する。スイッチング部２００は、スイッチヘッダのスイッチング情報を参照して出力先を決定し、パケットをスイッチングする。ＣＳＷ送信キュー１１０は、ＳＳＷ送信部へ送信するパケットを一時的に保存する。輻輳監視回路１２０は、ＣＳＷ送信キューを監視する。輻輳情報生成回路１００は、輻輳監視回路１２０から送られた情報を基に輻輳情報を生成する。ＳＳＷ送信部６０（Ｅ）は、パケットのスイッチヘッダを解析し、パケット転送部へ送信するかどうかを決定する。パケット転送受信部５０（Ｅ）は、パケットのスイッチヘッダを削除する。また、ＳＳＷ受信部６０（Ｉ）とＣＳＷ７０の間に輻輳情報を通知するために輻輳通知専用線１９０を設ける。
【００２５】
図５を参照して、輻輳検出を説明する。図５において、ＣＳＷ７０の輻輳監視装置１２０は、キュー長レジスタ１２１と、輻輳基準値レジスタ１２２と、大小比較器１２３とで構成されている。キュー長レジスタ１２１は、キュー長を管理する。輻輳基準値レジスタ１２２は、輻輳発生と判断するための基準値を管理する。
【００２６】
輻輳監視装置１２０は、ＣＳＷ送信キュー１１０のキュー長を監視しており、キュー長レジスタ１２１に記憶している。キュー長レジスタ１２１と輻輳基準値レジスタ１２２を比較し、キュー長レジスタ１２１のほうが大きい場合に転送先のＳＳＷ送信部６０（Ｅ）で輻輳発生と判断し、各ＣＳＷ送信キューに対応する複数の輻輳情報生成回路１００へ輻輳情報を通知する。
【００２７】
輻輳情報生成回路１００は、輻輳監視回路１２０の情報を元に輻輳情報を生成し、輻輳通知専用線１９０で全てのＳＳＷ受信部６０（Ｉ）の廃棄閾値書換え回路８０へ輻輳情報を転送する。輻輳情報は、輻輳しているＳＳＷ送信部６０（Ｅ）を表すビットマップで表現する。
【００２８】
図６を参照して、輻輳情報ビットマップのシリアル信号転送を説明する。図６において、輻輳情報生成回路１００は、各送信キュー１１０の輻輳情報を記憶しているビットマップテーブルを有する。輻輳情報生成回路１００は、テーブル情報をマルチプレクサ１０１により順に選択して廃棄閾値書換え回路８０に転送する。廃棄閾値書換え回路８０は、デマルチプレクサ１０２により輻輳情報をビットマップテーブルで再現する。これにより輻輳情報をシリアル信号で転送することができる。
【００２９】
ここでは輻輳情報をビットマップとして生成し、シリアル信号として送受信しているが、輻輳情報は輻輳が起こっているＳＳＷの番号で表してもよい。また、輻輳通知専用線を複数本設けてパラレル信号で転送してもよい。
【００３０】
輻輳情報を受け取ったＳＳＷ受信部６０（Ｉ）の廃棄閾値書換え回路８０は、パケットのスイッチヘッダの宛先と輻輳情報を比較する。スイッチヘッダの宛先が輻輳しているＳＳＷ送信部６０（Ｅ）を含んでいる場合、廃棄閾値書換え回路８０は、パケットのスイッチヘッダの廃棄閾値フィールドの値を下げる。一方、含まない場合、廃棄閾値書換え回路８０は、そのまま廃棄判定回路へパケットを送信する。
【００３１】
図７を参照して、廃棄閾値と宛先ＳＳＷの情報を含んだスイッチヘッダを説明する。図７において、パケットは、ヘッダ６０８と、データ６０９とで構成されている。ヘッダ６０８には、廃棄閾値６１０と、宛先ビットマップ６１１とを含む。
【００３２】
廃棄閾値フィールド６１０は、２ビットである。２ビットで０〜３の４レベルを表すことができ、０に近いほど廃棄されやすく、３に近いほど廃棄されにくい。また、宛先ビットマップを８個のＳＳＷ分の８ビットで表している。宛先ビットマップは宛先ＳＳＷに対応するビットを１と表現している。宛先ビットマップ６００で示される場合はＳＳＷ＃７宛のユニキャストパケットである。宛先ビットマップ６０１の場合はＳＳＷ＃１および＃５宛のマルチキャストパケット、宛先ビットマップ６０２の場合はＳＳＷ＃４および＃５および＃６および＃７宛のマルチキャストパケット、宛先ビットマップ６０３の場合はＳＳＷ＃３宛のユニキャストパケットとなる。
【００３３】
図４に戻って、廃棄判定回路１６０は、パケットのスイッチングヘッダの廃棄閾値を読み取り、ＳＳＷ送信キューのキュー長と比較する。廃棄閾値よりキュー長が小さい場合、廃棄判定回路１６０は、パケットをＳＳＷ送信キューに送信する。一方、廃棄閾値よりキュー長が大きい場合、廃棄判定回路１６０は、パケットをＳＳＷ送信キューに送信せずに廃棄する。
【００３４】
図８を参照して、輻輳閾値の書換えおよびパケット廃棄を説明する。図８において、廃棄閾値書換え回路８０は、レジスタ８０２と、比較器８０３と、減算器８０４とで構成される。レジスタ８０２は、輻輳情報ビットマップを格納する。比較器８０３は、輻輳情報ビットマップと宛先ビットマップを比較する。減算器８０４は、廃棄閾値の値を小さくする。
【００３５】
比較器８０３は、スイッチヘッダの宛先ビットマップ８０１と輻輳情報ビットマップ８０２を比較する。宛先に輻輳が起きているＳＳＷを含むとき、減算器８０４は、廃棄閾値８００から１だけ減算して廃棄閾値８０５に書換える。宛先に輻輳が起きているＳＳＷを含まないとき、減算器８０４は、廃棄閾値８００をそのまま廃棄閾値８０５とする。
【００３６】
廃棄閾値判定回路１６０は、比較器８０７と、判定器８０８とで構成される。比較器８０７は、廃棄閾値とキュー長を比較する。判定器８０８は、廃棄を判断する。
【００３７】
比較器８０７は、書換え後の廃棄閾値８０５とＳＳＷ送信キュー９０のキュー長８０６を比較する。キュー長８０６が廃棄閾値８０５より小さいとき、判定器８０８は、パケットをＳＳＷ送信キュー９０へ送信する。一方、キュー長８０６が廃棄閾値８０５より大きいとき、判定器８０８は、パケットを廃棄する。
【００３８】
図９を参照して、廃棄閾値書換えおよび廃棄のフローを説明する。図９において、輻輳が起こっているＳＳＷのフィールドが１となるような輻輳情報ビットマップ７００を用いている。輻輳情報ビットマップ７００よりＳＳＷ＃１で輻輳が発生していることが判明した場合、廃棄閾値書換え回路８０は、スイッチヘッダの宛先ビットマップ７０１からＳＳＷ＃１宛を含むかどうかを判定する。含む場合、廃棄閾値書換え回路８０は、該当のパケットの廃棄閾値７０２の値を小さく書き換える。図９ではパケット１および２が該当するので、廃棄閾値書換え回路８０は、パケット１および２の廃棄閾値の値を１だけ小さくする。
【００３９】
廃棄判定回路１６０は、ＳＳＷ送信キュー９０のキュー長７０３を常に監視している。廃棄判定回路１６０は、パケットをＳＳＷ送信キュー９０に送信するときにパケットの廃棄閾値７０２と比較する。廃棄閾値７０２がキュー長７０３より大きいパケットについて、廃棄判定回路１６０は、ＳＳＷ送信キュー９０に送信する。一方、廃棄判定回路１６０は、廃棄閾値７０２がキュー長７０３以下のパケットについては廃棄する。
【００４０】
図９では、パケット１および２について、廃棄判定回路１６０は、廃棄閾値がキュー長以下のため廃棄する。一方、廃棄判定回路１６０は、パケット０および３についてはＳＳＷ送信キューへ送信する。上述した説明では、廃棄閾値の減算は常に１だけとしたが、宛先と輻輳が起きているＳＳＷの一致している数を数えて、その一致している数の分だけ廃棄閾値を減算してもよい。
【００４１】
図１０を参照して、ＳＳＷ受信部での処理を説明する。図１０において、の流れを図１０に示す。ステップ３００において、ＳＳＷ受信部６０Ａ（Ｉ）は、入力された輻輳情報を廃棄閾値書換え回路８０へ送る。ステップ３０１において、廃棄閾値書換え回路８０は、スイッチヘッダの宛先ビットマップを参照する。ステップ３０２において、廃棄閾値書換え回路８０は、宛先に輻輳が起こっているＳＳＷの宛先を含むかどうかを判定し、含む場合はステップ３０３へ、含まない場合はステップ３０４へ進む。ステップ３０３において、廃棄閾値書換え回路８０は、廃棄閾値の値を小さく書き換えてステップ３０４へ進む。ステップ３０４において、廃棄判定回路１６０は、ＳＳＷ送信キュー９０のキュー長を参照する。ステップ３０５において、廃棄判定回路１６０は、スイッチヘッダの廃棄閾値とキュー長を比較し、キュー長が廃棄閾値より小さければステップ３０６へ進みパケットをＳＳＷ送信キューへ送信し、大きければステップ３０７へ進みパケットを廃棄して、終了する。
【００４２】
図１１を参照して、実施例１の全体の処理の流れを説明する。図１１において、ステップ４００において、ＣＳＷ７０の輻輳監視回路１２０は、ＣＳＷ送信キュー１１０のキュー長を監視しており、キュー長があらかじめ決められた基準値を超えると（ＹＥＳ）、ステップ４０１へ進み対応するＳＳＷ受信部６０（Ｉ）で輻輳が発生していると判断し、輻輳情報生成回路１００へ輻輳発生を通知する。ステップ４０２において、輻輳情報生成回路１００は、輻輳の通知を受け取るとどのＳＳＷで輻輳が起きているかを表す輻輳情報ビットマップを生成し、輻輳通知専用線１４０を用いて全てのＳＳＷ受信部６０（Ｉ）へと送信する。ステップ４０３において、輻輳情報ビットマップを受信した廃棄閾値書換え回路８０が、輻輳の起きているＳＳＷを宛先に含むパケットの廃棄閾値を小さく書き換える。ステップ４０４において、廃棄判定回路１６０は、パケットの廃棄閾値とＳＳＷ送信キュー９０のキュー長を比較し、キュー長が廃棄閾値より小さければステップ４０５へ進みパケットをＳＳＷ送信キューへ送信し、大きければステップ４０６へ進みパケットを廃棄する。
これにより、輻輳が起きているＳＳＷ宛先を含むパケットは、ＳＳＷ送信キューで廃棄されやすくなり、装置全体として輻輳による遅延の影響を小さくすることができる。
【実施例２】
【００４３】
図１２を参照して、実施例２のネットワーク中継装置１０００Ａを説明する。図１２において、ネットワーク中継装置１０００Ａの輻輳情報は、既存のＣＰＵバス１７０を使ってＳＳＷ受信部に通知される。ネットワーク中継装置１０００Ａは、パケット転送受信部５０（Ｉ）と、ＳＳＷ受信部６０Ａ（Ｉ）と、ＣＳＷ７０Ａと、ＳＳＷ送信部６０（Ｅ）と、パケット転送送信部５０（Ｅ）と、ＣＰＵ１３０とを有する。パケット転送受信部５０（Ｉ）とパケット転送送信部５０（Ｅ）を合わせるとパケット転送部５０に、ＳＳＷ受信部６０Ａ（Ｉ）とＳＳＷ送信部６０（Ｅ）を合わせるとＳＳＷ６０に相当する。パケット転送受信部５０（Ｉ）は、パケットにパケットの解析結果や装置の状態から生成したスイッチヘッダを付加する。ＳＳＷ受信部６０Ａ（Ｉ）は、スイッチヘッダの廃棄閾値フィールドを書き換える廃棄閾値書換え回路８０と、ＣＳＷへ送信するパケットを一時的に保存するＳＳＷ送信キュー９０と、スイッチヘッダの廃棄閾値フィールドとＳＳＷ送信キューのキュー長を比較してパケットをＳＳＷ送信キューへ送るか廃棄するかを決定する廃棄判定回路１６０を有する。ＣＳＷ７０Ａは、スイッチング情報を参照して出力先を決定しパケットをスイッチングするスイッチング部２００と、ＳＳＷ送信部へ送信するパケットを一時的に保存するＣＳＷ送信キュー１１０と、ＣＳＷ送信キューを監視する輻輳監視回路１２０と、輻輳監視回路１２０から送られた情報を下に輻輳情報を生成する輻輳情報生成回路１００Ａと、輻輳情報を格納するための輻輳情報格納バッファ２１０とを有する。ＳＳＷ送信部６０（Ｅ）は、パケットのスイッチヘッダを解析し、パケット転送部へ送信するかどうかを決定する。パケット転送受信部５０（Ｅ）は、パケットのスイッチヘッダを削除する。ＣＰＵ１３０は、全てのＳＳＷとＣＳＷを監視する。
【００４４】
輻輳発生を知る方法は実施例１と同じであるが、輻輳情報生成回路１００Ａは、輻輳情報を生成すると輻輳情報格納バッファ２１０にその輻輳情報を書き込む。ＣＰＵ１０は、定期的に輻輳情報格納バッファ２１０にアクセスし、書き込まれている輻輳情報を読み取り、ＣＰＵバスで各ＳＳＷ受信部へと通知する。ＳＳＷ受信部６０Ａ（Ｉ）が輻輳情報を処理する方法は、実施例１と同じである。
【実施例３】
【００４５】
図１３を参照して、実施例３のネットワーク中継装置１０００Ｂを説明する。図１３において、ネットワーク中継装置１０００Ｂは、そのＣＳＷ７０Ｂの送信キュー１１０の出力に輻輳情報書換え回路１４０を設ける。また、ＳＳＷ送信部６０Ａ（Ｅ）にヘッダ解析回路１５０を備える。
【００４６】
輻輳情報生成回路１００Ｂは、輻輳監視回路１２０から送られた情報を下に輻輳情報を生成する。輻輳情報生成回路１００Ｂは、輻輳情報をヘッダ解析回路１５０に送信する。輻輳情報書換え回路１４０は、スイッチヘッダの輻輳情報フィールドの値を書き換える。ヘッダ解析回路１５０は、パケットのスイッチヘッダを解析する。ヘッダ解析回路１５０は、輻輳情報を取り出し、パケット転送送信部５０（Ｅ）へ送信するかどうかを決定する。
【００４７】
輻輳発生を知る方法は実施例１と同じであるが、輻輳情報生成回路１００Ｂは、輻輳情報を生成するとそれぞれのＳＳＷごとに存在する輻輳情報書換え回路１４０へ送信する。各輻輳情報書換え回路１４０は、担当のＳＳＷ宛のスイッチヘッダの輻輳情報フィールドを更新する。あらかじめ設定した時間担当のＳＳＷ宛のパケットが流れない場合、輻輳情報書換え回路１４０は、ダミーパケットを生成し、スイッチヘッダの輻輳情報フィールドに輻輳情報を書き込んで転送する。パケットがＳＳＷ送信部６０Ａ（Ｅ）へ転送されると、ヘッダ解析回路１５０は、ヘッダから輻輳情報を読出しＳＳＷ受信部６０Ａ（Ｉ）へ転送する。ＳＳＷ受信部６０Ａ（Ｉ）が輻輳情報を処理する方法は実施例１と同じである。
【００４８】
ＣＳＷ７０ネットワーク中継装置１０００ＢのＣＳＷ７０からＳＳＷ送信部６０Ａ（Ｅ）へ送信されるデータのヘッダに輻輳情報のフィールドを設ける。図１４を参照して、輻輳情報のフィールドを設けたヘッダを説明する。図１４において、図７との対比から明らかなように、ヘッダ６０８に輻輳情報６１２が追加されている。また、ＣＳＷ７０のスイッチング部２００でスイッチングが行なわれた後に宛先ビットマップを使用しない場合は、輻輳情報のフィールド６１２は宛先ビットマップのフィールド６１１と共有してもよい。
【００４９】
図１５を参照して、ネットワーク中継装置１０００Ｂの輻輳によるフレーム廃棄処理を説明する。図１５において、ネットワーク中継装置１０００Ｂは、ＣＳＷ送信キューのキュー長が基準を超えているか判断する（Ｓ５０１）。ＹＥＳのとき、ネットワーク中継装置１０００Ｂは、ＣＳＷ内で輻輳発生を判断する（Ｓ５０２）。ネットワーク中継装置１０００Ｂは、輻輳情報ビットマップを作成する（Ｓ５０３）。ネットワーク中継装置１０００Ｂは、各ＳＳＷに関して送信するパケットが一定期間内にあるか判定する（Ｓ５０４）。ＹＥＳのとき、ネットワーク中継装置１０００Ｂは、輻輳情報ビットマップを送信パケットのパケットヘッダに書き込む（Ｓ５０４）。ステップ５０３でＮＯのとき、ネットワーク中継装置１０００Ｂは、ダミーパケットを生成し、輻輳情報ビットマップをダミーパケットのパケットヘッダに書き込む（Ｓ５０５）。ステップ５０４またはステップ５０５のあと、ＳＳＷ送信部６０Ａ（Ｅ）は、パケットヘッダより輻輳情報ビットマップを取り出し、ＳＳＷ受信部６０Ａ（Ｉ）へ送信する（Ｓ５０６）。ネットワーク中継装置１０００Ｂは、輻輳情報ビットマップより、輻輳が起きているＳＳＷを宛先に含むパケットヘッダの廃棄閾値を小さく書き換える（Ｓ５０７）。ネットワーク中継装置１０００Ｂは、廃棄閾値がＳＳＷ送信キューのキュー長より小さいか判定する（Ｓ５０８）。ＹＥＳのとき、ネットワーク中継装置１０００Ｂは、対象フレームをＳＳＷ送信キューへ送信して（Ｓ５０９）、終了する。ステップ５０８でＮＯのとき、ネットワーク中継装置１０００Ｂは、対象フレームを廃棄して（Ｓ５１０）、終了する。
【実施例４】
【００５０】
図１６を参照して、ＣＳＷ７０を複数個に、ＣＰＵ１０を２個に拡張したパケット転送装置１０００Ｃを説明する。図１６において、ネットワーク中継装置１０００Ｃは、複数の回線２０と複数のパケット転送ユニット３１と複数のスイッチングユニット４１と２つのＣＰＵ１０で構成される。
【００５１】
図１６のパケット転送ユニット３１は、図３のパケット転送ユニット３０に加えて、ＣＰＵバス１７０（０）またはＣＰＵバス１７０（１）のいずれかを選択するバス選択部２２０を有する。ＳＳＷ６０は、複数のＣＳＷ７０のうち、動作中の１つのＣＳＷ７０を選択してパケットデータを転送する。
【００５２】
図１６のスイッチングユニット４１は、図３のスイッチングユニット４０に加えて、ＣＰＵバス１７０（０）またはＣＰＵバス１７０（１）のいずれかを選択するバス選択部２２１を有する。
【００５３】
さらに、ＣＰＵ１００（０）とＣＰＵ１００（１）は、それぞれ２つのＣＰＵバス１７０（０）とＣＰＵバス１７０（１）を介して、それぞれの複数のパケット転送ユニット３１と複数のスイッチングユニット４１に接続されている。
【００５４】
ＣＰＵ１００（０）とＣＰＵ１００（１）は、いずれか１つが現用系として動作し、ネットワーク中継装置全体を監視、制御を行なう。他方は、現用系がなんらかの原因で動作不能となった場合に備えて予備系として動作する。
【００５５】
２つのスイッチングユニット４１は、一方を現用系としてスイッチング処理を行ない、他方は予備系として待機させる方式をとることもできる。
【００５６】
また、図１６のネットワーク中継装置１０００Ｃが、ｋ個のスイッチングユニット４１を有する場合は、ｋ−１個のスイッチングユニット４１を現用系としてスイッチング処理を行ない、１個のスイッチングユニットは、ｋ−１個のスイッチングユニット４１の予備系として待機させることもできる。
【００５７】
さらに、図１６のネットワーク中継装置が、ｋ個のスイッチングユニット４１を有する場合は、ｋ個のすべてのスイッチングユニット４１を現用系としてスイッチング処理を行ない、ｉ個のスイッチングユニット４１が動作不可能になった場合には、ｋ−ｉ個のスイッチングユニット４１で動作を継続させるなど、さまざまな動作形態をとることがきる。
【００５８】
さらに、図１６のネットワーク中継装置は、パケット転送ユニット３１がｎ個、スイッチングユニットがｋ個の場合は、ｎ×ｋ本のデータバス１８０を有し、ＳＳＷ６０（０）〜ＳＳＷ６０（ｎ−１）とＣＳＷ７０（０）〜ＣＳＷ７０（ｋ−１）を任意の組み合わせで接続してもよい。
【実施例５】
【００５９】
実施例４のネットワーク中継装置は、図１６の構成図にさらに、パケット転送ユニット３１がｎ個、スイッチングユニットがｋ個、ｎ×ｋ本の輻輳情報通知専用線１９０（図示されていない）を有し、ＳＳＷ６０（０）〜ＳＳＷ６０（ｎ−１）とＣＳＷ７０（０）〜ＣＳＷ７０（ｋ−１）を任意の組み合わせで接続する。
ＣＳＷ７０における輻輳情報の生成およびＳＳＷ６０への輻輳情報の転送方法は実施例１と同様である。
【００６０】
実施例５では複数のＣＳＷ７０からの輻輳情報が１つのＳＳＷ６０へ転送される。ＳＳＷ６０に有する輻輳情報ビットマップ８０２に輻輳情報を格納する際に、複数のＣＳＷ７０からの輻輳情報をビット毎にＯＲする、あるいは任意の演算を行なった結果を格納することによって、複数のＣＳＷ７０の輻輳情報を輻輳情報ビットマップ８０２に反映させることができる。
【００６１】
また、ＳＳＷ６０に複数の輻輳情報ビットマップ８０２を備え、それぞれを複数のＣＳＷ７０の情報を格納することも可能である。例えば、ｋ個のＣＳＷ７０（０）からＣＳＷ７０（ｋ−１）に対応して、ｋ個の輻輳情報ビットマップ８０２（０）から輻輳情報ビットマップ８０２（ｋ−１）を備える。この場合はＳＳＷ６０にさらに複数の比較器８０３（０）から比較器８０３（ｋ−１）を備え、あて先ビットマップ８０１と複数の輻輳情報ビットマップ８０２を比較し、複数の比較結果により減算器８０４での廃棄閾値の減数に反映させることも可能である。あて先ビットマップ８０１が輻輳情報ビットマップ８０２（０）のみの輻輳しているＳＳＷを含んでいた場合は、廃棄閾値（書換え後）８０５は廃棄閾値（書換え前）８００から１減じた値とし、あて先ビットマップ８０１が輻輳情報ビットマップ８０２（０）の輻輳しているＳＳＷを含んでおり、輻輳情報ビットマップ８０２（１）の輻輳しているＳＳＷも含んでいる場合には廃棄閾値（書換え後）は廃棄閾値（書換え前）から２減じた値とする、などの様々方式でとることができる。
【００６２】
実施例５の輻輳情報の転送方法を実施例２のように、ＣＰＵバス１７０を用いることも可能であり、この実施例を実施例６とする。
【実施例６】
【００６３】
実施例６では、図１６のネットワーク転送装置における複数のＣＳＷ７０から複数のＳＳＷ６０への輻輳情報の転送を実施例２と同様にＣＰＵ１０（０）およびＣＰＵバス１７０（０）または、ＣＰＵ１０（１）およびＣＰＵバス１７０（１）のどちらかを用いて転送する。
【００６４】
ＳＳＷ６０において、複数のＣＳＷ７０からの輻輳情報を用いて廃棄閾値を書き換える動作は実施例５と同様である。実施例５の輻輳情報の転送方法を実施例３のように、スイッチヘッダの輻輳情報フィールドを用いることも可能であり、この実施例を実施例６とする。
【００６５】
実施例６では、図１６のネットワーク転送装置における複数のＣＳＷ７０から複数のＳＳＷ６０への輻輳情報の転送を実施例３と同様に、スイッチヘッダの輻輳情報フィールドを用いて転送する。
【００６６】
ＳＳＷ６０において、複数のＣＳＷ７０からの輻輳情報を用いて廃棄閾値を書き換える動作は実施例５と同様である。
【符号の説明】
【００６７】
１０…ＣＰＵ、２０…回線、３０…パケット転送ユニット、３１…パケット転送ユニット、４０…スイッチングユニット、４１…スイッチングユニット、５０…パケット転送部、６０…サブクロスバースイッチ（ＳＳＷ）、７０…クロスバースイッチ（ＣＳＷ）、８０…廃棄閾値書換え回路、９０…マルチキャスト用ＳＳＷ送信キュー、１００…輻輳情報生成回路、１０１…マルチプレクサ、１０２…デマルチプレクサ、１１０…ＣＳＷ送信キュー、１２０…輻輳監視回路、１２１…キュー長レジスタ、１２２…輻輳基準値レジスタ、１２３…大小比較器、１３０…スケジューラ、１４０…輻輳情報書換え回路、１５０…ヘッダ解析回路、１６０…廃棄判定回路、１７０…ＣＰＵバス、１８０…データバス、１９０…輻輳通知専用線、２００…スイッチング部、２１０…輻輳情報格納バッファ、２２０…バス選択部、６００…宛先ビットマップ例１、６０１…宛先ビットマップ例２、６０２…宛先ビットマップ例３、６０３…宛先ビットマップ例４、６０４…輻輳情報ビットマップ例１、６０５…輻輳情報ビットマップ例１、６０６…輻輳情報ビットマップ例１、６０７…輻輳情報ビットマップ例１、６０８…スイッチヘッダ部、６０９…データ部、６１０…廃棄閾値フィールド、６１１…宛先ビットマップフィールド、６１２…輻輳情報フィールド、７００…輻輳情報ビットマップ、７０１…宛先ビットマップ、７０２…廃棄閾値、７０３…ＳＳＷ送信キューキュー長、８００…廃棄閾値（書換え前）、８０１…宛先ビットマップ、８０２…輻輳情報ビットマップ、８０３…比較器、８０４…減算器、８０５…廃棄閾値（書換え後）、８０６…ＳＳＷ送信キューキュー長、８０７…比較器、８０８…判定器、９００…パケット転送装置、１０００…ネットワーク中継装置。
【図１】
2012244348.tif 000003
【図２】
2012244348.tif 000004
【図３】
2012244348.tif 000005
【図４】
2012244348.tif 000006
【図５】
2012244348.tif 000007
【図６】
2012244348.tif 000008
【図７】
2012244348.tif 000009
【図８】
2012244348.tif 000010
【図９】
2012244348.tif 000011
【図１０】
2012244348.tif 000012
【図１１】
2012244348.tif 000013
【図１２】
2012244348.tif 000014
【図１３】
2012244348.tif 000015
【図１４】
2012244348.tif 000016
【図１５】
2012244348.tif 000017
【図１６】
2012244348.tif 000018