VLAN Trunking Protocol (VTP)

15 Jun, 2022
To carry traffic of a VLAN, it must be first configured on the switch. Suppose, if user wants to send a frame from source to destination and the shortest path between them contains 1000 switches. To process a frame of any VLAN, VLANs should be configured first so, have to configure the same VLANs on all the 1000 switches manually. It will not be possible for the administrator to do that. Here comes VTP to the rescue. 
VLAN Trunking Protocol (VTP) – VTP is CISCO proprietary protocol used to maintain consistency throughout the network or user can say that synchronizing the VLAN information in same VTP domain. VTP allows you to add, delete and rename VLANs which is then propagated to other switches in the VTP domain. VTP advertisements can be sent over 802.1Q, and ISL trunks. 
Requirements – There are some requirements for VTP to communicate VLAN information between switches. These are:
The VTP version must be same on the switches user wants to configureVTP domain name must be same on the switchesOne of the switches must be a serverAuthentication should match if applied
The VTP version must be same on the switches user wants to configure
VTP domain name must be same on the switches
One of the switches must be a server
Authentication should match if applied
VTP modes – There are 3 modes:
Server – The switches are set to this mode by default. This mode allows you to create, add and delete VLANs. The changes you want to make should be done in this mode. Any changes that is done on this mode(on a particular switch) will be advertised to all the switches that are in same VTP domain. In this mode, the configuration are saved in NVRAM. 
Configuration – User will first make the switch VTP server
Switch# config terminal
Switch(config)#vtp mode server
Now, User has to make a VTP domain assign a password for authentication.
Switch(config)#vtp domain geeksforgeeks
Switch(config)#vtp password hardwork
User can verify the configuration by:
Switch(config)#do should vtp password 
Switch(config)#do show vtp 
Client – In this mode, the switches receives the updates and can also forward the updates to other switches(which are in same VTP domain). The updates received here is not saved in NVRAM so all the configuration will be deleted if the switch is reset or reloaded i.e the switches will only learn and pass the VTP summary advertisements to the other switches. 
Configuration – As the switches are set to server mode by default, therefore user can change it to client mode by:
Switch(config)#vtp mode client 
Transparent – This mode only forwards the VTP summary advertisements through trunk link. The transparent mode switches can make their own local database which keep secret from other switches. The whole purpose of transparent mode is to forward the VTP summary advertisements but not to take part in the VLAN assignments. 
Configuration – User can change the mode to transparent by
Switch(config)#vtp mode transparent 
Configuration Revision Number – The configuration revision number is a 32-bit number that indicates the level of revision for a VTP packet. This configuration number is tracked by every switch in order to find that the received information is more recent than the current version. Everytime one modification is done on the VLANs by the server switch, the configuration revision number increases by one. The client mode devices receives it and check if the configuration revision number that they received are latest or not by comparing it’s own configuration number by the number received. If the configuration number is greater than their own number then the devices update their configuration and pass it to other clients of the same VTP domain. If the configuration number is same then the devices just pass it to other clients of the same VTP domain. User can check the configuration revision number by:
switch(config)#do show vtp status 
abhishekpal97854368
Computer Networks
Computer Networks
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.