(57)【特許請求の範囲】
【請求項１】
第１スイッチの受信ポートに接続され、一つ又は複数の第３スイッチの送信ポートに接続された第２スイッチを含み、該第１スイッチから該第２スイッチへＰＡＵＳＥフレームが送信されるイーサネットスイッチにおける輻輳制御装置であって、
前記第１スイッチにおいて輻輳が検出されたときに、該第１スイッチからＰＡＵＳＥフレームを受信する受信手段と、
前記第３スイッチから前記第２スイッチを介して前記第１スイッチに送信されるトラフィックに係る複数の送信キューを格納するキュー手段と、
前記ＰＡＵＳＥフレームの受信により前記送信キューからの送信トラフィックを抑制する抑制手段と、を有し、
前記抑制手段は、通常の送信時に前記ＰＡＵＳＥフレームを受信した場合、前記複数の送信キューのうち最も優先度の低い送信キューからの前記送信トラフィックを抑制し、該ＰＡＵＳＥフレームに含まれたＰＡＵＳＥタイム中に前記第１スイッチから別のＰＡＵＳＥフレームを受信した場合、より優先度の高い送信キューからの前記送信トラフィックを抑制することを特徴とする輻輳制御装置。
【請求項２】
前記抑制手段は、前記ＰＡＵＳＥフレームの受信により前記送信キューからの前記送信トラフィックをシェ−ピングするシェ−ピング手段を有し、
前記シェ−ピング手段は、前記ＰＡＵＳＥフレームに含まれたフレーム長によって、前記送信キューからの前記送信トラフィックを予め定められたシェ−ピング値に基づく送信速度以下に抑制することを特徴とする請求項１に記載の輻輳制御装置。
【請求項３】
前記送信速度の抑制は、前記送信トラフィックにギャップを挿入することによって行なうことを特徴とする請求項２記載の輻輳制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は輻輳制御装置に関し、特にイーサネットスイッチが複数接続される環境において輻輳が発生した際に、ＰＡＵＳＥフレームによって送信トラフィックを抑制する輻輳制御方式に関するものである。
【０００２】
【従来の技術】
従来よりイーサネット（登録商標）において輻輳が発生すると、輻輳が発生しているスイッチングハブ等のスイッチからその前段のスイッチに対して、ＩＥＥＥ８０２．３で規定されるＰＡＵＳＥフレームを送出して入力トラフィックを抑制している（例えば、非特許文献１参照）。
図１にはＰＡＵＳＥフレームによる輻輳制御の一例を、そして図２にはＰＡＵＳＥフレームのフォーマットを示している。
【０００３】
図１において、スイッチ（ＳＷ１）１の送信ポート側のリンクαで輻輳が発生すると、スイッチ１内部のバッファ（キュー）の閾値によってその輻輳を検出する。次に、スイッチ１は前段のスイッチ（ＳＷ２〜５）２〜５からの送信トラフィックを抑制させるため、スイッチ２〜５へＰＡＵＳＥフレームを送信する。図２に示すように、ＰＡＵＳＥフレームは、その宛先アドレス（ＤＡ：Destination Address）にＰＡＵＳＥフレームであることを示すマルチキャストアドレスを設定する。
【０００４】
また、そのパラメータフィールドには、例えばＸＸ（ｍｓ）等のＰＡＵＳＥタイム (Pause time) のタイマ値を設定する。タイマ値がゼロの場合は、ＰＡＵＳＥ状態が解除されて送信状態に復帰することを示す。その他の各フィールドは一般的なイーサネットフレームのものと同様であり、ここではそれらについて説明しない。
【０００５】
一方、受信側の各前段のスイッチ２〜５は、受信したＰＡＵＳＥフレーム中に含まれるタイマ値に基づいて、輻輳が発生した次段のスイッチ１（ＰＡＵＳＥフレームの送信元）へのトラフィック転送を一定時間抑制する。また、ＰＡＵＳＥフレームを受信したノードが端末の場合にも、その端末がＰＡＵＳＥフレームをサポートするＮＩＣ (Network Interface Card) を有していれば、そのタイマ値に基づいて送信を一時的に抑制する。ＰＡＵＳＥタイムが満了すると、その間中断していた送信が再開される。
【０００６】
【非特許文献１】
岡部泰一、“詳説ＴＣＰ／ＩＰプロトコル  第９回  イーサネット（その４）フロー制御とＶＬＡＮ、トラブルシューティング  １．イーサネットのフロー制御”、［online］２００１年１０月２日、ネットワーク技術解説講座、［平成１４年９月９日検索］、インターネット〈URL :http://www.atmarkit.co.jp/fwin2k/network/tcpip009/tcpip          01.html〉
【０００７】
【発明が解決しようとする課題】
上述したように、ＩＥＥＥ８０２．３で規定されるＰＡＵＳＥフレームは、輻輳を検出したスイッチ１から前段のスイッチ２〜５やその配下の端末に対して全てのトラフィックの送出を一定時間抑制させるように依頼するものである。しかしながら、このような従来の動作には以下に示すような問題点があった。
【０００８】
（１）ＱｏＳ (Quality of Service)の確保
ＰＡＵＳＥフレームはトラフィックの種別を区別していないため、例えば遅延時間やジッタ条件の厳しい音声や動画像などのトラフィックと、これらの条件が厳しくないＦＴＰ (File Transfer Protocol) などのデータトラフィックとが同等に扱われ、特に前者のＱｏＳが確保されないという問題があった。
【０００９】
（２）実効スループットの向上
また、スイッチ１から前段のスイッチ２〜５やその配下の端末に対して全トラフィックの送出を一律に一定時間抑制するため、同時期にＰＡＵＳＥタイムが満了して輻輳状態と非輻輳状態との繰り返し状況が発生する恐れがあった。スループットを向上させるには、トラフィック量が波打たない定常的な状態を維持するのが好ましく、従来技術の輻輳制御では実効スループットの向上が図れないという問題があった。
【００１０】
（３）トラフィックの公平性
さらに、輻輳の原因となっているフローの特定を行わずに全てのフローを止めてしまうため、存在する複数のフローに対して公平な帯域の割り当てが行われないという問題があった。すなわち、輻輳を引き起こしているトラフィック以外のトラフィックまでもが一律にその送信を抑制されてしまうという問題があった。
【００１１】
そこで本発明の目的は、上記問題点に鑑み、イーサネットスイッチが複数接続される環境において輻輳が発生し、ＰＡＵＳＥフレームにより送信トラフィックを制御する際に、そのトラフィック特性を分析することで各トラフィックのＱｏＳ、実行スループットの向上、及び各トラフィックの公平性を実現する輻輳制御装置を提供することにある。
【００１２】
【課題を解決するための手段】
本発明によれば、第１スイッチの受信ポートに接続され、一つ又は複数の第３スイッチの送信ポートに接続された第２スイッチを含み、該第１スイッチから該第２スイッチへＰＡＵＳＥフレームが送信されるイーサネットスイッチにおける輻輳制御装置であって、前記第１スイッチにおいて輻輳が検出されたときに、該第１スイッチからＰＡＵＳＥフレームを受信する受信手段と、前記第３スイッチから前記第２スイッチを介して前記第１スイッチに送信されるトラフィックに係る複数の送信キューを格納するキュー手段と、前記ＰＡＵＳＥフレームの受信により前記送信キューからの送信トラフィックを抑制する抑制手段と、を有し、前記抑制手段は、通常の送信時に前記ＰＡＵＳＥフレームを受信した場合、前記複数の送信キューのうち最も優先度の低い送信キューからの前記送信トラフィックを抑制し、該ＰＡＵＳＥフレームに含まれたＰＡＵＳＥタイム中に前記第１スイッチから別のＰＡＵＳＥフレームを受信した場合、より優先度の高い送信キューからの前記送信トラフィックを抑制する輻輳制御装置が提供される。
【００１３】
また本発明では、前記抑制手段は、前記ＰＡＵＳＥフレームの受信により前記送信キューからの前記送信トラフィックをシェ−ピングするシェ−ピング手段を有し、前記シェ−ピング手段は、前記ＰＡＵＳＥフレームに含まれたフレーム長によって、前記送信キューからの前記送信トラフィックを予め定められたシェ−ピング値に基づく送信速度以下に抑制する輻輳制御装置が提供される。
【００１４】
さらに、前記送信速度の抑制は、前記送信トラフィックにギャップを挿入することによって行なうこととした。
【００１５】
【発明の実施の形態】
図３は、本発明が適用されるネットワーク構成の一例を示したものである。
本例は、先に示した図１と基本的には同じ構成を有しており、例えばスイッチ１の受信ポートの１つに接続されるスイッチ２及び６や他の受信ポートに接続されるスイッチ３、７及び８等はそれぞれがＰＡＵＳＥフレームマルチキャストの伝達単位を構成している。本例でもスイッチ１の送信ポートのリンクαで輻輳が発生している。
【００１６】
図４は、本発明による第１の実施例を示したものである。また、図５には、図４の制御フローの一例を示している。
本例ではＱｏＳを確保するための輻輳制御を行なう。先ず、バッファの閾値等により輻輳を検出したスイッチ１から前段の各スイッチ２〜５へＰＡＵＳＥフレームが送信される（Ｓ１０１及び１０２）。
【００１７】
ＰＡＵＳＥフレームは、各スイッチ２〜５内部のＣＰＵ２１により検出されて（Ｓ１０３）、スケジューラ２２へ渡される。ここで、スケジューラ２２は、高、中、低の優先度が付された各送信キュー２３〜２５を制御して優先度に基づく送信トラフィックを制御する。例えば、高優先度にはリアルタイム性の要求される動画や音声データ等が、また低優先度にはＦＴＰ等のデータ転送が割当てられる。
【００１８】
スケジューラ２２は、渡されたＰＡＵＳＥフレームを判断して、ＰＡＵＳＥフレームをＰＡＵＳＥタイム中以外の時（通常の送信時）に受信した場合には低優先度のキュー２５からの送信を抑制する（Ｓ１０４及び１０５）。一方、ＰＡＵＳＥタイム中に別のＰＡＵＳＥフレームを受信した場合には、さらに中優先度のキュー２４からの送信を抑制する（Ｓ１０４及び１０６）。
【００１９】
そして、ＰＡＵＳＥタイムのタイマが満了するか、又はＰＡＵＳＥ終了通知（ＰＡＵＳＥフレームのタイマ値＝“０”）を受信すると、送信を抑制しているキューの送信を開始する（Ｓ１０７及び１０８）。このように、本例によれば優先度を考慮したＰＡＵＳＥ動作が可能となる。その結果、本例の場合にはＰＡＵＳＥフレームを受信しても高優先度の動画や音声等のトラフィックは中断せず、そのＱｏＳは確保される。
【００２０】
図６は、本発明による第２の実施例を示したものである。また、図７には、図４の制御フローの一例を示している。
本例ではシェーピングにより実効スループットの向上を図った輻輳制御を行なう。ここでも、先ずバッファの閾値等により輻輳を検出したスイッチ１から前段の各スイッチ２〜５へＰＡＵＳＥフレームが送信される（Ｓ２０１及び２０２）。
【００２１】
ＰＡＵＳＥフレームは、各スイッチ２〜５内部のＣＰＵ２１により検出されて（Ｓ２０３）、シェーパ３１へ渡される。次に、シェーパ３１は、送信キュー３２に対してその送出速度を本来の物理速度の５０パーセントに抑制するシェ−ピング操作を開始する（Ｓ２０４）。
【００２２】
図８及び９には、図６のシェ−ピング操作の一例を示している。
図８の例では、フレーム長時間からギャップを算出している。すなわち、各送信フレームのフレーム長時間とシェーピングレート値（５０％）に基づいたギャップを下記式より算出して生成する。
ギャップ値[sec] = フレーム長時間[sec] × (100 - シェーピングレート[%])÷ 100
【００２３】
その結果、送信キュー３２からの各送信フレーム毎に同じフレーム時間長のギャップが付加されて、例えば送信速度をその物理速度の５０パーセントに抑制するシェ−ピング操作が行なわれる。また、図９の例では、通常はΔt時間フレームを送出し続けるところを、その半分のΔ／２時間だけに抑制することによって５０％のシェーピングを実現している。
【００２４】
以降、ＰＡＵＳＥタイムのタイマが満了するか、又はＰＡＵＳＥ終了通知（ＰＡＵＳＥフレームのタイマ値＝“０”）を受信すると、シェ−ピング操作を終了して通常のデータ送信が開始される（Ｓ２０５及び２０７）。本例では、スイッチ１において輻輳が発生し得ないように前段の各スイッチ２〜５のシェーピング値（％）が予め定められる。
【００２５】
すなわち、シェーピング操作時に、前段の各スイッチ２〜５の実効送信速度の和が後段のスイッチ１の送信速度を超えないように各スイッチ２〜５のシェーピング値が定められる。このように、本例の場合にはＰＡＵＳＥフレームを受信しても各スイッチ２〜５は送信が継続できるため、ネットワーク全体としての実効スループットを向上させる輻輳制御が可能となる。
【００２６】
なお、本例を図４の第１の実施例と組み合わせて、例えば高優先キュー２３にはシェ−ピング操作を行なわないとか、また低優先キュー２５の送信を抑制する代わりにシェ−ピングの程度を８０％に上げる等の処理を行なうことで、ＱｏＳの確保及び実効スループットの向上を両立させる輻輳制御も可能である。
【００２７】
図１０は、本発明による第３の実施例を示したものである。また、図１１及び１２には、図１０の制御フローの一例を示している。
本例では、存在する複数のフローに対して公平な帯域の割り当てを行なうことにより、トラフィックの公平性を実現する輻輳制御を行なう。なお、前述した本発明による第１及び第２の各実施例が前段のスイッチ２〜５に適用されるのに対して、本例の場合は次段のスイッチ１に適用される。
【００２８】
図１０において、スイッチ１は、リンクαへの出力ポートの送信キュー４２がある一定の閾値を超えることで輻輳を検出する（Ｓ３０１）。次に、本例では送信キュー４２に滞留するパケットの属性（例えば、送信アドレスやＴＣＰ／ＵＤＰのポート番号）が分析される（Ｓ３０２）。この輻輳要因トラフィック分析ルーチンの詳細フローが図１２に示されている。
【００２９】
そこでは、先ず最近の入力フレームのＸ個（例えば、Ｘ＝１００（個））のパケットの送信元アドレスがチェックされ、その送信元アドレスをもとにＭＡＣアドレスの学習テーブルやルーティングテーブル等からなるテーブル４３（図１０）を参照して対応する入力ポートが検索される（Ｓ４０１及び４０２）。次に、検索された各入力ポート毎に受信パケット数がカウンタ４１（図１０）によってカウントされ、そのカウント値が最大となる入力ポートが特定される（Ｓ４０３及び４０４）。
【００３０】
図１３は、上記分析処理の一例を図式的に示したものである。
図１３の（ａ）は、送信キュー４２に滞留するフレーム（パケット）数が閾値に達していない場合を示している。やがて、そのフレーム数が図１３の（ｂ）に示すように閾値に達すると、本例では閾値に達したフレームを含めてそれ以前の１００フレームの送信元アドレスがチェックされ、テーブル４３を参照しながら対応する入力ポートが検索される。
【００３１】
図１０からも明らかなように、記号○、△、…はそれぞれ異なる入力ポートからのフレームを現している。従って、前記１００フレーム内の各フレーム○、△、…の数をそれぞれのカウンタ４１によって集計し、例えばフレーム○：フレーム△：フレーム…＝ｌ個：ｍ個：ｎ個、ここでｌ＞ｍ、ｎであるならば、フレーム○の入力ポートが輻輳原因と判断されて輻輳制御の対象となる（Ｓ４０３及び４０４）。
【００３２】
なお、上記の例では最大フレーム数の入力ポートを輻輳原因と判断しているが、他にも例えば全滞留フレームの内の５０％以上を占めた特定フレームの入力ポートを輻輳原因と判断するようにしてもよい。また、予め設定するフレーム数の幅で常時監視しながら、輻輳が検出された時点でそれまでの滞留フレームの情報から輻輳原因となるフローを識別するようにしてもよい。
【００３３】
図１０及び１１に戻って、スイッチ１は輻輳原因として特定したトラフィック（フレーム○）の入力ポートだけにＰＡＵＳＥフレームを送出する（Ｓ３０３）。図１０の例では、前記入力ポートに接続されるスイッチ２に対してＰＡＵＳＥフレームが送出される。従って、ＰＡＵＳＥフレームを受信したスイッチ２だけがこれまでに述べたＰＡＵＳＥ処理を開始して終了する（Ｓ３０４〜３０８）。
【００３４】
さらに、ＰＡＵＳＥフレーム内に輻輳原因のトラフィックと特定したパケットの属性（例えば、送信アドレスやＴＣＰ／ＵＤＰのポート番号、等）を設定しておき、ＰＡＵＳＥフレームを受信したスイッチ２の側でそのトラフィックのみを抑制させるようにすることも可能である。この場合、スイッチ２の側に、そのような特定の属性を識別して、対応するトラフィックを動的に抑制する機能を備えている必要がある。
【００３５】
このように、本例の場合には輻輳原因となっている特定のスイッチだけがＰＡＵＳＥ処理の対象となるため、そのスイッチだけがネットワークリソースを占有するような事態は回避され、存在する他のスイッチに対して公平な帯域の割り当てが可能となる。
【００３６】
なお、本例は輻輳を検出する側のスイッチ１に関するものであり、その前段のスイッチ２〜５に関する第１及び第２の実施例と組み合わせることにより、ＱｏＳの確保、実効スループットの向上、及びトラフィックの公平性を同時に実現する輻輳制御も可能である。
【００３７】
【発明の効果】
以上説明したように、本発明によればＱｏＳを考慮した輻輳制御が可能となる。また、本発明によれば輻輳状態と非輻輳状態の反復状況が回避され、輻輳が発生したネットワークでの実効的なスループットを向上させることができる。さらに、本発明によれば輻輳発生時に輻輳原因となる特定の送信トラフィックのみが抑制され、ネットワークリソースの公平な利用が可能となる。
【図面の簡単な説明】
【図１】ＰＡＵＳＥフレームによる従来の輻輳制御の一例を示した図である。
【図２】ＰＡＵＳＥフレームのフォーマットの一例を示した図である。
【図３】本発明が適用されるネットワーク構成の一例を示した図である。
【図４】本発明による第１の実施例を示した図である。
【図５】図４の制御フローの一例を示した図である。
【図６】本発明による第２の実施例を示した図である。
【図７】図６の制御フローの一例を示した図である。
【図８】図６のシェ−ピング操作の一例（１）を示した図である。
【図９】図６のシェ−ピング操作の一例（２）を示した図である。
【図１０】本発明による第３の実施例を示した図である。
【図１１】図１０の制御フローの一例（１）を示した図である。
【図１２】図１０の制御フローの一例（２）を示した図である。
【図１３】トラフィック分析処理の一例を図式的に示した図である。
【符号の説明】
１〜１１…スイッチ
２１…ＣＰＵ
２２…スケジューラ
２３〜２５、３２、４２…送信キュー
３１…シェーパ
４１…カウンタ
４３…テーブル
【図１】
0003970138.tif 000002
【図２】
0003970138.tif 000003
【図３】
0003970138.tif 000004
【図４】
0003970138.tif 000005
【図５】
0003970138.tif 000006
【図６】
0003970138.tif 000007
【図７】
0003970138.tif 000008
【図８】
0003970138.tif 000009
【図９】
0003970138.tif 000010
【図１０】
0003970138.tif 000011
【図１１】
0003970138.tif 000012
【図１２】
0003970138.tif 000013
【図１３】
0003970138.tif 000014