助け合いフォーラム

Cisco

CCNA(200-301)
問題ID : 33532
問題を開く

図のSW1では、以下のような設定がされている。

このときの動作として、正しい記述はどれか。(2つ選択)

正解

PCとSW1は通信できる

PCはサーバAと通信できるがサーバBとは通信できない

解説

SW1の設定を確認します。
PCが接続されているGi0/1はトランクポートに設定されており、VLAN10、20の通信を許可し、ネイティブVLANをVLAN10としています。


主にトランクポートの対向はトランクポートで構成されますが、アクセスポートやPCを接続することも可能です。
このときの通信では、ネイティブVLANの働きが重要になります。

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

設問の場合、PCからSW1に転送されるフレームはタグなしフレームとなります。
次に、PCの接続先となるGi0/1のネイティブVLANはVLAN10なので、PCから転送されたタグなしフレームは、VLAN10として処理されます。


よって、PCからのパケットはVLAN10の通信として扱われるので、サーバAとは通信が可能です。異なるVLAN(VLAN20)に属するサーバBとは通信を行うことはできません。

よって、正解は
・PCとSW1は通信できる
・PCはサーバAと通信できるがサーバBとは通信できない
です。

その他の選択肢については、以下の通りです。
・PCはサーバAとサーバBのどちらとも通信できる
異なるVLAN(VLAN20)に属するサーバBとは通信を行うことができないため、誤りです。

・PCはサーバAとサーバBのどちらとも通信できない
サーバAと通信が可能なため、誤りです。

・PCとSW1は通信できない
トランクポートとPCの接続であっても通信を行うことは可能なため、誤りです。

参考

【アクセスポートとトランクポート】
スイッチのポートは、どの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フレーム】


【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

【コマンド構文:トランクポートを通過できる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になっています。
上に戻る

VLANタグの付け方

投稿日 2023/06/02

こちらの問題で
①Native VLANにタグはつかない
②サーバBからのフレームにはタグがついていないためスイッチがVLAN20でなくVLAN10と判断してしまい通信が成り立たない

と言う点はわかるのですが、サーバBのフレームにVLANタグをつけることはそもそも可能でしょうか。
もし可能であればどの様な操作が必要になるか教えて頂きたいです。

2023/06/02 13:53

サーバBのフレームにVLANタグをつけることはそもそも可能でしょうか。

サーバのOSや使用するNIC(と、ドライバ)次第じゃないですか?Windows10ですらこんなことできるんですし。
https://qiita.com/a-hiroyuki/items/edaac161103f2e2cfbc4


コメント

a arashi1977

2023/06/02 13:56

補足ですが「普通そんなことはしません」。 やるとしたら、Hyper-VとかESXiとかみたいに「内部にVLANを理解する仮想(ソフトウェア)スイッチが存在していて、さらにその先にVLANを理解しないサーバVMが存在する」って感じなので、最終的には「VLANタグを理解しない(付与しない)」ホストが存在するものとして考えるのが良いです。

J JB2022

2023/06/03 11:22

回答ありがとうございます。詳しく説明して頂きどうもありがとうございました。

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

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