[プログラミング用語]ドメインとはなにか(インターネット編)

プログラミング

どうも。つじけ(tsujikenzo)です。このシリーズでは「ドメインとはなにか」について全3回でお送りします。今日は1回目です。

ドメインってなに?

プログラミング学習をしていると、必ず出会う単語のひとつに 「ドメイン」 があります。

この単語ですが、「まぁこういうものだよ」と言い切るにはちょっと無理があると思いまして、実例をあげながら仲良くなれればと思います。

このシリーズのアジェンダ

1回目. ドメインとはなにか(インターネット編)
2回目. ドメインとはなにか(データベース編)
3回目. ドメインとはなにか(ドメイン駆動設計編)

今日は1回目です。

今回のアジェンダ

  • ホストとはなにか
  • IPアドレスとはなにか
  • DNSのお仕事
  • ドメインとはなにか

ホストとはなにか

Webの仕様書であるRFC871では、ホストを、「ネットワークに参加している複数のオペレーティングシステムと共にリソースを共有するべくコミュニケーション・ネットワークに接続した一般用途のコンピュータシステム」と定義しています。

「コンピュータシステム」という言い方をしていますが、コンピュータのことで間違いありません。

ネットワーク上で、リソース(Web上に存在する、名前を持ったありとあらゆる情報)を共有している、ということは、ホストとは「Webサーバ」のことでもあります。

では、この広いWeb上で、わたしたちクライアントが、ホストを特定する、またはホストと繋がるためにはどうしたらよいでしょうか。

IPアドレスとはなにか

以前のブログで、ネットワークを定義したさい、「一台どうしのパソコンをつなぐことができたら、次は複数のパソコンどうしをつなげるルールを決めたい。」というお話をしました。

それが「IP」です。

この、ネットワーク層の要求に答えるための決まりごとが 「インターネットプロトコル(Internet Protocol)」 です。略して「IP」です。IPではデータを「IPパケット」という単位で送受信します。IPパケットのヘッダーには、送信元と宛先の両方のIPアドレスが格納されており、ヘッダー情報を元に、宛先にIPパケットが届けられます。
[WEB]ネットワークとHTTP

IPでは、スマホやPCなどネットワークにつながっている機器に、「IPアドレス」という住所のようなものを割り当てます。

家庭や社内のネットワークにつながっている機器に割り当てられているIPアドレスを「プライベートIPアドレス」とよび、世界中のインターネットに接続するときに割り当てられるIPアドレスを「グローバルIPアドレス」と呼びます。

この、グローバルIPアドレスがあるおかげで、わたしたちクライアントは、広いWeb上で、特定のコンピュータ(前節では「ホスト」と呼びました)と繋がることができるのです。

DNSのお仕事

グローバルIPアドレスは、このような数字の組み合わせで表現されます。世界中で重複することはありません。
– IPv4:198.51.100.100(43億通り)
– IPv6:2001:0db8:0000:0000:0000:0000:0000:0001(43億の4乗通り)

しかしながら、わたしたちクライアントが、グローバルIPアドレスを、数字の組み合わせで管理するのはとても大変 です。

できれば、人間の言葉でもわかるような、「名前」のようなものが分かりやすいですよね。

この、グローバルIPアドレスを名前に変換するお仕事をしているのが、DNS(Domain Name System)です。

世界中で名前の重複が起きないように、DNSサーバーのデータベースで管理されています。

ICANN の役割 - ICANN

ドメインとはなにか

さきほどから、「IPアドレスを名前に変換する」や「名前のようなもの」と言ってますが、この「名前」の正式名称が「ドメイン名」です。

URLでは、https://の後ろの部分がドメイン名です。

メールアドレスでは、@の後ろの部分がドメイン名です。

ドメイン名を販売する?

ドメイン名とは、「ホストに付ける名前」です。世界中のインターネットの中で、唯一の住所である必要があります。

しかし、世界中の誰もが好き勝手に名前を付けていては、管理ができません。

そこで、ドメイン名は、ドメインを管理している会社(レジストラと呼びます)にお金を払って使わせてもらうことができます。

たとえば、わたしが、「tsuji.com」というドメインを取得したいと思い、レジストラに問い合わせします。

すると、レジストラは「tsuji.com」がまだ誰にも使われていないか、適切なドメイン名か調査して返答します。

ドメインとは情報のかたまり

ここで、わたしたちが付ける「ドメイン名」に焦点を当ててみましょう。

わたしたちがドメイン名を付けるさいは、Webサイトやメールアドレスが意味する名前を付けると思います。

組織や個人を表すドメイン
– 会社の名前.com
– 野球チーム名.com
– 衆議院議員つじけ.com
など

特徴や性能を表すドメイン
– 東京オリンピック.com
– 地域で一番安いガソリン料金.com
– 国家資格情報.com
など

ドメイン名を見ると、このドメインには何が含まれているか、ある程度イメージをもつことができます。

逆に言うと、ある程度イメージを持てるような名前を付けること、それがドメイン名かもしれません。

まとめ

以上で、「ドメインとはなにか(インターネット編)」 をお送りしました。

インターネット上で使われている用語としては、ドメインとは 「ある特定の情報のかたまり」 と言えそうです。

次回は、「ドメインとはなにか(データベース編)」 をお送りします。

このシリーズの目次

  1. [プログラミング用語]ドメインとはなにか(インターネット編)
  2. [プログラミング用語]ドメインとはなにか(データベース編)
  3. [プログラミング用語]ドメインとはなにか(ドメイン駆動設計編)

タイトルとURLをコピーしました