(57)【要約】【課題】通知されたバックプレッシャ（ＢＰ）情報を取りこぼすことなく、かつＢＰパケットの発出回数を最小限に抑制可能にする。【解決手段】通信装置は、同一構成を採り、装置内部で相互接続される物理的に分割された複数のコンポーネントを備え、装置外部の宛先に送出するための運用パケットを一時的に蓄積する複数の出力キューのいずれかの輻輳時に、ＢＰパケットを複数のコンポーネントの全てに送出する機能を有する。複数のコンポーネントのそれぞれは、出力キュー対応にアドレス指定され、生成されたＢＰ情報のそれぞれを出力キュー毎に上書き更新可能に保持するテーブル形式の記憶部を含む。【選択図】図８
2010056885.tif 000002
【特許請求の範囲】
【請求項１】
同一構成を採り、装置内部で相互接続される物理的に分割された複数のコンポーネントを備え、装置外部の宛先に送出するための運用パケットを一時的に蓄積する複数の出力キューのいずれかの輻輳時に、バックプレッシャ（ＢＰ）パケットを前記複数のコンポーネントの全てに送出する機能を有する通信装置であって；
前記複数のコンポーネントのそれぞれは；
前記複数の出力キューのいずれかのパケット蓄積量が予め定めた上限閾値を超えたときは、ＢＰ発行要求のＢＰ情報を生成し、予め定めた下限閾値を下回ったときは、ＢＰ解除要求のＢＰ情報を生成し、発行、再発行及び解除を含むＢＰ状態の継続時に、ＢＰ対象の前記出力キューに前記運用パケットが到着したときは、ＢＰ再発行要求のＢＰ情報を生成する第１の生成部と；
前記出力キュー対応にアドレス指定され、生成された前記ＢＰ情報のそれぞれを前記出力キュー毎に上書き更新可能に保持するテーブル形式の第１の記憶部と；
前記複数のコンポーネントの全てに送出するために、前記第１の記憶部から読み出された前記ＢＰ情報に応じて、前記ＢＰ状態を示す情報、前記コンポーネントを特定する情報及び前記出力キューを特定する情報を含むＢＰパケットを生成する第２の生成部と；
前記コンポーネント及び前記出力キューに関し、前記ＢＰ状態のいずれかを示す情報を保持する第２の記憶部と；
受信した前記ＢＰパケットに基づいてアドレスを生成し、前記第２の記憶部における対応アドレスの対象コンポーネントの前記ＢＰ状態を変更するとともに、前記運用パケットの宛先に対応する前記第２の記憶部における前記出力キューが前記ＢＰ状態であれば、前記運用パケットを廃棄する制御部と；
を備える通信装置。
【請求項２】
前記第２の記憶部は、前記出力キューを指定するアドレス毎に、前記複数のコンポーネント分の前記ＢＰ状態を登録可能な領域を有するテーブル形式であり、各領域には、前記ＢＰ状態の発行、再発行及び解除のいずれかを示す情報が格納されている
請求項１記載の通信装置。
【請求項３】
前記第１の記憶部は、アドレス毎に、前記ＢＰ情報のそれぞれを示すビット情報格納領域を有する
請求項１記載の通信装置。
【請求項４】
前記第１の記憶部における同一出力キュー対応のアドレスから偏った前記ＢＰ情報の読み出しを防止するために、ラウンドロビンによる読出順序制御を行う処理部を更に備える請求項１記載の通信装置。
【請求項５】
生成された前記ＢＰパケットを前記運用パケットに優先して送出するとき、前回送出から予め定めた時間経過後に、次のＢＰパケットを送出する優先処理部を更に備える
請求項１記載の通信装置。
【請求項６】
同一構成を採り、装置内部で相互接続される物理的に分割された複数のコンポーネントを備え、装置外部の宛先に送出するための運用パケットを一時的に蓄積する複数の出力キューのいずれかの輻輳時に、バックプレッシャ（ＢＰ）パケットを前記複数のコンポーネントの全てに送出する機能を有する通信装置において実行される方法であって；
前記複数の出力キューのいずれかのパケット蓄積量が予め定めた上限閾値を超えたときは、ＢＰ発行要求のＢＰ情報を生成し、予め定めた下限閾値を下回ったときは、ＢＰ解除要求のＢＰ情報を生成し、発行、再発行及び解除を含むＢＰ状態の継続時に、ＢＰ対象の前記出力キューに前記運用パケットが到着したときは、ＢＰ再発行要求のＢＰ情報を生成
するステップと；
前記出力キュー対応にアドレス指定され、生成された前記ＢＰ情報のそれぞれを前記出力キュー毎に上書き更新可能なテーブル形式の第１の記憶部に格納するステップと；
前記複数のコンポーネントの全てに送出するために、前記第１の記憶部から読み出された前記ＢＰ情報に応じて、前記ＢＰ状態を示す情報、前記コンポーネントを特定する情報及び前記出力キューを特定する情報を含むＢＰパケットを生成するステップと；
前記コンポーネント及び前記出力キューに関し、前記ＢＰ状態のいずれかを示す情報を第２の記憶部に格納するステップと；
受信した前記ＢＰパケットに基づいてアドレスを生成し、前記第２の記憶部における対応アドレスの対象コンポーネントの前記ＢＰ状態を変更するとともに、前記運用パケットの宛先に対応する前記第２の記憶部における前記出力キューが前記ＢＰ状態であれば、前記運用パケットを廃棄するステップと；
を備える通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バックプレッシャパケットを送出する機能を有する通信装置に関する。
【背景技術】
【０００２】
バックプレッシャパケット送出機能を有する通信装置として、イーサネット（登録商標）などのネットワークに適用されるレイヤ２（Ｌ２）スイッチ装置では、出力キュー（バッファメモリ）の溢れを防止する目的でフロー制御が行われる。このＬ２スイッチ装置では、出力キューへのパケット蓄積量が予め定めた上限閾値を超えると、バックプレッシャパケット（以下、単にＢＰパケットと記載することもある）を発出（送出）し、装置内の自カード含む全てのカードに、どのカードのどのキューが輻輳しているかを通知する。
【０００３】
各カードの入口（Ingress）側処理部において、輻輳状態の出力キュー宛であると判定
された運用パケット（ユーザパケット）に対して廃棄処理を行うことにより、出力キューの輻輳状態の解消を図る。また、輻輳状態が解消され、出力キューへのパケット蓄積量が予め定めた下限閾値を下回った時点で、同様にＢＰパケットにて解除要求を全カードに通知する。全カードがバックプレッシャ（ＢＰ）解除要求を受け取った時点で、運用パケットの転送（交換及び伝送を含む）処理が再開される。
【０００４】
ここでは、ＢＰパケットは、Ｌ２スイッチ装置内だけで転送される内部パケットであるが、運用パケットと同じく内部スイッチを経て各カードに通知される。そのため、通信経路の輻輳状態によっては、ＢＰパケットの発出点から到着点までにいくつものバッファメモリ（以下、単にバッファと記載することもある）が存在するので、途中で廃棄される可能性がある。もし途中で廃棄された場合は、Ｌ２スイッチ装置内のパケット輻輳及び廃棄過多が生じ続けることになり、正確なフロー制御が行えない。
【０００５】
また、ＢＰパケットを発出する前にＢＰ情報を蓄積しておくＦＩＦＯ（First in First
out）メモリ（以下、ＢＰ情報蓄積ＦＩＦＯまたは単にＦＩＦＯと記載することもある）がオーバーフローしたときも、同じ問題が生じる。これは、ＢＰパケットはＬ２スイッチ装置内の余剰帯域（例えば、数Ｇｂｐｓ）以上発出すると、ユーザ帯域の保証ができなくなるため、使用送信帯域を制限して発出しているためである。
【０００６】
ここで、カードは、Ｌ２スイッチ装置を構成する回路要素を基盤に実装し、物理的に複数に分割された同一構成のコンポーネントである。
【特許文献１】特開２０００−２４４５２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述したようにＢＰパケット及びＢＰ情報が廃棄されることを前提にすると、次の対策を採ることが考えられる。
【０００８】
（１）出力キューが輻輳状態になり、ＢＰ発行をしているにも関わらず、当該出力キューにパケットが到着した場合に、再発行要求を送る。こうすることで、ＢＰ要求の取りこぼしがなくなる。
【０００９】
（２）装置内レイテンシ（ＢＰパケットの発出からＢＰパケットの到着までの時間）により、再発行要求は発行直後に連続して発出される可能性があるので間引き処理を行う。発出確率に適合するＰＮ（Pseudo Random Noise：擬似ランダム雑音）回路を用いてラン
ダムな間引きを実視する。なお、ＰＮ回路から送出されるＰＮ符号はランダム雑音を模擬するビット列である。
【００１０】
（３）ＢＰ解除のパケットが廃棄された場合については、ＢＰテーブル側にタイマーを持たせておくことで、所定時間経過すると、必ず通常運用状態に戻るようにする。
【００１１】
しかし、このようなＬ２スイッチ装置内のＢＰパケット転送処理には、次のような問題がある。つまり、ＢＰの発行要求及び解除要求が輻輳カードから一方的に装置内の対向する他のカードに通知されるだけなので、装置内のＢＰ情報蓄積ＦＩＦＯの容量、ＢＰパケット送信帯域、及び装置内のレイテンシ等の関係により、発行要求及び再発行要求の大量発生や、解除要求の廃棄を招く可能性がある。
【００１２】
また、ＢＰ情報を蓄積するためにＦＩＦＯを採用すると、大量発生したＢＰ再発行依頼がこのＦＩＦＯ内に蓄積された場合、それら情報分をＢＰパケットとして発出させることになり、装置内のユーザ帯域を圧迫させる。また、このＦＩＦＯ容量によっては、オーバーフローによるＢＰ情報の取りこぼしが発生することを免れない。つまり、装置内のパケット輻輳及び廃棄過多が生じ続ける。
【００１３】
課題は、通知されたバックプレッシャ情報を取りこぼすことなく、かつバックプレッシャパケットの発出回数を最小限に抑制可能にする技術を提供することにある。
【課題を解決するための手段】
【００１４】
上記課題を解決するために、一実施の形態の通信装置は、同一構成を採り、装置内部で相互接続される物理的に分割された複数のコンポーネントを備え、装置外部の宛先に送出するための運用パケットを一時的に蓄積する複数の出力キューのいずれかの輻輳時に、バックプレッシャ（ＢＰ）パケットを前記複数のコンポーネントの全てに送出する機能を有する通信装置であって；
前記複数のコンポーネントのそれぞれは；
前記複数の出力キューのいずれかのパケット蓄積量が予め定めた上限閾値を超えたときは、ＢＰ発行要求のＢＰ情報を生成し、予め定めた下限閾値を下回ったときは、ＢＰ解除要求のＢＰ情報を生成し、発行、再発行及び解除を含むＢＰ状態の継続時に、ＢＰ対象の前記出力キューに前記運用パケットが到着したときは、ＢＰ再発行要求のＢＰ情報を生成する第１の生成部と；前記出力キュー対応にアドレス指定され、生成された前記ＢＰ情報のそれぞれを前記出力キュー毎に上書き更新可能に保持するテーブル形式の第１の記憶部と；前記複数のコンポーネントの全てに送出するために、前記第１の記憶部から読み出された前記ＢＰ情報に応じて、前記ＢＰ状態を示す情報、前記コンポーネントを特定する情報及び前記出力キューを特定する情報を含むＢＰパケットを生成する第２の生成部と；前記コンポーネント及び前記出力キューに関し、前記ＢＰ状態のいずれかを示す情報を保持する第２の記憶部と；受信した前記ＢＰパケットに基づいてアドレスを生成し、前記第２の記憶部における対応アドレスの対象コンポーネントの前記ＢＰ状態を変更するとともに、前記運用パケットの宛先に対応する前記第２の記憶部における前記出力キューが前記ＢＰ状態であれば、前記運用パケットを廃棄する制御部とを備える。
【発明の効果】
【００１５】
開示した通信装置によれば、バックプレッシャ情報の蓄積をＦＩＦＯではなく、テーブル形式の保持構成にすることで、ＢＰ再発行要求の情報が上書き蓄積されるので、バックプレッシャパケットの転送数を抑制することができ、装置内のパケット転送帯域の使用を緩和することができる。これにより、ＢＰ再発行要求の無作為な間引きが必要なくなる。また、ＢＰ情報を蓄積するためにＦＩＦＯを使用しないので、溢れが発生することはない。
【００１６】
他の課題、特徴及び利点は、図面及び特許請求の範囲とともに取り上げられる際に、以下に記載される発明を実施するための最良の形態を読むことにより明らかになるであろう。
【発明を実施するための最良の形態】
【００１７】
以下、添付図面を参照して、さらに詳細に説明する。図面には好ましい実施形態が示されている。しかし、多くの異なる形態で実施されることが可能であり、本明細書に記載される実施形態に限定されると解釈されてはならない。
【００１８】
［Ｌ２スイッチ装置の概要構成］
一実施の形態におけるバックプレッシャパケット送出機能を有する通信装置としてのレイヤ２（Ｌ２）スイッチ装置の概要構成を示す図１を参照すると、このＬ２スイッチ装置１は、複数のカード２と、これらのカード２を相互接続する内部スイッチ３と、複数のカード２をイーサネット（登録商標）などのネットワークに接続するための複数のＬＡＮ（Local Area Network）コネクタ４とを備えている。
【００１９】
各カード２は同一構成を採るが、ここではカード（＃ｉ）２の構成だけを示している。各カード２は、対応のＬＡＮコネクタ４及び内部スイッチ３に接続されている入口（ＩＧ：ingress）側処理部５及び出口（ＥＧ：egress）側処理部６を備える。各カード２は、
Ｌ２スイッチ装置１を構成する回路要素を基盤に実装し、物理的に複数に分割されたコンポーネントである。また、カード２は、具体的には、イーサネット（登録商標）カードであり、Ｌ２スイッチ装置１の筐体内に６枚実装されている。
【００２０】
内部スイッチ３はクロスコネクトスイッチから構成されている。しかし、内部スイッチ３は、６枚のカード２を相互接続する機能があればよいので、これらのカード２間をメッシュ接続した配線基盤（ＢＷＢ：Back Wiring Board）で代替することが可能である。
【００２１】
各ＬＡＮコネクタ４は各カード２に対応し、１つのカード２当たり、ギガビットイーサの場合は１０物理ポート分、１０ギガビットイーサの場合は１物理ポート分を収容可能である。
【００２２】
［ＢＰパケットの転送処理の概要］
図２は、図１に示すＬ２スイッチ装置１における出口側処理部６の出力キュー（バッファメモリ）で輻輳状態が起こった際のバックプレッシャ（ＢＰ）パケットの流れを運用パケット（ユーザパケット）の流れとともに示している。図２において、太実線の矢印はＢＰパケットの転送経路を示し、太点線の矢印はユーザパケットの転送経路を示す。
【００２３】
Ｌ２スイッチ装置１においては、例えばカード（＃３）２の出力キュー（＃ｎ）のパケット蓄積量がＢＰの上限閾値を超えると、そのキューに対するＢＰ発行要求のＢＰ情報が作成される。逆に、ＢＰの下限閾値を下回った場合は、ＢＰ解除要求のＢＰ情報が作成される。また、バックプレッシャ状態の継続時、輻輳キュー対応の出力キュー宛にユーザパケットが到着した場合は、ＢＰ再発行要求のＢＰ情報が作成される。ＢＰ情報はこれらのＢＰ状態（発行、再発行、解除）及び出力キュー番号を含む。
【００２４】
このＢＰ情報は、自カード番号とともにＢＰパケット内に搭載され、装置１内の自カード（＃３）２含む全てのカード２にブロードキャスト転送される。
【００２５】
輻輳カード対応のカード（＃３）２から発出されたＢＰパケットを受け取った各カード２においては、全カード２の全キュー分のＢＰ情報を蓄積し、ユーザパケットが輻輳キュ
ー宛に到着しないように、入口側処理部５の廃棄ポイントで廃棄させる。
【００２６】
ＢＰパケットは、ＢＰ情報が後に詳述するＢＰ情報蓄積テーブルに存在する限り発出されるが、運用信号対応のユーザパケットと同一の通信経路を通るので、ＢＰパケットを連続して発出させないように制御する。つまり、ユーザパケットの送信帯域の確保が優先される。
【００２７】
［ＢＰパケット及びユーザパケット］
ここで、図３を参照すると、ユーザパケットとＢＰパケットとの差異を理解することができる。各カード２がＬＡＮコネクタ４を通して受信するユーザパケットは、宛先アドレスＤＳ、送信元アドレスＳＡ、Ｔ／Ｌ（Time to Live）、データ（パケットデータ）、及びフレームチェックシーケンスＦＣＳを含み、各カード２において、装置内ヘッダを付加される。
【００２８】
ＢＰパケットは、Ｌ２スイッチ装置１における輻輳カード２の入口側処理部５で生成される特殊パケットであり、内部にパケットデータはなく、装置内ヘッダと、出口側処理部６からのＢＰ情報と、フレームチェックシーケンスＦＣＳとで構成されている。ＢＰパケットは、装置１内では、パケット情報としての装置内ヘッダを付けて転送させるが、装置１外に転送されることはない。
【００２９】
ＢＰパケットにおけるＢＰ情報は、ＢＰ状態（発行、再発行、解除）、カード番号、及びキュー情報（物理ポート番号、論理ポート番号）を含む。ＢＰ情報は、各カード２の出口側処理部６でＢＰパケットから抜き出した情報であり、入口側処理部５のＢＰテーブルに設定される元情報である。ＢＰパケットにおけるＢＰ状態は１ビットで解除「０」及び発行「１」を示す。再発行のＢＰ状態は「１」で管理される。
【００３０】
ユーザパケット及びＢＰパケットは同一パケット長である。ユーザパケット及びＢＰパケットに付加される装置内ヘッダには、いずれのパケットかを識別するための識別子（フラグ）が含まれている。
【００３１】
［Ｌ２スイッチ装置の詳細構成及び動作］
次に、図１、図２及び図３を参照して概要構成を説明した一実施の形態のＬ２スイッチ装置１の詳細構成及び動作例について関連図を併せ参照して説明する。
【００３２】
図４は一実施の形態のＬ２スイッチ装置１を構成するカード２の詳細構成を示す。図５は図４に示すカード２におけるＢＰ制御部１３の周辺構成要素を拡大して示す。図６は図４に示すカード２におけるＢＰ制御部１３及びパケット受信部２０の詳細構成を示す。図７は図６に示すＢＰテーブル１３０の具体的構成例を示す。図８は図４に示すカード２におけるＢＰ情報蓄積テーブル４２へのＢＰ情報の上書き処理及びＢＰパケット生成処理を説明するための図である。図９はＢＰパケット生成処理を説明するための図である。
【００３３】
（ユーザパケットの転送処理）
図４及び図５を参照すると、カード（＃ｉ；ｉ＝１〜６）２においては、ネットワークから物理ポート対応のＬＡＮコネクタ４を経由して受信されたユーザパケットは、入口側（ＩＧ側）処理部５のパケット情報取得部１０で必要な情報が取得された後、ユーザパケット用ＦＩＦＯ（バッファメモリ）１１に蓄積される。
【００３４】
パケット情報取得部１０で取得した情報は、内部データ群として、入口側処理部５の構成要素である宛先情報取得部１２及びＢＰ制御部１３などを通過し、ユーザパケットに対応した運用設定及び宛先情報が取得されながら、内部データ用ＦＩＦＯ（バッファメモリ
）１４に蓄積される。
【００３５】
宛先情報取得部１２は、ユーザパケットの宛先アドレスＤＡ等を利用して、宛先情報を取得し、そのパケットの宛先（カード番号、物理ポート番号、及び論理ポート番号を含む）を決定する。ＢＰ制御部１３は、その宛先に対して、ＢＰ制御部１３内のＢＰテーブルの設定値を確認し、宛先がＢＰ状態であれば、ここを廃棄ポイントとして入口側処理部５でユーザパケットを廃棄させる。
【００３６】
つまり、ＢＰ制御部１３は、ユーザパケットの宛先情報とＢＰテーブル情報とを比較し、宛先キュー（出力キュー）３０がＢＰ状態であれば、ユーザパケット用ＦＩＦＯ１１に蓄積されている対応のユーザパケットを廃棄制御する。ＢＰ状態でなければ、ユーザパケット用ＦＩＦＯ１１から読み出されたユーザパケットには、内部データ用ＦＩＦＯ１４に蓄積されている内部データ群に基づいて作成された、パケットの宛先情報等を受け渡すための装置内ヘッダ情報が付加された後、装置内ヘッダ付きのユーザパケットとして優先処理部１５から内部スイッチ３に送出される。
【００３７】
この装置内ヘッダ付きのユーザパケットは、内部スイッチ３を通って、相手カード２の出口側（ＥＧ側）処理部６に到着する。出口側処理部６のパケット受信部２０で受信されたユーザパケットは、装置内ヘッダ情報を基に、パケット出力部３３の振分部３１を介して出力先のキュー３０に蓄積される。なお、装置内ヘッダ情報は、パケット受信部２０で終端し、除去される。
【００３８】
パケット出力部３３は、論理ポート分の複数（＃０−＃ｎ））の出力キュー３０と、書き込み制御に応じて出力キュー３０に対応のユーザパケットを振り分ける振分部３１と、読み出し制御に応じて出力キュー３０からのユーザパケットを対応の物理ポートに送出する優先処理部３２とを含み、設定された送信帯域に則ってユーザパケットをネットワークに送出する。
【００３９】
（ＢＰパケットの転送処理）
図４に示すカード（＃３）２における出口側処理部６の出力キュー３０（厳密には、図８中のＢＰ情報生成部３４）では、キュー長閾値の規定に基づいて、ＢＰパケットの発行、再発行、及び解除の要求（依頼）を行う。ユーザパケットの送信帯域に比べて、出口側処理部６でのユーザパケットの受信の方が多い場合、出力キュー３０では、「読み出し＜書き込み」状態となり、パケットが蓄積され続けることになる。その際、パケット蓄積量がキュー長閾値の上限閾値を超過すると、ＢＰの発行要求を入口側処理部５に通知する。ＢＰの発行要求は、入口側処理部５におけるＢＰパケット生成部（図８中の４５）で最終的に受信され、ＢＰパケットに載せられて、Ｌ２スイッチ装置１を構成する自カード２を含む全てのカード２に通知される。
【００４０】
ＢＰ情報は全カード２のＢＰテーブルに記憶させて処理を同一にする必要があるので、宛先情報は全カード宛てとなる。出口側処理部６のパケット受信部２０は、受信パケットの装置内ヘッダ内の識別子（ＢＰパケットフラグ）に基づいて、ＢＰパケットと認識したパケットからＢＰ情報を抜き出し（抽出し）、同一カードの入口側処理部５に通知する。通知されたＢＰ情報はＢＰ制御部１３内のＢＰテーブルに設定される。
【００４１】
図６を参照して一層詳述すると、パケット受信部２０における判定部２０１は、受信部２００で受信されたパケットの装置内ヘッダ情報に基づいて、ユーザパケット及びＢＰパケットのいずれであるかを判定する。判定部２０１は、ユーザパケットであると判定した場合、そのパケットをパケット出力部３３に送出する。判定部２０１は、ＢＰパケットであると判定した場合、パケット出力部３３に送出することなくここで終端するが、ＢＰ状
態（発行、再発行、解除）、カード番号、及びキュー情報（物理ポート番号、論理ポート番号）を含むＢＰ情報（図３参照）をＢＰパケットから抜き出し、ＢＰ情報通知部２０２からＢＰ制御部１３に通知させる。
【００４２】
ＢＰ制御部１３においては、ＢＰ情報通知部２０２から受信したＢＰ情報をテーブル制御部１３１がＢＰテーブル１３０に書き込む。また、ＢＰ制御部１３においては、内部データ群待合部１３２が、内部データ群を受信すると、テーブル制御部１３１は、この内部データ群に基づいて、ＢＰテーブル１３０から宛先に対応したデータを読み出し、宛先の出力キュー３０のＢＰ状態を認識する。
【００４３】
テーブル制御部１３１は、ＢＰテーブル１３０にＢＰ情報を書き込む場合、ＢＰ情報通知部２０２から受信したＢＰ情報の物理ポート番号及び論理ポート番号に基づいてアドレスを生成し、対応アドレスのＢＰテーブル１３０内のデータを読み出し、対象カード２の情報のみを変更するとともに再書き込みを行う。図７に詳細を示すように、ＢＰテーブル１３０は、アドレス（０，１，・・・，Ｎ）毎に６つカード（＃０−＃５）分の設定を登録可能である。ＢＰテーブル１３０のアドレス毎の各カード番号領域には、ＢＰ状態の発行、再発行、及び解除のいずれかを示すデータ（０／１）が格納されている。
【００４４】
また、テーブル制御部１３１は、内部データ群の処理では、宛先情報からアドレス（物理ポート番号及び論理ポート番号）を生成し、宛先カード番号に対応するＢＰ設定データを参照する。
【００４５】
図８を参照して詳述すると、ＢＰ情報生成部３４は、図４に示すパケット出力部３３における各出力キュー３０のパケット蓄積量（ＦＩＦＯ容量）に基づいて、各出力キュー３０に対するＢＰ状態の制御を行う。つまり、ＢＰ情報生成部３４は、出力キュー３０のパケット蓄積量がＢＰの上限閾値ＨＷＭ（High Water Mark）を超えると、そのキューに対
するＢＰ発行要求のＢＰ情報を生成する。逆に、ＢＰ情報生成部３４は、ＢＰの下限閾値ＬＷＭ（Low Water Mark）を下回った場合は、ＢＰ解除要求のＢＰ情報を生成する。また、ＢＰ情報生成部３４は、ＢＰ状態の継続時（ＢＰ発行要求後に）、輻輳キュー対応の出力キュー（＃ｎ）宛にユーザパケットが到着した場合は、ＢＰ再発行要求のＢＰ情報を生成する。
【００４６】
ＢＰ情報生成部３４で作成されたこれらのＢＰ情報は、出力キュー番号と併せてＢＰ情報送信部３５から送信され、ＢＰ情報受信部４０で受信される。なお、ＢＰ情報送信部３５からＢＰ情報受信部４０に送信されるＢＰ情報は連続ではなく、そのサイクルはネットワークから受信するユーザパケットの長さに依存する。
【００４７】
図９に詳細を示すように、ＢＰ情報蓄積テーブル４２は出力キュー分（論理ポート分）のアドレス（＃０−＃ｎ）を有する。テーブル４２のビット情報（０／１）は、発行、再発行、解除の３ｂｉｔのデータである。したがって、テーブル４２は、アドレス毎に、ＢＰ情報のそれぞれを示すビット情報格納領域を有する。ＢＰ情報が更新されたかどうかを示す更新フラグを利用する場合は、これら３ｂｉｔのデータの論理和（ＯＲ）演算によって求めた１ｂｉｔのデータが追加される。なお、更新フラグはテーブル４２とは個別のレジスタで保持してもよい。これらのビットのデータのデフォルト値はａｌｌ「０」であり、このときはＢＰパケットの発出は行われない。テーブル設定制御部４１は、ＢＰ情報受信部４０からのＢＰ情報が到着した場合、出力キュー３０対応のアドレスのビット情報を更新する。
【００４８】
各出力キューに対するテーブル設定値（ビット情報）はａｌｌ「０」状態を含んで８種類となる。テーブル４２においては、ＢＰ情報は上書き更新されるので、新規のＢＰ情報
が破棄されることはない。ここで、同じ内容のＢＰ情報の更新は単なる上書きとなるので、上書き回数自体はＢＰパケットの発出回数に影響を与えないことが重要である。
【００４９】
なお、複数ビットに「１」が設定される場合が存在するが、ＢＰ情報発行の仕組みから一意の内容に集約できる。つまり、ＢＰ情報の発行順序は、ＢＰ発行−ＢＰ再発行−ＢＰ解除−ＢＰ発行・・・を繰り返す。したがって、発行ＢＰパケットを発出する前に解除依頼が到着する場合や、発行ＢＰパケットを発出する前に再発行依頼または解除依頼が到着する場合が存在するが、このときはＢＰパケットの発出は行われない。
【００５０】
データ取出部４４は、ラウンドロビン（Round Robin）処理部４３を介して、更新フラ
グ「１」の更新されたＢＰ情報を取り出し、ＢＰパケットに載せるためのデータを作成する。ラウンドロビン処理部４３は、テーブル４２の複数の出力キュー対応のアドレスにおいて、更新フラグ「１」が設定されている場合もあるので、読み出し順序処理を行い、同一出力キューに偏ったＢＰパケットの発出を防止する。ＢＰパケット生成部４５は、データ取出部４４からのデータに基づいて、装置内ヘッダを付加したＢＰパケットを生成して優先処理部１５に送出する。
【００５１】
優先処理部１５は、ＢＰパケットを最優先して出力するが、ユーザパケットのスループットを保証するために、連続出力しないように処理する。このために、優先処理部１５は、ＢＰパケットの発出条件として、前回発出から所定時間経過後に、次のＢＰパケットを発出する。
【００５２】
上述したようなＢＰ情報蓄積テーブル４２を用いるメリットは、ＢＰパケットの発出回数を低減できるだけでなく、ＢＰ情報蓄積のためのメモリ容量を規定（制限）できることである。
【００５３】
［一実施の形態の効果］
上述した一実施の形態によれば、通知されたＢＰ情報を蓄積するためにテーブル形式のメモリを採用することにより、ＢＰ再発行要求が連続で大量発出されたとしても、テーブル形式のメモリに上書きするだけなので、ＢＰ情報の取りこぼしがなく、ＢＰパケットの発出回数も抑えられ、結果として、装置内のユーザ使用帯域（運用帯域）の圧迫を回避できる。
【００５４】
これに対して、改善対象のＬ２スイッチ装置（図１０参照）のように、ＢＰ情報を保持するために単純にＢＰ情報蓄積ＦＩＦＯを用いると、装置内のＢＰパケット転送能力（全体の転送帯域に対して、ユーザ使用帯域や、ＢＰパケット以外の装置内パケットの転送帯域を引いたもの）と、ＢＰ情報の発出帯域（出力キュー数、ＢＰ閾値、バースト性等で変化する）とによって、ＢＰ情報蓄積ＦＩＦＯの容量（大きさ）が決まることになるが、ＢＰ再発行時の個数が見積もれないため、結局、ＢＰ情報蓄積ＦＩＦＯの大きさは無限だけ必要ということになる。「ＢＰ情報の発出帯域＞ＢＰパケット転送能力」状態の場合、ＢＰ情報蓄積ＦＩＦＯは溢れてしまう。
【００５５】
ＢＰ情報が廃棄される場合のリスクは前述のとおりであるが、ＢＰ情報蓄積ＦＩＦＯを使用する場合は、溢れさせない仕組みが必要となる。なお、ＢＰ情報をＦＩＦＯに蓄積させる場合は積み上げ式となるため、同じ情報でも１つの記憶領域を使用することになり、その分だけＢＰパケットも発出させる必要がある。
【００５６】
［変形例］
上述した一実施の形態における処理はコンピュータで実行可能なプログラムとして提供され、ＣＤ−ＲＯＭやフレキシブルディスクなどの記録媒体、さらには通信回線を経て提
供可能である。
【００５７】
また、上述した一実施の形態における各処理はその任意の複数または全てを選択し組合せて実施することもできる。
【００５８】
［その他］
上述した一実施の形態及び変形例に関し、更に以下の付記を開示する。
【００５９】
（付記１）同一構成を採り、装置内部で相互接続される物理的に分割された複数のコンポーネントを備え、装置外部の宛先に送出するための運用パケットを一時的に蓄積する複数の出力キューのいずれかの輻輳時に、バックプレッシャ（ＢＰ）パケットを前記複数のコンポーネントの全てに送出する機能を有する通信装置であって；
前記複数のコンポーネントのそれぞれは；
前記複数の出力キューのいずれかのパケット蓄積量が予め定めた上限閾値を超えたときは、ＢＰ発行要求のＢＰ情報を生成し、予め定めた下限閾値を下回ったときは、ＢＰ解除要求のＢＰ情報を生成し、発行、再発行及び解除を含むＢＰ状態の継続時に、ＢＰ対象の前記出力キューに前記運用パケットが到着したときは、ＢＰ再発行要求のＢＰ情報を生成する第１の生成部と；
前記出力キュー対応にアドレス指定され、生成された前記ＢＰ情報のそれぞれを前記出力キュー毎に上書き更新可能に保持するテーブル形式の第１の記憶部と；
前記複数のコンポーネントの全てに送出するために、前記第１の記憶部から読み出された前記ＢＰ情報に応じて、前記ＢＰ状態を示す情報、前記コンポーネントを特定する情報及び前記出力キューを特定する情報を含むＢＰパケットを生成する第２の生成部と；
前記コンポーネント及び前記出力キューに関し、前記ＢＰ状態のいずれかを示す情報を保持する第２の記憶部と；
受信した前記ＢＰパケットに基づいてアドレスを生成し、前記第２の記憶部における対応アドレスの対象コンポーネントの前記ＢＰ状態を変更するとともに、前記運用パケットの宛先に対応する前記第２の記憶部における前記出力キューが前記ＢＰ状態であれば、前記運用パケットを廃棄する制御部と；
を備える通信装置。
【００６０】
（付記２）前記第２の記憶部は、前記出力キューを指定するアドレス毎に、前記複数のコンポーネント分の前記ＢＰ状態を登録可能な領域を有するテーブル形式であり、各領域には、前記ＢＰ状態の発行、再発行及び解除のいずれかを示す情報が格納されている
付記１記載の通信装置。
【００６１】
（付記３）前記第１の記憶部は、アドレス毎に、前記ＢＰ情報のそれぞれを示すビット情報格納領域を有する
付記１記載の通信装置。
【００６２】
（付記４）前記第１の記憶部は、前記アドレス毎に、前記ＢＰ情報が更新されたことを示す更新フラグを保持する領域を更に有する
付記３記載の通信装置。
【００６３】
（付記５）前記ＢＰ情報が更新されたことを示す更新フラグを前記第１の記憶部とは個別に保持する
付記３記載の通信装置。
【００６４】
（付記６）前記第１の記憶部における同一出力キュー対応のアドレスから偏った前記ＢＰ情報の読み出しを防止するために、ラウンドロビンによる読出順序制御を行う処理部を
更に備える
付記１記載の通信装置。
【００６５】
（付記７）生成された前記ＢＰパケットを前記運用パケットに優先して送出するとき、前回送出から予め定めた時間経過後に、次のＢＰパケットを送出する優先処理部を更に備える
付記１記載の通信装置。
【００６６】
（付記８）前記複数のコンポーネントは、装置筐体に実装されるカードである
付記１記載の通信装置。
【００６７】
（付記９）同一構成を採り、装置内部で相互接続される物理的に分割された複数のコンポーネントを備え、装置外部の宛先に送出するための運用パケットを一時的に蓄積する複数の出力キューのいずれかの輻輳時に、バックプレッシャ（ＢＰ）パケットを前記複数のコンポーネントの全てに送出する機能を有する通信装置において実行される方法であって；
前記複数の出力キューのいずれかのパケット蓄積量が予め定めた上限閾値を超えたときは、ＢＰ発行要求のＢＰ情報を生成し、予め定めた下限閾値を下回ったときは、ＢＰ解除要求のＢＰ情報を生成し、発行、再発行及び解除を含むＢＰ状態の継続時に、ＢＰ対象の前記出力キューに前記運用パケットが到着したときは、ＢＰ再発行要求のＢＰ情報を生成するステップと；
前記出力キュー対応にアドレス指定され、生成された前記ＢＰ情報のそれぞれを前記出力キュー毎に上書き更新可能なテーブル形式の第１の記憶部に格納するステップと；
前記複数のコンポーネントの全てに送出するために、前記第１の記憶部から読み出された前記ＢＰ情報に応じて、前記ＢＰ状態を示す情報、前記コンポーネントを特定する情報及び前記出力キューを特定する情報を含むＢＰパケットを生成するステップと；
前記コンポーネント及び前記出力キューに関し、前記ＢＰ状態のいずれかを示す情報を第２の記憶部に格納するステップと；
受信した前記ＢＰパケットに基づいてアドレスを生成し、前記第２の記憶部における対応アドレスの対象コンポーネントの前記ＢＰ状態を変更するとともに、前記運用パケットの宛先に対応する前記第２の記憶部における前記出力キューが前記ＢＰ状態であれば、前記運用パケットを廃棄するステップと；
を備える通信方法。
【図面の簡単な説明】
【００６８】
【図１】一実施の形態のＬ２スイッチ装置の概要構成を示すブロック図。
【図２】一実施の形態のＬ２スイッチ装置におけるＢＰパケット転送処理の概要を説明するための図。
【図３】ユーザパケット及びＢＰパケットの構成を示す図。
【図４】一実施の形態のＬ２スイッチ装置を構成するカードの詳細構成を示すブロック図。
【図５】図４に示すカードにおけるＢＰ制御部の周辺構成要素を拡大して示すブロック図。
【図６】図４に示すカードにおけるＢＰ制御部及びパケット受信部の詳細構成を示すブロック図。
【図７】図６に示すＢＰテーブルの具体的構成例を示す図。
【図８】図４に示すカードにおけるＢＰ情報蓄積テーブルへのＢＰ情報の上書き処理及びＢＰパケット生成処理を説明するための図。
【図９】ＢＰパケット生成処理を説明するための図。
【図１０】改善対象のＬ２スイッチ装置におけるＢＰ情報蓄積ＦＩＦＯの問題点を説明するための図。
【符号の説明】
【００６９】
１      Ｌ２スイッチ装置
２      カード
３      内部スイッチ
４      ＬＡＮコネクタ
５      入口側処理部
６      出口側処理部
１３    ＢＰ制御部
１５    優先処理部
２０    パケット受信部
３０    出力キュー
３４    ＢＰ情報生成部
４１    テーブル設定制御部
４２    ＢＰ情報蓄積テーブル
４３    ラウンドロビン処理部
４５    ＢＰパケット生成部
１３０  ＢＰテーブル
【図１】
2010056885.tif 000003
【図２】
2010056885.tif 000004
【図３】
2010056885.tif 000005
【図４】
2010056885.tif 000006
【図５】
2010056885.tif 000007
【図６】
2010056885.tif 000008
【図７】
2010056885.tif 000009
【図８】
2010056885.tif 000010
【図９】
2010056885.tif 000011
【図１０】
2010056885.tif 000012