リンクスコープIPv6マルチキャストは、MacBook Proの上で急にルーティング可能ではないパケット?

StackOverflow https://stackoverflow.com/questions/1264948

質問

これはややあいまいな質問ですが、私は困惑し、私は多分そこに誰かが問題の手がかりの多くを持っているかもしれないと思っています。

私の同僚は成功し、数ヶ月のための彼のMacBook Pro上でのIPv6マルチキャストを使用して、社内のアプリケーションを実行してきたが、今日マックは、マルチキャストパケットのルーティングを停止することを決めました。具体的には、プログラムがこのエラーを出力します:

SendDataUDP(FF02 ::ビーズ:譲る:証書:4 @フィード)はネットワークインターフェイス上失敗した[名前= [EN0]説明= [] IP = FE80 :: 222:41ff:fe21:dfd4 @ 4]ネットマスク= [FFFF:FFFF:FFFF:FFFF ::]ブロードキャスト= [::]](ホストをerrno = 65 / Noルート)

...かなりよく何が悪かったのかを説明し...それはエラー番号= EHOSTUNREACHで失敗しました)(示さIPアドレスにUDPパケットをのSendTo、および)(送信しようとします。

私は理解していない何を、どのような可能性のIPv6リンク範囲マルチキャストアドレスは、「到達不能」にさせるだろうか?リンクスコープのマルチキャストの私の理解が正しければ、パケットは、ローカルイーサネットポート(アップと、そのマシン上で動作しているこの場合はEN0を)出て行かなければならない。

私が欠けていることをマルチキャストするためにいくつかの側面があり、または彼のマシンがちょうどborkedされますか?彼はそれだけで神秘的に動作を停止し、何も変更しなかったと言います。

役に立ちましたか?

解決

これは<のhref = "http://fxr.watson.org/fxr/source/bsd/netinet6/ip6_output.c?v=xnu-1456.1.26" のrel = "nofollowをnoreferrerを見て助けるかもしれません「>カーネルソースに。あなたがそこにいる間(特に、出口のIPv6パケットの出力パス、ip6_output.c)、あなたはまた、それに至るまでのソケット呼び出しなどを見てみることができます。

このエラーを取得する唯一の可能な方法は、上に送信するインターフェイスを指定しないことであるように、

マルチキャストの場合、あなたはそれがip6_output()する作っていると仮定すると、それが見えます。 (これはあなたのエラーメッセージが明示的インターフェイスを言及するので、奇数である)

それは以前にはなかったときに、このMacBookの上の無線インタフェースが有効になっている、と今「リンクローカル」マルチキャストのアイデアがあいまいであることは可能ですか?あなたはソケットを使用するときは、明示的インターフェイスを指定していますか?アドレスの末尾に@ 4は、私には奇妙に見えます。 (インタフェースインデックスということですか?)大会は、インタフェーススコープ-IDの%を使用することが通常ですが、前の回答とそのコメントで述べたように、それは普遍的にサポートされていない。

他のヒント

EN0はまだリンクローカルマルチキャスト要求を送信することが可能であるか否かを試験するために、してみてください。

ping6 ff02::1%en0

この連絡先のすべてのホスト、あなたが回答の多くを取得する必要がありますので(楽しみのために、追加-wを試してみてください)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top