Most network professionals have a high degree of awareness of the principles of Virtual Local Area Networks (VLANs) and the importance of trunk links use to carry this data between switches. The underlying theory involved is at the foundation of most certification courses, various Cisco Press books, and even in breakout sessions at many conferences. While the proverbial “big picture” of the process is straightforward enough to the initiated, some of the nuances can become somewhat vague. Dynamic Trunking Protocol (DTP) and its predecessor, Dynamic Interswitch Link (DISL), are used to automatically negotiate the establishment of a trunk, but the many options and settings can become more confusing than helpful. In this two part blog, we will explore this Layer 2 protocol and get a better understanding of ways to appropriately make use of it.
Review of Trunking
Interswitch Link (ISL)
Interswitch Link (abbreviated ISL) is a Cisco-proprietary trunking protocol that was introduced in IOS Version 11.2 and has been supported on both switching and routing platforms for some time. Over the last several years, ISL has been eliminated on a wide variety of equipment, including the Catalyst 2950 and Cisco Integrated Services Routers. The ISL frame structure (depicted above) is remarkably simple and straightforward. It involves taking the original Ethernet frame and wrapping it entirely in a new frame, including a new header and trailer. In other words, the frame is left unaltered and when it passes over the configured trunk link, the added elements are stripped off. Configuration of an ISL trunk is as simple as the two interface-level commands switchport mode trunk and switchport trunk encapsulation ISL. Important distinctions to remember include creation/encapsulation of a new frame and no need for a native VLAN.
For many professionals with careers in the world of information technology, the term proprietary almost represents a form of industry profanity, at the very least it’s considered less than desirable. One of the core values of the Institute of Electrical and Electronics Engineers (IEEE) is to develop standards for various forms of technology, which serves to prevent interoperability issues. To ensure this with regard to VLAN trunking, the IEEE released the 802.1Q standard in 1998. Unlike the Cisco ISL solution, 802.1Q doesn’t encapsulate the entire original frame. Instead it inserts an 8-byte tag to specify VLAN information across the trunk. This alters the physical structure of the frame, causing the Frame Check Sequence (FCS) to be recalculated. An additional specification is involved, namely, the use of a native VLAN, in which no tag is inserted. If the value isn’t identical on both interfaces on the link, a trunk will not form.
Configuration of trunk links are often statically configured using the switchport mode trunk command, which typically is the best method used by network engineering professionals. As with any manual configuration process, this may seem simple enough for a small number of devices, but can become daunting if there is a large collection of switches to maintain. This is the purpose behind the dynamic trunking protocol (DTP), which negotiates the port type (e.g., access or trunk) and/or the trunking mode (ISL or 802.1Q). Keeping this overall purpose in mind, we will examine this protocol in more detail.
Due to the proprietary nature of DTP, information on the structure of frames is difficult to come by. While Cisco publishes a great deal of detailed information about the protocol itself, almost nothing exists regarding the format of DTP frames. David Barroso and Alfredo Andres, engineers at the firm S21sec, reverse-engineered the format using protocol analyzers, resulting in the approximate structure depicted above. DTP is still available on current IOS switch versions but predates IOS switches, namely in CatalystOS (CatOS) which was discontinued some time ago. The overarching purpose of DTP is simply to negotiate trunking parameters on both ends of a link and only on that link (point-to-point protocol).