■ DNS おさらい
リモート接続、ファイル転送ときて、今回からは現在のインターネットの最重要プロトコルであるDNSだ。 ▼ link
なんか毎回重要って言ってる気がするんですけど?
リモート接続、telnetはアプリケーションプロトコルの原型として、FTPはファイル転送という非常によく使われるプロトコル、として重要だ。
しかし、DNSは最も使用され、かつ、インターネットの根幹として重要だ。
あ〜、そういえば、そんな話を第27回でもされてましたっけ。
「DNSがなければ、インターネットは立ち行かないようになっているのだよ」って。
うむ、その通り。
ではその第27回を思い出してもらおう。DNSとは何だ?
何だ、って言われても。
覚えやすい英数字のホスト名とそのホストのIPアドレスを対応させるんでしたっけ?
そうだな、基本的にはその考え方でいい。
ドメイン名とIPアドレスの対応システムが、DNSだ。
基本的に…。
応用的には?
応用的な話はまた先でしよう。
ともかく、ブラウザやメーラなどで指定したサーバのIPアドレスを知るために、DNSは使われるわけだ。
[Figure27-03:他の組織のホスト名を調べる]
第27回で使った図だが、概略はこれでつかめると思う。
ドメイン名というものを保持する分散型データベースのシステムだ。
分散型データベース。
1つのサーバだけじゃなくって、多くのサーバがデータベースを相互に持ち合っているんですね。
そういうことだ。復習おわり。
では、もう少しDNSについて詳しく話していこう。
少しだけですか?
いや、それなりに。
それなりですか?
いや、結構深く。
深くですか?
いや、なんとなく。
なんとなくですか?
なんとなくだ。
なんとなくですね。了解しました。
■ ドメイン名前空間
意味不明で不毛な会話はさておいて。
まず説明しなければならないのは、ドメイン名前空間だ。
どめいんねーむすぺーす。
ドメイン名の空間?
いや、ドメインの名前空間、だな。
…う〜ん。…、ドメイン名の空間でも確かに間違ってないな。
そうなんですか?
じゃあ一体、ドメイン名前空間ってなんなんです?
ドメイン名前空間は、インターネットに接続された各ホストに関する情報を管理する木構造の空間だ。
「木構造」の「空間」?
そうだ。
根(root)から節(node)、葉(leaf)という木構造で、各部分木が管理されるエリア(ドメイン)だ。
根? 節? 葉?
それに部分木って?
む、データ構造の基本なのだが。
まぁいい。つまり図で示すとこう。
[Figure62-01:木構造の基本]
一番の根元が「根」、接続点が「節」、端が「葉」ですか。
それで、一部分だけ取り出した「木」が「部分木」。
そういうことだ。
順番に名前空間を説明していこう。まず葉にはインターネットに接続されたホストの名前が入る。
ホストの名前?
例えば、どんな感じです?
例えば、Webサーバなら「www」、FTPサーバなら「ftp」、メールサーバなら「mx」や「mail」が多いな。
つまり、こう。
[Figure62-02:Leaf(ホスト)]
はい。ホスト名が入りました。
で、次は?
次は、このホストを管理する組織名でまとめる。これで部分木、つまりドメインが出来上がる。
[Figure62-03:Node(ドメイン)]
例えば上では「3min」という名前を持つドメインなわけだ。
この「3min」ドメインには「www」「ftp」「mail」という3つのホストがある、と。
なるほど、3つのホストを保有するドメイン「3min」なわけですね。
うむ。で、次だが。
実は次は色々あるのだが、一番分かり易い例でいくと、同系列の組織をまとめるわけだ。
[Figure62-04:セカンドレベルドメイン]
複数の「co」つまり企業(company)のドメインをまとめてしまう。
先ほどでてきた「3min」ドメインや、他の「30min」ドメインや、その他の企業のドメインがすべてここでまとまるわけだ。
ははぁ。その他の「30min」ドメインや「today」ドメインもそれぞれの下にホストをもっているんですか?
もちろん。
そして、さらにそれを国単位でまとめる。
[Figure62-05:トップレベルドメイン]
「jp」は日本(japan)だ。
日本の中には、企業(co)だけでなく他にも組織が存在する。ネットワーク管理組織(ne)、政府機関(go)などだな。
日本という国の中に、企業やらネットワーク管理組織やら政府機関など、組織をまとめたものがあって、その中に各組織があって、それぞれがホストを持つ、と。
そうだ。
そして最後に、世界でまとめる。
[Figure62-06:Root]
世界には多くの国がある。上の図ではイギリス(uk)、ドイツ(de)などがあるな。
こうして出来た木構造がドメイン名前空間だ。
は〜。
一番上にある根からたどっていけば世界中のすべてのホストの名前を知ることができる。
う、う〜ん。例えば、一番最初に出てきた「www」サーバだと。
「日本(jp)」の「企業(co)」の「3min」の「www」っていう風に上から下がっていけばいいわけですか?
そういうことだ。
ははぁ。
そういえば、一番上の根には名前がついていませんけど?
うむ。ドメイン名前空間の根には名前がない。もし表記したい場合は「root」か「
ともかく、DNSで使われる名前はこのドメイン名前空間で管理されるわけだ。
世界中のホストの名前が入っている木構造ですね。
■ ドメイン名
HTTPのURI、メールのメールアドレスなどで使われるドメイン名とはドメイン名前空間を下から順に書いたものだ。
下から順に書いたもの?
そうだ。先ほどの「3min」ドメインの「www」というホストの名前は…。
- wwwというホスト.3minドメイン内.企業のドメイン(co).日本内のドメイン(jp) … www.3min.co.jp
という形で表記される。
各節の区分は「
ははぁ。ということは、例えばこの「Roads to Node」があるサーバは「www5e.biglobe.ne.jp」ですから。
「www5e」というホスト、「biglobe」ドメイン内、ネットワーク組織のドメイン、日本内のドメイン、という意味ですね。
そういうことだ。ドメイン名を後ろから読むと、意味が通じるだろう?
日本のドメインのネットワーク組織のドメインのbiglobeドメイン内www5eというホスト、だ。
なるほどなるほど。
そして、一番後ろはトップレベルドメインと呼ばれる。
「jp」の部分ですか? 国の部分ですよね?
うむ、多くの場合はそのホストが所属する国を表す部分だ。
例外もある。「.com」や「.net」などがそうだ。
あ〜、ありますね「.com」。
「どっとこむ」っていう国名じゃないですよね?
それはあまりにもナイスな国名だな。トップレベルドメインが3文字以上なものは、もともとはアメリカ合衆国内のドメインという意味だ。
初期のインターネットはアメリカ国内だけだったので、わざわざ国名がいらなかったからだな。
もともとは?
じゃあ、今は違うんですか?
うむ。「.com」「.net」「.org」は世界中どこの国でも使うことができるようになっている。
この3文字以上のトップレベルドメインをgTLDという。
へへぇ。じゃあ、国をしめすトップレベルドメインは?
そっちはccTLDという。 ▼ link
しーしーてぃーえるでぃー。
うむ。他にもTLDはあるが、基本的にはgTLDとccTLDを覚えておけばいい。 ▼ link
そしてTLDの前にあるのがセカンドレベルドメインだ。
トップの次はセカンドですか。
うむ。ここには基本的にはそのドメインの属性が入る。企業であるとか、ネットワーク管理組織であるとか、政府機関であるとか。
基本的には?
うむ、gTLDの場合はSLDはない。gTLD自体がドメインの属性を持つからな。
後は日本の場合は汎用JPドメインにSLDはないし、地域型JPドメインなら地域名が入る。
汎用JPドメイン? 地域型JPドメイン?
うむ、日本の場合はドメイン名の方式が3種類あるのだ。 ▼ link
- 属性JPドメイン … jpの前にドメインの属性が入る。(www.3min.co.jpなど)
- 地域型JPドメイン … jpの前にドメインの地域が入る。(www.3min.sinjuku.tokyo.jpなど)
- 汎用JPドメイン … SLDなし。(www.3min.jpなど)
なんか、ややこしいですね。
そうかもな。まぁ、文句はJPRSに言ってくれ。
ともかく、ドメイン名とはこのように決められている。
なるほど。
ドメイン名前空間を使って、特定のホストやドメインを指し示す時に使うものだ。
世界のホストやドメインが、木構造で表現されるってことですね。
[Figure62-07:ドメイン名前空間]
うむ。
あぁ、そうそういい忘れていた。特定のホストを表す正式なドメイン名を完全修飾ドメイン名という。
完全修飾ドメイン名? えふきゅーでぃーえぬ?
うむ。例えば、先ほどの「3min」ドメイン内にいる人ならば、「www」という名前のついたホストのことをわざわざ「www.3min.co.jp」といわなくても、「www」だけで通用するのだよ。
?
そうだな、電話番号で例をあげよう。「0123-45-6789」という電話番号がある。
これは同じ「0123」市内ならば「45-6789」で通じるだろう?
通じますね。
それと同じように、同じドメイン内ならばわざわざ後ろに「3min.co.jp」とつけなくても、「www」や「ftp」で判断できる場合があるのだよ。
あ〜、なんとなくわかります。
うむ。だが、例え同じドメイン内だろうがなんだろうが省略せずドメイン名をすべて書いた場合完全修飾ドメイン名という。
同じ市内でも「45-6789」じゃなくて、「0123-45-6789」って書いたら「完全修飾電話番号」になるってことですね。
「完全修飾電話番号」というのは変な感じだが、そういうことだ。
わかりました。
よしよし。
では、今回はここらへんで終わりにしよう。
はい。
まだまだDNSの話は続くぞ。
了解です。
3分間ネットワーキングでした〜♪
- DNS
-
[Domain Name System]
RFC1034、1035で規定。
- ドメイン名前空間
-
[Domain Name Space]
単に「名前空間」、「ネームスペース」とも言う。
- トップレベルドメイン
- [Top Level Domain]
- gTLD
- [Generic TLD]
- ccTLD
-
[Contry Code TLD]
ISO3166で定義された2文字国名を使用する。
ただし例外としてイギリスは「uk」を使っていることが多い。(ISO3166では「gb」)。
参考リンクでISO3166を「買う」ことができます。
- セカンドレベルドメイン
-
[Second Level Domain]
「SLD」と略す。
- 完全修飾ドメイン名
-
[Fully Qualified Domain Name]
「FQDN」と略す。
- ネット君の今日のポイント
-
- 覚えやすい英数字の名前とIPアドレスを一致させるのがDNS。
- DNSで使われるドメイン名はドメイン名前空間で管理されている。
- ドメイン名とはドメイン名前空間を下から順に書いたもの。
- ドメイン名の一番後ろをTLDという。
- 日本では3種類のドメイン名の方式がある。
- ドメイン名を省略せずにすべて書いた場合、完全修飾ドメイン名と呼ぶ。