店のタブレットが発注できない
あるコンビニチェーンでは、店のタブレットから本部の発注システムに入ります。
店員さんが覚えているのは「hacchu.example.com」という名前だけです。けれども、ネットワークが届け先に使うのは、IPアドレスです。
名前を番号に変える係が止まると、どの店も発注できなくなります。この係のしくみを見ていきます。
このレッスンのゴール
メモ
名前がアドレスに変わるしくみを説明できる。
キーワード
| ことば | いみ | れい |
|---|---|---|
| ドメイン名 | 人が覚えやすい、機器やサービスの名前 | hacchu.example.com |
| DNS | 名前をIPアドレスに変えるしくみ | |
| 名前解決 | 名前からIPアドレスを調べること | |
| Aレコード | 名前とIPv4アドレスの対応 | |
| CNAME | 別の名前を指す別名 | |
| TTL | 答えを覚えておいてよい秒数 | 300 |
学生が入力するセルは、このプレビューでは空白です。
DNSは名前を番号に変える
人は名前を覚え、機器は番号で届け先を探します。その間をつなぐのがDNSです。
パソコンは、まず決められたDNSサーバーに名前を聞きます。DNSサーバーは答えを知らなければ、知っているサーバーに順にたずねます。
最後に、その名前を管理するサーバーが答えを返します。
やってみよう: 名前の表を引く
# 社内の名前の表をファイルに作っておきます
printf "hacchu.example.com 203.0.113.40\nkintai.example.com 203.0.113.41\nmail.example.com 198.51.100.25\n" > names.txt
# 名前からアドレスを探します。DNS が裏でしている仕事の、ごく小さな形です
grep "^kintai.example.com " names.txt
# kintai を mail に変えて、実行してみましょう
DNSの答えはレコードで届く
DNSサーバーは、名前ごとにレコードという形で情報を持っています。
Aレコードは、名前とIPアドレスの組です。CNAMEは「この名前は、あの名前の別名です」という意味です。
下は、dig という調べる道具の本物の出力です。CNAMEをたどってから、Aレコードにたどり着いています。
digの出力を読む
$ dig hacchu.example.com A +noall +answer
hacchu.example.com. 300 IN CNAME app-osaka.example.com.
app-osaka.example.com. 300 IN A 203.0.113.40
例: 出力の列の意味
| 列 | 例 | 意味 |
|---|---|---|
| 名前 | hacchu.example.com. | 調べた名前 |
| TTL | 300 | この答えを300秒覚えてよい |
| 種類 | CNAME | 別の名前を指す |
| 中身 | app-osaka.example.com. | 次に調べる名前 |
| 種類 | A | IPアドレスを持つ |
| 中身 | 203.0.113.40 | つなぎに行くアドレス |
学生が入力するセルは、このプレビューでは空白です。
よくある思い違い
注意
DNSを書き換えれば、すぐに全員に届くと思う人が多いです。実際は、各地のサーバーやパソコンが、前の答えをTTLの間覚えています。引っ越しの前の日に、TTLを短くしておくのはこのためです。