インターネットを利用する際にブラウザにURLを入力します。
それはホームページを提供しているサーバ(Webサーバ)にドメイン名が割り振られていて、インターネット上の住所として機能しているからです。
でもIPアドレスもインターネット上の住所であって、、、
ドメイン名もIPアドレスもインターネット上の住所で、コンピュータから見るとどちらも同じものです。
そしてこの二つが同じものとして動作するために、変換お仕組みが機能しています。
では、どのような仕組みが働いているのでしょうか?
答えは「DNS」です。

この記事では、DNSの仕組みや役割について初心者でもわかりやすく解説します。
DNSとは
DNSの仕組み
DNSは「Domain Name System」の略で、インターネット上のドメイン名とIPアドレスを対応づける仕組みです。
コンピュータはIPアドレスという数列をインターネット上の住所として識別しています。
しかし、IPアドレスのままでは人間が覚えにくいため、わかりやすいドメイン名が利用されています。
DNSがドメイン名からIPアドレスへの変換を行うことで、人間は覚えやすいアドレス(URL)でウェブサイトにアクセスできるようにしています。

ドメイン名からIPアドレスへの変換を行うことを名前解決と言います
ドメイン名とIPアドレス
ドメイン名は、ウェブサイトのアドレス(URL)として使われます。
例えば、「www.example.com」というドメイン名があります。
これをIPアドレスに変換することで、実際のウェブサイトにアクセスすることができます。

DNSの役割
名前解決のプロセス
DNSはドメイン名をIPアドレスに変換してくれます。
私たちがブラウザでドメイン名を入力すると、コンピュータはまずローカルキャッシュを確認します。
そこに対応するIPアドレスがあれば、そのままWebサイトへのアクセスを開始します。
対応するIPアドレスがなければ、DNSサーバにIPアドレスを問い合わせます。
私たちのコンピュータには、おおよそ身近なDNSサーバ(キャッシュサーバ)が設定されていることが多いです。
まずはキャッシュサーバにIPアドレスを問い合わせます。
そして、キャッシュサーバにも対応するIPアドレスがなければ、キャッシュサーバがさらに上位のDNSサーバ(権威サーバ)にIPアドレスを問い合わせます。
そうしてキャッシュサーバが取得したIPアドレスが、最終的にコンピュータに帰ってきます。

- 自分のコンピュータ内のキャッシュを探す
- DNSサーバにドメイン名を送りIPアドレスを問い合わせる
- ドメイン名に対応したIPアドレスが返却される
- IPアドレスでWebページの閲覧をリクエストする
- Webページが表示される
名前解決の様子を(擬似的に)みてみよう
DNSサーバの上で起こっていることを追いかけてみるのは難しいですが、私たちのコンピュータの上で起こっていることは擬似的に追いかけられます。
せっかくなので、みてみましょう!
今回は、Windows10を搭載したパソコンの手順を説明します。

時間が許すなら、ぜひ手元でやってみてください
コマンドプロンプトを起動する
コマンドプロンプトを起動します。
タスクバーの検索に「cmd」とキーボードで打ち込むと、すぐに出てくるのでオススメです。

DNSにドメイン名に対応したIPアドレスを問い合わせる
コマンドプロンプトが起動したら、「nslookup」コマンドと、「IPアドレスを調べたいドメイン名」を入力します。
今回は「google.com」のIPアドレスを問い合わせています。
「nslookup」と「ドメイン名」の間にはスペースが必要になるので気をつけてください。

帰ってきたIPアドレスをブラウザに入力する
調べて帰ってきたIPアドレスをブラウザに入力します。

表示されたWebサイトを確認する
きちんとGoogleのホームページが表示されました!
GoogleのWebサイトの場合、打ち込んだIPアドレスを親切にドメイン名に変換し直してくれてますね。

まとめ
コンピュータにとって、インターネット上の住所はあくまでIPアドレスです。
この人間にとって覚えにくいIPアドレスでインターネットをしなければならない世界は不便で仕方ありません。
その悩みを解決してくれているのがDNSという仕組みです。
これによって、人間にとって覚えやすい意味がある言葉を使ってインターネットにアクセスできるようになっています。

私たちが、インターネットにアクセスする際、DNSが微笑んで力を貸してくれているのを想像すると、ホッコリしますね。
それでは〜。
コメント