VLAN Trunk Protocols (VTP)                                                                                                                                One Picture Summary
What is VTP?                                                                                                                  Subnet adv:
                                                              How VLAN database is stored:
VTP uses lay 2 multicast frames on Native VLAN (VLAN 1) to    IOS switch in Server & Client mode: VLAN databases into         Response to request from client, includes detailed info for
synchronize VLAN information among a group of switches in     vlan.dat file in Flash, to clear all configurations, you need   specific vlan.
the same VTP domain.                                          to delete the vlan.dat file in flash after command “erase
VTP versions:                                                 startup-config”.
 VTP version 1&2: only support VLAN ID range 1-1005, in      IOS switch in Transparent mode: VLAN database is stored
  which VLAN 1, 1002-1005 are set aside for dedicated         in configuration file in NVRAM, thus “erase
  use. In order to support extended-range VLANs (1-4094),     startup-config” will clear all VLANs.
  the only way for VTP version 1&2 node is to enable VTP      CatOS switch: VLAN database stored in memory. VLAN
  Transparent mode.                                           database disappears after reloading and configuration
 VTP version 3: natively supports extended-range VLANs.      version becomes 0.
  However, it can be enabled only on CatOS based              VTP Pruning:
  switches.                                                    It makes more efficient use of Trunk link BW.
 VTP version 1 is by default enabled, and switching the       Broadcast and unknown unicast frames on a VLAN are
  whole VTP domain to VTP Ver 2 only requires you to            forwarded over a trunk link only if the receiving switch
  enable VTP ver 2 on VTP Server mode switch.                   currently has active port on that VLAN.
                                                               Note that SVI of a VLAN will also be shutdown                 Adv Request from client:
How does VTP works?                                             automatically if there is no Active port on that VLAN.        Request updates when higher config version number in
                                                                                                                              summary adv is heard.
VTP mechanism relies on 3 VTP Roles (Server / Client /
Transparent; and 3 VTP Advertisement (Summary / Request /    Basic Operational Parameters
Response).                                                   Layer-2 multicast address: 01-00-0C-CC-CC-CC
                                                             VTP Operation VLAN range: Vlan 1 to 1005
 VTP Server:                                                 VTP message Interval:       5 mins
  Originate VTP Summary adv every 300 secs, but never
   forward VTP Summary adv.
  VTP version change on VTP server will automatically       VTP Advertisement Types
   propagate throughout the whole domain.
 VTP Client:                                                 Summary adv:
                                                             Every 300 secs, and change triggered.                            Configuration Commands
  Originate VTP Summary adv every 300 secs, and also
   forward VTP Summary adv originated from other VTP                                                                          Switch(config)# vtp version {1 | 2}
   Server Nodes.                                                                                                              Switch(config)# vtp mode server
 VTP Transparent:                                                                                                             Switch(config)# vtp domain Enterprise
  Configuration version value always equals 0.                                                                               Switch(config)# vtp password cisco
  Only forwards VTP Advertisements but never originates,                                                                     Switch(config)# vtp pruning
   and its local VLAN database is never overwritten                                                                           Switch(config-if)# switchport trunk pruning vlan {none |
   according to VTP Advertisements.                                                                                           {add | except | remove (vlan-list)} }
  Normally used to clear all local VLAN Information.
                                                                                                                              Troubleshooting
                                                                                                                              Switch# show vtp status
                                                                                                                              Switch# show vtp counters
                                                                                                                              Switch# show vlan brief
Dynamic Trunking Protocols (DTP)                                                                                                One Picture Summary
Basic Concepts
                                                              Default Behaviors
What is DTP?
 Cisco proprietary point-to-point protocol that negotiates   Default Configuration on Trunk port:
  whether a link should be a trunk link, and whether ISL or   Switch(config)# interface fa0/1
  802.1Q should be used for encapsulation                     Switch(config-if)# switchport mode dynamic desirable
How does it work?                                             Switch(config-if)# switchport trunk encapsulation
 DTP frames are sent out per 30 secs to keep informing       negotiate
  neighbor of its link mode, regardless of which trunk         ISL is preferred over 802.1Q.
  mode (trunk | dynamic desirable | dynamic auto) the          In case of 802.1Q, Native VLAn is 1 by default.
  switchport is on.                                            By default, all VLANs (1-4094) are allowed on trunk.
 The only way to disable these DTP frames exchange is
  “switch(config-if)# switchport nonegotiate”.
 A trunk negotiation only happens between two switches       DTP Configuration
  who belong to the same VTP domain or if one or both         Switch(config)# interface fa0/1
  switches have not defined their VTP domain (that is, the    Switch(config-if)# switchport
  NULL domain).                                               Switch(config-if)# switchport mode {trunk | dynamic
                                                              (desirable | auto)}
Types of switchport mode                                      Switch(config-if)# switchport trunk encapsulation {isl |
                                                              dot1q | negotiate}
Switchport mode trunk:                                        Switch(config-if)# switchport trunk native vlan (vlan-id)
 Place port in permanent trunking mode unconditionally,      Switch(config-if)# switchport trunk allowed vlan {vlan-list |
  regardless all other configs (VTP domain, etc). However,    all | (add | except | remove) vlan-list}
  DTP frames is still sent out.
 In other words, setting up the trunk forcely, and DTP       Disable unnecessary DTP frames: You should disable DTP
  frames can be manually disabled in this mode.               negotiation if a switch has a trunk link connected to a
Switchport mode dynamic desirable (default):                  non-trunking router or firewall interface because those devices
 Proactively ask the far-end to setup the trunk link, and    cannot participate in DTP negotiation.
  will succeed when dynamic desirable or dynamic auto is
  configured on the far-end.                                  Troubleshooting
Switchport mode dynamic auto:
                                                              Switch# show interface fa0/0 trunk
 Passively wait far-end to proactively attempt to setup
  the trunk link when dynamic desirable is configured on
  the far-end.