どうも。つじけ(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サーバーのデータベースで管理されています。
ドメインとはなにか
さきほどから、「IPアドレスを名前に変換する」や「名前のようなもの」と言ってますが、この「名前」の正式名称が「ドメイン名」です。
URLでは、https://の後ろの部分がドメイン名です。
メールアドレスでは、@の後ろの部分がドメイン名です。
ドメイン名を販売する?
ドメイン名とは、「ホストに付ける名前」です。世界中のインターネットの中で、唯一の住所である必要があります。
しかし、世界中の誰もが好き勝手に名前を付けていては、管理ができません。
そこで、ドメイン名は、ドメインを管理している会社(レジストラと呼びます)にお金を払って使わせてもらうことができます。
たとえば、わたしが、「tsuji.com」というドメインを取得したいと思い、レジストラに問い合わせします。
すると、レジストラは「tsuji.com」がまだ誰にも使われていないか、適切なドメイン名か調査して返答します。
ドメインとは情報のかたまり
ここで、わたしたちが付ける「ドメイン名」に焦点を当ててみましょう。
わたしたちがドメイン名を付けるさいは、Webサイトやメールアドレスが意味する名前を付けると思います。
組織や個人を表すドメイン
– 会社の名前.com
– 野球チーム名.com
– 衆議院議員つじけ.com
など
特徴や性能を表すドメイン
– 東京オリンピック.com
– 地域で一番安いガソリン料金.com
– 国家資格情報.com
など
ドメイン名を見ると、このドメインには何が含まれているか、ある程度イメージをもつことができます。
逆に言うと、ある程度イメージを持てるような名前を付けること、それがドメイン名かもしれません。
まとめ
以上で、「ドメインとはなにか(インターネット編)」 をお送りしました。
インターネット上で使われている用語としては、ドメインとは 「ある特定の情報のかたまり」 と言えそうです。
次回は、「ドメインとはなにか(データベース編)」 をお送りします。