The VLAN ID 0 is used when a device needs to send priority-tagged frames but does not know in which particular VLAN it resides. The basic Ethernet frame does not have any priority field. The priority bits, also called CoS bits (Class of Service) are a part of 802.1Q VLAN tag. Therefore, a device needing to add a CoS marking to its frames has to insert a 802.1Q tag into each frame. However, even though this device may be capable of adding 802.1Q tags into its frames, it may not know in what VLAN it currently resides.
This is where the VLAN ID 0 comes in. A device that sends CoS-marked frames can insert a 802.1Q tag into a frame, use the VLAN ID 0 and set the CoS marking appropriately. When a VLAN-aware switch receives this frame, the VLAN ID 0 tells it: "Put the frame in the ordinary access VLAN of the port as if it was untagged, however, process the CoS field accordingly." In other words, the VLAN ID 0 represents the access - or the native - VLAN of the receiving port, whatever VLAN that might be.
Please feel welcome to ask further!
Download the 802.1Q standard from
Then proceed to the page 76 and see the Section 9.6, Table 9-2.
Dear Peter, I try your link but I get a 404 page not found error: maybe because was too old (2011). Do you have any new link?
No problem. This frame simply has the CoS explicitly set to 0. If it was not marked, the switch could theoretically assign some different default CoS to it. However, here the CoS is specified explicitly - even though it is set to 0, which is the default value for untagged frames anyway. There's nothing wrong with it.
Please tell me if these packets when sent on trunk port will retain the VLAN ID 0. Meanwhile I will go through the document.
Please tell me if these packets when sent on trunk port will retain the VLAN ID 0.
No, they will not. They will instead be tagged with the access VLAN of the port they were received on.
this is fine, but the question is we are tagging priority to vlan 0.. but how we come to know which packet is marked with higher priority... this is not cleare which packet is marked....