マルチキャストは1つのパケットで複数の受信待ち受けをしているレシーバへパケット送り込む機能です。 マルチキャストはオーディオやビデオでのカンファレンス(会議)システムによく利用されます。
J.D. Bronson (jb at ktxg dot com) の報告によると、moneycentral.msn.com や www.mbnanetaccess.com. といったソースサーバと通信が出来なかったそうです。 J.D は以下のようにして問題を回避できたそうです。1つの方法は、ネットワーク管理者に確認することです。 もしネットワーク管理者が判らないか、そもそも存在しないなら、別の方法として、ゼロックス(Xerox) PARC FTP サイトからmtraceプログラムを入手して使うことができます。
mtraceはtracerouteに似ていますが、あなたのサイトのマルティキャストパスについて知らせてくれます。
私の答えは、多分つかわない方が良い!です。
あなたがマルチキャストを使うかもしれない理由:
マルチキャストを使うべきでない理由:
マルチキャストアドレスを使ってICPクエリを送るためにはSquidの設定をmulticast.を指定した隣接キャッシュの指定が必要です。例として:
224.9.9.9 はサンプルのマルチキャストグループアドレスです。 multicast は指定した隣接にマルチキャストで接続することを意味します。 HTTPポートの引数の(3128)はマルチキャストpeerでは無視されます。 しかしICPポート(3130)は大変重要です。 最後のttl=64は クエリを送信して応答を待つ際の時間です。 環境によってこの値を変更して最適な最小値を与えてください。
マルチキャストを使ったICPクエリの場合、応答してきた返事がどこが応答を返してくるかは定かではありません。 しかし、応答に使われるのは通常のユニキャストなので、相手がだれなのかを特定することは可能です。そこで、応答をしてくるであろう隣接キャッシュをマルチキャストグループとして登録することで、信頼できない相手からのICP応答を受けないように指示してください。
multicast-responderを指定すると、この隣接キャッシュにはユニキャストでICPを送ることをしません。 それ以外の指定は通常のcache_peerの設定と同じです。
マルチキャストTTLを使うことで、(cache_peer としたマルチキャストグループに)送信したICPクエリに対してどれだけ遠くにグループまでの応答を受けるかを指示するのに使えます。 ネットワークインターフェースやトンネルにはそれぞれのTTLの閾値があります。 例えば、mrouted マニュアルを見ると次のような例があります:
32 for links that separate sites within an organization. 64 for links that separate communities or organizations, and are attached to the Internet MBONE. 128 for links that separate continents on the MBONE.
上記では、組織内に同じグループのものが32、組織外のものが64、そして(MBONEの)大陸を隔てたものが128有る事が判ります。
TTLを決定する良い方法として mtrace を使って最終的な到達点としたい処を決めると良いでしょう。 この結果、設定したTTLよりも近い場所にしか到達しないようになります。
もしあなたかTTLにとても大きな値をセットしたなら、マルチキャストはとても遠い場所まで届くようになります。 この結果、盗聴されやすくなる事になります。もしLANの中だけでマルチキャストを使うようにするならば小さなTTL(例えばTTL=4)を設定する事を勧めます。
マルチキャストグループに参加するようにSquidの設定ファイルの mcast_groups に明示的な設定が必要です。 例えば、
勿論、あなたのICPマルチキャストグループすべてが同じグループアドレスを使う必要があります。
参考: