CCNA「自動化とプログラマビリティ」練習問題(29問・解説つき)

Cisco CCNA 200-301「自動化とプログラマビリティ」の4択問題集。正解と選択肢ごとの個別解説つきで、過去問対策・例題演習に。

主なテーマ:SDN・REST API・JSON/YAML・Ansible

▶ この分野をクイズ形式で解く
第1問 ・ CCNA / 自動化とプログラマビリティ

RESTful APIで一般的に使われるデータ表現形式は?

  1. JSON✓ 正解
  2. CSV
  3. BGP
  4. STP
💡 ネットワーク自動化のREST APIではJSONが広く使われます。YAMLはAnsible等の設定で多用されます。
○ JSON:REST APIではJSONが広くデータ表現に使われるので正しい。
✕ CSV:CSVは表形式データ用でRESTful APIの一般的な表現形式ではないので誤り。
✕ BGP:BGPはルーティングプロトコルでデータ表現形式ではないので誤り。
✕ STP:STPはL2のループ防止プロトコルでデータ表現形式ではないので誤り。
第2問 ・ CCNA / 自動化とプログラマビリティ

エージェント不要で構成管理を行うツールは?

  1. Puppet
  2. Chef
  3. Ansible✓ 正解
  4. SNMP
💡 AnsibleはSSHで動くエージェントレス構成管理。YAMLのPlaybookで宣言的に設定します。
✕ Puppet:Puppetはエージェントを必要とする構成管理ツールなので誤り。
✕ Chef:Chefはエージェントを必要とする構成管理ツールなので誤り。
○ Ansible:AnsibleはSSHで動くエージェントレスの構成管理ツールなので正しい。
✕ SNMP:SNMPは機器監視用プロトコルで構成管理ツールではないので誤り。
第3問 ・ CCNA / 自動化とプログラマビリティ

Ansibleのプレイブック記述に使う人間可読なデータ形式は?

  1. YAML✓ 正解
  2. バイナリ
  3. SQL
  4. HTML
💡 AnsibleのPlaybookはYAMLで宣言的に記述します。REST APIのやり取りにはJSONがよく使われます。
○ YAML:AnsibleのPlaybookはYAMLで宣言的に記述するので正しい。
✕ バイナリ:バイナリは人間可読な形式ではなくPlaybook記述に使わないので誤り。
✕ SQL:SQLはデータベース問合せ言語でPlaybook記述形式ではないので誤り。
✕ HTML:HTMLはWebページ記述用でPlaybook記述形式ではないので誤り。
第4問 ・ CCNA / 自動化とプログラマビリティ

ネットワーク自動化を導入する一般的な利点として最も適切なものはどれですか。

  1. 各デバイスへの手動設定を増やし、管理者の介入回数を高める
  2. 設定の一貫性を高め、人為的なミスと展開時間を削減する✓ 正解
  3. 物理ケーブルの本数を物理的に削減する
  4. ルーティングプロトコルそのものを不要にする
💡 自動化はテンプレート化された設定を多数のデバイスへ一貫して適用でき、ヒューマンエラーと作業時間を削減します。配線やプロトコルの要否とは無関係です。
✕ 各デバイスへの手動設定を増やし、管理者の介入回数を高める:自動化は手動設定や介入を減らすのが目的で、増やすという記述は逆で誤り。
○ 設定の一貫性を高め、人為的なミスと展開時間を削減する:正しい。自動化はテンプレート化で設定の一貫性を高め、人為的ミスと展開時間を削減する。
✕ 物理ケーブルの本数を物理的に削減する:自動化はソフトウェア的な設定作業の効率化で、物理ケーブル本数とは無関係のため誤り。
✕ ルーティングプロトコルそのものを不要にする:自動化はルーティングプロトコルを不要にするものではないため誤り。
第5問 ・ CCNA / 自動化とプログラマビリティ

SDN(Software-Defined Networking)の中核的な考え方として正しいものはどれですか。

  1. コントロールプレーンとデータプレーンを分離し、集中管理する✓ 正解
  2. すべての転送判断を各スイッチが独立して行う
  3. データプレーンを廃止しコントロールプレーンだけにする
  4. 管理を各デバイスのCLIに分散させる
💡 SDNはコントロールプレーンをデータプレーンから分離し、コントローラで集中管理することで、ネットワーク全体を一元的に制御します。
○ コントロールプレーンとデータプレーンを分離し、集中管理する:正しい。SDNはコントロールプレーンとデータプレーンを分離しコントローラで集中管理する。
✕ すべての転送判断を各スイッチが独立して行う:SDNは集中管理が中核で、各スイッチが独立判断する従来型とは逆のため誤り。
✕ データプレーンを廃止しコントロールプレーンだけにする:SDNはデータプレーンを廃止せず転送は各デバイスが担うため誤り。
✕ 管理を各デバイスのCLIに分散させる:SDNは管理をCLI分散ではなくコントローラに集中させるため誤り。
第6問 ・ CCNA / 自動化とプログラマビリティ

SDNアーキテクチャにおいて、コントローラと物理ネットワークデバイス(スイッチ等)との間の通信に使われるのはどのインターフェースですか。

  1. ノースバウンドAPI
  2. サウスバウンドAPI✓ 正解
  3. イーストバウンドAPI
  4. 管理プレーンAPI
💡 サウスバウンドAPI(例: OpenFlow, NETCONF)はコントローラから配下のネットワークデバイスへ制御情報を伝える下位方向のインターフェースです。
✕ ノースバウンドAPI:ノースバウンドAPIはコントローラと上位アプリ間の通信で、デバイス側ではないため誤り。
○ サウスバウンドAPI:正しい。サウスバウンドAPI(OpenFlow/NETCONF等)はコントローラと配下デバイス間の通信に使う。
✕ イーストバウンドAPI:イーストバウンドAPIはコントローラ間連携用で、デバイスとの通信ではないため誤り。
✕ 管理プレーンAPI:管理プレーンAPIはSDNの南北方向インターフェース区分ではないため誤り。
第7問 ・ CCNA / 自動化とプログラマビリティ

SDNコントローラが、上位のアプリケーションやオーケストレーションツールに対して機能を公開するために使うインターフェースはどれですか。

  1. サウスバウンドAPI
  2. ノースバウンドAPI✓ 正解
  3. コンソールポート
  4. シリアルリンク
💡 ノースバウンドAPI(一般にREST API)はコントローラがアプリケーション側へ機能を公開し、ネットワークをプログラム的に操作させるための上位方向インターフェースです。
✕ サウスバウンドAPI:サウスバウンドAPIはコントローラと配下デバイス間の下位方向で、上位アプリ向けではないため誤り。
○ ノースバウンドAPI:正しい。ノースバウンドAPI(一般にREST)はコントローラが上位アプリへ機能を公開する。
✕ コンソールポート:コンソールポートは物理的なローカル管理接続でアプリ向けAPIではないため誤り。
✕ シリアルリンク:シリアルリンクは物理接続でコントローラの機能公開インターフェースではないため誤り。
第8問 ・ CCNA / 自動化とプログラマビリティ

従来型(分散型)ネットワークとコントローラベースのネットワークの違いとして正しいものはどれですか。

  1. 従来型では設定とポリシーをコントローラが一括管理する
  2. コントローラベースではポリシーを集中管理し、デバイス個別の手動設定への依存を減らす✓ 正解
  3. コントローラベースでは各デバイスを必ず個別にCLIで設定する必要がある
  4. 両者は転送とポリシー管理の仕組みに違いはない
💡 従来型は各デバイスが個別に設定・判断する分散モデルですが、コントローラベースはポリシーを中央で定義し配信するため、個別手動設定への依存を下げられます。
✕ 従来型では設定とポリシーをコントローラが一括管理する:コントローラが一括管理するのはコントローラベースで、従来型の説明としては逆で誤り。
○ コントローラベースではポリシーを集中管理し、デバイス個別の手動設定への依存を減らす:正しい。コントローラベースはポリシーを集中管理し、デバイス個別の手動設定依存を減らす。
✕ コントローラベースでは各デバイスを必ず個別にCLIで設定する必要がある:コントローラベースは個別CLI設定の必要を減らす方式で、必ず個別設定は誤り。
✕ 両者は転送とポリシー管理の仕組みに違いはない:両者は転送判断やポリシー管理の仕組みが異なるため、違いはないとするのは誤り。
第9問 ・ CCNA / 自動化とプログラマビリティ

REST APIの「ステートレス」という特性の説明として最も適切なものはどれですか。

  1. サーバが前回のリクエスト状態を保持し続ける
  2. 各リクエストは処理に必要な情報を自身に含み、サーバはセッション状態を保持しない✓ 正解
  3. リクエストは必ず順番どおりに到着する必要がある
  4. クライアントは一度に1つのリクエストしか送れない
💡 RESTはステートレスで、各リクエストが必要な情報を完結して含みます。サーバはクライアントのセッション状態を保持しないため、スケーラビリティが向上します。
✕ サーバが前回のリクエスト状態を保持し続ける:状態を保持し続けるのはステートフルであり、ステートレスの説明としては逆で誤り。
○ 各リクエストは処理に必要な情報を自身に含み、サーバはセッション状態を保持しない:正しい。ステートレスは各リクエストが必要情報を完結して含み、サーバはセッション状態を保持しない。
✕ リクエストは必ず順番どおりに到着する必要がある:RESTは順序保証を前提としないため、必ず順番どおりという記述は誤り。
✕ クライアントは一度に1つのリクエストしか送れない:RESTはクライアントの同時リクエスト数を1に制限しないため誤り。
第10問 ・ CCNA / 自動化とプログラマビリティ

REST APIで既存リソースの取得(読み取り)に一般的に使用されるHTTPメソッドはどれですか。

  1. POST
  2. DELETE
  3. GET✓ 正解
  4. PUT
💡 CRUDの対応では、GETがRead(取得)、POSTがCreate、PUTがUpdate、DELETEがDeleteに相当します。リソースの読み取りにはGETを使います。
✕ POST:POSTは新規リソース作成(Create)に使うメソッドで、取得用ではないため誤り。
✕ DELETE:DELETEはリソース削除(Delete)に使うメソッドで、取得用ではないため誤り。
○ GET:正しい。GETはリソースの取得(Read)に一般的に使うHTTPメソッドである。
✕ PUT:PUTはリソース更新(Update)に使うメソッドで、取得用ではないため誤り。
第11問 ・ CCNA / 自動化とプログラマビリティ

次のスニペットが表すデータ形式はどれですか。 { "hostname": "R1", "interfaces": ["Gi0/0", "Gi0/1"], "enabled": true }

  1. XML
  2. YAML
  3. JSON✓ 正解
  4. CSV
💡 波カッコ{}でオブジェクト、角カッコ[]で配列、キーと値を二重引用符とコロンで表記するのはJSONの特徴です。trueは真偽値を表します。
✕ XML:XMLはタグで囲む形式で、波カッコや二重引用符のキー値表記ではないため誤り。
✕ YAML:YAMLはインデントとコロンで表す形式で、波カッコ・角カッコのこの表記はJSONのため誤り。
○ JSON:正しい。波カッコのオブジェクト、角カッコの配列、引用符付きキーはJSONの特徴である。
✕ CSV:CSVはカンマ区切りの表形式で、このような階層構造表記ではないため誤り。
第12問 ・ CCNA / 自動化とプログラマビリティ

次のスニペットが表すデータ形式はどれですか。 <device> <hostname>R1</hostname> <enabled>true</enabled> </device>

  1. JSON
  2. XML✓ 正解
  3. YAML
  4. Python
💡 開始タグと終了タグ(<tag>...</tag>)でデータを階層的に囲む構造はXMLの特徴です。
✕ JSON:JSONは波カッコと引用符で表す形式で、開始/終了タグ構造ではないため誤り。
○ XML:正しい。<tag>...</tag>の開始終了タグで階層的に囲む構造はXMLの特徴である。
✕ YAML:YAMLはインデントベースの形式でタグ構造ではないため誤り。
✕ Python:Pythonはプログラミング言語でありデータ記述フォーマットではないため誤り。
第13問 ・ CCNA / 自動化とプログラマビリティ

JSONで扱えるデータ型の説明として誤っているものはどれですか。

  1. [ ](角カッコ)は配列を表す
  2. true / false は真偽値を表す
  3. 値が存在しないことを null で表せる
  4. ( )(丸カッコ)はオブジェクトを表す✓ 正解
💡 JSONのオブジェクトは波カッコ{}で表します。丸カッコ()はJSONのデータ型ではありません。配列、真偽値、nullはいずれも正しい説明です。
✕ [ ](角カッコ)は配列を表す:[ ]が配列を表すのはJSONの正しい説明で、誤りを問う本問では選ばないため不正解。
✕ true / false は真偽値を表す:true/falseが真偽値を表すのはJSONの正しい説明のため、誤りではない。
✕ 値が存在しないことを null で表せる:nullで値の不在を表せるのはJSONの正しい説明のため、誤りではない。
○ ( )(丸カッコ)はオブジェクトを表す:正しい(誤った説明として正解)。JSONのオブジェクトは波カッコ{}で表し、丸カッコは型ではない。
第14問 ・ CCNA / 自動化とプログラマビリティ

構成管理ツールのアーキテクチャに関する説明として正しいものはどれですか。

  1. Ansibleは管理対象に常駐エージェントを必要とし、プルモデルで動作する
  2. Puppetは一般にエージェントを用い、設定を取りに行くプルモデルで動作する✓ 正解
  3. AnsibleはエージェントベースでSSHを使わない
  4. Puppetはエージェントレスで、設定をプッシュするのが基本である
💡 Puppetは通常エージェントを用い、ノードがマスターから設定を取得するプルモデルです。一方AnsibleはエージェントレスでSSH経由のプッシュ型である点と対照的です。
✕ Ansibleは管理対象に常駐エージェントを必要とし、プルモデルで動作する:AnsibleはエージェントレスでSSHを使うプッシュ型のため、常駐エージェント・プルは誤り。
○ Puppetは一般にエージェントを用い、設定を取りに行くプルモデルで動作する:正しい。Puppetは通常エージェントを用い、ノードがマスターから設定を取得するプルモデル。
✕ AnsibleはエージェントベースでSSHを使わない:AnsibleはエージェントレスでSSHを使うため、エージェントベースでSSH不使用は誤り。
✕ Puppetはエージェントレスで、設定をプッシュするのが基本である:Puppetはエージェントを用いるプル型が基本で、エージェントレスのプッシュは誤り。
第15問 ・ CCNA / 自動化とプログラマビリティ

REST APIで新しいリソースを作成(Create)する際に一般的に使用されるHTTPメソッドはどれですか。

  1. GET
  2. POST✓ 正解
  3. DELETE
  4. OPTIONS
💡 CRUDの対応では、POSTがCreate(作成)、GETがRead、PUT/PATCHがUpdate、DELETEがDeleteに相当します。新規リソースの作成にはPOSTを使います。
✕ GET:GETはリソースの取得(Read)に使うメソッドで、新規作成には使わないため誤り。
○ POST:正しい。POSTは新規リソースの作成(Create)に一般的に使うHTTPメソッドである。
✕ DELETE:DELETEはリソースの削除(Delete)に使うメソッドで、作成用ではないため誤り。
✕ OPTIONS:OPTIONSは利用可能な通信オプションを問い合わせるメソッドで、作成用ではないため誤り。
第16問 ・ CCNA / 自動化とプログラマビリティ

REST APIへのリクエストに対し、サーバから 200 番台(2xx)のステータスコードが返ったとき、一般的に何を意味しますか。

  1. リクエストの成功✓ 正解
  2. クライアント側のエラー
  3. サーバ側のエラー
  4. リダイレクト
💡 HTTPステータスコードは、2xxが成功、3xxがリダイレクト、4xxがクライアント側エラー、5xxがサーバ側エラーを表します。200 OKや201 Createdなどが2xxの代表例です。
○ リクエストの成功:正しい。2xx系はリクエストが成功したことを示すステータスコードである。
✕ クライアント側のエラー:クライアント側エラーを示すのは4xx系で、2xxの意味ではないため誤り。
✕ サーバ側のエラー:サーバ側エラーを示すのは5xx系で、2xxの意味ではないため誤り。
✕ リダイレクト:リダイレクトを示すのは3xx系で、2xxの意味ではないため誤り。
第17問 ・ CCNA / 自動化とプログラマビリティ

REST APIで「指定したリソースが見つからない」ことを示す代表的なHTTPステータスコードはどれですか。

  1. 200
  2. 301
  3. 404✓ 正解
  4. 500
💡 404 Not Foundはクライアント側エラー(4xx)の一つで、要求したリソースが存在しないことを示します。200は成功、301はリダイレクト、500はサーバ内部エラーです。
✕ 200:200はリクエスト成功を示すコードで、リソース不在を表すものではないため誤り。
✕ 301:301は恒久的リダイレクトを示すコードで、リソース不在ではないため誤り。
○ 404:正しい。404 Not Foundは要求したリソースが見つからないことを示すコードである。
✕ 500:500はサーバ内部エラーを示すコードで、リソース不在を表すものではないため誤り。
第18問 ・ CCNA / 自動化とプログラマビリティ

REST APIにアクセスする際、許可されたクライアントだけが操作できるよう本人確認を行う仕組みとして適切なものはどれですか。

  1. トークンやAPIキーなどによる認証✓ 正解
  2. ブロードキャストでの全公開
  3. STPによる経路選択
  4. 認証は不要でURLだけで制御する
💡 REST APIではAPIキー、Basic認証、トークン(例: OAuthのBearerトークン)などで認証し、許可されたクライアントのみがリソースへアクセスできるようにします。
○ トークンやAPIキーなどによる認証:正しい。REST APIはトークンやAPIキー等で認証し、許可されたクライアントのみ操作させる。
✕ ブロードキャストでの全公開:全公開のブロードキャストはアクセス制御ではなく、認証の仕組みではないため誤り。
✕ STPによる経路選択:STPはL2のループ防止プロトコルで、API認証とは無関係のため誤り。
✕ 認証は不要でURLだけで制御する:認証なしでURLのみに頼るのは安全な本人確認の仕組みとは言えないため誤り。
第19問 ・ CCNA / 自動化とプログラマビリティ

次のスニペットが表すデータ形式はどれですか。 hostname: R1 interfaces: - Gi0/0 - Gi0/1 enabled: true

  1. JSON
  2. XML
  3. YAML✓ 正解
  4. CSV
💡 インデント(字下げ)で階層を表し、キー: 値の形式で記述し、ハイフン(-)でリスト要素を表すのはYAMLの特徴です。AnsibleのPlaybookでよく使われます。
✕ JSON:JSONは波カッコ{}と二重引用符を使う形式で、インデントとハイフンのこの表記とは異なるため誤り。
✕ XML:XMLは開始/終了タグで囲む形式で、インデントベースのこの表記ではないため誤り。
○ YAML:正しい。インデントで階層を表しキー: 値、ハイフンでリストを表すのはYAMLの特徴である。
✕ CSV:CSVはカンマ区切りの表形式で、このような階層・リスト構造ではないため誤り。
第20問 ・ CCNA / 自動化とプログラマビリティ

YAMLの構文に関する説明として正しいものはどれですか。

  1. 波カッコ{}でブロックを区切ることが必須である
  2. インデント(字下げ)の深さで階層構造を表す✓ 正解
  3. 各行の末尾にセミコロンが必須である
  4. タグ<>で要素を囲んで階層を表す
💡 YAMLはインデントの深さでデータの階層構造(入れ子)を表します。タブではなくスペースでの字下げが基本で、人間が読みやすい点が特徴です。
✕ 波カッコ{}でブロックを区切ることが必須である:波カッコでブロックを区切るのはJSON等の特徴で、YAMLはインデントで表すため誤り。
○ インデント(字下げ)の深さで階層構造を表す:正しい。YAMLはインデントの深さでデータの階層構造を表す。
✕ 各行の末尾にセミコロンが必須である:YAMLは行末セミコロンを必須としないため誤り。
✕ タグ<>で要素を囲んで階層を表す:タグ<>で要素を囲むのはXMLの特徴で、YAMLの構文ではないため誤り。
第21問 ・ CCNA / 自動化とプログラマビリティ

インフラの構成をコード(宣言的な定義ファイル)として記述し、サーバやネットワーク等のリソースをプロビジョニングする、IaC(Infrastructure as Code)を代表するツールはどれですか。

  1. Terraform✓ 正解
  2. Wireshark
  3. Nagios
  4. Putty
💡 TerraformはIaCの代表的ツールで、宣言的な定義ファイルでインフラのあるべき状態を記述し、リソースの作成・変更・削除を自動化します。
○ Terraform:正しい。TerraformはIaCを代表するツールで、宣言的にインフラ状態を定義しプロビジョニングする。
✕ Wireshark:Wiresharkはパケットキャプチャ・解析ツールで、IaCツールではないため誤り。
✕ Nagios:Nagiosは監視ツールで、インフラの宣言的プロビジョニングを行うIaCツールではないため誤り。
✕ Putty:PuttyはSSH/Telnet等のターミナルクライアントで、IaCツールではないため誤り。
第22問 ・ CCNA / 自動化とプログラマビリティ

構成管理ツールChefのアーキテクチャの説明として正しいものはどれですか。

  1. エージェントレスでSSHのみを使いプッシュ型で動作する
  2. 管理対象にエージェントを導入し、ノードが設定を取りに行くプル型で動作する✓ 正解
  3. 設定の記述には必ずXMLを用いる
  4. コントローラを持たず手動でのみ設定する
💡 ChefはPuppetと同様、管理対象ノードにエージェントを導入し、ノードがサーバから設定(レシピ)を取得して適用するプル型のモデルです。Ansibleのエージェントレスなプッシュ型とは対照的です。
✕ エージェントレスでSSHのみを使いプッシュ型で動作する:エージェントレスでSSHのプッシュ型はAnsibleの特徴で、Chefの説明としては誤り。
○ 管理対象にエージェントを導入し、ノードが設定を取りに行くプル型で動作する:正しい。Chefはエージェントを導入し、ノードが設定を取得して適用するプル型で動作する。
✕ 設定の記述には必ずXMLを用いる:Chefの設定記述はRubyベースのDSL等で、必ずXMLを用いるわけではないため誤り。
✕ コントローラを持たず手動でのみ設定する:Chefはサーバ(コントローラ)を用いる構成管理ツールで、手動のみという記述は誤り。
第23問 ・ CCNA / 自動化とプログラマビリティ

Ansibleで、実行する一連のタスク(処理手順)をまとめて記述するYAMLファイルを何と呼びますか。

  1. レシピ
  2. マニフェスト
  3. Playbook(プレイブック)✓ 正解
  4. クックブック
💡 AnsibleではタスクをまとめたYAMLファイルをPlaybook(プレイブック)と呼びます。レシピ/クックブックはChef、マニフェストはPuppetで使われる用語です。
✕ レシピ:レシピはChefでタスクを記述する単位の用語で、Ansibleのものではないため誤り。
✕ マニフェスト:マニフェストはPuppetで設定を記述するファイルの用語で、Ansibleのものではないため誤り。
○ Playbook(プレイブック):正しい。Ansibleで一連のタスクをまとめたYAMLファイルをPlaybookと呼ぶ。
✕ クックブック:クックブックはChefでレシピをまとめる単位の用語で、Ansibleのものではないため誤り。
第24問 ・ CCNA / 自動化とプログラマビリティ

Cisco DNA Centerの役割の説明として最も適切なものはどれですか。

  1. 個々のスイッチへCLIで1台ずつ手動設定するためのコンソール端末
  2. ネットワークの設計・プロビジョニング・ポリシー・保証を一元管理するコントローラベースの管理プラットフォーム✓ 正解
  3. パケットを物理的に転送するL2スイッチ
  4. IPアドレスを自動配布するDHCPサーバ専用機
💡 Cisco DNA Centerは、ネットワークの設計、プロビジョニング、ポリシー適用、保証(アシュアランス)を中央で一元管理するコントローラベースの管理プラットフォームで、SD-Accessの中核を担います。
✕ 個々のスイッチへCLIで1台ずつ手動設定するためのコンソール端末:DNA Centerは集中管理が目的で、1台ずつ手動設定するコンソール端末ではないため誤り。
○ ネットワークの設計・プロビジョニング・ポリシー・保証を一元管理するコントローラベースの管理プラットフォーム:正しい。DNA Centerは設計・プロビジョニング・ポリシー・保証を一元管理するコントローラ基盤である。
✕ パケットを物理的に転送するL2スイッチ:DNA Centerは管理プラットフォームで、パケットを転送するL2スイッチではないため誤り。
✕ IPアドレスを自動配布するDHCPサーバ専用機:DNA CenterはDHCP専用機ではなく、ネットワーク全体を管理する基盤のため誤り。
第25問 ・ CCNA / 自動化とプログラマビリティ

Cisco SD-Accessにおいて、ユーザーやデバイスを物理的な配置に依存せず、グループ単位でアクセス制御するために用いられる考え方はどれですか。

  1. VLAN番号でのみアクセスを判断する
  2. グループベースのポリシー(セグメンテーション)によるアクセス制御✓ 正解
  3. MACアドレスを手動で全登録する方式
  4. スパニングツリーによる経路制御
💡 SD-Accessはアンダーレイ上にオーバーレイ(ファブリック)を構築し、ユーザー/デバイスをグループ(スケーラブルグループ)に割り当ててポリシーベースで論理的にセグメント化し、物理配置に依存しないアクセス制御を実現します。
✕ VLAN番号でのみアクセスを判断する:SD-AccessはVLAN番号のみに依存せず、グループベースのポリシーで制御するため誤り。
○ グループベースのポリシー(セグメンテーション)によるアクセス制御:正しい。SD-Accessはグループベースのポリシーで論理的にセグメント化しアクセス制御する。
✕ MACアドレスを手動で全登録する方式:MACの全手動登録はSD-Accessの集中管理・自動化の考え方と相容れないため誤り。
✕ スパニングツリーによる経路制御:スパニングツリーはL2ループ防止の仕組みで、SD-Accessのアクセス制御の考え方ではないため誤り。
第26問 ・ CCNA / 自動化とプログラマビリティ

ネットワークデバイスの「管理プレーン(マネジメントプレーン)」が担う役割として最も適切なものはどれですか。

  1. ユーザーデータのパケットを高速に転送する
  2. ルーティングプロトコルの計算で経路情報を作る
  3. SSHやSNMP、API等を通じてデバイスの設定・監視・管理を行う✓ 正解
  4. フレームの衝突を検出して再送する
💡 管理プレーンは、SSH・SNMP・NETCONF/REST API・コンソールなどを通じてデバイスの設定や監視・管理を扱う面です。データプレーンは転送、コントロールプレーンは経路計算を担います。
✕ ユーザーデータのパケットを高速に転送する:ユーザーデータのパケット転送はデータプレーンの役割で、管理プレーンではないため誤り。
✕ ルーティングプロトコルの計算で経路情報を作る:ルーティング計算で経路情報を作るのはコントロールプレーンの役割で、管理プレーンではないため誤り。
○ SSHやSNMP、API等を通じてデバイスの設定・監視・管理を行う:正しい。管理プレーンはSSHやSNMP、API等でデバイスの設定・監視・管理を担う面である。
✕ フレームの衝突を検出して再送する:フレームの衝突検出・再送はL2の動作で、管理プレーンの役割ではないため誤り。
第27問 ・ CCNA / 自動化とプログラマビリティ

ネットワーク自動化でPythonがよく使われる理由として最も適切なものはどれですか。

  1. コンパイルが必須で実行が常に高速だから
  2. 可読性が高く、APIアクセスやデータ処理を行う豊富なライブラリ(requests等)が利用できるから✓ 正解
  3. ルータのデータプレーンを直接置き換えられるから
  4. JSONやYAMLを一切扱えないから
💡 Pythonは構文が読みやすく、HTTP/REST API呼び出し(requests)やJSON/YAMLの解析など、自動化に有用なライブラリが豊富なため、ネットワーク自動化で広く使われます。
✕ コンパイルが必須で実行が常に高速だから:Pythonはインタプリタ型でコンパイル必須ではなく、理由として正確でないため誤り。
○ 可読性が高く、APIアクセスやデータ処理を行う豊富なライブラリ(requests等)が利用できるから:正しい。可読性が高くAPIアクセスやデータ処理用のライブラリが豊富な点が広く使われる理由である。
✕ ルータのデータプレーンを直接置き換えられるから:Pythonはデータプレーンを直接置き換えるものではなく、自動化・操作に使うため誤り。
✕ JSONやYAMLを一切扱えないから:PythonはJSONやYAMLを標準/外部ライブラリで容易に扱えるため、扱えないという記述は誤り。
第28問 ・ CCNA / 自動化とプログラマビリティ

バージョン管理システムであるGitの主な目的として最も適切なものはどれですか。

  1. ファイルの変更履歴を記録し、複数人での共同編集や過去状態への復帰を可能にする✓ 正解
  2. ルータ間でルーティング情報を交換する
  3. IPアドレスを自動的に割り当てる
  4. パケットを暗号化して転送する
💡 Gitは分散型バージョン管理システムで、設定ファイルやコードの変更履歴を記録し、ブランチでの並行作業、共同編集、過去のコミットへの復帰などを可能にします。
○ ファイルの変更履歴を記録し、複数人での共同編集や過去状態への復帰を可能にする:正しい。Gitは変更履歴を記録し、共同編集や過去状態への復帰を可能にするバージョン管理である。
✕ ルータ間でルーティング情報を交換する:ルーティング情報の交換はルーティングプロトコルの役割で、Gitの目的ではないため誤り。
✕ IPアドレスを自動的に割り当てる:IPアドレスの自動割当てはDHCPの役割で、Gitの目的ではないため誤り。
✕ パケットを暗号化して転送する:パケットの暗号化転送はVPN/TLS等の役割で、Gitの目的ではないため誤り。
第29問 ・ CCNA / 自動化とプログラマビリティ

Gitで、変更を記録する操作と、変更履歴の枝分かれを作って並行開発を可能にする仕組みの組み合わせとして正しいものはどれですか。

  1. commit(コミット)/branch(ブランチ)✓ 正解
  2. ping/traceroute
  3. shutdown/no shutdown
  4. encrypt/decrypt
💡 Gitではcommitで変更をリポジトリに記録し、branchで履歴を枝分かれさせて他に影響を与えずに並行開発できます。作業後はmergeで統合します。
○ commit(コミット)/branch(ブランチ):正しい。commitで変更を記録し、branchで履歴を枝分かれさせて並行開発を可能にする。
✕ ping/traceroute:ping/tracerouteは到達性確認・経路確認のコマンドで、Gitの操作ではないため誤り。
✕ shutdown/no shutdown:shutdown/no shutdownはインターフェースの無効化・有効化で、Gitの操作ではないため誤り。
✕ encrypt/decrypt:encrypt/decryptは暗号化・復号の概念で、Gitの変更記録や枝分かれの仕組みではないため誤り。
▶ この分野をクイズ形式で解く