VLANを用いたスイッチドネットワークの拡張
VLANの概要
ルータはブロードキャストドメインをセグメント化(分割するとも言える。つまり別々のネットワークアドレス/IPサブネットを持つ)できるが、スイッチも「VLAN(Virtual
LAN)」と呼ばれる方法でブロードキャストドメインを論理的にセグメント化する事が出来る。
「VLAN = ブロードキャストドメイン
= ネットワーク(サブネット)」
スイッチでVLANを使用することには以下の利点がある。
短所としては、
Catalyst1900のポートには、それらがどのVLANに所属可能であるかを決めるため、2種類のVLANメンバシップを設定する事が出来る。
- スタティック:ポートのVLANの割り当ては、管理者によって静的に設定される。
- ダイナミック:Catalyst1900はVMPS(VLAN
Membership Policy Server)をクライアントとして利用することにより、動的なVLANをサポートしています。VMPSとして働くことができるのはCatalyst5000または外部サーバで、VMPSにはMACアドレスをVLAN割り当てにマップするデータベースが収められている。
VLANを設定するためには、まずスイッチ内にVLANを作成します(VLANはVLAN番号によって識別されます)。次に作成したVLANにポートを割り当てます。1番から3番までのポートはVLAN10、4番から6番までのポートはVLAN20といった具合です。(1つのポートは1つのVLANにのみ属することが出来ます。)
これでひとつのスイッチが「あたかも」2つあるかのように使用できますので、レイヤ2デバイスでのブロードキャストドメイン分割が可能になりました。この構成だと同じVLANに所属しているホストAとホストBは通信できますが、別のVLANに所属しているホストCとは通信不可能となります。
VLANを構成したことによってレイヤ2でのブロードキャストドメイン分割がなされて、なおかつ、ルータで分割した場合よりもはるかに高速なフレーム転送を実現できます。
では次に複数のスイッチにまたがったVLANの構成を見てみます。
1つのVLANを複数のスイッチで構成するとき、スイッチ同士の接続であるトランクリンクを通して、お互いのVLAN情報をやり取りするのが「トランキング」と呼ばれる処理です。(Catalyst1900シリーズではトランクポートに設定できるのはファーストイーサネットポートのみ)
トランクリンクは1つのポートに1つのVLANを割り当てる設定(これをアクセスリンクと呼びます)とは異なり、特定のVLANには所属しないポートですが、複数のVLANトラフィックを通すことができます。もちろん無作為に複数VLANのトラフィックを転送したらフレームを受け取ったスイッチがどのVLANトラフィックなのかを識別できないため、トランクリンクを通過する際にはフレームに荷札(タグ)を貼り付けます。このタグをトランクの入口で取り付け、トランクの出口で取り外すために使用されるのがタグ付けプロトコルであり、ほとんどのCatalystスイッチでは
- Cisco独自のISL(Inter Switch Link) ->1024個のVLANをサポート、しかしVLAN番号65以上はスパニングツリーをサポートしないので使わないようにする。
- 業界標準のIEEE802.1Q
の2つから選択できるようになっています。
ISLはCisco独自のプロトコルであり、元のイーサネットフレームは一切いじらず、独自のISLヘッダ(26バイト)とCRCトレーラ(4バイト)を付加するカプセル化方式を使うのに対して、IEEE802.1Qは元のイーサネットフレーム内にタグ情報を埋め込むタギング方式を用います。
上の構成図では左右のスイッチ間をISLトランクで接続しているため、ホストA・BとホストDはトランクリンクを越えて通信可能ですが、ホストCおよびホストEとは通信できません。もちろんホストCとホストEも同じVLANに所属しているので通信できます。
この構成では各々のVLANに所属しているホスト同士が通信可能となりましたが、異なるVLAN間での通信はレイヤ2スイッチだけでは不可能です。スイッチでは別々のブロードキャストドメインを「繋ぐ」ことはできませんから、別々のVLANを繋ぐにはやはりレイヤ3デバイスを必要とします。
VTP(VLANトランキングプロトコル)
VLAN管理を単純化するため、スイッチ間のトランクリンクで使用されるレイヤ2プロトコル。VTP管理ドメイン内でVLANの追加・削除・名前変更などの情報を共有する。
VTPモードには3つのモードがあり、それぞれ管理ドメイン内での役割が違います。
|
サーバモード(デフォルト) |
クライアントモード |
トランスペアレントモード |
VTPアドバタイズメントを |
送信(変更時と5分毎)/転送する |
送信(5分毎のみ)/転送する |
転送する |
管理ドメイン内の他のスイッチとVLAN設定情報を |
同期させる |
同期させる |
同期させない |
VLAN設定情報がNVRAMに |
保存される |
保存されない |
保存される |
CatalystスイッチはVLANを |
作成できる |
作成できない |
作成できる(ローカル) |
CatalystスイッチはVLANを |
変更できる |
変更できない |
変更できる(ローカル) |
CatalystスイッチはVLANを |
削除できる |
削除できない |
削除できる(ローカル) |
サーバとクライアントのどちらのモードの場合でも、スイッチ自身のVLAN設定をVTPドメイン内で最高のリビジョン番号を持つスイッチの設定に同期させる。なので適切なモードを選択しないと、一部のスイッチ上のVLAN設定が不適切に上書きされてしまい、ネットワークに問題を引き起こす可能性があるので注意。
トランスペアレントモードにあるスイッチは同じ管理ドメインに属する他のスイッチから受信したVTPアドバタイズメントを転送することだけを行い、自身で行ったVLANの作成・変更・削除はローカルスイッチのみに反映され、ドメインに属する他のスイッチに伝送されることはない。
VTPプルーニング
VTPアドバタイズメントは、5分毎、あるいはVLAN設定に変更があった場合に必ず、マルチキャストフレームを使ってファクトリデフォルトのVLAN(管理VLANとも呼ぶ、つまりVLAN1のことを指す)を介して、管理ドメイン全体にフラッディングされます。
しかし管理ドメイン内の全てのスイッチがそれぞれ、作成されている全てのVLANに属しているポートを持っているわけではない。例えばVALN10に属しているポートしか持たないスイッチにVLAN2の情報がフラッディングされる必要はないので、このような帯域幅のムダを防ぐために各スイッチでVTPプルーニングを有効にする。
Catalyst1900スイッチでのVLAN設定
*デフォルトの状態ではBridge Groupが有効になっているため、ここで説明するコマンドが有効でない場合があります。
その時はメニューインタフェースで [S] System に移動して、[T]
Reset to enable VLANs を実行して下さい。
実行後はメニューに [V] Virtual LAN が現れます。CLIでも以下のVLAN設定コマンドが有効になります。
Catalyst1900スイッチにおけるデフォルトのVTP設定 (と主な設定方法や解説)
新しいスイッチを既存のドメインに追加するときは、その新しいスイッチが不正なVLAN情報を伝播しないように、クライアントモードで追加するか、サーバモードの場合は追加するスイッチ上で
delete vtp コマンドでVTPリビジョン番号をリセットしてから追加する。
- VTPを設定する
switch(config)#vtp { [ server | transparent | client ] [
domain ドメイン名] [trap ( enable | disable ) ] [
password パスワード] [ pruning ( enable | disable )
] }
switch(config)#exit
switch#show vtp <-
1の設定確認
VTP version: 1
Configuration revision: 0
Maximum VLANs supported locally: 1005
Number of existing VLANs: 5
VTP domain name : vtpdom
VTP password :
VTP operating mode : Server
VTP pruning mode : Disabled
VTP traps generation : Enabled
Configuration last modified by: 192.168.0.13 at
00-00-0000 00:00:00
- トランクリンクの有効化 (Catalyst1900ではISLトランクネゴシエーションを自動管理する、DISL
[Dynamic Inter-Switch Link] プロトコルをサポート)
switch(config)#interface f0/26
switch(config-if)#trunk { on | off | desirable | auto |
nonnegotiate }
on - ポートをpermanent ISL
トランクモードに設定し、接続されているデバイスとネゴシエートしてリンクをトランクモードに切り替える。
off -
ポートのトランクモードを無効にする。接続されているデバイスとネゴシエートしてリンクを非トランクに切り替える。
desirable -
接続されているデバイスのポートが on /
desirable /auto の状態にある場合はdesirableポートはトランクになり、そうでない場合はdesirableポートは非トランクになる。
auto - 接続されているデバイスのポートが
on / desirable の状態にある場合のみautoポートはトランクになる。
nonnegotiate - ポートをpermanent ISL
トランクモードに設定します。接続されているデバイスのポートとはネゴシエートしない。
switch(config-if)#no trunk vlan [VALN番号] <-トランクからVLANを削除
switch(config-if)#end
switch#show trunk { a | b } <-
2の設定確認。a= f0/26 b= f0/27
DISL state: On, Trunking: On, Encapsulation type: ISL
- VLANの追加
switch(config)#vlan [VLAN番号] { name [VLAN名] } <-
名を付けないと番号が4桁の数字で名として割り当てられる。
switch(config)#exit
switch#show vlan [VLAN番号] <-
3の設定確認。VLAN番号を指定しないと全てのVLAN情報表示
VLAN Name Status Ports
--------------------------------------
2 VLAN0002 Enabled
--------------------------------------
VLAN Type SAID MTU Parent RingNo
BridgeNo Stp Trans1 Trans2
---------------------------------------------------------------------------
2 Ethernet 100002 1500 0
1 1 Unkn 0
0
---------------------------------------------------------------------------
- VLANにポートを割り当てる
switch(config)#interface e0/9
switch(config-if)#vlan-membership { static [VLAN番号] |
dynamic }
switch(config-if)#end
switch#show vlan-membership
Port VLAN Membership Type Port VLAN Membership
Type
----------------------------- -----------------------------
1 1 Static
13 1 Static
2 1 Static
14 1 Static
3 1 Static
15 1 Static
4 1 Static
16 1 Static
5 1 Static
17 1 Static
6 1 Static
18 1 Static
7 1 Static
19 1 Static
8 1 Static
20 1 Static
9 2 Static
21 1 Static
10 1 Static 22
1 Static
11 1 Static 23
1 Static
12 1 Static 24
1 Static
AUI 1 Static
A 1 Static
B 1 Static
参照:Ciscoデバイス相互接続入門-CCNA試験番号640-507対応(ソフトバンク)/シスコネットプロ-トレーナー通信