簡介
VTP域(VTP domain)也被稱為VLAN管理域(VLAN management domain),網路內的一個VTP域是一組通過trunk相互連線,並使用相同VTP域名的交換機。預設方式下,所有Cisco Catalyst交換機都被配置為 VTP 伺服器。這種情形適用於 VLAN 信息量小且易存儲於任意交換機(NVRAM)上的小型網路。對於大型網路,由於每台交換機都會進行 NVRAM 存儲操作,但該操作對於某些點是多餘的,所以在這些點必須設定一個“判決呼叫”(Judgment Call)。基於此,網路管理員所使用的 VTP 伺服器應該採用配置較好的交換機,其它交換機則作為客戶機使用。此外需要有某些 VTP 伺服器能提供網路所需的一定量的冗餘。
版本
VTP具有三種版本。其中VTPv2與VTPv1區別不大,主要不同在於:VTPv2支持令牌環VLANs,而VTPv1不支持。通常只有在使用TokenRingVLANs時,才會使用到VTPv2,否則一般情況下並不使用VTPv2。VTPv3不能直接處理VLANs事務,它只負責管理域(AdministrativeDomain)內不透明資料庫的分配任務。與前兩版相比,VTPv3具有以下改進:
支持擴展VLANs(4K)。
支持專用VLANs的創建和通告。
提供伺服器認證性能以防止錯誤的同步新插入的交換機的Vlan database。
與VTPv1和VTPv2互動作用。
支持每連線埠(OnaPer-PortBasis)配置。
支持傳播VLAN資料庫和其它資料庫類型。
支持明文和密文認證。
最佳化了資源處理和信息傳遞。
故障排查
在show run命令輸出中無法看到VLAN的詳細情況 在 CatOS 中進行配置更改後,這些更改會立即寫入 NVRAM。 相反,除非 發出copy running-config startup-config命令, Cisco IOS軟體不保存對NVRAM的配置更改。 VTP 客戶端和伺服器系統要求在沒有用戶干預的情況下,立即將來自其他 VTP 伺服器的 VTP 更新保存到 NVRAM 中。 默認 CatOS 操作符合 VTP 更新要求,但是 Cisco IOS 更新模型需要替代的更新操作。為了滿足這一變更,Cisco IOS 軟體中引入了 VLAN 資料庫,將其作為一種立即保存 VTP 客戶端和伺服器的 VTP 更新的方法。 在某些軟體的版本中,此 VLAN 資料庫在 NVRAM 中以單獨檔案的形式出現,稱為 vlan.dat 檔案。 如果發出 show vtp status 命令,則可以查看存儲在 VTP 客戶端或 VTP 伺服器的 vlan.dat 檔案中的 VTP/VLAN 信息。
如果在處於 VTP 伺服器/客戶端模式的交換機上發出 copy running-config startup-config 命令,則這些系統不會將整個 VTP/VLAN 配置保存到 NVRAM 中的啟動配置檔案。 系統會將配置保存到 vlan.dat 檔案。 這不適用於以 VTP 透明模式運行的系統。 當您發出 copy running-config startup-config 命令時,VTP 透明系統會將整個 VTP/VLAN 配置保存到 NVRAM 中的啟動配置檔案。 例如,如果在伺服器或客戶端模式下配置 VTP 後刪除了 vlan.dat 檔案,然後重新載入交換機,則 VTP 配置會重置為默認設定。 但是,如果在透明模式下配置 VTP,然後刪除 vlan.dat 檔案並重新載入交換機, VTP 配置將保持不變。
以下是默認 VTP 配置的一個示例:
Switch#show vtp status
VTP Version : 2
Configuration Revision : 0
Maximum VLANs supported locally : 1005
Number of existing VLANs : 5
VTP Operating Mode : Client
VTP Domain Name : CISCO
VTP Pruning Mode : Disabled
VTP V2 Mode : Disabled
VTP Traps Generation : Disabled
MD5 digest : 0xD3 0x78 0x41 0xC8 0x35 0x56 0x89 0x97
Configuration last modified by 0.0.0.0 at 0-0-00 00:00:00
當交換機處於 VTP 伺服器模式或 VTP 透明模式時,可配置正常範圍內的 VLAN(2 到 1000)。 但是,只能在處於 VTP 透明模式的交換機中配置擴展範圍內的 VLAN(1025 到 4094)。
必須發出 show vlan 命令,才能顯示二進制檔案中存儲的所有 VLAN 配置、VLAN ID、名稱等。
您可以使用 show vtp status 命令來顯示 VTP 信息、模式、域等。
當交換機處於 VTP 伺服器/客戶端模式時,show running-config 命令輸出中不會顯示 VLAN 信息和 VTP 信息。 這是正常的交換機行為。
Router#show run | include vlan
vlan internal allocation policy ascending
Router#show run | include vtp
處於 VTP 透明模式的交換機可在 show running-config 命令輸出中顯示 VLAN 和 VTP 配置,因為此信息也存儲在配置文本檔案中。
Router#show run | include vlan
vlan internal allocation policy ascending
vlan 1
tb-vlan1 1002
tb-vlan2 1003
vlan 20-21,50-51
vlan 1002
tb-vlan1 1
tb-vlan2 1003
vlan 1003
tb-vlan1 1
tb-vlan2 1002
vlan 1004
vlan 1005
Router#show run | include vtp
vtp domain cisco
vtp mode transparent
注意: 3500XL 不支持擴展範圍內的 VLAN。 2900XL 和 3500XL 只能使用 1-1001 範圍內的 VLAN,它們不支持擴展範圍內的 VLAN。 如果升級交換機的軟體,這不會使交換機增強為支持配置擴展範圍內的 VLAN。
Catalyst 交換機不交換 VTP 信息
VTP 允許交換機在相同 VTP 域中的其他成員之間通告 VLAN 信息。 通過使用 VTP,所有交換機之間可具有一致的交換網路視圖。 有幾個原因會導致無法交換 VLAN 信息。如果運行 VTP 的交換機無法交換 VLAN 信息,請檢查以下項目:
VTP 信息只通過中繼連線埠。 確保實現交換機互連的所有連線埠均配置為中繼,並且實際正在進行中繼。
確保當兩台交換機之間創建了 EtherChannel 時,只有第 2 層 EtherChannel 傳播 VLAN 信息。
確保 VLAN 在所有設備中都處於活動狀態。
在 VTP 域中,必須有一台交換機是 VTP 伺服器。 所有的 VLAN 更改都必須在此交換機上進行,以便將更改傳播到 VTP 客戶端。
VTP 域名必須匹配,並且要區分大小寫。 CISCO 和 cisco 是兩個不同的域名。
確保伺服器與客戶端之間未設定口令。 如果設定了口令,確保兩端的口令相同。
VTP 域中的每台交換機必須使用相同的 VTP 版本。 相同 VTP 域中的交換機上的 VTP V1 和 VTP V2 不兼容。 除非 VTP 域中的每台交換機都支持 VTP V2,否則不要啟用 VTP V2。
注意: 默認情況下,支持 VTP V2 的交換機上的 VTP V2 處於禁用狀態。 在一台交換機上啟用 VTP V2 後,VTP 域中支持 VTP V2 的每台交換機都會啟用 VTP V2。 您只能在處於 VTP 伺服器模式或透明模式的交換機上配置版本。
如果在透明模式下運行的交換機不在相同的 VTP 域中,則這些交換機會丟棄 VTP 通告。
不能傳播擴展範圍內的 VLAN。 因此,必須在每台網路設備上手動配置擴展範圍內的 VLAN。
注意: Catalyst 6500 Cisco IOS 軟體交換機將來會支持 VTP 版本 3。 該版本能夠傳輸擴展範圍內的 VLAN。 目前,只有 CatOS 支持 VTP 版本 3。 有關 VTP 版本 3 的詳細信息,請參閱配置 VTP 的了解 VTP 版本 3 的工作方式部分。
安全關聯標識符 (SAID) 值必須是唯一的。 SAID 是可由用戶配置的 4 位元組 VLAN 標識符。 SAID 標識屬於特定 VLAN 的流量。 SAID 還確定每個數據包被交換到的 VLAN。 SAID 值是 100,000 與 VLAN 編號之和。 以下是兩個示例:
VLAN 8 的 SAID 是 100008。
VLAN 4050 的 SAID 是 104050。
如果客戶端已經有較高的 VTP 修訂版號,則來自 VTP 伺服器的更新內容不會在客戶端進行更新。 此外,如果客戶端的修訂版號比 VTP 伺服器傳送的修訂版號高,則客戶端不允許這些更新流入其下游 VTP 客戶端。Catalyst 交換機自動將VTP 模式從客戶端模式切換到透明模式 某些 Catalyst 第 2 層和第 3 層固定配置交換機自動將 VTP 模式從客戶端模式切換到透明模式,並生成以下錯誤訊息:
%SW_VLAN-6-VTP_MODE_CHANGE: VLAN manager changing device mode from
CLIENT to TRANSPARENT.
以下任一原因都可能導致這些交換機自動切換 VTP 模式:
基於生成樹協定 (STP) 運行的 VLAN 的數量超過交換機可以支持的 VLAN 數量。
在使用每 VLAN 生成樹+ (PVST+) 協定的情況下,Catalyst 第 2 層和第 3 層固定配置交換機支持的最大 STP 實例數會有所不同。 例如,在 pvst+ 模式下,Catalyst 2940 支持 4 個 STP 實例,而 Catalyst 3750 支持 128 個 STP 實例。 如果 VTP 中定義的 VLAN 數量超過最大值,則剩餘的 VLAN 會在禁用 STP 的情況下運行。
如果已在使用的 STP 實例的數量超過最大值,則可以禁用其中一個 VLAN 上的 STP,然後在您希望運行 STP 的 VLAN 上啟用 STP。 發出 no spanning-tree vlan vlan-id 全局配置命令可禁用特定 VLAN 上的 STP。 然後,發出 spanning-tree vlan vlan-id 全局配置命令可啟用所需 VLAN 上的 STP。
注意: 不運行 STP 的交換機仍會轉發其收到的網橋協定數據單元 (BPDU)。 這樣,VLAN 中其他正在運行 STP 的交換機就可以斷開環路。 因此,要斷開網路中的所有環路,必須在足夠多的交換機上運行 STP。 例如,VLAN 中的每個環路上至少一台交換機必須運行 STP。 不需要在 VLAN 中的所有交換機上運行 STP。 但是,如果只在極少數交換機上運行 STP,則網路變更可能會使網路中產生環路,從而可能導致廣播風暴。
應急方案:
將配置的 VLAN 的數量減少到交換機可以支持的數量。
在交換機上配置 IEEE 802.1s 多重 STP (MSTP),以便將多個 VLAN 映射到單個 STP 實例。
使用支持更大數量的 VLAN 的交換機和/或映像(增強映像 [EI])。
交換機從相連的交換機接收到的 VLAN 數量超過其可支持的 VLAN 數量。
如果交換機收到的 VLAN 配置資料庫訊息中所包含的 VLAN 數量超過設定的 VLAN 數量,則也會自動進行 VTP 模式切換。 當 Catalyst 第 2 層和第 3 層固定配置交換機所連線到的 VTP 域中包含的 VLAN 數量超過本地支持的 VLAN 數量時,這些交換機中通常會出現上述情況。
應急方案:
在連線的交換機的中繼連線埠上配置允許的 VLAN 列表,以便限制傳遞給客戶端交換機的 VLAN 數量。
在 VTP 伺服器交換機上啟用修剪。
使用支持更大數量的 VLAN 的交換機和/或映像 (EI)。
VTP 域間的數據流量被阻塞
有時需要連線屬於兩個不同 VTP 域的交換機。 例如,有兩個名為 Switch1 和 Switch2 的交換機。 Switch1 屬於 VTP 域 cisco1,而 Switch2 屬於 VTP 域 cisco2。 使用動態中繼協商 (DTP) 配置這兩台交換機之間的中繼時,中繼協商失敗,並且交換機之間的中繼未形成,這是因為 DTP 在 DTP 數據包中傳送 VTP 域名。 因此,數據流量無法在交換機之間傳輸。Switch1#show vtp status
VTP Version : 2
Configuration Revision : 0
Maximum VLANs supported locally : 1005
Number of existing VLANs : 9
VTP Operating Mode : Server
VTP Domain Name : cisco1
VTP Pruning Mode : Disabled
VTP V2 Mode : Disabled
VTP Traps Generation : Disabled
Switch2#show vtp status
VTP Version : 2
Configuration Revision : 2
Maximum VLANs supported locally : 1005
Number of existing VLANs : 42
VTP Operating Mode : Server
VTP Domain Name : cisco2
VTP Pruning Mode : Disabled
VTP V2 Mode : Disabled
VTP Traps Generation : Disabled
Switch1#show interface fastethernet 1/0/23 trunk
Port Mode Encapsulation Status Native vlan
Fa1/0/23 auto 802.1q not-trunking 1
Port Vlans allowed on trunk
Fa1/0/23 1
Port Vlans allowed and active in management domain
Fa1/0/23 1
Port Vlans in spanning tree forwarding state and not pruned
Fa1/0/23 1
您可能還會看到以下錯誤訊息。
注意: 某些交換機不顯示以下錯誤訊息。
4w2d: %DTP-SP-5-DOMAINMISMATCH: Unable to perform trunk negotiation on port Fa3/
3 because of VTP domain mismatch.
此問題的解決方案是手動強制形成中繼,而不是依賴於 DTP。 使用 switchport mode trunk 命令配置交換機之間的中繼連線埠。
Switch1(config)#interface fastethernet 1/0/23
switch1(config-if)#switchport mode trunk
Switch2(config)#interface fastethernet 3/3
switch2(config-if)#switchport mode trunk
switch1#show interface fastethernet 1/0/23 trunk
Port Mode Encapsulation Status Native vlan
Fa1/0/23 on 802.1q trunking 1
Port Vlans allowed on trunk
Fa1/0/23 1-4094
Port Vlans allowed and active in management domain
Fa1/0/23 1-5
Port Vlans in spanning tree forwarding state and not pruned
Fa1/0/23 1-5
如何確定交換機是否可能受影響?
此 CatOS 版本中有一個保護功能,用於防止監視器逾時。 Catalyst 交換機可從 VTP 伺服器或客戶端模式切換到 VTP 透明模式。如何確定交換機是否已切換到 VTP 透明模式來防止監視器逾時? 如果 VTP 的日誌記錄級別上升到 4,則說明交換機已切換到 VTP 透明模式。Console> (enable) set logging level vtp 4 default
進行切換時,您可以看到以下訊息:
VTP-4-UNSUPPORTEDCFGRCVD:Rcvd VTP advert with unsupported vlan config on trunk mod/port- VTP mode changed to transparent交換機切換到 VTP 透明模式後有什麼負面影響? 如果啟用了修剪,則中繼將關閉。
如果中繼關閉且該 VLAN 中沒有其他連線埠,則安裝的 Multilayer Switch Feature Card (msfc) 中的 VLAN 接口將關閉。
如果出現這些情況,並且此交換機位於網路的核心位置,則網路可能受到負面影響。最近添加的交換機無法從 VTP 伺服器獲取 VLAN 新的交換機可能不會立即收到來自 VTP 伺服器的已配置 VLAN 列表。 要解決此問題,請對 VLAN 資料庫進行以下任一種修改:
創建任意 VLAN。
刪除任意 VLAN。
修改任何當前 VLAN 的屬性。
在相同域中的任何 VTP 伺服器上修改 VLAN 資料庫。
Switch#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Switch(config)#vlan 50 Switch(config-vlan)#name 50thVLAN Switch(config-vlan)#endSwitch#
修改完成後,新添加的交換機就能收到來自 VTP 伺服器的 VLAN 信息。