- ベストアンサー
DNSとWINS利用のときのXPと98の動作の違いについて(詳しい方求む!)
お世話になっております。誰か、DNSとWINSについて我こそはと思われる方、ぜひたすけてください。教えてください。 誰かが 「DNSというのは、ドメイン名(okweb.jp等)とIPアドレスを関連つけるためのサーバ WINSというのは、コンピューター名とIPアドレスを 結びつけるためのサーバです。」 とおっしゃっていましたが、 http://www.itmedia.co.jp/help/howto/win/win2000/0007special/dns/chap1/03.html ↑をみるとやっぱりNetBIOS名の解決にもDNSは順番こそ、優先順位低いですが、やっぱり使われるようですよね。 XPには「TCP/IPの詳細設定」のところに「この接続のアドレスをDNSに登録する」とありますが、98にはそんな設定項目はないし、 98はNetBIOS名の解決にDNSは使わない(ドメイン名とIPアドレスの解決は使う)とおもっていたのですが、 上記に貼ったURL等、いろいろな文献をみると、 XPも98もNetBIOS Name CacheからDNSまでひととおり名前解決を試みるみたいですよね?動作はどちらのOSも変らないですよね? となると 「なんでWINSサーバもたちあげてる必要があるのか?」なんですが。 DNSはドメインと、IPアドレスの解決もしているので、負荷分散の意味で WINSサーバがあるのでしょうか? プロトコル上、WINSサーバのほうに問い合わせるのを優先しているからでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>動作はどちらのOSも変らないですよね? 違います。詳しくは参考URLを見てください。 >なんでWINSサーバもたちあげてる必要があるのか? 歴史的な経緯を理解する必要があります。 以下、正確さは多少欠けていますが、分かりやすさを重視して説明を試みてみます。 かなり長文で申し訳ありません。 古い時代は、コンピュータ間でファイルやプリンタを共有する場合、 ブロードキャストを多用する仕組みで通信をしていました。 (NetBEUIプロトコル上でNetBIOSインタフェースを提供していた) 相手のコンピュータ名を検索する際は、ブロードキャストを使っていました。 その時代は、WANでLAN間を接続する場合でも、ネットワーク機器でブロードキャストは転送しており、 コンピュータの数が増えたりするとブロードキャストでWANリンクが埋め尽くされ、 本来のファイルやプリンタ共有に支障をきたすこともありました。 (まだ専用線が主流で、しかもとても高価な時代でした) また、その時代は、インターネットが普及しておらず、OSの機能として、TCP/IPやDNSは求められていませんでした。 (TCP/IPを使うには別途有償のソフトウェアを購入する必要があったのです) W95やNTが出ると、OSの標準機能としてTCP/IPが内蔵され、Windowsのファイル・プリンタ共有を TCP/IP上で行うというニーズが生まれたため、NetBIOSもTCP/IPに対応するために拡張されました。 (それでも当初はファイル・プリンタ共有はNetBEUI、それ以外はTCP/IPというデュアル・プロトコル・スタック運用を行うところも多かった) コンピュータ名とIPアドレスの関連付けを行う方法として、LMHOSTSファイルで行う方法と、WINSで行う方法が用意されました。 これにより、WAN上にブロードキャストを転送する必要がなくなるというメリットもありました。 この時点では、ファイル・プリンタ共有しか行わない限り、つまり、 httpやsmtp等のTCP/IPプロトコルスイートを使わない限り、DNSは不要でした。 (注:NetBIOSにおいて、WAN経由のブロードキャストは不要になっても、LAN内では引き続き使われ続けています) しかし、実際にはWebやe-mail等の普及と時期が重なったせいもあって、(だからこそTCP/IPが標準搭載されたとも言える) ネットワーク内にはhostsファイルやDNSも使われるケースが増えていきました。 この時代では、アプリケーションの種類によって、使用する名前解決の仕組みが異なっていたことになります。 Microsoftのファイル・プリンタ共有関連は、NetBIOS(ブロードキャスト,LMHOSTS,WINS)を使い、 インターネット関連のアプリケーションでは、hostsやDNSを使っていました。 こういうふうに、完全に分かれたままになっていれば管理者としては分かりやすかったのですが、 実際には名前空間の二重管理という問題がありました。 つまり、1台のコンピュータに対し、NetBIOSの名前と、DNSの名前を二重に管理する必要があったわけです。 計画的に、両方に同じ名前を割り当てる運用をした組織もありましたが、 さまざまな理由により、両者に異なる名前をつけて運用せざるを得なかった組織も多かったはずです。 また、クライアントコンピュータ上の設定でも、DNS関連設定とWINS関連設定の 両方が確実に正しく設定できないようなケースも発生したはずです。 こうなると、DNSには登録されているがWINSには登録されていないケース、またはその逆などが発生し、 DNSもWINSも、片方だけでは役に立たないという状態になることもありました。 そういう状況の解決策として、(というか、とりあえず当面の問題に対する逃げ道といってもいいかもしれませんが) クライアント側で、本来不必要な方のネームサービスも検索するような動作が実装されました。 例えば、本来、ファイル・プリンタ共有ではNetBIOSの名前解決(ブロードキャスト,LMHOSTS,WINS)だけを使えばいいはずですが、 それでは解決できなかった場合、TCP/IPの名前解決(hosts,DNS)を使うという方法です。 つまり、5つもある名前解決の手段を、1つ目が失敗したら2つ目でトライし、それもだめなら3つ目、4つ目、5つ目と試していくことができるようになりました。 また、名前解決手段の優先順位を設定したり、特定の手段についてOn/Offができるような方法も用意されました。 例えば、WINSとブロードキャストのどちらを優先するか、LMHOSTSを参照するかしないか、DNSを使うかどうか、などです。 この辺の動作は、OSによっても、あるいは設定によっても変わってきてとても複雑です。 詳しくは参考URLをご覧ください。 そのうち、組織内ネットワークのTCP/IPへの移行が進み、NETBEUIはほとんど使われなくなりました。 インターネット/イントラネットも普及し、TCP/IPベースのアプリケーションも増えました。 そのため、NetBIOSの名前解決の仕組みを使わなくても、ファイル・プリンタ共有が行えるよう、 また、名前空間の二重管理を行わなくてもすむよう、DNSを全面的に採用したWindows2000が登場しました。 サーバ・クライアントも全てWindows2000以上にして、しかも、NetBIOSを使うような古いアプリケーションが皆無になれば、 WINSを完全に廃止しDNSだけで運用できるようになりました。 以降のOSもその路線を維持しています。 しかし、実際にはWindows9X系のクライアントがまだ残っていたり、NTサーバが残っていたり、 NetBIOSを使うような古いアプリケーションが残っていたりで、大規模な組織ほどWINSの全廃には至っていないのが現状かと思います。 つまり、それが今なおWINSを立ち上げる理由といえると思います。 ポイントとしては、 ・DNSとWINSはそもそも役割が違う。アプリケーションによって使い分けられてきた ・現在ではWINSを使わない運用も可能 ・古いものを引きずっていると、現在でもWINSを使わざるを得ない ということになるかと思います。
その他の回答 (2)
- htc1014331
- ベストアンサー率60% (3/5)
MCSE(NT4,2000,2003)の者です。 懐かしい話題なので脇から口を挟んじゃいます。 No.1さん、ごめんなさい >98のホスト名、NetBIOS名はそれぞれどこに設定なのでしょうか? ネットワークコンピュータ右クリックプロパティ→識別情報タブの 「コンピュータ名」が「NetBIOS名」ですか? そうです。 >TCP/IP->を選択→プロパティのDNS設定タブのところの「ホスト名」、 これが「ホスト名」でしょうか? そうです。 >2000(というかXPで。)だと、マイコンピュータ右クリックの コンピュータ名タブ→「変更」ボタン→コンピュータ名というところが 「ホスト名」ですよね。NetBIOS名はいったいどこにあるのか。。 xpですとシステムのプロパティ-コンピュータ名タブ-変更-詳細 をみると"NetBIOSコンピュータ名"とかかれております。 ちなみにローカルで名前解決するときは コンピュータ名=NetBIOS名→lmhosts ホスト名→hosts に記述します。 そもそも、WindowsとUnix系のネットワークは 同じ用語、たとえばコンピュータ名やドメイン といったものがまったく違うものをさすことが多いです。 それが微妙に融合しつつあるので混乱しやすいです。 基本的にWindowsのコンピュータ名はNetBIOS、 名前解決もWINSと考えていた方がいいです。 WindowsでたてたDNSがWINSの働きもしている、 ぐらいの感覚の方が正しいです。 Windows2000,2003,XPのみの環境でも WINSとしてWindowsのDNSを指定しないと まともに動かないという環境さえあります。 *特殊な例かもしれませんが、2回ほど 体験してます。 Windows2000、XPになってコンピュータ名は NetBIOS、ホスト名の両方を兼ねるっていう 方向でいます。でもグローバルなインターネット の世界ではまだまだ十分ではありません。 Windowsの中で閉じていれば使える、と考えていいです。 ではBINDなどのDNSでWindowsの コンピュータ名をどう解決するのか? などという話題はかなり難しいですし 通常、そういったことはあまりしないので 問題にもなりませんが。
お礼
ありがとうございます!m(_ _"m)ペコリ >Windows2000,2003,XPのみの環境でも WINSとしてWindowsのDNSを指定しないと まともに動かないという環境さえあります。 *特殊な例かもしれませんが、2回ほど 体験してます。 たしかにそうですね!ワタシのカイシャの環境でも、DNS,WINS、同じサーバーを指定しています。 2000、XPはホスト名、NetBIOS両方かねる、ほんとそうですねー あやふやなところをハッキリおっしゃっていただいて ほんと たすかります!!!ありがとうございましたm(_ _"m)ペコリ
- Toshi0230
- ベストアンサー率51% (836/1635)
まず話の前提として、 WINS : PCのコンピュータ名(NetBIOS名)の名前解決をする DNS : PCのドメイン名の名前解決をする という基本的な役割の違いをまず把握しておいてください。 DNSでNetBIOS名の名前解決ができるようになっているのは、あくまで「オマケ」です。 > なんでWINSサーバもたちあげてる必要があるのか? この回答ですが、「NetBIOS名とドメイン名(のホスト名)が一致している保証がどこにもない」からです。 Windows2000以上だと、NetBIOS名とドメイン名がかなり密接に結合されていますが、Windows98だと、NetBIOS名とドメイン名を全く別の名前にすることが簡単にできます。 ですから、Windows2000が登場するまでは、Winodws系PCのコンピュータ名を確実に解決するには、WINSの方が都合が良かったわけです。(その当時はDDNSの機能を持つDNSサーバは一般的ではありませんでしたので、NetBIOS名を自動的に登録してくれるWINSは、管理の面でも便利でした) ところが、NetBIOS名というのは、名前に階層構造を持たせることができませんので、大規模なネットワークになると、一意な名前を付けるのは結構大変になります。 以下は私の想像ですが、この欠点を克服するためにMicrosoftは、Windows2000をリリースする際に、大規模ネットワークにも対応できるようにするために、その当時すでに階層構造を持っていたドメイン名の仕組みを、Windowsの世界に取り込んだわけです。 そのときに、過去の資産との互換性を取るためにWindows2000もWINSを参照できるようにしたため、現在のように名前解決をするのにDNS/WINSの双方が使えるような状態になっているわけです。
補足
ありがとうございます!詳しい方に回答していただいて本当にうれしいです!!!!O(≧▽≦)O お手数なんですが、回答のなかで、ひとつわからない部分があったのでおしえていただければ。。98のホスト名、NetBIOS名はそれぞれどこに設定なのでしょうか?ネットワークコンピュータ右クリックプロパティ→識別情報タブの「コンピュータ名」が「NetBIOS名」ですか?TCP/IP->を選択→プロパティのDNS設定タブのところの「ホスト名」、これが「ホスト名」でしょうか?2000(というかXPで。)だと、マイコンピュータ右クリックのコンピュータ名タブ→「変更」ボタン→コンピュータ名というところが「ホスト名」ですよね。NetBIOS名はいったいどこにあるのか。。
お礼
ありがとうございましたm(_ _"m)ペコリ ほんとうに詳しくなかったらこんな回答でませんね! カンドウしました!!!! よーーーーーーーーーーーーーっくわかりました!!すごい!