- 締切済み
Windowsネットワーク上で、パソコン検索の内部的な処理について
Windowsのネットワーク上にある、パソコンを検索する場合。検索の内部的な処理の流れはどのようになりますでしょうか? ファイル名を指定して実行に、「IPアドレス」「コンピュータ名」それぞれを入力した場合の検索の内部的な流れについて教えてください。 SMBやCIFSなどのレベルで、どのような順番(流れ)で、PCが検索できるかを教えてください。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- reglus
- ベストアンサー率41% (149/356)
私もそう詳しく分かっているわけではありませんが・・。 Microsoftネットワークのマシン検索にはNetBIOSプロトコルが使われ、ブラウズという仕組みがあります。他にNetBIOS over TCP/IP(NBT)のブロードキャストというのもありますが、後述します。 まず、マシン名そのままではTCPネットワーク上で通信相手を探すのが厄介ですから、インターネットのDNSと同じように、マシン名をIPアドレスへ変換するところから始まります。これを名前解決と呼びます。 Microsoftネットワーク用クライアントがインストールされたPC同士をネットワーク接続すると、主に同じワークグループまたはドメインに一つのマスタブラウザ(MB)が形成されます。ワークグループやドメイン、セグメントが異なる場合にはそれぞれでMBが形成されます。 どのPCがMBになるかは、使用しているOSによっての優先度がありますが、同じOS同士の場合にはよくわかりません。ドメイン環境であれば、ドメインコントローラになっているマシンが優先され、そうでない場合はServer2003、XP-Proの順番のようです。 MBにならなかったPCにはバックアップブラウザが形成され、MBが落ちた場合にはバックアップブラウザが即、次のMBになります。 このMBが、ドメインまたはワークグループ上のコンピュータ名一覧(ブラウズリスト)を保持していまして、他のPCからの問い合わせに対して一覧を出力する形になっています。一覧はローカルマシン上に一定時間キャッシュされます。 マシン名を直接指定した場合は、上記のキャッシュが効いている間はその一覧からIPアドレスが導かれ、そうでない場合にはMBに対して問い合わせが行われるわけですが、何らかの都合で問い合わせが出来なかった場合にはNBTパケットによるブロードキャストという仕組みが使われます。 ブロードキャストというのはすべてのマシンに対してパケットを送信することで、NBTはTCPネットワークへの配信ですので、同一セグメント(ネットマスクで指定されたIPアドレス範囲)内のすべてのマシンに対して問い合わせをすることになります。セグメントがクラスCくらいでしたら問題ないのですが、クラスB以上のネットワークですと時間がかかることになりますね。 ブロードキャストによる問い合わせに対して、一致するマシン名のマシンは応答を行います。これによって名前解決が出来た場合のIPアドレスをブロードキャスト名などと呼んだりするようです。 このようにして名前解決が行われた後、またIPアドレスを直接指定した場合には通常のTCPIPによる通信で相手マシンが呼び出されます。 http://www.atmarkit.co.jp/fwin2k/win2ktips/406browstat/browstat.html http://www.atmarkit.co.jp/fwin2k/network/baswinlan019/baswinlan019_03.html あたりも参考にどうぞ。
お礼
ご回答ありがとうございました。 やはり@IT で調べるのですね。より理解が深まったと思います。 IPアドレスを指定した場合は、「通常のTCPIPによる通信で相手マシンが呼び出されます」と書かれていますが、 このケースではMBを最初から見に行かないのでしょうか? この辺りが少しまだよくわかりませんでした。ご存知であれば教えてください。