IEEE 802.1ad
IEEE 802.1adは、IEEE標準IEEE 802.1Q-1998の修正版として非公式にQinQとして知られているイーサネットネットワーキング標準でした。 802.1adは、2011年に基本802.1Q標準に組み込まれました。この手法は、 プロバイダーブリッジング 、 スタックVLAN 、または単にQinQまたはQ-in-Qとも呼ばれます 。 「Q-in-Q」は、サポートされているデバイスの場合、Cタグ(イーサネットタイプ= 0x8100)上のCタグスタッキングに適用できます。
元の802.1Q仕様では、単一の仮想ローカルエリアネットワーク(VLAN)ヘッダーをイーサネットフレームに挿入できます。 QinQでは、複数のVLANタグを単一のフレームに挿入できます。これは、メトロイーサネットネットワークトポロジを実装するために不可欠な機能です。 QinQが802.1Qを拡張するように、QinQ自体は他のメトロイーサネットプロトコルによって拡張されます。
複数のVLANヘッダーコンテキストでは、便宜上「802.1Q VLANヘッダー」の代わりに「VLANタグ」または単に「タグ」という用語が使用されることがよくあります。 QinQでは、イーサネットフレームで複数のVLANタグを使用できます。これらのタグを合わせてタグスタックを構成します。イーサネットフレームのコンテキストで使用される場合、QinQフレームは2つのVLAN 802.1Qヘッダー(二重タグ付き)を持つフレームです。
バックグラウンド
802.1adは、アーキテクチャとブリッジプロトコルを指定して、ユーザー間の協力を必要とせず、ユーザーとプロバイダー間の最小限の協力を必要とする方法で、MACサービスの個別のインスタンスをブリッジローカルエリアネットワークの複数の独立したユーザーに提供しますMACサービスの。
たとえば、サービスプロバイダーが提供するVLAN内で顧客が独自のVLANを実行できるようにするという考え方です。これにより、サービスプロバイダーは顧客に対して1つのVLANを設定するだけで、顧客はそのVLANをトランクであるかのように扱うことができます 。
IEEE 802.1adは、次の理由で作成されました。
- 802.1Qには12ビットのVLAN IDフィールドがあり、理論上の制限は212 = 4096タグです。ネットワークの成長に伴い、この制限はより深刻になりました。ダブルタグ付きフレームには、理論上の制限が4096×4096 = 16777216あり、今後数年間のネットワークの拡大に対応するのに十分です。
- 2番目のタグを追加すると、VLAN IDフィールドが12ビットから24ビット(またはその他の大きな値)に拡張されただけでは利用できなかった操作が可能になります。複数のタグ(タグスタック)を使用すると、スイッチでフレームをより簡単に変更できます。タグスタックスキームでは、スイッチは単一または複数のタグを追加(「プッシュ」)、削除(「ポップ」)、または変更できます。
- マルチタグ付きフレームには、複数のVLAN IDがあるだけでなく、複数のVLANヘッダービットフィールドがあります。
- タグスタックは、インターネットサービスプロバイダーが顧客の単一タグ付き802.1Qトラフィックを単一タグでカプセル化するメカニズムを作成します。最終フレームはQinQフレームです。外側のタグは、さまざまな顧客からのトラフィックを識別および分離するために使用されます。内部タグは元のフレームから保持されます。
- QinQフレームは、レイヤ2トンネルを構築したり、Quality of Service(QoS)ポリシーなどを適用したりする便利な手段です。
- 802.1adは802.1Qと上位互換性があります。 802.1adは2つのタグに制限されていますが、1つのフレームを3つ以上のタグに制限する規格に上限はなく、プロトコルの拡大が可能です。実際には、サービスプロバイダートポロジは、多くの場合、3つ以上のタグを持つフレームを予測して利用します。
- ネットワーキング機器メーカーは、複数の802.1Qヘッダーを作成して既存の機器を変更する方が、機器を変更して仮想の新しい非802.1Q拡張VLAN IDフィールドヘッダーを実装するよりも簡単です。
フレームフォーマット
これらの例は、イーサネットIIフレーミング(長さ/ ethertypeフィールド=> ethertype)フレーム用です。これは、LLC(論理リンク制御)、LLC + SNAPヘッダーの有無にかかわらず、802.3フレーム(長さ/エーテルタイプフィールド=>長さ)にも適用できます。一番上のフレームは、シンプルなイーサネットIIフレームです。中間フレームには802.1qタグが追加されています。下部のフレームには、さらに別の802.1qが追加されています。
4バイト長の802.1Qヘッダーは、次の方法でタグなしイーサネットIIフレームに追加されます。
- 4バイトのタグは、タグなしフレームのMAC送信元アドレス(SAMAC)とそのethertypeフィールドの間に挿入されます。
- 新しく挿入されたVLANヘッダーのethertypeは0x8100に設定され、次のデータをVLANタグとして識別します。
- VLAN IDには12ビットが使用され、VLANフィールドのその他のビットは、タグの面付けが発生したインターフェイスのQoSポリシーなどに従って入力されます。
.1Qヘッダーをタグなしフレームに挿入すると、フレームの元のイーサタイプが0x8100に変更されたように見えることに注意してください。シングルタグフレーム内のタグなしフレームの元のイーサタイプは、ペイロードに隣接するようになりました。その値は変更されていません。
2番目の802.1Qヘッダーは、次の方法で単一タグ付きフレームに追加されます。
- 2番目のタグは、最初のタグの前に挿入されます。つまり、2番目のタグは、最初の(元の)タグよりもイーサネットヘッダーに近くなります。
- 2番目のタグは、MAC SAMACと最初の(元の)タグの間に挿入されます。
- 2番目のタグには、デフォルトで(.1Q標準0x8100の代わりに)0x88A8のethertypeが割り当てられます。 (古い非標準802.1QinQプロトコルは0x9100を使用していました。)
- VLAN IDには12ビットが使用され、VLANフィールドのその他のビットは、タグの面付けが発生したインターフェイスのQoSポリシーなどに従って入力されます。
3番目以降のタグの面付けは、先行するタグよりもイーサネットヘッダーに最も近い前にタグを挿入します。フレームの元の(タグなしから)イーサタイプは、常にすべてのタグの上、ペイロードの隣にあります。 802.3フレームの場合、このethertypeは代わりに長さの値になり、そこからフレームの終わりまでの長さが含まれます。 LLCヘッダーのある802.3フレームの場合、LLCヘッダーはペイロードに隣接する長さフィールドの上に留まります。
802.1adの用語の規則は、通常次のとおりです。
- 内部タグは、フレームのペイロード部分に最も近いタグです。正式にはC-TAG (顧客タグ、ethertype 0x8100)と呼ばれます。
- 外側のタグは、イーサネットヘッダーに最も近い/最も近いタグです。その名前はS-TAG (サービスタグ、ethertype 0x88a8)です。
- タグ1は外側のタグです。 2 番目のタグであるタグ2は、内部タグです。タグ番号は、タグが追加された順序などとは関係ありません。これは単なる規則です。
- シングルタグ(802.1q)フレームの場合、802.1adタグと混在する場合、そのタグはタグ1に指定されます。
- 複数のタグを持つフレームでは、タグに1〜Nの番号が付けられ、イーサネットヘッダーからペイロードまでフレーム内で連続して連続して表示されます。この場合、最も内側のタグはC-TAGであり、他のすべてのタグはS-TAGです。
IEEE 802.1adでは、CFIはDrop Eligibility Indicator(DEI)に置き換えられ、PCPフィールドの機能が向上しています。
タグ操作
タグスタックでは、スタックの外側のタグの終わりでプッシュおよびポップ操作が行われます。したがって、
タグプッシュ操作によって追加されたタグは、新しい外部タグになります。 タグポップ操作によって削除されるタグは、現在の外部タグです。
例
仮想ネットワーク
この簡単な例は、802.1adの実際の使用法を示しています。この図は、スイッチを六角形で示し、サービスプロバイダー(SP)ネットワークは点線の楕円内のすべてのアイテムを網羅しています。楕円形の周辺のアイテムは、SPの顧客に属するネットワークです。異なる物理的な場所が影付きの長方形に表示され、顧客とSPの両方のネットワークコンポーネントが含まれます。
サービスプロバイダー(SP)は、シアトルとタコマの都市の顧客にL2接続を提供します。 2つの企業「Acme」と「XYZ」には、シアトルとタコマの両方にキャンパスがあります。すべてのキャンパスでイーサネットLANが稼働しており、顧客はSPのL2 VPNネットワークを介して接続し、キャンパスが同じLAN(L2ネットワーク)内にあるようにします。 AcmeとXYZには、シアトルとタコマの両方に単一のLANがあり、LAN間でトラフィックをルーティングする必要がある2つのLANを使用するという選択肢がありません。 SPには2つのスイッチがあり、1つはシアトル(S-Switch#1)に、もう1つはタコマ(S-Switch#2)にあります。お客様は、「A」および「B」と指定されたスイッチでSPネットワークに接続します。各顧客には、AおよびBスイッチの独自のペアがあります。 AcmeスイッチAは、リンク "A1"を介してS-Switch#1に接続されています。残りのリンクにはラベルが付けられています。 S-Switch#1と#2はリンクS12で接続されています。
AcmeのLANは、ネットワークでVLAN ID 10,11,12を使用します。接続A1およびA2は、ID 10、11、12を使用する単一タグ付きVLANトラフィックを持つイーサネットトランクです。同様に、XYZはネットワーク内でID 11,12,13を使用するため、X1とX2もID 11,12,13の単一のタグ付きトラフィックを持つトランクです。 S-Switch#1とS-Switch#2の間に1つのネットワークと1つの接続を持つSPは、AcmeとXYZのトラフィックを分離する必要があります。 AcmeとXYZの両方がいくつかのVLAN IDを共有しているため、トラフィックを顧客のVLAN IDで分離することはできません。
ソリューションは、SPがネットワークで802.1adを使用することです。 Acmeには100の一意の外部VLANタグID、XYZには101の一意の外部VLAN IDが割り当てられます。 Acme AからSPネットワーク(A1に送信され、Acme B宛て)に送信されるすべてのトラフィックには、ID = 100のタグがプッシュされます。内部タグは、元のAcmeタグである10,11,12のいずれかになります。トラフィックはこの形式でS12を介して送信され、Acme B(リンクA2)にバインドされたS-Switch#2を出る直前に、すべてのトラフィックが単一のポップ操作を受け、ID 100の外部VLANタグが削除されます。ポップ操作は以前のプッシュ操作の逆であり、最終的な結果はトラフィックに変化がありません。トラフィックは802.1adフレームとしてSPネットワークを通過しますが、802.1adフレームは顧客との間で送受信されません。
前の例の問題
経験豊富なネットワークエンジニアは、上記の例の短所をすぐに認識します。これが、802.1adがエンドツーエンドの自己完結型ソリューションではなく、フレームに複数のタグを追加する方法の定義である理由です。他のプロトコルおよび標準と組み合わせて使用されます。上記の例の問題は次のとおりです。
- 多くのスイッチは、VLAN IDではなくMACアドレスに基づいてイーサネットトラフィックをブリッジします。これは共有VLANラーニングと呼ばれ、802.1d MACラーニング/ MACエージングなどごとに実行されます。
- AcmeとXYZがネットワークで同じMACアドレスを使用する場合、MAC学習では2つのホストが同じMACアドレスを使用しないという前提があるため、MAC学習で問題が発生します。つまり、MACは単一のスイッチのポートからのみ学習する必要があります。
- SPネットワークは、それらを切り替えるためにすべての顧客のMACアドレスを学習する必要があります。これはうまくスケーリングしません。
- 上記の例では、L2プロトコルフレームに対する規定はありません。スパニングツリーが最も重要です。
- 追加のQoS機能が不足しています。
- 独立VLAN学習(IVL)を使用するブリッジ、つまり最初のVLANタグがSAMACアドレスの一部として含まれる場合、段落1および2で述べた問題を回避できます。IVLは、複数の顧客が使用するMACアドレスの問題を解決します。ただし、途中のスイッチは、挿入されたすべてのVLAN / MACアドレスの組み合わせ(12 + 48 = 60ビット)を学習する必要があります。
- LANからLANへのブロードキャストは、常に考慮すべき問題です。
プロバイダーブリッジ(802.1ad)およびプロバイダーバックボーンブリッジ(IEEE 802.1ah-2008標準)は、SAMAC学習方法をさらに修正することにより、上記の問題に対処します。