DNSキャッシュ
キャッシュだよ
フルサービスリゾルバが使うよ
「DNSの話で出てくる」キャッシュだと念押ししているよ
簡単に書くよ
DNSキャッシュ(読:ディーエヌエスキャッシュ 英:DNS cache)とは
答えが分からなかったら他のDNSサーバさん(IPアドレスとドメイン名の対応を管理するのが仕事のコンピュータ)に聞きに行くDNSサーバさん(フルサービスリゾルバ)の機能のひとつ
であり
他のDNSサーバさんに教えてもらった内容を覚えておく仕組みのこと
です。
あるいは
他のDNSサーバさんに教えてもらった内容をメモしたカンペのこと
を指している場合もあります。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として
・IPアドレス
・ドメイン名
・DNS
・DNSサーバ
・フルサービスリゾルバ(DNSキャッシュサーバ)
・権威DNSサーバ(DNSコンテンツサーバ)
・キャッシュ
について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
IPアドレスは「コンピュータさん向けのネットワーク上の住所」です。
インターネットっぽい通信において、送信先を特定するときとかに使う情報です。
「198.51.100.2」のような形式になっています。
ドメイン名は「IPアドレスに付けた人間様向けの名前」です。
インターネットやメールなどで使われる住所です。
「i-3-i.info」のような形式になっています。
DNSは「IPアドレスとドメイン名の紐付けをしまっせシステム」です。
パソコンさんはIPアドレスしか分かりません。
ドメイン名を見せられても「う~ん、どこの住所だろう」と困ってしまいます。
一方、人間様はIPアドレスがピンときません。
例えば「198.51.100.1」と「198.51.100.10」と「198.51.100.11」の違いなんて、パッと見で分かりませんよね。
うっかりミスも増えそうです。
そのため、コンピュータさんはコンピュータさんが分かりやすい形式の住所(IPアドレス)を、人間様は人間様が分かりやすい形式の住所(ドメイン名)を使えるようにするための仕組みがあります。
具体的には、事前にIPアドレスとドメイン名を対応付けておいて、必要に応じて変換するのです。
この「IPアドレスとドメイン名を変換してくれる仕組み」をDNSと言います。
変換のお仕事を生業にしているコンピュータさんは「DNSサーバ」です。
さて、このDNSサーバさんですが、大きく分けて2種類あります。
1つは、どんな手を使ってでもお問い合わせに答えてあげるのが仕事のDNSサーバさんです。
問い合わせがあると、答えを知っていそうなDNSサーバさんに「ねーねー。こんな問い合わせが来たんだけど、答えを知っていたら教えてよ」と聞きに行きます。
言わばカンニング野郎です。
このカンニング野郎なDNSサーバを「フルサービスリゾルバ」や「DNSキャッシュサーバ」と言います。
もう1つは、自分の管理している情報を教えてあげるのがお仕事のDNSサーバさんです。
自分の中にIPアドレスとドメイン名の対応表を持っていて、問い合わせに対して「あー、そのIPアドレスは、このドメイン名だね~」「そのドメイン名は、このIPアドレスだよ~」と答えてあげます。
対応表に載っていなければ「知らないな~」と答えます。
このDNSサーバさんは「権威DNSサーバ」や「DNSコンテンツサーバ」と呼ばれています。
キャッシュは「よく使うデータを取り出しやすいところに準備しておく仕組み」です。
「おせーんだよ、チッ」って舌打ちされないための工夫です。
以上を踏まえて、本題に入ります。
フルサービスリゾルバさんは他のDNSサーバさん(権威DNSサーバさん)に問い合わせた内容をカンペにメモって一定期間保存しています。
何回も同じ内容を問い合わせたら、他のDNSサーバさんもうんざりしますよね?
そこで、一度問い合わせた内容は自分の中にメモっておくのです。
問い合わせがあったときは、まず自分の中にあるカンペに答えが載っていないかを探します。
カンペを見ても載っていなければ、そのときはじめて、他のDNSサーバさんに助けを求めます。
意外に気遣いのできるやつですね。
このカンペを使う仕組みが「DNSキャッシュ」です。
1回やったことをメモっておくことで、2回目以降に手抜きする仕組みです。
あるいは、この仕組みで使うカンペそのものを指して「DNSキャッシュ」と表現している場合もあります。
どちらを意図しているかは文脈から判断してください。
単に「キャッシュ」と表現されることも多いですけどね。
キャッシュ自体はDNS以外でも使われる仕組みです。
そのため「これはDNSの話で登場するキャッシュだよ!」と強調したいときに「DNSキャッシュ」という言い方が使われます。
一言でまとめるよ
まぁ「DNSキャッシュ」って単語が出てきたら「フルサービスリゾルバさん(答えが分からなかったら他のDNSサーバに聞きに行くDNSサーバ)が他のDNSサーバさん(IPアドレスとドメイン名の対応を管理するのが仕事のコンピュータ)に教えてもらった内容を覚えておく仕組み(もしくは、その仕組みで使うカンペ)なんだな~」と、お考えください。
おまけ
■訳してみるよ
「DNS」は「Domain Name System(ドメイン・ネーム・システム)」の略です。
「domain(ドメイン)」の意味は「領域」とか「区域」とか「領土」とかです。
「name(ネーム)」の意味は「名前」とかです。
「system(システム)」はカタカナで「システム」と解釈してください。
「cache(キャッシュ)」の意味は「隠したもの」とか「隠し場所」とか「貯蔵所」とか「貯蔵物」とかです。
何となくくっつけると
領域名システムの貯蔵物
となります。
■検索してみる?