30 Minutes NetWorking
No.SW25

30Minutes NetWorking

BCMSN

第25回マルチキャスト(5) PIM

■ 2つのPIM

スーパーインター博士

マルチキャストルーティングプロトコルで、Ciscoルータがキャンパスネットワークのため実装しているのはPIMだ。

ハイパーネット助手

へ〜、他のDVMRPとかMOSPFとかは対応してないんですか?

スーパーインター博士

いや、してないわけではないが。
PIMはCiscoが開発したマルチキャストルーティングプロトコルだしな。

ハイパーネット助手

ややや、またCiscoオリジナルですか。

スーパーインター博士

確かにCiscoが開発したものだが、RFCにもあるし、標準といってもいいプロトコルだ。
ともかく、PIMだ。PIMには2つのモードがある、というのは前回でてきたな。 ▼ link

ハイパーネット助手

でんすもーど、すぱーすもーど、ですね。

スーパーインター博士

そうだ。PIM-DM(DenseMode)PIM-SM(SparseMode)だな。
DenseとSparseの違いについても前回説明していると思う。

ハイパーネット助手

え〜っと、マルチキャストホストの数でしたっけ?
ネットワーク内でほとんど、がDense。ネットワーク内でまばら、がSparse。

スーパーインター博士

うむうむ。その通り。Ciscoルータでは、この2種類のモードのどちらかでPIMは動作する。
ただし、動的に判断するという設定もある。

ハイパーネット助手

動的に判断? DMかSMか自動で判断するんですか?

スーパーインター博士

ま、そうだ。ランデブーポイントがある場合Sparse、ない場合Denseという動作になる。これがデフォルトの設定だ。

ハイパーネット助手

らんでぶーぽいんと?
なんかそんな名前が前回でも出てきたような……。

スーパーインター博士

ま、それは先で説明しよう。
ともかくだ、2つのモードがあることを理解したまえ。

ハイパーネット助手

了解ッス。

■ olist

スーパーインター博士

さて、マルチキャストルーティングもルーティングなのだから、ルータはルーティングテーブルを持たなければいけない。

ハイパーネット助手

ま、そうですよね。

スーパーインター博士

このPIMで使用されるマルチキャストルーティングテーブルは、olistとも呼ばれる。

ハイパーネット助手

あうとごーいんぐいんたふぇーすりすと?
出て行くインタフェースのリスト?

スーパーインター博士

なんとも直訳だが、その通り。正確にはマルチキャストルーティングテーブルではないが、まぁ、役割的には似たようなものなのでな。

ハイパーネット助手

似たような、ですか。

スーパーインター博士

マルチキャストグループアドレスとそれを送信するインタフェースのリストというのが正確な言い方かもしれん。まぁ、ルーティングに近いしな。

ハイパーネット助手

は〜。

スーパーインター博士

このolistは説明しだすと軽くBCMSNの範囲を超えるので、簡単にいこう。
例えば、以下のようなネットワークがあるとする。

マルチキャストネットワーク

[FigureSW25-01:マルチキャストネットワーク]

スーパーインター博士

PIM-DMモードで配信した場合、ルータAのolistはこうなる。

olist

[FigureSW25-02:olist]

ハイパーネット助手

んんん? これがルーティングテーブル? なんだかさっぱり…。

スーパーインター博士

まず、「( アドレス , アドレス)」で1つのエントリになる。これは(送信元アドレス,グループアドレス)の組になっている。

ハイパーネット助手

ってことは、上図では3つ、(*、239.0.0.1)と(172.16.10.1,239.0.0.1)、(192.168.10.2,239.0.0.1)があるということですか?

スーパーインター博士

そうだ。最初の(*、239.0.0.1)はメンバからIGMPでレポートを受け取った、つまりディストリビューションツリーに参加するために作られるエントリだ。Denseモードなので、この時点ではすべてのインタフェースからフラッディングすることになった。

ハイパーネット助手

ははぁ、なのでOutgoing Interfaceにインタフェースが3つともあるわけですね。

スーパーインター博士

うむ。次のエントリが実際のマルチキャストパケットを受け取った際にできる。(172.16.10.1,239.0.0.1)だな。受け取ったインタフェースと、RPFチェックによるアップストリームルータが結果表示される。

ハイパーネット助手

RPF。 りばーすぱすふぉわーでぃんぐでしたっけ? 送信元までの最短パスのインタフェース?

スーパーインター博士

そういうことだ。それ以外のインタフェースで同じ239.0.0.1グループで送信元172.16.10.1を受け取っても破棄される。

ハイパーネット助手

なるほど。

スーパーインター博士

最後の(192.168.10.2,239.0.0.1)はPフラグがある、つまり192.168.10.2からpruneメッセージを受け取っている、ということだ。よって、今後Incoming InterfaceであるFa0/2からは239.0.0.1は送信されない。

ハイパーネット助手

は〜。でも、pruneなら上のエントリからFa0/2を消しちゃえばいいじゃないですか?
Outgoing Interfaceのところを。

スーパーインター博士

ふむ。確かにそうだが、そうしてしまうと192.168.10.2が再び参加してきた時、またエントリを書き換えねばならんだろう? 残しておいた方がいいと思わないか?

ハイパーネット助手

ん〜〜〜、そうかも。

スーパーインター博士

まぁ、しっかりolistを覚えなければならんわけではないが。
ある程度は読み取れる必要があるだろう。

ハイパーネット助手

ははぁ、なんか、大変だなぁ。

■ ネイバーとDR

スーパーインター博士

さて、PIMの動作だが。
これを全部やってしまうと、ちょっと手に余る。

ハイパーネット助手

またいきなりな敗北宣言ですね。

スーパーインター博士

う、む、ま、まぁ、あれだ。マルチキャストを詳しく知りたければ、それ用の資格を狙えってことだな。

ハイパーネット助手

あるんですか? そういうの?

スーパーインター博士

む、あったかな? トレーニングがあるのは知っているが。
それはともかくとして、PIMの動作のうち、特徴的なことを説明していこう。まずはネイバーとDR。 ▼ link

ハイパーネット助手

ネイバーとDR?
…OSPFの話でしたっけ? これ?

スーパーインター博士

ルーティングプロトコルとしてはOSPFもPIMも同じだ。
まず、ネイバー。これはPIMを動作させている隣接ルータのことだな。

ハイパーネット助手

ますますOSPFのネイバーですね。OSPFでもOSPFを動作させている直接接続されたルータのことでしたよね。

スーパーインター博士

そうだな。一方、DR。これはLAN内にグループがあるか問い合わせるルータのことだ。

ハイパーネット助手

でじぐねいてっどるーた。
あれ? でもLAN内にグループがあるか問い合わせるのって、IGMPクエリアじゃなかったでしたっけ?

スーパーインター博士

PIMではマルチアクセスネットワーク内で最もIPアドレスが高いルータのみが、クエリアとなるのだよ。

[FigureSW25-03:Designated Router]

スーパーインター博士

PIMルータは、PIMのアップデート(PIMルータクエリ)をマルチアクセスネットワーク送信していて、その中でIPアドレスが一番高いルータがDRとなってクエリアとなる、というわけだ。

ハイパーネット助手

あれ? あれれれ? IGMPv2でのクエリア選択は、最も低いIPアドレスのルータ、じゃなかったでしたっけ?

スーパーインター博士

PIMを使っているならば、IGMPv2のその機能がなくても自動的にクエリアが決まる、ということになるわけだよ。

ハイパーネット助手

なるほど。

スーパーインター博士

PIMルータクエリは定期的に送られるので、もしDRがダウンした場合は、新しいDRが選抜される、という仕組みだな。

ハイパーネット助手

は〜、やっぱりOPSFっぽいですね。

■ PIM-DMとPIM-SM

スーパーインター博士

さてさて。PIMにはDMとSMがあるという話だったが。
まず、DM。

ハイパーネット助手

でんすもーど。マルチキャストメンバが多い場合につかうモードですね。

スーパーインター博士

そうだ。DMはソーススペシフィックツリーを使う。送信元と直結しているルータがルートになる方式だな。

ハイパーネット助手

前回の図ですと、これですね。

PIM-DM

[FigureSW25-04:PIM-DM]

スーパーインター博士

そうだ。グループのメンバがある、PIMネイバーがある、手動設定された、いずれかの状態でそのルータのインタフェースはPIMを動作させる。つまりolistを作成し、マルチキャストルーティングを開始させるわけだな。

ハイパーネット助手

ふむふむ。で、メンバがいなかったらpruneですか?

スーパーインター博士

そういうことだ。メンバを持たない・中継しないルータはアップストリームのルータにpruneメッセージを送り、ディストリビューションツリーから離脱するというわけだ。

ハイパーネット助手

なんというか、Denseモードは直感的に理解しやすいというか。

スーパーインター博士

まぁ、基本がフラッディングだからな。ネット君でもわかる仕組みになるな、確かに。

ハイパーネット助手

うぅぅ。

スーパーインター博士

さて、もう一方がSMだ。SMはシェアードディストリビューションツリーを使う。ここでのポイントはRPだ。

ハイパーネット助手

らんでぶーぽいんと、でしたっけ。

スーパーインター博士

そうだ。簡単に言うと、RPはマルチキャスト送信元に接続されているルータと、メンバに接続されているルータを繋げる役割を果たす。

[FigureSW25-05:PIM-SM]

ハイパーネット助手

は〜。RPが中継したり、つなげたり、ツリーをまとめるわけですか。

スーパーインター博士

まぁ、そうなるな。
ここでのポイントは、RPの設定がSparseモードで重要というところだ。

ハイパーネット助手

まぁ、そうですよね。RPを間違ったりしたら動き出さないでしょうね。

スーパーインター博士

そうだろう? なので、自動設定する方法がある。Auto-RPと呼ばれる方法だ。

ハイパーネット助手

おーとあーるぴー。自動RPですね。

スーパーインター博士

これはRPマッピングエージェントに設定されたルータが、各グループのRPのアドレスを配布する、という形で行われる。

ハイパーネット助手

へ〜、それで受け取ったルータは、それを設定する、という形ですか?

スーパーインター博士

そうなる。
さて、PIMについてはこれぐらいかな。

ハイパーネット助手

ん〜、わかったようなわからないような。

スーパーインター博士

まぁ、詳細な説明はいずれな。
ではまた次回。

ハイパーネット助手

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

olist
[outgoing interface list]
RFCにも
RFC3973(PM DM)、RFC2362(PM SM)など。
ルータAのolist
show ip mrouteの出力結果。
トレーニング
MCASTのこと。
DR
[Designated Router]
Designatedは「代表」。
RP
[Randezvous Point]
ランデブーポイント。PIM-SMのディストリビューションツリーを管理するルータ。
ハイパーネット助手ハイパーネット君の今日のポイント
  • PIMにはDenseモードとSparseモードがある。
  • マルチキャストルーティングテーブルとしてolistが作成される。
  • PIMではマルチアクセスネットワークにつき1台のルータがDRとして、クエリを行う。
  • DMではソーススペシフィックツリーを使う。
  • SMではシェアードディストリビューションツリーを使う。
    • ランデブーポイントを設定する
    • ランデブーポイントはツリーを管理する

30 Minutes NetWorking No.SW25

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