30 Minutes NetWorking
No.SW16

30Minutes NetWorking

BCMSN

第16回MLS(1) MLSの基礎

■ ルータの役割

スーパーインター博士

前回の話から、続きと言うか、発展の話をしよう。
さて、ネット君。ホストから送信された別ネットワーク宛のパケットはどのように動く?

ハイパーネット助手

別のネットワーク宛?
そりゃ、デフォルトゲートウェイ(ルートプロセッサ)に送られて、ルーティングされるんですよ。

スーパーインター博士

まぁ、その通りなわけだ。
つまり、こういう動きを示すわけだな。

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

スーパーインター博士

どうだ?

ハイパーネット助手

どうだって、……すごいですね

スーパーインター博士

またソレかね? 君は「すごいですね」以外の感想を持たないのかね?
まったく。シンプルなのは確かに有力だが、脳までシンプルというのはどうかと思うぞ?

ハイパーネット助手

えへへ。

スーパーインター博士

褒めてねぇ

ハイパーネット助手

はぅっ。

スーパーインター博士

まぁ、ともかくだ。別ネットワーク宛のパケットは上図のような動作を行うわけだな。

ハイパーネット助手

あ、はい。別にこれといって変なところも、難しいところもないですよ?

スーパーインター博士

うむ。ネット君、20/80ルールを覚えているか?

ハイパーネット助手

20/80ルール? え〜っと、BCMSNの第一回で教えてもらったルールですよね。
通信の割合が、同一サブネット内が20、外が80だってことですよね。

20/80ルール

[FigureSW01-02:20/80ルール]

スーパーインター博士

そうだ。つまり、ルータの処理の比重が非常に高くなる、ということだな。
先ほどの別ネットワーク宛のパケットの動作を見てわかるとおり、ルータはやることが多い。

ハイパーネット助手

そうですねぇ、自分のMACアドレスの確認はともかくとして、インバウンド・アウトバウンドACL、ルーティング、ARPキャッシュの確認とてんこ盛りですね。

スーパーインター博士

うむ。特にソフトウェアベースのルータの場合、ルータこそがボトルネックになる可能性だってあるわけだ。

ハイパーネット助手

でも、それはしかたのないことなんでしょう?

■ フロー

スーパーインター博士

確かにそうかもしれん。
だが、実際に行われる通信というものを考えてみると、ちょっと違った見方ができる。

ハイパーネット助手

実際に行われる通信? 違った見方?

スーパーインター博士

IPというプロトコルはコネクションレス型通信だ。
つまり、今送ったパケットと、その1個前に送ったパケットとに因果関係はない、という前提で作られている。

ハイパーネット助手

そうですね、コネクションがないわけですから。

スーパーインター博士

ルータというレイヤ3デバイスもその前提で作られている。
だが、実際の通信を、特にTCPを使った場合のものを、レイヤ2・3レベルで見るとどうなる?

HTTPフロー

[FigureSW16-02:HTTPフロー]

スーパーインター博士

明らかに、同じ宛先、同じ送信元が連続して出てきている。
この同じものが連続して出てきていることに対し、ルータはコネクションレスが前提だから、それぞれ別のものとして扱う、つまり。

ハイパーネット助手

つまり?

スーパーインター博士

毎回毎回、ACLを確認し、ルーティングし、ARPキャッシュを確認し……、という動作を行う。
なぁ、ネット君、これはなんとも…

ハイパーネット助手

無駄じゃないか?

スーパーインター博士

無駄じゃないか?

ハイパーネット助手

えへへへ、読めてますよ、博士。

スーパーインター博士

……覚えておけよ、ネット君。
まぁ、ともかくだ。このような一連の流れのことをフローと呼ぶ。

ハイパーネット助手

ふろー? フローチャートのフロー?

スーパーインター博士

そうだ、そのフローだ。
一連の同宛先・同送信元で同種のパケットの流れ、という意味にでも取ってもらえればいい。

ハイパーネット助手

さっきの例だと、AからB宛のHTTP、という同種のパケットの流れですね。

スーパーインター博士

うむ。このフローで使われるパケットは、同じ送信元から、同じ宛先へ流れるパケットだ。
これを毎回毎回ルーティングするのは遅延の元だし、ルータの負荷も高くなる。

ハイパーネット助手

そうですねぇ、ルーティング先は決まってるんですからね。

スーパーインター博士

だろう? ルータというレイヤ3デバイスに任せてしまうと、どうしてもそうなってしまう。

ハイパーネット助手

じゃあ、ルータに任せない?

スーパーインター博士

そうだ。これをスイッチに実行させる。それによりフローの高速化を実現させる。
この技術をMLSという。

ハイパーネット助手

えむえるえす。まるちれいやすいっちんぐ。

■ MLS

スーパーインター博士

ルータでのルーティングというものは、特にソフトウェアベースならばどうしても遅延が発生してしまう。
20/80ルールの現在ではそれは致命的になる。

ハイパーネット助手

20/80ですと、ルータへの依存が高いですからね。

スーパーインター博士

そうだ。なので、MLSではその処理をスイッチに任せてしまい、ハードウェアベースで行おう、という技術だ。それにより高速化を図る。

ハイパーネット助手

ん〜っと。それはレイヤ3スイッチのことですか?

スーパーインター博士

レイヤ3スイッチは、完全にハードウェアベースのルーティングを行う機器で、MLSとはまた違う。
MLSはMLS対応スイッチとルートプロセッサという従来の機器の組み合わせで行う。

ハイパーネット助手

レイヤ3スイッチみたいに別物の機器を持って来るでなく。
いままでのものでもできるってことですね。

スーパーインター博士

そうなる。実際の細かい動作はともかく、MLSがいかにフローを高速化させるか、概念の動作を説明しよう。

[FigureSW16-03:MLS]

スーパーインター博士

どうだ?

ハイパーネット助手

え〜っと、え〜っと。
ちょっと混乱してます。確認させてください。

スーパーインター博士

うむ、何もしなくても混乱してるのがネット君だからな。
よかろう。

ハイパーネット助手

つまり……フローの最初はいつも通り、ルータがルーティングする?

スーパーインター博士

そうだ。あくまでの異なるネットワーク宛へのパケットにはルーティングが必要だ。
その絶対原則は変わらない。

ハイパーネット助手

で、スイッチはそのルーティングの結果によるパケットの流れを記憶する

スーパーインター博士

その通り。

ハイパーネット助手

でもって、フローの次からのパケットは、スイッチが記憶した情報を元にスイッチングする

スーパーインター博士

うむ。ちゃんと理解しているぞ、よしよし。
スイッチはルーティングするわけではない、あくまでもルーティング結果を記憶し、それを利用するわけだ。

ハイパーネット助手

は〜。なんというか詐欺っぽい

スーパーインター博士

どこらへんがだ。MLSとは名前の通り、マルチレイヤ(レイヤ2・3・4)でスイッチングする技術なのだよ。そのために、ルータが行ったルーティング結果をキャッシュするわけだな。

ハイパーネット助手

いやまぁ、強引というかなんというか。

スーパーインター博士

まぁ、強引といえば確かにそうかもな。スイッチはルーティングできない。だからルーティング結果を記憶させる、という手だからな。これもフローは同じ宛先・送信元のパケットが連続して送信されるという点があるからこそだ。

ハイパーネット助手

は〜。確かにバラバラだったら、覚えさせるだけ無駄ですもんね。
つまり団体客の1人目はちゃんと案内するけれど、2人目以降は1人目の後を追わせるみたいな感じですね。

スーパーインター博士

それはなかなか微妙な例えだな。
ともかく、レイヤ3スイッチとの違いがわかったかな? レイヤ3スイッチはあくまでも「ルーティングする」機器なのに対し…。

ハイパーネット助手

MLSは、「ルーティングを真似する」技術なんですね。
同じマルチレイヤで動作するスイッチなんですけど、根底は別物ですね。

スーパーインター博士

そういうことだ。
MLSはこの動作原理から「route-once, switch-many」と呼ばれる処理を行うわけだな。

route-once,switch-many

[FigureSW16-04:route-once,switch-many]

ハイパーネット助手

るーとわんす。ルータは一度だけ。
すいっちめにー。スイッチは複数。なるほど。

スーパーインター博士

詳細な動作は次回以降で説明するとして、MLSの基本として覚えておきたまえ。

ハイパーネット助手

了解です。

■ MLSのコンポーネント

スーパーインター博士

さて、先ほど「MLS対応スイッチ」と言ったが、MLSはすべてのスイッチが行えるわけではない。
必要な機器や、条件がある。

  • Catalyst5000シリーズ
    • スーパバイザエンジン ソフトウェア リリース 4.1(1)以降
    • NFFCII搭載のスーパバイザエンジンIII またはIIIF
    • RSFC、またはCiscoハイエンドルータ
    • IOS 11.3(2)WAN4(4)以降
  • Catalyst6000シリーズ
    • スーパバイザエンジン ソフトウェア リリース 5.1CSX以降
    • MSFC
    • IOS 12.0(1a)WX5(6d)以降
ハイパーネット助手

スーパーインター博士

まぁ、Catlystの5000/6000シリーズスイッチで、対応したスーパバイザエンジンを積んでいること。
最初にルーティングを行うルートプロセッサとして、RSFC(MSFC)か、外部にCiscoハイエンドルータがあること、ということだ。

ハイパーネット助手

は〜。

スーパーインター博士

さて、MLSで使われる用語も覚えておいてもらおう。
以下の3つはこれから頻出するので忘れないよう。

  • MLS-SE [MultiLayer Switching - Switching Engine]
  • MLS-RP [MultiLayer Switching - Route Processor]
  • MLSP [MultiLayer Switching Protocol]
スーパーインター博士

ま、大体わかるよな。

ハイパーネット助手

…え、ええ。もちろんですよ、博士。

スーパーインター博士

確実にわかってないのが明白なので、説明しよう。

ハイパーネット助手

なんでバレるんだろう?

スーパーインター博士

先ほどの図を使って説明しよう。

MLSのコンポーネント

[FigureSW16-05:MLSのコンポーネント]

ハイパーネット助手

ルータがMLS-RP、スイッチがMLS-SE

スーパーインター博士

うむ、そしてRPとSE間でMLSに必要な情報を交換するためのプロトコルがMLSPだ。
あぁ、図はわかりやすいように外部ルートプロセッサにしてあるが、RSFCのような内部ルートプロセッサでも同じだからな。

ハイパーネット助手

あ、はい。

スーパーインター博士

あとは、正確に言えばMLS-SEはスイッチ、ではなく。
スイッチのスーパバイザエンジンカードにあるNFFCのことを指す。

ハイパーネット助手

ははぁ。えぬえふえふしー。

スーパーインター博士

ま、今回はこんなところか。

ハイパーネット助手

はい。

スーパーインター博士

しばらくはMLSの話が続くぞ。

ハイパーネット助手

了解ッス。
30分間ネットワーキングでした〜♪

フロー
[Flow]
「流れ」の意味。
フローチャート
[FlowChart]
プログラミングで使用されるプログラムの構造や流れを図にしたもの。
MLS
[MulitLayer Switching]
NFFC
[NetFlow Feature Card]
ドータカードの1つ。フローのハードウェア処理を行わせるためのカード。
ハイパーネット助手ハイパーネット君の今日のポイント
  • サブネット外への通信が多くなるとルータがボトルネックになる可能性がある。
  • トラフィックの多くは一連のフローから成り立っている。
  • MLSはフローをルーティングをなるべく行わず高速で処理する機能
    • MLSではフローの最初のルーティングの結果をキャッシュに記憶する
    • それ以後はキャッシュの結果を見て、スイッチングを行う

30 Minutes NetWorking No.SW16

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