CCNP: Dynamic Trunk Protocol (DTP)
What does the protocol specifically do? It helps ensure that a trunk link forms between Cisco switches. A trunk link is a critical component of the switched infrastructure that carries the traffic of multiple VLANs from device to device in the network infrastructure. Without trunk links, all VLAN traffic would need to stay local to a particular switch. This will just not work.
The term trunk for this link is an interesting one, and not without historical precedence. The term is borrowed from the traditional Public Switched Telephone Network (PSTN) terminology. A trunk in the PSTN was a phone line that could carry multiple voice conversations. Notice this is a perfect term to borrow as we mean a very similar concept in data networking. Also, think about the irony as voice traffic is now making its way to the same data network that we are describing.
Here is a great analogy that I like to use for the Dynamic Trunk Protocol. Think of an elementary school dance. At this dance you have all the boys standing on one side of the gymnasium, and you have all the girls standing on the other side. In order to initiate dancing, either the boys need to come forward and ask the girls, or the girls need to come forward and ask the boys, or they both need to come together and ask for a dance. As we will see, this is how DTP works. At least one side (or both) of a link between Catalyst switches must initiate a trunk connection in order for one to form.
Security? Who Needs Security!?!?
DTP has come under fire in recent years as it does represent an area where security can be a problem. After all, if a computer criminal is able to access your switch and get the switch to form a trunk link with their device (thanks to DTP), then the computer criminal can start receiving information from other VLANs in the infrastructure. In this article, we will show you how to effectively turn DTP off and to configure switches for high security environments where the feature is not desired.
First, let us review all of the modes that are possible. We will also examine the commands that initiate these modes, and we must examine whether or not DTP frames are sent in an attempt to form a trunk link. Remember, the issue of whether or not frames are sent in an attempt to form a trunk is like our elementary school dance analogy. Is it the boys or the girls, or both, that are going to initiate a connection?
DTP Mode ON
The DTP mode of ON indicates that the local link really, really wants to trunk. In fact, it is set to trunk “unconditionally.” This means that it will very stubbornly try and trunk at all times. It will not allow itself to be negotiated into doing anything else.
The command that is used at the command line interface (CLI) in order to configure this mode is as follows:
switchport mode trunk
A very important thing to remember with this command is that DTP frames are sent to the other side of the link. It is actively trying to form a trunk with the other side of the link. If the other side is set to a DTP mode that is “compatible” (in other words, willing to trunk) then a trunk link will indeed form.
DTP Mode OFF
When we set the local DTP mode to OFF, we indicate that the link is never to form a trunk. In fact, for the OFF mode, we are telling the link that it is an access port. Note that this is not the same as turning DTP off. I will show you how that is done later in the article.
The command that is used at the CLI in order to configure this mode is as follows:
switchport mode access
As you might guess, DTP frames looking to form a trunk are not sent to the other side of the link in this setting.
DTP Mode AUTO
The DTP mode of AUTO features a port that is willing to trunk, but only if asked by the other side. This was a frequent problem at the elementary school dance. The boys wanted to dance, the girls wanted to dance, but no one was willing to ask the other side. Sure enough, a configuration of AUTO and AUTO on each side of the link will result in no trunk forming.
The command that is used at the CLI in order to configure this mode is as follows:
switchport mode dynamic auto
Remember, DTP frames looking to form a trunk with the other side are not sent with this setting.
DTP Mode DESIRABLE
The DTP DESIRABLE mode features a link that is willing to trunk, and one that is actively attempting to get the other side of the link to trunk.
The command that is used at the CLI in order to configure this mode is as follows:
switchport mode dynamic desirable
In this mode, DTP frames are indeed sent to the other side of the link in an effort to form a trunk.
DTP Mode NONEGOTIATE
Finally we arrive at the mode where we effectively disable DTP. You can use the switchport nonegotiate command in conjunction with two modes[md]switchport mode access (OFF) and switchport mode trunk (ON).
The command that is used at the CLI in order to configure this mode is as follows:
switchport nonegotiate
Of course with this setting, DTP frames not sent to the other side of the link, nor are any DTP frames received processed in any way.
Conclusion and Verification
Notice how important committing this to memory is going to be for success in production networks and in the certification exams. For trunk formation, we examine if DTP frames are sent from one of the ends of the link. For example, with a setting of AUTO on one end, and DESIRABLE on the other end, we get a trunk since one side is willing to trunk and the other side is sending DTP frames.
Another very important point is how we eliminate DTP from the network trunk. We use switchport mode trunk in conjunction with switchport nonegotiate. This ensures unconditional trunking and eliminates the sending of the DTP frames. It is very important not to confuse this setting with DTP mode OFF (switchport mode access).
How can you verify the setting that is in place? The best command to see all of the DTP related information is show interface switchport. Here is an example of this command in action; notice that I have highlighted key DTP-related pieces of information:
SW1#show interface fast 0/2 switchport Name: Fa0/2 Switchport: Enabled Administrative Mode: dynamic desirable Operational Mode: down Administrative Trunking Encapsulation: dot1q Negotiation of Trunking: On Access Mode VLAN: 1 (default) Trunking Native Mode VLAN: 1 (default) Voice VLAN: none Administrative private-vlan host-association: none Administrative private-vlan mapping: none Administrative private-vlan trunk native VLAN: none Administrative private-vlan trunk encapsulation: dot1q Administrative private-vlan trunk normal VLANs: none Administrative private-vlan trunk private VLANs: none Operational private-vlan: none Trunking VLANs Enabled: ALL Pruning VLANs Enabled: 2-1001 Capture Mode Disabled Capture VLANs Allowed: ALL Protected: false Appliance trust: none