802.1q is a VLAN tagging protocols developed by IEEE (Institute of Electrical and Electronics Engineers). Since it is an open standard, it can be used between switches from different vendors, so if you’re trunking between a Cisco switch and a different brand of switch, you’ve can use 802.1q for the trunk to work.
Unlike ISL, which encapsulates the whole frame in an ISL header and trailer, 802.1q inserts an extra 4-byte 802.1q VLAN field into the original frame’s Ethernet header. The 802.1q field includes the 12-bit VLAN ID field, which specifies the VLAN to which the frame belongs. 802.1q tagged frame can carry information for 4,094 VLANs.
802.1q defines one special VLAN ID on each trunk as the native VLAN (by default VLAN 1). 802.1q does not add an 802.1Q header to frames in the native VLAN. When the switch on the other side of the trunk receives a frame that does not have an 802.1q header, the receiving switch knows that the frame is part of the native VLAN. Because of this behavior, both switches must agree on which VLAN is the native VLAN.