ISL is a Cisco proprietary protocol and it Supports up to 1000 VLANs. ISL adds a 26-byte header and a 4-byte FCS (frame check sequence) is inserted. Hence a total of 30 Bytes of overhead so ISL is less preferred in networks because of its high overhead value which is added to each Ethernet frame.
In ISL, the frame length can go up to 1548 bytes. which is really a big overhead.

ISL Configuration.
Switch(config)# interface Gig0/0
Switch(config-if)# switchport trunk encapsulation isl
802.1Q Encapsulation.
- Open standard.
- All traffic except native VLAN is inserted with an 802.1q tag.
- Support concept of native VLAN.
When we add 802.1Q encapsulation for trunking, It adds the 802.1Q header onto the original layer 2 frames.

Preamble and SFD are a part of the physical layer.
VLAN tagging adds a 4-byte field to a traditional Ethernet frame known as VLAN tagging. The VLAN tag fits after the Source MAC address field in the frame.
The 4 bytes of Vlan tagging consist of 2 bytes of Tag Protocol Identifier(TPID) and the remaining 2 bytes as tag Control Information(TCI). The TCI further splits into sub-fields- Priority Code Point (PCP)- 3 bits, Canonical Format indicator (CFI)/ Drop Eligible Indicator (DEI)- 1 bit, and VLAN ID (VID)- 12 bits.

The minimum payload field permitted in an 802.1Q frame is 42-bytes, which was 46-bytes in a traditional Ethernet frame. Hence, the minimum frame size remains 64 bytes as in the ethernet frame; however, the maximum payload allowance is 1500 bytes. That means the maximum frame length with a VLAN tag is 1522 bytes. In both cases, the Maximum Transmission Unit (MTU) is 1500 bytes.
802.1Q Configuration.
Now let’s configure the trunking between the switches according to the below-given diagram .

//Configuration// SW1(config)#interface fa0/1 SW1(config-if)#switchport mode trunk SW1(config-if)#switchport trunk encapsulation dot1q SW2(config)#interface fa0/1 SW2(config-if)#switchport mode trunk SW2(config-if)#switchport trunk encapsulation dot1q
///Verification.//////// SW1#show interfaces fa0/1 switchport Name: Fa0/1 Switchport: Enabled Administrative Mode: dynamic auto Operational Mode: static access Administrative Trunking Encapsulation: dot1q SW2#show interfaces fa0/1 switchport Name: Fa0/1 Switchport: Enabled Administrative Mode: dynamic auto Operational Mode: static access Administrative Trunking Encapsulation: dot1q
Specific Configuration Options on Trunk links.
When a trunk link is established, all of the configured VLANs are allowed to send and receive traffic across the link. VLANs 1 through 1005 is allowed on each trunk by default. However, A particular VLAN can be allowed, or removed if you want to do.
Note: VLANs 1 and 1002 through 1005 are reserved VLANs and cannot be removed from any trunk link.
How can we allow or remove or add specific VLANs?
Switch(config)#int fa0/1 Switch(config-if)#switchport trunk encapsulation dot1q Switch(config-if)#switchport mode trunk //This Command will allow all vlans// Switch(config-if)#switchport trunk allowed vlan remove 10-20,50 //This Command will remove vlan 10 to 20 and 50 from the allowed list// Switch(config-if)#switchport trunk allowed vlan add 40 //This command will add the vlan 40 to the existng vlan allow list.// Switch(config-if)#end
Be careful when you are adding and removing the VLAN list from a port because if you configure it wrongly then it will make your entire network down.