IPアドレスとホスト名 〜 DNS について 〜
総合情報システム運用センター 佐伯田鶴
saeki@tains.tohoku.ac.jp
総合情報システム運用センター 曽根秀昭
sone@tains.tohoku.ac.jp
1 はじめに
現在世界中で広く使われている IP ネットワークの世界では,ネッ
トワークに接続されているコンピュータを世界的に識別するために,
1台1台のコンピュータに一つずつ「IPアドレス」という番号がつけられてい
ます (*1)。
IP アドレスは32ビットの数字で構成され,通常は1バイトずつ十進数で,ピリ
オドで区切って表記します。例えば,130.34.1.1等です。
IPネットワークの世界では,この IPアドレスを基に通信が行なわ
れます。ところが,私たち人間にとってみると,このような数字
の羅列であるIPアドレスは覚えにくく,操作がしにくいものです。
また,マシンの所属や設置場所も分かりません。例えば,全てのメー
ルアドレスが foo@130.34.xxx.yyyだったり,wwwのURLが
http://130.34.xxx.yyy/index.htmlだったりしたら不便なことで
しょう。
そこで,IPアドレスと別に,コンピュータ等に英数字の名前(ホスト
名)をつけて使っています。
ネットワーク上の所属(組識や国)を表す名前(ドメイン名)と結合させた
ホスト名は,abc.yyy.xxx.tohoku.ac.jpのような形式になり,
この名前を使って,世界で一つのコンピュータを指し示すことができます
(図 1)。

図 1: IPアドレスと名前
IPアドレスとホスト名の関係は,たとえて言うと,大勢が集まった会合で
参加者を指すときに,氏名と会員番号を使い分けるようなものです。
会話では氏名で呼びますが,
受付窓口では会員番号を使って整理していることでしょう。
受付では,氏名と会員番号のどちらからでも調べられるように,
アルファベット順と会員番号順の,二通りの名簿を用意しているはずです。
こうすれば,会員番号を覚えていない参加者が受付に現れても,大丈夫です。
IPネットワークの世界でも同様に,ホスト名と
IPアドレスと対応させる方法が取られています。
ネットワーク上ではこの対応表をデータベースとしてネットワーク
全体で使用するようにしており,このようなシステムを
DNS(Domain Name System) といいます。
ここでは,このコンピュータネットワーク(TCP/IPネットワーク)上
での 名前管理のためのシステム DNS について,紹介します。
(*1)
IP以外の通信方式では別のアドレス体系があります
2 ドメイン名とホスト名
まずネットワークやコンピュータにつけられる「名前」について簡
単に説明します。
DNSでは,ネットワークを利用する組織毎にドメイン名と呼ばれる
名前がつけられます。
ドメインは階層を成しており,国,組織の属性,組織の名称,...
等組織に応じて枝分かれした木構造をしています(図 2)。
ある組織のドメイン名は,木構造の上位が右側に来るように,各階
層をピリオド「.」で区切って表記します。
例えば,日本(jp)の学術組織(ac)である東北大学(tohoku)の ドメ
イン名は,tohoku.ac.jp で表わされます。

図 2: ドメインの階層構造
所属先を表わすドメイン名はそれぞれの組識やネットワークごとに決めら
れています。
コンピュータのそのものの名前であるホスト名の部分は自分の好きなよう
に付けられます。
一般的には,単体でのホスト名と,DNSで管理されるネットワーク上の
ホスト名(*2)は同じにします(*3)。
DNS のホスト名により,そのコンピュータはDNSによって管理され
るネットワーク上で唯一の名前を持つことになります。
ホスト名の指定は,UNIXマシンでは,hostname コマンドで,
Windowsマシンでは,コントロールパネル→ネットワーク→TCP/IP
のプロパティ→DNS設定 で行います。Macの場合は,DNS上のホスト
名の設定はできません(AppleTalk上での名前の設定はできます)。
この場合でも,適当な名前を付けて DNS に登録することができます。
(*2)
DNSでのFQDN形式のホスト名の第1要素
(*3)
ネットワークでの名前と単体でのホスト名を別々に設定することも
可能ですが,メールサーバなどの場合はきちんとメールを受け取る
ためにはそれなりに設定が必要となります。
また,例えば,XYZ 大学の abc.xyz.ac.jp に www.xyz.ac.jp という
「別名」を持たせる設定も,可能です。
3 ネームサーバとデータベース
ドメイン名の管理はドメイン毎に「ネームサーバ」と呼ばれるサー
バが行なっています(*4)。
ネームサーバは,そのドメインのホスト名とIPアドレスの対応表
(データベース)や,他のネームサーバの存在場所の情報を持ってい
ます。
SuperTAINSの場合は,大抵各ドメインに1-2個のネームサーバが
あるようです。
ネットワーク上でIPアドレスと名前を対応させる時には,ホスト名
からIPアドレスを探す場合と,IPアドレスからホスト名を探
す場合があります。前者を「正引き」,後者を「逆引き」と呼ん
でいます。
DNSでは,正引きと逆引きのそれぞれについてデータベースを作り,
ネームサーバで管理しています(図 3)。
このデータベースには,ネットワークインターフェースを持ってい
れば,当然ながら,UNIXであろうと,ハブであろ
うと,カメラであろうと(コーヒーポットであろうと),名前とIP
アドレスの対応を登録することができます。

図 3: 正引きと逆引き
DNS は分散型のデータベースですので,自分のいるドメインのホストだけ
を管理すればよく,例えば,東北大学では,tohoku.ac.jp以下の
ドメインを管理しています。
自分の管理するホスト以外についての問い合わせ
は,他のネームサーバへ回すようになっており,それぞれのドメイ
ンのデータはネットワーク全体で利用されます。
したがって,
ホスト名とIPアドレスの対応が知りたいコンピュータは,身近のネー
ムサーバに問い合わせをします(図 4)。

図 4: ネームサーバへの問い合わせ
正引きについては,tohoku.ac.jp という名前は ac.jp
のデータベースに登録され,この名前のドメインに関する
情報をどこのネームサーバに問い合わせるのかが
登録されています。以下,xxx.tohoku.ac.jp というドメインの
存在と,そのドメインのデータベース(ネームサーバ)がどこなのかという情報は
tohoku.ac.jp のネームサーバに登録されていて,
同様に,左側に一つのドメインが付け加わった yyy.xxx.tohoku.ac.jp
の情報は,xxx.tohoku.ac.jp に登録します。
逆引きについては,同様に取り扱えれば簡単なのですが,あいにく
IPアドレスは右に行くほど細かい単位になるので,IPアドレスを逆転
させて扱います。また,便宜的に,IPアドレスの逆引きのスタートの
ために in-addr.arpa という名前を使うことになっています。
これにより,130.34 のデータは 130.in-addr.arpaのネームサーバ
に登録され,130.34.XXX のデータは 34.130.in-addr.arpaのネー
ムサーバに,130.34.XXX.ZZZ のデータならば
XXX.34.130.in-addr.arpaのネームサーバに登録されます
(*5)。
正引きと逆引きは,上で書いたように,管理の単位の理由が
違いますから,管理者が別々になる可能性があります。
例えば,ひとつのネットワークに複数のドメインが共存するときや,
よそのネットワークに出先を置かせてもらうときなどには,両方の
管理者で連絡を取って両側の設定をすることになります。
(*4)
管理上,ドメインをゾーンと呼ぶことがあります。
(*5)
1バイト区切りでないところで区切るサブネットについて,
サブネットごとに逆引きデータベースへ登録する場合は,少
し複雑になります。
例えば,130.34.XXX.0〜63(130.34.XXX.0/26)と
130.34.XXX.64〜127
(130.34.XXX.64/26)のサブネットで管理が違うために
別々にネームサーバを用意したいときがあります。その場合には,管理の単位を
逆引きのゾーンに反映させて,それぞれが 0/26.XXX.34.130.in-addr.arpa,
64/26.XXX.34.130.in-addr.arpa というゾーンを設定して管理し,これらを
XXX.34.130.in-addr.arpa に登録します。
説明は 「サブネットのホストをDNSへ登録する方法」曽根秀昭,
SuperTAINS ニュース 10号 (1997.1.31),
http://www.tains.tohoku.ac.jp/news/st-news-10/5456.html
をご覧下さい。ただし,当時,サブネットの範囲を,TAINSでは 0-63
の形式で書き表すように説明しましたが,その後 RFC2317 で,
0/26 の形式で書くように推奨設定が定まりました。
4 自分のコンピュータをネームサーバに登録する必要はあるか?
大勢の人が使用するコンピュータならともかく,自分しか使わない
コンピュータをネームサーバに登録する必要があるでしょうか?
答を簡潔に言いますと,正引きも逆引きもなるべく登録した方が良
い,ということになります。
インターネットの世界で,身元を明らかにする必要があるときには,
ドメイン名もついた名前を名乗れば,所属(ドメイン名)もわかります。
それは,自ら名乗らなくても,IP
アドレスから名前を検索すれば,
わかることです。実際に,ほとんどのサーバでは,接続を受けたときに
相手方のIPアドレスをキーとして検索し,名前を得ようとします。
この時に使うのが,逆引きデータベースです。
ところが,逆引きデータベースへ不正なデータを登録される可能性が
あります(*6)。
その対策として,「裏をとる」ことをします。具体的には,逆引きして
得られた名前について,正引きをします。正引きの結果がもとの
IPアドレスに一致すれば,確かにそのドメインで認められた対応付けで
あると判断されますが,一致しなかったときには疑惑があるので
接続を断るという判断をすることができます。
最近ではセキュリティ向上のために,裏を取れない場合,接続
を許可しないサーバが増えてきています。
IPアドレスの正引きすらできない時は,ドメイン名を判定で
きないので接続を受けないというものや,IPアドレスから組識の内
外を判別して受け付けるものなどがあります。
近頃は,ネームサーバに登録されていないコンピュータからの接続を
拒否するところもありますから,登録しないままにコンピュータ
を使っていると,送ったつもりの電子メールが
受け取ってもらえないというような出来事も起きています。
web やメール等のサーバに接続を拒否された場合には,DNSに登
録されていない,または,正引きと逆引きが一致していない,等の
可能性も考えてみて下さい。
(*6)
たとえば,A国諜報機関のPCが使うIPアドレスについて,
それの逆引きデータとしてB国秘密研究所のドメイン名を登録するのは,
そのIPアドレスを使っているA国の権限で可能です。これでは,
B国秘密研究所で侵入者を見分けられなくなります。
5 おわりに
DNSのおかげで,我々は覚えにくい IP アドレスを常時使用しなく
ても済んでいますし,ドメイン名からその所属を推測できます。
前節で述べたように,最近ではどこでもセキュリティの問題に厳しく
なってきており,きちんと正引き・逆引きの登録をして,ネットワー
クを利用することが望ましくなってきているようです。
www-admin@tohoku.ac.jp
pub-com@tohoku.ac.jp