助け合いフォーラム

Cisco

CCNA(200-301)
問題ID : 21462
問題を開く
VLANの設定を行ったが、ネイティブVLANが不一致であるとメッセージが表示された。
ネイティブVLANの不一致を解消するためにSwitchAに設定すべきコマンドはどれか。


正解

SwitchA(config-if)#switchport trunk native vlan 20

解説

ネイティブVLANはIEEE 802.1Qでサポートしている機能です。
IEEE 802.1Qでは通常、フレームにタグを付けて送信しますがネイティブVLANにはタグを付けません。

設問の図より、SwitchAのネイティブVLANは「1」、SwitchBのネイティブVLANは「20」であることがわかります。


SwitchAに設定すべきネイティブVLANはSwitchBのネイティブVLANと同じ「20」です。
ネイティブVLANは「switchport trunk native vlan {VLAN番号}」コマンドで変更できます。

よって正解は
・SwitchA(config-if)#switchport trunk native vlan 20
です。

その他の選択肢については、以下の通りです。
・SwitchA(config-if)#switchport trunk native vlan 1
SwitchAのVLANは「1」になっており、「20」に変更する必要があるため誤りです。

・SwitchA(config-if)#switchport trunk allowed vlan 1
・SwitchA(config-if)#switchport trunk allowed vlan 20
トランクポートを通過できるVLANを変更するコマンドなので誤りです。

・SwitchA(config-if)#switchport access vlan 1
・SwitchA(config-if)#switchport access vlan 20
アクセスポートのVLANを設定するコマンドなので誤りです。

学習テキスト

【アクセスポートとトランクポート】
スイッチのポートは、どのVLANに対応しているかという観点で「アクセスポート」と「トランクポート」に分類されます。

・アクセスポート
1つのVLANに対応。エンドユーザーのPCを接続するポートなどに利用される。(デフォルトはVLAN1)

・トランクポート
複数のVLANに対応。スイッチ同士やスイッチとルータを接続(VLAN間通信の際に利用)するポートなどに利用される。
トランクリンクではIEEE 802.1Qを使用して、VLAN情報を識別します。

【図:アクセスポートとトランクポート】


【IEEE 802.1Q】
IEEE 802.1Qは、フレームにVLANタグを付けるための規格です。
フレームにVLANタグを付けることにより、スイッチ同士やスイッチとルータ間で送受信するフレームがどのVLANに属しているかを識別できるようになります。

IEEE 802.1Qの主な特徴は以下の通りです。
・IEEE標準規格
・送信元MACアドレスとタイプの間にタグフィールド(4byte)を追加
・FCSを再計算
・ネイティブVLAN(VLANタグを付けないフレーム)をサポート

【図:通常のEthernetフレームとIEEE 802.1Qフレーム】


【ISL】
ISL(Inter-Switch Link)は、Cisco独自のトランキングプロトコルです。
ISLヘッダにVLAN番号を含めることで、スイッチ間で送受信するフレームがどのVLANに属しているかを識別できるようになります。

ISLの主な特徴は以下の通りです。
・Cisco独自のトランキングプロトコル
・イーサネットフレームへISLヘッダとFCSを付加してカプセル化
・ネイティブVLANをサポートしてない(すべてのフレームをカプセル化する)

【DTP】
DTP(Dynamic Trunking Protocol)は、スイッチとスイッチを接続したポートでネゴシエーションして、スイッチのポートを自動的にトランクポート、またはアクセスポートとして動作させるCisco独自のプロトコルです。

【コマンド構文:スイッチポートモード変更(DTPの設定)】
(config-if)#switchport mode {access | trunk | dynamic {auto | desirable}}


【スイッチポートモードの組み合わせ】


【コマンド構文:DTPの無効化】
(config-if)#switchport nonegotiate
対向のデバイスによってはDTPが正しく動作しないことがあります。(DTPをサポートしていないデバイスもあるため)
そのためトランクポートにする場合は、「switchport nonegotiate」でDTPを止めて「switchport mode trunk」で手動でトランクポートにすることが推奨されています。

【コマンド構文:VLANカプセル化方式の指定】
Switch(config-if)#switchport trunk encapsulation {dot1q | isl}

【コマンド構文:トランクポートを通過できるVLANの変更】


【アクセスポートの設定例】
・Fa0/2をアクセスポートにして、VLAN20を割り当てる
Switch(config)#interface FastEthernet 0/2
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 20

・Fa0/5をアクセスポートにして、VLAN30を割り当てる
Switch(config)#interface FastEthernet 0/5
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 30

【トランクポートの設定例】
・Fa0/1のカプセル化方式を802.1Qにしてdynamic desirableモードにする
(対向とのネゴシエーションの結果トランクポートになる)
Switch(config)#interface FastEthernet 0/1
Switch(config-if)#switchport trunk encapsulation dot1q
Switch(config-if)#switchport mode dynamic desirable

・Fa0/6のカプセル化方式を802.1Qにしてトランクポートにする
Switch(config)#interface FastEthernet 0/6
Switch(config-if)#switchport trunk encapsulation dot1q
Switch(config-if)#switchport mode trunk

【アクセスポートとトランクポートの確認】
アクセスポートになっているのか、トランクポートになっているのかは「show vlan」「show interfaces trunk」「show interfaces status」「show interfaces switchport」などのコマンドで確認できます。
各コマンドの表示は以下のようになります。なお、いずれもFa0/1とFa0/6がトランクポートになっている場合の表示例です。

・show vlan
「Ports」の項目に表示されるポートがアクセスポート
「Ports」の項目に表示されないポートがトランクポート


・show interfaces trunk
「Port」の項目に表示されないポートがアクセスポート
「Port」の項目に表示されるポートがトランクポート


・show interfaces status
「VLAN」の項目がVLAN番号になっているポートがアクセスポート
「VLAN」の項目がtrunkとなっているポートがトランクポート


・show interfaces switchport
「Operational Mode」の項目がaccessとなっているポートがアクセスポート
「Operational Mode」の項目がtrunkとなっているポートがトランクポート


【ネイティブVLAN】
ネイティブVLANはIEEE 802.1Qでサポートしている機能です。
IEEE 802.1Qでは通常、フレームにタグを付けて送信しますがネイティブVLANにはタグを付けません。そのため、受信したフレームにタグが付いていない場合はネイティブVLANと判断できます。
これにより、IEEE 802.1Qに対応していない(タグを理解しない、タグ付け出来ない)デバイスとの互換性を持たせています。
ネイティブVLANは、スイッチを管理するトラフィック(CDPやSTPやDTPなど)の送受信で利用されます。

ネイティブVLANは「switchport trunk native vlan {VLAN番号}」コマンドで変更できます。変更していないデフォルトの状態ではVLAN1がネイティブVLANになっています。
上に戻る

VLAN20を作成するまで、通信自体はできない状態ですか?

投稿日 2026/08/26

設問は「ネイティブVLANの不一致を解消」ですので、回答は理解できました。

念のためお聞きしたいのですが、この操作の直後は
「ネイティブVLANの不一致は解消しているが、SwitchAにはVLAN20がないので、
VLAN20間の通信(例:SwitchAに接続のホストA(VLAN20)と、SwitchBに接続のホストB(VLAN20))は
まだできない状態」
ということでしょうか。


g green-smith

2026/08/26 23:09

すみません。 SwitchBにもまだVLAN20は無いようですね。 VLAN20の通信をするには「両方でVLAN20作成」も必要という事でしょうか。

2026/08/27 17:43

ご認識の通りです。
実際にVLAN20を利用する場合は、VLAN20の作成を別途行う必要があります。

お考えのように、SwitchAにVLAN20のホストAを接続するのであれば、そのポートをアクセスポートとしてVLAN20に割り当てます。
VLAN20が存在しない場合は、その設定に伴ってVLAN20が自動的に作成されます。
したがって、実際にVLAN20のホストを用意する際には、VLAN20も利用可能な状態になります。

SW2(config-if)#switchport access vlan 20
% Access VLAN does not exist. Creating vlan 20


コメント

k kamidanomi

2026/08/27 17:54

すみません便乗で恐縮です。 存在しないVLANをTrunk PortのNative VLANに割り当てられるのでしょうか? 実機もなくパケトレなくしちゃったんで検証できないのですが、AIの回答だと「VLAN does not exist」というエラーが出てはじかれる(ソースは海外のciscoコミュニティらしい)とのことなんですが。 だからSwitchAにVLAN20はあるという前提の問題で、ない場合はコマンド自体がエラーになるのかと思ってました。

t tmomo1109

2026/08/28 10:13

VLAN20が存在しない状態でも、ネイティブVLANとしてVLAN20を設定できました。 以下、検証結果です。 ・設定前の「show vlan brief」では、VLAN20は存在していません。 Switch#show vlan brief VLAN Name Status Ports ---- -------------------------------- --------- ------------------------------- 1 default active Gi0/0, Gi0/1, Gi0/2, Gi0/3 Gi1/0, Gi1/1, Gi1/2, Gi1/3 1002 fddi-default act/unsup 1003 token-ring-default act/unsup 1004 fddinet-default act/unsup 1005 trnet-default act/unsup Switch# ・この状態で、Gi0/1に以下を設定しました。 Switch(config)#int gi 0/1 Switch(config-if)#switchport trunk encapsulation dot1q Switch(config-if)#switchport mode trunk Switch(config-if)#switchport trunk allowed vlan 1-30 Switch(config-if)#switchport trunk native vlan 20 ・コマンドはエラーにならず、設定後の「show interfaces trunk」では次のように表示されました。 Switch#sho interfaces trunk Port Mode Encapsulation Status Native vlan Gi0/1 on 802.1q trunking 20 Port Vlans allowed on trunk Gi0/1 1-30 Port Vlans allowed and active in management domain Gi0/1 1 Port Vlans in spanning tree forwarding state and not pruned Gi0/1 1 したがって、VLAN20自体が存在していなくても、ネイティブVLANとして20を指定することは可能でした。 一方で「Vlans allowed and active in management domain」にはVLAN1しか表示されていないため、VLAN20が作成されたわけではありません。 AIが示した「VLAN does not exist と表示されて設定できない」という挙動については、機種やIOSの違いによるものと考えられます。 少なくとも今回の検証環境では、存在しないVLANをネイティブVLANに指定してもエラーにはなりませんでした。

k kamidanomi

2026/08/28 17:22

丁寧な検証、有難うございます! 助かりました!

この返信に対して
コメントを記入できます

この投稿に対して返信しませんか?