Configuring VLAN Trunk Protocol (VTP)
________________________________________
Follow us on Facebook
Follow us on Google+
________________________________________
Introduction
This document provides information on how to configure VLAN Trunk Protocol (VTP). VTP reduces administration in a switched network. When you configure a new VLAN on one VTP server, the VLAN is distributed through all switches in the domain. This reduces the need to configure the same VLAN everywhere. VTP is a Cisco-proprietary protocol that is available on most of the Cisco Catalyst series products.
VTP Configuration Guidelines
This section provides some guidelines for the configuration of VTP in the network.-
All switches have the same the VTP domain name, unless the network design insists for different VTP domains.
Note: Trunk negotiation does not work across VTP domains. Refer to the Data Traffic Blocked between VTP Domains section of Troubleshooting VLAN Trunk Protocol (VTP) for more information.
-
All switches in a VTP domain must run the same VTP version.
-
All switches in a VTP domain has the same VTP password, if there is any.
-
All VTP Server switch(es) should have the same configuration revision number and it should also be the highest in the domain.
-
When you move a VTP mode of a switch from Transparent to Server,
VLANs configured on the VTP Transparent switch should exist on the
Server switch.
VTP Configuration on Catalyst Switches
This section provides some basic commands in order to configure VTP on the most commonly used Catalyst switches.Note: The Catalyst 2948G-L3 and Catalyst 4908G-L3 Layer 3 (L3) switches do not support several Layer 2 (L2)-oriented protocols that are found on other Catalyst switches. Such protocols include VTP, DTP, and Port Aggregation Protocol (PAgP).
Catalyst 6500/6000 Series Cisco IOS Software/Catalyst 4500/4000 Cisco IOS Software (Supervisor Engine III/Supervisor Engine IV), Catalyst 2950, 3550, and 3750 Series Switches
There are two methods that you can use in order to configure VTP, as this section shows. Method 2 (the global configuration mode method) is not available in earlier software on Catalyst 6500 series switches that run Cisco IOS® Software.-
In VLAN database mode:
In Cisco IOS Software, you can configure the VTP domain name, the VTP mode, and the VLANs in VLAN configuration mode.
-
In EXEC mode, issue this command in order to enter VLAN configuration mode:
Router#vlan database !--- Issue this command in privileged EXEC mode, !--- not in global configuration mode. Router(vlan)# !--- This is VLAN configuration mode.
-
Issue this command in order to set the VTP domain name:
Router(vlan)#vtp domain domain-name
-
Issue this command in order to set the VTP mode:
Router(vlan)#vtp {client | server | transparent}
-
Issue the exit command in order to exit VLAN configuration mode.
Note: The end and the Ctrl-Z commands do not work in this mode.
Router(vlan)#end Router(vlan)#^Z % Invalid input detected at '^' marker. Router(vlan)# Router(vlan)#exit APPLY completed. Exiting.... Router#
-
In EXEC mode, issue this command in order to enter VLAN configuration mode:
-
In global configuration mode:
In Cisco IOS Software global configuration mode, you can configure all VTP parameters with Cisco IOS Software commands. This is the command format:
Router(config)#vtp ? domain Set the name of the VTP administrative domain. file Configure IFS filesystem file where VTP configuration is stored. interface Configure interface as the preferred source for the VTP IP updater address. mode Configure VTP device mode password Set the password for the VTP administrative domain pruning Set the administrative domain to permit pruning version Set the administrative domain to VTP version
-
Issue these commands in order to monitor VTP operation and status:
Router#show vtp status Router#show vtp counters
Catalyst 4500/4000, 5500/5000, or 6500/6000 Series CatOS
Complete these steps:-
Issue this command in order to set the domain name:
set vtp domain name
-
Issue this command in order to set the mode:
set vtp mode [server | client | transparent]
-
Issue these commands in order to monitor the VTP operation and status:
show vtp domain show vtp statistics
Catalyst 2900XL, 3500XL, 2950, and 3550
Complete these steps:-
Issue these commands from the VLAN database mode:
Note: This is similar to the method for Cisco 6500 series switches that run Cisco IOS Software.
vtp [client | server | transparent] vtp domain name
-
From enable mode, issue these commands in order to monitor VTP operation:
show vtp counters show vtp status
Catalyst Express 500 Series Switches
Catalyst Express 500 series switches support only VTP transparent mode. There is currently no support for VTP client or VTP server mode. The user must manually configure all VLANs that are used on the switch.Open the Switch Management, choose Configure > VLAN > Create, and fill out the available fields in order to configure a VLAN on a Catalyst Express 500 series switch.
Refer to the Create, Modify, and Delete VLANs section of Customization for more information.
Practical Examples
Example 1:This example involves two Catalyst 4000 switches that are connected by a Fast Ethernet link:
-
Bing is a new switch that has no VTP domain name and no VLAN. Clic is
a switch that currently exists and runs with 12 VLANs in the VTP domain
test.
-
In this sample output from the show vtp domain command, you can see that the VTP version is set at 2.
This means that the switch is VTP V2-capable. However, the switch does
not run VTP V2 in this case. The switch only runs VTP V2 if the V2 mode
is enabled with the set vtp v2 enable command:
bing (enable) show vtp domain Domain Name Domain Index VTP Version Local Mode Password -------------------------------- ------------ ----------- ----------- ---------- 1 2 server - Vlan-count Max-vlan-storage Config Revision Notifications ---------- ---------------- --------------- ------------- 5 1023 0 disabled Last Updater V2 Mode Pruning PruneEligible on Vlans --------------- -------- -------- ------------------------- 0.0.0.0 disabled disabled 2-1000 bing (enable) bing (enable) show vlan VLAN Name Status IfIndex Mod/Ports, Vlans ---- -------------------------------- --------- ------- ------------------------ 1 default active 67 2/1-2,2/4-48 3/1-6 1002 fddi-default active 68 1003 token-ring-default active 71 1004 fddinet-default active 69 1005 trnet-default active 70 clic (enable) show vtp domain Domain Name Domain Index VTP Version Local Mode Password -------------------------------- ------------ ----------- ----------- ---------- test 1 2 server - Vlan-count Max-vlan-storage Config Revision Notifications ---------- ---------------- --------------- ------------- 12 1023 11 disabled Last Updater V2 Mode Pruning PruneEligible on Vlans --------------- -------- -------- ------------------------- 0.0.0.0 disabled disabled 2-1000 clic (enable) show vlan VLAN Name Status IfIndex Mod/Ports, Vlans ---- -------------------------------- --------- ------- ------------------------ 1 default active 65 2/1-2,2/4-50 2 VLAN0002 active 77 3 VLAN0003 active 78 2/3 4 VLAN0004 active 79 5 VLAN0005 active 73 6 VLAN0006 active 74 7 VLAN0007 active 76 10 VLAN0010 active 80 1002 fddi-default active 66 1003 token-ring-default active 69 1004 fddinet-default active 67 1005 trnet-default active 68 68
-
At this stage, a trunk is created between the two switches. Notice how they synchronize and watch the VTP packet exchange:
MAC 005014BB63FD is clic MAC 003019798CFD is bing
-
Clic sends a summary advertisement to bing. Bing learns the VTP domain name from this packet, in FRAME 1 in this sample output:
!--- On bing: received vtp packet: mNo = 2 pNo = 1 VTP: i summary, domain = test, rev = 11, followers = 0 !--- This indicates that bing has received its !--- first summary advertisement. domain change notification sent VTP: transitioning from null to test domain !--- This is where bing gets the VTP domain name. VTP: summary packet rev 11 greater than domain test rev 0 VTP: domain test currently not in updating state VTP: summary packet with followers field zero ------------------FRAME 1----------------------------------- DLC: ----- DLC Header ----- DLC: DLC: Frame 1988 arrived at 15:01:00.1223; frame size is 99 (0063 hex) bytes. DLC: Destination = Multicast 01000CCCCCCC DLC: Source = Station 005014BB63FD DLC: 802.3 length = 85 DLC: LLC: ----- LLC Header ----- LLC: LLC: DSAP Address = AA, DSAP IG Bit = 00 (Individual Address) LLC: SSAP Address = AA, SSAP CR Bit = 00 (Command) LLC: Unnumbered frame: UI LLC: SNAP: ----- SNAP Header ----- SNAP: SNAP: Vendor ID = Cisco1 SNAP: Type = 2003 (VTP) SNAP: VTP: ----- Cisco Virtual Trunk Protocol (VTP) Packet ----- VTP: VTP: Version = 1 VTP: Message type = 0x01 (Summary-Advert) VTP: Number of Subset-Advert messages = 0 VTP: Length of management domain name = 4 VTP: Management domain name = "test" VTP: Number of Padding bytes = 28 VTP: Configuration revision number = 0x0000000b VTP: Updater Identity IP address = 0.0.0.0 VTP: Update Timestamp = "930525053753" VTP: MD5 Digest value = 0x857610862F3015F0 VTP: 0x220A52427247A7A0 -----------------------------------------------------------
-
With the trace command set, bing receives a summary
advertisement with no followers. Therefore, bing updates its domain name
and sends advertisement requests to obtain the VLAN information, in FRAME 2 in this sample output:
!--- On bing: VTP: tx vtp request, domain test, start value 0 !--- This is where the advertisement request is sent. ----------------------FRAME 2-------------------------------- DLC: ----- DLC Header ----- DLC: DLC: Frame 1683 arrived at 17:38:55.9383; frame size is 60 (003C hex) bytes. DLC: Destination = Multicast 01000CCCCCCC DLC: Source = Station 003019798CFD DLC: 802.3 length = 46 DLC: LLC: ----- LLC Header ----- LLC: LLC: DSAP Address = AA, DSAP IG Bit = 00 (Individual Address) LLC: SSAP Address = AA, SSAP CR Bit = 00 (Command) LLC: Unnumbered frame: UI LLC: SNAP: ----- SNAP Header ----- SNAP: SNAP: Vendor ID = Cisco1 SNAP: Type = 2003 (VTP) SNAP: VTP: ----- Cisco Virtual Trunk Protocol (VTP) Packet ----- VTP: VTP: Version = 1 VTP: Message type = 0x03 (Advert-Request) VTP: Reserved VTP: Length of management domain name = 4 VTP: Management domain name = "test" VTP: Padding bytes = 28 VTP: Start value = 0 (all VLANs) --------------------------------------------------------
-
Clic sends another summary advertisement with field followers to VLAN 1. The subset advertisement that contains all VLANs, in FRAME 3 in this output, follows this packet. Then, bing configures all the VLANs:
!--- On bing: received vtp packet: mNo = 2 pNo = 1 VTP: i summary, domain = test, rev = 11, followers = 1 !--- Bing has received its second summary advertisement. VTP: domain test, current rev = 0 found for summary pkt VTP: summary packet rev 11 greater than domain test rev 0 !--- This configuration revision is higher than that on bing. VTP: domain test currently not in updating state received vtp packet: mNo = 2 pNo = 1 VTP: i subset, domain = test, rev = 11, seq = 1, length = 344 !--- Bing has received its subset advertisement. VTP: domain test, current rev = 0 found for subset pkt domain change notification sent vlan 1 unknown tlv change notification sent vlan 2 unknown tlv change notification sent vtp_vlan_change_notification: vlan = 2, mode = 1 (ADD,ACTIVE), mNo = 2 pNo = 1 vlan = 2 vlan 3 unknown tlv change notification sent vtp_vlan_change_notification: vlan = 3, mode = 1 (ADD,ACTIVE), mNo = 2 pNo = 1 vlan = 3 vlan 4 unknown tlv change notification sent vtp_vlan_change_notification: vlan = 4, mode = 1 (ADD,ACTIVE), mNo = 2 pNo = 1 vlan = 4 vlan 5 unknown tlv change notification sent vtp_vlan_change_notification: vlan = 5, mode = 1 (ADD,ACTIVE), mNo = 2 pNo = 1 vlan = 5 vlan 6 unknown tlv change notification sent vtp_vlan_change_notification: vlan = 6, mode = 1 (ADD,ACTIVE), mNo = 2 pNo = 1 vlan = 6 vlan 7 unknown tlv change notification sent vtp_vlan_change_notification: vlan = 7, mode = 1 (ADD,ACTIVE), mNo = 2 pNo = 1 vlan = 7 -----------------FRAME 3---------------------------------- DLC: ----- DLC Header ----- DLC: DLC: Frame 2008 arrived at 15:01:03.9661; frame size is 99 (0063 hex) bytes. DLC: Destination = Multicast 01000CCCCCCC DLC: Source = Station 003019798CFD DLC: 802.3 length = 85 DLC: LLC: ----- LLC Header ----- LLC: LLC: DSAP Address = AA, DSAP IG Bit = 00 (Individual Address) LLC: SSAP Address = AA, SSAP CR Bit = 00 (Command) LLC: Unnumbered frame: UI LLC: SNAP: ----- SNAP Header ----- SNAP: SNAP: Vendor ID = Cisco1 SNAP: Type = 2003 (VTP) SNAP: VTP: ----- Cisco Virtual Trunk Protocol (VTP) Packet ----- VTP: VTP: Version = 1 VTP: Message type = 0x01 (Summary-Advert) VTP: Number of Subset-Advert messages = 1 !--- Here are the numbers. VTP: Length of management domain name = 4 VTP: Management domain name = "test" VTP: Number of Padding bytes = 28 VTP: Configuration revision number = 0x0000000b VTP: Updater Identity IP address = 0.0.0.0 VTP: Update Timestamp = "930525053753" VTP: MD5 Digest value = 0x857610862F3015F0 VTP: 0x220A52427247A7A0 DLC: ----- DLC Header ----- DLC: DLC: Frame 2009 arrived at 15:01:03.9664; frame size is 366 (016E hex) bytes. DLC: Destination = Multicast 01000CCCCCCC DLC: Source = Station 003019798CFD DLC: 802.3 length = 352 DLC: LLC: ----- LLC Header ----- LLC: LLC: DSAP Address = AA, DSAP IG Bit = 00 (Individual Address) LLC: SSAP Address = AA, SSAP CR Bit = 00 (Command) LLC: Unnumbered frame: UI LLC: SNAP: ----- SNAP Header ----- SNAP: SNAP: Vendor ID = Cisco1 SNAP: Type = 2003 (VTP) SNAP: VTP: ----- Cisco Virtual Trunk Protocol (VTP) Packet ----- VTP: VTP: Version = 1 VTP: Message type = 0x02 (Subset-Advert) VTP: Sequence number = 1 VTP: Management Domain Name length = 4 VTP: Management Domain Name = "test" VTP: Number of Padding bytes = 28 VTP: Configuration revision number = 0x0000000b VTP: VTP: VLAN Information Field # 1: VTP: VLAN information field length = 20 VTP: VLAN Status = 00 (Operational) VTP: VLAN type = 1 (Ethernet) VTP: Length of VLAN name = 7 VTP: ISL VLAN-id = 1 VTP: MTU size = 1500 VTP: 802.10 SAID field = 100001 VTP: VLAN Name = "default" VTP: # padding bytes in VLAN Name = 1 VTP: VTP: VLAN Information Field # 2: VTP: VLAN information field length = 20 VTP: VLAN Status = 00 (Operational) VTP: VLAN type = 1 (Ethernet) VTP: Length of VLAN name = 8 VTP: ISL VLAN-id = 2 VTP: MTU size = 1500 VTP: 802.10 SAID field = 100002 VTP: VLAN Name = "VLAN0002" VTP: # padding bytes in VLAN Name = 0 VTP: VTP: VLAN Information Field # 3: VTP: VLAN information field length = 20 VTP: VLAN Status = 00 (Operational) VTP: VLAN type = 1 (Ethernet) VTP: Length of VLAN name = 8 VTP: ISL VLAN-id = 3 VTP: MTU size = 1500 VTP: 802.10 SAID field = 100003 VTP: VLAN Name = "VLAN0003" VTP: # padding bytes in VLAN Name = 0 VTP: VTP: VLAN Information Field # 4: VTP: VLAN information field length = 20 VTP: VLAN Status = 00 (Operational) VTP: VLAN type = 1 (Ethernet) VTP: Length of VLAN name = 8 VTP: ISL VLAN-id = 4 VTP: MTU size = 1500 VTP: 802.10 SAID field = 100004 VTP: VLAN Name = "VLAN0004" VTP: # padding bytes in VLAN Name = 0 VTP: VTP: VLAN Information Field # 5: VTP: VLAN information field length = 20 VTP: VLAN Status = 00 (Operational) VTP: VLAN type = 1 (Ethernet) VTP: Length of VLAN name = 8 VTP: ISL VLAN-id = 5 VTP: MTU size = 1500 VTP: 802.10 SAID field = 100005 VTP: VLAN Name = "VLAN0005" VTP: # padding bytes in VLAN Name = 0 VTP: VTP: VLAN Information Field # 6: VTP: VLAN information field length = 20 VTP: VLAN Status = 00 (Operational) VTP: VLAN type = 1 (Ethernet) VTP: Length of VLAN name = 8 VTP: ISL VLAN-id = 6 VTP: MTU size = 1500 VTP: 802.10 SAID field = 100006 VTP: VLAN Name = "VLAN0006" VTP: # padding bytes in VLAN Name = 0 VTP: VTP: VLAN Information Field # 7: VTP: VLAN information field length = 20 VTP: VLAN Status = 00 (Operational) VTP: VLAN type = 1 (Ethernet) VTP: Length of VLAN name = 8 VTP: ISL VLAN-id = 7 VTP: MTU size = 1500 VTP: 802.10 SAID field = 100007 VTP: VLAN Name = "VLAN0007" VTP: # padding bytes in VLAN Name = 0 VTP: VTP: VLAN Information Field # 8: VTP: VLAN information field length = 20 VTP: VLAN Status = 00 (Operational) VTP: VLAN type = 1 (Ethernet) VTP: Length of VLAN name = 8 VTP: ISL VLAN-id = 10 VTP: MTU size = 1500 VTP: 802.10 SAID field = 100010 VTP: VLAN Name = "VLAN0010" VTP: # padding bytes in VLAN Name = 0 VTP: VTP: VLAN Information Field # 9: VTP: VLAN information field length = 32 VTP: VLAN Status = 00 (Operational) VTP: VLAN type = 2 (FDDI) VTP: Length of VLAN name = 12 VTP: ISL VLAN-id = 1002 VTP: MTU size = 1500 VTP: 802.10 SAID field = 101002 VTP: VLAN Name = "fddi-default" VTP: # padding bytes in VLAN Name = 0 VTP: Reserved 8 bytes VTP: VTP: VLAN Information Field # 10: VTP: VLAN information field length = 40 VTP: VLAN Status = 00 (Operational) VTP: VLAN type = 3 (Token-Ring) VTP: Length of VLAN name = 18 VTP: ISL VLAN-id = 1003 VTP: MTU size = 1500 VTP: 802.10 SAID field = 101003 VTP: VLAN Name = "token-ring-default" VTP: # padding bytes in VLAN Name = 2 VTP: Reserved 8 bytes VTP: VTP: VLAN Information Field # 11: VTP: VLAN information field length = 36 VTP: VLAN Status = 00 (Operational) VTP: VLAN type = 4 (FDDI-Net) VTP: Length of VLAN name = 15 VTP: ISL VLAN-id = 1004 VTP: MTU size = 1500 VTP: 802.10 SAID field = 101004 VTP: VLAN Name = "fddinet-default" VTP: # padding bytes in VLAN Name = 1 VTP: Reserved 8 bytes VTP: VTP: VLAN Information Field # 12: VTP: VLAN information field length = 36 VTP: VLAN Status = 00 (Operational) VTP: VLAN type = 5 (TR-Net) VTP: Length of VLAN name = 13 VTP: ISL VLAN-id = 1005 VTP: MTU size = 1500 VTP: 802.10 SAID field = 101005 VTP: VLAN Name = "trnet-default" VTP: # padding bytes in VLAN Name = 3 VTP: Reserved 8 bytes ----------------------------------------------------------------
-
At this point, both switches are synchronized:
bing (enable) show vtp domain Domain Name Domain Index VTP Version Local Mode Password ------------------------------- ------------ ----------- ----------- ---------- test 1 2 server - Vlan-count Max-vlan-storage Config Revision Notifications ---------- ---------------- --------------- ------------- 12 1023 11 disabled Last Updater V2 Mode Pruning PruneEligible on Vlans --------------- -------- -------- ------------------------- 0.0.0.0 disabled disabled 2-1000 bing (enable) show vlan VLAN Name Status IfIndex Mod/Ports, Vlans ---- -------------------------------- --------- ------- ------------------------ 1 default active 127 2/2-48 3/1-6 2 VLAN0002 active 132 3 VLAN0003 active 133 4 VLAN0004 active 134 5 VLAN0005 active 135 6 VLAN0006 active 136 7 VLAN0007 active 137 10 VLAN0010 active 138 1002 fddi-default active 128 1003 token-ring-default active 131 1004 fddinet-default active 129 1005 trnet-default active 130
This example shows how to verify the VTP configuration on a Catalyst 6000 that runs Cisco IOS Software:
Example 3:Router#show vtp status VTP Version: 2 Configuration Revision: 247 Maximum VLANs supported locally: 1005 Number of existing VLANs: 33 VTP Operating Mode: Client VTP Domain Name: Lab_Network VTP Pruning Mode: Enabled VTP V2 Mode: Disabled VTP Traps Generation: Disabled MD5 digest: 0x45 0x52 0xB6 0xFD 0x63 0xC8 0x49 0x80 Configuration last modified by 0.0.0.0 at 8-12-99 15:04:49 Router#
This example shows how to display VTP statistics on a Catalyst 6000 that runs Cisco IOS Software:
Router#show vtp counters VTP statistics: Summary advertisements received: 7 Subset advertisements received: 5 Request advertisements received: 0 Summary advertisements transmitted: 997 Subset advertisements transmitted: 13 Request advertisements transmitted: 3 Number of config revision errors: 0 Number of config digest errors: 0 Number of V1 summary errors: 0 VTP pruning statistics: Trunk Join Transmitted Join Received Summary advts received from on-pruning-capable device ---------------- ---------------- ---------------- --------------------------- Fa5/8 43071 42766 5