ネットワークエンジニア

DNS(ドメイン・ネーム・システム)とは何か?_01

この記事(全2回)では、インターネットで使われているDNS(ドメイン・ネーム・システム)という技術について解説いたします。

DNSは、ネット検索や記事閲覧に必ず関わる名前解決の他、ネット上の人物の特定や、負荷分散、冗長化などでも用いられる、とてもベーシックな技術です。

  • インフラ系のエンジニアになりたい方
  • IT営業で話の幅を広げたい方
  • ブログやECサイトなどのネットビジネスに携わる方
  • とにかくITの教養を身につけたい方

このような人達にオススメの記事です。

DNSをちゃんと理解している人とそうでない人では、IT関連の業務では大きな差がつきます!(断言)

是非ともご覧ください。

【本シリーズ】

DNSの主な機能:名前解決

DNSとは、タイトルにもある通り「ドメイン・ネーム・システム(Domain Name System)」の略です。

主な機能は、

ドメイン名(文字列)をIPアドレスに変換する

です。

ドメイン名とは、ホームページアドレスの一部や、メールアドレスの@以降で使われている文字列と理解しておけばOKです。
例)
info@pgapp.net
https://www.yahoo.co.jp/

当サイトのドメイン名は、pgapp.net で、このドメイン名(文字列)のIPアドレスは、118.27.100.90 です。
また、google.com のアドレスは、172.217.31.142 です。
yahoo.co.jp は、182.22.59.229183.79.135.206 の2個のIPアドレスに紐づいています。
(これらはお持ちのPCを操作すれば誰でも簡単にわかる情報です)

このように、ドメイン名とIPアドレスを紐付ける機能がDNSです。

通常は、ドメイン名からIPアドレスを取得します。この動作を名前解決(name resolution)と言います。

逆に、IPアドレスからドメイン名を取得する場合も稀にあります。

その文脈では、通常の名前解決を正引きと呼び、IPアドレスからドメイン名を取得することを逆引きと呼んだりします。

DNSの機能はドメイン名とIPアドレスの紐付けです。
ドメイン名からIPアドレスを取得することを名前解決といいます。

ドメインの命名規則と階層構造

ドメイン(Domain)とは英語では領域という意味です。

  • google.co.jp(日本のグーグル)
  • yahoo.co.jp(日本のヤフー)
  • nta.go.jp(日本の国税庁)
  • google.com(アメリカのグーグル)

を例にとって、ドメインの階層構造のイメージ図を記載します。

上図で大体のイメージはつかめるのではないでしょうか?

要点を書くと、

  • 「.(ドット)」で文字列が区切られている。例えば、「yahoo.co.jp」は「yahoo」「co」「jp」の3つの部分に分けられる。
  • 右側の文字列がより大きな領域(ドメイン)を表している
  • 文字列の一番右側(図では1番外側の枠)をトップレベルドメイン(TLD)という。以降、左に行くにしたがってセカンドレベルドメイン、サードレベルドメインという。

です。

つまり、右側がより上位のドメインで、左側の文字列(例:jpから見たco、coから見たyahoo)はその配下のドメイン(サブドメイン)を表します。

配下のドメインを「サブドメイン」と言います。

yahoo.co.jp の例では、yahoo は co の配下にあるサブドメインで、co は jp の配下にあるサブドメインです。

ちなみに、ドメインの jp は、お察しの通り、日本を表しています。イギリスであれば uk ですし、中国であれば cn です。
アメリカには us というドメインがありますが、あまり使われておらず、com や net が使われています。
そして、あるドメインの管理者は、サブドメインを設定する権限を持ちます
つまりは、jp ドメインを管理している人は、その配下に co というドメインを設定する権限があります。合わせてco.jpになります。
jpドメインの配下には、 co や go だけではなく、 or などのドメインも設定されています。
co は会社(company)
go は政府(government)
or はNPOなどの団体(organization)
を意味します。

また、 jpドメイン配下で co ドメインを管理している人も、自ドメイン配下にサブドメインを設定できます。

 yahoo(ヤフー) 、rakuten(楽天)、jreast(JR東日本)などのサブドメインが設定されています。

繰り返しになりますが、右側が上位で左側が下位です。普通の感覚と逆になりますので、ご注意ください。

ドメイン名の管理

ドメイン名の管理は、ICANN(アイキャン)という団体によって行われています。

ICANN - ウィキペディアの記事
※以前のIPアドレスに関する記事でも解説しましたが、IPアドレスの管理も行っている団体です。


実際のドメイン取得では、ICANNからドメインの管理を任されたドメイン管理業者(レジストラと呼ばれている業者です)などにドメイン取得の依頼をすることになります。

その他、最近のレンタルサーバサービスでは、オプションでドメイン取得を代行してくれるサービスがついていたりします。

ちなみに、このブログは Conoha Wing というレンタルサーバサービスを使っています。このサービスで当ブログのサーバの他、ドメインの取得もセットで販売してくれているので、ほとんど手間をかけずに利用できています。
https://www.conoha.jp/wing
そして、ドメインは誰でも取得できるわけではなく、原則は名前の通りの団体や個人でしか取得できません。
つまり、原則は日本の団体や個人でなければ jp ドメインは取得できません。また、法人でなければ co ドメインは取得できませんし、政府組織ではなければ go ドメインは取得できません。
ちなみに、com や net などのドメインは、そこまでの制約はなくどんな個人・団体でも取得できます。

よって、co.jp ドメインを持つ団体は日本の会社だということがわかりますし、go.uk ドメインであればイギリスの政府関係の組織とわかります。

ドメイン名を見るだけで、yahoo.co.jp というドメインを取得したのは日本の会社だ、とわかります。

アドレスバーに表示されている文字列について

下図のブラウザ画面をご覧ください。

赤枠で囲ったところをアドレスバーというのですが、ここには前項で説明したドメイン以外の文字列がいくつかあります。

これらについて解説します。

ホスト名

アドレスバーを見ると、ドメイン名 yahoo.co.jp の左に、www とあります。

この部分は、ホスト名といいます。このホスト部は、ドメインを取得した個人・団体が、好きに設定していい部分です。

なお、ホストは何個つけても構いません。なので、

「a.bb.ccc.dddd.www.yahoo.co.jp」としても構いません。(ただ、ユーザーにとってややこしいので、こんなホスト名をつける会社はありません・・・)

ドメイン名という公共の部分と、ホスト名というドメイン取得者が勝手につけてもいい部分があることを覚えておきましょう。

www って何?

では、www とは何でしょうか?

今調べたところ、Yahooや国税庁の他にも、吉野家(www.yoshinoya.com)もそうでした。

この www は、Wikipediaによると、「World Wide Web」の略称で

URLにより識別される文章やその他のウェブ上のリソースが集まった、ハイパーテキストなどにより相互にリンクされ、インターネットによりアクセス可能な情報システム

 だそうです・・・。(英語版Wikipediaより

難しく書いてありますが、要はホームページ(ウェブサイト)のことです。

では、その www をドメイン名配下のホスト名として用いる理由はなんでしょうか?

結論から言えば特に意味はありませんw

DNSサーバの設定に関連し、ドメイン名だけのホームページアドレスはちょっと使いにくいのです。
要するに、なんでもいいのでホスト名となる文字列を入れると都合がよく、そこで選ばれたのが www だった、というだけです。
DNSサーバの設定は次回の記事で解説します。

もしホームページアドレスを決定する必要がある場合には、wwwに特に意味はないということを念頭に置いておきましょう。
(ただし、エンジニアから「www が必要」という依頼があれば、www をつけたホームページアドレスにしてあげてください)

http:// と https://

今度は、www のさらに左側にある「http://」や「https://」について気になってきませんか?w
(しかし、最近のブラウザの表示では省略されることも多いので、馴染みは薄くなっているかも知れません)

これは、「プロトコル(通信規約)」を表しています。

簡単にいうと、コンピュータ間で「こういうデータをやり取りします」ということを表しているのです。

「http://」は、「Webサイト(通信暗号化なし)」を意味し、「https://」であれば、「Webサイト(通信暗号化あり)」を表します。

プロトコルについては、いずれ別の記事で詳述しようと思います。

まとめ

今回は、DNSとは何かについて、簡単に触れました。

これについて知っていると、アドレスバーを見るだけでも色々な情報を得られるようになります。

次回の記事では、DNSサーバやDNSレコードなどの、少々技術的なことを解説します。

それでは (*゚▽゚)ノ

-ネットワークエンジニア
-,