JP3934915B2 - フロー制御装置及び方法 - Google Patents

フロー制御装置及び方法 Download PDF

Info

Publication number
JP3934915B2
JP3934915B2 JP2001339427A JP2001339427A JP3934915B2 JP 3934915 B2 JP3934915 B2 JP 3934915B2 JP 2001339427 A JP2001339427 A JP 2001339427A JP 2001339427 A JP2001339427 A JP 2001339427A JP 3934915 B2 JP3934915 B2 JP 3934915B2
Authority
JP
Japan
Prior art keywords
congestion
group
packet
congestion notification
port
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001339427A
Other languages
English (en)
Other versions
JP2002223223A (ja
Inventor
哲也 川上
良宏 鈴木
聡 北島
敦司 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2001339427A priority Critical patent/JP3934915B2/ja
Priority to US10/140,174 priority patent/US7180857B2/en
Publication of JP2002223223A publication Critical patent/JP2002223223A/ja
Application granted granted Critical
Publication of JP3934915B2 publication Critical patent/JP3934915B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、複数の端末グループをグループ識別子により多重可能な入力ポート及び出力ポートを有するスイッチングハブが階層構造で接続されたネットワークにおけるフロー制御装置及び方法に関する。
【0002】
【従来の技術】
図33(1)は従来例として、スイッチングハブにおけるフロー制御を説明する図であり、スイッチングハブSW1とスイッチングハブSW1の個々のポートP1〜P4にそれぞれ接続されたイーサネット(登録商標)端末A〜DはIEEE802.3xの全二重フロー制御に対応している。今、スイッチングハブSW1が端末Bから端末A宛てのパケットを転送し、さらに端末Cが同じく端末A宛てのパケットを送信したとして、スイッチングハブSW1の端末Bからのパケットと端末Cからのパケットの受信量が端末Aへの送信量を上回ると、そのパケットはスイッチングハブSW1内部のそれぞれの入力バッファに蓄積される。
【0003】
このようにして長時間パケットが入力バッファに蓄積されていくと、入力バッファはオーバーフローし、あふれたパケットは破棄されてしまう。このため、スイッチングハブSW1は入力バッファがオーバーフローしそうになると、該当の入力ポートP3に対し、送信停止時間を規定したポーズパケットを送信し、これを受信した端末Cは、規定された送信停止時間の間、パケットの送信を停止する。その結果、スイッチングハブSW1は入力バッファのオーバーフローを回避できる。
【0004】
しかし、このポーズパケットによる送信停止は、スイッチングハブSW1のポートP1〜P4を単位として制御されるため、図33(2)に示すような、複数の端末グループを多重したスイッチングハブSW2〜SW5が階層構造で接続されたネットワークにおいては、同一スイッチングハブに接続された異なるグループに属する他の端末に対しても影響を与える。
【0005】
ここで、スイッチングハブSW2は複数のグループを多重したスイッチングハブSW3〜SW5を束ねるバックボーンのスイッチングハブであり、スイッチングハブSW3〜SW5はイーサネット(登録商標)対応の端末機器A〜Iを収容するフロントエンドのスイッチングハブである。また、各端末A〜IはフロントエンドのスイッチングハブSW3〜SW5のポートで端末グループとして認識されており、複数の端末グループをグループ識別子により多重したバックボーンのスイッチングハブSW2へ接続される。スイッチングハブSW2のポートP23からポーズパケットがスイッチングハブSW5に出力された場合、スイッチングハブSW5からスイッチングハブSW2に送信するパケットは全て送信停止になるため、スイッチングハブSW5に接続された端末Iから、スイッチングハブSW4に接続された端末Fへの送信も停止してしまうことになる。
【0006】
そこで、このような課題に対し、特開平9−149065号公報で示された特定の端末に対するバックプレッシャーを送信するフロー制御の考えを応用すると、入力バッファが閾値を超えた場合に、入力バッファに入力された最新のパケットの送信元アドレスを元に、このパケットを送信した該当端末のみに、送信を停止させるためのポーズパケットを送信することが可能である。
【0007】
【発明が解決しようとする課題】
しかし、この入力バッファに入力された端末を特定した個別フロー制御方法を用いた場合、パケットロスの可能性や、輻輳の原因とならないグループの端末に対してもフロー制御を行う可能性があるという問題がある。
【0008】
図34を用いて具体的に説明する。図34(1)は図33(2)の構成に特開平9−149065号公報で示された方式を適用した形態を示している。今、同じグループ#1であって、スイッチングハブSW4のポートP41に接続された端末DとスイッチングハブSW5のポートP51に接続された端末GがそれぞれスイッチングハブSW2のポートP22、P23を経由して、スイッチングハブSW3に接続された端末Aにパケットを送信した結果、スイッチングハブSW2のポートP23の入力バッファが閾値を上回り、オーバーフロー通知用パケットが入力時のパケットの送信元である端末G宛てに送信されたとする。
【0009】
スイッチングハブSW5はこのパケットを受信すると、該当端末Gが接続されるポートP51に対してポーズパケットを送信する。このような方式により輻輳の原因となった端末Gのみがパケットの送信を停止することになる。この結果、スイッチングハブSW5はそのポートP53に接続された端末Iより、スイッチングハブSW4のポートP43に接続された端末F宛てのパケットをスイッチングハブSW2宛てに送信可能となる。
【0010】
しかし、スイッチングハブSW2のポートP23の入力バッファがまだ閾値を上回っている場合、この端末F宛てのパケットを送信してきたグループ#4の端末I宛て、すなわち直接輻輳と関係のない端末I宛てにオーバーフロー通知用パケットを送信することになる。このように複数のグループを多重したポートの入力バッファで判断を行う場合、直接輻輳と関係のないLANに属する端末宛てにフロー制御を行う可能性があるという問題点がある。
【0011】
また図34(2)は、スイッチングハブSW5の各ポートに同一のグループ#1に属する端末が多数(図ではG〜M)接続された構成を示している。この場合にも、スイッチングハブSW5が複数の端末G〜MからのパケットをスイッチングハブSW2への送信時、スイッチングハブSW2のポートP23の入力バッファが閾値を上回ると、スイッチングハブSW2は順時、オーバーフロー通知用パケットを各端末G〜M宛てに送信することになる。これにより全端末G〜Mが送信を停止するまでにスイッチングハブSW2が受信したパケットにより、スイッチングハブSW2のポートP23の入力バッファはフロー制御を行っているにも関わらず、オーバーフローする可能性があるという問題点がある。
【0012】
本発明は上記の問題点を解決するもので、輻輳時に他のグループに与える影響を極力少なくし、通信を制限したい機器にのみ送信を制限することができるフロー制御装置及び方法を提供することを目的とする。
本発明はまた、輻輳の状態によって出力する輻輳通知パケットの種類を個別端末宛てとグループ宛てに変更することができるフロー制御装置及び方法を提供することを目的とする。
【0013】
【課題を解決するための手段】
本発明は上記目的を達成するために、複数のグループをグループ識別子により多重可能な入力ポート及び出力ポートを有するハブが階層構造で接続されたネットワークにおけるフロー制御装置において、
前記ハブが前記ポートの出力ポート側において端末グループ毎に輻輳を判断する輻輳判断手段と、
前記輻輳判断手段により輻輳と判断したグループに関するパケットのみ送信を停止することを通知する、ポーズタイム値を含む輻輳通知パケットを出力する輻輳通知パケット出力手段とを有し、
前記輻輳判断手段は、出力ポート側における輻輳の度合いを2以上の段階に区分し、単独のポートに対して輻輳通知パケットを送信する第1段階と、単独のポート若しくは複数のポートに対して輻輳通知パケットを送信する第2段階を有するとともに、出力ポートにおいて端末グループ毎にデータ出力バッファを更に有し、前記データ出力バッファ毎の使用率が輻輳の第1段階を超える場合、さらに使用率が前記輻輳の第1段階より大きい輻輳の第2段階を超える場合を判断することを特徴とする構成とした。
【0014】
本発明はまた、前記第1段階の輻輳通知パケットは、宛先アドレスにより個別端末を特定可能な個別輻輳通知パケットであることを特徴とする。
【0015】
本発明はまた、前記第2段階の輻輳通知パケットは、グループ識別子によりグループを特定可能なグループ別輻輳通知パケットであることを特徴とする。
【0016】
本発明はまた、前記グループ別輻輳通知パケットの宛先アドレスは、ブロードキャストアドレスを使用することを特徴とする。
【0017】
また本発明は上記目的を達成するために、複数のグループをグループ識別子により多重可能な入力ポート及び出力ポートを有するハブが階層構造で接続されたネットワークにおけるフロー制御装置において、
前記ハブが前記ポートの出力ポート側において端末グループ毎に輻輳を判断する輻輳判断手段と、
前記輻輳判断手段により輻輳と判断したグループに関するパケットのみ送信を停止することを通知するポーズタイム値を含む輻輳通知パケットを出力する輻輳通知パケット出力手段とを有し、
前記輻輳判断手段は、各出力ポート別に全グループ共用のデータ出力バッファを有し、前記各出力ポート別の前記全グループ共用のデータ出力バッファ毎に、グループ別のデータ転送流量としてフロー制御装置内部で単位時間当たりに転送されたパケット量を算出する転送流量算出処理部を有し、その全グループのデータ転送流量が出力ポートの帯域を超え、かつ、該当グループのデータ転送流量が当該出力ポートを同時に使用するグループ数で割った帯域を超えた場合に輻輳と判断することを特徴とする。
【0018】
本発明はまた、前記流量の算出においてグループ別転送流量に、各グループ毎の輻輳通知パケットを含めることを特徴とする。
【0019】
本発明はまた、前記輻輳通知パケットの転送によりグループ別転送流量の判断で輻輳と判断されても、輻輳通知パケットは生成しないことを特徴とする。
【0020】
本発明はまた、前記輻輳判断手段は、輻輳の度合いを2以上の段階に区分し、前記グループ別の転送流量に基づいて判断される輻輳の第1段階に加え、前記全グループ共用のデータ出力バッファの使用率が所定の輻輳の閾値を超えた場合を輻輳の第2段階と判断し、前記輻輳の第2段階における輻輳通知パケットを送信する場合、該当ポートに送信可能性のある全グループに対してグループ別輻輳通知パケットを生成して送信することを特徴とする。
【0021】
本発明はまた、前記輻輳通知パケットを受信したハブが、受信ポートにおいてグループ別送信停止処理を行い、グループ別輻輳通知パケットを受信した場合に、必ずそのパケット内のポーズタイム値を送信停止タイマーにセットして再スタートさせることを特徴とする。
【0022】
本発明はまた、グループ別輻輳通知パケットによる送信停止中に個別輻輳通知パケットを受信しても無視することを特徴とする。
【0023】
本発明はまた、前記輻輳通知パケットを受信したハブが、輻輳通知パケットの転送先を判断する転送先判断手段を有し、輻輳通知パケットを転送することを特徴とする。
【0024】
本発明はまた、前記転送先判断手段は、転送先がグループを多重したポートの場合、輻輳通知パケットを転送し、転送先がグループを多重しないポートの場合、ポーズパケットを生成して送信することを特徴とする。
【0025】
本発明はまた、輻輳通知パケットを受信したポートと輻輳通知パケットを転送する宛先ポートの伝送速度が異なる場合、ポーズタイム値を変換して送信することを特徴とする。
【0026】
本発明はまた、個別端末に対する輻輳通知パケットを送信する場合にはデータパケット受信時の輻輳状態を契機に行うことで再送をしないことを特徴とする。
【0027】
本発明はまた、グループに対する輻輳通知パケットを送信する場合には、タイマー監視により輻輳状態の低減が無い場合再送を行うことを特徴とする。
【0028】
本発明はまた、グループに対する輻輳通知パケット送信後のタイマー監視中に受信したパケットに関しては、輻輳通知パケットの送信を行わないことを特徴とする。
【0036】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態について説明する。
<目次>
第1の実施の形態:図1−図14
第2の実施の形態:図15−図25
第3の実施の形態:図26−図32
【0037】
<第1の実施の形態>
図1は本発明に係るフロー制御装置の第1の実施の形態の概要を示したブロック図である。
【0038】
ここで、第1の実施の形態を要約すると、
・スイッチングハブの出力ポートにおいて、グループ別の輻輳判断を行い、輻輳と判断されたグループにのみ、輻輳通知パケットを出力する。
・輻輳判断は、出力ポートに設けたグループ別のバッファ使用量によって行う。
・また、輻輳の状態を2段階に判断し、単独のポート、複数のポートに対しフロー制御を行う。
【0039】
図1(1)は複数のグループ#1、#2・・・をグループ識別子により多重可能なポートを有するスイッチングハブSW2〜SW5が階層構造で構成されたネットワークを示している。スイッチングハブSW2は複数のグループ#1・・・を多重したスイッチングハブSW3〜SW5を束ねるバックボーンのスイッチングハブであり、スイッチングハブSW3〜SW5はイーサネット(登録商標)対応の端末機器A〜Iを収容するフロントエンドのスイッチングハブである。
【0040】
この例では、スイッチングハブSW2のポートP21、P22、P23にそれぞれスイッチングハブSW3、SW4、SW5が接続されている。また、スイッチングハブSW3のポートP31、P32、P33にそれぞれ端末A、B、Cが、スイッチングハブSW4のポートP41、P42、P43にそれぞれ端末D、E、Fが、スイッチングハブSW5のポートP51、P52、P53にそれぞれ端末G、H、Iが接続されている。
【0041】
各端末A〜IはフロントエンドのスイッチングハブSW3〜SW5のポート単位でグループとして認識されており、複数のグループをグループ識別子により多重してバックボーンのスイッチングハブSW2へ接続される。ここで、スイッチングハブSW4に接続された端末Dと、スイッチングハブSW5に接続された端末G、Hは同じグループ#1に属し、スイッチングハブSW4、SW5にそれぞれ接続された端末E、Iは他のグループ#2、#4に属するものとする。
【0042】
ここで、この第1の実施の形態では、バックボーンのスイッチングハブSW2の出力ポートには、端末グループ毎に出力バッファが設けられている。今、同じグループ#1の、スイッチングハブSW4に接続された端末DとスイッチングハブSW5に接続された端末GがバックボーンのスイッチングハブSW2を介して、スイッチングハブSW3に接続された端末Aにパケットを送信した結果、バックボーンのスイッチングハブSW2の端末D、Gからのデータ受信速度がポートP21の出力速度を上回ったとする。このとき、本発明のスイッチングハブSW2では、出力先ポートとなるポートP21側においてパケットのバッファ管理をグループ別に行う。
【0043】
また、グループ#1の出力バッファが輻輳段階1の閾値を上回ったとき、グループ#1の出力バッファにパケットを送信してきた端末が端末Gだったとすると、オーバーフロー通知用パケットが入力時のパケットの送信元である端末G宛てに送信される。このパケットがスイッチングハブSW5で受信されると、該当端末Gが接続されるポートP31に対し、ポーズパケットを送信する。このような方式により、輻輳の原因となった端末Gのみがパケットの送信を停止することになる。
【0044】
このとき、ハブSW2の出力ポートにおいて、輻輳と無関係なグループ#2のバッファは空いているため、グループ#2に属する端末Eから端末B宛てのポートP31を経由するパケットは、グループ#1の輻輳によらず、転送が可能となる。
【0045】
次にグループ#1の各端末に輻輳通知パケットを送信する場合、接続される端末が多く、ポートP31におけるグループ#1の出力バッファが輻輳段階2の閾値を上回る場合を図1(2)を用いて説明する。この場合、スイッチングハブSW2はグループ#1の接続されている全てのポートP22、P23に対して、グループ別輻輳通知パケットを出力する。グループ別輻輳通知パケットを受信したスイッチングハブSW4、SW5は、グループ#1の端末D、G、Hが接続された全ポートP41、P51、P52に対してポーズパケットを送信する。
【0046】
このような方法により、多数の端末による輻輳時においても、1度の制御で同一グループの全端末からの送信を停止することが可能となり、バックボーンのスイッチングハブSW2においてパケットロスを防止することが可能となる。このとき、図1(1)と同様に、スイッチングハブSW4に接続された他のグループ#2の端末Eから、スイッチングハブSW3に接続された端末Bへのパケットの転送は可能である。
【0047】
上記のパケットの転送に関してのスイッチングハブSWの構成及び動作を以下に説明する。図2は本発明のフロー制御を実現するスイッチングハブSWの構成を示した図である。スイッチングハブSWは端末のアドレス(アドレステーブル1a)およびグループ(グループテーブル1b)を管理する端末管理部1と転送制御部2を有し、転送制御部2はパケットの転送先を制御するパケット転送制御部2aと、輻輳状態を管理するための輻輳状態テーブル2bと、輻輳状態通知パケットの送信を制御する輻輳通知パケット送信制御部2cにより構成される。
【0048】
スイッチングハブSWはまた、ポート#0〜#n毎のポート制御部3(ポート#0制御部30〜ポート#n制御部3n)を有し、ポート制御部3はパケット受信制御部3aと、図3に詳しく示すパケット送信制御部3bにより構成されている。転送制御部2とポート制御部3は制御バスとデータバスを介して接続されている。ポート#0〜#n別のパケット受信制御部3aでは、パケット受信時にアドレス解析処理を行い、輻輳通知パケットを識別している。
【0049】
パケット送信制御部3bは図3に詳しく示すように、出力バッファ11として各端末グループ#1〜#m別のデータ用バッファ111〜11m及び輻輳通知パケットを一時格納して出力するための転送通知用バッファ110を有する。パケット送信制御部3bはまた、この出力バッファ11の使用状態を監視する出力バッファ監視部12と、転送制御部2より指示のあった場合に輻輳通知パケットを生成する輻輳通知パケット生成部13と、輻輳パケット及び各グループのデータパケットの出力順を制御する送信処理部14より構成される。
【0050】
図4は輻輳状態テーブル2bの構成例を示す。輻輳状態テーブル2bでは、各グループ#1〜#m及びポート#1〜#n毎に輻輳の状況(Flow Status)と輻 輳通知パケットの再送タイマーの動作状況(Timer Status)が管理される。Flow Statusは2ビットで構成され、未接続のポート=00b、輻輳していないポー ト=01b、個別輻輳通知パケットを送信する状態である輻輳状態1のポート=10b、グループ別輻輳通知パケットの送信をする状態である輻輳状態2のポート=11bを識別している。また、Timer Statusは2ビットで構成され、各グループのポート別に保持する再送タイマーが動作中=1bか停止中=0bかをしめすStatusである。
【0051】
図5は個別輻輳通知パケットのMACフレームフォーマットを示す。このフレームは通常のEthernet(登録商標)IIおよび、IEEE802.3のフレームフォーマットに準拠し ている。またグループ識別子はIEEE802.1Qで示されるフォーマットに準拠している。宛先アドレスにはフロー制御の対象となる端末のMACアドレスが設定される。送信元アドレスには、通常送信元端末のMACアドレスが設定されるが、輻輳通知パケットであることを示すユニークなアドレスを使用する。
【0052】
図6はグループ別輻輳通知パケットのMACフレームフォーマットを示す。グループ別輻輳通知パケットでは、宛先アドレスにブロードキャストアドレスを使用し、他のデータは図5に示す個別輻輳通知パケットと同じである。図7はグループ別輻輳通知パケットのポーズタイム値の導出式(1)を示し、ポートの出力速度により導出されたポーズタイム値に対して、最大30%程度のランダムな値を付加している。図8は基準ポーズタイム値から自ポートポーズタイム値を導出する式(2)を示す。
【0053】
図9はパケット受信制御部3aのパケット受信処理を示している。まず、あるポートでパケットを受信したとすると、パケット受信制御部3aはそのパケットの解析を行い(ステップS1)、通常のポーズパケットであることを確認すると、転送制御部2に宛先アドレス、送信元アドレス、グループ識別子をヘッダ情報として送信する(ステップS2→S3)。転送制御部2はこれらの情報を元に、端末管理部1のテーブルを参照して、パケットを転送すべきポートを決定し、これをパケット受信制御部3aに通知する。これを受けたパケット受信制御部3aは、該当ポートのグループの出力バッファ11へパケットを転送する(ステップS3、S4、S5→S6)。パケット転送は上記一連の動作によって行われる。
【0054】
このときの転送制御部2の動作を図10に示す。まず、ユニキャストパケットの転送処理の説明を行う。パケット転送処理部2aはパケット受信制御部3aよりパケットのヘッダ情報を受信すると(ステップS11)、転送先の出力ポートを端末管理部1のアドレステーブル1aより決定し、パケット受信制御部3aへ通知するとともに、パケットのヘッダ情報と送信先ポート、受信ポートを輻輳通知パケット送信制御部2cへ通知する(ステップS12→S13〜S16)。
【0055】
次いでマルチキャストパケットの転送処理の説明を行う。パケット転送制御部2aはパケット受信制御部3aよりパケットのヘッダ情報を受信すると(ステップS11)、グループテーブル1bより送信するべきポートを抽出し、転送先ポート一覧を作成する(ステップS12→S17)。その後、各ポートの輻輳状態を輻輳状態テーブル2bより判断する(ステップS18→S19)。そして、輻輳状態にあるポートは転送先ポート一覧より削除する(ステップS20)。この結果、同一グループが接続されたポートで輻輳していないポートのみ転送先をパケット受信制御部3aに転送する。これによりパケット受信制御部3aは、輻輳していないポートにのみデータを転送する。
【0056】
次に図11を用いて各輻輳状態における輻輳通知パケット送信までの処理を説明する。輻輳通知パケット送信制御部2cはパケット転送制御部2aより転送の情報(パケットのヘッダ情報と、受信転送先ポート情報)を受けると、転送先ポート及びグループ別識別子により輻輳状態テーブル2bの輻輳の状態(ステップS32、S34ではFlow Status、ス テップS35ではTimer Status)を判断する。
【0057】
そして、Flow Statusが01の場合、なにも行わないで処理を終了する(ステッ プS34→S41)。Flow Statusが10の場合、パケットを受信した受信ポー トの輻輳通知パケット生成部13に対し、輻輳通知パケット種別(個別輻輳通知パケット)と、宛先アドレス、グループ識別子、10Mbpsのときのポーズタイム値である基準ポーズタイム値A(個別輻輳通知パケット用)、ポート速度(内部生成時10Mbps)を含んだパケット生成情報を通知する(ステップS32→S33)。
【0058】
Flow Statusが11(ステップS34でY)で、Timer Statusが0(ステップ S35でY)の場合、つまり輻輳の第二段階になって初めての転送となるが、この場合には同一グループの接続ポートを抽出し(ステップS36)、パケットを転送する先のポートを除く全抽出ポートの輻輳通知パケット生成部13に対し、輻輳通知パケット種別(グループ別輻輳通知パケット)の生成の指示と、宛先アドレス(ブロードキャストアドレス)、グループ識別子、基準ポーズタイム値B(グループ輻輳通知パケット用)を含んだパケット生成情報を通知する(ステップS37)。これにより同一グループの端末からのパケットの送信は停止するはずであるので、バッファ使用量は低減するはずである。
【0059】
そして、基準ポーズタイム値で設定される値より時間を算出し、この時間をセットしたタイマーを起動し、Timer Statusを1に変更する(ステップS38)。タイマー終了時、Flow Statusが01であれば、バッファ使用量の低減により輻 輳状態が改善されたとしてTimer Statusを0にする(ステップS39→S40)。タイマー終了時、Flow Statusが11であれば輻輳状態が続いているので、再 度、パケット生成情報(グループ用)を通知する(ステップS39→S37)。
【0060】
転送情報受信時、Flow Statusが11(ステップS34でY)でTimer Statusが1(ステップS35でN)の場合は、グループ別輻輳通知パケットを送信して、再送タイマー動作中であるため、何も行わない(ステップS41)。この状態は、グループ別輻輳通知パケットにより停止するまでの間にパケットを受信することにより起きるが、この状態で受信したパケットに対しては、送信元の端末は、グループ別輻輳通知パケットを受信した時点で送信を必ず停止するはずなので、さらなる輻輳通知パケットの生成は行わず、これにより輻輳通知パケットの生成を減らし、ネットワークの負荷を低減することになる。
【0061】
次に、図12を用いて出力バッファ監視部12の動作を説明する。出力バッファ監視部12では常時各グループ#1〜#mのデータ用出力バッファ(以下、簡単に出力バッファ、バッファとも言う)111〜11mの使用率を監視している(ステップS21)。パケットの転送により、ある出力バッファ11k(k=1〜m)の使用率が輻輳の第1段階(閾値th1)を超えた場合、該当する輻輳状態テーブル2bのFlow Statusを10に変更する(ステップS23→S25)。 この結果、このポートにパケットを転送するパケットがあれば、個別輻輳通知パケットによりフロー制御が行われることになる。
【0062】
多数のポートや端末が接続された結果、送信が、そのまま続いて使用率が輻輳の第2段階(閾値th2)を超えた場合(ステップS22でY)、該当する輻輳状 態テーブルのFlow Statusを11に変更する(ステップS29)。この結果、こ の後このポートにパケットを転送することがあれば、グループ別輻輳通知パケットが出力され、同一グループの全端末からの出力が停止するため、速やかにバッファの使用率が減少する。またこのとき内部変数FL=1とする(ステップS28)。
【0063】
グループ別輻輳通知パケットの送信によりパケットの転送が止まり、出力バッファ111〜11mの使用率が減少した場合でも、輻輳の第1段階(閾値th1)を下回るまで、Flow Statusは変更しない。これは内部変数FL=1により判断する(ステップS24)。使用率が閾値th1を下回ると(ステップS23でN)、Flow Statusを01に変更し(ステップS27)、内部変数FL=0とする(ステップS26)。このような処理により、複数のグループ#1〜#mの出力バッファ111〜11mが使用され、該当ポートの出力バッファ11k(k=1〜m)の使用率が一度のグループ別輻輳通知パケットの送信によりあまり減少しなかった場合、再びグループ別輻輳通知パケットを使用することができ、ポートの輻輳状態を早く改善することができる。
【0064】
次に、図13を用いてパケット送信制御部3bの輻輳通知パケット生成の動作を説明する。輻輳通知パケット生成部13は輻輳通知パケット送信制御部2cまたはパケット受信制御部3aからパケット生成情報を受信すると(ステップS51)、まず、基準ポーズタイム値(Pause time typ)とポート速度(Port Output Speed)より図8に示す式(2)を用いて自ポートのポーズタイム値(Pause time x)を導出する(ステップS52)。これによりポート速度の異なるポートへの転送であっても、ポーズタイム値を変更することで、実際にポートが停止する時間を同じにすることが可能となる。
【0065】
次いで自ポートがグループを多重しないポートの場合、ポーズパケットを生成し、輻輳通知用バッファに転送する(ステップS53→S54)。自ポートがグループを多重したポートの場合、個別輻輳通知パケットの生成の通知であれば、図5に示す個別輻輳通知パケット(Pause time x)を生成し、輻輳通知用バッファに転送する(ステップS53→S55→S56)。グループ別輻輳通知パケットの生成の通知であれば(ステップS55でN)、図6に示すグループ別輻輳通知パケットを生成する(ステップS58)。このとき、生成するパケットに設定するポーズタイム値は前述の導出した自ポートのポーズタイム値(Pause time x)に対して、図7に示す式(1)を用いてランダムな値を付加した値(Pause time set)を設定し、輻輳通知用出力バッファ110に転送する(ステップS57、S58)。
【0066】
このようにグループ別輻輳通知パケットに含まれるポーズタイム値に関しては、基準ポーズタイム値に対しある値以上の値が付加された時間が設定されることになる。このため、基準ポーズタイム値より設定した再送タイマよりも停止時間が長くなるため、再送タイマー終了時、バッファ使用量があまり減少せず、再びグループ別輻輳通知パケットを送信したときに、完全に送信を停止したままにすることができる。これによりさらに輻輳の改善を早めることができる。また、設定値がランダム化されるため、各端末において、送信を開始する時間にばらつきが発生する。これによりポーズが解除されると同時にパケットが送信され、再び輻輳状態になるという現象に陥ることが少なくなる。図7におけるグループ別輻輳通知パケットのポーズタイム値の導出式(1)では、ポートの出力速度により導出されたポーズタイム値に対して、5〜50%程度のランダムな値を付加している。
【0067】
次に図14を用いてパケット送信制御部3bのパケット送信処理に関して説明する。送信処理部14では、グループ別データ用バッファ111〜11mと輻輳通知用バッファ110の読み出し制御を行っている。輻輳通知用出力バッファ110にデータが存在する場合、これを優先的に送信する(ステップS62→S61)。輻輳通知用バッファにデータが無い場合のみ、読み出し制御をグループ別データ用出力バッファ111〜11mに切り替える(ステップS62→S63)。複数のグループの出力バッファ11kにデータの蓄積がある場合、各バッファ11kの中から読み出すグループを選定する(ステップS64→S65、S66)。選定方法に関してはラウンドロビンや、WFQなど方法がいくつか考えられるが、本発明では選定方法を特に規定しない。
【0068】
次に、輻輳通知パケット及びポーズパケットの受信処理に関して図9を再度参照して説明する。あるポートより輻輳通知パケット及びポーズパケットを受信したとする。パケット受信制御部は宛先アドレスの解析を行い(ステップS1)、ポーズパケットであると認識すると、自ポートの送信制御部3bに対し、ポーズタイム値と送信停止を通知する(ステップS9)。この通知を受けた送信制御部3bはデータパケットの全出力バッファ111〜11mからの読み出しをポーズタイム値から導出する送信停止時間だけ停止する。パケット受信制御部3aはポーズパケットでない(データパケット又は輻輳通知パケット)と認識すると、転送制御部2aに、パケット識別情報、宛先アドレス、送信元アドレス、グループ識別子を示した情報を送信する(ステップS3、S4、S5→S7、S8)。
【0069】
転送制御部2aはこれらの情報を元に、端末管理部1のグループテーブル1bを参照し、パケットを転送すべきポートを決定し、これをパケット受信制御部3aに通知する。これを受けたパケット受信制御部3aは、データパケットの種類を判断し(ステップS5)、輻輳通知パケットの場合、転送ポートの輻輳通知パケット生成部13にパケット生成情報を送信する(ステップS7)。受信パケットは廃棄される(ステップS8)。このように輻輳通知パケット転送は通常のパケット転送と同様の一連の動作によって行われ、転送先が決定されることになる。
【0070】
このときのパケット転送制御部2aの動作を図10を再度用いて説明する。パケット転送制御部2aは、パケット受信制御部3aよりパケット識別情報、ヘッダ情報を受信すると(ステップS11)、通常のデータパケットと同様に、パケットの送信先アドレスにより、個別輻輳通知パケットかグループ別輻輳通知パケットかを識別する(ステップS12)。これは、それぞれのパケットがユニキャストかブロードキャストかを判断するだけである。
【0071】
個別輻輳通知パケットの場合、送信先アドレスより転送先ポートを抽出し(ステップS13)、パケット受信制御部3aへ転送先ポートを通知する(ステップS16)。このとき、データパケットと異なり、輻輳通知パケット送信制御部2cへヘッダ情報などを通知することはない。パケットがグループ別輻輳通知パケットの場合、グループ識別子より転送先ポート一覧を作成し(ステップS17)、パケット受信制御部3aへ通知する(ステップS16)。このとき、データパケットと異なり、ポートの輻輳状態とは無関係に、接続されたポート全てが転送先一覧となる。このように、輻輳通知パケットは個別、グループ別ともに、通常のパケットの転送と同様に処理することが可能であり、特別なプロトコル処理などを必要とすることなく、効率的に各グループ別にフロー制御を実行することができる。
【0072】
なお、上記実施の形態では、出力バッファ11の管理はグループ別に説明したが、これは、各端末のアドレス別に実施してもかまわない。また輻輳管理を出力バッファ11の使用量で判断したが、物理バッファを固定長のブロックで管理する場合などにおいては、各グループの出力をキューにより管理しても良い。
【0073】
第1の実施の形態によれば、輻輳時に他のグループに影響を与えることなく、通信を制限したい機器にのみ送信を制限することを通知する制御パケットを送出し、接続される端末が多い場合でもパケットロスすることのないネットワークを実現することができる。
【0074】
<第2の実施の形態>
次に図15〜図25を参照して本発明の第2の実施の形態について説明する。ここで、第2の実施の形態を要約すると、
・スイッチングハブの出力ポートにおいて、グループ別の輻輳判断を行い、輻輳と判断されたグループにのみ、輻輳通知パケットを出力する。
・輻輳判断は、単位時間あたりに出力ポートに転送するグループ別のバイト数をカウントし、ポートを同時に使用するグループで公平になるよう制御する。
・また、輻輳の状態を2段階に判断し、単独のポート、複数のポートに対しフロー制御を行う。
【0075】
第2の実施の形態では、図15に示すように、ハブSW内に各ポート別に各グループの転送した流量を保持する転送レートテーブル21aと、この流量を算出するための転送流量算出処理部21bより構成される流量制御部21を設ける。これにより、第1の実施の形態では各出力ポートでグループ別のバッファ111・・・を監視することにより輻輳を判断していた輻輳判断を、第2の実施の形態では流量制御部21によって輻輳を判断する。このため、図16に示すように、出力ポート(パケット送信制御部30b)にグループ別に設けていたバッファ111・・・を統合して1つのデータ用バッファ311として出力バッファ31の有効活用を行う。
【0076】
全体の動作に関しては、第1の実施の形態とは輻輳の判断方法が異なるのみで、他は同様の動作となる。図17(1)を用いて説明すると、今、同じグループ#1であって、ハブSW4に接続された端末DとハブSW5に接続された端末GがハブSW2を介して、ハブSW3に接続された端末Aにパケットを送信した結果、端末D、Gからのデータ受信速度がハブSW2のポートP21の出力速度を上回ったとする。
【0077】
このときハブSW2では、出力先ポートとなるポートP21に転送したバイト数をグループ別に管理する。グループ#1の単位時間当たりの転送レートが割当レートを上回ったとき、出力バッファ311にパケットを送信してきた端末が端末Gだったとすると、個別輻輳通知用パケットが入力時のパケットの送信元である端末G宛てに送信される。このパケットがハブSW5で受信されると、ハブSW5は該当端末Gが接続されているポートP51に対し、ポーズパケットを出力する。このような方式により輻輳の原因となった端末Gのみがパケットの送信を停止することになる。また、第1の実施の形態のように出力バッファ311の蓄積で輻輳を判断しないため、データ用出力バッファを1つに共有して有効にバッファを利用することが可能となる。このとき、輻輳と無関係なグループ#2がデータを送信したとしても、単位時間当たりの転送レートが割当を下回っていれば、パケットの転送は可能である。
【0078】
また、第1の実施の形態と同様に、同じグループ#1の各端末D、G、Hに輻輳通知パケットを送信する。接続される端末が多く、ハブSW2のポートP21のデータ用出力バッファ311がバッファ閾値を上回る場合を図17(2)を参照して説明する。この場合、ハブSW2は輻輳している出力ポートP21に対し、パケットを送信してくる可能性のあるグループ全てに対してグループ別輻輳通知パケットを送信する。つまり、該当ポートに設定された全てのグループが接続されるポートP21、P22、P23に対して、各グループの輻輳通知パケットを送信する。このような方法により、多数の端末による輻輳時においても、該当ポートに出力する可能性のあるポートを全て停止することができるので、ハブSW2でのパケットロスを防止することが可能となる。この場合にも、該当ポートに関係するグループ以外の端末間の通信は可能である。
【0079】
第2の実施の形態では、図18に示す流量転送レートテーブル21aと、これを算出する転送流量算出処理部21bにより、各グループ#0〜#mの輻輳状態を判断する。図18に示す転送レートテーブル21aにおいて、rate countは各ポート#0〜#n別に各グループ#0〜#mが単位時間当たりに出力ポート#0〜#nのデータ用出力バッファ301に転送したパケットのバイト数である。また、Time Stampはその出力ポート#0〜#nのデータ用出力バッファ301に最後に転送された時間が保持されている。Total rateは各グループrate countの合計である。
【0080】
図19は第2の実施の形態における輻輳状態テーブル20bの例を示す。この輻輳状態テーブル20bは、各グループ#1〜#m別に、接続されるポートP0〜Pnと、流量による輻輳の状況(rate Status)とデータ用出力バッファ301の使用量による輻輳の状況(Buffer Status)により構成される。rate Statusは割当レートを超えない状態(01)と割当レートを超えた状態(10:個別輻輳通知パケットの送信)を示す。またBuffer Statusはバッファの使用量が閾値を超えない場合(0)と閾値を超えて使用されている状態(1:グループ別輻輳通知パケットの送信)を示す。
【0081】
次に、パケット受信時の動作を図20(及び第1の実施の形態における図9)を用いて説明する。パケット受信時、パケット受信制御部30aによりパケット長のカウントが行われ(ステップS1a)、次いでパケットのヘッダの解析が行われる(ステップS1b)。次いでパケットの種類がポーズパケットである場合、第1の実施の形態と同様の処理が行われる(ステップS9、S10)。パケットの種類がデータパケット、輻輳通知パケットの場合、パケット識別情報と、ヘッダ情報に加えパケット長を転送制御部に送信する(ステップS3a)。あとのパケット受信制御部30aでの処理(ステップS4〜S8)は第1の実施の形態と同じである。
【0082】
次に、パケット転送処理に関して図21(及び第1の実施の形態における図10)を用いて説明する。パケット識別情報、ヘッダ情報とパケット長を受信した転送制御部20では、転送先を決定するステップS11a、S12〜S15、S17〜S20は第1の実施の形態と同様になる。第2の実施の形態では、パケット受信制御部30aへ転送先ポートを通知する(ステップS162)とともに、パケットのヘッダ情報、送信元、転送先ポート、パケット長を転送流量算出処理部21bへ通知する(ステップS161)。このとき、マルチキャスト/ブ ロードキャストパケットと、輻輳状態通知パケットの転送情報も通知される。
【0083】
次に、図22(及び第1の実施の形態における図11)を用いて、輻輳通知パケットを送信するまでの処理を説明する。パケットのヘッダ情報と送信元、転送先ポート情報を受信したとき(ステップS131)、Buffer Statusが1であれ ば(ステップS132でY)、該当出力ポートに接続されている全グループを抽出し(ステップS133)、各グループに対してそれぞれ、接続先ポート一覧を作成する(ステップS134)。そして、転送先のポートを除く全抽出ポートの輻輳通知パケット生成部33にパケット生成情報をグループの数だけ送信する(ステップS135)。Buffer Statusが0(ステップS132でN)でFlow Statusが '10 'の場合(ステップS136でY)、受信ポートの輻輳通知パケット生成部33にパケット生成情報を通知する(ステップS137)。Buffer Statusが0でFlow Statusが'01'の場合、何もしない(ステップS138)。
【0084】
次に、図23を用いてパケット転送時の転送流量の算出に関して説明する。転送制御部20より、パケットのヘッダ情報、受信、転送先ポート、パケット長を受信すると(ステップS201)、転送先ポートの該当グループのrate countを再計算し、また、Total countも更新する(ステップS202)。rate countの 再計算は、該当グループのTime stampにより時間経過を算出し、単位時間当たりのrate countに再計算しなおされる。
【0085】
このとき、Total countが該当ポートの流量閾値を超えていなければ(ステッ プS203でN)、該当ポートに接続される全てのグループのFlow Statusを’01’に変更する(ステップS204)。ポートの流量閾値は、単位時間にポートが出力可能なバイト数を元に算出される。例えば、単位時間を100ms、ポートの出力速度が10Mbpsであったとすると、ポートの流量閾値は約122kbyteとなる。
【0086】
Total countが流量閾値を超えていた場合(ステップS203でY)、このポ ートの閾値を単位時間当たりに使用したグループの数で割った値をグループの割当流量とし、更新したグループのrate countが前記グループの割当流量を超えていた場合(ステップS205でY)、該当グループは輻輳と判断し、Flow Statusを'10'に変更する(ステップS206)。グループのrate countがグループ の割当流量を超えていない場合(ステップS205でN)、該当グループのFlow Statusを'01'に変更する(ステップS207)。
【0087】
次に、各グループで共用となった出力バッファ311の流量監視処理に関して図24を用いて説明する。第2の実施の形態においては、輻輳の度合いは流量により判断するので、出力バッファ監視処理は、最終的なバッファあふれによるパケットロスを防止することが目的となる。このため、閾値は1つのみ設定し、これを監視する(ステップS121)。出力バッファ311の使用が閾値th1を超えた場合(ステップS122でY)、該当ポートのBuffer Statusを1に変更する(ステップS123)。これは、グループ別輻輳通知パケットの送信の段階に入ったことを示している。
【0088】
第2の実施の形態においては、Buffer Status=1における輻輳制御は、該当 ポートに転送の可能性のある全グループに対して、グループ別輻輳通知パケットが送信されるため、必ずバッファ311の使用量は減少する。バッファの使用量が閾値th1を下回ると(ステップS122でN)、Buffer Statusを0に変更する(ステップS124)。
【0089】
最後に、パケット送信処理に関して図25(及び第1の実施の形態における図14)を用いて説明する。パケット送信処理は輻輳通知用出力バッファ310とデータ用バッファ311の読出し制御を行うのみとなり、輻輳制御通知用出力バッファ310にデータが存在しない場合のみ(ステップS62でN)、データ用バッファ311からの読出しを行う(ステップS63、S64)。データ用バッファ311はグループ#0〜#mで共用するため、グループ#0〜#m間の読出し制御(図14におけるステップS64、S65)を行う必要も無く、バッファ311からの読出しを行うのみとなり、処理が簡略化される。
【0090】
ここで、輻輳通知パケットの生成処理は、第1の実施の形態(図13参照)と同じであるので、図面及び説明を省略する。
【0091】
第2の実施の形態によれば、各パケット送信制御部30bにおいて、図3に示すような複数のバッファ111〜11mの管理をする必要はなくなるとともに、読出しの制御も簡略化される。また、データ出力バッファをグループ#0〜#m別に用意する必要がなくなるため、トータルのバッファ量を削減することが可能である。また、グループ#0〜#mを多重したポートでは、輻輳通知パケットを受信しても転送するのみで、受信ポートの出力を停止することは無いので、出力バッファ311に転送する流量をグループ#0〜#m別に制御することで、実際のポートの出力を制御することができる。なお、この第2の実施の形態においては、流量制御を各グループ#0〜#mの使用状況でリアルタイムに割り当てたが、ピークレートなどの設定を保持し、この値を使用して、流量制御を行うことで帯域制限を行うことも可能である。
【0092】
<第3の実施の形態>
次に図26〜図32を参照して第3の実施の形態について説明する。ここで、第3の実施の形態を要約すると、
・スイッチングハブの出力ポートにおいて、グループ別の輻輳判断を行い、輻輳と判断されたグループにのみ、輻輳通知パケットを出力する。
・輻輳判断は、出力ポートに設けたグループ別のバッファによって行う。
・また、輻輳の状態を2段階に判断し、単独のポート、複数のポートに対しフロー制御を行う。
・輻輳制御パケットを転送することは無く、受信ポートのグループ別バッファの読み出しを停止することで制御する。
【0093】
第3の実施の形態では、図26(a)、(b)に示すように第1の実施の形態に対してパケット送信制御部3ba内に送信停止処理部16と出力管理テーブル15を追加して設ける。これにより、輻輳通知パケットを受信した場合に、輻輳通知パケットを転送することなく、自ポートの該当グループの読出しを停止することによりフロー制御を実施する。
【0094】
全体の動作に関して図27(1)を用いて説明する。今、同じグループ#1の、ハブSW4に接続されている端末DとハブSW5に接続されている端末GがハブSW2を介して、ハブSW5に接続されている端末Aにパケットを送信した結果、端末D、Gからのデータ受信速度がハブSW2のポートP21の出力速度を上回ったとする。このときハブSW2では出力先ポートとなるポートP21でパケットのバッファ管理をグループ別に行う。グループ#1のデータ用出力バッファ111が輻輳段階1の閾値を上回ったとき、グループ#1のバッファ111にパケットを送信してきた端末が端末Gだったとすると、個別輻輳通知用パケットが入力時のパケットの送信元である端末G宛てに送信される。
【0095】
このパケットがハブSW5で受信されると、該当端末Gが所属するグループ #1のバッファに対し、出力バッファ111からの読出しを停止する。この結果、ハブSW5の端末GからのパケットはハブSW5のグループ#1用のバッファ111に蓄積されることになり、ハブSW5の輻輳判断により端末Gにポーズパケットが出力される。このような方式により輻輳の原因となった端末Gのみがパケットの送信を停止することになる。このとき、輻輳と無関係なグループ#2のバッファ112は空いているため、グループ#2の端末Eから端末B宛てのパケットは、グループ#1の輻輳によらず転送が可能となる。また、ハブSW5においても、送信を停止するバッファはグループ#1のみであるので、ハブSW5に接続される別のグループ#4の端末Iから端末Fへの通信も可能である。
【0096】
次にハブSW2の接続ポート数が多く、ポートP21のグループ#1のバッファ111が輻輳段階2の閾値を上回る場合を図27(2)を用いて説明する。この場合、ハブSW2はグループ#1の接続されているポートP22〜P2n(P23)の全てに対してグループ別輻輳通知パケットを出力する。グループ別輻輳通知パケットを受信したハブSW4〜SWN(SW5)は、グループ#1の バッファ111に対し、出力バッファ11からの読出しを停止する。この結果、ハブSW2に対してグループ#1のパケットを送信する可能性があるのはポートP21のハブSW3からのみとなり、このため、ポートP21のグループ#1の出力バッファ111に転送するパケットを無くし、早急に輻輳状態を回復することが可能となる。このとき図27(1)と同様に、各ハブSWにおける出力バッファ11の停止はグループ#1のみであることから、この間の他のグループ#2、#4の通信は可能となっている。
【0097】
上記の動作に関して、スイッチングハブの構成及び動作を以下に説明する。第3の実施の形態では、パケット送信制御部3ba内に、輻輳通知パケットを受信したときに、タイマー動作により各グループの読出の可/不可を変更する送信停 止処理部16と読出しの状態を保持する出力管理テーブル15を設けている。図28はPort#nの出力管理テーブル15の例を示す。図28において、ポートの 多重するグループ#1〜#m別にRead StatusとPause Statusを管理する。Read Statusは該当グループ#k(k=1、2〜m)の出力バッファ11kからの読出しを許可するか、読出しを停止するかを示している。Pause Statusは輻輳通知パケットにより各グループ#1〜#m別に保持するパケット送信停止タイマーが未動作(Status:0)か、個別輻輳通知パケットによるタイマー動作中(Status:1)か、グループ別輻輳通知パケットによるタイマー動作中(Status:2)かを示している。
【0098】
次に、パケット受信時の動作を図29(及び第1の実施の形態における図9)を用いて説明する。パケット受信時、パケット受信制御部3aによりパケットのヘッダの解析が行われる(ステップS1)。パケットの種類がデータパケット、ポーズパケットである場合、第1の実施の形態と同様の処理(データパケット:ステップS3〜S5、ポーズパケット:ステップS9、S10)が行われる。パケットの種類が輻輳通知パケットの場合、自ポートの送信制御部3bへポーズタイム値、グループ識別子、輻輳通知パケット種別を通知して(ステップS7a)、受信パケットは廃棄する(ステップS10)。
【0099】
上記図29の説明のように、輻輳通知パケットはパケット受信制御部3aで処理が完了し、パケット転送処理は行わない。このため、パケット転送制御部2aでは、第1の実施の形態にあった、輻輳通知パケットの転送処理(図9に示すステップS7)はなくなる。
【0100】
次に図30(及び第1の実施の形態における図10)を参照してパケット転送処理について説明する。図30では図10におけるデータパケット判定ステップS18が省略されている。
【0101】
次に送信制御部3ba内の送信停止処理部16の動作を図31を用いて説明する。送信停止処理部16は輻輳通知パケットの通知を受信すると(ステップS301)、受信した輻輳通知パケットがグループ用輻輳通知パケットの場合(ステップS302でY)、状態の如何に関わらず、通知されたポーズタイム値でタイマーを再スタートさせ(ステップS303)、グループのRead Statusを1にPause Statusを2へ変更する(ステップS304)。
【0102】
受信した輻輳通知パケットが個別輻輳通知パケットの場合(ステップS302でN)、Read Statusが0か1のとき(ステップS305でN)、受信ポーズタイム値でタイマーを再スタートさせ(ステップS306)、グループのRead Statusを1に、Pause Statusを1へ変更する(ステップS307)。受信時のRead Statusが2の場合(ステップS305でY)何も処理を行わない。各グループの再送タイマーを処理し、各グループの再送タイマーが終了した場合(ステップS308でN)、該当グループのRead StatusとPause Statusを0に変更する(ステップS309)。
【0103】
このような処理により、例えば輻輳の第二段階であるグループ用輻輳通知パケットのポーズタイム値を、輻輳の第1段階である個別輻輳通知パケットのポーズタイム値より大きくした場合、後から受信したポーズタイム値の小さな個別輻輳通知パケットにより上書きされることが無くなり、確実にパケットロスを防ぐことが可能になる。
【0104】
出力管理テーブル15により読出しの状態が変わるため、第3の実施の形態でのパケット送信処理のフローチャートは、図32に示すように第1の実施の形態(図14参照)に対してステップS65aが追加される。このパケット送信処理では、輻輳通知用パケットが存在する場合、優先的に処理することは、第1の実施の形態と同様である(ステップS61〜S62)。データ用バッファにデータが存在する場合、出力として選択されたグループのRead Statusが0の場合のみ (ステップS65aでY)バッファ11より読出しを行う(ステップS66)。Read Statusが1のグループであった場合(ステップS65aでN)、複数のグ ループのデータが存在する場合は次のグループ選定に移る。
【0105】
第3の実施の形態によれば、パケットの転送処理を行うことなく、グループ単位でのフロー制御を行うことが可能である。また、第1、第2の実施の形態と同様のフレームフォーマットの輻輳通知パケットにより処理が行われるため、各実施の形態のポートを持つスイッチングハブを組み合わせて使用しても、問題無くグループ間に影響を与えないフロー制御を実現することができる。
【0106】
【発明の効果】
以上説明したように本発明によれば、ハブの出力ポート側において端末グループ毎に輻輳を判断して、輻輳と判断したグループのみに輻輳通知パケットを出力するようにしたので、輻輳時に他の端末グループに与える影響を極力少なくし、通信を制限したい機器にのみ送信を制限することができる。
本発明はまた、輻輳の状態によって出力する輻輳通知パケットの種類を個別端末宛てとグループ宛てに変更することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態のフロー制御装置を要約して示す説明図
【図2】本発明の第1の実施の形態のフロー制御装置を詳しく示すブロック図
【図3】図2のパケット送信制御部を詳しく示すブロック図
【図4】図2の輻輳状態テーブルを詳しく示す説明図
【図5】個別輻輳通知パケットのMACフレームフォーマットの構成を示す説明図
【図6】グループ別輻輳通知パケットのMACフレームフォーマットの構成を示す説明図
【図7】図6のグループ別輻輳通知パケットのポーズタイム値の導出式を示す説明図
【図8】基準ポーズタイム値より自ポートポーズタイム値を導出する式を示す説明図
【図9】図2のパケット受信制御部の処理を示すフローチャート
【図10】図2の転送制御部の処理を示すフローチャート
【図11】図2の輻輳通知パケット送信制御部の処理を示すフローチャート
【図12】図3の出力バッファ監視部の処理を示すフローチャート
【図13】図3の輻輳通知パケット生成部の処理を示すフローチャート
【図14】図3のパケット送信制御部の処理を示すフローチャート
【図15】本発明の第2の実施の形態のフロー制御装置を詳しく示すブロック図
【図16】図15のパケット送信制御部を詳しく示すブロック図
【図17】第2の実施の形態のフロー制御装置を要約して示す説明図
【図18】図15の転送レートテーブルを詳しく示す説明図
【図19】図15の輻輳状態テーブルを詳しく示す説明図
【図20】図15のパケット受信制御部の処理を示すフローチャート
【図21】図15の転送制御部の処理を示すフローチャート
【図22】図15の輻輳通知パケット送信制御部の処理を示すフローチャート
【図23】図15の転送流量算出処理部の処理を示すフローチャート
【図24】図15の出力バッファ監視部の処理を示すフローチャート
【図25】図15のパケット送信制御部の処理を示すフローチャート
【図26】(a)本発明の第3の実施の形態のフロー制御装置を詳しく示すブロック図
(b)図26(a)のパケット送信制御部を詳しく示すブロック図
【図27】本発明の第3の実施の形態のフロー制御装置を要約して示す説明図
【図28】図26の出力管理テーブルを詳しく示す説明図
【図29】図26のパケット受信制御部の処理を示すフローチャート
【図30】図26のパケット転送制御部の処理を示すフローチャート
【図31】読み出し停止処理を示すフローチャート
【図32】図26のパケット送信制御部の処理を示すフローチャート
【図33】従来のフロー制御装置を要約して示す説明図
【図34】他の従来のフロー制御装置を要約して示す説明図
【符号の説明】
SW2〜SW5 スイッチングハブ
11 出力バッファ
12 出力バッファ監視部
13 輻輳通知パケット生成部

Claims (29)

  1. 複数のグループをグループ識別子により多重可能な入力ポート及び出力ポートを有するハブが階層構造で接続されたネットワークにおけるフロー制御装置において、
    前記ハブが前記ポートの出力ポート側において端末グループ毎に輻輳を判断する輻輳判断手段と、
    前記輻輳判断手段により輻輳と判断したグループに関するパケットのみ送信を停止することを通知する、ポーズタイム値を含む輻輳通知パケットを出力する輻輳通知パケット出力手段とを有し、
    前記輻輳判断手段は、出力ポート側における輻輳の度合いを2以上の段階に区分し、単独のポートに対して輻輳通知パケットを送信する第1段階と、単独のポート若しくは複数のポートに対して輻輳通知パケットを送信する第2段階を有するとともに、出力ポートにおいて端末グループ毎にデータ出力バッファを更に有し、前記データ出力バッファ毎の使用率が輻輳の第1段階を超える場合、さらに使用率が前記輻輳の第1段階より大きい輻輳の第2段階を超える場合を判断することを特徴とするフロー制御装置。
  2. 前記第1段階の輻輳通知パケットは、宛先アドレスにより個別端末を特定可能な個別輻輳通知パケットであることを特徴とする請求項に記載のフロー制御装置。
  3. 前記第2段階の輻輳通知パケットは、グループ識別子によりグループを特定可能なグループ別輻輳通知パケットであることを特徴とする請求項に記載のフロー制御装置。
  4. 前記グループ別輻輳通知パケットの宛先アドレスは、ブロードキャストアドレスを使用することを特徴とする請求項に記載のフロー制御装置。
  5. 複数のグループをグループ識別子により多重可能な入力ポート及び出力ポートを有するハブが階層構造で接続されたネットワークにおけるフロー制御装置において、
    前記ハブが前記ポートの出力ポート側において端末グループ毎に輻輳を判断する輻輳判断手段と、
    前記輻輳判断手段により輻輳と判断したグループに関するパケットのみ送信を停止することを通知する、ポーズタイム値を含む輻輳通知パケットを出力する輻輳通知パケット出力手段とを有し、
    前記輻輳判断手段は、各出力ポート別に全グループ共用のデータ出力バッファを有し、前記各出力ポート別の前記全グループ共用のデータ出力バッファ毎に、グループ別のデータ転送流量としてフロー制御装置内部で単位時間当たりに転送されたパケット量を算出する転送流量算出処理部を有し、その全グループのデータ転送流量が出力ポートの帯域を超え、かつ、該当グループのデータ転送流量が当該出力ポートを同時に使用するグループ数で割った帯域を超えた場合に輻輳と判断することを特徴とするフロー制御装置。
  6. 前記流量の算出においてグループ別転送流量に、各グループ毎の輻輳通知パケットを含めることを特徴とする請求項に記載のフロー制御装置。
  7. 前記輻輳通知パケットの転送によりグループ別転送流量の判断で輻輳と判断されても、輻輳通知パケットは生成しないことを特徴とする請求項に記載のフロー制御装置。
  8. 前記輻輳判断手段は、輻輳の度合いを2以上の段階に区分し、前記グループ別の転送流量に基づいて判断される輻輳の第1段階に加え、前記全グループ共用のデータ出力バッファの使用率が所定の輻輳の閾値を超えた場合を輻輳の第2段階と判断し、前記輻輳の第2段階における輻輳通知パケットを送信する場合、該当ポートに送信可能性のある全グループに対してグループ別輻輳通知パケットを生成して送信することを特徴とする請求項5に記載のフロー制御装置。
  9. 前記輻輳通知パケットを受信したハブが、受信ポートにおいてグループ別送信停止処理を行い、グループ別輻輳通知パケットを受信した場合に、必ずそのパケット内のポーズタイム値を送信停止タイマーにセットして再スタートさせることを特徴とする請求項1又は5に記載のフロー制御装置。
  10. グループ別輻輳通知パケットによる送信停止中に個別輻輳通知パケットを受信しても無視することを特徴とする請求項に記載のフロー制御装置。
  11. 前記輻輳通知パケットを受信したハブが、輻輳通知パケットの転送先を判断する転送先判断手段を有し、輻輳通知パケットを転送することを特徴とする請求項1又は5に記載のフロー制御装置。
  12. 前記転送先判断手段は、転送先がグループを多重したポートの場合、輻輳通知パケットを転送し、転送先がグループを多重しないポートの場合、ポーズパケットを生成して送信することを特徴とする請求項11に記載のフロー制御装置。
  13. 輻輳通知パケットを受信したポートと輻輳通知パケットを転送する宛先ポートの伝送速度が異なる場合、ポーズタイム値を変換して送信することを特徴とする請求項1又は5に記載のフロー制御装置。
  14. 個別端末に対する輻輳通知パケットを送信する場合にはデータパケット受信時の輻輳状態を契機に行うことで再送をしないことを特徴とする請求項1又は5に記載のフロー制御装置。
  15. グループに対する輻輳通知パケットを送信する場合には、タイマー監視により輻輳状態の低減が無い場合再送を行うことを特徴とする請求項1又は5に記載のフロー制御装置。
  16. グループに対する輻輳通知パケット送信後のタイマー監視中に受信したパケットに関しては、輻輳通知パケットの送信を行わないことを特徴とする請求項1又は5に記載のフロー制御装置。
  17. 複数のグループをグループ識別子により物理リンクに多重するハブを有するネットワークシステムにおいて、
    前記ハブの出力ポートにおいて端末グループ毎の輻輳を判断する輻輳判断ステップと、
    前記輻輳判断ステップにより輻輳と判断された端末グループに関するパケットのみ送信を所定の停止することをポーズタイム値と共に通知する輻輳通知を行う輻輳通知ステップとを有し、
    前記輻輳判断ステップは、出力ポートの輻輳の度合いを2以上の段階に区分して判断するステップを有し、出力ポートのグループ毎データ出力バッファの使用率が輻輳の第1段階を超える場合、さらに使用率が前記輻輳の第1段階より大きい輻輳の第2段階を超える場合を判断することを特徴とするフロー制御方法。
  18. 前記輻輳通知ステップは、輻輳の原因となるパケットを送信してきた単独のポートからの輻輳通知と、輻輳しているグループが属する全ポートからの輻輳通知の2種類を行うことを特徴とする請求項17に記載のフロー制御方法。
  19. 前記2以上の段階の第1の段階の輻輳通知は、グループを特定し、さらにパケットを送信した送信元端末を特定した個別輻輳通知であることを特徴とする請求項17又は18に記載のフロー制御方法。
  20. 前記2以上の段階の第2の段階の輻輳通知は、グループのみを特定したグループ別輻輳通知であることを特徴とする請求項17又は18に記載のフロー制御方法。
  21. 複数のグループをグループ識別子により物理リンクに多重するハブを有するネットワークシステムにおいて、
    前記ハブの出力ポートにおいて端末グループ毎の輻輳を判断する輻輳判断ステップと、
    前記輻輳判断ステップにより輻輳と判断された端末グループに関するパケットのみ送信を所定の停止することをポーズタイム値と共に通知する輻輳通知を行う輻輳通知ステップとを有し、
    前記輻輳判断ステップは、各出力ポートに対し、グループ別のデータ転送流量を算出する転送流量算出ステップを有し、そのデータ転送流量が出力ポートの帯域をその出力ポートを同時に使用するグループ数で割った帯域を超えた場合に輻輳と判断することを特徴とするフロー制御方法。
  22. 前記転送流量算出ステップにおけるグループ別のデータ転送流量は、各グループの輻輳通知パケットの転送流量を含むことを特徴とする請求項1に記載のフロー制御方法。
  23. 前記輻輳判断ステップにおいて輻輳通知パケットの転送によりグループ別のデータ転送流量の判断で輻輳と判断されても、輻輳通知ステップでは輻輳通知を行わないことを特徴とする請求項22に記載のフロー制御方法。
  24. 前記輻輳判断ステップは、前記転送流量算出ステップにおいて算出したデータ転送流量に基づいて輻輳の第1段階を判断し、出力ポートにおける複数の端末グループに対して共通のデータ出力バッファの使用量に基づいて輻輳の第2段階を判断することを特徴とする請求項1に記載のフロー制御方法。
  25. 前記輻輳の第2段階による輻輳通知ステップは、該当ポートに送信可能性のある全グループが属するポートからグループ別輻輳通知を送信することを特徴とする請求項24に記載のフロー制御方法。
  26. 前記ハブが輻輳通知を受信した場合に、そのポートから該当グループのパケットの送信を停止する送信停止ステップを有し、
    前記送信停止ステップは、グループ別輻輳通知を受信した場合に、必ずそのパケット内のポーズタイム値から送信停止時間の計時を再スタートすることを特徴とする請求項17又は21に記載のフロー制御方法。
  27. 前記送信停止ステップは、グループ別輻輳通知による送信停止中に個別輻輳通知を受信しても無視することを特徴とする請求項26に記載のフロー制御方法。
  28. 前記ハブが輻輳通知を受信した場合に、輻輳通知の転送先を判断してその転送先に転送するステップを有することを特徴とする請求項17又は21に記載のフロー制御方法。
  29. 前記輻輳通知をインバンドの輻輳通知パケットにより行うことを特徴とする請求項18に記載のフロー制御方法。
JP2001339427A 2000-11-24 2001-11-05 フロー制御装置及び方法 Expired - Fee Related JP3934915B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001339427A JP3934915B2 (ja) 2000-11-24 2001-11-05 フロー制御装置及び方法
US10/140,174 US7180857B2 (en) 2000-11-24 2002-05-08 Apparatus and method for flow control

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000358378 2000-11-24
JP2000-358378 2000-11-24
JP2001339427A JP3934915B2 (ja) 2000-11-24 2001-11-05 フロー制御装置及び方法

Publications (2)

Publication Number Publication Date
JP2002223223A JP2002223223A (ja) 2002-08-09
JP3934915B2 true JP3934915B2 (ja) 2007-06-20

Family

ID=26604563

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001339427A Expired - Fee Related JP3934915B2 (ja) 2000-11-24 2001-11-05 フロー制御装置及び方法

Country Status (1)

Country Link
JP (1) JP3934915B2 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3970138B2 (ja) 2002-09-09 2007-09-05 富士通株式会社 イーサネットスイッチにおける輻輳制御装置
US7986625B2 (en) 2002-12-10 2011-07-26 International Business Machines Corporation Resource-aware system, method and program product for managing request traffic based on a management policy
JP4151561B2 (ja) * 2003-10-29 2008-09-17 日立電線株式会社 アグリゲーション機能付き中継装置
JP2005332316A (ja) * 2004-05-21 2005-12-02 Ricoh Co Ltd データ分配装置、データ転送装置及び画像処理装置
JP4257857B2 (ja) 2004-09-22 2009-04-22 インターナショナル・ビジネス・マシーンズ・コーポレーション データ処理システムおよびデータ処理方法
KR100636272B1 (ko) 2005-01-10 2006-10-19 삼성전자주식회사 포트 스케쥴링 장치 및 그 방법
JP4668675B2 (ja) * 2005-04-28 2011-04-13 富士通株式会社 選択的フロー制御システム
JP2007194732A (ja) * 2006-01-17 2007-08-02 Fujitsu Access Ltd トラヒック制御機能を有する加入者線終端装置及び加入者収容装置
JP4584846B2 (ja) * 2006-02-17 2010-11-24 アラクサラネットワークス株式会社 ネットワーク中継装置およびパケットの転送方法
JP2009111747A (ja) * 2007-10-30 2009-05-21 Sony Corp 中継装置および方法、並びに、プログラム
ATE505006T1 (de) * 2007-12-06 2011-04-15 Alcatel Lucent Usa Inc Stauregelung in einem paketgeschalteten datennetz
JP4934618B2 (ja) * 2008-03-12 2012-05-16 株式会社日立製作所 Ponシステムおよびフレーム転送装置
JP2010178313A (ja) 2009-02-02 2010-08-12 Panasonic Electric Works Co Ltd ネットワークシステム
JP5601193B2 (ja) 2010-12-22 2014-10-08 富士通株式会社 ネットワーク中継システム、ネットワーク中継装置、輻輳状態通知方法、及びプログラム
JP5617654B2 (ja) * 2011-01-19 2014-11-05 三菱電機株式会社 局内装置、通信システム及びレイヤ2スイッチ
US9007909B2 (en) * 2011-03-09 2015-04-14 International Business Machines Corporation Link layer reservation of switch queue capacity
JP5832155B2 (ja) * 2011-06-20 2015-12-16 三菱電機株式会社 空気調和機のネットワークシステム
JP6314575B2 (ja) * 2014-03-20 2018-04-25 富士通株式会社 伝送装置およびポーズフレーム変換方法
JP6295767B2 (ja) * 2014-03-25 2018-03-20 富士通株式会社 スイッチ装置、情報処理システムおよびスイッチ装置の制御方法
US11201822B2 (en) 2017-02-21 2021-12-14 Nec Corporation Switch, switch controlling method, and program

Also Published As

Publication number Publication date
JP2002223223A (ja) 2002-08-09

Similar Documents

Publication Publication Date Title
JP3934915B2 (ja) フロー制御装置及び方法
US7180857B2 (en) Apparatus and method for flow control
US6496516B1 (en) Ring interface and ring network bus flow control system
JP2753294B2 (ja) パケット輻輳制御方法およびパケット交換装置
US7292532B2 (en) Traffic shaping apparatus and traffic shaping method
US7843816B1 (en) Systems and methods for limiting low priority traffic from blocking high priority traffic
EP1565828B1 (en) Apparatus and method for distributing buffer status information in a switching fabric
US7573821B2 (en) Data packet rate control
US20060045009A1 (en) Device and method for managing oversubsription in a network
US20080016510A1 (en) Event-driven flow control for a very high-speed switching node
US6661803B1 (en) Network switch including bandwidth controller
EP1622325A1 (en) Closed loop out of band backpressure mechanism
US20060015874A1 (en) Method for sending and receiving a data frame between at least two data processing apparatuses
WO2002091672A2 (en) A system and a method for processing data packets or frames
US20030147347A1 (en) Method for congestion control and associated switch controller
JPH1023012A (ja) 送出トラヒック制御装置
JP3908483B2 (ja) 通信装置
JP2000269997A (ja) Lan中継交換装置
US8086770B2 (en) Communication apparatus with data discard functions and control method therefor
US6870854B1 (en) Packet switching device and cell transfer method
US7190699B2 (en) Method and apparatus for implementing multiple credit levels over multiple queues
JPH1155314A (ja) データ転送制御方法
JP2000059377A (ja) 通信装置
US6680908B1 (en) Network switch including bandwidth allocation controller
GB2355374A (en) Packet forwarding device with selective packet discarding when paused

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040917

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060602

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060822

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061023

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061128

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070126

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070313

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070316

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110330

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110330

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120330

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130330

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130330

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140330

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees