[style_prompt] 本記事はGeminiの出力をプロンプト工学で整理した業務ドラフト(未検証)です。
令和5年度 秋期 ネットワークスペシャリスト 午前Ⅱ 問1
TCPのウィンドウサイズと往復遅延時間(RTT)から理論上の最大伝送速度を求める計算問題。単位変換の正確さと公式の適用が正答への鍵となる。
【問題】
TCPを用いたデータ転送において、ウィンドウサイズを64kバイト、往復遅延時間を10ミリ秒としたとき、理論上の最大スループットは何Mビット/秒か。ここで、1kバイトは1,024バイトとし、1Mビット/秒は10^6ビット/秒とする。
ア 6.4 イ 6.5 ウ 51.2 エ 52.4
【解説】
TCPにおけるスループットの理論値は、1回の送信で送り出せるデータ量(ウィンドウサイズ)を、そのACK(確認応答)が戻ってくるまでの時間(往復遅延時間:RTT)で割ることで算出できる。
解法のステップは以下の通り。
ウィンドウサイズをビット単位に変換する 問題文の「1kバイト = 1,024バイト」という定義に従い計算する。 $$64 \times 1,024 \times 8 = 524,288 \text{ bits}$$
往復遅延時間(RTT)を秒単位に変換する $$10 \text{ ms} = 0.01 \text{ s}$$
最大スループットを算出する(bps) $$スループット = \frac{\text{ウィンドウサイズ}}{\text{往復遅延時間}}$$ $$524,288 \text{ bits} / 0.01 \text{ s} = 52,428,800 \text{ bps}$$
単位をM(メガ)ビット/秒に変換する 問題文の「1M = 10^6」に基づき算出する。 $$52,428,800 / 10^6 = 52.4288 \text{ Mbps}$$
sequenceDiagram
participant S as 送信側
participant R as 受信側
Note over S,R: ウィンドウサイズ分のデータを連続送信
S ->> R: Data (64kBytes)
Note over R,S: 往復遅延時間 (RTT = 10ms)
R ->> S: ACK (確認応答)
Note over S: ACK受信後、次のウィンドウを送信
【選択肢の吟味】
| 選択肢 | 判定 | 解説 |
|---|---|---|
| ア | 誤り | 単位変換ミス。バイトからビットへの換算(8倍)を忘れた場合に近い値になる。 |
| イ | 誤り | 1k=1,000として計算し、かつ8倍を忘れた場合の数値。 |
| ウ | 誤り | 1k=1,000として計算した場合の数値($64,000 \times 8 / 0.01 = 51.2\text{M}$)。定義に従っていない。 |
| エ | 正解 | 上記計算プロセスの通り、1k=1,024および1M=10^6を正しく適用した結果。 |
【ポイント】
TCPスループット公式: $Throughput = WindowSize / RTT$
情報の単位変換: 1バイト=8ビット、1k=1024の指定に注意する。
SI接頭辞の混在: 本問のように、k=1024(2進)とM=10^6(10進)が混在するケースがあるため、問題文の定義を必ず確認する。

