VTP_Top_1

So from my edit of the last post, SW1 and SW2 at this point are both again in the same VTP Domain, “CCNP” and are indeed exchanging VLAN information. I am sure you saw throughout the lab, that “Server” mode in “sh vtp status” was always on, because that is the default mode for VTP.

Now first I will look at our available VTP modes we can use, however in IOS 15.x there is a new mode I will highlight in the output:

SW2#conf t
Enter configuration commands, one per line. End with CNTL/Z.
SW2(config)#vtp mode ?
client Set the device to client mode.
off Set the device to off mode.
server Set the device to server mode.
transparent Set the device to transparent mode.

SW2(config)#

First of all, yes all 4 of the settings have always been that vague in description, that’s why you really need to learn what they do cause IOS help is not so helpful here. Secondly I’d like to again point out “off” is a new mode to 15.x, prior to that it only had the other three modes, and you’d need to use Transparent mode to get it to the closest thing of being off.

Also quickly I’d like to compare 12.2 IOS code “sh vtp status” output in comparison to 15.x IOS code in case it for some reason finds its way on the exam or somewhere in the wild:

IOS 12.2

SW4>en
SW3#sh vtp status
VTP Version : 2
Configuration Revision : 7
Maximum VLANs supported locally : 1005
Number of existing VLANs : 6
VTP Operating Mode : Server
VTP Domain Name :
VTP Pruning Mode : Disabled
VTP V2 Mode : Disabled
VTP Traps Generation : Disabled
MD5 digest : 0x04 0x08 0x10 0x9D 0x4C 0xF8 0xB2 0x54
Configuration last modified by 0.0.0.0 at 3-1-93 01:44:17
Local updater ID is 0.0.0.0 (no valid interface found)
SW4#

IOS 15.0

SW3#sh vtp status
VTP Version capable : 1 to 3
VTP version running : 1
VTP Domain Name :
VTP Pruning Mode : Disabled
VTP Traps Generation : Disabled
Device ID : 5897.1eab.ce00
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)

Feature VLAN:
————–
VTP Operating Mode : Server
Maximum VLANs supported locally : 1005
Number of existing VLANs : 5
Configuration Revision : 0
MD5 digest : 0x57 0xCD 0x40 0x65 0x63 0x59 0x47 0xBD
0x56 0x9D 0x4A 0x3E 0xA5 0x69 0x35 0xBC
SW3#

So it’s a bit different, as 15.x breaks it up into sections rather than a single block of information, most of it is intuitive but I wanted that visual demonstration.

Also at first I thought it was odd that the VTP Domain name / VLAN information was missing from this switch, however I did notice it is still running version 1 so after changing the version to 2:

SW3#conf t
Enter configuration commands, one per line. End with CNTL/Z.
SW3(config)#vtp version 2
SW3(config)#do sh vtp status
VTP Version capable : 1 to 3
VTP version running : 2
VTP Domain Name :
VTP Pruning Mode : Disabled
VTP Traps Generation : Disabled

Still nothing, so after some troubleshooting, I interface Fa1/0/10 was in “Trunk” mode so it was Trunking to SW2 dynamically (DTP), so I actually found that (of course) I had not configured anything on SW3 yet and just wiped SW2 clean so there was no more Trunk from SW2 – SW3.

So of course once I configured it to Trunk:

SW2(config-if)#int fa1/0/20
SW2(config-if)#switchport trunk encap dot
SW2(config-if)#switchport mode trunk
SW2(config-if)#^Z
SW2#wr
*Mar 1 01:27:23.139: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet1/0/20, changed state to down
*Mar 1 01:27:24.037: %SYS-5-CONFIG_I: Configured from console by console
*Mar 1 01:27:26.168: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet1/0/20, changed state to up
Building configuration…
[OK]
SW2#
ASR#3
[Resuming connection 3 to sw3 … ]

*Mar 1 00:43:15.284: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet1/0/20, changed state to down
*Mar 1 00:43:18.295: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet1/0/20, changed state to up
SW3#sh vtp status
VTP Version capable : 1 to 3
VTP version running : 2
VTP Domain Name : CCNP
VTP Pruning Mode : Disabled
VTP Traps Generation : Disabled

So for VTP to actually work, it needs a Trunk to dynamically share info over, that T part of VTP 🙂 Mystery solved!

Now lets check out these different modes, what exactly they do, and the effect it has on the switch:

SW2(config)#vtp mode ?
client Set the device to client mode.
off Set the device to off mode.
server Set the device to server mode.
transparent Set the device to transparent mode.

  • Server mode = Switch can create, delete, and modify existing VLANs which basically means rename them. This does NOT refer to adding ports to a VLAN, as that can be done by server, client, or transparent mode switches. Must have one switch in the Domain running as the server for VTP to work correctly, obviously.
  • Client mode = Listen for VTP advertisements, but cannot create / modify / delete existing VLANs, only place ports into existing VLANs as mentioned above.
  • Transparent mode = Switch does not sync its VTP Database with other switches in the domain, they forward VTP ads out all other Trunk ports but do not read them, and actually do not forward their own VLANs – Making those VLANs “locally significant only” for that transparent switch
  • Off mode – Only work on switches capable of running VTP 3, will not process or forward any VTP advertisements, one of the enhancements from VTP v2 to v3.

So there are 4 modes explained for the most part, however there will be some gotchas within that information that need to be explained as (bullet point style):

  • VTP Servers originate, advertise, and accept advertisements from other Server and Clients in the same Domain – See how I said Clients there! Must be at least one Server in any Domain to propagate advertisements
  • VTP Clients do not originate ads, except upon booting up, they do send out an initial advertisement when joining the VTP Domain. Otherwise they only Accept and pass along Ads over Trunk links (almost like an OSPF Transit Area… sort of)

VTP Transparent mode there is a little more to and a bit trickier to really absorb the verbiage, so read it through a couple of times to make sure you full understand it:

  • A Transparent mode switch running in VTP v1 will only forward Ads if the switches that would receive the Ads have a matching VTP version # and domain name, so V1 the sender doesn’t matter but the “receiving” switches must match not only Domain name but Version #
  • A Transparent mode switch running VTP v2 will forwards Ads to downstream switches, even if the Domain name doesn’t match, which is also an odd behavior

Speaking of Advertisements, like speak about advertisements and Revision #’s

VTP Advertisements are multicasts only sent out over Trunk links, as no other device (Router, PC’s, Phones, Servers) need a copy of them.

These Ads carry with them whats called the “Configuration Revision Number” which is seen in the VTP verification output:

SW2#sh vtp status
VTP Version capable : 1 to 3
VTP version running : 2
VTP Domain Name : CCNP
VTP Pruning Mode : Disabled
VTP Traps Generation : Disabled
Device ID : 5897.1eab.c800
Configuration last modified by 0.0.0.0 at 3-1-93 02:04:32

Feature VLAN:
————–
VTP Operating Mode : Client
Maximum VLANs supported locally : 1005
Number of existing VLANs : 7
Configuration Revision : 3
MD5 digest : 0x92 0xE1 0xF0 0xBD 0xC5 0x9E 0xD2 0x07
0xD7 0xD7 0xF2 0x32 0x56 0xB1 0xD5 0x2D
SW2#

This # gets incremented every time there is a change in the VTP domains VLAN Database configuration, so lets take SW2 for example above, and add some stuff to SW1:

SW1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
SW1(config)#vlan 100
SW1(config-vlan)#name Wireless
SW1(config-vlan)#vlan 200
SW1(config-vlan)#name Robotics
SW1(config-vlan)#exit
SW1(config)#no vlan 24
SW1(config)#
ASR#2
[Resuming connection 2 to sw2 … ]

SW2#sh vtp status
VTP Version capable : 1 to 3
VTP version running : 2
VTP Domain Name : CCNP
VTP Pruning Mode : Disabled
VTP Traps Generation : Disabled
Device ID : 5897.1eab.c800
Configuration last modified by 0.0.0.0 at 3-1-93 00:45:11

Feature VLAN:
————–
VTP Operating Mode : Client
Maximum VLANs supported locally : 1005
Number of existing VLANs : 8
Configuration Revision : 6

So the Client received a Config Revision with a higher # than its own, ensuring it is a more up to date view of the network, and if there are multiple Servers in the Domain (like SW1 and SW3 are both running in Server mode) when SW3 received this update it was also higher than its local VLAN Database so it updated its own as well:

SW3#sh vtp status
VTP Version capable : 1 to 3
VTP version running : 2
VTP Domain Name : CCNP
VTP Pruning Mode : Disabled
VTP Traps Generation : Disabled
Device ID : 5897.1eab.ce00
Configuration last modified by 0.0.0.0 at 3-1-93 00:45:11
Local updater ID is 0.0.0.0 (no valid interface found)

Feature VLAN:
————–
VTP Operating Mode : Server
Maximum VLANs supported locally : 1005
Number of existing VLANs : 8
Configuration Revision : 6
MD5 digest : 0xCE 0x58 0x79 0x74 0xE9 0x5A 0x4A 0xE2
0xFD 0x4F 0xDF 0xA1 0x05 0xF5 0xAA 0xF2
SW3#

So as can be seen, both Client and Server have updated their VTP Config Revision accordingly, however there is one part that strikes me as odd  in a couple of ways.

The instructor of the course spoke of VTP Ads called “subset advertisements” that will propagate any and all VLAN information changes, including changing a VLAN’s name, however I am not getting this to work running VTP v2.

However when I switched (no pun intended?) them all to run version 3, it was like a brand new VTP configuration to learn, so I will wait until we hit that extensively and leave it here for now.

If I do get some info on those subsets with VTP v2, I will edit this post to reflect them, or stick them at the beginning of the next post here as we have some VTP Config Revision labbing to do!