令和5年度 秋期 ネットワークスペシャリスト 午前Ⅱ 問1 TCPの理論スループット
ウィンドウサイズと往復遅延時間(RTT)の関係から、TCPにおける論理上の最大転送速度を求める計算手法を解説する。
【問題】
ウィンドウサイズが 64k バイト、RTT(Round Trip Time)が 10 ミリ秒のとき、TCPの理論上の最大転送速度は何 Mビット/秒か。ここで、1k バイトは 1,024 バイト、1M ビットは $10^6$ ビットとする。
ア 6.4 イ 51.2 ウ 52.4 エ 65.5
【解説】
TCPのスライディングウィンドウ方式において、理論上の最大スループットは「1ウィンドウ分のデータをRTT(往復遅延時間)ごとに送信する」状態を指す。
1. ウィンドウサイズをビット単位に換算する 問題文の条件(1k = 1,024、1バイト = 8ビット)に従い計算する。 $$64 \times 1,024 \times 8 = 524,288 \text{ ビット}$$
2. RTTを秒単位に換算する $$10 \text{ ミリ秒} = 0.01 \text{ 秒}$$
3. スループットを算出する スループット(bps)は、送信データ量を時間で割ることで求められる。 $$\frac{524,288 \text{ ビット}}{0.01 \text{ 秒}} = 52,428,800 \text{ ビット/秒 (bps)}$$
4. 単位を Mビット/秒(Mbps)に変換する 問題文の条件(1M = $10^6$)に従い、1,000,000 で割る。 $$\frac{52,428,800}{1,000,000} = 52.4288 \text{ Mbps}$$
最も近い値は 52.4 となる。
Mermaid図解:スライディングウィンドウとRTTの関係
sequenceDiagram
participant S as 送信側
participant R as 受信側
Note over S,R: ウィンドウサイズ(W)分のデータを連続送信
S ->> R: Data Segment 1..N
Note right of R: 処理・確認応答(ACK)
R ->> S: ACK
Note over S,R: 送信開始からACK受信までがRTT
【選択肢の吟味】
| 選択肢 | 判定 | 解説 |
|---|---|---|
| ア | 誤り | 1kを1,000とし、かつ1バイト=1ビットで計算した場合などの誤り。 |
| イ | 誤り | 1kを1,000として計算すると、$64,000 \times 8 / 0.01 = 51.2$ Mbpsとなる。本問は1k=1,024指定。 |
| ウ | 正解 | 上記計算プロセスの通り、1k=1,024、1M=$10^6$として算出した値。 |
| エ | 誤り | $2^{16}$(65,536)をそのまま用いた場合に近い数値だが、単位変換が正しくない。 |
【ポイント】
スループットの基本式:Throughput = WindowSize / RTT
単位換算の徹底:問題文で指定された「1k = 1,024」か「1,000」かの条件を必ず確認する。
ビットとバイトの混同注意:スループット(bps)を問われている場合、バイト単位のウィンドウサイズに 8 を掛けるのを忘れない。

