[Armadillo:03307] Re: Fw: Re: debianでマルチキャストを実現したい!最終的には、Armadillo-500に実装したい。

Shin-ya Koga email@hidden
2008年 8月 26日 (火) 07:59:05 JST


サムシングプレシャスの古賀です。

miyaさん([Armadillo:03306]):
>># もはや、Armadillo とは直接関係ない内容になっているよう
>># ですが・・・
>
>★最終的には、Armadillo-500に実装します。

なるほど。とはいえ、Armadillo 固有でない問題については、
この ML よりは、Linux 全般の ML 等で質問する方が、より
情報を得やすいかも知れませんね。

>>>他の2台は、立ち上げ時、以下の関数でエラーとなって先に進めません。
>>
>>確認ですが、マルチキャスト受信に成功するサーバと、立ち上げ時
>>にエラーするサーバとでは、何か違いはあるのでしょうか?もし
>>違いがあるのならば、それが要因の可能性が高いので、原因究明の
>>手がかりになるのではないかと思います。
>
>★同じだと思っているのですが?
>  何か簡単に違いを見つける方法はないでしょうか?
>  パッケージリストで比べる?

ネットワークインタフェースの数(※挿している Ethernet
カードの数)を含めた、ハードウェアの構成や、OS のバー
ジョンなど、全く同じでしょうか?また、マシンが所属する
ネットワークのセグメントは、ネットワークのトポロジから
みて同等でしょうか?

そういった要因を一つ一つ考えていくことが、原因の究明
や問題解決につながると思います。

>>エラーするサーバには、ネットワークインタフェースが複数ついて
>>いたりしますか?
>
>★3枚です
>  使用しているのは、2枚です。
>  eth0、eth1です。 
>
>>もしそうなら、mreq.imr_interace.s_addr に設定するアドレスを、
>>INADDR_ANY ではなく、マルチキャスト・グループの参加/受信に
>>使いたいインタフェースに割当たっているアドレスにすると状況が
>>変わったりしないでしょうか。
>
>> mreq.imr_multiaddr.s_addr = mcastAddr.s_addr;
> mreq.imr_interface.s_addr = mcastAddr.s_addr;
>こんな感じでしょうか?

いえ。マルチキャストアドレスではなく、通常の IPv4 アド
レス(※IPv4 でお使いですよね?)を指定して下さい。
それにより、OS 内部(IP スタック内部)で、eth0 と eth1
のどちらのネットワークインタフェースをマルチキャスト・
グループの参加/受信に使うのかが分かるようになり、
エラーが起きなくなる *かも* 知れません。

念のために書くと、まずは、同一セグメントに所属するネット
ワークインタフェース同士でのマルチキャストの送受信動作を
確認し、その後、マルチキャストパケットのルーティングを
実現する、という流れで進めていかれるのが良いと思います。

もしかすると、先は結構長いかも知れませんので、Linux を
使ったルータ構築が話題になっているような Linux 関連の
ML やフォーラムを探し、そこの過去ログから情報収集を
したり、質問していくのが良いかも知れませんね。

--
古賀信哉 (株)サムシングプレシャス



armadillo メーリングリストの案内