Linux8Weeks01-04 インターネットの名前解決の仕組み

今あなたがサーバーにログインすることができるのは、サーバーにIPアドレスが割り振られ、あなたのPCもインターネットに繋がっているからです。

例えばYahoo!を表示させるとき、ブラウザにYahoo!のIPアドレスを入力して表示させることはありますか?

Yahoo!に限らず、ブラウザのアドレスバーにIPアドレスを入力してWebサイトを閲覧する人は、まずいません。

その理由の一つに、IPアドレスは覚えにくいということもあり、IPアドレスにはFQDN(ホスト名 + ドメイン名)が紐付けされています

ほとんどの人は上の図のように、検索キーワードやFQDNを入力してWebを閲覧していると思います。

弟子1
FQDNって何のことですか?
塾長
その前にドメインは分かりますか?
弟子1
ん…なんとなく分かります。
塾長
FQDNやドメインについてはこの図を見ると理解しやすいと思います。

 

FQDNとはFully Qualified Domain Nameの略で、完全修飾ドメインと言われるものです。

図の最後のドットがルートサーバーを意味し、jpがTLD(トップレベルドメイン)、coがSLD(セカンドレベルドメイン)、superusersが3LD(サードレベルドメイン)のように、ドット(.)で区切られた形で表記されます。

wwwは、superusers.co.jpに属するホストの名前ということになります。

今回の講座では、インターネットの名前解決がどのように行われているのか、動画と合わせて少し掘り下げて説明します。

 

動画講座 Linux8Weeks01-04 名前解決やFQDNについて

 

FQDNからIPアドレスを求める正引き

FQDNからIPアドレスを求めることを正引きと言います。

例えば、インターネットに繋がっている、PCのブラウザのアドレスバーに、www.yahoo.co.jpと入力すれば、Yahoo! Japanのページが当たり前のように表示されますよね。

でも、表に現れないところで、www.yahoo.co.jpを表示するようにブラウザから指令を受けたOSは、www.yahoo.co.jpのIPアドレスを調べ、つまり正引きをして、Yahoo! JapanのWebサイトにアクセスしブラウザに結果を表示してくれます。

 

digコマンドで正引き

表に現れないところで行われている正引きですが、digコマンドを使ってFQDNからIPアドレスを調べることができます。

書式は以下のように、dig FQDNをすることによって、IPアドレスを求めることができます。

dig www.superusers.jp

このコマンドを入力して、ANSWER SECTIONの部分に表示されたIPアドレスが、www.superusers.jpのIPアドレスになります。

 

digコマンドで逆引き

IPアドレスからFQDNを求めることを逆引きと言います。

同じくdigコマンドを使いますが、逆引きの場合は、-xというオプションを付加して使います。

dig -x 133.130.89.76

ANSWER SECTIONには、このように表示されると思います。

;; ANSWER SECTION:
76.89.130.133.in-addr.arpa. 3469 IN PTR www.superusers.jp.

 

digコマンドで名前解決をトレース

通常、名前解決をトレースすることはあまりありませんが、知っておくことで、名前解決の仕組みの理解度が深まりますし、名前解決で問題が発生した場合に問題の箇所を明確にすることもできます。

動画では名前解決の工程をトレースする方法を説明しました。

トレースする方法は、このようなコマンドでしたね。

dig +trace +multiline @8.8.8.8 www.superusers.jp

@8.8.8.8は、名前解決にGoogle Public DNSサーバーに問い合わせをするという意味になります。

もし指定しなければ、/etc/resolv.confに書かれているnameserverに問い合わせをします。

 

トレースの結果


表示された結果の中に「;; Received」の行がいくつかあると思います。

29行目は、

;; Received 525 bytes from 8.8.8.8#53(8.8.8.8) in 52 ms

のように、Google Public DNSサーバーからroot DNSサーバーに問い合わせ、

54行目は、

;; Received 873 bytes from 199.7.83.42#53(l.root-servers.net) in 138 ms

l.root-servers.net DNSサーバーからJPドメインのサーバーへと、順を追って名前解決の問い合わせをしています。

 

名前解決のイメージ図

名前解決は、ドメインの上位に当たるルートDNSサーバーから順に問い合わせをして、最終的にFQDNに紐付いたIPアドレスを得ます。

 

塾長
次の講座ではLinuxの標準エディターでファイルを編集する方法を学びます。

 

関連記事

  1. Linux8Weeks03-02 Apacheソース版の起動

  2. Linux8Weeks02-05 コンパイルするための準備

  3. Linux8Weeks03-05 ApacheバーチャルホストのSSL…

  4. Linux8Weeks01-01 Linuxサーバーにリモートログイン…

  5. Linux8Weeks01-05 標準エディタでファイル編集

  6. Linux8Weeks01-02 Linuxのディレクトリを学ぶ