(57)【要約】【課題】  本発明の目的は、スイッチングハブ等が多段接続されるネットワークにおいて、リンクセグメントを越えた輻輳制御ができる輻輳制御装置、および、輻輳制御方法を提供することである。【解決手段】  輻輳制御システムは、ＭＡＣフレームのうちポーズフレームと呼ばれるフレームを送受信して輻輳を制御する。ＭＡＣフレームは、宛先アドレスフィールド、フレーム種別フィールド、ＭＡＣ制御命令フィールド、ＭＡＣ制御パラメータフィールドを具備している。ポーズフレームは、ＭＡＣフレームの各フィールドが次のように設定されたものである。宛先アドレスフィールドにＭＡＣフレームの宛先を示す終端ＭＡＣアドレス、フレーム種別フィールドにＭＡＣ制御プロトコルのフレームであることを示すＭＡＣ制御フレームコード、ＭＡＣ制御命令フィールドにフロー制御を指示するフロー制御命令コード、ＭＡＣ制御パラメータフィールドにフロー制御のパラメータが格納される。【選択図】  図８
2005236447.tif 000002
【特許請求の範囲】
【請求項１】
ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）フレームを送受信するシステムであって、
前記ＭＡＣフレームは、宛先アドレスフィールドと、
フレーム種別フィールドと、
ＭＡＣ制御命令フィールドと、
ＭＡＣ制御パラメータフィールドと
を具備し、
前記宛先アドレスフィールドに前記ＭＡＣフレームの宛先を示す終端ＭＡＣアドレスが格納され、
前記フレーム種別フィールドに前記ＭＡＣフレームの種別を示すコードのうちＭＡＣ制御プロトコルのフレームであることを示すＭＡＣ制御フレームコードが格納され、
前記ＭＡＣ制御命令フィールドに制御命令を示すコードのうちフロー制御を指示するフロー制御命令コードが格納され、
前記ＭＡＣ制御パラメータフィールドに前記フロー制御のパラメータが格納されるポーズフレームを送受信することにより、輻輳を制御する輻輳制御システム。
【請求項２】
請求項１に記載の輻輳制御システムにおいて、
前記終端ＭＡＣアドレスは、ユニキャストアドレスで、前記ポーズフレームを終端するポートのＭＡＣアドレスである輻輳制御システム。
【請求項３】
請求項２に記載の輻輳制御システムにおいて、
前記宛先アドレスフィールドにマルチキャストアドレスが格納された前記ポーズフレームを前記終端するポートが受信したとき、前記終端するポートの前記フロー制御を行って輻輳を制御する輻輳制御システム。
【請求項４】
請求項１から請求項３のいずれかに記載の輻輳制御システムにおいて、
前記ポーズフレームは、さらに送信元アドレスフィールドを備え、
前記送信元アドレスフィールドに示されるＭＡＣアドレスに向けて送信されるＭＡＣフレームに対して前記フロー制御を行う輻輳制御システム。
【請求項５】
請求項１から請求項４のいずれかに記載の輻輳制御システムにおいて、
前記フロー制御命令コードは、送信の中断を指示する出力中断命令コードであり、前記出力中断命令コードが設定された前記ポーズフレームを終端する装置は、前記ポーズフレームを受信した時点から前記ＭＡＣ制御パラメータフィールドに示される出力中断時間を経るまで送信を中断する輻輳制御システム。
【請求項６】
請求項５に記載の輻輳制御システムにおいて、
前記出力中断時間が０のとき、送信を再開することを示す輻輳制御システム。
【請求項７】
請求項５または請求項６に記載の輻輳制御システムにおいて、
前記ポーズフレームを生成する装置は、前記宛先アドレスフィールドに設定されるＭＡＣアドレスと前記出力中断時間とを対応させて格納する中断時間優先制御テーブルを備え、
前記終端ＭＡＣアドレスに基づいて前記中断時間優先制御テーブルを参照して前記出力中断時間を決定し、前記ポーズフレームを生成して送信する輻輳制御システム。
【請求項８】
請求項５から請求項７のいずれかに記載の輻輳制御システムにおいて、
出力中断命令コードは、０ｘ０００１（０ｘは以降が１６進数表記であることを示す）である輻輳制御システム。
【請求項９】
請求項１から請求項４のいずれかに記載の輻輳制御システムにおいて、
前記フロー制御命令コードは、送信出力の帯域を制限する帯域制限命令コードであり、前記帯域制限命令コードが設定された前記ポーズフレームを終端する装置は、前記ＭＡＣ制御パラメータフィールドに示される出力制限帯域を超えないようにシェーピングして送信する輻輳制御システム。
【請求項１０】
請求項９に記載の輻輳制御システムにおいて、
前記出力制限帯域は、伝送路の伝送容量に対する帯域の割合で示される輻輳制御システム。
【請求項１１】
請求項９または請求項１０に記載の輻輳制御システムにおいて、
前記出力制限帯域が０のとき、前記送信する帯域の制限が解除されることを示す輻輳制御システム。
【請求項１２】
請求項９から請求項１１のいずれかに記載の輻輳制御システムにおいて、
前記ポーズフレームを生成する装置は、前記宛先アドレスフィールドに設定されるＭＡＣアドレスと前記出力制限帯域とを対応させて格納する出力帯域優先制御テーブルを備え、
前記終端ＭＡＣアドレスに基づいて前記出力帯域優先制御テーブルを参照して前記出力制限帯域を決定し、前記ポーズフレームを生成して送信する輻輳制御システム。
【請求項１３】
請求項９から請求項１２のいずれかに記載の輻輳制御システムにおいて、
前記帯域制限命令コードは、０ｘ１００１である輻輳制御システム。
【請求項１４】
ＭＡＣフレームを生成して送信する輻輳制御装置であって、
前記ＭＡＣフレームは、
宛先アドレスフィールドと、
フレーム種別フィールドと、
ＭＡＣ制御命令フィールドと、
ＭＡＣ制御パラメータフィールドとを備え、
前記宛先アドレスフィールドに前記ＭＡＣフレームを終端するポートのＭＡＣアドレスを示す終端ＭＡＣアドレスが格納され、前記フレーム種別フィールドに前記ＭＡＣフレームの種別を示すコードのうちＭＡＣ制御プロトコルのフレームであることを示すＭＡＣ制御コードが格納され、前記ＭＡＣ制御命令フィールドに制御命令を示すコードのうちフロー制御を指示するフロー制御命令コードが格納され、前記ＭＡＣ制御パラメータフィールドに前記フロー制御のパラメータが格納されるポーズフレームを前記終端ＭＡＣアドレスで示される前記ポートに送信して前記フロー制御を指示する輻輳制御装置。
【請求項１５】
請求項１４に記載の輻輳制御装置において、
前記フロー制御命令コードは、送信の中断を指示する出力中断命令コードであり、
前記ＭＡＣ制御パラメータフィールドに送信を中断する出力中断時間を格納した前記ポーズフレームを送信する輻輳制御装置。
【請求項１６】
請求項１５に記載の輻輳制御装置において、
前記出力中断時間を０にした前記ポーズフレームを送信することにより中断している送信の再開を指示する輻輳制御装置。
【請求項１７】
請求項１５または請求項１６に記載の輻輳制御装置において、
前記宛先アドレスフィールドに設定されるＭＡＣアドレスと前記出力中断時間とを対応させて格納する中断時間優先制御テーブルを備え、
前記終端ＭＡＣアドレスに基づいて前記中断時間優先制御テーブルを参照して決定した前記出力中断時間を格納した前記ポーズフレームを生成して送信する輻輳制御装置。
【請求項１８】
請求項１４に記載の輻輳制御装置において、
前記フロー制御命令コードは、送信出力の帯域を制限する帯域制限命令コードであり、
前記ＭＡＣ制御パラメータフィールドに送信を制限する帯域を示す出力制限帯域を格納した前記ポーズフレームを送信する輻輳制御装置。
【請求項１９】
請求項１８に記載の輻輳制御装置において、
前記出力制限帯域を０にした前記ポーズフレームを送信することにより出力の制限の解除を指示する輻輳制御装置。
【請求項２０】
請求項１８または請求項１９に記載の輻輳制御装置において、
前記宛先アドレスフィールドに設定されるＭＡＣアドレスと前記出力制限帯域とを対応させて格納する制限帯域優先制御テーブルを備え、
前記終端ＭＡＣアドレスに基づいて前記制限帯域優先制御テーブルを参照して決定した前記出力制限帯域を格納した前記ポーズフレームを生成して送信する輻輳制御装置。
【請求項２１】
ＭＡＣフレームを送受信する輻輳制御装置であって、
前記ＭＡＣフレームは、
宛先アドレスフィールドと、
フレーム種別フィールドと、
ＭＡＣ制御命令フィールドと、
ＭＡＣ制御パラメータフィールドとを備え、
前記宛先アドレスフィールドに前記ＭＡＣフレームの宛先を示す終端ＭＡＣアドレスが格納され、前記フレーム種別フィールドに前記ＭＡＣフレームの種別を示すコードのうちＭＡＣ制御プロトコルのフレームであることを示すＭＡＣ制御コードが格納され、前記ＭＡＣ制御命令フィールドに制御命令を示すコードのうちフロー制御を指示するフロー制御命令コードが格納され、前記ＭＡＣ制御パラメータフィールドに前記フロー制御のパラメータが格納されるポーズフレームを受信し、受信した前記ポーズフレームを前記終端ＭＡＣアドレスで示される前記ポートに送信する輻輳制御装置。
【請求項２２】
請求項２１に記載の輻輳制御装置において、
前記フロー制御命令コードは、送信出力の中断を示す出力中断命令コードであり、
前記ＭＡＣ制御パラメータフィールドに送信を中断する出力中断時間を格納した前記ポーズフレームを受信し、受信した前記ポーズフレームを前記終端ＭＡＣアドレスで示される前記ポートに送信する輻輳制御装置。
【請求項２３】
請求項２１に記載の輻輳制御装置において、
前記フロー制御命令コードは、送信の帯域を制限する帯域制限命令コードであり、前記ＭＡＣ制御パラメータフィールドに送信を制限する帯域を示す出力制限帯域を格納した前記ポーズフレームを受信し、受信した前記ポーズフレームを前記終端ＭＡＣアドレスで示される前記ポートに送信する輻輳制御装置。
【請求項２４】
ＭＡＣフレームを受信して終端する輻輳制御装置であって、
前記ＭＡＣフレームは、
宛先アドレスフィールドと、
フレーム種別フィールドと、
ＭＡＣ制御命令フィールドと、
ＭＡＣ制御パラメータフィールドとを備え、
前記宛先アドレスフィールドに前記ＭＡＣフレームの宛先を示す終端ＭＡＣアドレスが格納され、前記フレーム種別フィールドに前記ＭＡＣフレームの種別を示すコードのうちＭＡＣ制御プロトコルのフレームであることを示すＭＡＣ制御コードが格納され、前記ＭＡＣ制御命令フィールドに制御命令を示すコードのうちフロー制御を指示するフロー制御命令コードが格納され、前記ＭＡＣ制御パラメータフィールドに前記フロー制御のパラメータが格納されるポーズフレームを受信し、
前記ポーズフレームにより指示される前記フロー制御を行う輻輳制御装置。
【請求項２５】
請求項２４に記載の輻輳制御装置において、
前記終端ＭＡＣアドレスは、前記ポーズフレームを受信したポートのＭＡＣアドレスである輻輳制御装置。
【請求項２６】
請求項２４または請求項２５に記載の輻輳制御装置において、
前記フロー制御命令コードは、送信の中断を示す出力中断命令コードであり、前記ＭＡＣ制御パラメータフィールドに送信を中断する出力中断時間を格納した前記ポーズフレームを受信し、前記ポーズフレームを受信してから前記出力中断時間が経過するまで送信を中断する輻輳制御装置。
【請求項２７】
請求項２６に記載の輻輳制御装置において、
前記ポーズフレームは、前記ポーズフレームを生成して送信した送信ポートのＭＡＣアドレスを格納する発信元アドレスフィールドをさらに備え、
前記送信ポートに対する送信を中断する輻輳制御装置。
【請求項２８】
請求項２６または請求項２７に記載の輻輳制御装置において、
前記出力中断時間が０である前記ポーズフレームを受信したとき、中断している送信を再開する輻輳制御装置。
【請求項２９】
請求項２４または請求項２５に記載の輻輳制御装置において、
前記フロー制御命令コードは、出力の帯域を制限する帯域制限命令コードであり、前記ＭＡＣ制御パラメータフィールドに出力を制限する帯域を示す出力制限帯域を格納した前記ポーズフレームを受信し、送信する帯域が出力制限帯域を越えないようにシェーピングする輻輳制御装置。
【請求項３０】
請求項２９に記載の輻輳制御装置において、
前記ポーズフレームは、前記ポーズフレームを生成して送信した送信ポートのＭＡＣアドレスを格納する発信元アドレスフィールドをさらに備え、
前記送信ポートに対して送信する帯域が前記出力制限帯域を越えないようにシェーピングする輻輳制御装置。
【請求項３１】
請求項２９または請求項３０に記載の輻輳制御装置において、
前記出力制限帯域が０である前記ポーズフレームを受信したとき、帯域制限を解除する輻輳制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ポイントツーポイント接続されて全二重通信をする機器の輻輳を制御する方法およびそれを用いる装置に関する。
【背景技術】
【０００２】
ブロードバンド・アクセス・ネットワークの普及が進み、大容量のデータを短時間で伝送することが可能になり、動画・音声などのリアルタイム通信が本格化している。リアルタイム通信では、その実時間性を満足させるためにＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）が用いられることが多い。ＵＤＰはＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）とは異なり、エラー訂正・再配信要求などの機能を持たない高速で軽量なプロトコルである。したがって、パケットが失われた時のレポートの仕組みを備えていない。このため、インターネット上のストリーミングでは、パケットロスが発生し、通信品質劣化の要因となっている。リアルタイム系のパケットを効率的に転送するためには、パケットロスを無くし、遅延時間を短くすることが重要である。
【０００３】
実時間性を要求するアプリケーションなどのパケットを優先的に処理することにより、このような通信品質劣化に対応しようとする例えば、ＩｎｔＳｅｒｖ、ＤｉｆｆＳｅｒｖ等の技術が開発されている。ＩｎｔＳｅｒｖ（Ｉｎｔｅｇｒａｔｅｄ  Ｓｅｒｖｉｃｅｓ）は、エンド・ホスト間での優先制御を行うサービスモデルで、ＲＳＶＰ（ネットワーク資源（帯域）予約プロトコル）等のシグナリング・プロトコルにより、ネットワークの帯域を予約するものである。個別アプリケーションのパケット流に対する通信品質の保証を行うことになる。しかし、ＩｎｔＳｅｒｖを実現するＲＳＶＰが複雑であり、運用する上で拡張性がないという欠点がある。また、ＷＡＮ帯域のブロードバンド化の中で、全てのリアルタイム系パケットに対して、固定的な帯域を確保することは現実的ではない。
【０００４】
ＤｅｆｆＳｅｒｖ（Ｄｉｆｆｅｒｎｔｉａｔｅｄ  Ｓｅｒｖｉｃｅｓ）は、インターネットユーザが、送受信するトラフィックの種類を識別し、その種類に応じた通信品質を提供する技術である。これは、複数の優先クラス間で相対的な転送性能差をつけることにより優先制御を行う。ＤｉｆｆＳｅｒｖでは、シグナリング手順を行わず、ユーザが転送するパケットそれぞれに優先情報が付加されるため、大規模化への対応性に優れている。しかし、ネットワークトラフィックが急峻に増大した場合、パケットロスを防止できない場合があり、アプリケーションの品質へ影響を及ぼしてしまう。
【０００５】
このように、インターネットにおいてはパケットロスを生じる輻輳を回避することは実質的に困難であるため、発生した輻輳を効率よく解消する輻輳制御技術が望まれる。これまで、輻輳制御技術としてＩＥＥＥ８０２．３ｘが広く用いられている。ＩＥＥＥ８０２．３ｘは、イーサネット（登録商標）おいて、ポイントツーポイント接続された機器で全二重通信をする場合に用いる輻輳制御技術である。受信側の機器から送信側の機器に対して、ＭＡＣ制御フレームを送信することにより“停止／再開”式の輻輳制御を実現している。ＩＥＥＥ８０２．３ｘ技術を用いた従来の輻輳制御について、図１〜図４を参照して説明する。
【０００６】
まず、イーサネット（登録商標）においてデータを送受する単位となるフレームについて説明する。これは、ＭＡＣ層のフレームであるため、ＭＡＣフレームと称される。図１にＭＡＣフレームのフィールド構成が示されている。イーサネット（登録商標）におけるＭＡＣフレームは、ＩＥＥＥ８０２．３仕様（以下ＩＥＥＥ仕様）、ＤＩＸ規格Ｅｔｈｅｒｎｅｔ（登録商標）  ｖｅｒ．２（以下ＤＩＸ仕様）の２つのフレームフォーマットがある。これらの仕様の大きな違いは、ＩＥＥＥ仕様は、上位プロトコルにＬＣＣがのることを前提にしているのに対し、ＤＩＸ仕様では上位に種々のプロトコルがのることを前提にしている。フィールドの区切り位置や名称等が異なっているが、どちらの仕様のＭＡＣフレームも同じネットワークで共存できるように規定されているため、共通的なフォーマットとして扱われることが多い。ＭＡＣフレーム１のフォーマットは、図１に示されるように、プリアンブル１１、フレーム開始デリミタ１２、宛先ＭＡＣアドレス１３、送信元ＭＡＣアドレス１４、Ｌｅｎｇｔｈ／Ｔｙｐｅ１５、データ部１６、ＰＡＤ１７、ＦＣＳ１８のフィールドを備えている。
【０００７】
プリアンブル１１は、７オクテットのフレーム同期用のフィールドであり、内容は１、０の交番符号である。フレーム開始デリミタ（ＳＦＤ：Ｓｔａｒｔ  Ｆｒａｍｅ  Ｄｅｌｉｍｉｔｅｒ）１２は、フレームの開始を識別するための符号が設定されるフィールドである。設定される符号は、１０１０１０１１という１オクテットのコードである。このフィールドは、ＩＥＥＥ仕様の場合のみ使われる。ＤＩＸ仕様フレームのプリアンブルは、８オクテットで内容が１、０、１、０、．．．１、０、１、１であり、ＩＥＥＥ８０２．３仕様のプリアンブル１１とフレーム開始デリミタ１２を併せたものと同じになる。
【０００８】
宛先ＭＡＣアドレス１３は、６オクテットで記述された、このフレームの宛先を示すアドレス（ＭＡＣアドレス）を示すフィールドである。送信元ＭＡＣアドレス１４は、６オクテットで記述された、このフレームの送信元のアドレス（ＭＡＣアドレス）を示すフィールドである。
【０００９】
Ｌｅｎｇｔｈ／Ｔｙｐｅ１５は、２オクテットのフィールドである。このフィールドは、ＩＥＥＥ仕様とＤＩＸ仕様では、同じ位置にあるが、全く違った意味になっている。ＩＥＥＥ仕様では、この後に続くＬＬＣ（Ｌｏｇｉｃａｌ  Ｌｉｎｋ  Ｃｏｎｔｒｏｌ：論理リンク制御）部分の長さを表わす。ＤＩＸ仕様では、フレームの種類（フレームタイプ）を表わす。どちらの仕様のフレームか識別できるようにＤＩＸ仕様で使うフレームタイプは、ＬＬＣ部分の最大長である１５００より大きな値が使われている。従って、ＤＩＸ仕様のフレームとＩＥＥＥ仕様のフレームが同じネットワークで共存できるようになっている。
【００１０】
データ部１６は、フィールド長が４６〜１５００オクテットのフィールドである。ＩＥＥＥ仕様では、ＬＬＣのＰＤＵ（Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｕｎｉｔ）が続く。ＤＩＸ仕様では、種々の上位プロトコルのパケットになり、このフィールドは、最低フレームサイズを満足するため４６バイト以上の長さでなければならない。ＩＥＥＥ仕様の場合には、この後に続くＰＡＤ部で調整するので最低サイズは決められていない。
【００１１】
ＰＡＤ１７は、ＩＥＥＥ仕様の場合にのみ使われるフィールドで、フレームの最低サイズ６４オクテットにするために不足する部分を補うダミーデータのフィールドである。フレームチェックシーケンス（ＦＣＳ：Ｆｒａｍｅ  Ｃｈｅｃｋ  Ｓｅｑｕｅｎｃｅ）１８は、４オクテットで、誤り検出のために使用されるフィールドである。フレームのプリアンブル１１、フレーム開始デリミタ１２、ＦＣＳ１８部分を除いた部分について３２ビットのＣＲＣを計算して付加される。
【００１２】
このような構成のＭＡＣフレームによりステーション間でデータの授受を行っている。ステーション間での送受信処理をリアルタイムで制御する場合、ＭＡＣフレーム１のＬｅｎｇｔｈ／Ｔｙｐｅ１５に０ｘ８８０８（“０ｘ”は、続く数値が１６進数であることを示す）が設定されたＭＡＣ制御フレーム２が用いられる。図2は、ＭＡＣ制御フレーム２のフィールド構成を示している。ＭＡＣ制御フレーム１のデータ部１６は、４６オクテットに固定され、ＭＡＣ制御命令２１、ＭＡＣ制御パラメータ２２、ＰＡＤ２３のフィールドに分割されている。
【００１３】
ＭＡＣ制御命令２１は、最初の２オクテットのフィールドで、操作コードが設定される。ＭＡＣ制御フレーム２を受信したステーションは、そのコードによって様々な制御を行うようになっている。
【００１４】
次の２オクテットは、ＭＡＣ制御パラメータ２２のフィールドで、ＭＡＣ制御命令２１により指示される制御のパラメータが設定される。
【００１５】
なお、Ｌｅｎｇｔｈ／Ｔｙｐｅ１５のフィールドには０ｘ８８０８が設定されるが、ＭＡＣ制御プロトコルをサポートしていないステーションがこのＭＡＣ制御フレーム受信した場合は、単に無視すればよい。
【００１６】
ＩＥＥＥ８０２．３ｘにおいて、ＭＡＣ制御プロトコルでフロー制御を行う場合は、ポーズコマンドを使用する。ポーズコマンドは、図３に示されるように、ＭＡＣ制御フレームの宛先ＭＡＣアドレス１３に０１−８０−Ｃ２−００−００−０１（１６進数表記、６オクテット）、ＭＡＣ制御命令２１に０ｘ０００１、ＭＡＣ制御パラメータ２２に中断時間を指定したポーズフレームを使用する。ポーズフレームを受信したステーションは、ＭＡＣ制御パラメータ２２に指定されている値に基づいて送信を中断する。中断時間は、次のように計算する。
【００１７】
中断時間＝（ＭＡＣ制御パラメータ２２に指定された値）×５１２ビット時間
ここで、ビット時間は、１ビットを伝送する時間であり、伝送速度により異なる。また、５１２ビットは、フレームの最小サイズ（６４オクテット×８ビット）である。
【００１８】
また、宛先ＭＡＣアドレス１３に指定する０１−８０−Ｃ３−００−００−０１というアドレスは、ポーズフレーム用に予約されている特別なマルチキャストアドレスである。マルチキャストアドレスを使用するのは、送信を中断させたいステーションのＭＡＣアドレスを特定しなくてもよいようにするためである。通常、スイッチングハブなどは、宛先がマルチキャストアドレスであるフレームは、他の全てのセグメントに中継することになっている。しかし、ポーズフレームを受信した場合は、受信したスイッチングハブに対する指示であるため、他のセグメントにポーズフレームを中継しないようになっている。
【００１９】
ステーションＡにおいて、バッファの空容量が残り少なくなったときに、ポーズフレームを対向するステーションＢに送信する。ステーションＢは、指定された中断時間だけ、ステーションＡへの送信を中断する。ステーションＢが送信を中断している間にステーションＡが輻輳状態から回復した場合は、ステーションＡは、ＭＡＣ制御パラメータ２２に”０”つまり中断時間０を指定してステーションＢの送信中断を解除することもできる。ステーションＢが送信を中断すると、その間にステーションＡの出力処理が進み、バッファに余裕ができることになり、ステーションＡは、輻輳状態から回復することができる。
【００２０】
このようなＩＥＥＥ８０２．３ｘ技術を用いて輻輳制御を行うネットワークについて説明する。図４は、そのネットワークの構成を示す図である。ネットワークは、１００Ｍ全二重ＬＡＮで、スイッチングハブ３１〜３３、機器４１〜４８を備えている。機器４１〜４８は、機器４１、４２、４４〜４６、４８はサーバを、機器４３と機器４７は端末である。
【００２１】
スイッチングハブ３３は、ポートＡからサーバ４５に、ポートＢからサーバ４６に、ポートＣから端末４７に、ポートＤからサーバ４８に接続されている。スイッチングハブ３２は、ポートＡから端末４３に、ポートＢからサーバ４４に、ポートＤからスイッチングハブ３３のポートＥに接続されている。スイッチングハブ３１は、ポートＡからサーバ４１に、ポートＢからサーバ４２に、ポートＤからスイッチングハブ３２のポートＥに接続されている。スイッチングハブ３１は、さらにポートＥから他のネットワークに接続されている。なお、スイッチングハブ３１〜３３に関する動作については、当業者にとってよく知られており、また本発明とは直接関係しないので、その詳細な構成は省略する。
【００２２】
このように構成されるネットワークにおける輻輳に関連する動作を説明する。説明を簡単にするために、機器４１〜４８からスイッチングハブ３１を経由して他のネットワークに到達するフレームのトラフィックだけに注目する。スイッチングハブ３１から他のネットワークに出力されるフレームの最大トラフィック（帯域）を１００％とした場合に、機器４１〜４８のそれぞれから他のネットワークに出力されるフレームの最大トラフィック（帯域）を、５％、３０％、５％、２０％、２０％、２０％、１０％、１０％とする。機器４１〜４８の最大トラフィックの合計は、１２０％になるが、定常的に最大トラフィックで交信しているわけではなく、この最大トラフィック以下のトラフィックで他のネットワークと交信しているため、スイッチングハブ３１で輻輳は発生しない。しかし、機器４１〜４８が全て同時に最大トラフィックでフレームを出力した場合、スイッチングハブ３１のトラフィックは１２０％となり、輻輳が発生する。
【００２３】
輻輳が発生した場合の動作について、図５を参照して説明する。まず、図５において、機器Ｘはスイッチングハブ３１、機器Ｙはスイッチングハブ３２、機器Ｚは機器４３または機器４４を表わすものとする。
【００２４】
スイッチングハブ３１は、時刻ｔ１１から輻輳状態になったとする。受け取るフレームが無いものとすると、スイッチングハブ３１は、出力処理が進み、時刻ｔ１２まで輻輳状態が続く。スイッチングハブ３１は、時刻ｔ１２に余裕をみた時刻までの時間を中断時間Ｔとして、ポーズフレームＰ（Ｔ）をポートＤからスイッチングハブ３２のポートＥに送出する（Ｆ１１）。このとき、ポーズフレームの宛先ＭＡＣアドレスは、マルチキャストアドレス（０１−８０−Ｃ２−００−００−０１）である。時刻ｔ１３にポーズフレームＰ（Ｔ）を受け取ったスイッチングハブ３２は、宛先がマルチキャストアドレスであるが、ポーズフレームであるため、他のセグメント、つまり、機器４３、４４、スイッチングハブ３３との接続に対してポーズフレームを中継せず、受信したスイッチングハブ３２に対する指示として終端する。したがって、スイッチングハブ３２は、時刻ｔ１４までの時間Ｔの間、スイッチングハブ３１に対するフレームの出力を中断する。
【００２５】
スイッチングハブ３２は、ポーズフレームＰ（Ｔ）を他のセグメントに送出しないため、時刻ｔ１５において機器４３（または４４）からスイッチングハブ３２のポートＡ（またはＢ）にデータフレームＤが送られてくる（Ｆ１２）。受け取ったデータフレームＤは、中断時間Ｔが経過した後、時刻ｔ１６においてスイッチングハブ３２のポートＥからスイッチングハブ３１のポートＤに送出される（Ｆ１３）。
【００２６】
ここで、輻輳が予想していた時間より早く解消した場合について図６を参照して説明する。図５の場合と同様に、図６の機器Ｘ、Ｙ、Ｚは、スイッチングハブ３１、３２、機器４３と読み替える。
【００２７】
スイッチングハブ３１は、時刻ｔ２１から時刻ｔ２２まで輻輳状態であるとする。スイッチングハブ３１は、解消時間をＴと予想して、中断時間Ｔが設定されたポーズフレームＰ（Ｔ）をポートＤからスイッチングハブ３２のポートＥに送出する（Ｆ２１）。時刻ｔ２３にポーズフレームＰ（Ｔ）を受け取ったスイッチングハブ３２は、時刻ｔ２４までの時間Ｔの間、スイッチングハブ３１に対するフレームの出力を中断する。
【００２８】
輻輳が解消した時刻ｔ２２の後、スイッチングハブ３１は、ポートＤから中断時間を０にしたポーズフレームＰ（０）をスイッチングハブ３２のポートＥに対して送出する（Ｆ２３）。スイッチングハブ３２は、中断時間Ｔが経過する前の、中断時間０のポーズフレームを受け取った時刻ｔ２４にスイッチングハブ３１に対する出力中断を解除する。
【００２９】
スイッチングハブ３２は、出力中断中の時刻ｔ２５に機器４３からデータフレームＤを受け取っている（Ｆ２２）。この出力中断中に受け取ったデータフレームＤは、出力中断解除後の時刻ｔ２６にスイッチングハブ３１のポートＤに向けて送出される（Ｆ２４）。
【００３０】
このように、ＩＥＥＥ８０２．３ｘの輻輳制御は、制御輻輳が解消すると、直ちに通常の動作に移行できるようになっている。しかし、この輻輳制御技術では、輻輳の原因となっている機器に対して直接フロー制御を行っていない。そのため、図７に示されるように、ネットワークに接続される他の機器に対して影響が波及することがある。
【００３１】
上述の同様に、図７の機器Ｘ、Ｙ、Ｚは、スイッチングハブ３１、３２、機器４３（または４４）と読み替える。スイッチングハブ３１は、時刻ｔ３１から時刻ｔ３２まで輻輳状態であるとする。スイッチングハブ３１は、解消時間をＴと予想して、中断時間Ｔが設定されたポーズフレームＰ（Ｔ）をポートＤからスイッチングハブ３２のポートＥに送出する（Ｆ３１）。
【００３２】
時刻ｔ３３にポーズフレームＰ（Ｔ）を受け取ったスイッチングハブ３２は、時刻ｔ３４までの時間Ｔの間、スイッチングハブ３１に対するフレームの出力を中断する。その出力中断中の時刻ｔ３５にスイッチングハブ３２は、機器４３（または４４）からデータフレームＤを受け取る（Ｆ３２）。このとき、既に入力バッファの空容量が残り少なくなっていると、スイッチングハブ３２も輻輳状態になる。スイッチングハブ３２は、受け取るデータフレームを抑制するために、中断時間Ｔ’を設定したポーズフレームＰ（Ｔ’）を機器４３、４４、スイッチングハブ３３に送出する（Ｆ３３）。ポーズフレームＰ（Ｔ’）を受け取った機器４３、４４は、時刻ｔ３７からｔ３８までの中断時間Ｔ’を設定して出力中断状態になる。
【００３３】
スイッチングハブ３３は、ポーズフレームＰ（Ｔ’）を受け取ると、スイッチングハブ３２に接続されているポートＥの出力を中断する。このときスイッチングハブ３３の入力バッファの空容量が残り少なくなっているとスイッチングハブ３３もスイッチングハブ３２と同様に輻輳状態になる。したがって、図７の機器Ｘがスイッチングハブ３２、機器Ｙがスイッチングハブ３３、機器Ｚが機器４５〜４８に読み替えた状態となり、ポーズフレームを下流の機器に対して送出する。
【００３４】
このようにして、輻輳の原因となっている機器に対するポーズ制御は、次々と伝搬していく。
【００３５】
つまり、ポーズフレームは、リンクセグメントに限定された範囲でしか効力がなく、ポーズフレームをＬＡＮスイッチの別のセグメントへ透過させることは出来ない。このため、スイッチングハブが多段接続されたＬＡＮにおいてこの技術を適用した場合、輻輳の原因となっている機器に対して直接制御できないため、優先度の高い機器に対しても影響を及ぼすという問題があった。また、この技術の適用により、パケットロスを防ぐことは可能となるが、遅延に敏感なアプリケーションに対して影響を及ぼすという問題があった。
【００３６】
輻輳制御（フロー制御）は、これまで様々な方法が考案されている。特表平１１−５０６２８７号公報には、半二重イーサネット（登録商標）スイッチにおけるバックプレッシャー方式のフロー制御方法の技術が記載されている。これによると、フロー制御可能イーサネット（登録商標）スイッチは、使用中の行先ポートにデータパケットを送信しようと試みる入力ポートに背圧を与える。背圧はファントムパケットであり、ＩＥＥＥ８０２．３衝突検出システムを活性化してデータパケットの送信を打切る。後続の一連のファントムパケット（無効なもの）は、キャリア活動を提供し、これはパケットの再送信を禁じる。行先ポートが利用可能であると、ファントムパケットは停止され、データパケットの標準の再送信を可能にする。スイッチは優先順位付け機構（たとえばスロットルカウント）を含み、これを背圧が付与されているポートに優先順位を与えるのに用いる。
【００３７】
特表平１１−５０６２８８号公報には、全二重イーサネット（登録商標）スイッチにおけるバックプレッシャー方式のフロー制御方法の技術が記載されている。これによると、フロー制御可能イーサネット（登録商標）スイッチは、使用中の行先ポートにデータパケットを送信しようと試みる入力ポートに背圧を与える。背圧はファントムパケットであり、データパケットの送信を打切るように活性化する。行先ポートが利用可能であると、ファントムパケットは再送信を制御し、データパケットの標準の再送信を可能にする。スイッチは優先順位付け機構を含んでもよく、これを背圧が付与されているポートに優先順位を与えるのに用いる。
【００３８】
特開２００３−３４８１４４号公報によれば、各出力ポートにフロー毎の出力バッファを設けることなく、出力バッファ間の複雑な読み出し制御を行うことなく帯域制御を行う技術が知られている。ポート制御部２０＃１〜２０＃ｎは各入力ポート＃１〜＃ｎに共通の出力バッファを有している。パケット転送処理部は、ポート制御を介してパケットを受信した場合に、その送信先を判断して受信パケットをその送信先に対応するポート制御部の出力バッファに転送する。帯域制御部は、パケットの転送流量を測定してその測定量に基づいてその送信元に送信停止パケットを送信する。例えば、入力ポート毎及び出力ポート毎の個別超過流量が０より大きいか、また出力ポート毎のポート超過流量が０より大きく、なおかつ個別転送流量が最低保証帯域を超えている場合に送信停止パケットを送信するというものである。
【００３９】
特開２００２−３７４２７２号公報によれば、これまで適切に処理することができなかった音声などのリアルタイム性の高いデータパケットをブロードキャストする技術が知られていている。この技術によるネットワークにおいて利用されるスイッチングハブは、ＰＨＹ部、ポート優先制御部、スイッチ部を備えている。ＰＨＹ部は、宛先に関する宛先情報を含むパケットを受信し、その受信したパケットを送信するためのポート１〜Ｌを保有する。ポート優先制御部は、接続の状態に応じたポート１〜Ｌについての送信の優先順位を保持する。スイッチ部は、受信されたパケットの宛先情報を検査し、その検査の結果、宛先情報がネットワークに対するブロードキャストを行うための情報であった場合には、保持されている送信の優先順位に基づいて受信されたパケットの送信を行うべきポート１〜Ｌの順位をＰＨＹ部１に指示する。
【００４０】
特開２００２−２４７０６７号公報によれば、流れるフレームの質・量に応じて動的にネットワークの帯域割り当てを制御することのできる帯域制御装置を提供する技術が知られている。帯域制御装置は、ローカルエリアネットワークに接続するインタフェースを有している。帯域制御装置は、ネットワークを流れるフレームを監視し、ＩＴＵ−Ｔ勧告論理チャンネル開設フレームを受信した場合には、そのフレームを解析してＲＴＰセッションが使用するＵＤＰポート番号を調べる。調べた結果により、トランスポート層プロトコルがＵＤＰでポート番号が前記ＵＤＰポート番号であるフレームに対して帯域を確保するように中継装置に対して要求を行う。Ｈ．２４５論理チャンネル終結フレームを受信した場合には、確保していた帯域を解放するように中継装置２０４に対して要求を行う。
【００４１】
特開２００２−１１１６８８号公報によれば、サブネット内の発生帯域情報に基づく動的な帯域制御を可能とする技術が知られている。ネットワークにそれぞれ通信アプリケーションプログラムで動作する複数のノードが接続されたネットワークシステムにおいて、ノードのそれぞれが、送信レート制御モジュール、帯域情報管理テーブル、帯域情報送信モジュール、帯域情報受信モジュールを有している。送信レート制御モジュールは、通信帯域を制御するために必要な通信属性を通信アプリケーションプログラムから取得する。帯域情報管理テーブルは、取得された通信属性を記憶する。帯域情報送信モジュールは、前記自ノードの帯域情報をネットワークに接続された他のノード全部に配信する。帯域情報受信モジュールは、他ノードの帯域情報送信モジュールにより配信された帯域情報を受信して帯域情報管理テーブルに記憶する。
【００４２】
特開２０００−３５４０５７号公報によれば、スイッチングハブを介したエンド・トゥ・エンドでのデータ通信の優先制御を可能とする技術が知られている。
【００４３】
スイッチングハブ２が接続されているルータは、スイッチングハブに対してパケットの送信先ＭＡＣアドレスとその送信先ＭＡＣアドレスをもつパケットが有するIP Precedence値を、情報パケットを使用してスイッチングハブに通知する。スイッチングハブは、情報パケットの内容（パケットの送信先ＭＡＣアドレスとその送信先ＭＡＣアドレスをもつパケットが有するIP Precedence値）をブリッジテーブルに登録する。パケット送信時に送信先端末装置がどのインタフェースに接続されているかをブリッジテーブルによって検索する際に、スイッチングハブは、その端末装置１へのパケットがもつIP Precedence値も検索し、そのクラスが示す優先度に応じたデータ転送を実施する。
【００４４】
特開２０００−２０９２５０号公報によれば、スイッチングハブにおけるポート毎の優先度を指定したフロー制御方式に関する技術が知られている。スイッチングハブは、複数のポートで受信した端末からのデータをバッファに格納する。このバッファ内のデータ量があるしきい値を超えたとき、各ポートに接続されている端末に対して送信停止時間をパラメータに持つ送信停止指示を出す。受信を休止するスイッチングハブにおいて、送信停止時間を各ポート毎に異なる値とする。
【００４５】
【特許文献１】特表平１１−５０６２８７
【特許文献２】特表平１１−５０６２８８
【特許文献３】特開２００３−３４８１４４
【特許文献４】特開２００２−３７４２７２
【特許文献５】特開２００２−２４７０６７
【特許文献６】特開２００２−１１１６８８
【特許文献７】特開２０００−３５４０５７
【特許文献８】特開２０００−２０９２５０
【発明の開示】
【発明が解決しようとする課題】
【００４６】
本発明の目的は、スイッチングハブ等が多段接続されるネットワークにおいて、リンクセグメントを越えた輻輳制御ができる輻輳制御装置、および、輻輳制御方法を提供することである。
【００４７】
本発明の他の目的は、輻輳時においても遅延に敏感なアプリケーションに与える影響が少ない輻輳制御装置、および、輻輳制御方法を提供することである。
【００４８】
また、本発明の他の目的は、優先順位を有する輻輳制御を行う輻輳制御装置、および、輻輳制御方法を提供することである。
【００４９】
さらに、本発明の他の目的は、従来技術による装置との親和性の高いインターフェースを備える輻輳制御装置、および、輻輳制御方法を提供することである。
【００５０】
また、本発明の他の目的は、既存のデバイスに低コストで実装可能な輻輳制御方法を提供することである。
【課題を解決するための手段】
【００５１】
以下に、［発明を実施するための最良の形態］で使用される番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］との対応関係を明らかにするために付加されたものである。ただし、それらの番号・符号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００５２】
本発明の観点では、ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）フレームを送受信するシステムである輻輳制御システムは、ＭＡＣフレームのうちポーズフレームと呼ばれるフレームを送受信して輻輳を制御するシステムである。前記ＭＡＣフレームは、宛先アドレスフィールド、フレーム種別フィールド、ＭＡＣ制御命令フィールド、ＭＡＣ制御パラメータフィールドを具備している。ポーズフレームは、ＭＡＣフレームのうち、各フィールドが以下のように設定されたものである。前記宛先アドレスフィールドに前記ＭＡＣフレームの宛先を示す終端ＭＡＣアドレス、前記フレーム種別フィールドに前記ＭＡＣフレームの種別を示すコードのうちＭＡＣ制御プロトコルのフレームであることを示すＭＡＣ制御フレームコード、前記ＭＡＣ制御命令フィールドに制御命令を示すコードのうちフロー制御を指示するフロー制御命令コード、前記ＭＡＣ制御パラメータフィールドに前記フロー制御のパラメータが格納される。前記ポーズフレームの前記ＭＡＣ制御フレームコードは、０ｘ８８０８（０ｘは続く数値が１６進表記であることを示す）である。
【００５３】
本発明の輻輳制御システムにおいて、前記終端ＭＡＣアドレスは、ユニキャストアドレスであり、前記ポーズフレームを終端するポートのＭＡＣアドレスである。
【００５４】
本発明の輻輳制御システムにおいて、前記終端するポートが、前記宛先アドレスフィールドにマルチキャストアドレスが格納された前記ポーズフレームを受信したとき、前記終端するポートの前記フロー制御を行って輻輳を制御する。このときのマルチキャストアドレスは、０１−８０−Ｃ２−００−００−０１（１６進数表記）が用いられている。
【００５５】
本発明の輻輳制御システムにおいて、前記ポーズフレームは、さらに送信元アドレスフィールドを備える。前記送信元アドレスフィールドに示されるＭＡＣアドレスに向けて送信されるＭＡＣフレームに対して前記フロー制御を行う。
【００５６】
本発明の輻輳制御システムにおいて、前記フロー制御命令コードは、送信の中断を指示する出力中断命令コードである。前記出力中断命令コードが設定された前記ポーズフレームを終端する装置（６４、６６、６８）は、前記ポーズフレームを受信した時点から前記ＭＡＣ制御パラメータフィールドに示される出力中断時間を経るまで送信を中断する。
【００５７】
本発明の輻輳制御システムにおいて、前記出力中断時間が０であるポーズフレームは、送信の中断を解除し、送信を再開することを示す。
【００５８】
本発明の輻輳制御システムにおいて、前記ポーズフレームを生成する装置（５１）は、前記宛先アドレスフィールドに設定されるＭＡＣアドレスと前記出力中断時間とを対応させて格納する中断時間優先制御テーブル（５７）を備える。前記ポーズフレームを生成する装置は、前記終端ＭＡＣアドレスに基づいて前記中断時間優先制御テーブル（５７）を参照して前記出力中断時間を決定し、前記ポーズフレームを生成して送信する。
【００５９】
本発明の輻輳制御システムにおいて、出力中断命令コードは、現在フロー制御に用いられているコードと同じ０ｘ０００１であることが好ましい。
【００６０】
本発明の輻輳制御システムにおいて、前記フロー制御命令コードは、送信出力の帯域を制限する帯域制限命令コードである。前記帯域制限命令コードが設定された前記ポーズフレームを終端する装置（８４、８６、８８）は、前記ＭＡＣ制御パラメータフィールドに示される出力制限帯域を超えないようにシェーピングして送信する。
【００６１】
本発明の輻輳制御システムにおいて、前記出力制限帯域は、伝送路の伝送容量に対する帯域の割合で示される。
【００６２】
本発明の輻輳制御システムにおいて、前記出力制限帯域が０のとき、前記送信する帯域の制限が解除されることを示す。
【００６３】
本発明の輻輳制御システムにおいて、前記ポーズフレームを生成する装置（７１）は、前記宛先アドレスフィールドに設定されるＭＡＣアドレスと前記出力制限帯域とを対応させて格納する出力帯域優先制御テーブル（７７）を備える。前記ポーズフレームを生成する装置（７１）は、前記終端ＭＡＣアドレスに基づいて前記出力帯域優先制御テーブル（７７）を参照して前記出力制限帯域を決定し、前記ポーズフレームを生成して送信する。
【００６４】
本発明の輻輳制御システムにおいて、前記帯域制限命令コードは、０ｘ１００１であることが好ましい。
【００６５】
本発明の他の観点では、輻輳制御装置（５１）は、ＭＡＣフレームを生成、送信して輻輳を制御する。前記ＭＡＣフレームは、宛先アドレスフィールド、フレーム種別フィールド、ＭＡＣ制御命令フィールド、ＭＡＣ制御パラメータフィールドを備える。ポーズフレームは、ＭＡＣフレームのうち、各フィールドが以下のように設定されたものである。前記宛先アドレスフィールドに前記ＭＡＣフレームを終端するポートのＭＡＣアドレスを示す終端ＭＡＣアドレス、前記フレーム種別フィールドに前記ＭＡＣフレームの種別を示すコードのうちＭＡＣ制御プロトコルのフレームであることを示すＭＡＣ制御コード、前記ＭＡＣ制御命令フィールドに制御命令を示すコードのうちフロー制御を指示するフロー制御命令コード、前記ＭＡＣ制御パラメータフィールドに前記フロー制御のパラメータが格納される。輻輳制御装置（５１）は、ポーズフレームを前記終端ＭＡＣアドレスで示される前記ポートに送信して前記フロー制御を指示する。
【００６６】
本発明の前記フロー制御命令コードは、送信の中断を指示する出力中断命令コードである。輻輳制御装置（５１）は、前記ＭＡＣ制御パラメータフィールドに送信を中断する出力中断時間を格納した前記ポーズフレーム（４）を送信する。出力中断命令コードは、現在フロー制御に用いられているコードと同じ０ｘ０００１であることが好ましい。
【００６７】
本発明の輻輳制御装置（５１）は、前記出力中断時間を０にした前記ポーズフレームを送信することにより中断している送信の再開を指示する。
【００６８】
本発明の輻輳制御装置（５１）は、前記宛先アドレスフィールドに設定されるＭＡＣアドレスと前記出力中断時間とを対応させて格納する中断時間優先制御テーブル（５７）を備える。輻輳制御装置（５１）は、前記終端ＭＡＣアドレスに基づいて前記中断時間優先制御テーブル（５７）を参照して決定した前記出力中断時間を格納した前記ポーズフレームを生成して送信する。
【００６９】
本発明の前記フロー制御命令コードは、送信出力の帯域を制限する帯域制限命令コードである。輻輳制御装置（７１）は、前記ＭＡＣ制御パラメータフィールドに送信を制限する帯域を示す出力制限帯域を格納した前記ポーズフレーム（５）を送信する。
【００７０】
本発明の輻輳制御装置（７１）は、前記出力制限帯域を０にした前記ポーズフレームを送信することにより出力の制限の解除を指示する。
【００７１】
本発明の輻輳制御装置（７１）は、前記宛先アドレスフィールドに設定されるＭＡＣアドレスと前記出力制限帯域とを対応させて格納する制限帯域優先制御テーブル（７７）を備える。輻輳制御装置（７１）は、前記終端ＭＡＣアドレスに基づいて前記制限帯域優先制御テーブル（７７）を参照して決定した前記出力制限帯域を格納した前記ポーズフレームを生成して送信する。
【００７２】
また、本発明の他の観点では、輻輳制御装置（５２、５３）は、ＭＡＣフレームを送受信して輻輳を制御する。前記ＭＡＣフレームは、宛先アドレスフィールド、フレーム種別フィールド、ＭＡＣ制御命令フィールド、ＭＡＣ制御パラメータフィールドとを備える。ポーズフレームは、ＭＡＣフレームのうち、各フィールドが以下のように設定されたものである。前記宛先アドレスフィールドに前記ＭＡＣフレームの宛先を示す終端ＭＡＣアドレス、前記フレーム種別フィールドに前記ＭＡＣフレームの種別を示すコードのうちＭＡＣ制御プロトコルのフレームであることを示すＭＡＣ制御コード、前記ＭＡＣ制御命令フィールドに制御命令を示すコードのうちフロー制御を指示するフロー制御命令コード、前記ＭＡＣ制御パラメータフィールドに前記フロー制御のパラメータが格納される。輻輳制御装置（５２、５３）は、ポーズフレームを受信し、受信した前記ポーズフレーム（４）を前記終端ＭＡＣアドレスで示される前記ポートに送信する。
【００７３】
本発明の前記フロー制御命令コードは、送信出力の中断を示す出力中断命令コードである。輻輳制御装置（５２、５３）は、前記ＭＡＣ制御パラメータフィールドに送信を中断する出力中断時間を格納した前記ポーズフレーム（４）を受信する。輻輳制御装置（５２、５３）は、受信した前記ポーズフレーム（４）を前記終端ＭＡＣアドレスで示される前記ポートに送信する。出力中断命令コードは、従来からフロー制御に用いられているコードと同じ０ｘ０００１であることが好ましい。
【００７４】
本発明の前記フロー制御命令コードは、送信の帯域を制限する帯域制限命令コードである。輻輳制御装置（７２、７３）は、前記ＭＡＣ制御パラメータフィールドに送信を制限する帯域を示す出力制限帯域を格納した前記ポーズフレーム（５）を受信する。輻輳制御装置（７２、７３）は、受信した前記ポーズフレーム（５）を前記終端ＭＡＣアドレスで示される前記ポートに送信する。帯域制限命令コードは、０ｘ１００１が好ましい。
【００７５】
さらに、本発明の他の観点では、輻輳制御装置（６４、６６、６８）は、ＭＡＣフレームを受信して終端することにより、輻輳を制御する。前記ＭＡＣフレームは、宛先アドレスフィールド、フレーム種別フィールド、ＭＡＣ制御命令フィールド、ＭＡＣ制御パラメータフィールドとを備える。ポーズフレーム（４）は、ＭＡＣフレームのうち、各フィールドが以下のように設定されたものである。前記宛先アドレスフィールドに前記ＭＡＣフレームの宛先を示す終端ＭＡＣアドレス、前記フレーム種別フィールドに前記ＭＡＣフレームの種別を示すコードのうちＭＡＣ制御プロトコルのフレームであることを示すＭＡＣ制御コード、前記ＭＡＣ制御命令フィールドに制御命令を示すコードのうちフロー制御を指示するフロー制御命令コード、前記ＭＡＣ制御パラメータフィールドに前記フロー制御のパラメータが格納される。輻輳制御装置（６４、６６、６８）は、ポーズフレームを受信し、前記ポーズフレームにより指示される前記フロー制御を行うことにより輻輳を制御する。
【００７６】
本発明の輻輳制御装置（６４、６６、６８）において、受信したポーズフレームの前記終端ＭＡＣアドレスは、前記ポーズフレームを受信したポートのＭＡＣアドレスである。
【００７７】
本発明の前記フロー制御命令コードは、送信の中断を示す出力中断命令コードである。輻輳制御装置（６４、６６、６８）は、前記ＭＡＣ制御パラメータフィールドに送信を中断する出力中断時間を格納した前記ポーズフレームを受信する。前記ポーズフレームを受信した輻輳制御装置（６４、６６、６８）は、前記ポーズフレームを受信してから前記出力中断時間が経過するまで送信を中断する。
【００７８】
本発明の前記ポーズフレーム（４）は、前記ポーズフレームを生成して送信した送信ポートのＭＡＣアドレスを格納する発信元アドレスフィールドをさらに備える。輻輳制御装置（６４、６６、６８）は、前記ポーズフレームを生成して送信した前記送信ポートに対する送信を中断する。
【００７９】
本発明の輻輳制御装置（６４、６６、６８）は、前記出力中断時間が０である前記ポーズフレームを受信したとき、中断している送信を再開する。
【００８０】
本発明の前記フロー制御命令コードは、出力の帯域を制限する帯域制限命令コードである。輻輳制御装置（８４、８６、８８）は、前記ＭＡＣ制御パラメータフィールドに出力を制限する帯域を示す出力制限帯域を格納した前記ポーズフレーム（５）を受信し、送信する帯域が出力制限帯域を越えないようにシェーピングする。
【００８１】
本発明の前記ポーズフレーム（５）は、前記ポーズフレームを生成して送信した送信ポートのＭＡＣアドレスを格納する発信元アドレスフィールドをさらに備える。輻輳制御装置（８４、８６、８８）は、前記送信ポートに対して送信する帯域が前記出力制限帯域を越えないようにシェーピングし、輻輳を制御する。
【００８２】
本発明の輻輳制御装置（８４、８６、８８）は、前記出力制限帯域が０である前記ポーズフレームを受信したとき、帯域制限を解除する。
【発明の効果】
【００８３】
本発明によれば、スイッチングハブ等が多段接続されるネットワークにおいて、リンクセグメントを越えた輻輳制御ができる輻輳制御装置、および、輻輳制御方法を提供することができる。そのため、効果的にパケットロスを無くすことができる。
【００８４】
また、本発明によれば、輻輳発生時のポーズフレーム内に送信停止時間を設定できるため、輻輳時においても遅延に敏感なアプリケーションに与える影響が少ない輻輳制御装置、および、輻輳制御方法を提供することができる。
【００８５】
さらに、本発明によれば、優先順位を有する輻輳制御を行う輻輳制御装置、および、輻輳制御方法を提供することができる。したがって、優先順位の高いパケットに影響を及ぼさずに、輻輳制御が可能となるため、効率的な伝送を行うことができる。また、低位レイヤでこのような処理をすればするほど、転送されるパケット数が減少するため、効率的なパケット転送が実現できる。
【００８６】
また、本発明によれば、従来技術による装置との親和性の高いインターフェースを備える輻輳制御装置、および、輻輳制御方法を提供することができる。したがって、スイッチングハブ用デバイス及びＮＩＣ用デバイスに実装することは容易である。
【００８７】
さらに、本発明によれば、既存のデバイスに低コストで実装可能な輻輳制御方法を提供することができる。
【００８８】
また、本発明によれば、ユニキャストのＭＡＣアドレスを用いて輻輳制御したい機器を直接制御ため、既存のネットワークに対して影響を及ぼさない。また、本機能を搭載していない機器を含むネットワークであっても通常のデータ通信に対して悪影響はない。
【発明を実施するための最良の形態】
【００８９】
本発明による輻輳制御は、ＩＥＥＥ８０２．３ｘの輻輳制御で用いられているＭＡＣ制御フレームの宛先アドレスを「ポーズフレームを受信させる機器のユニキャストアドレス」に変更し、スイッチングハブが多段接続されているＬＡＮにおいても、リンクセグメントを越えて輻輳の原因となっている機器に対して直接制御を行うことを特徴としている。
【００９０】
図８から図１２を参照して第１の実施の形態を説明する。第１の実施の形態では、“停止／再開”方式の輻輳制御、つまり、出力中断時間を制御することにより輻輳制御するものである。
【００９１】
図８に示されるように、第１の実施の形態で用いられるＭＡＣ制御フレームのフィールドは、プリアンブル１１、フレーム開始デリミタ１２、宛先ＭＡＣアドレス１３、送信元ＭＡＣアドレス１４、Ｌｅｎｇｔｈ／Ｔｙｐｅ１５、ＭＡＣ制御命令２１、ＭＡＣ制御パラメータ２２、ＰＡＤ２３、ＦＣＳ１８のフィールドを備えている。
【００９２】
従来技術の説明と重複するが、各フィールドについて再度説明する。プリアンブル１１は、７オクテットのフレーム同期用のフィールドであり、内容は１、０の交番符号である。フレーム開始デリミタ（ＳＦＤ：Ｓｔａｒｔ  Ｆｒａｍｅ  Ｄｅｌｉｍｉｔｅｒ）１２は、フレームの開始を識別するための符号が設定されるフィールドである。設定される符号は、１０１０１０１１という１オクテットのコードである。このフィールドは、ＩＥＥＥ仕様の場合のみ使われる。ＤＩＸ仕様フレームのプリアンブルは、８オクテットで内容が１、０、１、０、．．．１、０、１、１であり、ＩＥＥＥ８０２．３仕様のプリアンブル１１とフレーム開始デリミタ１２を併せたものと同じになる。
【００９３】
宛先ＭＡＣアドレス１３は、６オクテットで記述された、このフレームの宛先を示すアドレス（ＭＡＣアドレス）を示すフィールドである。本発明において、この宛先はデータパケットの送信を制限する端末／サーバなどの機器のＭＡＣアドレスである。
【００９４】
送信元ＭＡＣアドレス１４は、６オクテットで記述された、このフレームの送信元のアドレス（ＭＡＣアドレス）を示すフィールドである。
【００９５】
Ｌｅｎｇｔｈ／Ｔｙｐｅ１５は、２オクテットのフィールドである。このフィールドには、ＭＡＣ制御フレームで有ることを示す固定値０ｘ８８０８が設定される。ＭＡＣ制御プロトコルをサポートしていないステーションがこのＭＡＣ制御フレーム受信した場合は、単に無視すればよい。
【００９６】
ＭＡＣ制御命令２１は、２オクテットのフィールドで、操作コードが設定される。ＭＡＣ制御フレーム２を受信したステーションは、そのコードによって様々な制御を行うようになっている。ポーズフレームの場合、ＭＡＣ制御命令２１に０ｘ０００１が設定される。
【００９７】
次の２オクテットは、ＭＡＣ制御パラメータ２２のフィールドで、ＭＡＣ制御命令２１により指示される制御のパラメータが設定される。ポーズフレームの場合、ＭＡＣ制御パラメータ２２に中断時間が設定される。中断時間は、次式のように計算する。
【００９８】
中断時間＝（ＭＡＣ制御パラメータ２２に指定された値）×５１２ビット時間
ここで、ビット時間は、１ビットを伝送する時間であり、伝送速度により異なる。また、５１２ビットは、フレームの最小サイズ（６４オクテット×８ビット）である。
【００９９】
ＰＡＤ２３は、ＩＥＥＥ仕様の場合にのみ使われるフィールドで、フレームの最低サイズ６４オクテットにするために不足する部分を補うダミーデータのフィールドである。ポーズフレームでは４２オクテットである。
【０１００】
フレームチェックシーケンス（ＦＣＳ：Ｆｒａｍｅ  Ｃｈｅｃｋ  Ｓｅｑｕｅｎｃｅ）１８は、４オクテットで、誤り検出のために使用されるフィールドである。フレームのプリアンブル１１、フレーム開始デリミタ１２、ＦＣＳ１８部分を除いた部分について３２ビットのＣＲＣを計算して付加される。
【０１０１】
このように宛先ＭＡＣアドレスに、データパケットの送信を制限する端末／サーバなどの機器のＭＡＣアドレスが設定されたポーズフレームを用いて輻輳制御を行うことになる。
【０１０２】
このポーズフレームを受け取ったスイッチングハブなどの機器は、受け取ったポートのＭＡＣアドレスが宛先ＭＡＣアドレス１３に示されたアドレスと一致しなければ、宛先ＭＡＣアドレス１３に示されたアドレスに向けて受け取ったポーズフレームを転送する。受け取ったポートのＭＡＣアドレスが宛先ＭＡＣアドレス１３に示されたアドレスと一致、または、宛先ＭＡＣアドレスにマルチキャストアドレス０１−８０−Ｃ２−００−００−０１が設定されていた場合には、ポーズフレームを終端する。つまり、ポーズフレームを受け取ったスイッチングハブなどの機器から、送信元ＭＡＣアドレス１４に向けてのデータパケットの送出を中断する。
【０１０３】
このようなポーズフレームを用いて輻輳制御を行うネットワークについて説明する。図９は、そのネットワークの構成を示す図である。ネットワークは、１００Ｍ全二重ＬＡＮで、スイッチングハブ５１〜５３、機器６１〜６８を備えている。機器６１、６２、６４〜６６、６８はサーバ、機器６３と機器６７は端末である。
【０１０４】
スイッチングハブ５３は、ポートＡからサーバ６５に、ポートＢからサーバ６６に、ポートＣから端末６７に、ポートＤからサーバ６８に接続されている。スイッチングハブ５２は、ポートＡから端末６３に、ポートＢからサーバ６４に、ポートＤからスイッチングハブ５３のポートＥに接続されている。スイッチングハブ５１は、ポートＡからサーバ６１に、ポートＢからサーバ６２に、ポートＤからスイッチングハブ５２のポートＥに接続されている。スイッチングハブ５１は、さらにポートＥから他のネットワークに接続されている。なお、スイッチングハブ５１〜５３に関する基本的動作については、当業者にとってよく知られており、また本発明とは直接関係しないので、その詳細な構成は省略する。
【０１０５】
このように構成されるネットワークにおける輻輳制御に関連する動作を説明する。説明を簡単にするために、機器６１〜６８からスイッチングハブ５１を経由して他のネットワークに到達するフレームのトラフィックに注目する。スイッチングハブ５１から他のネットワークに出力されるフレームの最大トラフィック（帯域）を１００％とした場合に、機器６１〜６８のそれぞれから他のネットワークに出力されるフレームの最大トラフィック（帯域）を、５％、３０％、５％、２０％、２０％、２０％、１０％、１０％とする。機器６１〜６８の最大トラフィックの合計は、１２０％になるが、定常的に最大トラフィックで交信しているわけではなく、この最大トラフィック以下のトラフィックで他のネットワークと交信しているため、スイッチングハブ５１で輻輳は発生しない。しかし、機器６１〜６８が全て同時に最大トラフィックでフレームを出力した場合、スイッチングハブ５１のトラフィックは１２０％となり、輻輳が発生する。
【０１０６】
スイッチングハブ５１には、予め、輻輳が発生した場合にデータパケットの送信を制限する端末／サーバなどの機器のＭＡＣアドレスが設定されている。スイッチングハブ５１は、図１０に示されるように、送信制限する機器のＭＡＣアドレス５８と中断時間（送信を制限する時間）５９を対応させたテーブル５７を備えている。輻輳が発生したときに、テーブル５７に設定されているＭＡＣアドレスを有する機器に対して、そのポートからデータパケット送信を一時中断するようにポーズフレームを出力する。中断時間５９は、絶対時間を格納しておいてもよいが、ポーズフレームに設定するポーズ値を格納しておくのが好ましい。
【０１０７】
また、各機器に対する重み付けを施して中断時間を設定する。重み付けを施すことにより輻輳発生時の優先順位が決定される。例えば、輻輳発生時でも、最優先でパケットを通過させたい機器に対する中断時間設定は、“０”（中断解除または中断無し）として、リアルタイム性が強い通信を行う機器ほど中断時間を短くして優先度を高くする。ポーズフレームを受信した機器は、フレームのパラメータに指定されている期間、データフレームの送信を停止する。これにより、スイッチングハブ５１などのポーズフレームを送信した機器は、バッファの輻輳状態を緩和するための時間を得ることができ、キューのなかにある自分宛てのフレームを処理するか、あるいはフレームを他のポートヘ移動または転送することが可能となる。ポーズフレームを受信した機器は、指定されている期間が経過したら、以前に停止した所からデータフレームの送信を再開する。
【０１０８】
輻輳が発生したときの動作を、図１１を参照して説明する。図１１において、機器Ｘはスイッチングハブ５１（ポートＤ：ＭＡＣアドレスａｄｒ１）、機器Ｙはスイッチングハブ５２（ポートＥ：ＭＡＣアドレスａｄｒ２１、ポートＢ：ＭＡＣアドレスａｄｒ２２）、機器Ｚは機器６４（ＭＡＣアドレスａｄｒ３）を表わすものとする。
【０１０９】
スイッチングハブ５１は、時刻ｔ４１からｔ４２まで輻輳状態であったとする。スイッチングハブ５１は、機器６４の送信を制限するために、ポートＤからスイッチングハブ５２に対してポーズフレームＰ（Ｔ、ａｄｒ３）を送出する（Ｆ４１）。ポーズフレームＰ（Ｔ、ａｄｒ３）は、宛先ＭＡＣアドレス１３に機器６４のＭＡＣアドレスａｄｒ３を、ＭＡＣ制御パラメータ２２に中断時間Ｔが設定されたポーズフレーム４である。中断時間Ｔは、テーブル５７に格納されているＭＡＣアドレスａｄｒ３に対応する重み付けされた中断時間である。図９において、機器６４に対する中断時間Ｔは１６３８４が設定されている。なお、中断時間１６３８４は、１６３８４×５１２×０．０１μ秒＝８３．８８６ｍ秒となる。
【０１１０】
時刻ｔ４３にポーズフレームＰ（Ｔ、ａｄｒ３）を受け取ったスイッチングハブ５２は、宛先ＭＡＣアドレスが、マルチキャストアドレスでも、ポートＥのＭＡＣアドレスでもないため、宛先ＭＡＣアドレス１４に示されたＭＡＣアドレスを有する機器に転送する。宛先ＭＡＣアドレス１４にはａｄｒ３が設定されているため、スイッチングハブ５２は、ポートＢから機器６４に向けてポーズフレームＰ（Ｔ、ａｄｒ３）を転送する（Ｆ４２）。
【０１１１】
機器６４は、時刻ｔ４４にポーズフレームＰ（Ｔ、ａｄｒ３）を受け取ると、受け取ったポーズフレームの宛先ＭＡＣアドレスが一致するため、ポーズフレームを終端する。つまり、機器６４は、時刻ｔ４４からｔ４５まで出力を中断する。時刻ｔ４４からｔ４５までの時間Ｔは、ポーズフレームで指示された時間である。設定された中断時間Ｔを経過した後、機器６４は、データパケットＤをスイッチングハブ５２に送出する（Ｆ４３）。
【０１１２】
スイッチングハブ５２は、時刻ｔ４６にデータパケットＤを受け取ると、スイッチングハブ５１に向けてデータパケットＤを転送する（Ｆ４４）。スイッチングハブ５１は、輻輳状態から回復した時点でデータパケットＤを受け取ることになる。
【０１１３】
このようにして輻輳状態に陥ったスイッチングハブ５１は、輻輳状態から回復する。このとき、機器６３に対してはスイッチングハブ５１からポーズフレームが送出されていない。したがって、機器６３からスイッチングハブ５１に向けて通常動作と変わらずデータパケットが送出される。つまり、機器６３が送出するリアルタイム通信などの優先度の高いデータパケットは、スイッチングハブ５１の輻輳による制限を受けることなく送られることになる。
【０１１４】
さらに、スイッチングハブ５１から、機器６６に対して、宛先ＭＡＣアドレスに機器６６のＭＡＣアドレスが指定され、ポーズ時間３２７６８が指定されているポーズフレームが、機器６８に対して、宛先ＭＡＣアドレスに機器６８のＭＡＣアドレスが指定され、ポーズ時間６５５３６が指定されているポーズフレームが送出される。これらのポーズフレームは、スイッチングハブ５２、５３を経由して機器６６、６８に到達する。機器６６、６８は、それぞれ指定されたポーズ時間に対応する時間だけスイッチングハブ５１に対するデータパケットの送信を中断する。なお、ポーズ時間３２７６８は、１６７．７７２１６ｍ秒、ポーズ時間６５５３６は、３３５．５３９２ｍ秒となる。
【０１１５】
これらの３ポーズフレームが送出され、機器６４、６６、６８が出力を中断すると、各機器の最大のトラフィックが出力されたとしてもスイッチングハブ５１の最大トラフィックの７０％であるため、スイッチングハブ５１は輻輳状態から回復できる。換言すれば、スイッチングハブ５１が輻輳状態であっても、リアルタイム通信などの優先度の高いデータパケットは、制限を受けることなく送られることになる。つまり、ポーズフレームが送信されてない機器６１、６２、６３等は、そのままデータパケットを出力することが可能である。
【０１１６】
中断する時間がそれぞれ異なることから、出力中断から復旧する時刻が異なり、機器６４がまず出力中断から復旧する。続いて機器６６が復旧して最後に機器６８が復旧することになる。このようにスイッチングハブ５１が、輻輳したとき制限したいＭＡＣアドレスに出力中断時間を対応付けて格納し、輻輳状態に陥ったときにはテーブル５７を参照してポーズフレームを生成し、送出することにより、通信内容に応じた優先制御を付けた輻輳制御ができる。
【０１１７】
スイッチングハブ５１がポーズフレームを発行した後、輻輳が回復した場合は、従来技術と同様に、ＭＡＣ制御パラメータ２２に中断時間０に設定したポーズフレームを送信することによって残りのポーズ時間をキャンセルすることも可能となっている。図１２に残りポーズ時間をキャンセルするときの動作を示す。
【０１１８】
図１２において、機器Ｘはスイッチングハブ５１（ポートＤ：ＭＡＣアドレスａｄｒ１）、機器Ｙはスイッチングハブ５２（ポートＥ：ＭＡＣアドレスａｄｒ２１、ポートＢ：ＭＡＣアドレスａｄｒ２２）、機器Ｚは機器６４（ＭＡＣアドレスａｄｒ３）を表わすものとする。
【０１１９】
スイッチングハブ５１は、時刻ｔ５１からｔ５２まで輻輳状態であったとする。スイッチングハブ５１は、機器６４の送信を制限するために、ポートＤからスイッチングハブ５２に対してポーズフレームＰ（Ｔ、ａｄｒ３）を送出する（Ｆ５１）。
【０１２０】
時刻ｔ５３にポーズフレームＰ（Ｔ、ａｄｒ３）を受け取ったスイッチングハブ５２は、宛先ＭＡＣアドレス１４に示されたＭＡＣアドレス（ａｄｒ３）を有する機器、つまり、機器６４に向けてポートＢからポーズフレームＰ（Ｔ、ａｄｒ３）を転送する（Ｆ５２）。
【０１２１】
機器６４は、時刻ｔ５４にポーズフレームＰ（Ｔ、ａｄｒ３）を受け取り、終端する。つまり、機器６４は、時刻ｔ５４から出力中断時間Ｔが設定され、出力を中断する。スイッチングハブ５１は、ポーズフレームＰ（Ｔ、ａｄｒ３）を出力した後、時刻ｔ５２に輻輳から回復する。輻輳状態から回復したスイッチングハブ５１は、通常の動作回復を通知するため、出力中断時間を０としたポーズフレームＰ（０、ａｄｒ３）をスイッチングハブ５２に出力する（Ｆ５３）。スイッチングハブ５２は、ポーズフレームＰ（０、ａｄｒ３）を機器６４に転送する（Ｆ５４）。時刻ｔ５５にポーズフレームＰ（０、ａｄｒ３）を受け取った機器６４は、中断時間に０が指定されているため、出力中断を解除し、送信を中断していたデータパケットＤをスイッチングハブ５２に送出する。
【０１２２】
スイッチングハブ５２は、時刻ｔ５６にデータパケットＤを受け取ると、スイッチングハブ５１に向けてデータパケットＤを転送する（Ｆ５６）。スイッチングハブ５１は、中断時間Ｔが経過するまで待機することなく、輻輳状態から回復した直後にデータパケットＤを受け取ることになる。
【０１２３】
なお、機器６６、６８に対しても、同様に図９の機器Ｙをスイッチングハブ５３、機器Ｚを機器６６、６８と読み替えることにより、動作が説明できる。また、ここで、端末やサーバ等の機器で新しく受信されたポーズフレームは、その時点で実行されているすべてのポーズ動作を上書きする。また、同様にポーズフレームを発行した装置は、最初のポーズ期間を超過する前に、０でない中断時間をパラメータで設定した別のポーズフレームを発行することによって、ポーズ期間を延長することも可能となっている。
【０１２４】
このようにして、リアルタイム通信などの優先度の高いデータパケットを扱う機器に対して優先的な通信が可能な、“停止／再開”方式の輻輳制御、つまり、出力中断時間を制御する輻輳制御が可能となる。
【０１２５】
図１３から図１６を参照して、第２の実施の形態を説明する。第２の実施の形態は、基本的構成は第1の実施の形態と同様であるが、“停止／再開”方式の輻輳制御ではなく、“帯域保証”方式の輻輳制御である。特に遅延に敏感なアプリケーションのために、パケットの帯域を保証し、遅延の増加を防止するしながら輻輳制御するものである。
【０１２６】
図１３は、第２の実施の形態に係るＭＡＣ制御フレームのフィールド構成である。第１の実施の形態で説明した図８のＭＡＣ制御フレーム４（ポーズフレーム）との相違点は、ＭＡＣ制御命令２１のフィールドに拡張ポーズフレームを示すコード０ｘ１００１が設定され、ＭＡＣ制御パラメータ２２のフィールドに制限帯域を示す数値が設定されることである。以下ＭＡＣ制御フレーム５を拡張ポーズフレームと称することにする。
【０１２７】
図１４は、第２の実施の形態を説明する１００Ｍ全二重ＬＡＮの構成を示し、機器構成、接続は、第１の実施の形態と同じである。スイッチングハブ７１〜７３、機器８１〜８８を備えている。機器８１、８２、８４〜８６、８８はサーバ、機器８３と機器８７は端末である。
【０１２８】
スイッチングハブ７３は、ポートＡからサーバ８５に、ポートＢからサーバ８６に、ポートＣから端末８７に、ポートＤからサーバ８８に接続されている。スイッチングハブ７２は、ポートＡから端末８３に、ポートＢからサーバ８４に、ポートＤからスイッチングハブ７３のポートＥに接続されている。スイッチングハブ７１は、ポートＡからサーバ８１に、ポートＢからサーバ８２に、ポートＤからスイッチングハブ７２のポートＥに接続されている。スイッチングハブ７１は、さらにポートＥから他のネットワークに接続されている。なお、スイッチングハブ７１〜７３に関する基本的動作については、当業者にとってよく知られており、また本発明とは直接関係しないので、その詳細な構成は省略する。
【０１２９】
このように構成されるネットワークにおける輻輳制御に関連する動作を説明する。第１の実施の形態と同様に、説明を簡単にするために、機器８１〜８８からスイッチングハブ７１を経由して他のネットワークに到達するフレームのトラフィックに注目する。スイッチングハブ７１から他のネットワークに出力されるフレームの最大トラフィック（帯域）を１００％とした場合に、機器８１〜８８のそれぞれから他のネットワークに出力されるフレームの最大トラフィック（帯域）を、５％、３０％、５％、２０％、２０％、２０％、１０％、１０％とする。機器８１〜８８の最大トラフィックの合計は、１２０％になるが、定常的に最大トラフィックで交信しているわけではなく、この最大トラフィック以下のトラフィックで他のネットワークと交信しているため、スイッチングハブ７１で輻輳は発生しない。しかし、機器８１〜８８が全て同時に最大トラフィックでフレームを出力した場合、スイッチングハブ７１のトラフィックは１２０％となり、輻輳が発生する。
【０１３０】
スイッチングハブ７１には、予め、輻輳が発生した場合にデータパケットの送信を制限する端末／サーバなどの機器のＭＡＣアドレスが設定されている。スイッチングハブ７１は、図１５に示されるように、送信制限する機器のＭＡＣアドレス７８と帯域を制限する値７９を対応させたテーブル７７を備えている。輻輳が発生したときに、テーブル７７に設定されているＭＡＣアドレスを有する機器に対して、そのポートからデータパケット送信の帯域を制限するように拡張ポーズフレーム５を出力する。帯域制限値７９は、最大通信容量に対する割り当ての帯域の割合を格納しておく。リアルタイム性が強いパケット通信を行う機器ほど保証帯域を大きく、制限帯域を小さくして優先度を高くする。このように、輻輳発生時のパケット優先順位はＭＡＣ制御パラメータ内の帯域制限値（保証帯域）を設定することにより実現している。この帯域制限値７９は、制限される以前に出力している帯域に対する割合（相対値）であってもよい。ここでは、最大通信容量に対する割り当ての帯域の割合として説明する。
【０１３１】
帯域制限値“０”は、最優先、つまり、１００Ｍビット／秒を示している。この値を指定されている拡張ポーズフレームは、帯域制限の解除時に用いられる。帯域制限値“６５５３５”は、送信中断を示す。５Ｍビット／秒の帯域は、６５５３５×（１００Ｍ−５Ｍ）／１００Ｍ＝６２２５８、１０Ｍビット／秒の帯域は、６５５３５×（１００Ｍ−１０Ｍ）／１００Ｍ＝５８９８２、１５Ｍビット／秒の帯域は、６５５３５×（１００Ｍ−１５Ｍ）／１００Ｍ＝５５７０５となる。この帯域制限を指示された機器は、送信元の機器内で、パケットのシェーピングを行い、指示された帯域内で送信するように制御する。
【０１３２】
第２の実施の形態では、この帯域制限（保証帯域）を設けることにより輻輳発生時のパケット優先順位を決定する。図１６を参照して輻輳が発生したときの動作を説明する。図１６における機器Ｘ、Ｙ、Ｚは、それぞれスイッチングハブ７１（ポートＤ：ＭＡＣアドレスａｄｒ１）、スイッチングハブ５２（ポートＥ：ＭＡＣアドレスａｄｒ２１、ポートＢ：ＭＡＣアドレスａｄｒ２２）、機器８４（ＭＡＣアドレスａｄｒ３）を表わすものとする。
【０１３３】
スイッチングハブ７１は、時刻ｔ６１からｔ６２まで輻輳状態であったとする。スイッチングハブ７１は、機器８４の送信を制限するために、ポートＤからスイッチングハブ７２に対して拡張ポーズフレームＰ’（Ｗ、ａｄｒ３）を送出する（Ｆ６１）。拡張ポーズフレームＰ’（Ｗ、ａｄｒ３）は、宛先ＭＡＣアドレス１３に機器８４のＭＡＣアドレスａｄｒ３を、ＭＡＣ制御パラメータ２２に帯域制限値Ｗが設定された拡張ポーズフレーム５である。帯域制限値Ｗは、テーブル７７に格納されているＭＡＣアドレスａｄｒ３に対応する重み付けされた帯域制限値である。図１４において、機器８４に対する帯域制限値Ｗは５５７０５が設定されている。帯域制限値Ｗ＝５５７０５によって保証される帯域は１００Ｍビット／秒の１５％、つまり、１５Ｍビット／秒の帯域である。
【０１３４】
時刻ｔ６３に拡張ポーズフレームＰ’（Ｗ、ａｄｒ３）を受け取ったスイッチングハブ７２は、宛先ＭＡＣアドレスが、マルチキャストアドレスでも、ポートＥのＭＡＣアドレスでもないため、宛先ＭＡＣアドレス１４に示されたＭＡＣアドレスを有する機器に転送する。宛先ＭＡＣアドレス１４にはａｄｒ３が設定されているため、スイッチングハブ７２は、ポートＢから機器８４に向けて拡張ポーズフレームＰ’（Ｗ、ａｄｒ３）を転送する（Ｆ６２）。
【０１３５】
機器８４は、時刻ｔ６４に拡張ポーズフレームＰ’（Ｗ、ａｄｒ３）を受け取ると、受け取ったポーズフレームの宛先ＭＡＣアドレスが一致するため、ポーズフレームを終端する。つまり、機器８４は、時刻ｔ６４から出力の帯域制限を行う。保証された帯域は、１５Ｍビット／秒であるから、機器８４は、出力帯域が１５Ｍビット／秒以下になるようにシェーピングしながらデータパケットＤを出力する（Ｆ６３）。
【０１３６】
データパケットＤ’は、スイッチングハブ７２を透過してスイッチングハブ７１に到達する（Ｆ６４）。機器８４、８６、８８が出力する帯域がそれぞれ、１５Ｍビット／秒、１０Ｍビット／秒、５Ｍビット／秒に制限されるため、スイッチングハブ７１は、輻輳状態から回復する。帯域制限を解除するため、時刻ｔ６２において帯域制限値に“０”を指定した拡張ポーズフレームＰ’（０、ａｄｒ３）を送出する（Ｆ６５）。
【０１３７】
この拡張ポーズフレームＰ’（０、ａｄｒ３）は、スイッチングハブ７２を透過して機器８４に到達する（Ｆ６６）。時刻ｔ６６に拡張ポーズフレームＰ’（０、ａｄｒ３）を受け取った機器８４は、出力制限を解除し、通常の通信状態に戻る。なお、機器８６、８８に対しても、同様に図１６の機器Ｙをスイッチングハブ７３、機器Ｚを機器８６、８８と読み替えることにより、動作が説明できる。
【０１３８】
このように、帯域を保証して輻輳発生時の遅延を無くすことを可能としている。そのため、遅延に敏感なアプリケーションに対して影響を与えないという効果が得られる。
【図面の簡単な説明】
【０１３９】
【図１】ＭＡＣフレームのフィールド構成を示す図である。
【図２】ＭＡＣ制御フレームのフィールド構成を示す図である。
【図３】従来のポーズフレームのフィールド構成を示す図である。
【図４】従来のポーズフレームによる輻輳制御を説明するネットワーク構成を示す図である。
【図５】従来のポーズフレームによる輻輳制御の時間的関係を説明する図（１）である。
【図６】従来のポーズフレームによる輻輳制御の時間的関係を説明する図（２）である。
【図７】従来のポーズフレームによる輻輳制御の時間的関係を説明する図（３）である。
【図８】本発明の第１の実施の形態に係るポーズフレームのフィールド構成を示す図である。
【図９】本発明の第１の実施の形態に係る輻輳制御を説明するネットワーク構成を示す図である。
【図１０】本発明の第１の実施の形態に係るポーズ時間テーブルの構成を示す図である。
【図１１】本発明の第１の実施の形態に係るポーズフレームによる輻輳制御の時間的関係を説明する図（１）である。
【図１２】本発明の第１の実施の形態に係るポーズフレームによる輻輳制御の時間的関係を説明する図（２）である。
【図１３】本発明の第２の実施の形態に係るポーズフレームのフィールド構成を示す図である。
【図１４】本発明の第２実施の形態に係る輻輳制御を説明するネットワーク構成を示す図である。
【図１５】本発明の第２の実施の形態に係る帯域制限値テーブルの構成を示す図である。
【図１６】本発明の第２の実施の形態に係るポーズフレームによる輻輳制御の時間的関係を説明する図である。
【符号の説明】
【０１４０】
３１〜３３、５１〜５３、７１〜７３  スイッチングハブ
４１〜４８、６１〜６８、８１〜８８  端末機器
【図１】
2005236447.tif 000003
【図２】
2005236447.tif 000004
【図３】
2005236447.tif 000005
【図４】
2005236447.tif 000006
【図５】
2005236447.tif 000007
【図６】
2005236447.tif 000008
【図７】
2005236447.tif 000009
【図８】
2005236447.tif 000010
【図９】
2005236447.tif 000011
【図１０】
2005236447.tif 000012
【図１１】
2005236447.tif 000013
【図１２】
2005236447.tif 000014
【図１３】
2005236447.tif 000015
【図１４】
2005236447.tif 000016
【図１５】
2005236447.tif 000017
【図１６】
2005236447.tif 000018