事前準備としてSPB-M網内のスイッチに IS-IS の設定、UNI (顧客向けポート)に I-SID の設定を投入します。すると SPB スイッチ同士が IS-IS で情報交換を始めます。
各SPBスイッチはIS-ISにより以下の情報を交換します。
- そのスイッチを一意に識別するBackbone-MAC アドレス (B-MAC)
- NNI (SPBスイッチ同士が直結しているインタフェース)のリンクコスト
- UNI に割り当てられている I-SID とそれに紐付く B-VID
- B-VID に紐付く ECT アルゴリズム(等コスト時のパス選択基準)
例えば以下のような、Node#4 の UNI ポート (port4) に接続された顧客 A の拠点の端末 A から、Node#7 の UNI ポート (port4) に接続された顧客 A の拠点の端末 B へ通信をする場合を考えます。
顧客 A の識別子として、UNI に I-SID=100 を割り当てます。これは実装によっては VLAN や VRF に割り当てることもあります。また、I-SID に紐付く B-VID(=Base-VID) を設定します。これは自動でも手動でも構いません。 また、その B-VID にさらに紐付く ECT-Algorithm を設定します。
ECT-Algorithm とは、等コストの経路が複数ある際に、どの経路を選択するかの基準です。デフォルトではブリッジ ID (B-MAC) が一番低い経路が選択されます。
I-SID=100 が存在する BEB は Node#1,3,4,6,7 の計 5 台です。この例では I-SID=100 のみですが、 各 BEB において、I-SID 毎にその BEB を起点とした Shortest Path Tree が構築されます。
1つの I-SID において B-VID が1つ割り当たるため、I-SID が同一であれば ECT-Algorithm も同一となり、その結果、 全ての経路は対称になります。(I-SID=100 において、Node#4 から Node#6 への経路が Node#4⇒Node#1⇒Node#6 であれば、 帰りの通信は Node#6⇒Node#1⇒Node#4 となります)
SPB-M 網の UNI にフレームが来た場合、宛先 MAC アドレス (C-DA) を見て、MAC アドレステーブルから C-DA に対応する B-DA (Backbone-Destination Address:C-DA が存在する UNI を持つ BEB の Backbone-MAC アドレス)を検索し、 Mac-in-Mac でカプセル化し、宛先を検索した B-DA に設定して転送します。
もし MAC アドレステーブルに C-DA のエントリが無い場合(もしくはマルチキャストを送信したい場合)は、 Mac-in-Mac でカプセル化し、その UNI に割り当てられている I-SID が存在する全ての BEB へ転送します。
その転送方式は以下の2つがあります。
- Head-End Replication : その I-SID が存在する BEB の数だけフレームを送信(各々宛先を B-MAC に設定)
- Tandem Replication : その I-SID を組み入れた特殊なマルチキャスト MAC アドレスを宛先に設定し、フレームを 1 つ送信
Tandem Replication で使うマルチキャスト MAC アドレスは、SPSrc (Shortest Path Source ID:別名Nick Name) と呼ばれる MAC アドレスのソースノードの識別子と I-SID から構成されます。
フレームを受け取った BEB は、C-SA が学習されていなければ B-SA とペアで MAC アドレステーブルに登録します。 また、受け取ったフレームは Mac-in-Mac のカプセル化を解除し、UNI へフレームを転送します。
フレームの転送に当たっては B-DA と B-VID だけを見て NextHop を決定するため、中継網では I-SID は意識されません。 意識するのは BEB です。
B-VID はその B-DA へ行くための途中経路を決定するもので、各 B-VID に対して ECT-Algorithm が 1 対 1 でマッピングされます。 すなわち、B-DA が同じであっても B-VID が異なれば(等コストパスがあれば)経路が異なります。 これによって負荷分散を実現します(負荷分散、ECT-Algorithm については後に説明します)。
コメント