プロダクトマネージャーあれこれ

PJMではなくPDMのPMです!

【サルでもわかる】DNSとは?初心者向けにわかりやすく解説

f:id:pm-pdm:20190121213652j:image

DNS(Domain Name System)とは、インターネットにおける中核技術の一つです!

今回は、DNSとは何者か?というのを初心者向けに分かりやすく説明していきます!

分かりにくかったらごめんなさい!!

 

1. スマホ君の気持ちからDNSを分かった気になる!

DNSとはFQDNとIPアドレスをマッピングするための技術です。

いきなりですが、スマホ君の気持ちに沿って、DNSの利用シーンを紹介していきます!

 

スマホの持ち主が、こんな感じで検索するところからスタートします。

f:id:pm-pdm:20190121204657j:image

 

スマホ君の気持ち(基本パターン)

  1. スマホ君「https://www.pdm.tokyo/を閲覧したいのかぁ。しょうがないなぁ。」
  2. スマホ君「このURLだと、うーん。FQDNはwww.pdm.tokyoね。OK!」
  3. スマホ君「どうせ通信機器どもはFQDNじゃ理解できないだろうから、一旦IPアドレスに変換しないと。そうだ、DNSさんにIPアドレスへの変換を頼もう!」
  4. スマホ君「DNSさん、www.pdm.tokyoのIPアドレスを教えて!」
  5. DNSさん「www.pdm.tokyoのIPアドレスは、192.168.1.1だよ。」
  6. スマホ君「ありがとう!DNSさん」
  7. スマホ君「えーっと、宛先を192.168.1.1にしてパケット送信!」
  8. Webサーバ様(192.168.1.1)「はい、これが要求してきたWebサイトだよ。」
  9. スマホ君「ありがとう!Webサーバ様!このWebページをブラウザに表示っと。」

 

FQDNとは?

「https://www.pdm.tokyo/」の赤字箇所をFQDNといいます。

このFQDNを使って通信機器が読み取れないので、通信機器が読み取れるIPアドレスという形に変換してパケットを送信する必要があります。

 

スマホ君の気持ち(DNSさんに頼らないパターン)

    〜数日前の出来事〜

  • DNSさん「スマホ君は問い合わせし過ぎ!こっちも忙しいんだから、少しはFQDNに紐づくIPアドレスを覚えたら?」
  • スマホ君「すみません!全ては覚えられないので、一定時間は覚えるように頑張ります(汗)」

    〜そして、時は経ち〜

  1. スマホ君「やっべ。まーた、https://www.pdm.tokyo/を閲覧したいのか。同じことを聞くとDNSさんに怒られちゃうから、IPアドレスのメモ帳をまずは確認しないと。」
  2. スマホ君「でも、メモに記載がなかったら、IPアドレスをまたDNSさんに問い合わせしないと。。。
  3. スマホ君「よかったぁ(安堵)。まだメモが残ってた、www.pdm.tokyoのIPアドレスは192.168.1.1だ!
  4. スマホ君「よし、宛先を192.168.1.1にしてパケット送信!」
  5. Webサーバ様(192.168.1.1)「はい、これが要求してきたWebサイトだよ。」
  6. スマホ君「ありがとう!Webサーバ様!このWebページをブラウザに表示っと。」

 

スマホ君の気持ち(Webサーバ様に頼らないぞパターン)

    〜数日前の出来事〜

  • Webサーバ様「スマホ君!君は、同じWebページを要求しすぎだよ!君の部下であるブラウザ氏に頼んで、過去に閲覧したWebページをキャッシュ(記録に残す)して、再表示するようにして!」
  • スマホ君「申し訳ございません。そのように致します。。」

    〜そして、時は経ち〜

  1. スマホ君「またこのサイト(https://www.pdm.tokyo/)かよ!どんだけこのサイトが好きなんだよ、こいつは」
  2. スマホ君「ブラウザ氏、この前このサイトのWebページをキャッシュ(残す)するように頼んだよね?
  3. ブラウザ氏「そうだよ、https://www.pdm.tokyo/のページなら、まだ残ってるから、そのまま表示できるよ!」
  4. スマホ君「でかしたぞ!ブラウザ氏!よし、DNSさんにもWebサーバ様にも頼らずにできるぞ」
  5. スマホ君「行けっ、ブラウザ氏!キャッシュされたWebページを表示や!」

 

どうでしたか?

スマホ君からみて、どこでDNSが登場してくるか分かりましたでしょうか。

 

次は、実際の流れを絵で説明していきますね!

 

2. スマホからWebサイトを閲覧する際の流れからDNSを理解!

まずは全体の流れを把握しましょう!

f:id:pm-pdm:20190120124312p:plain

スマホからWebサイトを閲覧する際の流れ

各箇所ごとに説明

①スマホのブラウザで、「プロダクトマネージャーあれこれ」と検索する

スマホのブラウザで「プロダクトマネージャーあれこれ」と検索すると、ブラウザはhttps://www.pdm.tokyo/ にアクセスするために、②に進もうとします。

しかし、例外もあります。

例外とは、1章の”スマホ君の気持ち”でも紹介したDNSやWebサーバに頼らないやり方です。

 

例外1:過去に検索したことのことをあるWebサイトの場合には、ブラウザにWebページのキャッシュがあり、スマホ内で完結する場合があります。

f:id:pm-pdm:20190120122909p:plain

スマホのブラウザにWebページのキャッシュ(履歴)が残っている場合

 

例外2:スマホにはDNSキャッシュと呼ばれる履歴(FQDNとそのIPアドレスの履歴)が残っている場合があり、この場合にはスマホははてなのWebサーバに直接アクセスしにいきます。

f:id:pm-pdm:20190120124347p:plain

スマホにDNSキャッシュが残っている場合

 

②スマホは、プロダクトマネージャーあれこれのIPアドレスをドコモのDNSに問い合わせ

https://www.pdm.tokyo/」という文字列のままでは、Webサイトにアクセスすることはできません。「https://www.pdm.tokyo/」から、FQDNを取り出し、そのFQDNのIPアドレスを探しにいきます。

 

URLがhttps://www.pdm.tokyo/の場合には、FQDNはwww.pdm.tokyoになります。

 

次に、FQDNのIPアドレスをドコモのDNSに問い合わせするところについて触れておきます。

 

何らかの特別なネットワーク設定をしていない場合には、スマホで利用している携帯キャリアが運営しているDNSに対して問い合わせをします。

大多数の方は、特別な設定はしていないと思いますので、このパターンに当てはまると考えていただいて大丈夫です。NTTドコモの人はドコモDNS、ソフトバンクの人はソフトバンクDNSです。

 

なぜ、「https://www.pdm.tokyo/」でアクセスせずに、わざわざIPアドレスというものを探しに行くか?

これは、通信機器(ネットワーク機器)がIPアドレスというのを用いて、ルーティングを行なっているためです。

ルーティングとは、パケットを運ぶための処理です。

ここでぜひ覚えていただきたいのは、IPアドレスじゃないと通信できないんだということです。

 

DNSはIPアドレスを探しにいくための技術なんです!!

(実際には他にも使い道はあります)

 

③ドコモDNSは、プロダクトマネージャーあれこれのIPアドレスは192.168.1.1ですよと返答

ドコモDNSは下記のような情報を持っています。

ドコモDNSは下記のテーブル表から、問い合わせのあったNo2を参照して、FQDNがwww.pdm.tokyoのIPアドレスをスマホに回答します。

 
No. FQDN IPアドレス
1 www.example.co.jp 192.168.1.2
2 www.pdm.tokyo 192.168.1.1
 
④スマホは、プロダクトマネージャーあれこれのIPアドレス(192.168.1.1)にアクセス

スマホは宛先を192.168.1.1として、パケットを送信します。ドコモのネットワークを通り、The Internetを通り、はてなのネットワーク網に入ります。

最終的には、はてなのWebサーバ(192.168.1.1)に到達します。

 

⑤はてなのWebサーバは、アクセス元のスマホに対して、プロダクトマネージャーあれこれのWebページを返す

はてなのWebサーバ(192.168.1.1)はWebページ(https://www.pdm.tokyo/)を要求元のスマホに返します。

すると、スマホのブラウザ上で、プロダクトマネージャーあれこれのWebサイトが閲覧できるという流れになります。

 

お疲れ様でした、これで以上です!

 

長くなってしまいましたが、どうでしたか?

なんとなくでも、DNSについて分かった気になってくれれば幸いです。