<p><!-- style_prompt -->
本記事は<strong>Geminiの出力をプロンプト工学で整理した業務ドラフト(未検証)</strong>です。</p>
<h1 class="wp-block-heading">令和3年度 春期 ネットワークスペシャリスト 午前Ⅱ 問4 TCPスループット計算</h1>
<p>TCPの帯域遅延積に基づき、ウィンドウサイズとRTTから理論上の最大スループットを算出する計算手順を解説します。</p>
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>【問題】
TCPのデータ転送において,RTT(往復遅延時間)が100ミリ秒,ウィンドウサイズが64キロバイトであるとき,理論上の最大スループット(Mビット/秒)に最も近いものはどれか。ここで,1キロバイトは1,000バイトとし,パケットヘッダーなどのオーバーヘッドは考慮しないものとする。</p>
<p>ア 0.64
イ 5.12
ウ 6.4
エ 51.2</p>
</blockquote>
<h3 class="wp-block-heading">【解説】</h3>
<p>TCPでは、送信側は確認応答(ACK)を受信するまでの間、事前に取り決めた「ウィンドウサイズ」分のデータを連続して送信できます。そのため、1回の往復遅延時間(RTT)ごとに送信可能な最大データ量はウィンドウサイズと等しくなります。</p>
<p>理論上の最大スループットは以下の公式で求められます。</p>
<p>$$ \text{スループット (bps)} = \frac{\text{ウィンドウサイズ (bit)}}{\text{RTT (秒)}} $$</p>
<p><strong>計算プロセス:</strong></p>
<ol class="wp-block-list">
<li><p><strong>単位の統一</strong></p>
<ul>
<li><p>ウィンドウサイズ:$64 \text{ KB} = 64 \times 1,000 \text{ B} = 64,000 \text{ B} = 64,000 \times 8 \text{ bit} = 512,000 \text{ bit}$</p></li>
<li><p>RTT:$100 \text{ ms} = 0.1 \text{ 秒}$</p></li>
</ul></li>
<li><p><strong>公式へ代入</strong>
$$ \text{スループット} = \frac{512,000 \text{ bit}}{0.1 \text{ 秒}} = 5,120,000 \text{ bps} $$</p></li>
<li><p><strong>単位の変換(bps → Mbps)</strong>
$$ 5,120,000 \text{ bps} = 5.12 \text{ Mbps} $$</p></li>
</ol>
<div class="wp-block-merpress-mermaidjs diagram-source-mermaid"><pre class="mermaid">
sequenceDiagram
autonumber
participant "送信元"
participant "受信先"
"送信元" ->> "受信先": データ送信 (64KB = 512kbit)
"受信先" -->> "送信元": ACK返信 (RTT: 100ms)
Note over 送信元,受信先: 100msごとに最大512kbit転送可能
</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;">ア 0.64</td>
<td style="text-align:left;">誤り</td>
<td style="text-align:left;">バイトからビットへの換算(8倍)を忘れて計算した場合の値($0.64 \text{ Mbps}$)です。</td>
</tr>
<tr>
<td style="text-align:left;">イ 5.12</td>
<td style="text-align:left;"><strong>正解</strong></td>
<td style="text-align:left;">正しい計算プロセスによって導き出される数値です。</td>
</tr>
<tr>
<td style="text-align:left;">ウ 6.4</td>
<td style="text-align:left;">誤り</td>
<td style="text-align:left;">ビット換算漏れや桁数の誤計算による値です。</td>
</tr>
<tr>
<td style="text-align:left;">エ 51.2</td>
<td style="text-align:left;">誤り</td>
<td style="text-align:left;">RTTの単位換算ミス($0.01\text{秒}$として計算など)による値です。</td>
</tr>
</tbody>
</table></figure>
<h3 class="wp-block-heading">【ポイント】</h3>
<ul class="wp-block-list">
<li><p>TCPの最大スループットは「ウィンドウサイズ ÷ RTT」で求める。</p></li>
<li><p>バイト(Byte)からビット(bit)への8倍換算を忘れず行う。</p></li>
<li><p>問題文中の但し書き(1KB = 1,000Byte)に従って単位調整する。</p></li>
</ul>
本記事はGeminiの出力をプロンプト工学で整理した業務ドラフト(未検証)です。
令和3年度 春期 ネットワークスペシャリスト 午前Ⅱ 問4 TCPスループット計算
TCPの帯域遅延積に基づき、ウィンドウサイズとRTTから理論上の最大スループットを算出する計算手順を解説します。
【問題】
TCPのデータ転送において,RTT(往復遅延時間)が100ミリ秒,ウィンドウサイズが64キロバイトであるとき,理論上の最大スループット(Mビット/秒)に最も近いものはどれか。ここで,1キロバイトは1,000バイトとし,パケットヘッダーなどのオーバーヘッドは考慮しないものとする。
ア 0.64
イ 5.12
ウ 6.4
エ 51.2
【解説】
TCPでは、送信側は確認応答(ACK)を受信するまでの間、事前に取り決めた「ウィンドウサイズ」分のデータを連続して送信できます。そのため、1回の往復遅延時間(RTT)ごとに送信可能な最大データ量はウィンドウサイズと等しくなります。
理論上の最大スループットは以下の公式で求められます。
$$ \text{スループット (bps)} = \frac{\text{ウィンドウサイズ (bit)}}{\text{RTT (秒)}} $$
計算プロセス:
単位の統一
ウィンドウサイズ:$64 \text{ KB} = 64 \times 1,000 \text{ B} = 64,000 \text{ B} = 64,000 \times 8 \text{ bit} = 512,000 \text{ bit}$
RTT:$100 \text{ ms} = 0.1 \text{ 秒}$
公式へ代入
$$ \text{スループット} = \frac{512,000 \text{ bit}}{0.1 \text{ 秒}} = 5,120,000 \text{ bps} $$
単位の変換(bps → Mbps)
$$ 5,120,000 \text{ bps} = 5.12 \text{ Mbps} $$
sequenceDiagram
autonumber
participant "送信元"
participant "受信先"
"送信元" ->> "受信先": データ送信 (64KB = 512kbit)
"受信先" -->> "送信元": ACK返信 (RTT: 100ms)
Note over 送信元,受信先: 100msごとに最大512kbit転送可能
【選択肢の吟味】
| 選択肢 |
判定 |
解説 |
| ア 0.64 |
誤り |
バイトからビットへの換算(8倍)を忘れて計算した場合の値($0.64 \text{ Mbps}$)です。 |
| イ 5.12 |
正解 |
正しい計算プロセスによって導き出される数値です。 |
| ウ 6.4 |
誤り |
ビット換算漏れや桁数の誤計算による値です。 |
| エ 51.2 |
誤り |
RTTの単位換算ミス($0.01\text{秒}$として計算など)による値です。 |
【ポイント】
TCPの最大スループットは「ウィンドウサイズ ÷ RTT」で求める。
バイト(Byte)からビット(bit)への8倍換算を忘れず行う。
問題文中の但し書き(1KB = 1,000Byte)に従って単位調整する。
ライセンス:本記事のテキスト/コードは特記なき限り
CC BY 4.0 です。引用の際は出典URL(本ページ)を明記してください。
利用ポリシー もご参照ください。
コメント