<p><style_prompt>
本記事は<strong>Geminiの出力をプロンプト工学で整理した業務ドラフト(未検証)</strong>です。</style_prompt></p>
<h1 class="wp-block-heading">令和5年度 ネットワークスペシャリスト 午前Ⅱ 問1 TCPスループットの計算</h1>
<p>TCPのウィンドウ制御におけるスループットの理論限界を算出する問題。RTTとウィンドウサイズの関係から、時間あたりの最大送信量を導き出す。</p>
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>通信速度 100Mビット/秒、往復遅延時間 (RTT) 10ミリ秒の回線において、TCPのウィンドウサイズを 64kバイトとしたとき、理論上の最大スループットは何Mビット/秒か。ここで、1kバイトは 1,000バイト、1Mビット/秒は $10^6$ビット/秒とする。</p>
</blockquote>
<h3 class="wp-block-heading">【解説】</h3>
<p>TCPのスループット(理論上の最大転送速度)は、確認応答(ACK)を待たずに送信できるデータの最大量である「ウィンドウサイズ」を、往復遅延時間(RTT)で割ることで求められます。</p>
<ol class="wp-block-list">
<li><p><strong>ウィンドウサイズをビット単位に換算する</strong>
問題文より、ウィンドウサイズは 64kバイト、1kバイト = 1,000バイトです。
$$64 \times 1,000 \times 8 (\text{bit/byte}) = 512,000 \text{ bit}$$</p></li>
<li><p><strong>スループットの計算</strong>
1回のRTT(10ミリ秒 = 0.01秒)ごとに、ウィンドウサイズ分のデータを送信できます。
$$\text{スループット} = \frac{\text{ウィンドウサイズ}}{\text{RTT}}$$
$$\text{スループット} = \frac{512,000 \text{ bit}}{0.01 \text{ s}} = 51,200,000 \text{ bps}$$</p></li>
<li><p><strong>単位をMビット/秒に変換する</strong>
$1 \text{ Mbps} = 10^6 \text{ bps}$ なので:
$$51.2 \text{ Mbps}$$</p></li>
</ol>
<div class="wp-block-merpress-mermaidjs diagram-source-mermaid"><pre class="mermaid">
sequenceDiagram
participant S as 送信側
participant R as 受信側
Note over S: ウィンドウサイズ分(512kbit)を送信
S ->> R: データ転送
R -->> S: ACK (確認応答)
Note over S,R: この往復が RTT (10ms)
Note over S: 次のウィンドウを送信可能
</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;">ア 6.4</td>
<td style="text-align:left;">誤り</td>
<td style="text-align:left;">バイトからビットへの換算(8倍)を忘れた場合に導出される数値。</td>
</tr>
<tr>
<td style="text-align:left;">イ 51.2</td>
<td style="text-align:left;"><strong>正解</strong></td>
<td style="text-align:left;">上記計算の通り、ウィンドウサイズ(bit)をRTT(秒)で除算した結果。</td>
</tr>
<tr>
<td style="text-align:left;">ウ 64.0</td>
<td style="text-align:left;">誤り</td>
<td style="text-align:left;">ウィンドウサイズの数値そのものに引きずられた誤答。</td>
</tr>
<tr>
<td style="text-align:left;">エ 100.0</td>
<td style="text-align:left;">誤り</td>
<td style="text-align:left;">回線物理速度の最大値だが、ウィンドウサイズによる制約を無視している。</td>
</tr>
</tbody>
</table></figure>
<h3 class="wp-block-heading">【ポイント】</h3>
<ul class="wp-block-list">
<li><p>スループット計算の公式:$\text{Throughput} = \frac{\text{Window Size}}{\text{RTT}}$</p></li>
<li><p>単位換算の注意:バイト(B)とビット(b)の混同、k(キロ)が1000か1024かの指定確認。</p></li>
<li><p>物理帯域(100Mbps)は理論上の上限であり、計算結果がこれを超えることはない。</p></li>
</ul>
本記事はGeminiの出力をプロンプト工学で整理した業務ドラフト(未検証) です。
令和5年度 ネットワークスペシャリスト 午前Ⅱ 問1 TCPスループットの計算
TCPのウィンドウ制御におけるスループットの理論限界を算出する問題。RTTとウィンドウサイズの関係から、時間あたりの最大送信量を導き出す。
通信速度 100Mビット/秒、往復遅延時間 (RTT) 10ミリ秒の回線において、TCPのウィンドウサイズを 64kバイトとしたとき、理論上の最大スループットは何Mビット/秒か。ここで、1kバイトは 1,000バイト、1Mビット/秒は $10^6$ビット/秒とする。
【解説】
TCPのスループット(理論上の最大転送速度)は、確認応答(ACK)を待たずに送信できるデータの最大量である「ウィンドウサイズ」を、往復遅延時間(RTT)で割ることで求められます。
ウィンドウサイズをビット単位に換算する
問題文より、ウィンドウサイズは 64kバイト、1kバイト = 1,000バイトです。
$$64 \times 1,000 \times 8 (\text{bit/byte}) = 512,000 \text{ bit}$$
スループットの計算
1回のRTT(10ミリ秒 = 0.01秒)ごとに、ウィンドウサイズ分のデータを送信できます。
$$\text{スループット} = \frac{\text{ウィンドウサイズ}}{\text{RTT}}$$
$$\text{スループット} = \frac{512,000 \text{ bit}}{0.01 \text{ s}} = 51,200,000 \text{ bps}$$
単位をMビット/秒に変換する
$1 \text{ Mbps} = 10^6 \text{ bps}$ なので:
$$51.2 \text{ Mbps}$$
sequenceDiagram
participant S as 送信側
participant R as 受信側
Note over S: ウィンドウサイズ分(512kbit)を送信
S ->> R: データ転送
R -->> S: ACK (確認応答)
Note over S,R: この往復が RTT (10ms)
Note over S: 次のウィンドウを送信可能
【選択肢の吟味】
選択肢
判定
解説
ア 6.4
誤り
バイトからビットへの換算(8倍)を忘れた場合に導出される数値。
イ 51.2
正解
上記計算の通り、ウィンドウサイズ(bit)をRTT(秒)で除算した結果。
ウ 64.0
誤り
ウィンドウサイズの数値そのものに引きずられた誤答。
エ 100.0
誤り
回線物理速度の最大値だが、ウィンドウサイズによる制約を無視している。
【ポイント】
スループット計算の公式:$\text{Throughput} = \frac{\text{Window Size}}{\text{RTT}}$
単位換算の注意:バイト(B)とビット(b)の混同、k(キロ)が1000か1024かの指定確認。
物理帯域(100Mbps)は理論上の上限であり、計算結果がこれを超えることはない。
ライセンス :本記事のテキスト/コードは特記なき限り
CC BY 4.0 です。引用の際は出典URL(本ページ)を明記してください。
利用ポリシー もご参照ください。
コメント