1

RFC3927 で定義されている IPv4LL の実装である機能を .NET c# で作成する必要があります。これは、DHCP サーバーなしでリンクローカル IP アドレスを割り当てるためのテクノロジです。APIPA という名前で Windows でも同じ機能が利用可能です。Linux には、そのようなプラグイン :avahi 、avahi-autoipd があります。しかし、Windowsではまだ似たようなものは見つかりませんでした。

これまでのところ、解決策は 1 つしかありません。範囲内のリンクローカル IP アドレスを使用してネットワーク上で ARP パケットを送信し、空いているかどうかをテストします。空きが見つかったら、現在の IP アドレスとして割り当てられます。

私の問題に関する提案は大歓迎です。

4

2 に答える 2

1

もし私があなたなら、Avahiをもう少し詳しく調べます。主な理由は、必要に応じてソースコードを表示できるだけでなく、Monoでどのように機能するかを確認できるからです。

そうは言っても、アプリケーションとはまったく別のサービスが必要であると思われるため、テクノロジーとして.Netに限定する必要はありません。

それはまったく役に立ちましたか?

于 2011-09-01T14:25:11.327 に答える
0

IPv4 リンクローカル アドレス指定を定義する RFC ( http://www.ietf.org/rfc/rfc3927.txt ) によると、 ARP を送信して、ランダムに選択された 169.254.XXX.YYY アドレスが使用されていないことを確認する必要があります。すでに。

C# で ARP を使用するには、IPHLPAPI.DLL を調べて、P/Invoke 経由で呼び出します。 http://www.pinvoke.net/default.aspx/iphlpapi.SendARP

于 2015-01-27T02:08:40.067 に答える