Configuring Trunks on Cisco Switches

A trunk will allow multiple VLANs to transport between switches. Trunk ports can be configured in two ways, the Cisco proprietary Inter-Switch Link, ISL, or with the standard IEEE 802.1Q

Personally, I don’t use ISL and you shouldn’t either. But lets understand its differences with 802.1Q.

Inter-Switch Link (ISL)

ISL is Cisco proprietary in how it adds the VLAN tag to a frame. It will encapsulate a whole frame, adding a 26-byte header and a 4-byte trailer. The VLAN number is placed in the header.

ISL Header

802.1Q

With 802.1Q, it adds a 4-byte tag after the source address field in the frame. The last 12 bits of that tag are used to identify the VLAN.

802.1Q Frame

Now that we got that uber nerdy stuff out of the way.. let’s get back to the regular nerdy stuff, trunking.

Configuring Trunks

A trunk between a switch can be configured manually or negotiated automatically — using Dynamic Trunking Protocol. I’m not a fan of DTP because I like to know what’s going on in my network. Additionally, a user can plug in a switch into the network and your network switches will automatically create a trunk with the unknown switch causing other problems which I will not describe here. So lets dive straight into configuring a trunk port.

Identify the interface that is connected to the other switch and enter interface configuration mode.

SW1# conf t
SW1(config)#interface f0/24

On SW1 I will specify the trunk encapsulation. On the lower end switches you don’t have to specify this. Some of the higher end switches will allow you to specify the encapsulation in case you have to support ISL.

Now we specify the trunking mode. The options are trunk, dynamic desirable or dynamic auto. I specify my trunk ports as switchport mode trunk. It’s statically set and I know that it will never automatically change to an access port.

Dynamic desirable means the switchport desires to be a trunk but it won’t be a trunk if the other end is not a trunk or willing to become a trunk.

Dynamic auto means the switchport is willing to become a trunk but it will not desire to unless the other end initiates the conversation of becoming a trunk.

Best bet is to always statically configure your trunks as trunks. DTP frames are sent out every 30 seconds if dynamic mode is configured. This is the default option.

Since we don’t want our trunk ports to use DTP we can disable it with switchport no negotiate