<p><style_prompt: standard_technical_explanation="">本記事は<strong>Geminiの出力をプロンプト工学で整理した業務ドラフト(未検証)</strong>です。</style_prompt:></p>
<h1 class="wp-block-heading">令和5年度 秋期 ネットワークスペシャリスト 午前Ⅱ 問1 TCPの理論スループット</h1>
<p>ウィンドウサイズと往復遅延時間(RTT)の関係から、TCPにおける論理上の最大転送速度を求める計算手法を解説する。</p>
<h3 class="wp-block-heading">【問題】</h3>
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>ウィンドウサイズが 64k バイト、RTT(Round Trip Time)が 10 ミリ秒のとき、TCPの理論上の最大転送速度は何 Mビット/秒か。ここで、1k バイトは 1,024 バイト、1M ビットは $10^6$ ビットとする。</p>
<p>ア 6.4
イ 51.2
ウ 52.4
エ 65.5</p>
</blockquote>
<h3 class="wp-block-heading">【解説】</h3>
<p>TCPのスライディングウィンドウ方式において、理論上の最大スループットは「1ウィンドウ分のデータをRTT(往復遅延時間)ごとに送信する」状態を指す。</p>
<p><strong>1. ウィンドウサイズをビット単位に換算する</strong>
問題文の条件(1k = 1,024、1バイト = 8ビット)に従い計算する。
$$64 \times 1,024 \times 8 = 524,288 \text{ ビット}$$</p>
<p><strong>2. RTTを秒単位に換算する</strong>
$$10 \text{ ミリ秒} = 0.01 \text{ 秒}$$</p>
<p><strong>3. スループットを算出する</strong>
スループット(bps)は、送信データ量を時間で割ることで求められる。
$$\frac{524,288 \text{ ビット}}{0.01 \text{ 秒}} = 52,428,800 \text{ ビット/秒 (bps)}$$</p>
<p><strong>4. 単位を Mビット/秒(Mbps)に変換する</strong>
問題文の条件(1M = $10^6$)に従い、1,000,000 で割る。
$$\frac{52,428,800}{1,000,000} = 52.4288 \text{ Mbps}$$</p>
<p>最も近い値は <strong>52.4</strong> となる。</p>
<p><strong>Mermaid図解:スライディングウィンドウとRTTの関係</strong></p>
<div class="wp-block-merpress-mermaidjs diagram-source-mermaid"><pre class="mermaid">
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
</pre></div>
<h3 class="wp-block-heading">【選択肢の吟味】</h3>
<figure class="wp-block-table"><table>
<thead>
<tr>
<th style="text-align:left;">選択肢</th>
<th style="text-align:left;">判定</th>
<th style="text-align:left;">解説</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left;">ア</td>
<td style="text-align:left;">誤り</td>
<td style="text-align:left;">1kを1,000とし、かつ1バイト=1ビットで計算した場合などの誤り。</td>
</tr>
<tr>
<td style="text-align:left;">イ</td>
<td style="text-align:left;">誤り</td>
<td style="text-align:left;">1kを1,000として計算すると、$64,000 \times 8 / 0.01 = 51.2$ Mbpsとなる。本問は1k=1,024指定。</td>
</tr>
<tr>
<td style="text-align:left;"><strong>ウ</strong></td>
<td style="text-align:left;"><strong>正解</strong></td>
<td style="text-align:left;">上記計算プロセスの通り、1k=1,024、1M=$10^6$として算出した値。</td>
</tr>
<tr>
<td style="text-align:left;">エ</td>
<td style="text-align:left;">誤り</td>
<td style="text-align:left;">$2^{16}$(65,536)をそのまま用いた場合に近い数値だが、単位変換が正しくない。</td>
</tr>
</tbody>
</table></figure>
<h3 class="wp-block-heading">【ポイント】</h3>
<ul class="wp-block-list">
<li><p><strong>スループットの基本式</strong>:Throughput = WindowSize / RTT</p></li>
<li><p><strong>単位換算の徹底</strong>:問題文で指定された「1k = 1,024」か「1,000」かの条件を必ず確認する。</p></li>
<li><p><strong>ビットとバイトの混同注意</strong>:スループット(bps)を問われている場合、バイト単位のウィンドウサイズに 8 を掛けるのを忘れない。</p></li>
</ul>
本記事はGeminiの出力をプロンプト工学で整理した業務ドラフト(未検証) です。
令和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 を掛けるのを忘れない。
コメント