トラフィックシェーパーのバッファは常に有限であり、バッファが満杯になった場合の対処を考慮しておかなくてはならない。単純で一般的な対策としては、バッファが満杯の間は到着した新たにトラフィックを捨てる（テールドロップ）方式があるが、これは一種のトラフィックポリシングにもなる。より洗練された実装では、ランダム初期廃棄のようなアルゴリズムで捨てるパケットを選択する。他にとりうる方法としては、単にシェーピングを諦めてトラフィックをそのまま転送してしまうことが考えられる。
トラフィックの階層化.
単純なトラフィックシェーピング法では、転送レートに基づいてトラフィック全体を一様にシェーピングする。より洗練されたシェーパーでは、最初にトラフィックを階層化する。トラフィックの階層化とは、ポート番号やプロトコルの種類に基づいてパケットを分類することであり、分類された階層によって扱いを変える。各トラフィック階層ごとに最適な転送レートがあり、それぞれを優先順位付けしてシェーピングする。この優先順位付けはネットワーク管理者がアプリケーションのタイプ毎に扱いを変えるよう設定でき（例えば、ファイル共有よりもVoIPを優先するなど）、基本サービスと有料サービスで差をつけるといったことが可能である。
自己制限型ソース.
ISP とトラフィック管理.
利点.
ISPにとっては、単なるプロトコルの識別をするだけでも、漠然とはしているがISPのネットワークをどのようなトラフィックが流れているかを知る大きな手がかりとなる。そこからISPはどの加入者がネットワーク上で何をしているかを知ることができ、加入者ごとのサービス提供のヒントにすることができる。しかし、トンネリングや暗号化されたパケットが多くなるにつれて、そのような手法は通用しなくなりつつある。また、多くのプロトコルは検出が困難か不可能である。そのような場合、クライアント毎のシェーピングが効果的となる。クライアントをIPアドレスやIPグループ単位にポリシー設定することで、ユーザーがプロトコルをごまかしたり暗号化してもシェーピングを逃れることができなくなる。
トラフィックの分類.
ファイル共有.