30 Minutes NetWorking
No.SW17

30Minutes NetWorking

BCMSN

第17回MLS(2) MLSの動作

■ MLSの動作

スーパーインター博士

MLSの詳細な説明を今回行うわけだ。
ネット君、MLSの特徴は?

ハイパーネット助手

route-once, switch-many.
スイッチにルーティングを「覚えさせる」んでしたよね。

スーパーインター博士

そうだ。MLS-RPの行ったルーティング結果を、MLS-SEが記憶し、フローの2つ目以降のパケットをスイッチングする、これがMLSだ。

ハイパーネット助手

まるちれいやすいっちんぐ。
レイヤ2のスイッチングだけでなく、レイヤ3もスイッチングする、と。

スーパーインター博士

そういうことだ。
では、前回は概略だけだったので、今回は細かい動きを追ってみよう。

[FigureSW17-01:MLSの動作]

ハイパーネット助手

は〜。
なんか、新しい用語が増えてるんですけど。

スーパーインター博士

そうか?

ハイパーネット助手

MLSP HelloとXTAGって?

スーパーインター博士

MLSP Helloはレイヤ3マルチキャストで送信される、MLS-RPアドバタイズメントの1つだ。
XTAGは1バイトで、MLS-RPを識別する値だな。

ハイパーネット助手

XTAGで識別…。

スーパーインター博士

enableエントリの確認や、MLS-RPの障害時のエントリの削除などに使われる。

MLS-RPの障害とエントリ削除

[FigureSW17-02:MLS-RPの障害とエントリ削除]

ハイパーネット助手

あ〜なるほど。
他には…candidateパケットとenableパケット?

スーパーインター博士

[candidate]は「候補者」の意味だな。MLSするかどうかの「候補」としてフローの最初で受け取るパケットのことだ。
[enable]は「許可を与える」の意味だから、「候補」に対してMLSの「許可を与える」という形になる。

ハイパーネット助手

ははぁ、許可をもらうと、MLSキャッシュのエントリとして確定して、今後MLSの対象となる、という意味ですね。

スーパーインター博士

そういうことだ。
注意事項としては、MLSは一方通行という点だな。

ハイパーネット助手

一方通行?

スーパーインター博士

うむ。MLSキャッシュのエントリを見てもわかるとおり、エントリとして登録された内容と逆の向きのパケットはMLSされない、ということになる。

MLSの方向

[FigureSW17-03:MLSの方向]

ハイパーネット助手

あ〜、確かに。キャッシュには宛先IP、送信元IP、宛先MACがあるから逆向きは適用されませんよね。
ということは、逆向きは、逆向きでまたMLSキャッシュが必要?

スーパーインター博士

そういうことになる。

ハイパーネット助手

は〜。

スーパーインター博士

あとは、RPのインタフェースとSEは同じVTPドメインにないとダメだからな。

ハイパーネット助手

RPのインタフェース?

スーパーインター博士

そうだ。MLSを設定する際、対象となるインタフェースにはVTPドメイン名を設定しておくコマンドを入力する必要がある、ということだ。

ハイパーネット助手

了解です。

■ MLSとACL

スーパーインター博士

さて、前回、異なるネットワーク間の転送でのルータの役割を見てもらったな。

ハイパーネット助手

あ〜はいはい。コレですよね。

[FigureSW16-01:別ネットワーク宛の送信の動作]

スーパーインター博士

うむ。この図と、さきほどのMLSの動作の図を見比べると、ルータが行うことで1つ抜けていることがある。
気づいたか?

ハイパーネット助手

え〜、そんなのありましたっけ?

スーパーインター博士

ある。
それは、ACLだ。

ハイパーネット助手

あくせすこんとろーるりすと?
あ〜、そういえば、ルータが受け取った際のACLの確認ってのがMLSの図ではなかったですね。

スーパーインター博士

そうだろう? 何故ならばACLがあった場合MLSが上手くいかない可能性があるからだ。

ハイパーネット助手

え? そうなんですか?

スーパーインター博士

例えば、以下の図だ。

[FigureSW17-04:MLSとACL]

ハイパーネット助手

ありゃりゃりゃ。

スーパーインター博士

と、こういうことが発生しえることになるわけだな。
ネット君、対処法は?

ハイパーネット助手

ACLを使わない

スーパーインター博士

なるほど、正論だ。そうすればこのようなことは起きえない。
さすがだ、ネット君。

ハイパーネット助手

えへへ。

スーパーインター博士

前々から言っているとおり、どうして君は物事を短絡的に解決したがるのかね?
「できない」→「どうにかする」という発想を何故もてない?

ハイパーネット助手

はぅっ。

スーパーインター博士

ともかくだ。対処する点は2点。
まず1点、ACLが持つレベルのものをMLSキャッシュに持たせること。

ハイパーネット助手

ACLが持つレベルってなんです?

スーパーインター博士

ACLの、拡張ACLで使う条件としてのレベルだ。
つまり、レイヤ3のプロトコル番号、レイヤ4のポート番号などだ。これをMLSキャッシュに記憶させる。

ハイパーネット助手

ははぁ、MLSキャッシュにポート番号を入れればさっきのは確かに解決できますね。

スーパーインター博士

そうだろう。もう1つはACL設定時にはMLSキャッシュをクリアさせることも必要だ。
そうでないと、前のキャッシュでスイッチングされてしまう。

ハイパーネット助手

なるほど、確かに。

スーパーインター博士

というわけで、MLSでこれらのことを対応するために使うものが、フローマスクだ。

ハイパーネット助手

ふろーますく?
どんなマスクです?

■ フローマスク

スーパーインター博士

フローマスクには3種類のものがある。
この3種のうち、MLS-SEは1種類を使う。

  • Destination-IP … ACLなしの時使用
  • Source-Destination-IP … 標準ACLで使用
  • IP-Flow … 拡張ACLで使用
ハイパーネット助手

ですてねーしょんあいぴー。そーすですてねーしょんあいぴー。あいぴーふろー。
Destinationは宛先、Sourceは送信元、Flowはフローですよね?

スーパーインター博士

うむ。この3種の違いは、MLSキャッシュに記憶する内容だ。
まず、Destination-IP フローマスク。

Destination-IP

[FigureSW17-05:Destination-IP]

スーパーインター博士

宛先IPアドレスのみでエントリと比較する。
それ以外の情報は使わない、というマスクだ。

ハイパーネット助手

う〜んと。スイッチが受信したパケットをMLSするかどうかの判断で、宛先IPアドレスが一致してればいい、という意味ですね。

スーパーインター博士

そうだ。特にMLS-RPでACLを設定していないならばこれでいい。

ハイパーネット助手

そうですね。確かに。

スーパーインター博士

次が、Source-Destination-IPフローマスク。

Source-Destination-IP

[FigureSW17-06:Source-Destination-IP]

ハイパーネット助手

送信元IPが増えましたけど。
これは宛先IPと送信元IPが一致したパケットをMLSするという意味でよろしいんでしょうか?

スーパーインター博士

そうだ。宛先IP・送信元IPアドレスでエントリと比較する。
標準ACLはどういうものだった、ネット君?

ハイパーネット助手

標準ACLは、送信元IPアドレスでフィルタリングします。

スーパーインター博士

そう、Source-Destination-IPを使うことにより、標準ACLのフィルタリングを有効にできることになる。

[FigureSW17-07:Source-Destination-IPの動作]

スーパーインター博士

この結果、Source-Destination-IPフローマスクならば標準ACLがちゃんと効果を発揮するわけだ。

ハイパーネット助手

は〜、なるほど。

スーパーインター博士

3つ目のフローマスクは、IP-Flowフローマスクだ。

IP-Flow

[FigureSW17-08:IP-Flow]

スーパーインター博士

まぁ、わかると思うが、拡張ACLに対応するため、使用プロトコルと宛先・送信元のポート番号もエントリと比較するわけだ。

ハイパーネット助手

ははぁ、それならば拡張ACLの記述が効果を発揮しますね。

スーパーインター博士

だろう? 動作自体は先ほどのSource-Destination-IPと同じなので割愛する。
さてもう1つ、MLSキャッシュの問題がある。

ハイパーネット助手

え〜っと、「前のキャッシュでスイッチング」してしまうことがあるって奴ですか?

スーパーインター博士

そうだ。なのでアクセスリストを設定した段階でMLSPでMLSキャッシュを全クリアする指示を出す。

ハイパーネット助手

ふむふむ。

スーパーインター博士

そうすると、それ以後はACLによりenableパケットが届かなくなり、ACLが発揮されるというわけだな。

ハイパーネット助手

さっきのC→B間をMLSしないって奴ですね。

スーパーインター博士

そういうことだ。

ハイパーネット助手

そういえば、博士。
さっき、enableパケットのこない候補エントリは5秒でクリアってありましたけど、enableエントリはどのぐらいキャッシュに残るんですか?

スーパーインター博士

ネット君にしてはいい質問だ。
enbleエントリは256秒でエイジアウトする。

ハイパーネット助手

はぁ。8ビットカウンタですね。

スーパーインター博士

そうなるな。
さてネット君。MLSを使ったルーティングの高速化は理解できたか?

ハイパーネット助手

まぁ、なんとか。

スーパーインター博士

よしよし、その自信なさげなところがネット君らしくてよろしい
ルーティングの高速化という点では、レイヤ3スイッチと、あとCEFがあるが、これは機会があったら説明しよう。

ハイパーネット助手

はい。

スーパーインター博士

というわけで、また次回。

ハイパーネット助手

いぇっさ〜。
30分間ネットワーキングでした〜♪

MLS-RPアドバタイズメント
[MLS-RP Advertisement]
CGMPを使用する。CGMPについては後述。
フローマスク
[FlowMask]
CEF
[Cisco Express Fowarding]
MLSとはまた別のマルチレイヤスイッチング方式。
ハイパーネット助手ハイパーネット君の今日のポイント
  • MLSではMLSキャッシュを作成し、フローを高速化させる。
  • ACLに対応するため、MLSは3つのフローマスクを持つ。
  • フローマスクはMLSキャッシュとパケットの一致を確認する項目を設定する。
    • Destination-IPはACLなしの時使用する。
    • Source-Destination-IPは標準ACLで使用する。
    • IP-Flowは拡張ACLで使用する。

30 Minutes NetWorking No.SW17

管理人:aji-ssz(at)selene.is.dream.jp