本記事はGeminiの出力をプロンプト工学で整理した業務ドラフト(未検証)です。
令和3年度 春期 ネットワークスペシャリスト 午前Ⅱ 問4 TCPスループット計算
TCPの帯域遅延積に基づき、ウィンドウサイズとRTTから理論上の最大スループットを算出する計算手順を解説します。
【問題】 TCPのデータ転送において,RTT(往復遅延時間)が100ミリ秒,ウィンドウサイズが64キロバイトであるとき,理論上の最大スループット(Mビット/秒)に最も近いものはどれか。ここで,1キロバイトは1,000バイトとし,パケットヘッダーなどのオーバーヘッドは考慮しないものとする。
ア 0.64 イ 5.12 ウ 6.4 エ 51.2
【解説】
TCPでは、送信側は確認応答(ACK)を受信するまでの間、事前に取り決めた「ウィンドウサイズ」分のデータを連続して送信できます。そのため、1回の往復遅延時間(RTT)ごとに送信可能な最大データ量はウィンドウサイズと等しくなります。
理論上の最大スループットは以下の公式で求められます。
$$ \text{スループット (bps)} = \frac{\text{ウィンドウサイズ (bit)}}{\text{RTT (秒)}} $$
計算プロセス:
単位の統一
ウィンドウサイズ:$64 \text{ KB} = 64 \times 1,000 \text{ B} = 64,000 \text{ B} = 64,000 \times 8 \text{ bit} = 512,000 \text{ bit}$
RTT:$100 \text{ ms} = 0.1 \text{ 秒}$
公式へ代入 $$ \text{スループット} = \frac{512,000 \text{ bit}}{0.1 \text{ 秒}} = 5,120,000 \text{ bps} $$
単位の変換(bps → Mbps) $$ 5,120,000 \text{ bps} = 5.12 \text{ Mbps} $$
sequenceDiagram
autonumber
participant "送信元"
participant "受信先"
"送信元" ->> "受信先": データ送信 (64KB = 512kbit)
"受信先" -->> "送信元": ACK返信 (RTT: 100ms)
Note over 送信元,受信先: 100msごとに最大512kbit転送可能
【選択肢の吟味】
| 選択肢 | 判定 | 解説 |
|---|---|---|
| ア 0.64 | 誤り | バイトからビットへの換算(8倍)を忘れて計算した場合の値($0.64 \text{ Mbps}$)です。 |
| イ 5.12 | 正解 | 正しい計算プロセスによって導き出される数値です。 |
| ウ 6.4 | 誤り | ビット換算漏れや桁数の誤計算による値です。 |
| エ 51.2 | 誤り | RTTの単位換算ミス($0.01\text{秒}$として計算など)による値です。 |
【ポイント】
TCPの最大スループットは「ウィンドウサイズ ÷ RTT」で求める。
バイト(Byte)からビット(bit)への8倍換算を忘れず行う。
問題文中の但し書き(1KB = 1,000Byte)に従って単位調整する。

