ネイティブVLANとは

IEEE802.1Qトランクでは、ネイティブVLANが用意されています。ネイティブVLANとは、トランクリンク上で例外的にVLANタグを付加しないVLANです。ネイティブVLANは、トランクポートごとに1つのVLANを指定することができます。

「ネイティブ(Native)」は「そのままの」といった意味合いです。ネイティブVLANのイーサネットフレームは、トランク上に転送する際に変更されずにそのまま転送されることになります。

ネイティブVLANのVLANの認識

「同じVLANのポート間でのみイーサネットフレームを転送する」というVLANの基本的な仕組みを実現するためには、イーサネットフレームを転送するべきVLANをきちんと認識できなければいけません。ネイティブVLANはVLANタグでVLANを認識できません。ネイティブVLANでは、「対向のスイッチ同士でネイティブVLANの設定を合わせる」ことでイーサネットフレームを転送するべきVLANを認識しています。

例えば次の図では、SW1とSW2間を接続するトランクポートでネイティブVLANが同じVLAN1に設定されています。そのためSW2が、ネイティブVLANであるVLAN1上のホストDからのブロードキャストフレームをトランクポートに転送する際には、フレームにタグを付加しません。

そして、タグが付加されていないブロードキャストフレームを受信したSW1は、ネイティブVLAN(VLAN1)上のフレームと判断し、そのフレームをVLAN1に所属するポートにフラッディングします。

ネイティブVLANでのVLANの認識
図 ネイティブVLANでのVLANの認識

ネイティブVLANが不一致だと・・・

ネイティブVLANは、トランクポートごとに1つのVLANを指定することができます。ネイティブVLANに指定するVLAN番号は、トランクポート上の対向側のポートとあわせておく必要があります。もし、ネイティブVLANが対向のポートと一致しなければ、スイッチ間で一致していないネイティブVLANのイーサネットフレームを正しく転送できなくなります。

さきほどのネットワーク構成で、SW1のトランクポートのネイティブVLANをVLAN2、SW2のトランクポートのネイティブVLANをVLAN1というように不一致の設定になってしまっている場合を考えます。

VLAN1のホストDからブロードキャストフレームを送信すると、SW1はネイティブVLANがVLAN1なのでVLANタグを付加せずにトランクポートから転送します。SW2では、VLANタグがないのでネイティブVLANであるVLAN2のフレームとして認識して、ホストCのポートへ転送してしまいます。

VLAN1のホストDからのブロードキャストフレームがVLAN2のホストCへ届いても、IPの処理などは行われずに破棄されることになります。ネイティブVLANが不一致だと、不一致の設定になってしまっているVLAN1とVLAN2のスイッチをまたがった通信ができなくなります。

 ネイティブVLANの不一致のときのイーサネットフレームの転送例
図 ネイティブVLANの不一致のときのイーサネットフレームの転送例

Cisco ネイティブVLANの設定

ネイティブVLANはデフォルトではVLAN1です。ネイティブVLANを変更する場合は、インタフェースコンフィグレーションモードで次のように設定します。

Switch(config-if)#switchport trunk native vlan <vlan-number>

ネイティブVLANの確認は、show interface trunkコマンドがわかりやすいです。

Switch#show interfaces trunk

Port        Mode         Encapsulation  Status        Native vlan
Fa0/3       on           802.1q         trunking      1

Port      Vlans allowed on trunk
Fa0/3       1-4094

Port        Vlans allowed and active in management domain
Fa0/3       1-2

Port        Vlans in spanning tree forwarding state and not pruned
Fa0/3       1-2