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

bps と pps

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

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

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

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

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

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

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

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

pps を bps に換算する

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

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

Cisco Catalyst 3560G-48TS の bps と pps

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

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

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

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

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

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

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

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

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

フォローする