2

Microchip社のTCP/IPスタックを使用していますが、DHCPで割り当てられたIPを使用してアクセスできますが、デバイスのホスト名はブロードキャストされていません。

問題は、ネットワークデバイスがホスト名をブロードキャストするために使用するプロトコルは何ですか。ネットワーク内のデバイスのリストを表示したときに、名前で識別できるようにするためです。

それはNetBIOSネームサービスか何か他のものですか?前もって感謝します。

4

3 に答える 3

6

ネットワーク上のホストのホスト名を指定する最もネットワークに依存しない方法は、デバイス自体が制御できないDNSを使用することですが、すべてが失われるわけではありません。

ほとんどの環境では、DHCP サーバーと DNS サーバーは関連付けられているため (Windows ネットワークの AD、Linux の DNSMasq など)、この動作に依存するのが最善の選択肢です。DHCP を使用して IP を要求すると、DHCP プロトコルにより、使用するホスト名を指定できます。ネットワークが DNS サーバーによって DNS エントリを作成および維持できるように設定されている場合は、通常、DHCP 要求が使用されます。

DHCP パラメータは「Hostname」と呼ばれます。このパラメータのネットワーク プロトコル ドキュメントはRFC 2132にあり、ここで説明されています。

于 2010-01-19T15:25:03.123 に答える
0

この機能をサポートする WINS (NetBIOS ベース) があります。

「サービス広告」プロトコルを提供する ZeroConf/Bonjour がありますが、それはあなたが求めているものではないと思います。

「通常の」IP ベースのネットワークでは、名前解決は DNS レイヤーを経由します。DNS サーバーはデータベースを伝達しますが (もちろん指示があれば)、このレイヤーには「ブロードキャスト」の概念はありません。

于 2010-01-15T19:04:04.407 に答える
0

これで解決したと思いますが、Microchip スタックの dchp.c ファイルを変更し、_DHCPSend() のオプション部分に次を追加しました。

// host name
i = strlen(AppConfig.NetBIOSName);
UDPPut(12);     //host name code
UDPPut(i);      //length
UDPPutString(AppConfig.NetBIOSName);

これは私にとってはうまくいきました。

于 2010-03-15T16:37:54.310 に答える