特に Web サイトへのアクセスに問題が発生する場合、DNS キャッシュを定期的にクリアするのが理想的です。
ドメイン・ネーム・システム(DNS)では、キャッシングとは一時的にオペレーティングシステム、ブラウザー、デバイス、またはネットワーク内の DNS レコードを保存するプロセスのことです。DNS レコードは、「example.com」のような人間が読めるドメイン名を、コンピューターやデバイスで認識できる「2001:db8:3e8:2a3::b63」のような対応する IP アドレスに変換します。DNS キャッシングによって DNS 情報をローカルに保存することで、ドメインの変換や「解決」を高速化しながら、ネットワークトラフィックを削減できます。
DNS の仕組み
ドメイン・ネーム・システム(DNS)は、人間が特定の IP アドレスを覚える必要なく、覚えやすいドメイン名で Web を閲覧できるようにするために作られています。そのため、DNS はインターネットの GPS のようなものです。エンドユーザーが「example.com」のようなドメイン名をブラウザーに入力すると(またはユーザーがリンクをクリックしたときや、コンピューターまたは Web アプリケーションが別のデバイスと通信する必要があるとき)、ユーザーのデバイスは、この情報を含む DNS サーバーのシステムから対応する IP アドレスを見つけるための DNS クエリーを作成します。権威 DNS サーバーは、公式 DNS レコードを保持します。キャッシュ DNS サーバーは、要求を適切な権威サーバーに転送するか、メモリーまたはキャッシュに格納されている DNS レコードから必要な情報を生成することで、応答を高速化します。
DNS 内でのキャッシングの役割
一時的なストレージの一形態であるキャッシングにより、DNS システムは一定期間、DNS レコードをより迅速かつ効率的に検索および取得できます。世界にある権威 DNS サーバーの数は限られています。そのため、これらのサーバーから DNS レコードを取得するのには少し時間がかかることがあります。また、毎日何兆件もの DNS リクエストが発生するため、権威サーバーは容易に過負荷状態になり、機能が停止する可能性があります。DNS システムは、将来のリクエストで再利用するためにさまざまな場所に DNS レコードをキャッシュすることで、ネットワークトラフィックを最小限に抑え、権威サーバーのワークロードを削減しながら、DNS 情報をより簡単かつ迅速に取得できるようにします。
DNS キャッシングの仕組み
DNS システムには、いくつかのタイプのキャッシングがあります。ユーザーまたはマシンが DNS 要求を開始するたびに、ユーザーのオペレーティングシステムとブラウザーの一時メモリーまたはキャッシュ、あるいは検索に関与するいずれかのキャッシュサーバーに応答が保存されます。各 DNS レコードには TTL(Time To Live)値があります。この値によって削除前にキャッシュにレコードを保存できる期間が決まり、サーバーやオペレーティングシステムが最新のレコードを検索できるようになります。
ユーザーまたはマシンが DNS クエリーを開始すると、ユーザーのデバイスはまずオペレーティングシステムまたはブラウザーのローカルキャッシュをチェックして、そこにレコードが存在するかどうかを確認します。存在しない場合、要求はキャッシュ DNS サーバーに転送されます。キャッシュサーバーは、独自のキャッシュに格納されている情報に基づいて要求を解決するか、他のネームサーバー(最終的には権威 DNS サーバー)に要求を転送します。権威 DNS サーバーからの応答は、各リゾルバーステップのキャッシュに格納され、ユーザーのデバイスに戻されます。そして、このデバイスは正しい Web ページをロードするか、正しいデバイスに接続します。
DNS キャッシングのメリット
DNS 応答をオペレーティングシステム、ブラウザー、またはサーバーのメモリーに保存することで、DNS キャッシングはいくつかの大きな利点をもたらします。
- 解決の高速化。DNS 応答がキャッシュされると、同じドメインに対する後続の検索にキャッシュから直接対応できるため、他のネームサーバーや権威サーバーに問い合わせる必要がなくなり、レイテンシーを最小限に抑えることができます。
- オンライン体験の改善。キャッシュサーバーからの応答時間を短縮することで、より効率的な読み取りとハイパフォーマンスのユーザー体験を実現します。
- トラフィックの最適化。キャッシングは、ネットワークを通過する必要がある DNS クエリーの数と量を減らすために役立ちます。その結果、ネットワーク効率が高まり、DNS サーバーの負荷が軽減されます。
- 帯域幅の拡大。ネットワーク上の DNS トラフィックが削減されるため、キャッシングは帯域幅を節約し、コストを削減し、ビジネスクリティカルな機能向けに帯域幅を確保するために役立ちます。
- オフラインアクセス。DNS リクエストがローカルメモリーにキャッシュされている場合、デバイスは Web から切断されても Web サイトやオンラインリソースにアクセスできます。
- 最適な分散。DNS キャッシングは負荷分散装置の役割を果たし、DNS トラフィックをより均等にサーバーやインフラに分散して、DNS インフラのスケーラビリティと耐障害性を向上させます。
DNS キャッシングに対する脅威
DNS キャッシングには大きな利点がありますが、DNS システムがリスクにさらされる可能性もあります。DNS キャッシングを悪用する脅威には、次のものがあります。
- DNS キャッシュポイズニング。これは DNS スプーフィングとも呼ばれています。 DNS キャッシュポイズニング は、キャッシュ内の正当な DNS レコードを偽の情報に置き換えて、ユーザーやデバイスを誤った Web サイトに誘導する悪性の攻撃です。攻撃者はキャッシュポイズニングを利用し、ユーザーを欺いて Web サイト上で機微な情報を公開させたり、ユーザーに悪性のリンクをクリックさせてマルウェアを配布したりします。
- 期限切れのレコード。攻撃者は、期限切れまたは更新されていない DNS レコードを悪用して不正な Web サイトにユーザーをリダイレクトすることもあります。これは、再帰リゾルバーがキャッシュの更新に失敗した場合や、DNS レコードをキャッシュする期間を指定する TTL 値を順守しない場合に発生することがあります。
DNS キャッシュやキャッシュされたコンテンツに対する攻撃の影響を緩和するために、組織は DNS フィルタリングテクノロジーとグローバルなプレゼンスを兼ね備えたエンドツーエンドの DNS セキュリティプロバイダーと連携することを選択できます。そうすることで、DNS ベースの DDoS 攻撃を緩和できます。
キャッシュフラッシュとは
キャッシュフラッシュは、保存されているすべてのデータと DNS レコードの DNS キャッシュをクリアし、有効なレコードと無効なレコードの両方を削除するプロセスです。キャッシュフラッシュを実行すると、コンピューターやサーバーはその後 DNS リクエストを解決するために、再帰サーバーまたは権威サーバーに接続しなければならなくなります。
よくあるご質問(FAQ)
DNS キャッシングは主に Web ブラウジングの速度に影響を与えます。ユーザーのプライバシーを侵害することはありません。
できますが、無効にするとインターネット速度が低下し、サーバーへの負荷が増加する可能性があるため、一般的に推奨されません。
いいえ。DNS キャッシングは正当な DNS レコードを保存しますが、DNS ポイズニングはユーザーを不正な Web サイトにリダイレクトすることを目的とした悪性の攻撃です。
DNS レコードが期限切れになると、DNS リゾルバーは権威 DNS サーバーから新しいレコードを取得します。
DNS キャッシングによって読み取り時間が短縮され、Web ブラウジング中のモバイルデータの消費が減少する可能性があります。
Akamai が選ばれる理由
Akamai はサイバーセキュリティとクラウドコンピューティングを提供することで、オンラインビジネスの力となり、守っています。当社の市場をリードするセキュリティソリューション、優れた脅威インテリジェンス、グローバル運用チームによって、あらゆる場所でエンタープライズデータとアプリケーションを保護する多層防御を利用いただけます。Akamai のフルスタック・クラウド・コンピューティング・ソリューションは、世界で最も分散されたプラットフォームで高いパフォーマンスとコストを実現しています。多くのグローバルエンタープライズが、自社ビジネスの成長に必要な業界最高レベルの信頼性、拡張性、専門知識の提供について Akamai に信頼を寄せています。