tcを利用する場合における、ビットレート (bitrate)と帯域 (bandwidth)の違いを、事例で教えて貰いました
例題: 水道の蛇口に例える
ネットワークの「ビットレート (bitrate)」と「帯域 (bandwidth)」 の違いを、水道の蛇口に例えて説明します。
1. 帯域 (bandwidth) = 水道管の太さ
- 水道管の太さが 「ネットワークの帯域」 に相当する。
- 例えば 「10Gbpsの回線」 というのは 「直径10cmの水道管」 に相当する。
- 「最大で10Gbps流せる」 という意味だが、実際にどれくらい流すかは別の話。
2. ビットレート (bitrate) = 水の流量 (蛇口の開き具合)
- 蛇口をどれくらい開くかが 「ビットレート」 に相当する。
- 例えば
tc
でrate 5mbit
を設定すると、蛇口を半分だけ開くようなイメージ。 - 回線が10Gbps(帯域)でも、実際に使うのは5Mbps(ビットレート)に制限される。
3. tc
を使った制限の具体例
(1) 10Gbpsの回線を持つPC (帯域 = 10Gbps)
- 例えば、自宅のネット回線が 10Gbps だったとする。
- しかし、
tc
を使ってrate 5mbit
に制限すると、実際のデータ転送は 5Mbps しか出ない。
(2) tc
で 5Mbps のビットレート制限
sudo tc qdisc add dev eth0 root tbf rate 5mbit burst 10kb latency 1ms
この設定をすると、10Gbpsの回線を持っていても、実際の転送速度は 5Mbps に制限 される(=蛇口を少ししか開かない)。
(3) tc
で 5Mbps ~ 10Mbps の変動を許可
sudo tc qdisc add dev eth0 root handle 1: htb default 10
sudo tc class add dev eth0 parent 1: classid 1:1 htb rate 5mbit ceil 10mbit
- 最低 5Mbps で 最大 10Mbps まで許可 する設定。
- 普段は5Mbpsだが、ネットワークに余裕があれば 最大10Mbps まで利用可能。
4. 結論
項目 | 水道の例 | ネットワークの意味 |
---|---|---|
帯域 (bandwidth) | 水道管の太さ | 利用可能なネットワークの最大容量 (例: 10Gbps) |
ビットレート (bitrate) | 蛇口の開き具合 | 実際に流せるデータ速度 (例: 5Mbps) |
- 帯域は「最大でどれくらい流せるか」 を決める(物理的な上限)。
- ビットレートは「実際にどれくらい流すか」 を
tc
で調整できる。