- 「ドメイン」は人間にわかりやすい名前だけでなく、ネットワークを柔軟に管理するために「抽象化」する役割を果たしています。
- 「DNS」を活用した仕組みとしては、バーチャルホスティングやCDNなどがあり、インターネットの柔軟性と拡張性を支えています。

「そのドメインであれば、どのサーバでもよい」という仕組みのおかげで、効率的に回っているんだね。
IPアドレスで指定してしまうと、「〇〇会社の担当の〜〜さんじゃないと話が進まない」ことになるけど、ドメイン名なら「話が通っているなら〇〇会社の誰でもよい」ということになるんだね。

「ドメイン」が「領域」という意味なのは、そういう「広さ」があるからです。
1. ドメインはただの「人間にわかりやすい名前」ではない
現代のDNSは、単なる「名前解決システム」とは言えません。
ドメインは「IPアドレスは人間にとってわかりにくいので、名前をつけている」などと説明されることも多いですが、それだけではありません。

ドメインには、ネットワークを柔軟に管理する機能があり、インターネットを支える基盤になっています。

たとえ人間がURLを入力することがなくなっても、ドメインには役割があります。
2. 初期のDNSは名前とIPアドレスを結ぶデータベース
DNSとドメインの機能は、時代とともに進化してきました。
確かに、DNSが生まれたころは、ドメイン名とIPアドレスを結ぶための分散型のデータベースシステムとして登場しました。
しかし、ARPAnetの誕生から約15年の間に、ネットワークの急速な拡大に伴って名前解決の方法が進化し、最終的にDNSという分散型システムが開発・導入されました1。
2-1. DNS以前の時代(ホストファイル)
1960年代後半~1970年代、「ARPAnet(Advanced Research Projects Agency Network)」が稼働を開始した時期は、まだネットワークに接続されたコンピューターの数は非常に限られていました。
各コンピューターのホスト名とIPアドレスの対応表(/etc/hosts
)をFTPで配布する方法が使われていました。
2-2. ネットワークの拡大・インターネットへ
しかし、1980年代に入ると接続されるコンピューターの数が急増し始めました。
ホストファイルの更新や管理が追いつかなくなる問題が顕著になりました。
そこで、1983年に Paul Mockapetris氏によってDNSの設計が始まり、1984年にDNSの基本的な仕様が公開されました。
1990年代に入ると、World Wide Webの登場とともに、DNSの重要性がさらに高まり、インターネットの基本的なインフラストラクチャーとして確立されました。
3. 「ホスト名」と「ドメイン名」の違い

あれ?
「ホスト名」って「ドメイン名」のこと?
「ホスト名」と「ドメイン名」は、インターネット上で使われる名前の異なる部分を指しています。
「ドメイン名」は、インターネット上の階層的な名前空間の一部で、組織や個人が所有する識別子です。
たとえば、「example.com」、「google.co.jp」など。
一方、「ホスト名」は、ネットワーク内で特定のデバイスやサーバーに付けられた個別の名前です。
たとえば、「www」、「mail」、「ftp」など。
このホスト名とドメイン名を組み合わせた、インターネット上での完全な名前を「完全修飾ドメイン名2」といいます。
構造: [ホスト名].[ドメイン名]
例: 「www.example.com」
(「www」がホスト名、「example.com」がドメイン名)
例:「mail.example.com」
(「mail」がホスト名)

「www.example.com」って「example.com」と同じ意味だと思っていたけど、厳密には違うんだね。
ブラウザだと暗黙のうちに、ウェブサーバを選んでくれているんだね。

「ドメイン」というのは「領域(domain)」を表します。
ホスト名は特定のデバイスを指すのに対し、ドメイン名は組織や領域全体を指します。
3-1. 「インターフェース」としてのドメイン

「直値」ではなく「識別子」を使うことには、「インターフェース」の意味があります。
DNSの仕組みは、「仮想化」の一種と考えることができます。
「仮想化」とは、物理的な制約をカプセル化し、柔軟なインターフェースを通じてリソースを提供することです。
現在のDNSは、以下のような役割を果たしています。
- 抽象化:
DNSはIPアドレスという物理的な識別子を、人間にとってわかりやすいドメイン名に置き換えています。 - 物理的な制約から自由になる:
IPアドレスは変更されることがありますが、ドメイン名は変わらないので、安定したアクセスが可能です。
物理的なネットワーク構成が変わっても、ドメイン名は変更する必要がありません。 - 信頼性の指標:
例えば、「.go.jp」というドメインは日本の政府機関を示すため、信頼できるウェブサイトだと判断できます。 - 認証の基盤:
ドメイン名を介してアクセス制御や認証を行うことで、セキュリティを強化できます。
また、ウェブサイトの安全性を確認するSSL/TLS証明書や、ブラウザのセキュリティ機能もドメイン名を基準に管理されています。
4. DNSレコード
DNSは単純な1対1の変換システムではありません。
多対多の関係を実現できる仕組みになっています。
DNSがインターネット上の「名前解決」をするときには、各ドメインに関する情報であるDNSレコードを参照します。
DNSの階層構造に従って、上位のDNSサーバーから順に適切なレコードを持つサーバーにたどり着きます。
4-1. AレコードとAAAAレコード
AレコードやAAAAレコードは、DNSの最も基本的な要素の一つです。
- Aレコード(Address record)
ドメイン名をIPv4アドレスに関連付けます。 - AAAAレコード
ドメイン名をIPv6アドレスに関連付けます。
Aレコードは、完全修飾ドメイン名(例:www.example.com)とIPアドレス(例:192.0.2.1)を結びつけます。
インターネット上でウェブサイトにアクセスする際、AレコードがあることでURLからIPアドレスを見つけ出すことができます。

Aレコードは、電話帳のようなものです。
名前(ドメイン名)を知っていれば、その電話番号(IPアドレス)を調べることができます。
バーチャルホスティング
たとえば、共用レンタルサーバーでは、同じサーバを使って別々のサイトを運営しています。
これは、複数のドメイン名から1つのIPアドレスを登録しているからです。
例: 「example.com」と「example.net」の両方に192.0.2.1というIPアドレスを割り当てることができます。
このようにすれば、サーバは1台しかないのに、複数のウェブサイトを運用できます。
これを「バーチャルホスティング」といいます。
また、メインドメインとは別に、短縮URLなどのサブドメインを設定することもできます。
4-2. CNAMEレコード
DNSレコードは、Aレコードだけではありません。
「CNAMEレコード(Canonical Name record)」では、あるドメイン名を別のドメイン名の「エイリアス(別名)」として定義します。

別名を持つ意味ってなんかあるの?
現在のインターネットでは、「別名」を活用しています。

メインの使い方は、自社のドメインの背後に他社のサービスを組み込むことができることです。
外部サービスとの連携
外部サービスを自社ドメインで提供しているように見せることができます。
たとえば、「mail.yourcompany.com」をGoogleのメールサーバーに向ければ、外部からは自社サービスというブランディングを維持しながら、専門的なサービスを利用できます。

配線を付け替えるような感じだね。
CDN(コンテンツデリバリーネットワーク)
サイトのパフォーマンスを上げる目的でも、CNAMEは使われます。
たとえば、サブドメイン「content.example.com」をCDNプロバイダのドメインに向ければ、トラフィックを複数のサーバーに分散させることができます。
地理的に異なる複数のサーバーを同じドメイン名で提供します。
「api.example.com」を各地域のサーバーに向ければ、ユーザーの位置に応じて最適なサーバーにアクセスできます。
サイトの移行をスムーズに

ウェブサイトの管理にも活用されます。
古いドメインから新しいドメインへの移行を滑らかに行います。
「old-domain.com」を「new-domain.com」に向ければ、ユーザーや検索エンジンへの影響を最小限に抑えられます。
また、サブドメイン「blog.example.com」を主ドメイン「www.example.com」にリダイレクトするようにすれば、ウェブサイトの構造変更時に、IPアドレスの更新を1箇所で済ませられます。

このように、DNSは単なる名前解決システムを超えて、インターネットの柔軟性と拡張性を支える重要な基盤技術となっています。
その役割は、技術の進歩とともに進化し続けているのです。





(補足)
- インターネット10分講座 DNS – JPNIC
- FQDN:Fully Qualified Domain Name