<p><style_prompt>
本記事は<strong>Geminiの出力をプロンプト工学で整理した業務ドラフト(未検証)</strong>です。</style_prompt></p>
<h1 class="wp-block-heading">令和5年度 ネットワークスペシャリスト 午前Ⅱ 問1「OpenFlowのフローテーブル」</h1>
<p>OpenFlowにおけるデータ転送の制御単位であるフローエントリの構成要素と、受信パケットの照合プロセスを正確に理解しているかを問う問題。</p>
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>OpenFlowにおいて、スイッチが受信したパケットとフローエントリを照合する際に使用されるものはどれか。</p>
<p>ア:アクションセット
イ:クッキー
ウ:カウンタ
エ:マッチフィールド</p>
</blockquote>
<h3 class="wp-block-heading">【解説】</h3>
<p>OpenFlowスイッチ内のフローテーブルには、パケットの処理ルールを定めた「フローエントリ」が格納されています。スイッチがパケットを受信すると、そのパケットのヘッダー情報とフローエントリの内容を比較し、合致(マッチ)した場合に指定された処理(アクション)を実行します。</p>
<p>フローエントリの主な構成要素は以下の通りです。</p>
<ol class="wp-block-list">
<li><p><strong>マッチフィールド (Match Fields)</strong>: 受信パケットと比較するための条件(入力ポート、MACアドレス、IPアドレス、ポート番号など)。</p></li>
<li><p><strong>優先度 (Priority)</strong>: 複数のエントリにマッチした場合の優先順位。</p></li>
<li><p><strong>カウンタ (Counters)</strong>: マッチしたパケット数やバイト数などの統計情報。</p></li>
<li><p><strong>インストラクション (Instructions)</strong>: アクションセットの更新や、次のテーブルへの移行指示。</p></li>
<li><p><strong>タイムアウト (Timeouts)</strong>: エントリの有効期限。</p></li>
<li><p><strong>クッキー (Cookie)</strong>: コントローラがエントリを管理するために付与する識別子。</p></li>
</ol>
<div class="wp-block-merpress-mermaidjs diagram-source-mermaid"><pre class="mermaid">
graph LR
A["受信パケット"] --> B{"フローテーブル"}
B --> C["マッチフィールドで照合"]
C --> D["一致: アクション実行/統計更新"]
C --> E["不一致: 次のテーブル/コントローラ転送"]
</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;">アクションセットは、パケットに対して実行される操作(転送、破棄、ヘッダー書き換え等)の集合であり、照合には使用しません。</td>
</tr>
<tr>
<td style="text-align:left;">イ</td>
<td style="text-align:left;">×</td>
<td style="text-align:left;">クッキーは、コントローラが特定のエントリを識別・フィルタリングするために付与する値であり、パケット転送時の照合には使用されません。</td>
</tr>
<tr>
<td style="text-align:left;">ウ</td>
<td style="text-align:left;">×</td>
<td style="text-align:left;">カウンタは、マッチしたパケット数などの統計情報を記録するものであり、照合の条件には含まれません。</td>
</tr>
<tr>
<td style="text-align:left;">エ</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>フローエントリの主要6要素(マッチフィールド、優先度、カウンタ、インストラクション、タイムアウト、クッキー)を区別する。</p></li>
<li><p>マッチフィールドはL2〜L4までのヘッダー情報を柔軟に条件指定できる。</p></li>
<li><p>クッキーはパケット処理(データプレーン)ではなく、管理(コントロールプレーン)のための情報である。</p></li>
</ul>
本記事はGeminiの出力をプロンプト工学で整理した業務ドラフト(未検証)です。
令和5年度 ネットワークスペシャリスト 午前Ⅱ 問1「OpenFlowのフローテーブル」
OpenFlowにおけるデータ転送の制御単位であるフローエントリの構成要素と、受信パケットの照合プロセスを正確に理解しているかを問う問題。
OpenFlowにおいて、スイッチが受信したパケットとフローエントリを照合する際に使用されるものはどれか。
ア:アクションセット
イ:クッキー
ウ:カウンタ
エ:マッチフィールド
【解説】
OpenFlowスイッチ内のフローテーブルには、パケットの処理ルールを定めた「フローエントリ」が格納されています。スイッチがパケットを受信すると、そのパケットのヘッダー情報とフローエントリの内容を比較し、合致(マッチ)した場合に指定された処理(アクション)を実行します。
フローエントリの主な構成要素は以下の通りです。
マッチフィールド (Match Fields): 受信パケットと比較するための条件(入力ポート、MACアドレス、IPアドレス、ポート番号など)。
優先度 (Priority): 複数のエントリにマッチした場合の優先順位。
カウンタ (Counters): マッチしたパケット数やバイト数などの統計情報。
インストラクション (Instructions): アクションセットの更新や、次のテーブルへの移行指示。
タイムアウト (Timeouts): エントリの有効期限。
クッキー (Cookie): コントローラがエントリを管理するために付与する識別子。
graph LR
A["受信パケット"] --> B{"フローテーブル"}
B --> C["マッチフィールドで照合"]
C --> D["一致: アクション実行/統計更新"]
C --> E["不一致: 次のテーブル/コントローラ転送"]
【選択肢の吟味】
| 選択肢 |
判定 |
解説 |
| ア |
× |
アクションセットは、パケットに対して実行される操作(転送、破棄、ヘッダー書き換え等)の集合であり、照合には使用しません。 |
| イ |
× |
クッキーは、コントローラが特定のエントリを識別・フィルタリングするために付与する値であり、パケット転送時の照合には使用されません。 |
| ウ |
× |
カウンタは、マッチしたパケット数などの統計情報を記録するものであり、照合の条件には含まれません。 |
| エ |
○ |
マッチフィールドは、受信パケットの属性と照らし合わせるための条件そのものであり、照合の際に使用される要素です。 |
【ポイント】
フローエントリの主要6要素(マッチフィールド、優先度、カウンタ、インストラクション、タイムアウト、クッキー)を区別する。
マッチフィールドはL2〜L4までのヘッダー情報を柔軟に条件指定できる。
クッキーはパケット処理(データプレーン)ではなく、管理(コントロールプレーン)のための情報である。
ライセンス:本記事のテキスト/コードは特記なき限り
CC BY 4.0 です。引用の際は出典URL(本ページ)を明記してください。
利用ポリシー もご参照ください。
コメント