802.1p defines the class of service (Cos) in Ethernet MAC layer, and uses 802.1Q's 3-bit field to indicate 8 different traffic priority. The higher the value, the higher priority the packet has. When the packet is tagged with VLAN 0, it means it is 802.1p packets only.
802.1Q defines the virtual LAN tagging method in Ethernet MAC layer and is used to divide one physical network into multiple virtual LANs. It adds 4 bytes into original Ethernet frame. 2 bytes are used to indicate 802.1Q packets, which are 0x8100. The left 2 bytes consist of 3 fields: 3-bit Priority Code Point (PCP), which is defined by 802.1p; 1-bit Canonical Format Indicator (CFI), which indicate whether it is Ethernet or Token Ring; 12-bit VLAN identifier, which is used to indicate which VLAN the packet belongs to. VLAN 0 is used by 802.1p to deliver Cos priority only, while 4096 is reserved. The available VLAN range is 1 ~ 4095 .