【MLS(マルチレイヤスイッチング)の動作について】


このHPはMLS(マルチレイヤスイッチング)の動作についてまとめたものです。


1-1 MLSの動作

MLSでは、MLSに必要な3つのコンポーネント(MLS-RP、MLS-SE、MLSP)が、レイヤ3スイッチングを可能にするためにどのように動作するのかを理解することが重要。

MLSは、4ステップのプロセスを経て、レイヤ3スイッチング機能を確立する。MLSを有効にするために必要な4ステップは次のとおり。


@MLSP検出
A候補パケットの識別
B有効パケットの識別
C後続フローパケットのレイヤ3スイッチング


次に各ステップについて、詳しく見ていく。


@MLSP検出

最初にMLS-RP は 、MLSP を使用してマルチキャストの「hello」パケットを 15 秒ごとにレイヤ2アドレス01-00-0C-DD-DD-DDへCGNPを使って送信する。このパケットが 3 回連続して受信されない場合、MLS-SE は MLS-RP で障害が発生したか、または MLS-RP への接続が失われたと判断する。

MLS-SEは情報を受け取ると 、レイヤ2ネットワーク内のすべてのMLS-RPデバイスのCAMテーブルにエントリを作成する。MLSP helloパケットが受信されたあと、CAMテーブルに格納される情報の部分は、XTAGと呼ばれるID。

XTAGは、MLSスイッチがネットワーク内のMLSルータを追跡するために使用する一意の識別子。MLS-RP上で使用されているMACアドレスとVLANはすべて、CAMテーブル内のXTAG値に関連付けられる。







★MLSキャッシュ

MLS-SEがMLS-RPのCAMエントリを作成すると 、スイッチはパケットのスキャンとキャッシュのエントリの作成を開始できる。キャッシュエントリは、フローデーターを維持するために作成される。 フローデータによってMLS-SEは新たな送信元/あ て先MACアドレスでパケットを書き換えた後、パケットを転送できる。エントリは2ステップを経て、キャッシュされる

●候補パケットのエントリ
●有効パケットのエントリ



候補パケットとは、 MLS キャッシュ エントリと一致せず、MLS-RP に転送されるパケットのこと。

有効パケットとは、 MLS フローマスクを通じて転送された候補パケットのヘッダー情報を書き換えた後(データ部分は変更されない)、そのパケットを宛先パスに従ってネクストホップに送信するパケットのこと。








A候補パケットの識別

MLS-SEは、MLS-RPからパケットが入力されるすべてのインターフェイスのMACアドレスエントリを持っている。この情報を使ってMLS-SEは、MLS-RPに関連するMACアドレス宛の入力フレームを監視し始める。

入力フレームは、以下の 3つの条件のいずれかに合致する。

●MLS-RP MACアドレスあてでない。
●MLS-RP MACアドレスあてだが、このフローのキャッシュエントリがすでに存在している。
●MLS-RP MACアドレスあてだが、このフローのキャッシュエントリは存在していない。


どの条件に合致したかによって、MLS-SEは異なる処理を実行する。



●【MLS-RP 以外のあて先の場合】

入力フレームが、MLS-RPに関連付けられたMACアドレスあてでない場合、キャッシュエントリは作成されない。フレームが、 CAMテーブル内の別のMACアドレスあてである場合は、レイヤ2でスイッチングされる。



●【キャッシュエントリが既に存在する場合】

MLS-RPのMACアドレスあてのフレームがスイッチに入力すると、スイッチは現在のパケットの属性に合致するキャッシュエントリが作成されているかどうかを調べる。各フレームは、MLS-SEがパケットをフロー分類できる様に、識別用の特性または属性を持っている。

入力パケットが確立済みのフローキャッシュエントリと同じ属性を持つ場合は、パケットはショートカットスイッチングされる。



●【キャッシュエントリがない場合】

MLS-RPあての入力フレームがキャッシュエントリと比較され、既存のフローエントリが見つからなかった場合は、新たなキャッシュエントリが作成される。この時点で、パケットは候補パケットとしてタグ付けされる。キャッシュエントリが作成されると、パケットはMLS-RPへ転送され、通常通りの処理をする。つまりMLS-RPは、ルート検索を実行し、レイヤ2ヘッダを書き換え、パケットを次ホップインターフェイスへ送信する。



B有効パケットの識別

MLSスイッチは、MLSルータのMACアドレスあての全ての入力フレームを監視したのと同様に、MLSルータから来る全てのパケット監視する。これらのパケットは、候補パケットキャッシュエントリと合致するかどうかを調べるために監視する。

合致する場合は、パケットは有効パケットとしてタグ付けされ、フローキャッシュの残りの要素がCAMテーブルに補完される。以下の条件を使って、比較が行われる。


●送信元MACアドレスが、MLS-RPからのパケットであることを示している。

●あて先IPアドレスが、候補パケットのあて先IPアドレスと合致する。

●送信元MACアドレスが、候補パケットのあて先MACアドレスと同じXTAG値に関連付けられている。

上記の3つ条件全てに合致する場合は、MLS-SEはショートカットキャッシュエントリを完成できる。


C後続フローパケットのレイヤ3スイッチング


一旦候補パケットと有効パケットが識別され、フローキャッシュが確立されると、後続のパケットはルータを使用することなく、スイッチによってあて先へ転送される。

MLS-SEは、フレームを書き換える機能を持っているため、フレームに必要な変更を加え、それをあて先ホストへ直接転送できる。 MLS-SEは、送信元/あて先IPアドレス、送信元/あて先MACアドレス、MLS-RP関連のMACアドレスなど、必要な情報をキャッシュする。

その後MLS-SEはこの情報を使って、フローに属するパケットを識別し、フレームを書き換え、そのパケットを適切なあて先へ転送する。




1-2 MLSキャッシュエントリの表示

MLSキャッシュエントリを表示する方法は、数通りある。基本コマンドは、【show mls entry】。ただし、この基本コマンドの出力をカスタマイズするために使用できるオプションが多数ある。



●【全てのMLSキャッシュエントリの表示】

スイッチ上のすべてのMLSエントリ(IPおよびIPX)を表示するには、イネーブルモードで次のコマンドを実行する。

show mls entry [ short / long ]


longオプションとshortオプションは、異なる方法で出力を変更する。mlsはモジュールに基づいて表示できる。longは情報を全て1行で表示し、shortはキャリッジリターンを使って情報を表示する。


●【特定の宛先アドレスに対応するMLSエントリの表示】

特定の宛先IPアドレスに対応するMLSエントリを表示するには、イネーブル・モードで次のコマンドを使う。

show mls entry ip destination 【IPアドレス】


●【特定の送信元アドレスに対応するエントリの表示】

特定の送信元IPアドレスに対応するMLSエントリを表示するには、イネーブル・モードで次の作業を行います。

show mls entry ip source【IPアドレス】





1-3 MLSキャッシュエントリの除去

MLSキャッシュエントリをすぐに消去したい場合は、【clear mls entry】コマンドを実行する。このコマンドも特定のキャッシュエントリだけを消去できるようにするオプションがある。


clear mls entry [ destination IPアドレス ] [ source IPアドレス ] (all)


allオプションを使うと、全てのMLSキャッシュエントリが削除される。特定のIPアドレス、ポートまたはプロトコルを指定すると、特定のキャッシュエントリを削除できる。