リーキーバケット(りーきーばけっと)
最終更新:2026/4/27
リーキーバケットは、ネットワークトラフィックの速度制御や整形に用いられる概念で、一定の速度でデータを放出するバケツの比喩に基づいている。
別名・同義語 トラフィックシェーピングトラフィックポリシング
ポイント
リーキーバケットは、トラフィックの平滑化や輻輳制御に役立ち、QoS(Quality of Service)を保証する上で重要な役割を果たす。
概要
リーキーバケットは、ネットワークにおけるトラフィック制御のメカニズムの一つです。一定の速度でデータを放出するバケツをイメージすることで、トラフィックの速度を制限し、ネットワークの輻輳を防ぐことを目的とします。
動作原理
リーキーバケットは、以下の要素で構成されます。
- バケット: データを一時的に蓄積する場所。
- 入力レート: データがバケットに投入される速度。
- 出力レート: データがバケットから放出される速度(一定)。
- バケットサイズ: バケットに蓄積できるデータの最大量。
データがバケットに投入される速度が、出力速度よりも速い場合、バケットは満杯になり、余分なデータは破棄されます。これにより、出力されるデータの速度は一定に保たれます。
用途
リーキーバケットは、主に以下の用途で使用されます。
- トラフィックシェーピング: トラフィックの速度を一定に制限する。
- トラフィックポリシング: トラフィックの速度が一定の制限を超えた場合に、データを破棄する。
- QoS(Quality of Service): 特定のトラフィックに優先的に帯域を割り当てる。
実装
リーキーバケットは、ソフトウェアまたはハードウェアで実装できます。ソフトウェアでの実装は、柔軟性が高いですが、処理負荷が高くなる可能性があります。ハードウェアでの実装は、処理速度が速いですが、柔軟性が低いという特徴があります。