Domain Name Space
ドメイン名は階層的な構造を形成しています。例えば "friendsnow.hatenablog.com" というホスト名は "friendsnow"、"hatenablog"、"com" という 3つの階層に区切ることができます。"friendsnow.hatenablog.com" というホストは .hatenablog.com" ドメインに所属しており、このドメインはさらに "com" ドメインに所属しています。この構造をドメイン名前空間 (Domain Name Space) と呼びます。ドメイン名前空間は頂点に "."(root) ノードをもち、そこから .com, .org, .jp などの各トップレベルドメイン (TLD) が分かれています。
Domain Name
HTTP の URI、メールのメールアドレスなどで使われる Domain Name は Domain Name Space を後から順に書いたものになります。"friendsnow.hatenablog.co.jp" の場合、 "jp" は ccTLD(Country Code TLD)、"co" は、属性 jp ドメインと呼びます。また、"com" の場合は、gTLD(generic TLD)と呼びます。
DNS リソースレコードタイプ
- A Record:ドメイン名(FQDN)から IP アドレスを調べる正引き用レコード
- NS Record:ゾーン権限をもつ DNS サーバーの指定のためのレコード
- CNAME Record:CNAME(Canonical Name)はホスト名に別名を付けます。
- PTR Record:IP アドレスに対する名前 (IP は 1.1.168.192.in-addr.arpa. の様に表記されます)
- MX Record :メールアドレスに利用するドメイン名の指定のためのレコード
- SOA Record:ゾーン(ドメイン)情報を記載し、以下のようなデータを保持します。
- ドメインの DNS サーバー名
- ドメイン管理者のメール・アドレス
- シリアル番号
- 更新間隔(refresh)
- 転送再試行時間(retry)
- レコード有効時間(expire)
- キャッシュ有効時間(TTL)
権限委譲
some-webserver.com ドメインを取得した場合、some-webserver.com ゾーン情報を持つ DNS サーバーのアドレスを、com ゾーンを管理する上位 DNS サーバーに登録する必要があります。
こうすることで、com ゾーンを管理する DNS サーバーは、どの DNS サーバーに問い合わせれば答えが得られるか理解する事ができます。また、Root サーバーは、some-webserver.com がどこにあるか知る必要がありません。com サーバーへ管理を一任します。これを権限委譲と呼びます。
dig コマンド
DNS サーバーから情報を取得するための Linux コマンドです。構文は、以下のとおりです。
"dig [domain name(FQDN)][Record Type]"