このページの本文へ

ネットワークがクイズでわかる! 誰が正解?「TCP/IP」 第8回

DNSサーバー、HOSTSファイル、WINSサーバー、正解はどれでしょう!

名前解決の手法で正しいのはだれ?

2011年09月28日 09時00分更新

文● 編集部

  • この記事をはてなブックマークに追加
  • 本文印刷

クイズ「誰が正解?」の時間がやってきました。このクイズでは、ケンイチ君、いずみちゃん、竹田君の3人が私の質問に答えます。ただし、正解なのは1人だけですよ。クイズのテーマは「TCP/IP」、ネットワークの基本です。さてさて、誰が正解か当てられますか?


誰が正解?(間違いが2人いますので要注意!)

コンピュータを特定するいくつかの名前

 TCP/IPのネットワークでは、アプリケーションはIPアドレスを用いて、通信相手を特定し、通信を行なう。しかし、IPアドレスは32ビットの数字の羅列であり、あくまでコンピュータが処理しやすいものの、人間にとって決して覚えやすいものではない。そのため、ユーザーがアプリケーションから直接IPアドレスを指定するのはまれといえよう。代わりに使われるのが、ホスト名やコンピュータ名などのさまざまな名前だ。

 たとえば、どこかのWebサイトを見たいときは、Webブラウザでhttp://www.ascii.co.jpなどのようにURLを使って、通信相手のWebサーバを指定する。ここでのホスト名はwwwで、それ以降のascii.co.jpはネットワークを階層構造で表現するドメイン名と呼ばれる。ドメイン名はインターネット上での住所を表わすもので、後述するとおり全世界で統一的に管理される。ホスト名とドメイン名を合わせてFQDN(Fully Qualified Domain Name)と呼ばれる。

 一方、Windowsネットワークではホスト名とは異なるコンピュータ名と呼ばれる名前も用いている。これはTCP/IPとは異なるNetBIOSという古いネットワークシステムで用いられていた名称で、NetBIOS名とも呼ばれる。Windowsが当初ファイル共有などで利用してきたNetBIOSだが、TCP/IPへの対応と共にNetBIOS over TCP/IPという名称でTCP/IP上で利用できるようになった。

 さて、人間はこれらの名前を使って、ネットワーク上のコンピュータやリソースなどを指定すればよいのだが、前述したとおり、コンピュータはIPアドレスを使わなければならない。そのため、名前とIPアドレスの相互変換処理が必要になる。これを「名前解決」と呼ぶ。

DNSでの名前解決

 ドメイン名とIPアドレスを名前解決するのが、ご存じDNS(Domain NameSystem )である。DNSはPCのDNSクライアントが、ネットワーク上にあるDNSサーバにドメイン名に対応するIPアドレスを問い合わせるという仕組みになっている。これを実現するため、ascii.co.jpなどのドメイン名は起点となるルートを中心にTLD(Top Level Domain )、SLD(Second Level Domain)などの階層状に管理されており、各DNSサーバはゾーンという管理単位で各階層の名前とIPアドレスの関連づけを管理している。

 具体的な動きを見ていこう(図1)。www.ascii.co.jpのIPアドレスを得たいという問い合わせ(クエリ)をまず登録されたDNSサーバに送信する。以前の問い合わせ結果をキャッシュしていれば、そのままIPアドレスを返答すればよいが、わからない場合は、各ドメイン名を管轄するDNSサーバに尋ねなければならない。

図1●DNSの具体的な動作

 問い合わせを受けたDNSサーバは、www.ascii.co.jpのIPアドレスを管轄してるDNSサーバを探すために、ルートからTLD管轄のDNSサーバ、そしてSLD管轄のDNSサーバ、といった具合に複数回検索を行なう。最終的に知りたいドメイン名を管轄するDNSサーバに行き着き、IPアドレスを得たら、それをDNSクライアントに返すのだ。

 さて、今回の正解はDNSの役割についてきちんと理解していたケンイチ君だ。いずみちゃんの方法は、インターネットにホストが少なかった時代に利用されていたが、管理の手間がかかったので、現在は分散管理を前提としたDNSに移行している。

 一方、竹田君のいっているWINS(Windows Internet Name Service)は、コンピュータ名とIPアドレス同士を名前解決する仕組み。Windows NT/2000などにコンピュータ名とIPアドレスを管理するWINSサーバが搭載されていた。

 現在では、DNSとWindowsのファイル共有などの仕組みが統合化されており、コンピュータ名をホスト名として利用することが可能になっている。また、ActiveDirectory環境では、リソース検索などにDNSが必須となっている。

 本記事は、ネットワークマガジン2007年8月号の特集1『クイズでわかる 誰が正解?「TCP/IP」』を再編集したものです。内容は原則として掲載当時のものであり、現在とは異なる場合もあります。

カテゴリートップへ

この連載の記事