DNSの仕組み

共通科目情報処理(講義)、体育専門学群対象、2001年12月14日

                                       電子・情報工学系
                                       新城 靖
                                       <yas@is.tsukuba.ac.jp>

このページは、次の URL にあります。
http://www.hlla.is.tsukuba.ac.jp/~yas/ipe/taiiku-kougi-2001/2001-12-14
あるいは、次のページから手繰っていくこともできます。
http://www.hlla.is.tsukuba.ac.jp/~yas/ipe/
http://www.hlla.is.tsukuba.ac.jp/~yas/index-j.html
http://www.ipe.tsukuba.ac.jp/~yshinjo/

■復習

TCP/IPの基本的な考え方

■質問と答え

電子メールで受け付けた質問と答えをまとめます。講義の時間中の質問も歓迎 します。

Q1-1: IPアドレスを調べて何の役に立つのですか?

A1-1: 仕組みが理解できれば、トラブルが発生した時に自分で原因を追求して 解決することができる。たとえば、ホスト名(今日の話)でつながらなくても、 IPアドレスを指定すればつながれば、DNS(今日の話)の設定や接続が怪しいと わかる。

Q1-2: Unixって、OSのひとつですか?

A1-2: はい。実習室のパソコン(ハードウェア)には、OSとして Windows 2000 と Linux が入っています。Linux は、Unix の1つの種類です。サーバ icho で動いている OS は、Solaris という Unix の一種です。

Q1-3: ルータは、どうやって host2 の場所を見つけるですか? ルーティング・テーブルデータベースがあるということでしたが、そのデータ ベースはどうやって作成するのですか?

Q1-3: 各ルータは、ルーティング・テーブル(経路制御表)という名前のデー タベースを持っています。ルータは、IP のデータグラムを受け取った時に、 このルーティング・テーブルを見て、次にどのルータに送ればよいかを判断で きるようになっています。この表は、1台1台の送り先ではなくて、もっと大 きな単位で持っています。たとえば、筑波大学なら、IP アドレスは 130.158.0.0-130.158.255.255 の範囲(約6万台)に入っているので、この単 位でどこに送ればよいかが書かれています。

ルーティング・テーブルの内容は、ルータ間で互いに「私は、この範囲の行き 先を知っている」という情報を交換しながら、作り上げていきます(ダイナミッ ク・ルーティング(動的経路制御))。ルータの管理者が直接書込むこともあり ますスタティック・ルーティング(動的経路制御)。

端末(Windowsのコマンドプロンプトか、Unix の kterm などの端末)で次のように打つと、ルーティング・テーブルが 表示されます。


netstat -rn

教科書122ページ。

Q1-4: 実習で使っているパソコンは、100 M bps (100,000,000 bps)の速度が あるということですが、フレッツBと同じ光ファイバが使われているのですか?

A1-4: 末端は、光ではなくて銅線です。100Base-TX という規格です(教科書38 ページ、56ページ)。 その先に、「スイッチ」という機器(IP アドレスは見ないが、別の方法でネッ トワークを接続する機器。ブリッジ(教科書49ページ)の一種)があり、その先 は、光ファイバになっています。速度は、1G bps。その先は、16G bps です。 大学から外に出ていく所は、100M bpsに落ちるので、現在そこが非常に混雑し ています。来年以降、10G bps に増強する計画があります。

■今日の重要な話

教科書は、160-171ページ。

■情報量の感覚

情報量は、日常的な単位で時間以外のものと対応させるとわかりやすい (かもしれない)。長さ、重さ、面積、体積など。

情報量の単位。

ビット(bit,b)
コンピュータで扱う情報の最小単位。
バイト(byte,B)
(アメリカなら)1文字を扱える程度の情報量。 1バイトは、8ビットに等しい。
情報量には次のような係数がことがある。
k (キロ、ケイ)
1024 か 1000
M (メガ)
k の 1024 倍か 1000 倍。1,000,000 くらい。
G (ギガ)
M の 1024 倍か 1000 倍。1,000,000,000 くらい。
T (テラ)
G の 1024 倍か 1000 倍。1,000,000,000,000 くらい。
情報量の感覚
1 ビット
白と黒の区別
1 バイト (8ビット)
ヨーロッパ系文字 1 文字。256色。
2 バイト (16ビット)
日本語の漢字 1 文字。60000色。
3 バイト (24ビット)
1677万色(2の24乗)。コンピュータのモニタの画素の色数。
4 バイト (32 ビット)
現在広く使われているコンピュータが 一度に計算できる情報量。整数なら40臆程度まで。
256 ビット (32バイト)
16ドット×16ドットの白黒の画像(ビットマップ)で 漢字 1 文字を表現した時の情報量。
数 k バイト
典型的な電子メール1通の大きさ。数千文字。
8k バイト (8000 バイト、64 k ビット, 64,000 ビット)
1秒間に電話の品質で音声を記録した時の情報量。
1 M バイト (1,000,000 バイト, 8,000,000 ビット)
フロッピディスク1枚に保存できる情報量。
230M バイト
光磁気ディスク(MO)1枚に保存できる情報量。 (230M バイト以外にも、128MB/640MB/1.2GBのMOもある)
64M バイト〜512M バイト
一度にメインメモリに入る量(構成によって違う)
640M バイト (640,000,000 バイト)
CD 1 枚に保存できる情報量。
4.7G バイト (5,000,000,000 バイト)
DVD 1 枚(片面2層)に保存できる情報量。
20 G バイト〜100G バイト
ハードディスクの容量(構成によって違う)

■通信速度の感覚

通信速度の単位。

毎秒何ビット、bps、bit per second、bit/second
1秒間に何ビット送れるか
Bytpe/second、毎秒何バイト
1秒間に何バイトビット送れるか。 1 Byte/sec == 8 bps。
ややこしいことに、データ量はバイトで言うことが多く、通信速度は、ビット /秒が使われることが多い。

情報量の単位と同様に、通信速度にも次のような係数がことがある。

k (キロ、ケイ)
1024 か 1000
M (メガ)
k の 1024 倍か 1000 倍。1,000,000 くらい。
G (ギガ)
M の 1024 倍か 1000 倍。1,000,000,000 くらい。
T (テラ)
G の 1024 倍か 1000 倍。1,000,000,000,000 くらい。
通信速度の感覚
10 k bps
よく普及している携帯電話で得られる速度
32 k bps - 56 k bps
電話回線経由で接続した時に得られる速度。
32 k bps または 64 k bps
PHS (Personal Handy Phone) で得られる速度
64 k bps
ISDN (電話回線と同じ電線で直接ディジタル信号を流す時)
100 k bps
MP3 などで圧縮した音楽を流す時に必要な速度。
128 k bps
ISDN で2回線同時に使った時。
1500 k bps (1.5 M bps)
ISDN (光ファイバでディジタル信号を流す時)
1500 k bps (1.5 M bps)
音楽用 CD を圧縮しないでまま流す時に必要な速度。 (1倍速のCDの速度。)
1500 k bps (1.5 M bps)
ケーブルテレビや ADSL という方式でインターネット接続を した時に得られる速度。
5000 k bps (5 M bps)
DVD-Video を再生している時にディスクから読み出されている データの速度。
10 M bps, 100 M bps, 1000 M bps (1 G bit / second)
イーサネット(LANでよく使われている)

実習室のパソコンは、100M bps で学内LANに接続されている。

学内LANの基幹部分は、1G bps - 16G bps に引き上げられる。

学内LANからSINETへの出口は、100M bps。

■DNS(Domain Name System)

TCP/IPで通信する時には、通信相手のIPアドレス(32ビットの整数、番号)が 必要になる。IPアドレスは、コンピュータにとって扱いやすいが、人間にとっ て分かりにくい。

人間にとってわかりやすい記号(文字列)を使ったコンピュータの名前から IPアドレスに変換するサービスがあれば便利である。このサービスを、 名前サービス(name service)、 という。 名前サービスを提供するプログラム(プロセス)を、名前サーバという。

名前から名前を指している番号に変換することを 名前解決(name resolution) という。

インターネットで使われている名前サービスは、 DNS(Domain Name System) と呼ばれる。 DNS では、膨大な数のホスト名を含む名前空間を階層的にドメイン(領域)に 分割して管理ている。 この空間の構造は、木構造と呼ばれる。

◆木構造

木構造(tree structure)というのは、コンピュータ・サイエン ス(計算機科学)でよく使われる用語である。分野によっては、同じものを 階層構造(hierarchical structure)という言葉で表現すること が好まれる。ドイツ語語源の、ヒエラルヒー(Hierarchie)という言葉が使われ ることもある。

木構造の例を、大学の組織を使って説明する(図1)。

木構造という名前は、本物の木が、一度枝分かれした後は決して交わらないこ とに似ていることによる。ある節から別の節までの道が2通り以上あるは、グ ラフ構造と呼ばれる。

図1 大学組織に見られる木構造

図1 大学組織に見られる木構造

図1では、筑波大学と書いてある所が木の根にあたる。根からは、何本かの 学群の枝が出ている。このように、コンピュータ・サイエンスでは、木の根を 上に書く習慣がある。第二学群の節には、日本語日本文化学類、生物学類など の子の節がある。第二学群の親は、筑波大学である。

たとえば「情報学類」、「健康・スポーツ教育主専攻」の場合、次のように記述する。

筑波大学第三学群情報学類
筑波大学体育専門学群健康・スポーツ教育主専攻

コンピュータの中で、文字列(文字の並び)で木構造上の位置を表現する時に は、節が分かりやすくために、はっきりと区切りを入れて表現することがよく 行われる。

筑波大学.第三学群.情報学類
筑波大学/第三学群/情報学類
情報学類.第三学群.筑波大学

区切り文字としては、「.」(点)や「/」(スラッシュ)がよく使われる。 並べる時に、木の根に近いほうから書く流儀と遠い方から書く流儀がある。

住所の表記も、木構造である。

日本国.茨城県.つくば市.天王台

図1に示されている木構造は、また図2のように、「領域(domain)」を分割 するような見方もできる。木構造の場合には、領域の境界線が交わることがな い。

図2 大学組織に見られる木構造(領域的な見方)

図2 大学組織に見られる木構造(領域的な見方)

Windows の画面や、Macintosh の Finder の表示は、この領域の分割に似て いる。

◆字下げによる木の表現

木構造を字下げで表すことがある。

筑波大学

◆木の例

コンピュータでは、次のような場所で木構造が使われている。

コンピュータ以外では、次のような場所で木構造が使われている。

◆DNSの木構造

DNS(Domain Name System)のドメインとは、 膨大な数のコンピュータの名前を含む名前空間を階層的にドメイン (領域)に分割していることを意味する。

図3 名前空間のドメインへの分割

図3 名前空間のドメインへの分割

この空間の構造は、木構造としても見ることができる。

図4 名前空間の木構造としての見方

図4 名前空間の木構造としての見方

たとえば、次のような名前を考える。
host1.is.u-ust.ac.jp
このように、インターネットでのコンピュータの名前は、「.」 で区切られた文字列(文字の並び)である。この文字列で使える文字は、アル ファベット(大文字も小文字も同じだが普通は小文字だけが使われる)と数字、 ハイフン(マイナス)である。

host1.is.u-ust.ac.jp」を 図4で考えると、次のようになる。

host1.is.u-ust.ac.jp」を 図3で考えると、次のようになる。

根の直下は、ISO (国際標準化機構, International Standardization Organization ) が定めた2文字による国別コード(country code)が使われて いる。ただし、歴史的な理由により、アメリカを中心として .com, .edu, . gov, .net, .org, .mil などが現在でも使われている。日本の国別コードは、 jp である。jp の下には、次のようなドメインがある。

ac
学校関係(主に大学)、学術研究機関
ad
ネットワーク管理、JPNICの会員
co
会社
ed
児童、生徒などの教育・育成を行う組織。
go
政府機関、国立の施設
gr
任意団体
ne
インターネット接続サービス・プロバイダ
or
法律に基づく団体
都道府県の名前
地方自治体、個人。

注意:acやadなどの属性を持たないドメイン名も許されるようになった。 .jp と .com の競争のため。

汎用 JP ドメイン名 http://www.nic.ad.jp/dotjp/

UST2_SSS(dns-reverse,逆引き) DNSでは、主に名前をIPアドレスへ変換するサービスが使われる。 逆にIPアドレスから名前を引くことを逆引きという。

普通の引き方を強調する時には正引きということもある。

逆引きには、in-addr.arpa という特殊なドメイン名を引くこと。

例:


12.34.56.78	(数字は、全て 10 進数)

78.56.34.12.in-addr.arpa
in-addr.arpa ドメインの下に、IP アドレスを8ビットずつ区切り 4 桁の 10 進数で表した時の数を上位から下位の順に並べる。

◆DNSができるまで

初期のインターネットは、コンピュータの名前(ホスト名)は、 フラットな名前空間が使われていた。

問題

1986年、3100の公式名と6500の別名。

1990年、6400の公式名。DNS に以降。この時点で、137,000。

しかし、.com は、2001年11月ごろ 2200万。全体 3600万の60%をしめる。 (http://www.domainstats.com/)

.jp は、43万個登録され、そのうち23万が利用されている。

JINIC/JP ドメイン名に関する統計 http://www.nic.ad.jp/jp/stat/dom/explanation.html

◆新しいドメイン

2000年11月16日に新しく7つのトップ・レベル・ドメインが作られた。 ICANN New TLD Program http://www.icann.org/tlds/

◆オルタネート・ルート問題

インターネットのドメイン名の根は、1つしかない。 13個のサーバにコピーが世界各地にある。

もし、別の根の情報を持つサーバがあれば、どうなるのか。

オルタネート・ルート(alternate roots)。

■実習

◆DNS 名前サーバとの対話

Unix (Linux) または、Windows 2000 のコマンドプロンプトから nslookup プログラムを実行する。

nslookup

記号 > が出ている時には、nslookup プログラム特有の命令が使 える。

次のドメイン名を打ち、IPアドレスに変換しなさい。

次の IP アドレスを打ち、ドメイン名に変換しなさい。

◆Linux で VMware を実行する

VMware は、パソコンの中にパソコンを作り出すプログラム。

仮想計算機(Virtual Machine):ハードウェアには存在しないが、実際の計算機 (コンピュータ)と同じように機械語命令セット、メモリ、入出力など機能をソ フトウェア的に実現したもの。

VMware 用語

エラーが出るが、気にしなくてもよい。

一度 VMware の画面に入り込むとマウスが取られて抜けられなくなる。 抜けるには、

VMware を終了するには、今日の所は、いきなりPower Off してよい。

◆ゲスト(vm10)にログイン

VMware の画面で、login: に対してUnix の システム管理者(root)としてログ インする。
vm10 login: root
Password: (WWWには示していない)

◆接続を確認する

ホスト側(ran)で端末を開き、次のように打つ。
ping 192.168.153.10
ping 192.168.153.1
ping 192.168.153.20
ゲスト側(vm10)にログインして、次のように打つ。
ping 192.168.153.10
ping 192.168.153.1
ping 192.168.153.20
ping コマンドは、止まらないので、^C で強制終了する。 強制終了は ^C (コントロールキーを押しながら C キーを押す)。

注意:IPアドレスを変更するまで、192.168.153.20 は使えないはず。

◆IPアドレスの変更

ゲスト(vm10)の IP アドレスを変更する。
ifconfig eth0 192.168.153.20 up
確認する。
ifconfig eth0
(または ifconfig -a)
ping コマンドで確認する。
ping 192.168.153.20
ping 192.168.153.10
ping 192.168.153.1

↑[もどる] ・[12月07日] →[12月14日]
Last updated: 2002/03/06 23:21:45
Yasushi Shinjo / <yas@is.tsukuba.ac.jp>