SPB-M (IEEE802.1aq) は本来、キャリアが顧客へ「WAN 超えでの Ethernet ブロードキャストドメイン」 を提供するための技術の規格です。
歴史的には IEEE802.1ad (いわゆる Q-in-Q トンネル)から始まり、 IEEE802.1ad のスケーラビリティの問題を解決するために IEEE802.1ah が生まれ、それをさらに改良するために SPB-M (IEEE802.1aq) が生まれました。
IEEE802.1ad とは
IEEE802.1ad は IEEE802.1q (いわゆるタグ VLAN )の VLAN タグ (VID) を二重化し、1つは顧客の VLAN (Customer-VID=C-VID)、 もう1つは顧客自体の識別子(顧客識別子=サービスインスタンス識別子=Service-VID=S-VID)として利用するものでした。 これにより、例え顧客間で C-VID が重複しても、S-VID により識別することができます。
ですがこの技術について以下の2つの問題点があることが分かりました。
- 顧客を最大 4094 までしか収容できない(顧客識別子である S-VID の数が 4094)
- 網内中継スイッチにおいても顧客端末の MAC アドレスを学習する必要がある
これらの問題を解決するために IEEE802.1ah が登場しました。
IEEE802.1ah とは
IEEE802.1ah とは、Ethernet フレームを Ethernet フレームでカプセル化する方式で、Mac-in-Mac とも呼ばれています。
顧客を識別する顧客識別子(サービスインスタンス識別子)には I-SID (Individual Service ID) と呼ばれるものを利用し、IEEE802.1ad では 12bit (2の12乗-2=4094)だった顧客収容数を24bit (2の24乗-2≒1678万)まで増やすことができました。
また、カプセル化することで網内のスイッチでは顧客端末の MAC アドレスの学習が不要になり、網内中継スイッチの MAC アドレステーブルを少なくすることができました。
また、すでに構築してしまった既存の IEEE802.1ad 網同士を相互接続をするため、IEEE802.1ah の相互接続インタフェースでは、 IEEE802.1ad の顧客識別子(S-VID)をIEEE802.1ah の顧客識別子(I-SID)に変換する機能も持たせています。
SPB-M の特徴
さて、IEEE802.1aq(SPB-M) は IEEE802.1ah のフォーマットを流用しています。
I-TAG (4byte) の中身は IEEE802.1ah と同じであり、I-SID (3byte) とその他 [予約 (3bit), NCA (1bit), I-DEI (1bit), I-PCP (3bit)] となっています。
- NCA = No Customer Addresses: 1の場合、C-SA や C-DA が有効ではないことを示す。網内管理用パケット等で利用。
- I-DEI = Instance Drop Eligible Indicator: 輻輳時の優先廃棄に利用 ( IEEE802.1ad の DEI に相当)
- I-PCP = Instance Priority Code Point: QoS に利用 (IEEE802.1p = CoS に相当)
ところで、IEEE802.1ah と IEEE802.1aq の違いはどのようなものでしょうか。
それは網内の通信効率性と設計・設定の容易性です。
IEEE802.1ah はループ防止としてスパニング・ツリー、および、B-SA (Backbone-Source-Address:BEB が付け加えた Ethernet ヘッダの送信元 MAC アドレス)が自身の Backbone-MAC アドレス (B-MAC) になっていないかのチェックを想定しています。 ループは防げるのですが、負荷分散の機能がありません。また、STP の実装に当たっては、STP の設計(ルートブリッジの検討等) および手動での設定が必要となります。
それに対して IEEE802.1aq(SPB-M) は、IS-IS により自動でトポロジ検出をすることにより、 全てのスイッチが各々をルートブリッジとする Shortest Path Tree を自動で構築し、 自動でのループ回避、および負荷分散が可能となります。また、B-SA を Reverse Path Forwarding によるループチェックも行うことができます。
また、IEEE802.1ah との比較ではありませんが、マルチキャストの設計・設定も容易になります。 これは、マルチキャストルーティングで使う SPT(Shortest-Path-Tree) は送信元 IP とマルチキャストグループアドレスの 組み合わせ (S,G) 毎に決まるのに対し、SPB-M では IS-IS により各 BEB 毎に SPT があらかじめ決まるためです。
SPB-M は L2 通信なので、L3 のマルチキャストルーティングと単純比較はできませんが、 効率的なマルチキャスト通信を IS-IS の設定のみで実現できるというのは大きな魅力です。 (L3マルチキャストルーティングの設計・設定はトテモフクザツ。。)
詳細は SPB-M の動作の章で説明します。
ただし、いいことばかりではありません。制約もあります。
IEEE802.1ah において、BEB には IEEE802.1ah 対応スイッチを置かなければなりませんが、UNI の無い網内中継スイッチは B-DA と B-VID のみを見て転送するだけなので、 IEEE802.1q や STP にさえ対応してさえいればよく、IEEE802.1ah に対応している必要はありません。
それに対して IEEE802.1aq (SPB-M) では、IS-IS も理解する必要があるため、BEB だけでなく 網内中継スイッチも IEEE802.1aq (SPB-M) に対応している必要があります。
また、これも IEEE802.1ah との比較では無いのですが、フレームサイズが 22 バイト大きくなるため、 MTU の設定には注意が必要です。
コメント