VLAN は、物理的なスイッチの台数に関係なく、必要な数だけ論理的にスイッチを作ることができる技術です。1台のスイッチしかなくても、VLAN を構成することにより、2台のスイッチに、3台のスイッチに分けることができます。
これは、1台当たりのポートは少なくなりますが、物理的に複数のスイッチを用意したものと同じです。
物理的には1台のスイッチでも、VLAN で分けると別々のスイッチと同じなので、異なる VLAN ポートに接続した PC 同士は通信することはできません。
それぞれの VLAN のポートを接続すれば通信できますが、これではわざわざ VLAN を分ける意味がありません。
そのため、このような場合はルータを使って通信させるようにするのですが、それは別のシナリオで行いますのでその時に説明します。
では、VLAN は何のために作るのでしょう?
スイッチは、ポート単位にコリジョンドメインを形成します。
そのため、スイッチではコリジョンが発生しません。しかし、当然、1つのスイッチポートに HUB をつないで、そこに複数の PC をつないだら、そのスイッチポートのコリジョンドメイン内ではコリジョンは発生します。
スイッチは、1つのブロードキャストドメインを形成します。
ブロードキャストドメインが1つだからこそ、スイッチポートに PC をつなぐだけで通信が可能になるわけです。なぜなら、ブロードキャストドメイン間の通信にはルータが必要になるからです。
では、スイッチが2台だったらどうでしょうか?
スイッチ毎に1つのブロードキャストドメインを形成しますので、2つのブロードキャストドメインになります。
VLAN を使うと、まさにこれと同じことが1台のスイッチでできます。
VLAN はブロードキャストドメインを分割することができる機能です。
ただし、VLAN はブロードキャストドメインを分割するだけでなく、スイッチの物理的な構成にかかわらず、自由にブロードキャストドメインを形成することができます。そのため、3台のスイッチを使って、2つのブロードキャストドメインを作ることも、4つのブロードキャストドメインを作ることもできます。
これにより、スイッチの物理的構成によらず、論理的に複数のスイッチを形成することできます。
本シナリオでは、まず1台のスイッチを使って、VLAN を構成することを学習します。
- SW-A で、sh vlan brief コマンドを実行しなさい。
< SW-A >
Switch# sh vlan brief
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/1, Fa0/2, Fa0/3, Fa0/4
Fa0/5, Fa0/6, Fa0/7, Fa0/8
Gi0/1
1002 fddi-default act/unsup
1003 token-ring-default act/unsup
1004 fddinet-default act/unsup
1005 trnet-default act/unsup
Switch#
- PC-A を、以下の情報を基に設定しなさい。
< PC-A >
C:\> netsh interface ipv4 set address "イーサネット" static 192.168.1.1 255.255.255.0
C:\> ipconfig
Windows IP 構成
イーサネット アダプター イーサネット:
接続固有の DNS サフィックス . . . . .:
IPv4 アドレス . . . . . . . . . . . .: 192.168.1.1
サブネット マスク . . . . . . . . . .: 255.255.255.0
デフォルト ゲートウェイ . . . . . . .:
C:\>
- PC-B を、以下の情報を基に設定しなさい。
< PC-B >
C:\> netsh interface ipv4 set address "イーサネット" static 192.168.1.2 255.255.255.0
C:\> ipconfig
Windows IP 構成
イーサネット アダプター イーサネット:
接続固有の DNS サフィックス . . . . .:
IPv4 アドレス . . . . . . . . . . . .: 192.168.1.2
サブネット マスク . . . . . . . . . .: 255.255.255.0
デフォルト ゲートウェイ . . . . . . .:
C:\>
- PC-A から PC-B へ ping を実行しなさい。
< PC-A >
C:\> ping 192.168.1.2
192.168.1.2 に ping を送信しています 32 バイトのデータ:
192.168.1.2 からの応答: バイト数 =32 時間 =881ms TTL=128
192.168.1.2 からの応答: バイト数 =32 時間 =2ms TTL=128
192.168.1.2 からの応答: バイト数 =32 時間 =1ms TTL=128
192.168.1.2 からの応答: バイト数 =32 時間 =2ms TTL=128
192.168.1.2 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 1ms、最大 = 881ms、平均 = 221ms
C:\>
PC-A と PC-B は同一 VLAN (VLAN1) 上にあるため、ping は成功します。
- SW-A の MACアドレステーブルを確認しなさい。
< SW-A >
Switch# sh mac address-table
Mac Address Table
-------------------------------------------
Vlan Mac Address Type Ports
---- ----------- -------- -----
All 0100.0ccc.cccc STATIC CPU
All 0100.0ccc.cccd STATIC CPU
All 0180.c200.0000 STATIC CPU
All 0180.c200.0001 STATIC CPU
All 0180.c200.0002 STATIC CPU
All 0180.c200.0003 STATIC CPU
All 0180.c200.0004 STATIC CPU
All 0180.c200.0005 STATIC CPU
All 0180.c200.0006 STATIC CPU
All 0180.c200.0007 STATIC CPU
All 0180.c200.0008 STATIC CPU
All 0180.c200.0009 STATIC CPU
All 0180.c200.000a STATIC CPU
All 0180.c200.000b STATIC CPU
All 0180.c200.000c STATIC CPU
All 0180.c200.000d STATIC CPU
All 0180.c200.000e STATIC CPU
All 0180.c200.000f STATIC CPU
All 0180.c200.0010 STATIC CPU
All ffff.ffff.ffff STATIC CPU
1 009f.310a.0000 DYNAMIC Fa0/2
1 009f.310b.0000 DYNAMIC Fa0/3
Total Mac Addresses for this criterion: 22
Switch#
Fa0/2 には PC-A (009f.310a.0000) が、Fa0/3 には PC-B (009f.310b.0000) が接続されており、これらが VLAN1 に所属していることがMACアドレステーブル上からもわかります。
- SW-A に SW-A という名前を付け、コンフィグレーションモードで SW-A に VLAN2 を作成しなさい。
< SW-A >
Switch# conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# host SW-A
SW-A(config)# vlan 2
SW-A(config-vlan)# name vlan2 ← 名前は付けなくてもいい
SW-A(config-vlan)# ^Z
SW-A#
- SW-A で、sh vlan brief コマンドを実行しなさい。
< SW-A >
SW-A# sh vlan brief
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/1, Fa0/2, Fa0/3, Fa0/4
Fa0/5, Fa0/6, Fa0/7, Fa0/8
Gi0/1
2 vlan2 active
1002 fddi-default act/unsup
1003 token-ring-default act/unsup
1004 fddinet-default act/unsup
1005 trnet-default act/unsup
SW-A#
VLAN2 が作成されています。
ただし、VLAN2 を作っただけで、F0/3 のポートはまだ VLAN1 に所属しているので、VLAN2 の所属に変更する必要があります。
- SW-A の F0/3 を VLAN2 に所属させなさい。
< SW-A >
SW-A# conf t
Enter configuration commands, one per line. End with CNTL/Z.
SW-A(config)# int f0/3
SW-A(config-if)# switchport access vlan 2
SW-A(config-if)# ^Z
SW-A#
各 VLAN へのポートの所属はインターフェイスコンフィグレーションモードで行います。
F0/3 を VLAN2 に所属させる時、switchport mode access コマンドが必要でしょうか?
SW-A(config)# int f0/3
SW-A(config-if)# switchport mode access
SW-A(config-if)# switchport access vlan 2
いいえ、必要ではありません。
このコマンドはオプションです。
switchport mode access がなくても F0/3 は VLAN2 に所属します。この状態で、相手が PC ならば VLAN2 のアクセスポートとして動作し、相手が Catalyst スイッチならば、相手側のスイッチポートの設定によってトランクポートかアクセスポートかのどちらかで動作します。
switchport mode access は、そのポートをアクセスポートに固定したい時に使います。例えば、スイッチ同士をつなぐ時に、相手側のスイッチポートの設定にかかわらずアクセスポートでつなぎたいとか。
また、今回のPCを接続するための F0/3 ポートを switchport mode access に設定しても結構です。F0/3 ポートはPCを接続することで自動的にアクセスポートになりますが、明示的にアクセスポートに設定してもいいということです。
- SW-A で、sh vlan brief コマンドを実行しなさい。
< SW-A >
SW-A# sh vlan brief
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/1, Fa0/2, Fa0/4, Fa0/5
Fa0/6, Fa0/7, Fa0/8, Gi0/1
2 vlan2 active Fa0/3
1002 fddi-default act/unsup
1003 token-ring-default act/unsup
1004 fddinet-default act/unsup
1005 trnet-default act/unsup
SW-A#
F0/3 が VLAN2 所属に変わりました。
- PC-A から PC-B へ ping を実行しなさい。
< PC-A >
C:\> ping 192.168.1.2
192.168.1.2 に ping を送信しています 32 バイトのデータ:
192.168.1.1 からの応答: 宛先ホストに到達できません。
192.168.1.1 からの応答: 宛先ホストに到達できません。
192.168.1.1 からの応答: 宛先ホストに到達できません。
192.168.1.1 からの応答: 宛先ホストに到達できません。
192.168.1.2 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
C:\>
PC-A と PC-B は異なる VLAN 上にあるため、ping は失敗します。
- SW-A で、sh flash コマンドを実行しなさい。
< SW-A >
SW-A# sh flash:
Directory of flash:/
2 drwx 512 Mar 1 1993 07:32:37 +00:00 c2960-lanbasek9-mz.150-2.SE5
570 -rwx 106 Mar 1 1993 07:39:20 +00:00 info
572 -rwx 616 Mar 1 1993 00:04:36 +00:00 vlan.dat
571 -rwx 2072 Mar 1 1993 03:12:01 +00:00 multiple-fs
27998208 bytes total (11889152 bytes free)
SW-A#
作成した VLAN 情報は、Flash メモリ内の vlan.dat に保存されます。
- SW-A の running-config を表示させなさい。
< SW-A >
SW-A# sh run
Building configuration...
!
!
interface FastEthernet0/3
switchport access vlan 2
!
作成した VLAN2 に関する情報は vlan.dat に保存されますが、F0/3 がどの VLAN に所属しているかの情報はコンフィグレーションファイルに追加されます。
- running-config を startup-config に保存しないように、SW-A を再起動させなさい。
< SW-A >
SW-A# reload
System configuration has been modified. Save? [yes/no]: n ← コンフィグは保存しない
Proceed with reload? [confirm] < Enter >
- 起動後、SW-A で sh vlan brief コマンドを実行しなさい。
< SW-A >
Switch# sh vlan brief
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/1, Fa0/2, Fa0/3, Fa0/4
Fa0/5, Fa0/6, Fa0/7, Fa0/8
Gi0/1
2 vlan2 active
1002 fddi-default act/unsup
1003 token-ring-default act/unsup
1004 fddinet-default act/unsup
1005 trnet-default act/unsup
Switch#
VLAN2 は作成されたままですが、F0/3 は VLAN1 に戻っています。
- SW-A の running-config を表示させなさい。
< SW-A >
SW-A# sh run
Building configuration...
!
!
interface FastEthernet0/3
!
running-config を startup-config に保存しなかったので設定は残っていません。
- SW-A で、sh flash コマンドを実行しなさい。
< SW-A >
SW-A# sh flash:
Directory of flash:/
2 drwx 512 Mar 1 1993 07:32:37 +00:00 c2960-lanbasek9-mz.150-2.SE5
570 -rwx 106 Mar 1 1993 07:39:20 +00:00 info
572 -rwx 616 Mar 1 1993 00:04:36 +00:00 vlan.dat
571 -rwx 2072 Mar 1 1993 03:12:01 +00:00 multiple-fs
27998208 bytes total (11889152 bytes free)
SW-A#
Flash メモリ内の vlan.dat は残ったままです。
このため、VLAN2 は作成されたままで、VLAN2 に所属しているポートがないわけです。
- 再度 SW-A に SW-A という名前を付け、 F0/3 を VLAN2 に所属させなさい。
< SW-A >
Switch# conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# host SW-A
SW-A(config)# int f0/3
SW-A(config-if)# switchport access vlan 2
SW-A(config-if)# ^Z
SW-A#
VLAN2 は残ったままなので、VLAN2 の作成は必要ありません。
- SW-A で、sh vlan brief コマンドを実行しなさい。
< SW-A >
SW-A# sh vlan brief
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/1, Fa0/2, Fa0/4, Fa0/5
Fa0/6, Fa0/7, Fa0/8, Gi0/1
2 vlan2 active Fa0/3
1002 fddi-default act/unsup
1003 token-ring-default act/unsup
1004 fddinet-default act/unsup
1005 trnet-default act/unsup
SW-A#
F0/3 が VLAN2 所属に変わりました。
- vlan.dat を削除しなさい。
< SW-A >
Switch# delete flash:vlan.dat
Delete filename [vlan.dat]? < Enter >
Delete flash:vlan.dat? [confirm] < Enter >
Switch#
- SW-A で、sh flash コマンドを実行しなさい。
< SW-A >
SW-A# sh flash:
Directory of flash:/
2 drwx 512 Mar 1 1993 07:32:37 +00:00 c2960-lanbasek9-mz.150-2.SE5
570 -rwx 106 Mar 1 1993 07:39:20 +00:00 info
572 -rwx 2072 Mar 1 1993 03:12:01 +00:00 multiple-fs
27998208 bytes total (11890688 bytes free)
SW-A#
vlan.dat は Flash メモリから削除されました。
- sh vlan brief コマンドを実行しなさい。
< SW-A >
Switch# sh vlan brief
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/1, Fa0/2, Fa0/4, Fa0/5
Fa0/6, Fa0/7, Fa0/8, Gi0/1
2 vlan2 active Fa0/3
1002 fddi-default act/unsup
1003 token-ring-default act/unsup
1004 fddinet-default act/unsup
1005 trnet-default act/unsup
Switch#
vlan.dat を削除しても、設定はメモリ上に残っていますので、スイッチを再起動させる必要があります。
もし、再起動させずに VLAN2 を削除したければ、グローバルコンフィグレーションモードで削除します。
- SW-A の VLAN2 を削除しなさい。
< SW-A >
SW-A# conf t
Enter configuration commands, one per line. End with CNTL/Z.
SW-A(config)# no vlan 2
SW-A(config)# ^Z
SW-A#
ただし、上記コマンドを実行すると、せっかく削除した vlan.dat が再度作成されますので、通常は vlan.dat の削除前に行います。
SW-A# sh flash:
Directory of flash:/
2 drwx 512 Mar 1 1993 07:32:37 +00:00 c2960-lanbasek9-mz.150-2.SE5
570 -rwx 106 Mar 1 1993 07:39:20 +00:00 info
572 -rwx 616 Mar 1 1993 00:04:36 +00:00 vlan.dat
571 -rwx 2072 Mar 1 1993 03:12:01 +00:00 multiple-fs
27998208 bytes total (11889152 bytes free)
SW-A#
- SW-A で、sh vlan brief コマンドを実行しなさい。
< SW-A >
SW-A# sh vlan brief
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/1, Fa0/2, Fa0/4, Fa0/5
Fa0/6, Fa0/7, Fa0/8, Gi0/1
1002 fddi-default act/unsup
1003 token-ring-default act/unsup
1004 fddinet-default act/unsup
1005 trnet-default act/unsup
SW-A#
VLAN2 を削除したので、当然 VLAN2 はありませんが、F0/3 もなくなりました。
VLAN を削除すると、削除した VLAN に割り当てられていたポートは Inactive になり、他の VLAN に割り当てられるまで、元の VLAN に対応付けられたままになります。このような場合は sh vlan brief にポートが表示されません。
- SW-A の vlan.dat を削除し、startup-config には保存せず SW-A を再起動させなさい。
< SW-A >
SW-A# delete flash:vlan.dat
Delete filename [vlan.dat]? < Enter >
Delete flash:vlan.dat? [confirm] < Enter >
SW-A# reload
System configuration has been modified. Save? [yes/no]: n ← コンフィグは保存しない
Proceed with reload? [confirm] < Enter >
- 再起動後、SW-A の Flash メモリに vlan.dat がないことを確認しなさい。
< SW-A >
Switch# sh flash:
Directory of flash:/
2 drwx 512 Mar 1 1993 07:32:37 +00:00 c2960-lanbasek9-mz.150-2.SE5
570 -rwx 106 Mar 1 1993 07:39:20 +00:00 info
572 -rwx 2072 Mar 1 1993 03:12:01 +00:00 multiple-fs
27998208 bytes total (11890688 bytes free)
Switch#
- SW-A で sh vlan brief コマンドを実行しなさい。
< SW-A >
Switch# sh vlan brief
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/1, Fa0/2, Fa0/3, Fa0/4
Fa0/5, Fa0/6, Fa0/7, Fa0/8
Gi0/1
1002 fddi-default act/unsup
1003 token-ring-default act/unsup
1004 fddinet-default act/unsup
1005 trnet-default act/unsup
Switch#
VLAN2 もなく F0/3 も VLAN1 所属のデフォルト状態戻りました。