第12回:ネットワークの電話帳【ホスト名・DNS・名前解決・再帰問い合わせ・DNSリゾルバ・リソースレコード・ルート・キャッシュ・DHCP・DHCPクライアント】

<<第11回:確実にアプリケーションのデータを転送する【TCP・3ウェイハンドシェイク・ACK・フロー制御・シーケンス番号・ACK番号・MSS(Maximum Segment Size)・UDP・IP電話】

この記事のポイント

  • TCP/IPで通信するときには必ずIPアドレスを指定しなければいけない
  • IPアドレスではわかりづらいのでホスト名を利用して通信相手を指定する
  • ホスト名からIPアドレスを求めることを名前解決と呼び、DNSを利用することがほとんど

ネットワークの電話帳

名前解決、ホスト名、DNS

必ずIPアドレスを指定する

ネットワークの共通言語となっているTCP/IPで通信をするときには、通信相手のIPアドレスを必ず指定しなければいけません。

通信にはIPアドレスが必要

通信にはIPアドレスが必要

名前解決

IPアドレスが必要とはいっても、アプリケーションを利用するユーザにはわかりにくいものです。そのため、アプリケーションが動作するサーバはクライアントPCなどのホストにわかりやすい名前のホスト名をつけます。

アプリケーションを利用するユーザが意識するのは、WebサイトのアドレスであるURLやメールアドレスなどです。URLやメールアドレスには、ホスト名そのものやホスト名を求めるための情報が含まれています。

ユーザがURLなどのアプリケーションのアドレスを指定すると、ホスト名に対応するIPアドレスを自動的に求めるのがDNSの役割です。このようなホスト名からIPアドレスを求めることを名前解決と呼びます。DNSは最もよく利用されている名前解決の方法です。

ネットワークの電話帳

DNSは普段、私たちが利用している携帯電話の電話帳のようなイメ-ジです。電話をかけるには電話番号が必要です。しかし、電話番号をいくつも覚えておくことは難しいです。そこで、あらかじめ電話帳に名前と電話番号を登録しておきます。電話をかけるときには、相手の名前を指定すれば、自動的に電話番号がダイアルされます。

TCP/IPの通信も同じようなことをしています。TCP/IPの通信に必要なIPアドレスは、TCP/IP ネットワークの電話帳であるDNSに問い合わせて調べています。

DNSと電話帳

DNSと電話帳

DNSでIPアドレスを自動的に求める


次の項目のポイント

  • DNSサーバにホスト名とIPアドレスの対応などのリソースレコードを登録しておく
  • DNSサーバに問い合わせをする機能をDNSリゾルバと呼ぶ
  • DNS サーバへのIPアドレスの問い合わせは、ルートからたどって問い合わせを繰り返す

リソースレコード、DNSリゾルバ、再帰問い合わせ

DNSサーバとは

DNSを利用するには、DNS サーバが必要です。DNS サーバにあらかじめホスト名とIPアドレスの対応を登録しておきます。DNSサーバにはホスト名とIPアドレスの対応だけではなく、他にもいろんな情報を登録します。DNSサーバで登録する情報をリソースレコードと呼びます。リソースレコードの主な種類は下の表にまとめています。

主なリソースレコード
タイプ 意味
A ホスト名に対応するIPアドレス
AAAA ホスト名に対応するIPv6アドレス
CNAME ホスト名に対応する別名
MX ドメイン名に対応するメールサーバ
NS ドメイン名を管理するDNSサーバ
PTR IPアドレスに対応するホスト名

※IPの新しいバージョンがIPv6。IPv6では128ビットのアドレスを利用する

DNSの名前解決

DNSの名前解決の仕組みについて見ていきましょう。まず、DNSサーバに必要な情報(リソースレコード)を正しく登録していることが大前提です。DNSサーバはルートを頂点とした階層構造をとっています。

そして、アプリケーションを動作するホストにはDNSサーバのIPアドレスを設定しておきます。アプリケーションを利用するユーザがホスト名を指定すると、自動的にDNSサーバに対応するIPアドレスを問い合わせます。DNS サーバへの問い合わせ機能はWindowsなどのOSに組み込まれていて、DNSリゾルバと呼びます。

問い合わせするホスト名の情報を、必ずしも近くのDNSサーバが持っているとは限りません。自身が管理するドメイン以外のホスト名の問い合わは、ルートからたどって、何度か問い合わせを繰り返します。下の図は、あるIPアドレスの問い合わせの例です。

DNSによる名前解決の例

DNSによる名前解決の例

このようなDNSの名前解決の問い合わせを繰り返すことを再帰問い合わせと呼んでいます。なお、毎回、毎回、ルートからたどって再帰問い合わせすると効率がよくありません。そこで、DNS サーバやリゾルパは間い合わせた情報をしばらくの間、キャッシュに保存します。どのぐらいの時間、キャッシュに保存するかは設定次第ですが、過去の問い合わせ結果のキャッシュが残っていれば、ルートからたどらずに名前解決ができます。

必要な設定を自動化する


次の項目のポイント

  • TCP/IP の設定項目は次の通り
  • IPアドレス/サブネットマスク
  • デフォルトゲートウェイのIPアドレス
  • DNSサーバのIPアドレス
  • DHCPによってTCP/IPの設定を自動的に行う

DHCPとは

通信するためには設定が必要

TCP/IPを利用して通信するためには、PC/スマートフォン、サーバ、各種ネットワーク機器にTCP/IPの設定が正しく行われていなければいけません。

設定を自動化するDHCP

IT技術に慣れているユーザであっても設定ミスをしてしまうことはよくあります。設定ミスなどをなくすためには、設定の自動化が有効です。そのためのプロトコルがDHCPです。

DHCPの動作

DHCPを利用するには、あらかじめDHCPサーバを用意し、配布するIPアドレスなどのTCP/IPの設定を登録しておきます。そしてPCなどでDHCPクライアントになるように設定します。

DHCPクライアントの設定

DHCPクライアントの設定

 

DHCP クライアントのホストがネットワークに接続すると、DHCPサーバとの間で次の4つのメッセージをやりとりして、自動的にTCP/IPの設定を行います。

DHCPの動作

DHCPの動作

  • DHCP DISCOVER
  • DHCP OFFER
  • DHCP REQUEST
  • DHCP ACK

以上のようなDHCPのやりとりはブロードキャストを利用します。そもそもDHCPクライアントには自分のIPアドレスはもちろん、DHCPサーバのIPアドレスもわかりません。アドレスがわからなくても、とりあえず何らかのデータを送りたいというときにブロードキャストを利用します。

>>第13回:Webサイトはどのようにできているか?【HTMLファイル・スタイルシート・CSS・ハイパーテキスト】

TOP