PIM Assertメカニズム
同一LAN上に PIM ルータが複数いる場合、マルチキャストトラフィックを重複して転送させないように
パケットをフォワードするルータを1台選出します。その Forwarder を選出するために行われている
メカニズムがAssert Mechanizmです。例えば、下図で「PIM
4」と「PIM W」がマルチキャストトラフィックを
PIMネイバーである「PIM 2」と「PIM 3」から受信すると、そのトラフィックを「PIM
5」へ伝送できるのは
どちらか一台である必要があります。そのどちらかを決定する為に
[ PIM Assert Message ] を使用する。
各ルータが、ソースへの Distance や
Metric
等の情報を PIM Assertメッセージで伝達して、その結果、
ソースに最短である方が Winner となり、LAN上でのトラフィック転送の代表ルータとなります。Distanceや
Metric値が同じ場合、より高いIPアドレスを持つほうが Winner となります。参考:PIM-DM, SM microsoft

PIM DR ( Designated Router )
ルータのIPアドレスに基づき決定されます。最も大きいIPアドレスを持つルータが「PIM DR」となります。
PIM-SMでもPIM-DMでも同じ選出方法となります。選出されたルータは、PIM-DM,
PIM-SMに関係なく
IGMPホストクエリメッセージを送信するようになります。但し、IGMPv2を使用している場合、IGMPv2では
クエリア選択の概念があるため、最も小さいIPアドレスを持つルータがIGMPホストクエリーメッセージを
送信するようになります。つまり、IGMPv2の場合はPIM
DR = クエリアではないということです。詳細
↓
The designated router for a LAN is the
only router that sends IGMP host query
messages:
For IGMP Version 1, the designated router
is elected according to the multicast
routing
protocol that runs on the LAN.
For IGMP Version 2, the designated querier
is the lowest IP-addressed multicast router
on the subnet.
但し、PIM-SMで動作している場合、PIM DRがRPへのJoin,Prune,
Registerなど各種 PIMメッセージを
送信するようになります。一方、PIM-DMにて動作している場合はPIM
DRに特別な機能はありません。
注意して頂きたいのは、ソースからのマルチキャストトラフィックを同一セグメント上での代表ルータとして
転送していくのはPIM DRではなく、PIM
Assert
Mechanizmにより決定されたルータであるということです。
※ PIM-SMでは、上りへのPIMメッセージの制御がPIM
DR、下りへのマルチキャストトラフィック制御がPIM
Assertといえます。

PIMネイバールータの検出方法として、PIMv1
の場合は PIM query を30秒ごとに 224.0.0.2
の宛先に
送信するのに対して、PIMv2 の場合は PIM
Hello を30秒ごとに 224.0.0.13 宛に送信して検出します。
Scope ( by controlling of TTL Thresholds
)
Scope とは配信範囲のことです。マルチキャストパケットの配信範囲はTTLのしきい値により制御できます。
TTL ( Time to Live ) は、IPパケットの生存時間
( 初期値は0x80(128 ) のことで、パケットが何ホップまで
到達できるかという形で使用されます。ルータを経由するごとに TTL の値がマイナス1されていくので、
ルーティングループが発生してもパケットは破棄され、ルータのリソースを食い続けることを回避できます。
このTTL、マルチキャストでは少し変わった形で活用されます。マルチキャストのアプリでは、予め
TTL値を
設定できるものが数多くあります。マルチキャストルータのインターフェースで
TTL Treshold値を設定して
おくことにより、マルチキャストパケットの転送範囲を制限することが出来るのです。インターフェースに設定
されたしきい値が、着信したパケットよりも小さいまたは等しいTTL値の場合、パケットは破棄されます。

例えば、「PC A」 から送信されたマルチキャストパケットのTTL値を10とします。ルータのインターフェースに
TTLしきい値を上図のように設定している場合は、上図のような転送結果になります。もちろん、転送される
パケットのTTL値は、ルータを経由するごとにマイナス1されていきます。
因みに、ルータのインターフェースに設定されているTTL値は、デフォルトで0なのでどこにでも転送されます。
※ Resource : IPマルチキャストネットワーク開発ガイド Vol
1 BCMSN認定テキスト 第二版 マスタリングTCP/IP マルチキャスト編 |