リーキーバケットのソースを表示
←
リーキーバケット
ナビゲーションに移動
検索に移動
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
'''リーキーバケット'''([[英語|英]]: leaky bucket)とは、[[トラフィックシェーピング]]などで使われる[[アルゴリズム]]である。一般にこのアルゴリズムは[[コンピュータネットワーク|ネットワーク]]に注入されるデータの転送レートを制御するのに使われ、データ転送レートの「[[バースト性]]」を平準化する。 なお、バケット (bucket) とは、バケツのことであり、転送すべきネットワークトラフィックを集積する抽象化されたコンテナである(実装は例えば[[バッファ]]や[[キュー (コンピュータ)|キュー]])。 == トラフィックシェーピングのアルゴリズム == トラフィックシェーピングではリーキーバケットのほかに[[トークンバケット]]というアルゴリズムもよく利用する。この2つは誤って混同されやすい。これらは性質も異なり、目的も異なる<ref name="Evans2007">"Deploying IP and MPLS QoS for Multiservice Networks: Theory and Practice" by John Evans, Clarence Filsfils (Morgan Kaufmann, 2007, ISBN 0-12-370549-5)</ref>。大きな違いは、リーキーバケットがデータ転送レートの上限を設定するのに対して、トークンバケットはデータ転送レートの平均に制限を課して、ある程度のバースト性を許容する。 == 原理 == リーキーバケットはネットワークに送信するトラフィックに対して、その転送レートを制御する。名前の通り、穴の開いたバケツに相当し、様々な流量の水流がそのバケツに流れ込むと、そこまでの流量がどうであっても小さな穴からは一定の水流が流れ出す。同様にリーキーバケット・アルゴリズムは様々なバースト性のトラフィックを一定のトラフィックに変換する機構を提供する。 == リーキーバケット・アルゴリズム == アルゴリズムを概念的に説明すると、次のようになる。 * 底に穴のあるバケツがあるとする。 * バケツの容量は、そこに溜め込めるデータの量を示している。 * バケツの大きさが <math>b</math> バイトだとすると、空の状態で <math>b</math> バイトまで溜め込めることを意味する。 * 空き容量より大きなパケットが到着した場合、捨てるかキューイングされる。空き容量より小さいパケットの場合はそのままバケツに入れる。 * バケツの穴からは一定レートのデータ、例えば <math>r</math> バイト毎秒のデータが出て行く。 [[Asynchronous Transfer Mode|ATM]]ネットワークのトラフィックシェーピングで使っている Generic Cell Rate Algorithm (GCRA) はリーキーバケット・アルゴリズムと等価である。 == 道路交通との対比 == 道路交通でたとえると、リーキーバケットは4車線の道路を1車線に収束させる場合に相当する。1車線への進入間隔を制御することでトラフィックが全体として動けるようになる。この手法の利点は、主要幹線(ネットワーク)へ流入する交通量が予測でき制御できる点である。この際の問題点は、バケット容量を遥かに超える交通量があるとき、進入間隔との関係でバケット容量を超えるトラフィックを捨てることになる点である<ref name="Evans2007" />。 == 実装の非効率性 == リーキーバケットは、利用可能なネットワークリソースを効率的に利用していない。バケットから流出するレートは固定なので、トラフィックが少ない状態でもネットワークリソース([[帯域幅]]など)を有効利用できない。従って、リーキーバケットだけではリソースに余裕がある場合に個別のフローをバースト的に転送するといった融通が利かない。一方、トークンバケットはバースト性のあるトラフィックを許容する<ref name="Evans2007" />。リーキーバケットとトークンバケットを両方実装することで、ネットワークへのトラフィックを効率的に制御できる。 == 脚注 == {{脚注ヘルプ}} {{Reflist}} == 参考文献 == * Ferguson P., Huston G., Quality of Service: Delivering QoS on the Internet and in Corporate Networks, John Wiley & Sons, Inc., 1998. == 関連項目 == * [[トークンバケット]] * [[トラフィックシェーピング]] {{DEFAULTSORT:りいきいはけつと}} [[Category:コンピュータネットワーク]] [[Category:アルゴリズム]]
このページで使用されているテンプレート:
テンプレート:Reflist
(
ソースを閲覧
)
テンプレート:脚注ヘルプ
(
ソースを閲覧
)
リーキーバケット
に戻る。
ナビゲーション メニュー
個人用ツール
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
ソースを閲覧
履歴表示
その他
検索
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
特別ページ
ツール
リンク元
関連ページの更新状況
ページ情報