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

IEEE802.1Qトランクポートでは、対向ポートとネイティブVLANの設定が一致していなければいけません。もし、ネイティブVLANの設定が不一致だと、一致していない設定のVLANの通信ができなくなってしまいます。ただ、ネイティブVLANの設定に関係ないVLANの通信は問題ありません。ネイティブVLANが不一致になってしまっている具体的な例を考えます。

ネットワーク構成

SW1とSW2をまたがってVLAN10、VLAN20、VLAN30を構成しています。

図 ネイティブVLAN不一致の具体例 ネットワーク構成
図 ネイティブVLAN不一致の具体例 ネットワーク構成

各PCのIPアドレスと接続しているポートのVLANの割り当ては以下の通りです。

PC接続ポートVLANIPアドレス
PC11SW1 Fa0/110192.168.10.11/24
PC12SW2 Fa0/110192.168.10.12/24
PC21SW1 Fa0/220192.168.20.21/24
PC22SW2 Fa0/220192.168.20.22/24
PC31SW3 Fa0/330192.168.30.31/24
PC32SW3 Fa0/330192.168.30.32/24

また、SW1/SW2のFa0/24は802.1QトランクポートとしてネイティブVLANをVLAN10にします。

正常な設定のとき

SW1とSW2の正常な設定は以下の通りです。VLANに関してSW1もSW2も設定コマンドは全く同じです。

SW1/SW2

vlan 10,20,30
!
interface FastEthernet0/1
 switchport mode access
 switchport access vlan 10
!
interface FastEthernet0/2
 switchport mode access
 switchport access vlan 20
!
interface FastEthernet0/3
 switchport mode access
 switchport access vlan 30
!
interface FastEthernet0/24
 switchport mode trunk
 switchport trunk native vlan 10

Packet TracerではVLANの一括設定はできません。Packet Tracerを利用しているときは、VLANを1つずつ作成してください。

以下のコマンドでVLANの設定を詳しく確認できます。

コマンド内容
#show vlan briefVLANとポートの割り当てを確認します。
#show interface trunkトランクポートを確認します。
表 VLANの確認コマンド

SW1では、次のような表示になります。

SW1

Sw1#show vlan brief 

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Fa0/4, Fa0/5, Fa0/6, Fa0/7
                                                Fa0/8, Fa0/9, Fa0/10, Fa0/11
                                                Fa0/12, Fa0/13, Fa0/14, Fa0/15
                                                Fa0/16, Fa0/17, Fa0/18, Fa0/19
                                                Fa0/20, Fa0/21, Fa0/22, Fa0/23
                                                Gig0/1, Gig0/2
10   VLAN0010                         active    Fa0/1
20   VLAN0020                         active    Fa0/2
30   VLAN0030                         active    Fa0/3
1002 fddi-default                     active    
1003 token-ring-default               active    
1004 fddinet-default                  active    
1005 trnet-default                    active    
Sw1#show interfaces trunk 
Port        Mode         Encapsulation  Status        Native vlan
Fa0/24      on           802.1q         trunking      10

Port        Vlans allowed on trunk
Fa0/24      1-1005

Port        Vlans allowed and active in management domain
Fa0/24      1,10,20,30

Port        Vlans in spanning tree forwarding state and not pruned
Fa0/24      1,10,20,30

SW1とSW2でネイティブVLANが一致していると、SW1とSW2をまたがってVLAN10内、VLAN20内、VLAN30内の通信ができます。各VLANのPC間でPingを実行すると、きちんと応答が返ってきます。

PC11

C:\>ping 192.168.10.12

Pinging 192.168.10.12 with 32 bytes of data:

Reply from 192.168.10.12: bytes=32 time=5ms TTL=128
Reply from 192.168.10.12: bytes=32 time=1ms TTL=128
Reply from 192.168.10.12: bytes=32 time<1ms TTL=128
Reply from 192.168.10.12: bytes=32 time<1ms TTL=128

Ping statistics for 192.168.10.12:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 5ms, Average = 1ms

PC21

C:\>ping 192.168.20.22

Pinging 192.168.20.22 with 32 bytes of data:

Reply from 192.168.20.22: bytes=32 time<1ms TTL=128
Reply from 192.168.20.22: bytes=32 time=1ms TTL=128
Reply from 192.168.20.22: bytes=32 time<1ms TTL=128
Reply from 192.168.20.22: bytes=32 time<1ms TTL=128

Ping statistics for 192.168.20.22:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 1ms, Average = 0ms

PC31

C:\>ping 192.168.30.32

Pinging 192.168.30.32 with 32 bytes of data:

Reply from 192.168.30.32: bytes=32 time<1ms TTL=128
Reply from 192.168.30.32: bytes=32 time<1ms TTL=128
Reply from 192.168.30.32: bytes=32 time<1ms TTL=128
Reply from 192.168.30.32: bytes=32 time<1ms TTL=128

Ping statistics for 192.168.30.32:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms

ネイティブVLAN不一致のとき

SW1 Fa0/24とSW2 Fa0/24でネイティブVLANが不一致になるようにします。SW2 Fa0/24でネイティブVLANをVLAN20に変更します。

SW2

interface FastEthernet0/24
 switchport trunk native vlan 20

SW1とSW2のshow interface trunkコマンドを見ると、ネイティブVLANの設定が一致しなくなっています。

SW1

Sw1#show interfaces trunk 
Port        Mode         Encapsulation  Status        Native vlan
Fa0/24      on           802.1q         trunking      10

Port        Vlans allowed on trunk
Fa0/24      1-1005

Port        Vlans allowed and active in management domain
Fa0/24      1,10,20,30

Port        Vlans in spanning tree forwarding state and not pruned
Fa0/24      1,10,20,30

SW2

SW2#show interfaces trunk 
Port        Mode         Encapsulation  Status        Native vlan
Fa0/24      on           802.1q         trunking      20

Port        Vlans allowed on trunk
Fa0/24      1-1005

Port        Vlans allowed and active in management domain
Fa0/24      1,10,20,30

Port        Vlans in spanning tree forwarding state and not pruned
Fa0/24      1,30

ネイティブVLANの不一致はCDPで検出できるので、コンソールにはCDPのエラーメッセージも表示されます。

SW1

%CDP-4-NATIVE_VLAN_MISMATCH: Native VLAN mismatch discovered on FastEthernet0/24 (10), with SW2 FastEthernet0/24 (20).

SW2

%CDP-4-NATIVE_VLAN_MISMATCH: Native VLAN mismatch discovered on FastEthernet0/24 (20), with Sw1 FastEthernet0/24 (10).

このようなネイティブVLANの設定が不一致になってしまうと、スイッチをまたがった不一致となっているVLANの通信ができません。今回のネットワーク構成では、SW1とSW2をまたがったVLAN10内の通信ができません。また、VLAN20内の通信もできません。

VLAN10のPC11からPC12にPingを実行すると応答が返ってきません。

PC11

C:\>ping 192.168.10.12

Pinging 192.168.10.12 with 32 bytes of data:

Request timed out.
Request timed out.
Request timed out.
Request timed out.

Ping statistics for 192.168.10.12:
    Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

VLAN10のPC11からPC12宛てのPingのリクエスト(ICMPエコーリクエスト)は、SW1 Fa0/24から転送されるときにVLANタグが付加されません。SW1 Fa0/24ではネイティブVLANがVLAN10だからです。

そして、VLANタグが付加されていないPingのリクエストはSW2 Fa0/24で受信されます。VLANタグが付加されていないイーサネットフレームはネイティブVLANであるVLAN20とみなします。PC11からPC12宛てのPingリクエストはPC12が接続されているFa0/1へ転送されません。Fa0/1はVLAN20のポートではないからです。その結果、Pingは失敗します。

図 ネイティブVLAN不一致のときのPC11からPC12宛てのPing
図 ネイティブVLAN不一致のときのPC11からPC12宛てのPing
PC11にPC12についてのARPキャッシュがない場合、そもそもARPのアドレス解決もできません。

VLAN20の通信も同様です。PC21からPC22のPingも失敗します。

PC21

C:\>ping 192.168.20.22

Pinging 192.168.20.22 with 32 bytes of data:

Request timed out.
Request timed out.
Request timed out.
Request timed out.

Ping statistics for 192.168.20.22:
    Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

ネイティブVLANの設定に関係ないVLAN30内の通信は問題ありません。PC31からPC32にPingを実行すると正常に応答が返ってきます。

PC31

C:\>ping 192.168.30.32

Pinging 192.168.30.32 with 32 bytes of data:

Reply from 192.168.30.32: bytes=32 time<1ms TTL=128
Reply from 192.168.30.32: bytes=32 time<1ms TTL=128
Reply from 192.168.30.32: bytes=32 time<1ms TTL=128
Reply from 192.168.30.32: bytes=32 time<1ms TTL=128

Ping statistics for 192.168.30.32:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms

まとめ

ポイント

  • トランクポートでは、対向ポートとネイティブVLANの設定を一致させなければいけません。
  • ネイティブVLANの設定が不一致だと、一致していない設定のVLANの通信ができなくなってしまいます。
  • CiscoでのネイティブVLANの設定コマンド
    (config-if)#switchport trunk native vlan <vlan-id>

VLAN(Virtual LAN)の仕組み