ローカルネットワーク内のすべてのIPを発見(学習)する必要があります。IPv6では、ローカルリンク上のすべてのIPv6アドレスを検出する方法は?
IPv4では、すべてのARPブロードキャスト要求/応答を受信するマシンを1台持つことができ、すべてのマシンのIP/MACテーブルを構築できます。
ただし、IPv6では、ARPはICMPv6近隣要請メッセージに置き換えられ、ブロードキャストメッセージではありません。あるマシンは他の2台のマシン間でNeighbor Solicitation/Advertisementメッセージを聞くことができません。はい、ICMPv6のようなデザインは、放送オーバーヘッドを削減しますが、IPアドレスを事前に知らなければ、私の隣人のすべてを知ることもできません。
回避策の1つは、ff02 :: 1に対してpingを実行することです。しかし、私はLinuxがそのような要求に応答することを発見しましたが、Windowsはそうではありません。
多くのヒントがありましたら幸いです!
この種のネットワークプロトコルは作成されていません。あなたが提案しているのは、レイヤー2のブロードキャストネットワークでのみ機能します。イーサネットですが、ブロードキャスト(またはマルチキャスト)をサポートしない多くのレイヤ2ネットワークプロトコルがあります。あなたはすべてのホストインターフェイス上の複数のIPv6アドレスを知る必要がありますか?多くのホストはIPv6プライバシー拡張とランダムアドレス指定を使用しているため、IPv6アドレスは定期的に変更できますが、リンクローカルアドレスは同じままです。ところで、ARP応答はブロードキャストされず、ARP要求だけがブロードキャストされます。 –