VTPが解決する問題とは
前項で、VLANはスイッチにとって局所的に重要で、手動で設定されることを学びました。 さて、もっと深く考えてみると、これは大きなスケーリング上の制限です。 100台以上のスイッチを持つネットワークで、新しいVLANをプロビジョニングすることを想像してみてください。 誰かが一つ一つのデバイスにログオンしてコマンドを実行しなければなりません。 これは、ヒューマンエラーが発生しやすい、遅くてつまらないプロセスです。 VLAN Trunking Protocol (VTP) は、このスケーリングの問題を解決するために導入されました。
VTP はレイヤー 2 メッセージングプロトコルで、VLAN の作成と削除を管理し、ネットワーク全体の VLAN データベースの一貫性を維持するために設計されました。 このプロトコルを使用すると、ネットワーク管理者はVLANを追加または削除し、その変更をネットワーク内の他のすべてのスイッチに自動的に伝搬させることができます。 VTPがなければ、スイッチはVLANに関する情報を交換しません。
このプロトコルは、集中管理という考えに基づいて設計されています。 1台または複数のスイッチにVTPサーバの役割が割り当てられます。 これらのスイッチで行われたすべての更新は、VTPクライアントである他のスイッチにVTPを介して送信されます。
VTPドメイン
VTPドメインは、同じVTPドメイン名を共有するすべてのスイッチで定義されます。 スイッチは、1つのドメインにのみ所属できます。
デフォルトでは、CiscoスイッチにはVTPドメイン名が割り当てられていません。 トランクリンク上でVTPアドバタイズを受信すると、メッセージに含まれるドメイン名とVTPリビジョン番号を継承します。 この名前は、vtp nameコマンドを使用して手動で設定できます。
VTPサーバーで行われたすべての変更は、VTPドメイン内のスイッチにのみ伝搬されます。 異なるVTPドメイン名で構成されたスイッチがある場合,そのスイッチはアドバタイズを受け付けず,VLANデータベースを更新しません。
VTP Modes
VTP Mode | Description |
---|---|
VTP Server |
VTP ServerはCiscoスイッチのデフォルトモードです。 サーバモードにおいて、スイッチはVLANデータベースへの変更すべてを同じVTPドメイン内の他のスイッチにアドバタイズします。 これらのアドバタイズメッセージはトランクリンクで送信されます。 |
VTP Client | VTP ClientはVTP更新を送受信しますが、VLANを作成または削除できません。 すべてのVLANの変更はServerモードのスイッチで行われます。 |
VTP Transparent | VTP Transparentモードのスイッチは、VTP更新を送受信しますが、VLANデータベースを更新することはありません。 また,VTPにはまったく参加せず,VTPメッセージの中継だけを行います。 |
VTP Off | VTP Offモードのスイッチは、VTPにまったく参加せず、VTPメッセージの中継を行いません。 |
VTP Versions
VTP Version 1
VTP Version 1は以下の機能をサポートしています:
- 古いCiscoスイッチではデフォルトです。
- VTP透過スイッチは、メッセージ内で見つかったドメインとバージョンが自身のものと等しい場合のみVTPメッセージを中継します。
- 透過モードでも通常のVLAN範囲(1-1005)だけをサポートします。
- 不明な TLV (Type-Length-Value) をドロップします。
VTP Version 2
VTP Version 2 は Version 1 に対して以下の改善があります:
- 最近の Cisco スイッチではデフォルトになっているようです。
- VTP transparent switch relay VTP messages without inspecting the domain name and version number.
- It supports extended VLANs range (1006 to 4094) in Transparent mode.
- When new information is received from VTP messages, consistency checks not performed.
- With the VTP message is received the new information is not performed. 受信したVTPメッセージのMD5ダイジェストが正しければ、その情報を受け入れます。
- 未知のTLV(Type-Length-Value)を中継します。
VTP Version 3
VTPバージョン3ではv1、v2に対して以下のような多くの重要機能および改善が行われています:
- 広告でVLANレンジ(VLAN 1006~4094)をサポートしました。 V1 と V2 は、VLAN 1 から 1005 までしか動作しません。
- プライベート VLAN をサポートしています (プライベート VLAN は、単一の VLAN を分離した「サブ VLAN」に分割する技術です)。
- MST (Multiple-Spanning-Tree) 情報に対する広告をサポートしています。 パスワードは、hiddenまたはsecretとして構成することができます。
- VTPをオフにするオプションをサポートしています。 V1 および V2 では、VTP を透過モードに設定することのみが可能で、完全にオフにすることはできません。
- VTPプライマリサーバおよびVTPセカンダリサーバの概念により、VLANデータベースに対するより大きな制御が可能になりました。 VTP バージョン 1 と VTP バージョン 2 に存在するリビジョンオーバーライトの問題を解決しています。
VTP Revision Number
スイッチは、VTP Revision Numberを使用して、ドメインのVLANデータベースの変更を追跡します。 この番号は0から始まり、変更(VLANの追加、VLANの削除など)ごとに1ずつ増加し、ドメイン内の他のすべてのVTPクライアントにアドバタイズされます。 したがって、VTPドメイン内のすべてのスイッチのリビジョン番号は、どの時点でも同じでなければなりません。 スイッチがVTPメッセージを受信した場合、更新のリビジョン番号が自分のものよりも高い場合にのみ、データを処理します。
VTP Pruning
VTPを使用する場合、VTPはドメイン内のすべてのデバイスのVLANデータベースを同期させるため、すべてのスイッチはすべてのVLANを持つことができます。 たとえば、ネットワークトポロジーに100のVLANがある場合、すべてのスイッチには、データベース内のこれらの100のVLANがあり、トランクリンク上で許可され、すべてのスイッチはすべてのVLANからBUMフレームを受信します。 しかし、3つのVLANにしかエンドクライアントがいない場合、なぜスイッチは他の97のVLANからブロードキャストフレームを受信し、これらのVLANにエンドクライアントがいないため、それらを廃棄する必要があるでしょうか。 これは利用可能な帯域幅とリソースを浪費していることになります。 そのため、この最適でないリソース使用を解決するために、VTP pruningという機能が導入されたのです。
VTP Pruningは、特定のVLANにクライアントが存在しないスイッチにつながるトランクリンク上のフラッドされたBUMトラフィックを制限しています。 図 2 は、VTP Pruning を有効にしていないネットワークトポロジーを示しています。 PC1 は VLAN20 でブロードキャストフレームを送信しています。 この VLAN には 3 つのエンドクライアント(PC1、PC2、PC3)しか接続されていませんが、SW2、SW3、SW4、および SW6 にはこの VLAN のクライアントがいないのに、ネットワーク内のすべてのスイッチにブロードキャストフレームがフラッディングされていることに注意してください。 VTP PruningなしのBUMフレームのフラッディング
図3は、VTPとVTP Pruningを有効にしたネットワークトポロジーを示しています。 PC1がVLAN20でブロードキャストフレームを送信しています。 このブロードキャストフレームは、この VLAN のクライアントを持つスイッチ(SW1、SW5、SW7)にのみフラッディングされることに注意してください。 VTP Pruning は、エンドクライアントのないスイッチに向かうトランクリンクからこの VLAN を削除しています。
VTP Pruning は 1 つの VTP サーバーで有効にする必要があり、VTP ドメイン全体でアクティブになります。