[go: nahoru, domu]

Jump to content

IEEE 802.1Q: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m abc
(403 intermediate revisions by more than 100 users not shown)
Line 1: Line 1:
{{short description|IEEE networking standard supporting VLANs}}
'''IEEE 802.1Q''' was a project in the [[IEEE 802]] standards process to develop a mechanism to allow multiple [[network bridge|bridge]]d networks to transparently share the same physical network link without leakage of information between networks (i.e. [[trunking]]). IEEE 802.1Q is also the name of the standard issued by this process, and in common usage the name of the encapsulation protocol used to implement this mechanism over [[Ethernet]] networks.
'''IEEE 802.1Q''', often referred to as '''Dot1q''', is the [[computer network|networking]] standard that supports [[virtual local area network]]ing (VLANs) on an [[IEEE 802.3]] [[Ethernet]] network. The standard defines a system of '''VLAN tagging''' for [[Ethernet frame]]s and the accompanying procedures to be used by [[Network bridge|bridges]] and [[Network switch|switches]] in handling such frames. The standard also contains provisions for a [[quality of service|quality-of-service]] prioritization scheme commonly known as [[IEEE 802.1p]] and defines the [[Generic Attribute Registration Protocol]].


Portions of the network which are VLAN-aware (i.e., IEEE 802.1Q conformant) can include VLAN tags. When a frame enters the VLAN-aware portion of the network, a tag is added to represent the VLAN membership.{{efn|VLAN membership is determined by the frame's port or the port/protocol combination, depending on whether port-based or port-and-protocol-based VLAN classification is being used.}} Each frame must be distinguishable as being within exactly one VLAN. A frame in the VLAN-aware portion of the network that does not contain a VLAN tag is assumed to be flowing on the '''native VLAN'''.
IEEE 802.1Q also defines the meaning of a '''virtual [[LAN]]''' or [[VLAN]] with respect to the specific conceptual model underpinning bridging at the [[Media Access Control|MAC]] layer and to the [[IEEE 802.1D]] [[spanning tree protocol]]. This protocol allows for individual VLANs to communicate with one another with the use of a layer-3 (network) router. See also Cisco's proprietary [[VTP]] and [[Cisco Inter-Switch Link|ISL]] for information on inter-switch and inter-VLAN communication.


The standard was developed by [[IEEE 802.1]], a [[working group]] of the [[IEEE 802]] standards committee, and continues to be actively revised with notable amendments including [[IEEE 802.1ad]], [[IEEE 802.1ak]] and [[IEEE 802.1s]]. The 802.1Q-2014 revision incorporated the [[IEEE 802.1D|IEEE 802.1D-2004]] standard.<ref>[http://www.ieee802.org/1/pages/802.1Q-2014.html 802.1Q-2014 - Bridges and Bridged Networks]</ref>
As an illustration of the utility of VLANs, consider a company whose IT department wishes to provide separate logical networks for each department in the company while using only one physical corporate network. The IT department assigns a unique VLAN per department. Edge switches on the corporate network are configured to insert an appropriate VLAN tag into all data frames arriving from equipment in a given department. After the frames are switched through the corporate network, the VLAN tag is stripped before the frame is sent back to the department's equipment, possibly at a different geographical location. In this way, traffic from one department cannot be leaked to or snooped from another department.


== Frame format ==
==Frame format==
{{wide image|Ethernet 802.1Q Insert.svg|1328px|Insertion of 802.1Q tag in an Ethernet frame}}


802.1Q adds a 32-bit field between the source [[MAC address]] and the [[EtherType]] fields of the original frame. Under 802.1Q, the maximum frame size is extended from 1,518 bytes to 1,522 bytes. The minimum frame size remains 64 bytes, but a bridge may extend the minimum size frame from 64 to 68 bytes on transmission. This allows a tag to be popped without needing additional padding.<ref>Per IEEE 802.1Q Annex G.2.3 ''Minimum PDU size''</ref><ref>{{cite web |url=https://www.cisco.com/c/en/us/support/docs/lan-switching/8021q/17056-741-4.html |title=Inter-Switch Link and IEEE 802.1Q Frame Format |publisher=[[Cisco Systems]] |access-date=2019-09-26}}</ref> Two bytes are used for the tag protocol identifier (TPID), the other two bytes for tag control information (TCI). The TCI field is further divided into PCP, DEI, and VID.<ref>IEEE 802.1Q-2011 clause 9.6</ref>
802.1Q does not actually encapsulate the original frame. Instead, for Ethernet frames using [[Ethernet II framing]], it sets the [[EtherType]] value in the Ethernet header to Tag Protocol ID (TPID) hex 8100, identifying this frame as an 802.1Q frame. It then inserts an extra two-bytes of Tag Control Information (TCI) after the TPID, followed by another two bytes containing the frame's original [[EtherType]]. Together the four bytes of TPID and TCI are called the VLAN Tag.


{| class="wikitable" width=400px
The format of the TCI is
|+802.1Q tag format
{| class="wikitable"
|-
|-
! width=50%|16 bits
! 15:13
! width=9.375%|3 bits
! 12
! width=3.125%|1 bit
! 11:0
! width=37.5%|12 bits
|-
| rowspan="2" align="center" | TPID
| colspan="3" align="center" | TCI
|-
| align="center" | PCP
| align="center" | DEI
| align="center" | VID
|-
|-
| user_priority
| CFI
| VID
|}
|}


;Tag protocol identifier (TPID)
* '''user_priority''': this 3-bit field can be used to store a priority level for the frame. Use of this field is defined in [[IEEE 802.1p]].
:A 16-bit field set to a value of 0x8100{{efn|The prefix ''0x'' indicates [[hexadecimal]] notation}} in order to identify the frame as an IEEE 802.1Q-tagged frame. This field is located at the same position as the EtherType field in untagged frames, and is thus used to distinguish the frame from untagged frames.
* '''Canonical format indicator (CFI)''': a 1-bit indicator that is always set to zero for Ethernet switches. CFI is used for compatibility between Ethernet and Token Ring networks. If a frame received at an Ethernet port has a CFI set to 1, then that frame should not be forwarded as it is to an untagged port.
;Tag control information (TCI)
* '''VLAN ID (VID)''': a 12-bit field specify the VLAN to which the frame belongs. A value of 0 means that the frame doesn't belong to any VLAN; in this case the 802.1Q tag specifies only a priority and is referred to as a '''priority tag'''. A value of hex FFF is reserved for implementation use. All other values may be used as VLAN identifiers, allowing up to 4094 VLANs. On bridges, VLAN 1 is often reserved for management.
:A 16-bit field containing the following sub-fields:

:;Priority code point (PCP)
For frames using [[IEEE 802.2]]/[[Subnetwork Access Protocol|SNAP]] encapsulation with an OUI field of 00-00-00 (so that the protocol ID field in the SNAP header is an EtherType), as would be the case on LANs other than Ethernet, it sets the EtherType value in the SNAP header to hex 8100 and appends the aforementioned extra 4 bytes after the SNAP header.
::A 3-bit field which refers to the [[IEEE 802.1p]] [[Class of service|class of service (CoS)]] and maps to the frame priority level. Different PCP values can be used to prioritize different classes of traffic.<ref>IEEE 802.1Q ''I.4 Traffic types and priority values''</ref>
:;Drop eligible indicator (DEI)
::A 1-bit field. (formerly CFI{{efn|This field was formerly designated ''Canonical Format Indicator (CFI)'' with a value of 0 indicating a MAC address in [[MAC address#Bit-reversed notation|canonical format]]. It is always set to zero for Ethernet. CFI was used for compatibility between Ethernet and [[Token Ring]] networks. If a frame received at an Ethernet port had a CFI set to 1, then that frame would not be bridged to an untagged port.<ref>IEEE 802.1Q-2005 clause 9.6</ref>}}) May be used separately or in conjunction with PCP to indicate frames eligible to be dropped in the presence of congestion.<ref>IEEE 802.1Q-2011 clause 6.9.3</ref>
:;VLAN identifier (VID)
::A 12-bit field specifying the VLAN to which the frame belongs. The values of 0 and 4095 (0x000 and 0xFFF in [[hexadecimal]]) are reserved. All other values may be used as VLAN identifiers, allowing up to 4,094 VLANs. The reserved value 0x000 indicates that the frame does not carry a VLAN ID; in this case, the 802.1Q tag specifies only a priority (in PCP and DEI fields) and is referred to as a ''priority tag''. On bridges, VID 0x001 (the default VLAN ID) is often reserved for a [[network management]] VLAN; this is vendor-specific. The VID value 0xFFF is reserved for implementation use; it must not be configured or transmitted. 0xFFF can be used to indicate a wildcard match in management operations or filtering database entries.<ref>IEEE 802.1Q-2005, 9.6 VLAN Tag Control Information</ref>


For frames (other than 802.3 frames) using [[Subnetwork Access Protocol]] (SNAP) encapsulation with an [[organizationally unique identifier]] (OUI) field of 00-00-00 (so that the protocol ID field in the SNAP header is an EtherType as specified in {{IETF RFC|1042}}), the EtherType value in the SNAP header is set to 0x8100 and the aforementioned extra 4 bytes are appended after the SNAP header.<ref>IEEE 802.1Q-2011 clause 9.4 Tag Protocol Identifier (TPID) formats</ref> In other words the VLAN tag follows the SNAP header. For 802.3 frames in LLC-SNAP format, the order is opposite; the VLAN tag is placed ''before'' the LLC-SNAP header.
Because inserting this header changes the frame, 802.1Q encapsulation forces a recalculation of the original [[Frame Check Sequence|FCS]] field in the Ethernet trailer. It also increases the maximum frame size by 4 bytes.


Because inserting the VLAN tag changes the frame, 802.1Q encapsulation forces a recalculation of the original [[frame check sequence]] field in the Ethernet trailer.
'''Double-tagging''' can be useful for Internet Service Providers, allowing them to use VLANs internally while handling traffic from clients that is already VLAN-tagged. The '''outer''' tag comes first, followed by the '''inner''' tag. In such cases, an alternate TPID such as hex 9100 sometimes may be used for the outer tag. Triple-tagging is also possible.


The IEEE 802.3ac standard increased the maximum Ethernet frame size from 1518 bytes to 1522 bytes to accommodate the four-byte VLAN tag. Some network devices that do not support the larger frame size will process these frames successfully but may report them as "baby giant" anomalies.<ref>{{citation |url=http://www.cisco.com/image/gif/paws/29805/175.pdf |title=Understanding Baby Giant/Jumbo Frames Support on Catalyst 4000/4500 with Supervisor III/IV |archive-url=https://web.archive.org/web/20150402195656/http://www.cisco.com/image/gif/paws/29805/175.pdf |archive-date=2015-04-02}}</ref>
==Native VLAN==
Clause 9 of the standard defines the encapsulation protocol used to [[multiplexing|multiplex]] VLANs over a single link, and introduces the concept of a native VLAN. Frames belonging to the native VLAN are not modified when sent over the trunk. Native VLANs are also referred to as "Management VLANs".


===Double tagging===
For example, if a 802.1Q port has VLANs 2, 3 and 4 assigned to it with VLAN 2 being the Native VLAN, frames on this VLAN which are to egress(out) the aforementioned port are not given an 802.1Q header (ie., they are plain ethernet frames).
[[IEEE 802.1ad]] introduced the concept of double tagging. Double tagging can be useful for [[Internet service provider]]s (ISPs), allowing them to use their VLANs internally while carrying traffic from clients that is already VLAN tagged. The outer (next to source MAC and representing ISP VLAN) S-TAG (service tag) comes first, followed by the inner C-TAG (customer tag). In such cases, 802.1ad specifies a TPID of 0x88a8 for service-provider outer S-TAG.
Frames which ingress (Enter) this port and have no 802.1Q header are put into VLAN 2.
{{wide image|TCPIP 802.1ad DoubleTag.svg|1328px|Insertion of 802.1ad double tag in an Ethernet frame}}
Behaviour of traffic relating to VLANs 3 & 4 is intuitive.


==Other protocols==
Any given 802.1Q port can only have one Native VLAN, but every port on a network device can have a different Native VLAN.
IEEE 802.1Q defines the [[Multiple VLAN Registration Protocol]] (MVRP), an application of the [[Multiple Registration Protocol]], allowing bridges to negotiate the set of VLANs to be used over a specific link. MVRP replaced the slower [[GARP VLAN Registration Protocol]] (GVRP) in 2007 with the IEEE 802.1ak-2007 amendment.
On trunk links which are built between two networking devices to transport multiple VLAN traffic over that trunk link, the native VLANs on both sides of the trunk can have different VLAN-IDs - but still the packets which go over that link belong to the same subnet.


The 2003 revision of the standard was the first to include the [[Multiple Spanning Tree Protocol]] (MSTP) which was originally defined in [[IEEE 802.1s]].
== Generic Attribute Registration Protocol ==


==See also==
In addition, IEEE 802.1Q defines [[GVRP]], an application of the [[Generic Attribute Registration Protocol]], allowing bridges to negotiate the set of VLANs to be trunked over a specific link.
* [[Cisco Inter-Switch Link]] (ISL), an older Cisco proprietary VLAN management protocol
* [[Dynamic Trunking Protocol]] (DTP), a Cisco proprietary protocol to negotiate trunking between two VLAN-aware devices
* [[Time Sensitive Networking]] (TSN), a suite of enhancements to 802.1Q for realtime and time-critical data streaming
* [[VLAN Trunking Protocol]] (VTP), a Cisco proprietary VLAN management protocol


==Notes==
== Multiple spanning-tree protocol ==
{{notelist}}
The 2003 revision of the standard also rolled in the '''[[Multiple Spanning Tree Protocol]]''' (MSTP) originally defined in [[IEEE 802.1s]].


==References==
The official title of the 802.1Q standard is ''IEEE Std. 802.1Q-2003, Virtual Bridged Local Area Networks''; ISBN 0-7381-3662-X.
{{reflist}}


==Sources==
== External links ==
* {{Citation |title=IEEE Std. 802.1Q-1998, Virtual Bridged Local Area Networks |doi=10.1109/IEEESTD.1999.89204 |isbn=0-7381-1537-1}}
* [http://standards.ieee.org/getieee802/download/802.1Q-2003.pdf 802.1Q-2003 standard] (must accept license agreement)
* {{Citation |title=IEEE Std. 802.1Q-2003, Virtual Bridged Local Area Networks|doi=10.1109/IEEESTD.2003.94280 |isbn=0-7381-3663-8|year = 2003}}
* [http://www.cisco.com/en/US/tech/tk389/tk390/technologies_tech_note09186a0080094665.shtml ISL & 802.1q Frame Formats]
* {{Citation |title=IEEE Std. 802.1Q-2005, Virtual Bridged Local Area Networks|doi=10.1109/IEEESTD.2006.216285 |isbn=0-7381-3662-X}}
* {{Citation |title=IEEE Std. 802.1Q-2011, Media Access Control (MAC) Bridges and Virtual Bridged Local Area Networks|doi=10.1109/IEEESTD.2011.6009146 |isbn=978-0-7381-6708-4 }}
* {{Citation |title=IEEE Std. 802.1BR-2012, Virtual Bridged Local Area Networks—Bridge Port Extension |doi=10.1109/IEEESTD.2012.6239543 |isbn=978-0-7381-7281-1}}
* {{Citation |title=IEEE Std. 802.1Q-2014, Bridges and Bridged Networks|doi=10.1109/IEEESTD.2014.6991462|isbn=978-0-7381-9433-2}}
** {{Citation |title=IEEE Std. 802.1Q-2014/Cor 1-2015, Corrigendum 1: Technical and editorial corrections |doi=10.1109/IEEESTD.2016.7374647 |isbn=978-1-5044-0112-8}}
* {{cite web|url=https://www.cisco.com/c/en/us/support/docs/lan-switching/8021q/17056-741-4.html|title=Inter-Switch Link and IEEE 802.1Q Frame Format|publisher=[[Cisco Systems]]|access-date=2019-01-10}}


{{IEEE standards}}
[[Category:IEEE 802|IEEE 802.01Q]]


[[es:IEEE 802.1Q]]
{{DEFAULTSORT:Ieee 802.1q}}
[[fr:802.1Q]]
[[Category:IEEE 802]]
[[Category:Ethernet standards]]
[[it:IEEE 802.1q]]
[[pt:IEEE 802.1Q]]
[[Category:Link protocols]]

Revision as of 15:07, 14 April 2024

IEEE 802.1Q, often referred to as Dot1q, is the networking standard that supports virtual local area networking (VLANs) on an IEEE 802.3 Ethernet network. The standard defines a system of VLAN tagging for Ethernet frames and the accompanying procedures to be used by bridges and switches in handling such frames. The standard also contains provisions for a quality-of-service prioritization scheme commonly known as IEEE 802.1p and defines the Generic Attribute Registration Protocol.

Portions of the network which are VLAN-aware (i.e., IEEE 802.1Q conformant) can include VLAN tags. When a frame enters the VLAN-aware portion of the network, a tag is added to represent the VLAN membership.[a] Each frame must be distinguishable as being within exactly one VLAN. A frame in the VLAN-aware portion of the network that does not contain a VLAN tag is assumed to be flowing on the native VLAN.

The standard was developed by IEEE 802.1, a working group of the IEEE 802 standards committee, and continues to be actively revised with notable amendments including IEEE 802.1ad, IEEE 802.1ak and IEEE 802.1s. The 802.1Q-2014 revision incorporated the IEEE 802.1D-2004 standard.[1]

Frame format

Insertion of 802.1Q tag in an Ethernet frame

802.1Q adds a 32-bit field between the source MAC address and the EtherType fields of the original frame. Under 802.1Q, the maximum frame size is extended from 1,518 bytes to 1,522 bytes. The minimum frame size remains 64 bytes, but a bridge may extend the minimum size frame from 64 to 68 bytes on transmission. This allows a tag to be popped without needing additional padding.[2][3] Two bytes are used for the tag protocol identifier (TPID), the other two bytes for tag control information (TCI). The TCI field is further divided into PCP, DEI, and VID.[4]

802.1Q tag format
16 bits 3 bits 1 bit 12 bits
TPID TCI
PCP DEI VID
Tag protocol identifier (TPID)
A 16-bit field set to a value of 0x8100[b] in order to identify the frame as an IEEE 802.1Q-tagged frame. This field is located at the same position as the EtherType field in untagged frames, and is thus used to distinguish the frame from untagged frames.
Tag control information (TCI)
A 16-bit field containing the following sub-fields:
Priority code point (PCP)
A 3-bit field which refers to the IEEE 802.1p class of service (CoS) and maps to the frame priority level. Different PCP values can be used to prioritize different classes of traffic.[5]
Drop eligible indicator (DEI)
A 1-bit field. (formerly CFI[c]) May be used separately or in conjunction with PCP to indicate frames eligible to be dropped in the presence of congestion.[7]
VLAN identifier (VID)
A 12-bit field specifying the VLAN to which the frame belongs. The values of 0 and 4095 (0x000 and 0xFFF in hexadecimal) are reserved. All other values may be used as VLAN identifiers, allowing up to 4,094 VLANs. The reserved value 0x000 indicates that the frame does not carry a VLAN ID; in this case, the 802.1Q tag specifies only a priority (in PCP and DEI fields) and is referred to as a priority tag. On bridges, VID 0x001 (the default VLAN ID) is often reserved for a network management VLAN; this is vendor-specific. The VID value 0xFFF is reserved for implementation use; it must not be configured or transmitted. 0xFFF can be used to indicate a wildcard match in management operations or filtering database entries.[8]

For frames (other than 802.3 frames) using Subnetwork Access Protocol (SNAP) encapsulation with an organizationally unique identifier (OUI) field of 00-00-00 (so that the protocol ID field in the SNAP header is an EtherType as specified in RFC 1042), the EtherType value in the SNAP header is set to 0x8100 and the aforementioned extra 4 bytes are appended after the SNAP header.[9] In other words the VLAN tag follows the SNAP header. For 802.3 frames in LLC-SNAP format, the order is opposite; the VLAN tag is placed before the LLC-SNAP header.

Because inserting the VLAN tag changes the frame, 802.1Q encapsulation forces a recalculation of the original frame check sequence field in the Ethernet trailer.

The IEEE 802.3ac standard increased the maximum Ethernet frame size from 1518 bytes to 1522 bytes to accommodate the four-byte VLAN tag. Some network devices that do not support the larger frame size will process these frames successfully but may report them as "baby giant" anomalies.[10]

Double tagging

IEEE 802.1ad introduced the concept of double tagging. Double tagging can be useful for Internet service providers (ISPs), allowing them to use their VLANs internally while carrying traffic from clients that is already VLAN tagged. The outer (next to source MAC and representing ISP VLAN) S-TAG (service tag) comes first, followed by the inner C-TAG (customer tag). In such cases, 802.1ad specifies a TPID of 0x88a8 for service-provider outer S-TAG.

Insertion of 802.1ad double tag in an Ethernet frame

Other protocols

IEEE 802.1Q defines the Multiple VLAN Registration Protocol (MVRP), an application of the Multiple Registration Protocol, allowing bridges to negotiate the set of VLANs to be used over a specific link. MVRP replaced the slower GARP VLAN Registration Protocol (GVRP) in 2007 with the IEEE 802.1ak-2007 amendment.

The 2003 revision of the standard was the first to include the Multiple Spanning Tree Protocol (MSTP) which was originally defined in IEEE 802.1s.

See also

Notes

  1. ^ VLAN membership is determined by the frame's port or the port/protocol combination, depending on whether port-based or port-and-protocol-based VLAN classification is being used.
  2. ^ The prefix 0x indicates hexadecimal notation
  3. ^ This field was formerly designated Canonical Format Indicator (CFI) with a value of 0 indicating a MAC address in canonical format. It is always set to zero for Ethernet. CFI was used for compatibility between Ethernet and Token Ring networks. If a frame received at an Ethernet port had a CFI set to 1, then that frame would not be bridged to an untagged port.[6]

References

  1. ^ 802.1Q-2014 - Bridges and Bridged Networks
  2. ^ Per IEEE 802.1Q Annex G.2.3 Minimum PDU size
  3. ^ "Inter-Switch Link and IEEE 802.1Q Frame Format". Cisco Systems. Retrieved 2019-09-26.
  4. ^ IEEE 802.1Q-2011 clause 9.6
  5. ^ IEEE 802.1Q I.4 Traffic types and priority values
  6. ^ IEEE 802.1Q-2005 clause 9.6
  7. ^ IEEE 802.1Q-2011 clause 6.9.3
  8. ^ IEEE 802.1Q-2005, 9.6 VLAN Tag Control Information
  9. ^ IEEE 802.1Q-2011 clause 9.4 Tag Protocol Identifier (TPID) formats
  10. ^ Understanding Baby Giant/Jumbo Frames Support on Catalyst 4000/4500 with Supervisor III/IV (PDF), archived from the original (PDF) on 2015-04-02

Sources