特定のパケットを分類し、そのパケットの送出速度があらかじめ指定した値を超えないように調整する方式がPacket Shaping*である(図5)。
単純な仕組みではあるが、FTPのような帯域消費の激しい通信が別のサービスに与える悪影響を軽減するなどの目的には適している。ただし、図5の例でいえば、どれだけ回線が空いていてもSMTPは64Kbpsに制限されるので、単体での利用は効率的といえない面もある。
Packet Shapingのパケット分類方法を発展させ、親子関係を持つグループに分けて制限をかけられるようにしたものがCBQ(Class Based Queueing)である。
単純なPacket Shapingの方式を、通信回線の帯域という「資源」を主眼とした考え方で見ると、図6のようになる。制限がかけられているSMTPは、絶対に64Kbpsを超えることが許されない半面、それ以外(SSHなど)は回線が空いていれば帯域ぎりぎりまで使うことができる。ただし、SSHが帯域を消費しつくすと、そのほかのサービスに悪影響が生じる。これを解決するため、CBQでは階層関係を持ったグループを「クラス」として定義する(図7)。
デフォルトでは各クラスに割り当てられた帯域幅を超過できないが、CBQではそれぞれのクラスに対して「borrow」オプションを指定することで、親クラスから余っている帯域を借りることが可能となる。もちろん、ほかの子クラスが回線を使用している場合は借りられないこともある。
このように、指定したサービスの帯域を制限しつつ、回線負荷が低い場合になるべく多くの帯域割り当てを可能にできるのがCBQの特徴だ。この方式はルーター専用機などでも広く採用されている。
「Shaping」だけでトラフィック制御そのものを意味する場合があるが、ここでは特定パケット(群)の送出速度の上限を制限する意味として「Packet Shaping」を用いることとする。
Copyright(c)2010 SOFTBANK Creative Inc. All rights reserved.