Skip to main content

VLAN Trunking Protocol


·         VTP sends messages between trunked switches to maintain VLANs on these switches in order to properly trunk.
·         VTP is a Cisco proprietary method of managing VLANs between switches and runs across any type of trunking mechanism.
·         VTP messages are exchanged between switches within a common VTP domain.
·         VTP domains must be defined or VTP disabled before a VLAN can be created.
·         Exchanges of VTP information can be controlled by passwords.
·         VTP manages only VLANs 2 through 1002.
·         VTP allows switches to synchronize their VLANs based on a configuration revision number.
·         Switches can operate in one of three VTP modes: server, transparent, or client.
·         VTP can prune unneeded VLANs from trunk links.

Enabling VTP for Operation

VTP exists to ensure that VLANs exist on the local VLAN database of switches in a trunked path. In addition to making sure the VLANs exist, VTP can further synchronize name settings and can be used to prune VLANs from trunk links that are destined for switches that do not have any ports active in that particular VLAN.
To manage and configure VTP, use the following steps.
1.      Activate VTP on a switch.
a.       Specify a VTP domain name:
COS set vtp domain name
IOS (privileged) vlan database
(vlan_database) vtp domain name
-OR-
(global) vtp domain name

b.      By default VTP is in server mode, which is an operational mode that enables you to manage VLANs on the local switch's database and use the information in the database to synchronize with other switches. To configure VTP for operation, you must specify a name. After you enable trunking, this name propagates to switches that have not been configured with a name. If you choose to configure names on your switches, however, remember that VTP names are case-sensitive and must match exactly. Switches that have different VTP names will not exchange VLAN information.
c.       The global configuration command vtp domain is not supported on all switches that run the IOS.
d.      VTP names are used only in the context of synchronizing VTP databases. VTP domain names do not separate broadcast domains. If VLAN 20 exists on two switches trunked together with different VTP domain names, VLAN 20 is still the same broadcast domain!
e.       Enable the trunk:
COS set trunk mod/port [auto | desirable | on | nonegotiate | off]
IOS (global) interface type mod/port
(interface) switchport mode dynamic [auto | desirable]
(interface) switchport mode trunk
(interface) switchport nonegotiate

f.       VTP information is passed only across trunk links. If you do not enable a trunk, VLAN information is not exchanged between the switches. See section "6-3: Trunking" for more details on trunking.
g.      Some IOS switches do not support DTP. For these switches, the only command that you can use to configure trunking is switchport mode trunk, which essentially turns trunking on.

Setting VTP Passwords

By default, there are no passwords in VTP informational updates, and any switch that has no VTP domain name will join the VTP domain when trunking is enabled. Also any switch that has the same VTP domain name configured will join and exchange VTP information. This could enable an unwanted switch in your network to manage the VLAN database on each of the switches. To prevent this from occurring, set a VTP password on the switches you want to exchange information.
1.      (Optional) Set the VTP password:
COS set vtp passwd password
IOS (privileged) vlan database
(vlan_database) vtp password password
-OR-
(global)vtp password password

2.      The password is entered on each switch that will be participating in the VTP domain. The passwords are case-sensitive and must match exactly. If you want to remove the passwords, use the command set vtp passwd 0 on a COS device or no vtp password in the VLAN database mode for the IOS device.
3.      If you choose to set a password for VTP, it must be between 8 and 32 characters in length.
4.      The global configuration command vtp password is not supported on all switches that run the IOS.

Changing VTP Modes

VTP operates in one of three modes: server, client, and transparent. The modes determine how VTP passes information, how VLAN databases are synchronized, and whether VLANs can be managed for a given switch.
1.      (Optional) Set the VTP mode:
COS set vtp mode [server | client | transparent]
IOS (privileged) vlan database
(vlan_database) vtp [server | client | transparent]
-OR-
(global)vtp mode [server | client | transparent]

2.      By default Cisco switches are in VTP server mode. For a VTP server, you can create, delete, or modify a VLAN in the local VLAN database. After you make this change, the VLAN database changes are propagated out to all other switches in server or client mode in the VTP domain. A server will also accept changes to the VLAN database from other switches in the domain. You can also run the VTP in client mode. Switches in client mode cannot create, modify, or delete VLANs in the local VLAN database. Instead, they rely on other switches in the domain to update them about new VLANs. Clients will synchronize their databases, but they will not save the VLAN information and will loose this information if they are powered off. Clients will also advertise information about their database and forward VTP information to other switches. VTP transparent mode works much like server mode in that you can create, delete, or modify VLANs in the local VLAN database. The difference is that these changes are not propagated to other switches. In addition, the local VLAN database does not accept modifications from other switches. VTP transparent mode switches forward or relay information between other server or client switches. A VTP transparent mode switch does not require a VTP domain name.
3.      The global configuration command vtp mode is not supported on all switches that run the IOS.
4.      As of COS 7.1(1), Cisco introduced a VTP off mode (set vtp mode off). This mode is similar to transparent mode; but in VTP off mode, the switch does not relay VTP information between switches. This command is useful when you do not want to send or forward VTP updates—for example, if you are trunking with all non-Cisco switches or if you are using Generic VLAN Registration Protocol (GVRP) dynamic VLAN creation to manage your VLAN database.

Enabling VTP Pruning

By default all the VLANs that exist on a switch are active on a trunk link. As noted in section "6-3: Trunking", you can manually remove VLANs from a trunk link and then add them later. VTP pruning allows the switch to not forward user traffic for VLANs that are not active on a remote switch. This feature dynamically prunes unneeded traffic across trunk links. If the VLAN traffic is needed at a later date, VTP will dynamically add the VLAN back to the trunk.
Dynamic pruning removes only unneeded user traffic from the link. It does not prevent any management frames such as STP from crossing the link.
1.      (Optional) Enable VTP pruning.
a.       Enable pruning:
COS set vtp pruning enable
IOS (privileged) vlan database
(vlan_database) vtp pruning

b.      After VTP pruning is enabled on one VTP server in the domain, all other switches in that domain will also enable VTP pruning. VTP pruning can only be enabled on switches that are VTP version 2-capable, so all switches in the domain must be version 2-capable before you enable pruning.
c.       The switch must be VTP version 2-capable, but does not have to have version 2 enabled, to turn on pruning.
d.      (Optional) Specify VLANs that are eligible for pruning:
COS clear vtp pruneeligible vlanlist
IOS (global) interface type mod/port
(interface) switchport trunk pruning vlan remove vlanlist

e.       By default all the VLANs on the trunk are eligible for pruning. You can remove VLANs from the list of eligible VLANs using these commands. After a VLAN has been removed from the eligible list, it cannot be pruned by VTP. To add the VLANs back, use the command set vtp pruneeligible vlanlist for COS switches or switchport trunk pruning vlan add vlanlist for IOS.

Changing VTP Versions

VTP supports two versions. By default all switches are in VTP version 1 mode, but most switches can support version 2 mode.
1.      (Optional) Enable VTP version 2:
COS set vtp v2 enable
IOS (privileged) vlan database
(vlan_database)vtp v2-mode
-OR-
(global)vtp version 2

2.      VTP version 2 is disabled by default. After you have enabled version 2 on one switch, all other switches in the domain also begin to operate in version 2 mode.
3.      The global configuration command vtp version 2 is not supported on all switches that run the IOS.
4.      VTP version 2 offers the following support options not available with version 1:
o    Unrecognized type-length-value (TLV) support—A VTP server or client propagates configuration changes to its other trunks, even for TLVs it is not able to parse. The unrecognized TLV is saved in NVRAM.
o    Version-dependent transparent mode—In VTP version 1, a VTP transparent switch inspects VTP messages for the domain name and version and forwards a message only if the version and domain name match. Because only one domain is supported in the Supervisor engine software, VTP version 2 forwards VTP messages in transparent mode, without checking the version.
o    Consistency checks—In VTP version 2, VLAN consistency checks (such as VLAN names and values) are performed only when you enter new information through the command-line interface (CLI) or Simple Network Management Protocol (SNMP). Consistency checks are not performed when new information is obtained from a VTP message or when information is read from NVRAM. If the digest on a received VTP message is correct, its information is accepted without consistency checks.

Verifying VTP Operation

After configuring VTP, use one of the following commands to verify the VLAN port assignments:
COS show vtp domain
IOS (privileged) show vtp status

Feature Example

In this example, Access_1, Distribution_1, and Distribution_2 will be assigned to a VTP domain named GO-CATS. shows that Access_1 will be in VTP client mode with an 802.1Q trunk connecting to Distribution_1. Distribution_1 will be configured in VTP server mode with an ISL trunk connecting it to Core_1, which is in VTP transparent mode. Core_1 has an ISL trunk to Distribution_2, which is also in VTP server mode. VTP pruning has also been enabled for the domain, and all switches are configured so that VLAN 10 is not prune-eligible on the trunk links. Because VTP runs across trunk links, it is not necessary to configure the VTP domain name on the Distribution_2 switch or the Access_1 switch. It is also not necessary to configure the pruning on each switch; this is also propagated by VTP.
Network Diagram for VTP Configuration on Access_1, Distribution_1, Distribution_2, and Core_1.
An example of the Catalyst OS configuration for Core_1 follows:
Core_1 (enable)>set vtp mode transparent
Core_1 (enable)>set trunk 1/1 on isl
Core_1 (enable)>set trunk 1/2 on isl
Core_1 (enable)>
An example of the Catalyst OS configuration for Distribution_1 follows:
Distribution_1 (enable)>set vtp domain GO-CATS
Distribution_1 (enable)>set trunk 1/1 on isl
Distribution_1 (enable)>set trunk 2/1 on dot1Q
Distribution_1 (enable)>set vtp pruning enable
Distribution_1 (enable)>clear vtp pruneeligible 10
An example of the Catalyst OS configuration for Distribution_2 follows:
Distribution_2 (enable)>set trunk 1/1 on isl
Distribution_2 (enable)>clear vtp pruneeligible 10
An example of the Layer 2 IOS configuration for Access_1 follows:
Access_1#vlan database
Access_1 (vlan)#vtp client
Access_1 (vlan)#exit
Access_1 #config t
Access_1 (config)#interface gigabitethernet 0/1
Access_1 (config-if)#switchport mode trunk
Access_1 (config-if)#switchport trunk encapsulation dot1Q
Access_1 (config-if)#switchport trunk pruning vlan remove 10
Access_1 (config-if)#end
Access_1#copy running-config startup-config

Popular posts from this blog

AD LDS – Syncronizing AD LDS with Active Directory

First, we will install the AD LDS Instance: 1. Create and AD LDS instance by clicking Start -> Administrative Tools -> Active Directory Lightweight Directory Services Setup Wizard. The Setup Wizard appears. 2. Click Next . The Setup Options dialog box appears. For the sake of this guide, a unique instance will be the primary focus. I will have a separate post regarding AD LDS replication at some point in the near future. 3. Select A unique instance . 4. Click Next and the Instance Name dialog box appears. The instance name will help you identify and differentiate it from other instances that you may have installed on the same end point. The instance name will be listed in the data directory for the instance as well as in the Add or Remove Programs snap-in. 5. Enter a unique instance name, for example IDG. 6. Click Next to display the Ports configuration dialog box. 7. Leave ports at their default values unless you have conflicts with the default values. 8. Click N...

HOW TO EDIT THE BCD REGISTRY FILE

The BCD registry file controls which operating system installation starts and how long the boot manager waits before starting Windows. Basically, it’s like the Boot.ini file in earlier versions of Windows. If you need to edit it, the easiest way is to use the Startup And Recovery tool from within Vista. Just follow these steps: 1. Click Start. Right-click Computer, and then click Properties. 2. Click Advanced System Settings. 3. On the Advanced tab, under Startup and Recovery, click Settings. 4. Click the Default Operating System list, and edit other startup settings. Then, click OK. Same as Windows XP, right? But you’re probably not here because you couldn’t find that dialog box. You’re probably here because Windows Vista won’t start. In that case, you shouldn’t even worry about editing the BCD. Just run Startup Repair, and let the tool do what it’s supposed to. If you’re an advanced user, like an IT guy, you might want to edit the BCD file yourself. You can do this...

DNS Scavenging.

                        DNS Scavenging is a great answer to a problem that has been nagging everyone since RFC 2136 came out way back in 1997.  Despite many clever methods of ensuring that clients and DHCP servers that perform dynamic updates clean up after themselves sometimes DNS can get messy.  Remember that old test server that you built two years ago that caught fire before it could be used?  Probably not.  DNS still remembers it though.  There are two big issues with DNS scavenging that seem to come up a lot: "I'm hitting this 'scavenge now' button like a snare drum and nothing is happening.  Why?" or "I woke up this morning, my DNS zones are nearly empty and Active Directory is sitting in a corner rocking back and forth crying.  What happened?" This post should help us figure out when the first issue will happen and completely av...