<p><!-- style_prompt -->
本記事は<strong>Geminiの出力をプロンプト工学で整理した業務ドラフト(未検証)</strong>です。</p>
<h1 class="wp-block-heading">令和5年度秋期 ネットワークスペシャリスト試験 午前Ⅱ 問1 CIDRによるIPv4アドレスの経路集約</h1>
<p>複数のIPv4サブネットを1つのCIDRブロックへ集約する計算手法と、共通するネットワークプレフィックス長の見極め方を問う問題です。</p>
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>【問題】
CIDR(Classless Inter-Domain Routing)を用いて、次の4つのIPv4アドレスブロックを1つの経路に集約するとき、適切な表現はどれか。</p>
<ul>
<li>10.1.8.0/24</li>
<li>10.1.9.0/24</li>
<li>10.1.10.0/24</li>
<li>10.1.11.0/24</li>
</ul>
<p>ア 10.1.8.0/21
イ 10.1.8.0/22
ウ 10.1.12.0/22
エ 10.1.16.0/21</p>
</blockquote>
<h3 class="wp-block-heading">【解説】</h3>
<p>経路集約(ルート集約)を行うには、集約対象となるすべてのIPアドレスを2進数に変換し、最上位ビットから連続して共通しているビット列(プレフィックス)を特定します。</p>
<p>与えられた4つのネットワークの第1・第2オクテット(<code>10.1</code>)および第4オクテット(<code>.0</code>)は共通であるため、変化している第3オクテットに注目して2進数へ変換します。</p>
<p>$$8_{10} = 00001000_2$$
$$9_{10} = 00001001_2$$
$$10_{10} = 00001010_2$$
$$11_{10} = 00001011_2$$</p>
<p>第3オクテットの8ビットのうち、上位6ビット(<code>000010</code>)がすべてのブロックで一致しています。</p>
<p>ネットワーク全体の共通ビット長は次のように計算できます。</p>
<p>$$\text{共通ビット長} = 8\text{bit}(\text{第1}) + 8\text{bit}(\text{第2}) + 6\text{bit}(\text{第3}) = 22\text{bit}$$</p>
<p>共通部分である上位22ビットを残し、残りの下位10ビットをすべて <code>0</code> にすると、集約されたネットワークアドレスは <code>10.1.8.0</code> となります。プレフィックス長は <code>/22</code> となるため、表記は <strong><code>10.1.8.0/22</code></strong> です。</p>
<div class="wp-block-merpress-mermaidjs diagram-source-mermaid"><pre class="mermaid">
graph TD
A["10.1.8.0/24("3rd: 00001000")"] --> E["10.1.8.0/22("Prefix: 22bit")"]
B["10.1.9.0/24("3rd: 00001001")"] --> E
C["10.1.10.0/24("3rd: 00001010")"] --> E
D["10.1.11.0/24("3rd: 00001011")"] --> E
</pre></div>
<h3 class="wp-block-heading">【選択肢の吟味】</h3>
<figure class="wp-block-table"><table>
<thead>
<tr>
<th>選択肢</th>
<th>判定</th>
<th>解説</th>
</tr>
</thead>
<tbody>
<tr>
<td>ア</td>
<td>誤り</td>
<td><code>/21</code> は第3オクテットの上位5ビットまでを集約するため、<code>10.1.0.0</code>〜<code>10.1.7.0</code> も含まれてしまい不適です。</td>
</tr>
<tr>
<td>イ</td>
<td>正解</td>
<td>上位22ビットが共通しており、対象の4つのサブネットを過不足なく集約した正確なCIDR表記です。</td>
</tr>
<tr>
<td>ウ</td>
<td>誤り</td>
<td>第3オクテットが <code>12</code>(<code>00001100</code>)となり、対象のアドレス範囲(8〜11)が含まれません。</td>
</tr>
<tr>
<td>エ</td>
<td>誤り</td>
<td>第3オクテットが <code>16</code>(<code>00010000</code>)から始まる範囲となり、対象アドレスの範囲外です。</td>
</tr>
</tbody>
</table></figure>
<h3 class="wp-block-heading">【ポイント】</h3>
<ul class="wp-block-list">
<li><p><strong>2進数化して共通ビットを探す</strong>: 変化しているオクテットのみを2進数に変換して最長一致部分を確認する。</p></li>
<li><p><strong>プレフィックス長の算出</strong>: 共通するビットの総数がそのまま新しいサブネットマスク長(<code>/N</code>)となる。</p></li>
<li><p><strong>過不足のない集約</strong>: 必要以上の広域アドレスを含めない最小単位のCIDRブロックを選ぶ。</p></li>
</ul>
本記事はGeminiの出力をプロンプト工学で整理した業務ドラフト(未検証)です。
令和5年度秋期 ネットワークスペシャリスト試験 午前Ⅱ 問1 CIDRによるIPv4アドレスの経路集約
複数のIPv4サブネットを1つのCIDRブロックへ集約する計算手法と、共通するネットワークプレフィックス長の見極め方を問う問題です。
【問題】
CIDR(Classless Inter-Domain Routing)を用いて、次の4つのIPv4アドレスブロックを1つの経路に集約するとき、適切な表現はどれか。
- 10.1.8.0/24
- 10.1.9.0/24
- 10.1.10.0/24
- 10.1.11.0/24
ア 10.1.8.0/21
イ 10.1.8.0/22
ウ 10.1.12.0/22
エ 10.1.16.0/21
【解説】
経路集約(ルート集約)を行うには、集約対象となるすべてのIPアドレスを2進数に変換し、最上位ビットから連続して共通しているビット列(プレフィックス)を特定します。
与えられた4つのネットワークの第1・第2オクテット(10.1)および第4オクテット(.0)は共通であるため、変化している第3オクテットに注目して2進数へ変換します。
$$8_{10} = 00001000_2$$
$$9_{10} = 00001001_2$$
$$10_{10} = 00001010_2$$
$$11_{10} = 00001011_2$$
第3オクテットの8ビットのうち、上位6ビット(000010)がすべてのブロックで一致しています。
ネットワーク全体の共通ビット長は次のように計算できます。
$$\text{共通ビット長} = 8\text{bit}(\text{第1}) + 8\text{bit}(\text{第2}) + 6\text{bit}(\text{第3}) = 22\text{bit}$$
共通部分である上位22ビットを残し、残りの下位10ビットをすべて 0 にすると、集約されたネットワークアドレスは 10.1.8.0 となります。プレフィックス長は /22 となるため、表記は 10.1.8.0/22 です。
graph TD
A["10.1.8.0/24("3rd: 00001000")"] --> E["10.1.8.0/22("Prefix: 22bit")"]
B["10.1.9.0/24("3rd: 00001001")"] --> E
C["10.1.10.0/24("3rd: 00001010")"] --> E
D["10.1.11.0/24("3rd: 00001011")"] --> E
【選択肢の吟味】
| 選択肢 |
判定 |
解説 |
| ア |
誤り |
/21 は第3オクテットの上位5ビットまでを集約するため、10.1.0.0〜10.1.7.0 も含まれてしまい不適です。 |
| イ |
正解 |
上位22ビットが共通しており、対象の4つのサブネットを過不足なく集約した正確なCIDR表記です。 |
| ウ |
誤り |
第3オクテットが 12(00001100)となり、対象のアドレス範囲(8〜11)が含まれません。 |
| エ |
誤り |
第3オクテットが 16(00010000)から始まる範囲となり、対象アドレスの範囲外です。 |
【ポイント】
2進数化して共通ビットを探す: 変化しているオクテットのみを2進数に変換して最長一致部分を確認する。
プレフィックス長の算出: 共通するビットの総数がそのまま新しいサブネットマスク長(/N)となる。
過不足のない集約: 必要以上の広域アドレスを含めない最小単位のCIDRブロックを選ぶ。
コメント