目錄

前言
VTP Mode
VTP Version
舊版本 VTP 的風險 (Version 1 及 2)
VTP Version 3
VTP Pruning

前言

VLAN Trunking Protocol (VTP) 是 Cisco 專利,主要用作 VLAN 管理。話說要在網絡裡加入一個新的 VLAN,需要在該 VLAN Traffic 所經過的每一隻 Switch 創建此 VLAN。使用 VTP 則可以實施中央管理,只需在一隻 VTP Server 新增 VLAN,VLAN 資訊就會自動發怖到其他 Switch,其他 Switch 就會新增此 VLAN。然而 VTP Version 1 及 Version 2 有點缺陷,有機會出現災難性的後果,因此有經驗的網管人員都會避免使用。直至 VTP Version 3,才把問題解決了,還加入了 MST 的管理。所以如果真的要應用 VTP 在網絡中,應該使用 Version 3。

VTP Mode

要設定 VTP,Switch 之間必需是 Trunk Link (關於 Trunk Link 的設定請參考 Dynamic Trunking Protocol ),然後必需選最少一隻 Switch 設定成 VTP Server,其他 Switch 就設定成 VTP Client,以後要加減 VLAN 就在 VTP Server 進行,其他 VTP Client 自動獲得 VLAN 資訊。不過,VTP Server 與 VTP Client 要互相溝通,前題是 VTP Domain 與 VTP Password 必需相同。

現為以下網絡作 VTP 設定。

undefined

先在 SW1 做 VTP Server 設定,由於 Switch 預設是 Server,因此只需設置 VTP Domain 及 Password。設定好後使用 show vtp statusshow vtp password 確認一下。

SW1(config)#vtp domain jannet
Changing VTP domain name from NULL to jannet
SW1(config)#vtp password ccie
Setting device VTP password to ccie
SW1(config)#end
SW1#show vtp status
VTP Version                     : 3 (capable)
Configuration Revision          : 0
Maximum VLANs supported locally : 1005
Number of existing VLANs        : 5
VTP Operating Mode              : Server
VTP Domain Name                 : jannet
VTP Pruning Mode                : Disabled (Operationally Disabled)
VTP V2 Mode                     : Disabled
VTP Traps Generation            : Disabled
MD5 digest                      : 0x2E 0x80 0x1A 0xBF 0x71 0xB4 0xFF 0x51
Configuration last modified by 0.0.0.0 at 0-0-00 00:00:00
Local updater ID is 0.0.0.0 (no valid interface found)
VTP version running             : 1
SW1#show vtp password
VTP Password: ccie

然後在 SW2 做 VTP Client 設定,除了設 domain 和 password 之外,還要把 VTP mode 設定成 Client。

SW2(config)#vtp mode client
Setting device to VTP Client mode for VLANS.
SW2(config)#vtp domain jannet
Changing VTP domain name from NULL to jannet
SW2(config)#vtp password ccie
Setting device VTP password to ccie
SW2(config)#end
SW2#show vtp status
VTP Version                     : 3 (capable)
Configuration Revision          : 0
Maximum VLANs supported locally : 1005
Number of existing VLANs        : 5
VTP Operating Mode              : Client
VTP Domain Name                 : jannet
VTP Pruning Mode                : Disabled (Operationally Disabled)
VTP V2 Mode                     : Disabled
VTP Traps Generation            : Disabled
MD5 digest                      : 0x2E 0x80 0x1A 0xBF 0x71 0xB4 0xFF 0x51
VTP version running             : 1
SW1#show vtp password
VTP Password: ccie

現在先來理解一下 show vtp status 裡比較重要的欄位意思,請留意不同版本的 IOS 所顥示的欄位順序可能有所不同。

VTP Version

這是本機最高可支緩的 VTP 版本 (而不是現時執行中的版本),如圖顥示如果是 3 的話,即支緩 1-3 版。

Configuration Revision

VLAN Database 的版本流水號,每次 Server 的 VLAN Database 有更新,此流水號就會加 1。

Maximum VLANs supported locally

本機最大支緩的 VLAN 數目,即最多只支緩 1005 個 VLAN,有點需要留意的就是雖然 VLAN 上限是 1005,但 Switch 所支緩的 Spanning Tree 也有上限,一般 Switch 只能容納 128 或 256 個 Spanning Tree,所以如果 VLAN 數目超出 Spanning Tree 總數,多出的 VLAN 就無法執行 Spanning Tree 而造成 Loop,解決方法是改用 MST,在 MST 的編章再介紹。

Number of existing VLANs

本機現在 VLAN 總數。

VTP Operating Mode

說明本機是 Server、Client 還是 Transparent Mode,一會再說明。

VTP Domain Name

要 VLAN Database 同步,Server 跟 Client 的 Domain Name 必需相同。

VTP Pruning Mode

啟動 Pruning 可以減少不必要的 Traffic,留待 VTP Pruning 部份再解說。

VTP version running

就是現時執行中的 VTP 版本。

Show vtp password 所顥示的就是一個明碼的 password。

好了,現在只要在 Server 新增 VLAN,Client 就會收到來自 Server 的 VLAN 資訊,並新增該些 VLAN。

SW1(config)#vlan 11-15,1006
SW1(config-vlan)#end
% Applying VLAN changes may take few minutes.  Please wait...

SW1#sh vlan

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Et0/1, Et0/2, Et0/3, Et1/0
                                                Et1/1, Et1/2, Et1/3, Et2/0
                                                Et2/1, Et2/2, Et2/3, Et3/0
                                                Et3/1, Et3/2, Et3/3
11   VLAN0011                         active
12   VLAN0012                         active
13   VLAN0013                         active
14   VLAN0014                         active
15   VLAN0015                         active
1002 fddi-default                     act/unsup
1003 token-ring-default               act/unsup
1004 fddinet-default                  act/unsup
1005 trnet-default                    act/unsup
1006 VLAN1006                         active

<--Output Omitted-->

SW2 自動增加了 VLAN 11 至 VLAN 15,卻沒有 VLAN 1006,因為 VTP Version 1 和 2 只支緩 VLAN 2 至 VLAN 1001,直至 Version 3 才支緩更多,這點需要注意。

SW2#sh vlan

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Et0/1, Et0/2, Et0/3, Et1/0
                                                Et1/1, Et1/2, Et1/3, Et2/0
                                                Et2/1, Et2/2, Et2/3, Et3/0
                                                Et3/1, Et3/2, Et3/3
11   VLAN0011                         active
12   VLAN0012                         active
13   VLAN0013                         active
14   VLAN0014                         active
15   VLAN0015                         active
1002 fddi-default                     act/unsup
1003 token-ring-default               act/unsup
1004 fddinet-default                  act/unsup
1005 trnet-default                    act/unsup

<--Output Omitted-->

另外,VTP Client 不可以自行改動 VLAN,所有增減必需在 Server 進行。如果在 VTP Client 上改動 VLAN 會出現錯誤訊息。

SW2#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
SW2(config)#vlan 20
VTP VLAN configuration not allowed when device is in CLIENT mode.

除了 Server 和 Client,VTP 還有一個叫 Transparent Mode,Transparent 並不參與 VTP Domain 之中,Server 傳來的 VLAN 資訊,它不會更新到自己的 VLAN Database,但卻可把這些資訊傳給其他 Switch,而 Transparent Mode 也可以自行改動 VLAN。現在我們在 Server 和 Client 之間加入一隻 Switch 並把他設成 Transparent。

undefined

在 SW3 執行 vtp mode transparent 把它設定成 Transparent,並故意增加 VLAN 50。留意 SW3 並沒有把 VTP Server 的 VLAN 新增到自己的 VLAN Database。

SW3(config)#vtp mode transparent
Setting device to VTP Transparent mode for VLANS.
SW3(config)#vlan 50
SW3(config-vlan)#end
% Applying VLAN changes may take few minutes.  Please wait...
 
SW3#sh vlan
 
VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Et0/0, Et0/1, Et0/2, Et0/3
                                                Et1/0, Et1/1, Et1/2, Et1/3
                                                Et2/0, Et2/1, Et2/2, Et2/3
                                                Et3/0, Et3/1, Et3/2, Et3/3
50   VLAN0050                         active
1002 fddi-default                     act/unsup
1003 token-ring-default               act/unsup
1004 fddinet-default                  act/unsup
1005 trnet-default                    act/unsup
 
<--Output Omitted-->

現在,在 SW1 (VTP Server) 增加 VLAN 60,看看 SW2 (VTP Client) 能不能收到?

SW1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
SW1(config)#vlan 60

SW2 收到 VLAN 60,證明 SW3 有把 SW1 的 VLAN 資訊傳過來。SW2 卻沒有 VLAN 50,因為 SW3 是 Transparent Mode 不會製造 VLAN 資訊,它不會把自己的 VLAN 50 傳給其他 Switch。

SW2#sh vlan

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Et0/1, Et0/2, Et0/3, Et1/0
                                                Et1/1, Et1/2, Et1/3, Et2/0
                                                Et2/1, Et2/2, Et2/3, Et3/0
                                                Et3/1, Et3/2, Et3/3
11   VLAN0011                         active
12   VLAN0012                         active
13   VLAN0013                         active
14   VLAN0014                         active
15   VLAN0015                         active
60   VLAN0060                         active
1002 fddi-default                     act/unsup
1003 token-ring-default               act/unsup
1004 fddinet-default                  act/unsup
1005 trnet-default                    act/unsup

<--Output Omitted-->

現在總結一下 3 種 VTP Mode 的分別:

VTP Server Mode (預設)

  • 本機 VLAN Database 可更改
  • 收到較自己新的 VLAN 資訊會更新 VLAN Database,並傳送給其他 Switch

VTP Client Mode

  • 本機 VLAN Database 不可更改
  • 收到較自己新的 VLAN 資訊會更新 VLAN Database,並傳送給其他 Switch

VTP Transparent Mode

  • 本機 VLAN Database 可更改
  • 收到較自己新的 VLAN 資訊也不會更新 VLAN Database (但會傳送給其他 Switch)

VTP Version

不斷說 VTP 有 3 個 Version,就是 1、2 和 3,實際分別在那裡呢?Version 1 是最原始版本,提供了 VTP 的基本功能,至於 Version 2 加入了支緩 Token Ring (請恕作者年紀小,沒有用過 Token Ring🙂),另外有一個重要的分別是 Version 1 在使用 Transparent 時收到的 VLAN 資訊會先進行檢查,只會把同是 Version 1 的資訊送出去,而 Version 2 則不會進行此檢查。

至於 Version 3 則增加了對密碼是加密,亦支緩 VLAN 至 4094,另外不得不提的是,在 Version 3 必需要把 Server 升級成 Primary Server 才可更改 VLAN 資訊,此更改相當重要,解決了 Version 1 與 Version 2 一直存在的人為低級錯誤意外更新了 VLAN Database 的問題。

VTP Version 預設為 Version 1,要修改的話只需用 vtp version <num> 指令。

SW1(config)#vtp version 2
SW1(config)#
SW1#show vtp status
VTP Version                     : 3 (capable)
Configuration Revision          : 7
Maximum VLANs supported locally : 1005
Number of existing VLANs        : 6
VTP Operating Mode              : Server
VTP Domain Name                 : jannet
VTP Pruning Mode                : Disabled (Operationally Disabled)
VTP V2 Mode                     : Enabled
VTP Traps Generation            : Disabled
MD5 digest                      : 0x91 0xD7 0x08 0xB8 0xC5 0xC1 0xE3 0x27
Configuration last modified by 0.0.0.0 at 12-6-16 12:47:50
Local updater ID is 0.0.0.0 (no valid interface found)
VTP version running             : 2

舊版本 VTP 的風險 (Version 1 及 2)

VTP Version 1 及 2 都存在一個缺陷,讓網絡管理人員聞之色變。問題在於無論 Server Mode 或是 Client Mode,只要收到較自己新的 VLAN 資訊都會更新自己的 VLAN Database,這會造成錯誤更新的風險。經典的例子是一隻在網絡上的 Switch 因為某些原因而被關機下線了,然後拿去用作其他用途例如放在測試環境中,經過一番折騰之後,這隻 Switch 又放回到網絡之中。雖然網絡人員已相當醒目地把 Switch 的 Configuration 清掉 (write erase),但由於 VTP 資訊不是記錄在 Configuration 而是記錄 Flash Memory 之中,就算 Configuration 清掉,VTP 設定仍然存在,如果這時 Switch 的 VTP Configuration Revision 較新的話,一插進網絡中就會意外地把錯誤的 VLAN Database 更新到網絡的 Switch 之中,造成災難性後果!在這裡會用一個實驗說明。

用 SW1 作 VTP Server,SW2 作 VTP Client,在 SW1 加入一些 VLAN,當然 SW2 可以反映到新增的 VLAN。

undefined

SW1#conf t
SW1(config)#vlan 11-15
SW1(config-vlan)#end

SW1#sh vlan
 
VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Et0/1, Et0/2, Et0/3, Et1/0
                                                Et1/1, Et1/2, Et1/3, Et2/0
                                                Et2/1, Et2/2, Et2/3, Et3/0
                                                Et3/1, Et3/2, Et3/3
11   VLAN0011                         active
12   VLAN0012                         active
13   VLAN0013                         active
14   VLAN0014                         active
15   VLAN0015                         active
1002 fddi-default                     act/unsup
1003 token-ring-default               act/unsup
1004 fddinet-default                  act/unsup
1005 trnet-default                    act/unsup
 
<--Output Omitted-->
SW2#sh vlan
 
VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Et0/1, Et0/2, Et0/3, Et1/0
                                                Et1/1, Et1/2, Et1/3, Et2/0
                                                Et2/1, Et2/2, Et2/3, Et3/0
                                                Et3/1, Et3/2, Et3/3
11   VLAN0011                         active
12   VLAN0012                         active
13   VLAN0013                         active
14   VLAN0014                         active
15   VLAN0015                         active
1002 fddi-default                     act/unsup
1003 token-ring-default               act/unsup
1004 fddinet-default                  act/unsup
1005 trnet-default                    act/unsup
 
<--Output Omitted-->

好了,現在把 SW1 與 SW2 之間的 port shutdown。然後把 SW2 轉成 VTP Server,故意把原有的 VLAN 刪掉,又加入一個新的 VLAN 20。

SW2(config)#vtp mode server
Setting device to VTP Server mode for VLANS.
SW2(config)#no vlan 11-15
% Applying VLAN changes may take few minutes.  Please wait...

SW2(config)#vlan 20
SW2(config-vlan)#end
% Applying VLAN changes may take few minutes.  Please wait...

SW2#
SW2#sh vlan

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Et0/1, Et0/2, Et0/3, Et1/0
                                                Et1/1, Et1/2, Et1/3, Et2/0
                                                Et2/1, Et2/2, Et2/3, Et3/0
                                                Et3/1, Et3/2, Et3/3
20   VLAN0020                         active
1002 fddi-default                     act/unsup
1003 token-ring-default               act/unsup
1004 fddinet-default                  act/unsup
1005 trnet-default                    act/unsup

<--Output Omitted-->

現在先看看兩隻 Switch 的 VTP status。留意 SW1 的 Revision 是 6,而 SW2 的 Revision 是 7。因為剛才增減 VLAN 的動作已經令 Configuration Revision 增加了。

SW1#show vtp status
VTP Version                     : 3 (capable)
Configuration Revision          : 6
Maximum VLANs supported locally : 1005
Number of existing VLANs        : 6
VTP Operating Mode              : Server
VTP Domain Name                 : jannet
VTP Pruning Mode                : Disabled (Operationally Disabled)
VTP V2 Mode                     : Disabled
VTP Traps Generation            : Disabled
MD5 digest                      : 0x39 0xC8 0x43 0x0A 0xF0 0xEE 0x30 0x20
Configuration last modified by 0.0.0.0 at 12-6-16 12:47:50
Local updater ID is 0.0.0.0 (no valid interface found)
VTP version running             : 2
SW2#show vtp status
VTP Version                     : 3 (capable)
Configuration Revision          : 7
Maximum VLANs supported locally : 1005
Number of existing VLANs        : 6
VTP Operating Mode              : Server
VTP Domain Name                 : jannet
VTP Pruning Mode                : Disabled (Operationally Disabled)
VTP V2 Mode                     : Enabled
VTP Traps Generation            : Disabled
MD5 digest                      : 0x91 0xD7 0x08 0xB8 0xC5 0xC1 0xE3 0x27
Configuration last modified by 0.0.0.0 at 12-6-16 12:47:50
Local updater ID is 0.0.0.0 (no valid interface found)
VTP version running             : 2

好了,現在先把 SW2 改回 VTP Client,然後再度與 SW1 連線,滿以為萬無一失!怎料 SW1 的 VLAN Database 竟然被更新了!

SW1#sh vlan

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Et0/1, Et0/2, Et0/3, Et1/0
                                                Et1/1, Et1/2, Et1/3, Et2/0
                                                Et2/1, Et2/2, Et2/3, Et3/0
                                                Et3/1, Et3/2, Et3/3
20   VLAN0020                         active
1002 fddi-default                     act/unsup
1003 trcrf-default                    act/unsup
1004 fddinet-default                  act/unsup
1005 trbrf-default                    act/unsup
1006 VLAN1006                         active

<--Output Omitted-->

而 VTP 的 Revision 竟和 SW2 一樣,很明顯 SW1 雖然是 Server,卻被身為 Client 的 SW2 更新了。在真實的網絡環境,這失誤可以令原有的 VLAN 設定被修改了,網絡即時癱瘓!

SW1#sh vtp status
VTP Version                     : 3 (capable)
Configuration Revision          : 7
Maximum VLANs supported locally : 1005
Number of existing VLANs        : 6
VTP Operating Mode              : Server
VTP Domain Name                 : jannet
VTP Pruning Mode                : Disabled (Operationally Disabled)
VTP V2 Mode                     : Enabled
VTP Traps Generation            : Disabled
MD5 digest                      : 0x91 0xD7 0x08 0xB8 0xC5 0xC1 0xE3 0x27
Configuration last modified by 0.0.0.0 at 12-6-16 12:47:50
Local updater ID is 0.0.0.0 (no valid interface found)
VTP version running             : 2

VTP Version 3

現在試把剛才的 VTP Server 和 Client 都改成使用 Version 3。

undefined

SW1(config)#vtp version 3
SW1(config)#end
SW2(config)#vtp version 3
SW2(config)#end

Version 3 其一個改變是 Password 可以加密,只要用 vtp password <text> hidden 便可。

SW1(config)#vtp password ccie hidden
Setting device VTP password
SW1(config)#end
SW1#show vtp password
VTP Password: 6CDB879C15C244340E71402D939A3A45

另外,在 Version 3 的 Server 想增減 VLAN 是會看到錯誤訊息的。

SW1(config)#vlan 50
VTP VLAN configuration not allowed when device is not the primary server for vlan database.

因為我們必需把 Server 升級成 Primary Server 才有權更改 VLAN,升級的指令是 vtp primary vlan (不用進入 Config Mode),除了 vlan,還有其他選項, mst 就留待 Multi Spanning Tree 章節再討論,而 force 意思是強制升級,如果沒有用 force 選項,系統會先檢查是否有 Primary Server 存在,如果有就升級失敗,如使用 force 則跳過檢查。留意升級時需要輸入 VTP password。

SW1#vtp primary ?
  force  Do not check for conflicting devices
  mst    MST feautre
  vlan   Vlan feautre
  <cr>

SW1#vtp primary vlan
This system is becoming primary server for feature vlan
Enter VTP Password:
No conflicting VTP3 devices found.
Do you want to continue? [confirm]
SW1#
*Dec  7 12:59:00.676: %SW_VLAN-4-VTP_PRIMARY_SERVER_CHG: aabb.cc00.0600 has become the primary server for the VLAN VTP feature

Version 3 的 show vtp status 會分成 VLAN、MST 和 UNKNOWN 三部份,暫只關注 VLAN 部份。留意 Primary ID 與本機 Device ID 一樣,代表本機正是 Primary Server。

SW1#show vtp status
VTP Version                     : 3 (capable)
VTP version running             : 3
VTP Domain Name                 : jannet
VTP Pruning Mode                : Disabled (Operationally Disabled)
VTP Traps Generation            : Disabled
Device ID                       : aabb.cc00.0600

Feature VLAN:
--------------
VTP Operating Mode                : Primary Server
Number of existing VLANs          : 6
Number of existing extended VLANs : 1
Configuration Revision            : 1
Primary ID                        : aabb.cc00.0600
Primary Description               : SW1
MD5 digest                        : 0x6D 0x03 0xB9 0x24 0xB8 0x1F 0xE4 0x7A
                                    0x11 0x0A 0x00 0xF3 0x19 0x4A 0x4C 0xC9


Feature MST:
--------------
VTP Operating Mode                : Transparent

 --More--
*Dec  7 13:04:25.208: %AMDP2_FE-6-EXCESSCOLL: Ethernet3/3 TDR=0, TRC=0

Feature UNKNOWN:
--------------
VTP Operating Mode                : Transparent

在 SW2 VTP Client 也看到 Primary ID 是 SW1 的 ID。所有此 VTP Version 3 的 Switch 只接受來自 Primary Server 的更新。

SW2#show vtp status
VTP Version                     : 3 (capable)
VTP version running             : 3
VTP Domain Name                 : jannet
VTP Pruning Mode                : Disabled (Operationally Disabled)
VTP Traps Generation            : Disabled
Device ID                       : aabb.cc00.0500

Feature VLAN:
--------------
VTP Operating Mode                : Client
Number of existing VLANs          : 6
Number of existing extended VLANs : 1
Configuration Revision            : 1
Primary ID                        : aabb.cc00.0600
Primary Description               : SW1
MD5 digest                        : 0x6D 0x03 0xB9 0x24 0xB8 0x1F 0xE4 0x7A
                                    0x11 0x0A 0x00 0xF3 0x19 0x4A 0x4C 0xC9


Feature MST:
--------------
VTP Operating Mode                : Transparent


Feature UNKNOWN:
--------------
VTP Operating Mode                : Transparent

Primary Server 更改完成後建議把其免去 Primary Server 的角色,避免意外。方法是把 VTP mode 改成 Transparent 再改回 Server。

SW1(config)#vtp mode transparent
Setting device to VTP Transparent mode for VLANS.
SW1(config)#vtp mode server
Setting device to VTP Server mode for VLANS.
SW1(config)#end
SW1#show vtp status
VTP Version                     : 3 (capable)
VTP version running             : 3
VTP Domain Name                 : jannet
VTP Pruning Mode                : Disabled (Operationally Disabled)
VTP Traps Generation            : Disabled
Device ID                       : aabb.cc00.0600
 
Feature VLAN:
--------------
VTP Operating Mode                : Server
Number of existing VLANs          : 6
Number of existing extended VLANs : 1
Configuration Revision            : 1
Primary ID                        : 0000.0000.0000
Primary Description               :
MD5 digest                        : 0x6D 0x03 0xB9 0x24 0xB8 0x1F 0xE4 0x7A
                                    0x11 0x0A 0x00 0xF3 0x19 0x4A 0x4C 0xC9
 
<--Output Omitted-->

VTP Pruning

Virtual LAN (VLAN) 一篇中提及過,我們可以在 Trunk Link 上控制那些 VLAN 可以通過,那些不能,而 Pruning 則可進一步自動檢測 VLAN 在網絡上的分佈,從而知道 Trunk Link 需要什麼 VLAN Traffic,把不必要的 Traffic 自動擋下來,減少浪費 Bandwidth。

這部份用真實 Switch 測試會比較理想,首先把兩隻 Switch 連接好並設定好 VTP。

undefined

現在我們試在 SW1 新增 11-20。看看 Fa1/0/13 的 trunk 狀態,由於預設 Vlan Allowed 是全開的,所以 Vlan allowed 顯示 1-4094,但因為本機只有預設的 Vlan 1 及剛剛新增的 Vlan 11-20,所以 Vlan allowed and active 就只有 Vlan 1,11-20。最後由於 VTP Pruning 並沒有開啟,所以最後一行 Vlans in spanning tree forwarding state and not pruned 也是 Vlan 1,11-20。如果讀者並未了解這 3 行是什麼東東,可以參考過去的一篇文章:Virtual LAN (VLAN)

SW1(config)#vlan 11-20
SW1(config-vlan)#end

SW1#show int fastEthernet 1/0/13 trunk
 
Port        Mode         Encapsulation  Status        Native vlan
Fa1/0/13    desirable    802.1q         trunking      1
 
Port        Vlans allowed on trunk
Fa1/0/13    1-4094
 
Port        Vlans allowed and active in management domain
Fa1/0/13    1,11-20
 
Port        Vlans in spanning tree forwarding state and not pruned
Fa1/0/13    1,11-20

現在嘗試 Enable VTP Pruning,設定方法很簡單,只要在 VTP Server 用 vtp pruning 指令即可,整個 VTP domain 裡的 Switch 都會變成 VTP Pruning Mode Enabed。

SW1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
SW1(config)#vtp pruning
Pruning switched on
SW1(config)#end
SW1#show vtp status
VTP Version                     : 2
Configuration Revision          : 8
Maximum VLANs supported locally : 1005
Number of existing VLANs        : 15
VTP Operating Mode              : Server
VTP Domain Name                 : jannet
VTP Pruning Mode                : Enabled
VTP V2 Mode                     : Disabled
VTP Traps Generation            : Disabled
MD5 digest                      : 0x4B 0xB5 0x0C 0x4F 0xDF 0x56 0xD1 0xF8

再看看 Fa1/0/13 的 trunk 發生了什麽改變,可見最後一行 Vlans in spanning tree forwarding state and not pruned 是餘下 Vlan 1,為什麼?因為 VTP 偵測到 SW2 根本沒有 Vlan 11-15 的 Interface,換句話說,SW1 明知道 SW2 不需要 Vlan 11-15 的 Traffic,所以就主動把 Traffic 停住了以減抵 Bandwidth 用量。至於 Vlan 1 包含了一些 Management Traffic,是不可以被 Pruned 的。

SW1#show int fastEthernet 1/0/13 trunk

Port        Mode         Encapsulation  Status        Native vlan
Fa1/0/13    desirable    802.1q         trunking      1

Port        Vlans allowed on trunk
Fa1/0/13    1-4094

Port        Vlans allowed and active in management domain
Fa1/0/13    1,11-15

Port        Vlans in spanning tree forwarding state and not pruned
Fa1/0/13    1

試試在 SW2 新增兩個 SVI,一個是 VLAN 11,一個是 VLAN 13。

SW2(config)#int vlan 11
SW2(config-if)#no shutdown
SW2(config-if)#int vlan 13
SW2(config-if)#no shutdown

於是 SW1 就會知道 SW2 現在需要 VLAN 11 和 VLAN 13 的 Traffic 了,VLAN 11 和 VLAN 13 就會 Not Pruned。

SW1#show int fastEthernet 1/0/13 trunk

Port        Mode         Encapsulation  Status        Native vlan
Fa1/0/13    desirable    802.1q         trunking      1

Port        Vlans allowed on trunk
Fa1/0/13    1-4094

Port        Vlans allowed and active in management domain
Fa1/0/13    1,11-15

Port        Vlans in spanning tree forwarding state and not pruned
Fa1/0/13    1,11,13