はい、承知いたしました。QinQ (Q-in-Q) 技術について、仕組み、メリット、デメリットを詳細に解説する約5000語の記事を作成します。
QinQ (Q-in-Q): VLAN拡張とサービス分離のための二重タグ付け技術を徹底解説
はじめに:なぜQinQが必要なのか
現代のネットワーク、特にサービスプロバイダーや大規模エンタープライズ環境では、多様な顧客や部門に対してセキュアで分離された通信サービスを提供する必要があります。従来のイーサネット技術におけるVLAN(Virtual LAN)は、この目的のために広く利用されてきました。IEEE 802.1Q規格によって標準化されたVLANは、イーサネットフレームに4バイトのVLANタグ(タグヘッダー)を付加することで、物理ネットワークを論理的に分割し、ブロードキャストドメインを制限します。各VLANは固有のVLAN ID(VID)を持ち、これにより異なるVLAN間の通信を制御することが可能になります。
しかし、802.1Q VLANには本質的な制限があります。それは、VLAN IDの数が最大4094個(ID 0と4095は予約されているため)に限られていることです。これは、比較的小規模なエンタープライズネットワークでは十分かもしれませんが、多数の顧客を抱えるサービスプロバイダー環境や、大規模なマルチテナントデータセンターなどでは、あっという間に枯渇してしまう可能性があります。例えば、1000社の顧客にそれぞれ複数のVLANを提供する場合、簡単に4094個のVLAN IDを超えてしまうかもしれません。
さらに、サービスプロバイダーが顧客に透過的なVLANサービスを提供したい場合にも課題が生じます。顧客は自身のネットワーク内で自由にVLANを使用したいと考えますが、サービスプロバイダーは顧客のVLAN IDとプロバイダー自身のVLAN IDが衝突しないように管理する必要があります。これは非常に煩雑であり、顧客の自由なVLAN設計を妨げる要因となります。プロバイダーは顧客ごとに異なるVLAN ID範囲を割り当てるか、顧客のVLAN IDをプロバイダーのVLAN IDにマッピングするなどの複雑な手法を取る必要があり、拡張性や運用性が損なわれます。
これらの課題を解決するために登場したのが、QinQ (キュードットキュー、キューインキュー) 技術です。QinQは、既存の802.1Q VLANタグのフレームに対して、さらに別の802.1Qタグを追加することで、事実上のVLAN ID数を大幅に拡張し、かつプロバイダーネットワーク内での顧客トラフィックの分離と透過性を実現します。この技術はIEEE 802.1adとして標準化され、主にプロバイダーブリッジやキャリアイーサネットの分野で利用されています。
この記事では、QinQの仕組み、その動作原理、さまざまな実装方法、そしてサービスプロバイダーや大規模エンタープライズがQinQを導入することで得られるメリットと、同時に考慮すべきデメリットについて、詳細かつ徹底的に解説します。
第1章:QinQの基本的な仕組み
QinQは、その名の通り「Q in Q」、つまり「タグの中にタグがある」状態を作り出す技術です。具体的には、顧客のイーサネットフレームに付加されている可能性のある標準的な802.1Q VLANタグ(これを「カスタマータグ」またはC-Tagと呼びます)に対して、サービスプロバイダーが自身のネットワーク内で使用する別の802.1Q VLANタグ(これを「プロバイダータグ」またはS-Tagと呼びます)をさらに付加します。これにより、元のフレームは二重のVLANタグを持つことになります。
1.1. タグ構造の理解
標準的な802.1Q VLANフレームは、元のイーサネットフレームの送信元MACアドレスとタイプ/長さフィールドの間に、4バイトのVLANタグヘッダーが挿入されます。
宛先MACアドレス (6 bytes) | 送信元MACアドレス (6 bytes) | 802.1Q Tag Header (4 bytes) | タイプ/長さ (2 bytes) | ペイロード (Variable) | FCS (4 bytes) |
---|---|---|---|---|---|
TPID (2 bytes) | PRI (3 bits) | CFI (1 bit) | VID (12 bits) |
- TPID (Tag Protocol Identifier, 2 bytes): 通常
0x8100
。これが802.1Qタグであることを示します。 - PRI (Priority, 3 bits): IEEE 802.1pプライオリティに使用されます (CoS: Class of Service)。
- CFI (Canonical Format Indicator, 1 bit): 主にイーサネットとトークンリング間の互換性に使用されます。イーサネットでは通常0です。
- VID (VLAN Identifier, 12 bits): VLAN ID。0~4095の値を取り、実際に使用可能なのは1~4094です。
QinQでは、この標準的な802.1Qフレーム(またはタグ付けされていないフレーム)に対して、さらにS-Tagが追加されます。このS-Tagは、元のイーサネットフレームの先頭、すなわち宛先MACアドレスと送信元MACアドレスの直後に挿入されます。C-TagはS-Tagの直後に位置します。
宛先MACアドレス (6 bytes) | 送信元MACアドレス (6 bytes) | S-Tag Header (4 bytes) | C-Tag Header (4 bytes) | タイプ/長さ (2 bytes) | ペイロード (Variable) | FCS (4 bytes) |
---|---|---|---|---|---|---|
S-TPID (2 bytes) | S-PRI/S-CFI/S-VID (2 bytes) | C-TPID (2 bytes) | C-PRI/C-CFI/C-VID (2 bytes) |
- S-TPID (Service Provider TPID, 2 bytes): QinQフレームを示すために使用されるTPID。標準では
0x88a8
です。これにより、プロバイダーネットワーク内のスイッチは、このフレームがQinQフレームであることを認識し、最も外側のタグ(S-Tag)を基に転送処理を行います。一部のベンダー実装では、従来の0x8100
を使用し、プロトコルを区別しない場合もありますが、0x88a8
を使用するのが標準的なQinQ (802.1ad) です。 - S-PRI/S-CFI/S-VID (Service Provider Tag): プロバイダーが使用するプライオリティ、CFI、そしてVLAN IDです。このS-VIDが、プロバイダーネットワーク内で顧客トラフィックを識別・転送するために使用されます。
- C-TPID (Customer TPID, 2 bytes): 元のフレームがC-Tagを持っていた場合、そのTPID (
0x8100
) がここに位置します。 - C-PRI/C-CFI/C-VID (Customer Tag): 元のフレームが持っていた顧客のVLAN情報です。
このように、QinQフレームは標準的な802.1Qフレームに比べて4バイト余分にタグヘッダーが付加されることになります。
1.2. カプセル化と非カプセル化のプロセス
QinQの動作は、プロバイダーネットワークのエッジスイッチ(顧客宅内機器に接続されるポート)で行われるカプセル化と、もう一方のエッジスイッチ(または顧客への出口ポート)で行われる非カプセル化が中心となります。
-
カプセル化 (Encapsulation):
- 顧客からのフレームがプロバイダーのエッジスイッチの特定のポート(一般的に「エッジポート」「顧客ポート」または「ユニポート」などと呼ばれる)に到着します。
- このフレームが標準の802.1Qタグ(C-Tag)を持っているか、あるいはタグ付けされていないかに関わらず、スイッチは設定されたS-Tagをフレームの先頭(MACアドレスの直後)に挿入します。
- フレームがタグ付けされていない場合、S-Tagのみが付加されます。
- フレームがC-Tagを持っている場合、S-Tagが先頭に付加され、元のC-TagはS-Tagの直後に位置します。結果として、二重タグ付きフレームになります。
- S-Tagが挿入されたフレームは、S-TagのS-VIDに基づいてプロバイダーネットワークのコア側へ転送されます。
-
非カプセル化 (Decapsulation):
- プロバイダーネットワークのコアから、S-Tag付きのフレームがもう一方のエッジスイッチの特定のポート(こちらも「エッジポート」または「ユニポート」などと呼ばれる)に到着します。
- スイッチは、設定に基づいて最も外側のタグ(S-Tag)を削除します。
- S-Tagが削除された後、フレームは顧客へ送信されます。
- 元のフレームがC-Tagを持っていなかった場合、タグなしフレームとして送信されます。
- 元のフレームがC-Tagを持っていた場合、S-Tag削除後もC-Tagは残るため、標準的な802.1Qタグ付きフレームとして送信されます。
プロバイダーネットワークのコアスイッチは、通常S-Tag (TPID 0x88a8
) のみを見てフレームを転送します。内側のC-Tagについては関知しないか、無視します。これにより、プロバイダーはコアネットワーク内でS-Tagのみを管理すればよく、個々の顧客のC-Tagに煩わされる必要がなくなります。
1.3. IEEE 802.1ad (Provider Bridges)
QinQ技術は、IEEE 802.1adとして標準化されています。これは「Provider Bridges」とも呼ばれ、サービスプロバイダーが顧客向けに透過的なイーサネットサービスを提供するための機能群を定義しています。QinQは、この802.1ad標準の中核となる要素の一つです。802.1adでは、外側のタグのTPIDとして0x88a8
が規定されており、これによりプロバイダーネットワーク内のブリッジがこのフレームを特別に処理することを可能にしています。従来の802.1Q (0x8100
) とは異なるTPIDを使用することで、顧客の802.1Qフレーム(C-Tag)とプロバイダーの802.1adフレーム(S-Tag)を明確に区別できます。
第2章:QinQの実装方式
QinQの実装にはいくつかのバリエーションがあり、主にどのトラフィックに対してS-Tagを付加するか、あるいはどのS-Tagを付加するかによって区別されます。
2.1. ポートベースQinQ (Port-based QinQ / Basic QinQ)
最もシンプルで一般的な実装方式です。エッジスイッチの特定のポート(顧客ポート)に到着したすべてのフレームに対して、事前に設定された単一のS-Tagを付加します。フレームがタグ付き(C-Tagあり)であっても、タグなしであっても関係なく、同じS-Tagが外側に付加されます。
- 仕組み: ポート単位でS-VIDが設定されます。そのポートに入ってくる全てのフレームは、そのS-VIDでタグ付け(二重タグ化またはS-Tag単独タグ化)されてプロバイダーネットワークに入ります。
- 特徴: 設定が非常に簡単です。顧客ごとに一対一でS-Tagを割り当てる場合に適しています。顧客側はポートに流すVLANを自由に選択できますが、そのポートを経由する全てのトラフィックは同じS-Tagの下で転送されます。
- ユースケース: E-LINEサービス(Point-to-Point接続)などで、顧客サイトAと顧客サイトBの間を単一の「仮想回線」として接続する場合に適しています。顧客サイトAのポートから入ったトラフィックは特定のS-Tagでカプセル化され、プロバイダーネットワークを経由して、同じS-Tagを持つ顧客サイトBのポートで非カプセル化されます。
2.2. 選択的QinQ (Selective QinQ / Flow-based QinQ / VLAN-based QinQ)
ポートベースQinQよりも粒度の高い制御を可能にする方式です。エッジスイッチの特定のポートに到着したフレームのうち、特定の条件に一致するものだけに対してS-Tagを付加します。条件としては、多くの場合、フレームが持つC-TagのVIDが使用されます。
- 仕組み: ポート単位ではなく、ポートとC-Tagの組み合わせに基づいてS-Tagが設定されます。例えば、「ポートXに到着したフレームのうち、C-Tag VIDが10、20、30のフレームにはS-Tag 1000を付加する。C-Tag VIDが40、50のフレームにはS-Tag 2000を付加する」といった設定が可能です。タグなしフレームや、指定されていないC-Tagを持つフレームは、設定によって破棄するか、別のS-Tagを付加するか、あるいはタグ付けされずに転送(許可されている場合)するかを選択できます。
- 特徴: より柔軟なサービス提供が可能です。一つの顧客ポートで、顧客が使用する複数の異なるVLANグループを、プロバイダーネットワーク内の異なるS-Tagにマッピングして転送できます。これにより、顧客の特定のVLANグループごとに異なるサービス品質(QoS)を適用したり、異なる宛先に転送したりといった高度な制御が可能になります。
- ユースケース: E-LANサービス(Point-to-Multipoint接続やMultipoint-to-Multipoint接続)や、顧客が複数の異なるサービス(インターネット接続、音声、VPNなど)を同じ物理ポートで利用し、それぞれのサービスを異なるVLANで区別している場合などに適しています。プロバイダーは顧客のサービスVLAN(C-Tag)に基づいて、それぞれのトラフィックを適切なS-Tagにマッピングし、プロバイダー網内で分離・転送できます。
2.3. その他の考慮事項
- デフォルトS-Tag: 選択的QinQにおいて、指定したC-Tag以外のフレームやタグなしフレームに対して適用するデフォルトのS-Tagを設定できる場合があります。
- C-Tagの書き換え: 一部の高度な実装では、S-Tagを付加する際に、元のC-Tagを別のC-Tagに書き換える機能(VLANトランスレーション)を同時に行うことができます。これは、顧客ネットワーク統合時などに、異なるVLAN ID体系を持つネットワーク間を接続する際に役立ちます。
- S-TagのPRI/CFI: S-Tagが付加される際、外側のS-TagのPRI(優先度)フィールドに、内側のC-TagのPRIフィールドの値をコピーする設定や、固定の値を設定する設定などがあります。これにより、顧客のQoS設定をプロバイダーネットワークに透過させたり、プロバイダー側で一律のQoS制御を行ったりすることが可能です。
第3章:QinQのメリット
QinQ技術を導入することで、サービスプロバイダーや大規模ネットワーク管理者は、従来の802.1Qのみでは困難だった様々なメリットを享受できます。
3.1. VLAN IDの劇的な拡張と節約
これはQinQの最も主要なメリットです。サービスプロバイダーは、顧客ごとに独自のVLAN ID体系(1~4094)の使用を許可できます。プロバイダー側では、各顧客を識別するために少数のS-Tag(例えば、顧客ごとに1つのS-Tag、または顧客のサービスごとに1つのS-Tag)を割り当てるだけで済みます。
例えば、プロバイダーが1000社の顧客を収容する場合、各顧客に固有のS-Tagを1つずつ割り当てると、必要なS-Tagは1000個です(プロバイダー網全体で4094個のS-Tagが利用可能)。各顧客はそのS-Tagの「カプセル」の中で、自身のネットワーク内で自由に4094個のC-Tagを使用できます。理論上、これにより (プロバイダーのS-Tag数
) × (顧客のC-Tag数
) の組み合わせによる識別が可能になり、事実上4094 × 4094 ≈ 1600万以上の論理的な区分が可能になります。
これは、プロバイダーが各顧客にVLAN IDの範囲を割り当てたり、顧客のVLAN IDをプロバイダーのVLAN IDに変換したりする手間を省き、プロバイダーネットワーク内で管理すべきVLAN ID数を大幅に削減します。プロバイダーのコアネットワークは、顧客のC-Tagに関係なく、外側のS-Tagのみに基づいてフレームを転送すればよいため、VLANテーブルサイズを小さく保つことができます。
3.2. 顧客間の強固な分離
QinQは、顧客間のトラフィックを効果的に分離します。異なるS-Tagを持つフレームは、プロバイダーネットワーク内では完全に異なるVLANとして扱われます。たとえ異なる顧客が偶然あるいは意図的に同じC-Tag VID(例えばVID 100)を使用していても、それぞれ異なるS-Tag(例えば顧客AはS-Tag 1000、顧客BはS-Tag 2000)の下でカプセル化されていれば、プロバイダーネットワーク内でこれらのトラフィックが混じり合うことはありません。ブロードキャスト、マルチキャスト、ユニキャストトラフィックのいずれも、S-Tagによって分離されます。
この分離機能は、セキュリティ上非常に重要です。顧客のトラフィックが他の顧客に漏洩するリスクを低減し、プライバシーとセキュリティを確保します。プロバイダーは、顧客に専用線のようによりセキュアな仮想ネットワークを提供することができます。
3.3. プロバイダーネットワーク設計の簡素化
QinQを使用すると、プロバイダーのコアネットワークの設計と運用が簡素化されます。コアスイッチは、顧客の数千に及ぶ可能性のあるC-Tagについて知っている必要がありません。単にS-Tagに基づいてパケットを適切な宛先ポートへスイッチングすれば良いだけです。
これにより、コアスイッチ上で管理する必要のあるVLANの数が減り、MACアドレステーブルやVLANテーブルのサイズを抑えることができます。これはネットワーク機器のリソース消費を減らし、スケーラビリティを向上させます。また、プロバイダー網内の経路設計も、S-Tag単位で行えるため、顧客のC-Tag構造に依存しません。
3.4. 顧客に対する透過性の提供
QinQの重要な利点の一つは、顧客に対して高い透過性を提供できることです。顧客は自身のネットワーク内部で、プロバイダーのネットワーク構成やVLAN ID体系を意識することなく、自由にVLANを設計・使用できます。プロバイダーは顧客のC-Tagをそのままカプセル化して転送するため、顧客のVLAN IDはプロバイダーネットワークを通過して相手側のサイトに透過的に届きます。
これにより、顧客はプロバイダーとの調整なしに自身のVLANを追加、削除、変更することが可能になり、ネットワーク運用の柔軟性が向上します。これは、顧客が自身のデータセンターやブランチオフィス間で既存のVLAN設計をそのまま拡張したい場合に特に有利です。
3.5. サービス区別の容易性
選択的QinQを使用することで、プロバイダーは同じ顧客ポートに入ってくる異なる種類のトラフィック(顧客のVLAN IDによって区別される)を、プロバイダーネットワーク内の異なるS-Tagにマッピングできます。これにより、例えば顧客のデータトラフィックをS-Tag 1000に、VoIPトラフィックをS-Tag 2000にマッピングし、S-Tagごとに異なるQoSポリシーを適用したり、異なるネットワークパスを通したりすることが容易になります。プロバイダー側で顧客のトラフィックをきめ細かく制御し、多様なサービスレベルを提供するための基盤となります。
3.6. キャリアイーサネットサービスの実現
QinQは、キャリアイーサネット(Metro Ethernet)サービスの実現に不可欠な技術です。E-LINE (Ethernet Line)、E-LAN (Ethernet LAN)、E-TREE (Ethernet Tree) といった様々なサービスタイプを、QinQを用いることで効率的に提供できます。
- E-LINE: 2点間を結ぶ仮想専用線サービス。顧客サイトAからのトラフィックを特定S-Tagでカプセル化し、プロバイダー網を経由して顧客サイトBへ非カプセル化して届けるポートベースQinQなどが適しています。
- E-LAN: 複数拠点間を結ぶ仮想LANサービス。顧客の複数のサイトからのトラフィックを同じS-Tagでカプセル化し、プロバイダー網内でそのS-Tagを使ってスイッチングすることで、顧客の各サイトが同一セグメントに接続されているかのように見せることができます。選択的QinQを用いて、顧客の特定のVLANグループをE-LANサービスに乗せるといった高度な構成も可能です。
QinQは、これらのキャリアイーサネットサービスにおいて、顧客トラフィックの分離、拡張性、透過性を確保するための基本的な技術要素となっています。
第4章:QinQのデメリット
QinQは多くのメリットを提供する一方で、いくつかのデメリットも存在します。これらを理解し、適切に対処することが、QinQを成功裏に導入・運用するためには不可欠です。
4.1. フレームサイズの増加とMTU問題
QinQの最大のデメリットの一つは、フレームサイズが4バイト増加することです。標準的なイーサネットフレームの最大伝送単位(MTU: Maximum Transmission Unit)は1500バイトです(これはIPパケットサイズの上限であり、イーサネットフレームヘッダーやFCSを含めると1518バイトまたはVLANタグ付きで1522バイト)。QinQフレームは、標準のVLANタグ付きフレーム (1522 bytes) にさらに4バイトのS-Tagが付加されるため、最大フレームサイズは1526バイトになります。
この4バイトの増加は、プロバイダーネットワーク内の全ての機器(スイッチ、ルーターなど)がこのより大きなフレームを処理できるように、MTUを1504バイト(IPパケットサイズ + 8バイトVLANタグ、ただしこれはVLANタグ2つ分を考慮した実効ペイロードサイズ。実際にはイーサネットフレーム全体のMTUを増やす必要がある)以上に設定する必要があることを意味します。
プロバイダーネットワークの全ての機器でMTU設定が適切に行われていない場合、MTUを超えるサイズのフレームはフラグメント化されるか、破棄される可能性があります。これは、特に経路上のどこかにMTUが1500バイトのままの機器が混在している場合に深刻な問題を引き起こします。例えば、大きなファイル転送やVPNトラフィックなど、サイズの大きなIPパケットを含む通信が不安定になったり、まったく通らなくなったりします。
この問題に対処するためには、プロバイダーネットワーク全体でジャンボフレーム(標準のMTUよりはるかに大きいフレーム、通常9000バイトなど)をサポートするように設定するか、少なくともQinQフレームが通過する全ての機器のMTUを1504バイト以上に設定する必要があります。これは既存ネットワークへの導入時には大きな作業負荷となる可能性があります。
4.2. 処理性能への影響
QinQフレームは、標準的なイーサネットフレームや単一VLANタグ付きフレームに比べて、二重のタグ情報を処理する必要があります。特にエッジスイッチにおけるカプセル化/非カプセル化処理や、選択的QinQにおけるC-Tagの検査とマッピング処理は、より多くの処理能力を要求する可能性があります。
古いネットワーク機器や、QinQ処理に特化したハードウェアアクセラレーションを持たない機器では、QinQトラフィックの処理がパフォーマンスのボトルネックとなる可能性があります。特に高トラフィックの環境では、パケットロスや遅延の原因となることが考えられます。最新のキャリアグレードのネットワーク機器はQinQ処理をハードウェアで高速に行えるよう設計されていますが、それでも機器の能力上限に達する可能性はあります。
4.3. 運用およびトラブルシューティングの複雑さ
QinQネットワークの運用とトラブルシューティングは、標準的なVLANネットワークに比べて複雑になります。問題を切り分ける際に、外側のS-Tagと内側のC-Tagの両方を考慮する必要があるからです。
- 可視性の低下: プロバイダーのコアネットワーク機器は通常、S-Tagしか認識しません。そのため、コアネットワークでは顧客のC-Tagに関する情報を直接見ることはできません。顧客が特定のC-Tagで問題を報告した場合、プロバイダーはエッジスイッチまで戻ってC-Tag情報を確認するか、パケットキャプチャツールを使用してフレームの詳細を確認する必要があります。
- ツールと監視: ネットワーク監視システムやパケットアナライザーが、802.1ad (TPID 0x88a8) と二重タグ構造を正しく認識し、デコードできる必要があります。古いツールでは、QinQフレームを不正なフレームと見なしたり、内側のC-Tag情報を表示できなかったりする可能性があります。
- 設定ミス: ポートベースか選択的か、どのS-Tagを付加するか、C-TagとS-Tagのマッピング、MTU設定など、設定項目が多岐にわたるため、設定ミスのリスクが高まります。特に選択的QinQは設定が複雑になりがちです。
- 顧客との連携: 問題発生時には、プロバイダーと顧客の間でC-Tag情報やネットワーク構成について連携する必要があります。
これらの要因により、障害発生時の原因特定や復旧に時間がかかる可能性があります。運用担当者には、QinQに関する深い知識と、適切なツールを使用したトラブルシューティングスキルが求められます。
4.4. プロトコルの制限
QinQは基本的にイーサネットのデータリンク層(レイヤ2)で動作する技術です。IPなどの上位レイヤのプロトコルについては関知しません。これはメリットでもありますが、デメリットとして、より高度なトラフィックエンジニアリングやルーティング機能は提供できません。例えば、特定のアプリケーション(TCP/UDPポートなど)に基づいてトラフィックを区別したり、負荷分散を行ったりするには、QinQだけでは不十分であり、上位レイヤの技術(MPLSなど)と組み合わせるか、エッジでのより高度なトラフィック分類機能(アクセスリストやポリシーベースルーティングなど)に依存する必要があります。
また、QinQはブロードキャストトラフィックをS-Tagの範囲で転送するため、大規模なE-LANサービスで多くのサイトを一つのS-Tagに収容する場合、ブロードキャストストームのリスクが増大する可能性があります。これを緩和するためには、スパニングツリープロトコル(STP)などのレイヤ2制御プロトコルが適切に機能する必要がありますが、プロバイダーネットワークのコアでSTPを広範囲に動作させるのは管理が難しい場合があります。
4.5. ベンダー間の実装差
QinQはIEEE 802.1adとして標準化されていますが、一部の細かい動作や設定コマンド、特に選択的QinQやVLANトランスレーションなどの高度な機能については、ベンダーによって実装が異なる場合があります。異なるベンダーの機器間でQinQ接続を行う場合、相互接続性のテストが重要になります。特にS-TagのTPIDとして0x8100を使用する従来のQinQ実装と、802.1adに準拠した0x88a8を使用する実装の間で互換性の問題が生じる可能性があります。
第5章:QinQの主な用途と導入事例
QinQは、その特性から主にサービスプロバイダーネットワークや、大規模なイーサネットサービスの提供が必要な環境で活用されています。
5.1. キャリアイーサネットサービス (Metro Ethernet)
前述の通り、E-LINE、E-LAN、E-TREEといったキャリアイーサネットサービスの基盤技術として最も広く利用されています。メトロエリアネットワークにおいて、顧客拠点間のセキュアで透過的なレイヤ2接続を提供するために不可欠です。
5.2. マルチテナントデータセンター
仮想化やクラウド環境の進展により、一つの物理データセンターインフラストラクチャを複数のテナント(顧客)が共有するケースが増えています。QinQは、これらのテナント間でトラフィックを論理的に分離し、各テナントが自身のVLAN構成を自由に使えるようにするために利用されることがあります。ただし、近年ではVXLANやNVGREといったオーバーレイネットワーク技術の方が、データセンター内の大規模なレイヤ2拡張やテナント分離にはより広く用いられる傾向にあります。QinQは、データセンターと外部ネットワーク(WAN)を接続するエッジ部分や、古いインフラストラクチャにおいて利用されることがあります。
5.3. ISPにおける広帯域アクセス網
インターネットサービスプロバイダーが、顧客の宅内ネットワーク(例えばIPoE接続)から集約ネットワークへのトラフィックを運ぶ際に、顧客単位での分離やサービス単位での分離(インターネット、IP電話、IPTVなど)を行う目的でQinQを利用することがあります。顧客宅内ルーターからのPPPoEやDHCPなどのトラフィックを、顧客を識別するS-Tagでカプセル化し、プロバイダー網内の終端装置まで運ぶといったシナリオで役立ちます。
5.4. 大規模エンタープライズネットワーク
非常に大規模なエンタープライズや、複数の子会社を持つグループ企業などで、異なる部門や子会社間でネットワークを分離しつつ、共通のバックボーンネットワークを利用する場合にQinQが検討されることがあります。例えば、各子会社のネットワークを顧客に見立てて、QinQを使って本社ネットワークやデータセンターネットワークに収容するといったケースです。
5.5. ホールセールネットワークサービス
プロバイダーが他の通信事業者に対して、自身のネットワークインフラを貸し出す(ホールセール)場合に、テナントとなる事業者のトラフィックをQinQによって分離し、それぞれの事業者がエンドユーザーに対して透過的なサービスを提供できるようにします。
第6章:QinQの構成に関する考慮事項 (概念的な説明)
具体的な設定コマンドはベンダーによって異なりますが、QinQを構成する上での一般的な概念や考慮事項について説明します。
6.1. エッジポート(ユニポート)の設定
QinQのカプセル化/非カプセル化が行われる、顧客側の機器に接続されるポートです。
- 役割: 顧客からのトラフィックを受け取り、S-Tagを付加してプロバイダー網へ送出する(カプセル化)、およびプロバイダー網からのS-Tag付きトラフィックを受け取り、S-Tagを除去して顧客へ送出する(非カプセル化)を行います。
- 設定項目:
- S-Tagの割り当て: このポートに到着したフレームに付加するS-TagのVIDを設定します。ポートベースQinQの場合は単一のS-VIDを、選択的QinQの場合はC-Tag VIDとS-Tag VIDのマッピングリストを設定します。
- TPIDの設定: 外側のS-TagのTPIDとして
0x88a8
(標準)を使用するか、0x8100
(一部の古い実装)を使用するかを設定します。 - デフォルトアクション: 選択的QinQの場合、指定したC-Tagに一致しないフレーム(タグなしフレームやその他のC-Tag)をどのように扱うかを設定します(破棄、特定のデフォルトS-Tagでタグ付け、など)。
- C-Tagの扱い: フレームがすでにC-Tagを持っている場合に、そのC-Tagを保持するか、削除するか(あまり一般的ではない)、あるいはS-TagのPRIフィールドにC-TagのPRIをコピーするかなどを設定します。
- MTU設定: QinQフレームを正常に転送できるように、ポートのMTUを1504バイト以上に設定する必要があります。
6.2. コアポート(ネットワークポート)の設定
プロバイダーネットワーク内のスイッチやルーター間でQinQフレームを転送するために使用されるポートです。
- 役割: S-Tag付きのフレームを透過的に転送します。通常、内側のC-Tagについては関知しません。
- 設定項目:
- 許可するS-Tag: このポートで通過を許可するS-Tagのリストを設定します。プロバイダーネットワーク内で使用される全てのS-Tagを通過させるように設定するのが一般的です。
- TPIDの認識:
0x88a8
TPIDを持つフレームを標準のイーサネットフレームとしてではなく、QinQフレームとして認識するように設定します。 - MTU設定: コアポートのMTUも、QinQフレームの最大サイズ(通常1504バイト以上)を許容できるように設定する必要があります。これはネットワーク全体のMTU設定ポリシーの一部となります。
6.3. S-Tagの設計
S-TagのVIDは、プロバイダーネットワーク内で顧客またはサービスを識別するために使用されます。効率的で管理しやすいS-Tag設計を行うことが重要です。
- 顧客ごとのS-Tag: 各顧客に固有のS-Tagを割り当てる最もシンプルな方法です。ポートベースQinQに適しています。
- サービスごとのS-Tag: 一つの顧客に対して、異なるサービス(例:インターネット、VoIP、VPN)ごとに異なるS-Tagを割り当てる方法です。選択的QinQに適しています。顧客側のC-Tagに基づいてS-Tagをマッピングします。
- エリアごとのS-Tag: 特定の地域やPOP (Point of Presence) から収容されるトラフィックに対して共通のS-Tagを使用し、そのS-Tagの中で顧客をC-Tagで区別する方法も考えられます。ただし、この場合、エリアを越えて顧客のVLAN透過性を確保するには、エリア間のバックボーンで二重のQinQや他の技術が必要になる場合があります。
S-Tagの数は4094個に制限されるため、プロバイダーの加入者数や提供サービス数、ネットワーク構成を考慮して、枯渇しないような設計が必要です。
第7章:QinQと他の技術との比較
QinQはレイヤ2のカプセル化技術ですが、同様の目的で利用される他の技術との比較を通じて、その立ち位置を明確にします。
7.1. 標準802.1Q VLANとの比較
- 違い: 802.1Qは単一のVLANタグを使用するのに対し、QinQは二重のVLANタグを使用します。
- 目的: 802.1Qは単一組織内での論理的なネットワーク分割やブロードキャストドメインの制御に使用されます。QinQは主にサービスプロバイダーが顧客トラフィックを分離し、プロバイダー網内で透過的に伝送するために使用され、VLAN IDの制約を克服します。
- 拡張性: 802.1QのVLAN数は4094個に制限されますが、QinQはS-TagとC-Tagの組み合わせによりVLAN数を劇的に拡張できます。
7.2. MPLS (Multiprotocol Label Switching) との比較
- 違い: QinQはレイヤ2のカプセル化技術であるのに対し、MPLSはレイヤ2.5の技術であり、ラベルスイッチングという仕組みでパケットを転送します。MPLSはIPパケットだけでなく、様々なプロトコルをカプセル化できます。
- 目的: QinQは主にVLAN拡張と顧客分離によるレイヤ2 VPNサービス提供に使用されます。MPLSはより広範な用途(IP VPN、トラフィックエンジニアリング、QoS、擬似回線など)に使用される、より複雑で多機能な技術です。
- スケーラビリティ: MPLSは、特に大規模なIPネットワークにおけるスケーラビリティ、トラフィックエンジニアリング能力、高速な切り替え(FRR: Fast Reroute)などの点でQinQよりも優れています。QinQはレイヤ2技術の制約を受けやすく、大規模なメッシュネットワークなどではMPLSの方が適しています。
- 複雑さ: MPLSはQinQに比べて構成が複雑で、専門的な知識が必要です。QinQは比較的シンプルに導入できます。
- ヘッダーオーバーヘッド: MPLSは通常複数のラベルを使用するため、QinQ (8バイトのタグヘッダー) よりもヘッダーオーバーヘッドが大きくなる可能性があります。
一般的に、MPLSはプロバイダーのコアネットワークで、QinQはメトロネットワークやアクセスネットワークのエッジ部分で使用されることが多いです。MPLSとQinQは組み合わせて使用することも可能で、例えばMPLS VPNのPE (Provider Edge) ルーターと顧客のCE (Customer Edge) ルーター間のアクセス回線でQinQを使用して顧客トラフィックを収容し、PEルーターでS-Tagを終端してMPLSラベルにマッピングするといった構成があります。
7.3. VXLAN (Virtual eXtensible Local Area Network) / NVGRE (Network Virtualization using Generic Routing Encapsulation) との比較
- 違い: VXLANやNVGREは、主にデータセンター内の大規模なレイヤ2拡張やテナント分離に使用されるオーバーレイネットワーク技術です。これらは、既存のIPネットワーク(アンダーレイネットワーク)上にトンネルを作成し、レイヤ2フレーム(イーサネットフレーム)をUDP/IP(VXLAN)またはGRE/IP(NVGRE)パケットとしてカプセル化して転送します。QinQは単にVLANタグを追加するだけの技術です。
- 目的: VXLAN/NVGREは、データセンター内の仮想マシンモビリティや、数万~数百万規模のテナント分離をIPネットワーク上で実現することに特化しています。QinQは、主にサービスプロバイダーのエッジ/メトロネットワークで、VLAN IDの拡張と顧客間のレイヤ2分離を行うために使用されます。
- スケーラビリティ: VXLANは24ビットのVNI (VXLAN Network Identifier) を使用するため、約1600万の論理ネットワークを識別でき、VLAN IDの制限(4094)を大幅に超えるスケーラビリティを持ちます。
- 基盤ネットワーク: VXLAN/NVGREはIPネットワーク上で動作するため、基盤となるIPネットワークのルーティング能力やロードバランシング能力を活用できます。QinQは基盤となるレイヤ2ネットワーク上で動作します。
- オーバーヘッド: VXLANやNVGREのカプセル化は、QinQよりも大きなヘッダーオーバーヘッドを伴います。
データセンター内の仮想化環境ではVXLAN/NVGREが主流ですが、WAN側との接続や、物理ネットワーク上でのテナント分離にはQinQが依然として利用されることがあります。
7.4. Mac-in-Mac (802.1ah / Provider Backbone Bridges – PBB) との比較
- 違い: Mac-in-Mac (PBB) は、イーサネットフレーム全体を新しいイーサネットヘッダー(プロバイダーMACアドレスとB-Tagと呼ばれるタグを含む)でカプセル化する技術です。QinQは既存のイーサネットフレームにVLANタグを追加するだけです。
- 目的: PBBは、プロバイダーのバックボーンネットワーク内で顧客のMACアドレスやVLAN情報から分離された状態でフレームを転送することを目的としています。これにより、プロバイダーのバックボーンは顧客のMACアドレス学習やVLAN管理の負荷から解放されます。QinQはVLAN IDの拡張と顧客分離が主目的です。
- スケーラビリティ: PBBはB-Tagを使用して約1600万のサービスインスタンスを識別でき、顧客のMACアドレスをバックボーンで学習する必要がないため、MACアドレステーブルのスケーラビリティに優れています。
- 複雑さ: PBBはQinQよりも複雑な技術であり、構成や運用もより高度になります。
- オーバーヘッド: PBBはフレーム全体をカプセル化するため、QinQよりもヘッダーオーバーヘッドが大きくなります。
PBBはQinQと組み合わせて使用されることもあります(PBB-EVPLなど)。QinQはアクセス/メトロネットワークで、PBBはより大規模なプロバイダーのバックボーンネットワークで利用される傾向があります。
第8章:QinQの今後の展望と代替技術
QinQはキャリアイーサネットサービスにおいて確立された技術ですが、ネットワーク技術は常に進化しています。
- MPLSの優位性: 大規模で複雑なサービスプロバイダーネットワークでは、トラフィックエンジニアリングや多様なVPNサービス提供能力に優れたMPLSが引き続き主要な技術です。QinQはMPLSアクセス網における顧客収容技術として、あるいはMPLSがコストや複雑さの観点から適さない比較的小規模なメトロネットワークで利用され続けるでしょう。
- データセンター技術の影響: VXLANやEVPN (Ethernet VPN, BGPを活用したレイヤ2/レイヤ3 VPN技術) の発展により、データセンターとその接続においてはこれらの新しい技術がQinQの代替または上位の技術として普及しています。
- ソフトウェア定義ネットワーク (SDN) / ネットワーク機能仮想化 (NFV): SDNやNFVの進展により、ネットワークの制御やサービスの提供方法がより柔軟になり、ハードウェアベースの制約が緩和される可能性があります。これにより、QinQのような固定的なカプセル化技術の役割も変化するかもしれません。しかし、基盤となるデータ転送パスにおける効率的なカプセル化技術として、QinQは今後も一定の役割を果たし続けると考えられます。
- 新しいイーサネット標準: 将来的にイーサネット標準でVLAN ID数の上限が引き上げられる可能性も理論的にはゼロではありませんが、既存の膨大なVLAN IDの利用状況や後方互換性を考えると、QinQのようなカプセル化による拡張が現実的な解決策であり続けるでしょう。
結論として、QinQは特にメトロエリアにおけるレイヤ2サービスの提供において、シンプルさと効率性のバランスから今後も重要な技術であり続けます。しかし、より大規模で複雑なネットワークやデータセンター環境では、MPLSやVXLAN/EVPNといった他の技術が選択されるケースが増えると考えられます。QinQの導入を検討する際には、これらの技術との比較や、将来的なネットワーク拡張計画を考慮することが重要です。
まとめ:QinQを理解する上で重要なポイント
QinQ (Q-in-Q) は、サービスプロバイダーや大規模ネットワークが直面するVLAN ID枯渇問題と顧客間分離の課題を解決するための効果的な技術です。その本質は、標準的なイーサネットフレームにサービスプロバイダー用のタグ(S-Tag)を追加することで、既存の顧客タグ(C-Tag)を内包し、二重タグ構造を作り出す点にあります。
- 仕組み: 顧客トラフィックはエッジスイッチでS-Tagを付加されてカプセル化され、プロバイダー網をS-Tagに基づいて転送され、反対側のエッジでS-Tagを除去されて非カプセル化されます。外側のS-Tagは標準とは異なるTPID (
0x88a8
) を使用することが一般的です。 - 種類: ポートに到着した全てのトラフィックに単一S-Tagを付加する「ポートベースQinQ」と、特定のC-Tagを持つトラフィックにS-Tagをマッピングする「選択的QinQ」があります。
- メリット:
- VLAN IDの劇的な拡張(4094から1600万以上の組み合わせへ)
- 顧客間の強固なレイヤ2分離によるセキュリティとプライバシー確保
- プロバイダーネットワーク設計の簡素化とコア機器のVLAN管理負荷軽減
- 顧客ネットワークに対する高い透過性
- サービスごとの区別と制御の容易性(選択的QinQの場合)
- キャリアイーサネットサービスの実現基盤
- デメリット:
- フレームサイズの4バイト増加によるMTU問題。プロバイダーネットワーク全体でのMTU調整が必要。
- 二重タグ処理による機器のパフォーマンス影響の可能性
- 運用およびトラブルシューティングの複雑化、特別なツールやスキルが必要
- レイヤ2技術ゆえのプロトコルの制限(高度なトラフィックエンジニアリング機能は単独では提供しない)
- ベンダー間の実装差による相互接続性の課題
QinQの導入を成功させるためには、これらのメリット・デメリットを十分に理解し、特にMTU設定や運用体制について入念な計画と準備を行うことが不可欠です。また、MPLSやVXLAN/EVPNといった代替または補完技術との比較検討も、ネットワーク全体のアーキテクチャ設計において重要となります。
QinQは、現代のサービスプロバイダーネットワークにおいて、多様な顧客にセキュアでスケーラブルなイーサネットサービスを提供するための、強力かつ実績のある技術です。その仕組みと特性を深く理解することで、最適なネットワークソリューションを選択し、効果的な運用を実現することができます。
上記の記事は、QinQの仕組み、メリット、デメリットを中心に、関連技術との比較や導入に関する概念的な説明を含め、約5000語になるように詳細に記述しました。専門用語については、必要に応じて説明を加えるよう努めています。