DNSって何?

2019.08.03

TCP/IP の入門書籍で紹介されていた「DNS」という単語について詳しく調べようと思う。

なぜ DNS について調べようと思ったか?

Heroku や Firebase を使って独自ドメインを設定する際、DNS レコードを設定する必要があったが、具体的に何をやっているのか理解していなかった。なので、この機会にまとめて調べてみようと思った。

DNS とは何か?

  • ドメイン・ネーム・システムの略称
  • 主にインターネット上のホスト名や電子メールで使われるドメイン名と、IP アドレスを紐づけている
  • 例えば、「www.shoeisha.com」という URL に接続すると、「61.193...」という対応する IP アドレスに自動変換されて接続できるようになる
  • IP アドレスは単なる数字の羅列なので人間には覚えにくい、ローマ字に変換することで人間に覚えやすくしている

DNS の分散システムとは?

  • DNS は負荷・機能を分散することによって安全に効率よくドメインの管理を行なっている
  • 例えばドメインの末尾は jp 、kr であるかなど国名によって分割されて管理されている(機能の分散例)
  • また「shoeisha.co.jp」というドメイン名の IP を調べるときは、以下のような順で IP アドレスを特定する

    1. jp を管理しているネームサーバーに飛び
    2. co.jp を管理しているネームサーバーに飛び
    3. shoeisha.co.jp を管理しているネームサーバーに飛ぶ

DNS レコードとは?

DNS はどのように使われるのか?

  1. Web ブラウザに URL を入力する
  2. ブラウザが DNS プロトコルを使って DNS サーバーにドメインに対応する IP アドレスを問い合わせる
  3. 問い合わせの結果、対応する IP アドレスが発見された場合は、Web サーバーにアクセスして HTML ファイルを取得して表示する

まとめ

今まで独自ドメインの設定はよくやっていたが、具体的に裏で何が働いているかなど調べたことがなかったので、今回は良い機会になった。引き続き、関連事項で学んだことがあれば加筆していきたい。