ライズウィルに中途入社し、約半年ほどが過ぎました。
前職はIT系の会社ではなかったため、いろいろと困惑することも多く、日々勉強の毎日ではありますが、とても楽しく過ごせています。
さて、入社してからは多くの業務を担当させてもらっています。
その中で、最近僕が作業したサーバー移行、ドメイン変更を行う上で、DNSについて調べる時間があったので、抑えておきたい箇所を共有したいと思います。
本ブログでは「DNSとは何か」について、それに関係するIPアドレスやドメインなども合わせてご説明しています。
まずはDNSを知るにあたり、必要になる用語の説明をしたいと思います。
IPアドレスとは
まず初めにIPアドレスのざっくりとした説明からしましょう。IPアドレスというのはインターネット上の住所のことで、WEBサイトが何処にあるのかを判断する識別子のことです。
ex) 192.168.0.1
ドメインとは
次にドメインの説明です。ドメインというのはインターネット上の住所のことで、WEBサイトが何処にあるのかを判断する識別子のことです。(ドメイン名とも言います)
ex) www.risewill.co.jp
また .jp や .com などのことを「トップレベルドメイン(TLD)」と言います。
あれ?IPアドレスとドメインの説明が同じですね、そうなんです。実は、ドメインもIPアドレスもインターネットに接続している機器の場所を示しています。
ではなぜ、IPアドレスと言う識別子があるのにも関わらず、ドメインというものが存在しているかというと、
IPアドレスというのは「機械が読み取るもの」 ドメインというのは「人間が読み取るもの」
というように明示的に分けるためなのです。
以上のことを踏まえて、DNSの説明に入りましょう。
DNS(Domain Name System)とは
早速ですが、DNS(Domain Name System)とは「IPアドレス」と「ドメイン」を紐付けるシステムのことです。以下に詳しく説明していきます。
先ほど、ドメインは人間が読み取るものと言いましたが、逆に機械がドメインを読み取ることはできるのでしょうか?
これはできません。厳密にはドメインを元にインターネット上の情報を探しに行くことができないのです。
ではどのようにして、ドメイン名を元にインターネット上の情報にアクセスしているのでしょうか。
そこでDNSの出番です。下の図を見てください。
上記の図では、ブラウザでライズウィルのホームページを表示する際のDNSサーバへの問い合わせを例に作成してあります。※返されるIPアドレスは仮の物です。
DNSサーバー :ドメイン名とIPアドレスを変換する仕組みを提供するサーバーのこと。
ルートDNSサーバー :ここではすべてのDNSアクセスの起点だと思ってください。
① ルートDNSサーバーに問い合わせをします。 問い合わせに対して、ルートDNSサーバーは、.jpというDNSサーバーに聞いてくださいという応答をします。
② .jpのDNSサーバーに問い合わせをします。 問い合わせに対して、.jpのDNSサーバーは、.co.jpのDNSサーバーに聞いてくださいという応答をします。
③ .co.jpのDNSサーバーに問い合わせをします。 問い合わせに対して、.co.jpのDNSサーバーは risewill.co.jpのDNSサーバーに聞いてくださいという応答をします。
④ risewill.co.jpのDNSサーバーに問い合わせをします。 問い合わせに対して、risewill.co.jpのDNSサーバーは www.risewill.co.jpのDNSサーバーに聞いてくださいという応答をします。
⑤ www.risewill.co.jpのDNSサーバーに問い合わせをします。 ここでようやく問い合わせに対して、DNSサーバーが「 IPアドレスは aaa.bbb.ccc.ddd です。」という応答をします。
⑥ IPアドレスであるaaa.bbb.ccc.dddに問い合わせをします。 WEBサーバーがライズウィルのホームページを応答として返します。
このようにDNSサーバーに対して何度も繰り返しIPアドレスを問い合わせます。(反復検索)
図のようなドメインからIPアドレスへの変換を「正引き」、逆にIPアドレスからドメインへの変換を「逆引き」といいます。
そして、正引き、逆引きでIPアドレス又はドメインを取得することを「名前解決」といいます。
図の例では①〜⑤の問い合わせと応答で名前解決をしています。
このようにしてブラウザはIPアドレスを取得することができ、無事WEBサーバーへアクセスできるようになります。
※実際の名前解決は、キャッシュDNSサーバが肩代わりしてくれます。
インターネットの全ユーザーがルートDNSサーバに名前解決しに行くと、トラフィックが膨大になり、名前解決がパンクしてしまうため。
おわりに
いかがだったでしょうか。このような形でDNSというものが使われています。厳密に言うと、この反復検索を毎回やっているわけではなく、一番最初のルートDNSサーバはキャッシュを持っていたり、問い合わせの仕方が2通りあったりと奥が深いDNSですが、インターネットを安定して運用するためには必須の知識らしいので、覚えておいて損はないと思います。