Introduction to VTP (VLAN Trunking Protocol)

Hello Nicolas

The VTP revision number is a 32-bit field within the VTP header. That allows for over 4.2 billion revisions. Because the VTP revision number always starts at 0 and is always incremented by 1, it will rarely reach this limit within the lifetime of a particular network. There is no way to set the revision number to a particular value, say close to the upper limit, so in order to reach the maximum, it must be reached with legitimate changes to the network.

Now having said that, of course, there is the possibility of a network reaching that maximum value, either due to a malfunction of the VTP protocol, or an attack where VTP packets are spoofed with false revision numbers. Although I have not found any proof to support this, my suspicion is that the timestamp field found within the VTP header is also used to allow the revision number value to “roll over” from 4.2 billion to 0 and to continue.

By using the timestamp, a revision number of 4,294,967,296 and a timestamp of, say, 10/10/2020 14:57:00 will be a smaller revision number than 0 with a timestamp of 10/10/2020 15:00:00 simply because the timestamp is later.

Such a situation is extremely rare, and this is why I believe that there is no information (at least that I can find) about what happens when this maximum is reached. However, the timestamp resolves any such issues.

As for your second question, if a VTP server is reset, it will indeed reset the VTP revision number. This means that any changes to the VLANs made on that server will send VTP updates to VTP clients, but those clients will ignore these updates since their own revision numbers are larger. For this reason, it is a good idea to:

  1. Have more than one VTP server on a network so that if a VTP server is reset, it will receive VTP updates from the other VTP server and receive the correct VTP revision number.
  2. If there is no second VTP server, then reset the revision number of all clients to zero so that any new VTP messages from the server will not be ignored.

I hope this has been helpful!

Laz

1 Like