# IEEE 802.1ad

IEEE 802.1ad ist eine Änderung des Netzstandards IEEE 802.1Q-1998, mit der die Unterstützung für Provider-Bridges hinzugefügt wird. Sie wurde 2011 in den Basisstandard 802.1Q aufgenommen. Die in der Norm spezifizierte Technik ist informell als gestapelte VLANs oder QinQ bekannt.
Die ursprüngliche 802.1Q-Spezifikation erlaubt das Einfügen eines einzelnen VLAN-Headers (Virtual Local Area Network) in einen Ethernet-Rahmen. Mit QinQ können mehrere VLAN-Tags in einen einzigen Frame eingefügt werden, was für die Implementierung von Metro-Ethernet unerlässlich ist.
In einem Kontext mit mehreren VLAN-Headern wird der Einfachheit halber oft der Begriff VLAN-Tag oder kurz Tag anstelle des 802.1Q VLAN-Headers verwendet. QinQ erlaubt mehrere VLAN-Tags in einem Ethernet-Rahmen; zusammen bilden diese Tags einen Tag-Stack. Im Zusammenhang mit einem Ethernet-Frame ist ein QinQ-Frame ein Frame, der zwei VLAN 802.1Q-Header hat (d. h. er ist doppelt getaggt).
IEEE 802.1ad spezifiziert die Architektur und die Brückenprotokolle zur Bereitstellung separater Instanzen der MAC-Dienste (Medium Access Control) für mehrere unabhängige Benutzer eines überbrückten lokalen Netzes in einer Weise, die keine Zusammenarbeit zwischen den Benutzern und nur ein Minimum an Zusammenarbeit zwischen den Benutzern und dem Anbieter des MAC-Dienstes erfordert.
Die Idee ist, den Kunden beispielsweise die Möglichkeit zu geben, ihre eigenen VLANs innerhalb des vom Dienstanbieter bereitgestellten VLANs zu betreiben. Auf diese Weise kann der Dienstanbieter nur ein VLAN für den Kunden konfigurieren, und der Kunde kann dieses VLAN dann so behandeln, als wäre es ein Trunk.

## Hintergrund

IEEE 802.1ad spezifiziert die Architektur und die Brückenprotokolle zur Bereitstellung separater Instanzen der MAC-Dienste (Media Access Control) für mehrere unabhängige Benutzer eines überbrückten lokalen Netzes in einer Weise, die keine Zusammenarbeit zwischen den Benutzern und nur ein Minimum an Zusammenarbeit zwischen den Benutzern und dem Anbieter des MAC-Dienstes erfordert.
Die Idee ist, den Kunden beispielsweise die Möglichkeit zu geben, ihre eigenen VLANs innerhalb des vom Dienstanbieter bereitgestellten VLANs zu betreiben. Auf diese Weise kann der Dienstanbieter nur ein VLAN für den Kunden konfigurieren, und der Kunde kann dieses VLAN dann so behandeln, als wäre es ein Trunk.
IEEE 802.1ad wurde aus den folgenden Gründen entwickelt:
* 802.1Q hat ein 12-Bit-VLAN-ID-Feld, das auf 2^12 (4096) Tags begrenzt ist. Mit dem Wachstum der Netze hat sich diese Begrenzung verschärft. Ein Rahmen mit zwei Tags hat eine Begrenzung von 4096 × 4096 = 16777216 Tags, wodurch ein größeres Netzwachstum möglich ist.
* Die Hinzufügung eines zweiten Tags ermöglicht Operationen, die nicht möglich gewesen wären, wenn das VLAN-ID-Feld einfach von 12 Bit auf 24 Bit (oder einen anderen großen Wert) erweitert worden wäre. Mit mehreren Tags – einem Tag-Stack – können Switches Frames leichter ändern. In einem Tag-Stack-Schema können Switches einzelne oder mehrere Tags hinzufügen, entfernen oder ändern. Für die Hersteller von Netzgeräten ist es einfacher, ihre vorhandenen Geräte zu ändern, indem sie mehrere 802.1Q-Header erstellen, als ihre Geräte zu ändern, um einen hypothetischen neuen, nicht 802.1Q-erweiterten VLAN-ID-Feld-Header zu implementieren.
* Ein Rahmen mit mehreren Tags hat nicht nur mehrere VLAN-IDs, sondern auch mehrere Prioritätscodepunkte (PCP, Eng. Priority Code Point) und Drop-Equalified-Indikator-Bitfelder (DEI, Eng. Drop Eligible Indicator).
* Ein Tag-Stack schafft einen Mechanismus, mit dem Internet Service Provider den mit einem einzigen Tag versehenen 802.1Q-Kundenverkehr mit einem einzigen Tag kapseln können, wobei der endgültige Rahmen ein QinQ-Rahmen ist. Das äußere Tag wird verwendet, um den Verkehr von verschiedenen Kunden zu identifizieren und zu trennen; das innere Tag wird vom ursprünglichen Rahmen beibehalten.
* QinQ-Frames sind ein praktisches Mittel zum Aufbau von Schicht-2-Tunneln oder zur Anwendung von QoS-Richtlinien (Quality of Service).
* 802.1ad ist aufwärtskompatibel mit 802.1Q. Obwohl 802.1ad auf zwei Tags beschränkt ist, gibt es in der Norm keine Obergrenze, die einen einzelnen Frame auf mehr als zwei Tags beschränkt, was eine Erweiterung des Protokolls ermöglicht. In der Praxis sehen die Topologien von Dienstanbietern häufig Frames mit mehr als zwei Tags vor und verwenden diese.
Der Standard IEEE 802.1ad wurde am 8. Dezember 2005 verabschiedet und am 26. Mai 2006 veröffentlicht.

## Frame format

Diese nachstehenden Beispiele beziehen sich auf ein Ethernet II-Framing mit EtherType-Feld. Die Norm gilt auch für IEEE 802.3-Rahmen mit oder ohne LLC (d. h. Logical Link Control), LLC+SNAP-Header. Der obere Rahmen ist ein einfacher Ethernet-II-Rahmen. Der mittlere Rahmen ist mit einem ** 802.1Q-Tag versehen. Der untere Frame ist mit einem weiteren 802.1Q-Tag versehen.
Ein 802.1Q-Header, der vier Byte lang ist, wird auf folgende Weise zu einem Ethernet-II-Frame ohne Tag hinzugefügt:
* Das Vier-Byte-Tag wird zwischen der MAC-Quelladresse (SAMAC) des nicht getaggten Frames und seinem EtherType-Feld eingefügt.
* Der EtherType des neu eingefügten VLAN-Headers wird auf 0x8100 gesetzt, um die folgenden Daten als VLAN-Tag zu identifizieren.
* 12 Bits werden für die VLAN-ID verwendet, die anderen Bits in den VLAN-Feldern werden entsprechend der QoS-Richtlinie usw. der Schnittstelle ausgefüllt, an der die Tag-Einfügung erfolgte.
Beachten Sie, dass nach dem Einfügen eines 802.1Q-Headers in einen nicht getaggten Frame der ursprüngliche EtherType des Frames anscheinend auf 0x8100 geändert wurde. Der ursprüngliche EtherType des nicht getaggten Frames im Single-Tag-Frame befindet sich jetzt neben der Nutzlast. Sein Wert ist unverändert.
Ein zweiter 802.1Q-Header wird auf folgende Weise zu einem Rahmen mit einem Tag hinzugefügt:
* Das zweite Tag wird vor dem ersten Tag eingefügt, d. h. das zweite Tag liegt näher am Ethernet-Header als das erste (ursprüngliche) Tag.
* Das zweite Tag wird zwischen der MAC-Quelladresse und dem ersten (ursprünglichen) Tag eingefügt.
* Dem zweiten Tag wird standardmäßig ein EtherType von 0x88A8 (anstelle des .1Q-Standards 0x8100) zugewiesen.[a]
* 12 Bits werden für die VLAN-ID verwendet, die anderen Bits in den VLAN-Feldern werden entsprechend der QoS-Richtlinie usw. der Schnittstelle ausgefüllt, an der das Tag aufgesetzt wurde.
Jede dritte oder nachfolgende Tag-Impositionierung fügt das Tag vor den vorangegangenen Tags ein, am nächsten zum Ethernet-Header. Der ursprüngliche EtherType des Rahmens befindet sich immer nach allen Tags und neben der Nutzlast. Im Falle eines 802.3-Frames wäre dieser EtherType stattdessen ein Längenwert und würde die Länge von dort bis zum Ende des Frames enthalten. Im Falle eines 802.3-Frames mit einem LLC-Header steht der LLC-Header nach dem Längenfeld und neben der Nutzlast.
Die Konventionen für die 802.1ad-Terminologie lauten in der Regel wie folgt:
* Das innere Tag ist das Tag, das dem Nutzlastteil des Rahmens am nächsten ist; es wird offiziell C-TAG für Kunden-Tag mit EtherType 0x8100 genannt.
* Das äußere Tag ist dasjenige, das dem Ethernet-Header am nächsten ist; es heißt S-TAG für Service-Tag mit EtherType 0x88a8.
* In Frames mit mehr als einem Tag sind die Tags von 1 bis N nummeriert und erscheinen sequentiell und zusammenhängend im Frame vom Ethernet-Header bis zur Nutzlast. In diesem Fall ist der innerste Tag der C-TAG und alle anderen Tags sind S-TAGs.
* Bei einem Rahmen mit einem einzigen Tag (802.1Q) wird dieses Tag als Tag 1 bezeichnet, wenn es mit 802.1ad-Tags gemischt wird.
In IEEE 802.1ad wird der Ein-Bit Canonical Format Indicator (CFI) durch einen Drop Eligibility Indicator (DEI) ersetzt, wodurch die Funktionalität des Priority Code Point (PCP)-Feldes erhöht wird.

## Tag-Operationen

In einem Tag-Stapel werden Push- und Pop-Operationen am äußeren Tag-Ende des Stapels durchgeführt. Daher wird das durch eine Tag-Push-Operation hinzugefügte Tag zu einem neuen äußeren Tag und das durch eine Tag-Pop-Operation zu entfernende Tag ist das aktuelle äußere Tag.