VLANが足りない問題

はじめに

大規模なネットワークの設計を行っていると、必ずスケールアップの際に問題になる課題があります。
それがVLANの拡張問題です。

これについてまとめてみます。

VLANを巡る技術史

VLAN不足問題

VLAN(IEEE 802.1Q, タグVLAN, dot1q)は、1つの物理ネットワークを論理的に分割する技術で、今日のネットワーク設計では必ず使用されると言ってもいいほど広く普及している技術です。
VLANは次のようなヘッダー構成をしています。

IEEE 802.1Q - Wikipedia

このうち、VIDがVLAN IDを示し、12ビットのため 4096 件 (一部は予約で使用不可)まで使用することができます。

しかしながら、約4000件というのは実用上厳しい場合があり、2000年頃にインターネットが普及し始めると主にプロバイダーを中心に拡張を要望されるようになりました。
プロバイダーでは、各加入者にVLANを振っていましたが、4000ユーザーなどすぐに超えてしまい問題となりました。

QinQ

このようなVLAN不足問題に対応するため、様々な実装が考えられました。その中で標準化されたのがQinQ(IEEE 802.1ad、二重タグ方式)です。

IEEE 802.1ad - Wikipedia

QinQは非常にシンプルな仕様で、タグVLANのヘッダーの外に、もう一つタグVLANのヘッダーを付けます。こうすることで、4096 * 4096 = 1677万7216 件までVLANを拡張することができます。
タグVLANの規格番号のQを使用して、Qの中にQを入れる意味で QinQ と通称されています。
他の仕様に比べて実装も容易で、タグVLANのASICを流用できる場合が多いためスイッチの負荷も低く、安価なスイッチにも実装されていることが多い技術です。

主にプロバイダーで使用されることを想定した仕様であったため、内側のタグをCustomer VLAN、外側のタグを Service VLAN と呼びます。

Support - 11-QinQ configuration- H3C

しかし、このプロトコルにも弱点があります。
通常、L2スイッチはどの端末がどこに繋がっているかを示すMACアドレステーブルを持っているのですが、QinQはL2をそのまま拡張するため、L2スイッチには接続台数分のMACアドレスの登録が必要になります。
そのため、このMACアドレステーブルのサイズが実質的な接続台数の制限になってしまいます。(接続はできますがテーブルサイズを超えるとブロードキャストが増えるため遅延が発生するようになる)

以下は安価なFS.COMのスイッチで、こちらは3万テーブル程度となっています。TP-Linkの場合は1万件ほど、Ciscoの場合は金額が高額になります。

FS S3900-48T6S-R、48ポート ギガビットイーサネットL2+スイッチ - FS.com 日本
S3900-48T6S-Rは、48x 10/100/1000BASE-T および6x 10Gb SFP+アップリンクを備えた先進のレイヤ2プラス(レイヤ3ライト)ギガビット管理型スタッカブルスイッチです。デュアル冗長電源およびデュアルファン...

もちろん、多くのMACアドレスを登録できるスイッチもありますが、より高額なL2スイッチが必要になってしまいます。
エッジを含むすべてのスイッチに、これだけのスペックが必要なため、QinQはコストがかかる技術という課題を持っています。

このため、次にMACアドレステーブル不足問題が叫ばれるようになりました。

MAC-in-MAC

このような問題に対処するため、考えられたのがIEEE 802.1ahです。
この技術は、MACアドレスを二重にするため、通称として MAC-in-MAC とも呼ばれています。(QinQとネーミングセンスが同じ・・・)
IEEE 802.1ah のヘッダーは次のとおりです。

[ 3/5 ] 802.1/802.3の標準化動向(6):広域イーサネット向け802.1ah PBB標準とPBB-TEの動向 | 標準化 | スマートグリッドフォーラム
IEEE 802.1ah方式の概要802.1ah(拡張サービス・タグ付きフレーム方式)は、いわゆるMAC-in-MACと呼ばれるカプセル化方式(MACフレームの中にMACフレームを挿入する方式)を用いて、高い信頼性をもち、かつ大規模なレイヤ...

また、ahを拡張した IEEE 802.1aq も登場し、拡張性をより高めることとなりました。

しかし、この技術はプロバイダーなどでは普及しましたが、ユーザーがごく一部のためスイッチが高額になることなどから広くは普及しませんでした。

VXLAN

MACアドレス問題には、前述のようにIEEE 802.1ahなどが対処法として確立しましたが、ユーザー企業の仮想化の流行により、更なる転機がきます。
仮想マシンが広く普及すると、L3で区切った別ネットワーク間で仮想マシンを移動・展開させたいという要望が現れ始めました。

これには、次の様々な実装がありましたが、Ciscoなどが主体となっていたVXLANが広く普及しました。

VXLANが登場した理由、他の実装との違い、特徴を整理しよう
RFCとして仕様が公開されたVXLAN。なぜVXLAN? VLANではだめなんですか? という素朴な疑問から、仕様概要、VXLANを使ったネットワーク構成の勘所を紹介していきます。

VXLANは、VLANやQinQなどと比べると少々複雑です。
ヘッダーは以下のようになっており、L4までのヘッダーを付加して、元データをカプセル化します。

このような構成のため、MACアドレスはエンドポイントのスイッチのMACアドレスのみを学習すれば良いなり、MACアドレステーブルの問題も発生しません。
また、VLAN ID(VXLANの場合はVNIと呼ぶ)も24ビットあるため、16,777,216件までVLAN IDをサポートしています。

VXLAN はユーザー企業が主体となっていたため、VLANやQinQ対応製品に比べると高価ではありますが、MACinMACに比べると多くのスイッチに導入され価格も安くなっています。
おおむねL3以上のスイッチを購入すれば使用できます。

現在では、VXLANを使用する構成がスタンダードとなっています。

参考文献

ahについて詳しい
https://journal.ntt.co.jp/backnumber2/0604/files/jn200604012.pdf

QinQを使わずL2 VRRPで解消している案
https://www.janog.gr.jp/meeting/janog10/pdf/janog10-l2-ando.pdf
https://www.janog.gr.jp/meeting/janog10/log/janog10-vlan.txt

さくらはQinQとVXLANを組み合わせている
https://www.janog.gr.jp/meeting/janog39/application/files/3814/8479/0067/janog39-qinq-ito-01.pdf

関連技術がよくまとまっている
https://milestone-of-se.nesuke.com/nw-advanced/spb/spbm-summary/

コメント

タイトルとURLをコピーしました