コンピュータ名で共有フォルダにアクセス出来ない!Windows名前解決の仕組み

コンピュータ名で共有フォルダにアクセス出来ない。
しかし、IPアドレスでは共有ファイルにアクセス出来る。
そんな時は、そのパソコンからのWindowsの名前解決(コンピュータ名をIPアドレスと関連付ける)が問題になっています。

Windows名前解決の仕組み。DNS、NetBIOSに加えLLMNR

image

パソコン「client」からサーバー「server」にアクセスするには、コンピュータ名「server」だけ知っていてもアクセスできません。
コンピュータ名「server」からIPアドレス「192.168.1.1」を知る必要があります。
パソコンからサーバーにアクセスするためにはIPアドレスが必要なんです。

Windowsでコンピュータ名からIPアドレスを知るためには何種類か方法があります。
コンピュータ名からIPアドレスに変換するに当たり

  • パソコン内のファイルに定義された「hosts」「Imhosts」
  • サーバーに定義された「DNS」「WINS」
  • ネットワーク上を探す「NetBIOS」「LLMNR」

の三つに分類されます。
一昔前の人は「LLMNR」について知らないので注意しましょう。
IPv6が登場した時期から、新しい名前解決の方法が出来ました、それが「LLMNR」です

Windows名前解決(コンピュータ名からIPアドレス)の順番

名前解決とは、「コンピュータ名からIPアドレスを知る方法」になります。
Windowsが名前解決するのいは、以下の順番になります。

  1. (DNSキャッシュ)
  2. hostsファイル
  3. DNSサーバーに問い合わせる
  4. LLMNRでネットワークを探す
  5. (NetBIOSキャッシュ)
  6. NetBIOSブロードキャストでネットワークを探す および WINSサーバーに問い合わせる
  7. lmhostsファイル

image

参考: Windows 名前解決の順序 - Ask the Network & AD Support Team - Site Home - TechNet Blogs

 

パソコン内のファイルに定義された「hosts」「Imhosts」

image

この方法は自己解決型の名前解決方法ですね(自己=自分自身の操作しているパソコン)。
これは、自分でパソコンの中のファイルに書かないと定義されないので、書いたかどうかは自分で確認して下さい。
場所は、

C:\Windows\System32\drivers\etc

です。このパスを知っているだけでも、「なんかパソコンに詳しそう」と思われるかもしれませんねw
この「hosts」ファイルや「lmhosts」ファイル内に、コンピュータ名とIPアドレスを関連付ける記述があります。

 

サーバーに定義された「DNS」「WINS」

image

この方法は詳しい人(=ネットワーク管理者のサーバー)に聞くというイメージの名前解決方法です。
これはDNSサーバーとかWINSサーバーとか言われるサーバー内に「コンピュータ名とIPアドレスの関連付け情報」が定義されています。
そのネットワークのシステム管理者が定義しています。
パソコン「client」からサーバー「server」にアクセスする時に、DNSサーバーやWINSサーバーにサーバー「server」のIPアドレスを聞きに行き、その後IPアドレス「192.168.1.1」でサーバーにアクセスしに行きます。

 

ネットワーク上を探す「NetBIOS」「LLMNR」

image

この方法は、まるでパソコンからネットワーク上に、声を大にして「コンピュータ名serverはどこにいるー?」と叫んでサーバーからの反応を待つような名前解決方法になります。
その呼び方が「NetBIOS」「LLMNR」になります。
ネットワーク上のすべての端末に聞くことになる(ブロードキャスト・マルチキャスト)ので、あまり好まれない方法ではありますが、最後の手です。

この方法で、ネットワーク上で声が届く範囲は、ルーターまでです。
ルーターを超えるネットワークには声が届きません。(ブロードキャストドメインとかサブネットとか言われます)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です