JP2004104192A - バッファオーバーフロー検出方法および回路 - Google Patents
バッファオーバーフロー検出方法および回路 Download PDFInfo
- Publication number
- JP2004104192A JP2004104192A JP2002259506A JP2002259506A JP2004104192A JP 2004104192 A JP2004104192 A JP 2004104192A JP 2002259506 A JP2002259506 A JP 2002259506A JP 2002259506 A JP2002259506 A JP 2002259506A JP 2004104192 A JP2004104192 A JP 2004104192A
- Authority
- JP
- Japan
- Prior art keywords
- packets
- increase
- buffer memory
- decrease
- threshold value
- 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.)
- Pending
Links
Images
Abstract
【課題】バッファメモリを用いて通信パケットの送受を行なうネットワーク機器等のフロー制御において、バッファメモリが記憶可能な最大パケット数を有効利用可能なバッファオーバーフロー検出方法及び回路を提供する。
【解決手段】△t時間の信号を生成する自己同期型タイマ1と、△t時間毎のパケット増減数を計数するカウンタ2と、計数結果を順次保持するレジスタ3a〜3cと、保持された各時間毎の増減計数値を元に△t時間後の将来のバッファ内パケット増減数を予測し、その予測値に応じて閾値を制御するしきい値決定部4と、しきい値決定部4が定めた新たな閾値と現在のバッファメモリ内パケット数とを比較する比較器5とを備えてバッファオーバーフロー検出回路を構成し、予測値に応じて柔軟に閾値を可変するようにしたので、バッファメモリの記憶できる最大パケット数を有効に利用することが可能となる。
【選択図】 図1
【解決手段】△t時間の信号を生成する自己同期型タイマ1と、△t時間毎のパケット増減数を計数するカウンタ2と、計数結果を順次保持するレジスタ3a〜3cと、保持された各時間毎の増減計数値を元に△t時間後の将来のバッファ内パケット増減数を予測し、その予測値に応じて閾値を制御するしきい値決定部4と、しきい値決定部4が定めた新たな閾値と現在のバッファメモリ内パケット数とを比較する比較器5とを備えてバッファオーバーフロー検出回路を構成し、予測値に応じて柔軟に閾値を可変するようにしたので、バッファメモリの記憶できる最大パケット数を有効に利用することが可能となる。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、バッファオーバーフロー検出回路に関し、特に、バッファメモリを用いて通信パケットの送受を行なうネットワーク機器等のフロー制御において伝送効率を最適に維持するバッファオーバーフロー検出回路に関する。
【0002】
【従来の技術】
近年、インターネットに代表されるネットワーク接続が普及し、企業のみならず一般家庭のコンピュータ端末、或いは携帯電話端末などもネットワークに接続され、相互に通信可能になっている。大規模なネットワークシステムも、構築の階層をたどれば、各種のLAN(Local Area Network)の集合からなっていることが多く、LANの代表的な通信方式としてイーサネット(Xerox社商標)が知られている。
図4は、データ通信ネットワークの構成モデル例を示す図であり、複数の端末10が、リピータハブ20或いはスイッチングハブ30に接続され、リピータハブ20或いはスイッチングハブ30は、別のリピータハブ20、スイッチングハブ30又は、ルータ40と相互に接続された構成となっている。各機器を相互接続する伝送路は、有線、無線に関わらず多様な通信回線が用いられる。このようなネットワークにおいて、端末と端末を結びデータ通信を行なう場合には、リピータハブ20、スイッチングハブ30、ルータ40といったネットワーク機器を経由して通信が行なわれることになる。
【0003】
そして、このような通信においては、情報がパケットと呼ばれる単位ごとに伝送されるデータ通信方式が主流となっており、前記ネットワーク機器はパケットに付されたヘッダ部分のアドレス指定に基づきパケットの中継を行なう。
ここでパケット中継に関し、ネットワーク機器の中には、入力するパケットを一時保存するためのバッファメモリと呼ばれる記憶素子を持つものがあり、上述の例にあっては、スイッチングハブ30やルータ40が該当する。このように入力パケットをバッファメモリに一時保存し、パケットのチェックを行なった後に送信すべきポートの判断を行なって送信する方式としてストア&フォワード方式が知られている。この方式は、通信の信頼性が高く、通信速度の変換も可能である反面、フレームの大きさに比例して、転送遅延が大きくなるという特性をもつものである。
【0004】
更に、上位のレイヤにおいて、例えば、インターネットで広く用いられているTCP(Transmission Control Protocol)では、情報が確実に転送されるようフロー制御を行なっている。フロー制御は、送信元とあて先でバッファを設定しておき、あて先は予め送信元に自己が設定したバッファ容量を、TCPヘッダーのウィンドウの大きさを示す領域に格納して通知しておくことで、送信元はあて先のバッファ容量に合わせてセグメント(データストリームを分割化した単位)を送信するようにし、これは適宜、送受信間のハンドシェーク・シーケンスにより可変制御がなされるものである。なお、TCPに限らず、このような通信制御の手段をフロー制御と呼び、シリアル通信や、上述のイーサネットなど様々な通信方式に応用されている。
【0005】
図5はネットワーク機器間のフロー制御のイメージを示すモデル図である。
この例では、2台のネットワーク機器が対向接続されており、一方を、バッファメモリを備えた当該ネットワーク機器50とし、他方を、対向のネットワーク機器60として説明する。ここでは、対向のネットワーク機器60側からパケットを送信し、当該ネットワーク機器50側にて受信しており、当該ネットワーク機器50は、自己のバッファメモリの状況に応じたフロー制御信号を返送することで、確実にパケットを転送している。
また、バッファメモリの容量が有限であり、受信側の処理能力を超えて一定時間内に大量のパケットが到来してしまうと、バッファメモリの容量に納まらずオーバーフローを引き起こしてしまうことになる。こうなると、後続の受信パケットは廃棄され、著しい通信効率の低下を招いてしまう。そこで、上述のフロー制御における一つの機能として、バッファオーバーフロー検出が重要となってくる。
【0006】
従来、このフロー制御におけるバッファオーバーフロー検出は、送受信ネットワーク機器間のシーケンス制御にて、転送パケット長サイズやバッファメモリ容量の割り当てを確認した後に通信を開始し、受信側ではバッファメモリ内に格納されているパケット数を監視し、パケット数が一定のしきい値を超えた時にバッファオーバーフロー検出として、送信側に通知することで、実際のバッファオーバーフローが生じる前に、送信側からの出力を制限するようにしていた。
【0007】
【発明が解決しようとする課題】
しかしながら、上述した従来のバッファオーバーフロー検出方法においては、以下に示すような問題点があった。つまり、パケット数がしきい値に達した時点で送信側の対向ネットワーク機器にパケットを送出しないよう伝えても、これに応じて対向ネットワーク機器が送出を停止するまでには、パケットを出力してしまうので、その分を配慮して予めしきい値を低めに設定していた。しきい値を低めに設定するということは、バッファメモリが記憶可能な最大パケット数を活かすことができないので、その分、伝送効率も低下することになる。
【0008】
本発明はこのような問題点を解決するためになされたものであり、バッファメモリが記憶可能な最大パケット数を活かすことが可能なバッファオーバーフロー検出方法及び回路を提供することを目的とする。
【0009】
【課題を解決するための手段】
上記課題を解決するために本発明に係わるバッファオーバーフロー検出方法の請求項1の発明は、バッファメモリを用いたパケット送受信に係るバッファオーバーフロー検出方法において、一定時間△t毎に前記バッファメモリ内のパケット数増減を検出する計数をし、該計数したパケット数増減結果を複数n段保持すると共に保持したn個のパケット数増減結果から増減の大小量及び増減の傾向を求め、求めた結果に基づき△t時間後のパケット数増減を予測し、該予測値に基づき閾値を決定し、該閾値と現在のバッファメモリ内パケット数とを比較する上記手順を繰り返し行ない、バッファメモリ内パケット数が閾値を越えたときにバッファオーバーフロー検出とすることを特徴とする。
【0010】
また、本発明に係わるバッファオーバーフロー検出回路の請求項2の発明は、バッファメモリを用いたパケット送受信に係るバッファオーバーフロー検出回路において、一定時間△t毎に前記バッファメモリ内のパケット数増減を検出する計数手段と、前記計数手段のパケット数増減結果を複数n段保持する記憶手段と、前記記憶手段の保持したn個のパケット数増減結果から増減の大小量及び増減の傾向を求める演算手段と、前記演算手段の求めた結果に基づき△t時間後のパケット数増減を予測する予測手段と、前記予測手段の予測値に基づき閾値を決定する閾値制御手段と、前記閾値制御手段からの閾値とバッファメモリ内パケット数とを比較する比較手段とを備え、バッファメモリ内パケット数が閾値を越えたときにバッファオーバーフロー検出とすることを特徴とする。
【0011】
また、本発明に係わるバッファオーバーフロー検出回路の請求項3の発明は、バッファメモリを用いたパケット送受信に係るバッファオーバーフロー検出回路において、所定の一定時間間隔信号を出力するタイマと、前記バッファメモリへのパケット入力/出力に応じて増減計数すると共に前記タイマ出力に基づきリセットするカウンタと、前記カウンタからの計数値を前記タイマ出力に基づき順次保持するシフトレジスタと、前記シフトレジスタが保持した各時間毎の増減計数値の変化度合いに基づき将来の増減量を予測すると共に該予測値に応じて閾値を可変する閾値決定部と、閾値決定部が定める閾値とバッファメモリ内パケット数とを比較する比較器とを備えたことを特徴とする。
【0012】
【発明の実施の形態】
以下、図示した実施の形態例に基づいて本発明を詳細に説明する。
図1は本発明に係わるバッファオーバーフロー検出回路の実施の形態例を示す機能ブロック図である。
【0013】
この例に示すバッファオーバーフロー検出回路は、自己同期型タイマ1と、前記自己同期型タイマ1の出力をリセット信号として動作するカウンタ2と、前記カウンタ2が出力するカウント値を、前記自己同期型タイマ1の出力をロード信号として保持する複数のレジスタ3a〜3cと、前記各レジスタ3a〜3cが保持する値を受け、しきい値を出力するしきい値決定部4と、前記しきい値決定部4が出力するしきい値と、外部からの現在のバッファメモリ内パケット数とを比較する比較器5とを備えている。
【0014】
前記自己同期型タイマ1は、起動から微小時間△t経過したところで満了し、再び起動を繰り返すよう動作するもので、再起動に際し外部からのトリガ信号を要しないタイマである。これにより、起動から満了までの微小時間△tを任意に指定することで、微小時間△tを示す旨の信号を出力する。
前記カウンタ2は、図示を省略したパケット監視部によるバッファメモリへのパケット書込み/読出しに応じたパケット入力信号及びパケット出力信号を、それぞれカウントアップ信号及びカウントダウン信号として計数する。つまり、カウンタ2は自己同期型タイマ1が満了したときにカウンタ2が保持しているカウント値を“0”にリセットし、パケット入力信号があったときカウント値に“1”を加算し、パケット出力信号があったときカウント値に“1”を減算することで、微小時間△tあたりのパケット数の増減を計数するのである。
【0015】
前記レジスタ3a〜3cは、シフトレジスタとして機能し、前記カウンタ2が微小時間△tごとに計数したカウント値が順次レジスタ3cからレジスタ3aに移行しつつ保持される。ここで、図2にレジスタ3a〜3cの動作モデルを示す。この図に示すモデルは、カウンタ2からの微小時間△tごとのパケット増減数(カウント値)を、△a1、△a2、△a3、△a4として表わし、これらの値がレジスタ3cからレジスタ3aに順次シフトしていく様子を示している。なお、図中の“X”は、保持値が空であることを示しており、実際には数値“0”となる。このようにしてレジスタ3a〜3cには、微小時間△tごとの相対的なパケット増減数が保持される。
【0016】
次に、前記しきい値決定部4の動作例について図を用いて説明する。
図3は、バッファメモリへの書込みパケット数が、読出しパケット数を上回る場合のバッファ内パケット数変化を示すグラフ図であり、(a)は、増加量が加速している場合を示し、(b)は、増加量が減速している場合を示している。
なお、縦軸はバッファ内パケット数“n”であり、横軸は時間“t”であって、バッファ内パケット数“n”の上限値は、「バッファが格納可能な最大パケット数」として点線で示し、△t時間ごとのパケット数を黒点で示す。
また、同図中のポイントA,B,C,D間の夫々の増減数は、A−B間を△a1、B−C間を△a2、C−D間を△a3として表わす。
また、バッファメモリの容量割り当てや、転送に用いるパケットの大きさ(パケット長)は、転送前のシーケンス制御により既に設定されているものとし、当該設定に基づいて前記バッファが格納可能な最大パケット数が固定される。
【0017】
そして、しきい値決定部4は、前記バッファが格納可能な最大パケット数に応じたデフォルトとなる基準しきい値を設定する。
まず、(a)のグラフについて説明すると、ポイントDが現在の時点であって、即ち、レジスタ3aからは△a1の値が出力され、レジスタ3bからは△a2の値が出力され、レジスタ3cからは△a3の値が出力されており、しきい値決定部4は、△a1〜△a3が何れも増加傾向にあって、且つ、△a1<△a2<△a3という関係にあることを認知する。そして、しきい値決定部4は△a1〜△a3の情報を基に、直線近似により次の△t時間後(予測時点)における増減量を予測(ポイントE)し、予測したD−E間の予測値に基づき、しきい値を制御する。この例では、増加量が次第に多くなってきており、予測値における増加量が大きいので、しきい値決定部4は、現在のしきい値より下げ、且つ下げ幅が大きな新たなしきい値を決定することになる。
【0018】
次に、(b)のグラフについて説明すると、しきい値決定部4は、△a1〜△a3が何れも増加傾向にあって、且つ、△a1>△a2>△a3という関係にあることを認知する。そして、しきい値決定部4は△a1〜△a3の情報を基に、直線近似により次の△t時間後(予測時点)における増減量を予測(ポイントE’)し、予測したD−E’間の予測値に基づき、しきい値を制御する。この例では、増加量が次第に少なくなってきており、予測値における増加量が小さいので、しきい値決定部4は、現在のしきい値より下げ、且つ下げ幅が小さな新たなしきい値を決定することになる。
【0019】
また、図示を省略するが、△a1〜△a3が何れも減少傾向にある場合には、直線近似による予測時点の予測値も減少となり、しきい値決定部4は、現在のしきい値より上げる制御を行なうことになる。
このように、しきい値決定部4は、現在時点から△t時間後の予測時点における予測値を求め、この予測時点におけるバッファ内パケット数の絶対値と、各レジスタが保持する△t時間毎の遷移履歴とを参照し、新たなしきい値を次の比較器5へ供給する。
【0020】
図1に戻り、比較器5について説明する。比較器5は、前記しきい値決定部4からの新たなしきい値と、図示を省略したパケット監視部より出力されるバッファメモリ内の現在のパケット数とを比較する。そして、比較器5はバッファメモリ内の現在のパケット数がしきい値を越えているときに、バッファオーバーフローを出力する。
【0021】
このように、バッファオーバーフロー検出回路は、比較器5からバッファオーバーフローが出力されたことをもってバッファオーバーフロー検出とし、当該ネットワーク機器は、バッファオーバーフロー検出に基づき、フロー制御により対向のネットワーク機器にバッファオーバーフローとなったことを通知する。これにより対向のネットワーク機器はパケット送信を停止するよう処理するので、当該ネットワーク機器には、バッファオーバーフロー検出から対向のネットワーク機器がパケット送信停止までの時間分のパケット(残留パケットという)が送られてくることになる。しかし、本願発明に係わるバッファオーバーフロー検出回路は、現在から△t時間後における予測によりバッファオーバーフロー検出を行なっているため、残留パケットの到来分は予期されており、実際のバッファメモリにおいては、格納可能な最大パケット数内にて処理されるので、パケットを破棄することなく処理することができる。
【0022】
以上のように、本発明に係わるバッファオーバーフロー検出回路は、△t時間の信号を生成する自己同期型タイマ1と、△t時間毎のパケット増減数を計数するカウンタ2と、計数結果を順次保持するレジスタ3a〜3cと、保持された各時間毎の増減計数値を元に△t時間後の将来のバッファ内パケット増減数を予測し、その予測値に応じてしきい値を制御するしきい値決定部4と、しきい値決定部4が定めた新たなしきい値と現在のバッファメモリ内パケット数とを比較する比較器5とを備えて構成し、予測値に応じて柔軟にしきい値を可変するようにしたので、バッファメモリの記憶できる最大パケット数を有効に利用することが可能となる。
【0023】
【発明の効果】
以上のように本発明に係わるバッファオーバーフロー検出回路は、複数のレジスタに△t時間ごとの過去のバッファ内パケット増減数を記憶し、これを元に△t時間後の将来のバッファ内パケット増減数を予測し、この予測値に基づいてバッファオーバーフロー検出のためのしきい値を可変制御して新たなしきい値を自動決定し、バッファオーバーフローを検出するようにしたので、バッファメモリの記憶できる最大パケット数を活かした効率の良いパケット伝送が実現できる。
【0024】
【その他】
尚、本文中「イーサーネット」は登録商標です。
【図面の簡単な説明】
【図1】本発明に係るバッファオーバーフロー検出回路の構成例を示すブロック図である。
【図2】本発明に係るバッファオーバーフロー検出回路における各レジスタの動作モデルを示す図である。
【図3】バッファメモリ内パケット数の変化例を示す図であり、(a)は増加量が加速している場合を示し、(b)は増加量が減速している場合を示す。
【図4】データ通信ネットワークの構成モデルを示す図である。
【図5】ネットワーク機器間のフロー制御のイメージを示すモデル図である。
【符号の説明】
1・・・自己同期型タイマ
2・・・カウンタ
3a〜5c・・・レジスタ
4・・・しきい値決定部
5・・・比較器
10・・・端末
20・・・リピータハブ(ネットワーク機器)
30・・・スイッチングハブ(ネットワーク機器)
40・・・ルータ(ネットワーク機器)
50・・・当該ネットワーク機器
60・・・対向のネットワーク機器
【発明の属する技術分野】
本発明は、バッファオーバーフロー検出回路に関し、特に、バッファメモリを用いて通信パケットの送受を行なうネットワーク機器等のフロー制御において伝送効率を最適に維持するバッファオーバーフロー検出回路に関する。
【0002】
【従来の技術】
近年、インターネットに代表されるネットワーク接続が普及し、企業のみならず一般家庭のコンピュータ端末、或いは携帯電話端末などもネットワークに接続され、相互に通信可能になっている。大規模なネットワークシステムも、構築の階層をたどれば、各種のLAN(Local Area Network)の集合からなっていることが多く、LANの代表的な通信方式としてイーサネット(Xerox社商標)が知られている。
図4は、データ通信ネットワークの構成モデル例を示す図であり、複数の端末10が、リピータハブ20或いはスイッチングハブ30に接続され、リピータハブ20或いはスイッチングハブ30は、別のリピータハブ20、スイッチングハブ30又は、ルータ40と相互に接続された構成となっている。各機器を相互接続する伝送路は、有線、無線に関わらず多様な通信回線が用いられる。このようなネットワークにおいて、端末と端末を結びデータ通信を行なう場合には、リピータハブ20、スイッチングハブ30、ルータ40といったネットワーク機器を経由して通信が行なわれることになる。
【0003】
そして、このような通信においては、情報がパケットと呼ばれる単位ごとに伝送されるデータ通信方式が主流となっており、前記ネットワーク機器はパケットに付されたヘッダ部分のアドレス指定に基づきパケットの中継を行なう。
ここでパケット中継に関し、ネットワーク機器の中には、入力するパケットを一時保存するためのバッファメモリと呼ばれる記憶素子を持つものがあり、上述の例にあっては、スイッチングハブ30やルータ40が該当する。このように入力パケットをバッファメモリに一時保存し、パケットのチェックを行なった後に送信すべきポートの判断を行なって送信する方式としてストア&フォワード方式が知られている。この方式は、通信の信頼性が高く、通信速度の変換も可能である反面、フレームの大きさに比例して、転送遅延が大きくなるという特性をもつものである。
【0004】
更に、上位のレイヤにおいて、例えば、インターネットで広く用いられているTCP(Transmission Control Protocol)では、情報が確実に転送されるようフロー制御を行なっている。フロー制御は、送信元とあて先でバッファを設定しておき、あて先は予め送信元に自己が設定したバッファ容量を、TCPヘッダーのウィンドウの大きさを示す領域に格納して通知しておくことで、送信元はあて先のバッファ容量に合わせてセグメント(データストリームを分割化した単位)を送信するようにし、これは適宜、送受信間のハンドシェーク・シーケンスにより可変制御がなされるものである。なお、TCPに限らず、このような通信制御の手段をフロー制御と呼び、シリアル通信や、上述のイーサネットなど様々な通信方式に応用されている。
【0005】
図5はネットワーク機器間のフロー制御のイメージを示すモデル図である。
この例では、2台のネットワーク機器が対向接続されており、一方を、バッファメモリを備えた当該ネットワーク機器50とし、他方を、対向のネットワーク機器60として説明する。ここでは、対向のネットワーク機器60側からパケットを送信し、当該ネットワーク機器50側にて受信しており、当該ネットワーク機器50は、自己のバッファメモリの状況に応じたフロー制御信号を返送することで、確実にパケットを転送している。
また、バッファメモリの容量が有限であり、受信側の処理能力を超えて一定時間内に大量のパケットが到来してしまうと、バッファメモリの容量に納まらずオーバーフローを引き起こしてしまうことになる。こうなると、後続の受信パケットは廃棄され、著しい通信効率の低下を招いてしまう。そこで、上述のフロー制御における一つの機能として、バッファオーバーフロー検出が重要となってくる。
【0006】
従来、このフロー制御におけるバッファオーバーフロー検出は、送受信ネットワーク機器間のシーケンス制御にて、転送パケット長サイズやバッファメモリ容量の割り当てを確認した後に通信を開始し、受信側ではバッファメモリ内に格納されているパケット数を監視し、パケット数が一定のしきい値を超えた時にバッファオーバーフロー検出として、送信側に通知することで、実際のバッファオーバーフローが生じる前に、送信側からの出力を制限するようにしていた。
【0007】
【発明が解決しようとする課題】
しかしながら、上述した従来のバッファオーバーフロー検出方法においては、以下に示すような問題点があった。つまり、パケット数がしきい値に達した時点で送信側の対向ネットワーク機器にパケットを送出しないよう伝えても、これに応じて対向ネットワーク機器が送出を停止するまでには、パケットを出力してしまうので、その分を配慮して予めしきい値を低めに設定していた。しきい値を低めに設定するということは、バッファメモリが記憶可能な最大パケット数を活かすことができないので、その分、伝送効率も低下することになる。
【0008】
本発明はこのような問題点を解決するためになされたものであり、バッファメモリが記憶可能な最大パケット数を活かすことが可能なバッファオーバーフロー検出方法及び回路を提供することを目的とする。
【0009】
【課題を解決するための手段】
上記課題を解決するために本発明に係わるバッファオーバーフロー検出方法の請求項1の発明は、バッファメモリを用いたパケット送受信に係るバッファオーバーフロー検出方法において、一定時間△t毎に前記バッファメモリ内のパケット数増減を検出する計数をし、該計数したパケット数増減結果を複数n段保持すると共に保持したn個のパケット数増減結果から増減の大小量及び増減の傾向を求め、求めた結果に基づき△t時間後のパケット数増減を予測し、該予測値に基づき閾値を決定し、該閾値と現在のバッファメモリ内パケット数とを比較する上記手順を繰り返し行ない、バッファメモリ内パケット数が閾値を越えたときにバッファオーバーフロー検出とすることを特徴とする。
【0010】
また、本発明に係わるバッファオーバーフロー検出回路の請求項2の発明は、バッファメモリを用いたパケット送受信に係るバッファオーバーフロー検出回路において、一定時間△t毎に前記バッファメモリ内のパケット数増減を検出する計数手段と、前記計数手段のパケット数増減結果を複数n段保持する記憶手段と、前記記憶手段の保持したn個のパケット数増減結果から増減の大小量及び増減の傾向を求める演算手段と、前記演算手段の求めた結果に基づき△t時間後のパケット数増減を予測する予測手段と、前記予測手段の予測値に基づき閾値を決定する閾値制御手段と、前記閾値制御手段からの閾値とバッファメモリ内パケット数とを比較する比較手段とを備え、バッファメモリ内パケット数が閾値を越えたときにバッファオーバーフロー検出とすることを特徴とする。
【0011】
また、本発明に係わるバッファオーバーフロー検出回路の請求項3の発明は、バッファメモリを用いたパケット送受信に係るバッファオーバーフロー検出回路において、所定の一定時間間隔信号を出力するタイマと、前記バッファメモリへのパケット入力/出力に応じて増減計数すると共に前記タイマ出力に基づきリセットするカウンタと、前記カウンタからの計数値を前記タイマ出力に基づき順次保持するシフトレジスタと、前記シフトレジスタが保持した各時間毎の増減計数値の変化度合いに基づき将来の増減量を予測すると共に該予測値に応じて閾値を可変する閾値決定部と、閾値決定部が定める閾値とバッファメモリ内パケット数とを比較する比較器とを備えたことを特徴とする。
【0012】
【発明の実施の形態】
以下、図示した実施の形態例に基づいて本発明を詳細に説明する。
図1は本発明に係わるバッファオーバーフロー検出回路の実施の形態例を示す機能ブロック図である。
【0013】
この例に示すバッファオーバーフロー検出回路は、自己同期型タイマ1と、前記自己同期型タイマ1の出力をリセット信号として動作するカウンタ2と、前記カウンタ2が出力するカウント値を、前記自己同期型タイマ1の出力をロード信号として保持する複数のレジスタ3a〜3cと、前記各レジスタ3a〜3cが保持する値を受け、しきい値を出力するしきい値決定部4と、前記しきい値決定部4が出力するしきい値と、外部からの現在のバッファメモリ内パケット数とを比較する比較器5とを備えている。
【0014】
前記自己同期型タイマ1は、起動から微小時間△t経過したところで満了し、再び起動を繰り返すよう動作するもので、再起動に際し外部からのトリガ信号を要しないタイマである。これにより、起動から満了までの微小時間△tを任意に指定することで、微小時間△tを示す旨の信号を出力する。
前記カウンタ2は、図示を省略したパケット監視部によるバッファメモリへのパケット書込み/読出しに応じたパケット入力信号及びパケット出力信号を、それぞれカウントアップ信号及びカウントダウン信号として計数する。つまり、カウンタ2は自己同期型タイマ1が満了したときにカウンタ2が保持しているカウント値を“0”にリセットし、パケット入力信号があったときカウント値に“1”を加算し、パケット出力信号があったときカウント値に“1”を減算することで、微小時間△tあたりのパケット数の増減を計数するのである。
【0015】
前記レジスタ3a〜3cは、シフトレジスタとして機能し、前記カウンタ2が微小時間△tごとに計数したカウント値が順次レジスタ3cからレジスタ3aに移行しつつ保持される。ここで、図2にレジスタ3a〜3cの動作モデルを示す。この図に示すモデルは、カウンタ2からの微小時間△tごとのパケット増減数(カウント値)を、△a1、△a2、△a3、△a4として表わし、これらの値がレジスタ3cからレジスタ3aに順次シフトしていく様子を示している。なお、図中の“X”は、保持値が空であることを示しており、実際には数値“0”となる。このようにしてレジスタ3a〜3cには、微小時間△tごとの相対的なパケット増減数が保持される。
【0016】
次に、前記しきい値決定部4の動作例について図を用いて説明する。
図3は、バッファメモリへの書込みパケット数が、読出しパケット数を上回る場合のバッファ内パケット数変化を示すグラフ図であり、(a)は、増加量が加速している場合を示し、(b)は、増加量が減速している場合を示している。
なお、縦軸はバッファ内パケット数“n”であり、横軸は時間“t”であって、バッファ内パケット数“n”の上限値は、「バッファが格納可能な最大パケット数」として点線で示し、△t時間ごとのパケット数を黒点で示す。
また、同図中のポイントA,B,C,D間の夫々の増減数は、A−B間を△a1、B−C間を△a2、C−D間を△a3として表わす。
また、バッファメモリの容量割り当てや、転送に用いるパケットの大きさ(パケット長)は、転送前のシーケンス制御により既に設定されているものとし、当該設定に基づいて前記バッファが格納可能な最大パケット数が固定される。
【0017】
そして、しきい値決定部4は、前記バッファが格納可能な最大パケット数に応じたデフォルトとなる基準しきい値を設定する。
まず、(a)のグラフについて説明すると、ポイントDが現在の時点であって、即ち、レジスタ3aからは△a1の値が出力され、レジスタ3bからは△a2の値が出力され、レジスタ3cからは△a3の値が出力されており、しきい値決定部4は、△a1〜△a3が何れも増加傾向にあって、且つ、△a1<△a2<△a3という関係にあることを認知する。そして、しきい値決定部4は△a1〜△a3の情報を基に、直線近似により次の△t時間後(予測時点)における増減量を予測(ポイントE)し、予測したD−E間の予測値に基づき、しきい値を制御する。この例では、増加量が次第に多くなってきており、予測値における増加量が大きいので、しきい値決定部4は、現在のしきい値より下げ、且つ下げ幅が大きな新たなしきい値を決定することになる。
【0018】
次に、(b)のグラフについて説明すると、しきい値決定部4は、△a1〜△a3が何れも増加傾向にあって、且つ、△a1>△a2>△a3という関係にあることを認知する。そして、しきい値決定部4は△a1〜△a3の情報を基に、直線近似により次の△t時間後(予測時点)における増減量を予測(ポイントE’)し、予測したD−E’間の予測値に基づき、しきい値を制御する。この例では、増加量が次第に少なくなってきており、予測値における増加量が小さいので、しきい値決定部4は、現在のしきい値より下げ、且つ下げ幅が小さな新たなしきい値を決定することになる。
【0019】
また、図示を省略するが、△a1〜△a3が何れも減少傾向にある場合には、直線近似による予測時点の予測値も減少となり、しきい値決定部4は、現在のしきい値より上げる制御を行なうことになる。
このように、しきい値決定部4は、現在時点から△t時間後の予測時点における予測値を求め、この予測時点におけるバッファ内パケット数の絶対値と、各レジスタが保持する△t時間毎の遷移履歴とを参照し、新たなしきい値を次の比較器5へ供給する。
【0020】
図1に戻り、比較器5について説明する。比較器5は、前記しきい値決定部4からの新たなしきい値と、図示を省略したパケット監視部より出力されるバッファメモリ内の現在のパケット数とを比較する。そして、比較器5はバッファメモリ内の現在のパケット数がしきい値を越えているときに、バッファオーバーフローを出力する。
【0021】
このように、バッファオーバーフロー検出回路は、比較器5からバッファオーバーフローが出力されたことをもってバッファオーバーフロー検出とし、当該ネットワーク機器は、バッファオーバーフロー検出に基づき、フロー制御により対向のネットワーク機器にバッファオーバーフローとなったことを通知する。これにより対向のネットワーク機器はパケット送信を停止するよう処理するので、当該ネットワーク機器には、バッファオーバーフロー検出から対向のネットワーク機器がパケット送信停止までの時間分のパケット(残留パケットという)が送られてくることになる。しかし、本願発明に係わるバッファオーバーフロー検出回路は、現在から△t時間後における予測によりバッファオーバーフロー検出を行なっているため、残留パケットの到来分は予期されており、実際のバッファメモリにおいては、格納可能な最大パケット数内にて処理されるので、パケットを破棄することなく処理することができる。
【0022】
以上のように、本発明に係わるバッファオーバーフロー検出回路は、△t時間の信号を生成する自己同期型タイマ1と、△t時間毎のパケット増減数を計数するカウンタ2と、計数結果を順次保持するレジスタ3a〜3cと、保持された各時間毎の増減計数値を元に△t時間後の将来のバッファ内パケット増減数を予測し、その予測値に応じてしきい値を制御するしきい値決定部4と、しきい値決定部4が定めた新たなしきい値と現在のバッファメモリ内パケット数とを比較する比較器5とを備えて構成し、予測値に応じて柔軟にしきい値を可変するようにしたので、バッファメモリの記憶できる最大パケット数を有効に利用することが可能となる。
【0023】
【発明の効果】
以上のように本発明に係わるバッファオーバーフロー検出回路は、複数のレジスタに△t時間ごとの過去のバッファ内パケット増減数を記憶し、これを元に△t時間後の将来のバッファ内パケット増減数を予測し、この予測値に基づいてバッファオーバーフロー検出のためのしきい値を可変制御して新たなしきい値を自動決定し、バッファオーバーフローを検出するようにしたので、バッファメモリの記憶できる最大パケット数を活かした効率の良いパケット伝送が実現できる。
【0024】
【その他】
尚、本文中「イーサーネット」は登録商標です。
【図面の簡単な説明】
【図1】本発明に係るバッファオーバーフロー検出回路の構成例を示すブロック図である。
【図2】本発明に係るバッファオーバーフロー検出回路における各レジスタの動作モデルを示す図である。
【図3】バッファメモリ内パケット数の変化例を示す図であり、(a)は増加量が加速している場合を示し、(b)は増加量が減速している場合を示す。
【図4】データ通信ネットワークの構成モデルを示す図である。
【図5】ネットワーク機器間のフロー制御のイメージを示すモデル図である。
【符号の説明】
1・・・自己同期型タイマ
2・・・カウンタ
3a〜5c・・・レジスタ
4・・・しきい値決定部
5・・・比較器
10・・・端末
20・・・リピータハブ(ネットワーク機器)
30・・・スイッチングハブ(ネットワーク機器)
40・・・ルータ(ネットワーク機器)
50・・・当該ネットワーク機器
60・・・対向のネットワーク機器
Claims (3)
- バッファメモリを用いたパケット送受信に係るバッファオーバーフロー検出方法において、
一定時間△t毎に前記バッファメモリ内のパケット数増減を検出する計数をし、
該計数したパケット数増減結果を複数n段保持すると共に保持したn個のパケット数増減結果から増減の大小量及び増減の傾向を求め、
求めた結果に基づき△t時間後のパケット数増減を予測し、
該予測値に基づき閾値を決定し、
該閾値と現在のバッファメモリ内パケット数とを比較する上記手順を繰り返し行ない、
バッファメモリ内パケット数が閾値を越えたときにバッファオーバーフロー検出とすることを特徴としたバッファオーバーフロー検出方法。 - バッファメモリを用いたパケット送受信に係るバッファオーバーフロー検出回路において、
一定時間△t毎に前記バッファメモリ内のパケット数増減を検出する計数手段と、
前記計数手段のパケット数増減結果を複数n段保持する記憶手段と、
前記記憶手段の保持したn個のパケット数増減結果から増減の大小量及び増減の傾向を求める演算手段と、
前記演算手段の求めた結果に基づき△t時間後のパケット数増減を予測する予測手段と、
前記予測手段の予測値に基づき閾値を決定する閾値制御手段と、
前記閾値制御手段からの閾値とバッファメモリ内パケット数とを比較する比較手段とを備え、
バッファメモリ内パケット数が閾値を越えたときにバッファオーバーフロー検出とすることを特徴としたバッファオーバーフロー検出回路。 - バッファメモリを用いたパケット送受信に係るバッファオーバーフロー検出回路において、
所定の一定時間間隔信号を出力するタイマと、
前記バッファメモリへのパケット入力/出力に応じて増減計数すると共に前記タイマ出力に基づきリセットするカウンタと、
前記カウンタからの計数値を前記タイマ出力に基づき順次保持するシフトレジスタと、
前記シフトレジスタが保持した各時間毎の増減計数値の変化度合いに基づき将来の増減量を予測すると共に該予測値に応じて閾値を可変する閾値決定部と、
閾値決定部が定める閾値とバッファメモリ内パケット数とを比較する比較器とを備えたことを特徴とするバッファオーバーフロー検出回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002259506A JP2004104192A (ja) | 2002-09-05 | 2002-09-05 | バッファオーバーフロー検出方法および回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002259506A JP2004104192A (ja) | 2002-09-05 | 2002-09-05 | バッファオーバーフロー検出方法および回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004104192A true JP2004104192A (ja) | 2004-04-02 |
Family
ID=32260490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002259506A Pending JP2004104192A (ja) | 2002-09-05 | 2002-09-05 | バッファオーバーフロー検出方法および回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004104192A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010268321A (ja) * | 2009-05-15 | 2010-11-25 | Fujitsu Ltd | 伝送装置および伝送方法 |
JP2010539753A (ja) * | 2007-09-17 | 2010-12-16 | インテル・コーポレーション | 電力管理用バッファリング技術 |
JP2011198096A (ja) * | 2010-03-19 | 2011-10-06 | Fuji Xerox Co Ltd | 通信制御装置、画像形成装置、及びプログラム |
US8661167B2 (en) | 2007-09-17 | 2014-02-25 | Intel Corporation | DMA (direct memory access) coalescing |
US9008109B2 (en) | 2011-10-26 | 2015-04-14 | Fujitsu Limited | Buffer management of relay device |
JP7320226B2 (ja) | 2019-08-13 | 2023-08-03 | 矢崎総業株式会社 | 無線通信ノードおよび無線通信システム |
-
2002
- 2002-09-05 JP JP2002259506A patent/JP2004104192A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010539753A (ja) * | 2007-09-17 | 2010-12-16 | インテル・コーポレーション | 電力管理用バッファリング技術 |
US8661167B2 (en) | 2007-09-17 | 2014-02-25 | Intel Corporation | DMA (direct memory access) coalescing |
JP2010268321A (ja) * | 2009-05-15 | 2010-11-25 | Fujitsu Ltd | 伝送装置および伝送方法 |
JP2011198096A (ja) * | 2010-03-19 | 2011-10-06 | Fuji Xerox Co Ltd | 通信制御装置、画像形成装置、及びプログラム |
US9008109B2 (en) | 2011-10-26 | 2015-04-14 | Fujitsu Limited | Buffer management of relay device |
JP7320226B2 (ja) | 2019-08-13 | 2023-08-03 | 矢崎総業株式会社 | 無線通信ノードおよび無線通信システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109412964B (zh) | 报文控制方法及网络装置 | |
US7706277B2 (en) | Selective flow control | |
CN106134138B (zh) | 一种拥塞控制的方法、设备和系统 | |
EP2095580B1 (en) | Method and apparatus for policing bandwidth usage of a home network | |
EP2068511A1 (en) | Controlling congestion in a packet switched data network | |
EP2978171B1 (en) | Communication method, communication device, and communication program | |
JPH03174848A (ja) | コンピュータ回路網における遅延ベース混雑回避方法及び装置 | |
KR20070080177A (ko) | 네트워크에서의 혼잡 발생 예고 시스템 및 방법 | |
CN111800351A (zh) | 由交换机进行的拥塞通知分组生成 | |
JP2013191931A (ja) | 情報処理装置、輻輳制御方法および輻輳制御プログラム | |
CN111131179B (zh) | 业务处理方法、装置、网络设备及存储介质 | |
JPH1198148A (ja) | レート制御装置 | |
JP4704500B2 (ja) | パケット処理装置 | |
KR950026148A (ko) | 버퍼를 갖는 링 통신망 노드장치 및 그 제어 방법 | |
CN112737940A (zh) | 一种数据传输的方法和装置 | |
JP2004104192A (ja) | バッファオーバーフロー検出方法および回路 | |
KR101620519B1 (ko) | 센서들을 위한 무선 접속 | |
CN108243117B (zh) | 一种流量监控方法、装置及电子设备 | |
JP2017147583A (ja) | ネットワーク中継装置 | |
JP4630231B2 (ja) | パケット処理システム、パケット処理方法、およびプログラム | |
JP5190498B2 (ja) | 中継装置、中継システム、及び中継プログラム | |
CN114513440A (zh) | 一种报文传输的方法、发送端和网络设备 | |
CN114124833A (zh) | 一种控制报文发送的方法、网路设备和系统 | |
JP2004104417A (ja) | データ中継装置、および中継データ制御方法、並びにコンピュータ・プログラム | |
JPH05260090A (ja) | 映像転送方式 |