スイッチング処理能力(bpsとppsの違い、換算方法)

bps と pps

一般に、機器のスイッチング処理能力を見る際には転送速度(bps = bit per second)が注目されます(スイッチングファブリックとも呼ばれます)。

しかしルータやスイッチではショートパケット(48ByteのIPパケット)であってもロングパケット(1500ByteのIPパケット)であっても、(基本的に固定長であるEthernetヘッダとIPヘッダを見て転送処理するので)、処理時間はほとんど変わりません。そうなると、ショートパケットかロングパケットかで速度が大きく違ってくる、ということです。

そこで、転送速度 bps 以外に パケット処理速度 pps という指標も見ることが重要になります。

(1メガ個のパケットを送る場合は、1Mppsという単位になります。)

bps は bit per second の略で、1秒あたりに処理できるbit数を表します。pps は packets per second の略で、1秒あたりに処理できるパケット数を表します。

ショートパケットが発生する原因

ショートパケットは、ネットワークが原因で発生することはまずありませんアプリケーション側によって、意図的にショートパケットとなるようなプログラムになっているだけです。なのでショートパケット自体が悪い事象というわけではないです。

例えばWindowsのtelnetクライアントを使うとき、文字は1文字(1ByteのASCII)づつ送るので、連続して文字を打つ場合は48Bytesのショートパケットが連続して流れることになります。その他、動画や音声等のリアルタイム性を要求するアプリケーションショートパケットを送る傾向が強いです。

pps を bps に換算する

上記の説明から分かる通り、pps を bps に変換しようとすると、そのパケットがロングパケットなのかショートパケットなのかによって値に大きなブレが出ます。なのでメーカではbpsとpps両方の情報を提示しているのです。

次にCisco Catalystのスペックの一例を見ていきます。

Cisco Catalyst 3560G-48TS の bps と pps

例えば Cisco Catalyst3560G-48TS の仕様を見てみると、以下のようになっています。

転送速度:32G bps
パケット処理速度:38.7M pps

1パケットあたり1500Byteのロングパケットが1秒間に38.7Mパケット入ってきたとすると、

転送速度(bps) = 1500 Byte/packet * 38.7M packet/s * 8 bit/Byte = 453.5G bps

となり、32Gbpsを大きく上回ります。なので1500Byteのロングパケットしか入ってこない場合は38.7Mppsのパケット処理性能では処理できないことが分かります。

同様に、1パケットあたり64Byteのショートパケットが32Gbpsの転送速度で流入してきたとすると、

パケット処理速度(pps) = (32G bit/s) / (64 Byte/packet) / (8 bit/Byte) = 64M pps

となり、やはり38.7Mppsを大きく上回ります。なので64Byteのショートパケットしか入ってこない場合は32Gbpsの速度では処理できないことが分かります。

このように、転送速度とパケット処理速度は分けて考える必要があります

シェアする

  • このエントリーをはてなブックマークに追加

フォローする