pikesaku’s blog

個人的な勉強メモです。記載内容について一切の責任は持ちません。

NWスループットについて

https://xtech.nikkei.com/it/atcl/column/17/011900625/011900011/
https://xtech.nikkei.com/it/free/NNW/NETHOT/20041001/150663/

スループットとは?

最大転送レートのこと

測定には、64/128/256/512/1024/1280/1518バイトの7種類のフレームを使う。

機器の最大通信速度でフレームを流し、ロスなく最も多くの数のフレームを転送できた値がスループット
→サイズ毎に出すのかな?
 例)64バイトで?/pps

本来はパケット/秒(pps)で示す数値
ただ、ベンダは馴染みない為か、bpsで表記する。

ワイヤスピードとは?

最小サイズのフレームが理論的に考えられる最大数で流れている状態のこと。

イコール

「64バイトのフレームが最小のフレーム間隔である96ビットをキープしてびっちり詰まって流れている状態」

10Mイーサネットの場合で1秒間に1万4881個。100Mイーサネットなら,その10倍の14万8810個
この処理は、大きなフレームを処理するよりも負荷が高い。送出先ポートの判断を多くする為。

※1万4881個の計算根拠
・10Mbpsの1秒間の転送バイト数=10*1000*1000/8=1,250,000バイト
・最小フレームサイズは64バイト
 イーサネットヘッダ14バイト
 最小ペイロード46バイト
 FCS=4バイト
・プリアンブル8バイト ※物理ヘッダ。イーサネットのサイズに含まれず。
・最小フレーム間隔96ビット=12バイト
・1フレームに必要なバイト数=64バイト+8バイト+12=84バイト
・1,250,000/84=14,880.9

Ethernet LAN - イーサネットフレームのフォーマットとMACアドレス

ネットワーク入門サイト - ワイヤースピード

イーサネットフレームの最小・最大サイズ

Ethernet LAN - イーサネットフレームのフォーマットとMACアドレス

最小64byte、最大1518byte

・ヘッダーは14バイト、FCS4バイト。
・データ部は、最小で46byte、最大で1500byteのデータが入る。
・データが46byte未満である場合、ダミーのデータ「0」を追加して46byteにする。
・これをパディングと言う。
・ セグメント内での衝突検出を行うためには、フレームの全体長がFCSも含めて64byte以上である必要があるため、パディング処理が行われる。

ポイント

ネットワーク機器や回線速度としてのスループットは、パケットのヘッダーやプリアンブル、最小フレーム間隔も含めたフレームの全体サイズで計算したもの。データ部(ペイロード)の転送速度ではない。

なので、データ部(ペイロード)の転送速度でスループットを計算すると、データ部のサイズにより、最大スループットは変わる。

例)1Gb/sの回線の場合
ペイロードが100バイトのUDP→602Mb/s
ペイロードか1472バイトのUDP→957Mb/s
ペイロードが1448パイトのTCP→941Mb/s位
※この計算では、TCPはデータ転送・確認応答以外の3WHSなどによるスループット消費は考慮してない。TCPヘッダーオプション有りで計算。

最大ペイロードであれば、大体回線速度と同じ位になるって覚えておこう。

以下は動作検証の結果
https://pikesaku.hatenablog.com/entry/2022/11/20/124122

iperfの結果のスループットは、ペイロードの転送スループットと思われる。