2.1.d (i) VTPv1, VTPv2, VTPv3, VTP Pruning

VTP is cisco proprietary, allows for VLAN propagation across all switches.

Vlan Trunking Protocol

Min Requirements:
All switches use the same VTP domain name (case sensitive)
Switches need to be connected via trunks
The same VTP pass needs to be used on all members
Same version of VTP must be used across a link
The same switch can run VTP v3 on another link
Ideally all the same switches in the VTP domain will run the same version (not every switch supports v3)

A switch running v1 but is v2 capable will auto use v2 if it detects a v2/v3 neighbor.

VTP v2 supports token ring, lol.

Use “show vtp status” to determine vtp mode, domain, and version

Some VTP commands you can run in exec mode and don’t need to be in global config. For best practice just use global config.

Show VTP Status will also show if you are capable of v3.

VTP v3 must be manually configured, v2 will auto upgrade if it can.

V1 and V2 can learn the domain name, but vtpv3 must manually configure it.

When you create a VTP domain, and your other switches are running VTP, they will learn your VTP domain.

A warning that if you are on a VTP mode client switch and you try to create a vlan by assigning it to a port, it wont warn you that it wont work , for example:
en
conf t
int g0/1
switchport access vlan 999

The switch will accept this command but not warn you it did not work due to being in vtp mode client.

VTPv3 benefits:
Supports normal and extended VLAN ranges.
Supports propagation of private vlans
Option for clear or hidden vtp pass
Support for propagation of 802.1s (MST) config info
Can turn vtp off per port : no vtp

VTPv3 Auth changes:
Can use passwords of course
ALL versions of VTP will not show the pass in the running config

Typing the pass options:
Normal method – config# vtp password <pass>
Hidden method – config# vtp password <pass> hidden
Secret method – config# vtp password <32hexchar> secret

In VTP v1 and 2 all switches were VTP servers (any switch can override vtp configs)
VTPv3 adds a secondary server option, which is the default setting. This setting does not allow manual add or delete of vlans. (similar to vtp client mode in v1 and 2). Only one of your switches can become the primary server.

VTP Pruning:
VTP pruning is a way to automatically remove vlans from a switchport trunk when they cause unnecessary traffic/bandwidth.

For example:
SW1 – SW2 – SW3
they all have
switchport mode trunk
switchport trunk allowed vlan all

They are all also in the VTP domain with SW2 being the server. We enable VTP pruning on the server “vtp pruning” and it propagates down to clients.
Now switches wil sent joins and prunes such that if SW3 has no ports for a certain vlan, it will remove that vlan from the trunk between SW2 and SW3.

Again to configure VTP pruning you must be on the SERVER:
conf t
vtp pruning

verify it with
show vtp status

Note VTP pruning for V3 requires being explicitly configured and will NOT be propagated down like it is in VTP v1-2. This conforms with VTP v3 config, everything must be statically configured.
Section 2.1.d (i) VTPv1, VTPv2, VTPv3, VTP Pruning

VTP pruning is disabled by default

Vlan 1 cannot be pruned.

VTP pruning does NOT work on extended range vlans.

If you change VTP mode what happens to the VLANS learned by VTP?
They are wiped from the vlan database.

What VTP advertisements are sent out:
VTP advertisement request – Message by clients to servers requesting VTP information they could be missing
VTP summary advertisement – Every 5 mins each switch sends out their vtp domain, along with revision number. These messages do not contain and vlan info.
VTP subset advertisement – Contains all of the VLANs , is used to notify switches of vlans
VTP join – A message utilized if we have VTP pruning enabled, goes out every 6 seconds

What is true about VTP compatability in V1-3?
V1 and 2 are compatible, v2 and 3 are compatible with each other.

https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst3560/software/release/12-1_19_ea1/configuration/guide/3560scg/swvtp.html