Windows 10 のネットワーク探索についてまとめる

今回は、Windows 10 でネットワークの一覧が表示されない件(Windows のネットワーク探索の仕様変更)について調査した内容を紹介します。先日、友人の会社でおきた共有フォルダにアクセスできない問題をしらべた際に、ネットワーク上の PC が一覧化されていないことが気になりました。しかし、共有フォルダへのアクセスがうまくいっているPCも、ネットワークの一覧が表示されていなかったので、共有フォルダにアクセスできない直接の原因ではないと判断し、その時は詳しく調査しませんでした。

共有フォルダへのアクセスできないときに試すべきことを調査した記事は以下を参照してください。

Windows アップデート後に突然ファイルサーバーにアクセスできなくなることがあります。しかも、エラー詳細が「エラーを特定できません 0x80004005」などという残念な情...
スポンサーリンク

NetBIOS はもう利用されていない

マイクロソフトの文章には以下のようにありました。Windows 10 の 1709アップデート以降は SMBv1 を明示的にインストールしないと NetBIOS でのネットワーク探索が表示されなくなっているようです。

コンピューター ブラウザー サービスは SMBv1 に依存しているため、SMBv1 クライアントまたはサーバーがアンインストールされた場合、このサービスもアンインストールされます。 つまり、エクスプローラー ネットワークは、従来の NetBIOS データグラムの参照方法を使用して Windows コンピューターを表示できなくなります。

https://support.microsoft.com/ja-jp/help/4034314/smbv1-is-not-installed-by-default-in-windows

私は Windows 95 時代から触っているので、Windows のネットワーク一覧に表示されているPC は、NetBIOS で探索しているとばかり思っていましたが、最近の Windows では、PC 同士も WSD を普通に使っているようです。さらに機器探索には、WSD だけではなく UPnP なども使っているようです。UPnPはルータ、WSDはプリンタのイメージでしたが、時代の流れを感じます。

WSDとは、Web Services on Devices の略でデバイス(機器)の情報を公開したり、その情報をもとにデバイスを利用可能にする仕組みの総称です。
複合機(プリンター)などによく実装されており、WSD対応複合機だと、ドライバをインストールしなくても WSD 経由で印刷などの機能が利用可能になります。

ちなみに、今ネットワーク一覧に表示されている機器がどの方法でネットワーク探索されたかは、ネットワークの一覧のタイトルを右クリックして「探索方法」を追加することで見ることができます。SSDP とあるものは UPnP での検出です。

以下は自宅のネットワークで試した一覧です。自宅は、SMBv1を有効にしていますので、NetBIOS での探索も出来ています。

会社の PC には SMBv1 をインストールしていないので、ためしに会社の PC でネットワーク一覧を表示したところ NetBIOS ではなく、WSD で検出されたコンピュータしか出てきませんでした。しかし、WSD で検出されている PC が明らかに少ないことが気になりました。

WSD 探索のサービス

Windows 10 1709 以降はデフォルトで NetBIOS での探索が出来なくなっており、標準で利用されるのは WSD の探索になったようです。そして、この WSD での探索に利用しているサービスが、Function Discovery Provider Host と Function Discovery Resource Publication です。

各サービスについて、マイクロソフトが提供している説明を載せておきます。

Function Discovery Provider Hos

FDPHOST サービスは、機能探索 (FD) ネットワーク探索プロバイダーをホストします。これらの FD プロバイダーは、SSDP (Simple Services Discovery Protocol) および WS-D (Web Services – Discovery) プロトコルにネットワーク探索サービスを提供します。FDPHOST サービスを停止または無効にすると、FD を使用する場合にこれらのプロトコルでネットワーク探索が機能しなくなります。このサービスを利用できない場合、FD を使用し、SSDP および WS-D の探索プロトコルに依存するネットワーク サービスは、ネットワーク デバイスやリソースを発見できなくなります。

Function Discovery Resource Publication

このコンピューターおよびこのコンピューターに接続されているリソースを公開して、ネットワーク上で検出できるようにします。このサービスを停止するとネットワーク リソースは公開されなくなり、ネットワーク上の他のコンピューターがこれらのリソースを検出されなくなります。

これらのサービスはそれぞれデフォルトでは「手動」となっているようですが、私の PC では特に何もせず起動していました。

ネットワーク一覧に表示されていない PC のサービス状態を見てみると、これらのサービスが「実行中」になっていませんでした。サービスの起動タイミングの問題があるようです。

試しにネットワークリソースの情報を公開する側の PC で Function Discovery Resource Publication を「実行」してみたところ、自分の PC のネットワーク一覧に表示されました。

ちなみに、共有フォルダへアクセスできない件を調査しているときに、これらのサービスを上げるとよいという記事を書いている方が複数いらっしゃいましたが、これは共有フォルダへのアクセスの設定ではなくネットワーク一覧への表示に影響する設定なので、これだけでは共有フォルダへのアクセスは可能にはなりません

ネットワーク一覧をダブルクリックして開きたい場合に、ダブルクリックするアイコンが出ないということを解決はしてくれますが、「\\IPアドレス\共有フォルダ」のように直接アドレスでアクセスするような場合には必要ありません