【図解】スイッチング処理能力 ~bpsとppsの違い,換算方法,ショートパケットとロングパケット~) | SEの道標
ネットワークエンジニアとして知っておくべきこと

【図解】スイッチング処理能力 ~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 のショートパケットが連続して流れることになります。

その他、動画や音声等のリアルタイム性を要求するアプリケーションショートパケットを送る傾向が強いです。

例えば、コンソール情報を送る telnet/SSH や KVM 情報を送る RDP のようなプロトコルです。

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 の速度では処理できないことが分かります。

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

コメント

タイトルとURLをコピーしました