■ 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はこうなる。
[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はソーススペシフィックツリーを使う。送信元と直結しているルータがルートになる方式だな。
前回の図ですと、これですね。
[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ではシェアードディストリビューションツリーを使う。
- ランデブーポイントを設定する
- ランデブーポイントはツリーを管理する