DNSサーバーってそもそも何のサーバーなの?
本記事では上記のようなDNSサーバーに関する疑問にお答えしていきます。
DNSサーバーは普通に生活していたら耳にすることはないものですが、実はすでにこのサイトを訪れた時点でお世話になっているサーバーです。
そしてDNSサーバーの1種であるDNSルートサーバーは世界に13ヶ所しかないサーバーになります。
✔︎本記事を読んでわかること
- DNSサーバーとは一体何か?
- DNSルートサーバーはどこにあるのか?
- サーバーエンジニアになるには?
ぜひご覧ください。
✔︎サーバーエンジニアの求人を探すのに適した転職エージェント3選
目次
DNSサーバーとは?
そもそもDNSサーバーについてご存知ない人もいると思います。
DNSサーバーとはドメイン名とIPアドレスを対応付けしてくれるサーバーのことです。
ドメイン名とIPアドレスとは例えば以下のようなものですね。
- ドメイン名:https://www.amazon.co.jp
- IPアドレス:23.60.109.197
私たちは普段ドメイン名を指定してそのウェブサイトを閲覧していますがウェブサイトを閲覧する前にDNSサーバーを経由してIPアドレスを取得しています。
ウェブサイトを閲覧する流れ
流れとしては次の図の通りです。
Webサイトが表示されるまでの流れ
- Webサイト(https://www.google.com)にアクセスしよう!
- PCからDNSサーバーにWebサイトのIPアドレスを問い合わせる
- DNSサーバーからPCへWebサイトのIPアドレスを知らせる
- PCから教えられたIPアドレスをもとにWebサーバーにアクセスする
- PCにWebサイトが表示される
DNSサーバーでドメイン名からIPアドレスに変換した後にそのIPアドレスをもとにWebサーバーにアクセスしてウェブサイトを閲覧しています。
もちろんあなたがこのサイトを閲覧する際も一度DNSサーバーにIPアドレスを取得しに行っていますね。
そして上の図で「DNSサーバー」と一括りにしましたが実はDNSサーバーの中にも「DNSルートサーバー」と「DNSキャッシュサーバー」の2種類があります。
DNSルートサーバーとDNSキャッシュサーバーとは?
DNSルートサーバーとDNSキャッシュサーバーは次の機能を持ちます。
- DNSルートサーバー:DNSキャッシュサーバーからの問い合わせに対して対応するデータを送信する
- DNSキャッシュサーバー:DNSルートサーバーからのデータを保存してクライアントに提供する
①クライアントからDNSキャッシュサーバーへIPアドレスを問い合わせる
②DNSキャッシュサーバーからDNSルートサーバーへIPアドレスを問い合わせる
③DNSルートサーバーからDNSキャッシュサーバーへIPアドレスを返答します
④DNSキャッシュサーバーからクライアントへIPアドレスを返答します
⑤クライアントはIPアドレスをもとにWebサーバーにアクセスしてウェブサイトを閲覧します
※DNSルートサーバー内部でも階層構造がありますが説明の簡便化のために省略します。
データベースとしてドメイン名とIPアドレスの対応データを持っているのはDNSルートサーバーです。
そしてDNSルートサーバーの負荷を軽減するためにDNSキャッシュサーバーがクライアントへのデータ提供の役割を担っています。
DNSルートサーバーはどこにある?【13ヶ所あります】
ドメイン名とIPアドレスを紐付けしているDNSルートサーバーは世界中でわずか13ヶ所しかないサーバーです。
引用元:一般社団法人 日本ネットワークインフォメーションセンター
米国に10ヶ所、欧州に2ヶ所、そして日本に1ヶ所存在します。
ちなみに物理的なサーバーが13台あるというわけではないので注意しましょう。
それぞれのサーバーは応答速度の向上やハードウェア障害への対策を理由に冗長化を行なっています。
同じIPアドレスで複数のサーバーを運用しているので13台ではなく13ヶ所という表現をしていますね。
サーバーエンジニアになるには?
今回お話ししたDNSサーバーは数多くあるサーバーの一つです。
サーバーには他にもアプリケーションサーバー、データベースサーバー、Webサーバー、メールサーバー、ファイルサーバーなど機能に応じて多くの種類があります。
サーバーエンジニアはサーバーに関する設計・構築・運用・保守を行なう職種ですが未経験からでも求人をしている企業は多くあります。
効率よく転職活動をするなら転職エージェントを活用しましょう。
✔︎サーバーエンジニアの求人を探すのに適した転職エージェント3選
転職エージェントからそのタイミングでしか応募していない求人が知らされることもあるので無料でアカウント登録だけでも済ませておきましょう。
サーバーの知識を習得するには?
いきなりサーバーエンジニアを目指すのではなくまずは体系的に勉強したいという方はUdemyでオンライン学習をするのがおすすめです。
期間限定で50%以上割引になっている講義も多くあるのでもし自分が受けたい講義が割引対象だったら積極的に受講してみましょう。
私も基本情報技術者試験や応用情報技術者試験の学習ではUdemyにお世話になりました。
サーバーに関する知識を身につけたいなら以下の講義がおすすめです。
- はじめてのLinuxサーバー構築運用入門 - Linuxコマンドラインを基礎から学び、自分のウェブサーバまで構築できる
- 【3日でできる】はじめてのLinuxサーバー構築入門(CentOS 7・PHP 7・Docker対応)
- PHPからLaravelまで サーバーサイドをとことんやってみよう【初心者から脱初心者へ】【わかりやすさ最重視】
オンライン講義はスマホやPCで好きな時に受講できるので通勤時間や隙間時間にぜひどうぞ。