令和5年度 ネットワークスペシャリスト 午前Ⅱ 問10 TCPのウィンドウ制御
本問はTCPのウィンドウ制御とスループットの関係を問う計算問題です。送信データ量と往復時間(RTT)から転送速度を導き出す計算力が求められます。
【問題】 TCPのウィンドウ制御において、送信側が送信ウィンドウの空きを待つことなく送信できるデータの最大量を64kバイト、1回の往復時間(RTT)を10ミリ秒とするとき、このネットワークで期待できる最大転送速度は何Mビット/秒か。ここで、1kバイトは1,000バイトとする。
ア 6.4 イ 12.8 ウ 51.2 エ 102.4
【解説】 TCPのウィンドウ制御では、ACK(確認応答)を待たずに一度に送信できるデータ量(ウィンドウサイズ)によってスループットが決定されます。
データ量の単位変換 まず、バイト単位をビット単位に変換します。 $$64 \text{ kByte} \times 8 \text{ bits/Byte} = 512 \text{ kbits}$$ 問題文の指定に基づき、$1\text{k} = 1,000$として計算します。 $$512 \times 1,000 = 512,000 \text{ bits}$$
時間の単位変換 ミリ秒を秒に変換します。 $$10 \text{ ms} = 0.01 \text{ s}$$
転送速度(スループット)の算出 「1回のRTTの間に送信できる最大データ量」が期待される最大転送速度となります。 $$\text{転送速度} = \frac{\text{送信データ量}}{\text{往復時間(RTT)}}$$ $$\text{転送速度} = \frac{512,000 \text{ bits}}{0.01 \text{ s}} = 51,200,000 \text{ bps}$$
単位をM(メガ)に調整 $51,200,000 \text{ bps} = 51.2 \text{ Mbps}$
sequenceDiagram
participant S as Sender
participant R as Receiver
S ->> R: Data transmission (Window size: 64kB)
Note over S,R: Round Trip Time (10ms)
R -->> S: ACK
Note over S: Continuous data flow within window size
【選択肢の吟味】
| 選択肢 | 判定 | 解説 |
|---|---|---|
| ア | 誤り | 64kビットを10msで割った値(6.4Mbps)であり、バイトからビットへの変換を失念しています。 |
| イ | 誤り | 12.8Mbps。計算過程に誤りがあります。 |
| ウ | 正解 | 上記計算の通り、51.2Mbpsが導出されます。 |
| エ | 誤り | 51.2Mbpsを2倍した値ですが、RTTの解釈に誤りがあります。 |
【ポイント】
スループット計算式: $L \text{ (ビット)} / RTT \text{ (秒)}$ で導出する。
単位換算の注意: $1\text{kByte} = 1,000\text{Byte}$ か $1,024\text{Byte}$ かは問題文の指示に従う。
ビット転送: ネットワーク速度は通常 bps(bits per second)で答えるため、必ず 8倍 する。

