Inter-Switch Link (ISL) is a Cisco specific implementation of trunking multiple VLANs between two Cisco switches where a single interface will carry traffic for more than one VLAN. ISL was designed to work with Ethernet, FDDI, Token Ring, and ATM.

ISL completely encapsulates the original Ethernet frame by adding a new 26 byte header and new 4 byte FCS trailer. The new ISL header contains a VLAN ID field and QoS priority information (among other things).

ISL Header

isl header

Some Key points about ISL are as follows:

  • The source address and destination address in the ISL header are not inherited from the encapsulated frame. The source address in the ISL header is that of the switch sending the ISL packet. The destination address is one of two [cref 11 multicast MAC addresses] specific to ISL.
  • The destination address field is normally 48 bits in a normal Ethernet frame, but in the case of ISL it is 40 bits, and the remaining 8 bits are split up into two additional fields (Type and User) to identify additional information about the frame.
  • The 40 bits designated to destination address in an ISL header are set to 0100.0C00.00 or 0300.0C00.00
  • The 4 bits designated for Type identifies the type of L2 frame ISL is encapsulating. In the case of Ethernet these 4 Type bits are set to 0000.
  • The 4 bits designated for User identify the COS priority of the frame.
  • Therefore, a ISL frame encapsulating Ethernet with a COS priority of 0 will have a full 48 bit DA+Type+User value of 0100.0C00.0000 or 0300.0C00.0000.
  • ISL supports the use of normal range VLANs (1-1005) and extended range VLANs (1006-4094).
  • Unlike [cref 22 802.1Q tagging], there is no concept of a native vlan in ISL because traffic from all VLANs is encapsulated with a full ISL header.
  • When two connected Cisco switches automatically negotiate a trunk with DTP they will choose ISL over 802.1Q unless one switch does not support it or specifically configured not to use ISL.