なぜ必要?DNSキャッシュクリアの重要性と具体的な手順

このサイトを検索 | Search this site
dns

なぜDNSキャッシュをクリアするのか?

DNSキャッシュは、過去にアクセスしたウェブサイトのIPアドレスを一時的に保存する機能です。これにより、次回同じウェブサイトにアクセスする際、表示速度が向上します。

しかし、キャッシュが古くなったり破損したりすると、ウェブサイトが表示されなかったり、レイアウトが崩れるなどの不具合が生じることがあります。このような場合、DNSキャッシュをクリアすることで問題が解決することがあります。

DNSキャッシュはOSとブラウザに保存されている

なお、DNSキャッシュはOSとブラウザの両方に保存されているため、完全にクリアするには両方のキャッシュを削除する必要があります。

本記事では、Windows 11とChromeブラウザにおけるDNSキャッシュのクリア方法を紹介します。Windowsはコマンドラインシェルを利用するため、汎用性があります。



WindowsのDNSキャッシュをクリアする方法

PC_programming
コマンドラインシェルは以下の総称です:
コマンドプロンプト、Windows PowerShell、PowerShell Core

WindowsでDNSキャッシュをクリアするには、コマンドラインシェルを起動して、[ipconfig /flushdns] を実行します。

コマンドラインシェルは、通常起動でよい。(管理者モードは不要です)

(実行例)
Windows ターミナル

PS C:\> ipconfig /flushdns

Windows IP 構成

DNS リゾルバー キャッシュは正常にフラッシュされました。

ChromeのDNSキャッシュをクリアする方法

Chrome
Chromeの特殊URLにDNSキャッシュをクリアする機能が隠れている。

ChromeのDNSキャッシュをクリアするには、Chromeの特殊URLにアクセスする必要があります。アクセスする設定項目は [DNS/Sockets]です。

DNS (Clear host cache)

DNSキャッシュをクリアする方法

  1. Chrome 特殊URLにアクセスする。
    chrome://net-internals/#dns
  2. または、左メニューの [DNS] をクリックする。
  3. Clear host cacheボタンを押す。
  4. 以上

スナップショット

ClearHostCache

Sockets (Flush socket pools)

「ソケットプールをフラッシュする」とは、ネットワーク通信に使用されるソケット(socket)の接続情報を一旦破棄し、再確立できるようにする処理を指します。特にブラウザやOSが保持している持続的な接続(keep-alive)をリセットするときに使われます。

ソケットプールをフラッシュする方法

コマンドを実行すると、現在保持しているすべてのTCP接続が切断され、新しい接続で再開されるようになる。

  1. Chrome 特殊URLにアクセスする。
    chrome://net-internals/#sockets
  2. Flush socket poolsボタンを押す。

    May break pages with active connections.(アクティブな接続でページを壊す可能性があります。)

  3. 以上

(スナップショット)

FlushSocketPools

DNSとは?

DNS

DNS(Domain Name System、ドメインネームシステム)は、インターネット上の住所録のようなものです。

DNSは、人間が覚えやすいドメイン名を、コンピューターが理解できるIPアドレスに変換する役割を担っています。この変換作業を「名前解決」と呼びます。

これにより、私たちは複雑なIPアドレスを覚えることなく、簡単にウェブサイトにアクセスしたり、メールを送受信したりできるのです。

DNSはツリー構造で管理されている

DNSは、ツリー構造によって全世界に分散管理されています。この構造により、スケーラブルかつ効率的に名前解決が行えるようになっています。

DNS全体の調整と管理の最上位機関はICANNです。ICANNの下にはIANAがあり、さらにその下層に、各国・地域を担当する組織が配置されています。たとえば、日本ではJPNICがその役割を担っています。これらの組織が連携し、世界中のDNSインフラを協力して管理・運用しています。

IPアドレスの割り当ても、ICANNを頂点とした階層構造によって行われます。(ICANN → IANA → RIR)

新規データの伝搬時間は最大3日間

なお、新たに取得したドメイン名が全世界のDNSに反映されるまでには、通常数分〜最大72時間程度かかることがあります。これは、DNSキャッシュの有効期限やプロバイダ間の伝播遅延などが影響するためです。この期間中は、まだDNS上にドメイン情報が登録・反映されていないため、該当のドメイン名にアクセスできないことがあります。その場合、ウェブサイトにアクセスするには、直接IPアドレスを入力する必要があります。

    [略字と説明(上から下にツリー構造で管理が委任される)]

  1. ICANN (Internet Corporation for Assigned Names and Numbers)
    インターネットのユニークな識別子の割り振り・割り当てを全世界的に調整・管理している非営利の国際組織
  2. IANA (Internet Assigned Numbers Authority)
    ICANNの機能の一部であり、ドメイン名のルートゾーン管理(トップレベルドメインの割り当てなど)や、IPアドレス、プロトコル番号などの具体的な割り当てを行っています。
  3. レジストリ(Registry)
    各トップレベルドメイン(例:.jpのJPRS、.comのVerisignなど)の管理団体で、ICANNから委任を受けて、そのドメイン名の登録情報を一元的に管理しています。
  4. レジストラ(Registrar)
    私たちがドメイン名を取得する際に利用する事業者(お名前.com、Xserverなど)で、レジストリと契約してドメイン名の登録申請を受け付けます。
  5. RIR (Regional Internet Registry)
    地域ごとのIPアドレスの割り当てと管理を行う組織です。アジア太平洋地域ではAPNICが該当します。
  6. NIRs (National Internet Registries)
    一部の国では、RIRの下にNIRが設置され、その国内のIPアドレスを管理します。日本におけるJPNICがこれに該当します。 JPNICはAPNICからIPアドレスの割り振りを受け、日本国内の組織に分配しています。
  7. LIRs (Local Internet Registries)
    ISP(インターネットサービスプロバイダ)、大企業のネットワーク管理者、データセンター、大学などがこれに該当します。LIRはRIR(またはNIR)からIPアドレスの割り振りを受け、最終的なエンドユーザーや自組織内のデバイスにIPアドレスを割り当てます。
  8. JPNIC (Japan Network Information Center) などの各国に設置されたNIC
    JPNICは、日本のインターネット資源(IPアドレスやドメインなど)に関する技術的な管理や調整を行う非営利組織です。例えば、トップレベルドメイン [.JP] の管理を行います。
  9. ISP (Internet Service Provider)
    LIRであるISPは、契約している個人や法人に対してIPアドレスを割り当てます。私たちが家庭でインターネットに接続する際にISPから割り当てられるIPアドレスがこれにあたります(多くの場合、動的IPアドレス)。

DNSキャッシュとソケットプールの関係

DNSキャッシュをクリアしてもウェブサイトの表示がおかしい場合、古いソケットが古いIPアドレスの情報を保持したままになっている可能性があります。この場合、ソケットプールをフラッシュすることで、新しいIPアドレスへの接続が強制的に再確立され、問題が解決することがあります。

要するに、ソケットプールをフラッシュするとは、「現在使われていないけれど、プールに残っている古いネットワーク接続を、一旦全部捨てて、必要になったら新しい接続を確立し直す」ということです。

これにより、ネットワーク関連の問題解決やリソースの効率的な管理が可能になります。

flushdns で改善しない場合、Flush socket pools を追加実行することで改善する可能性があります。

まとめ

matome
reload

DNSキャッシュは、ウェブサイトに素早くアクセスするためにIPアドレスを一時保存する仕組みですが、キャッシュが古くなったり破損した場合、サイトが正常に表示されなくなることがあります。

こうした問題を解決する方法として、DNSキャッシュのクリアが有効です。ただし、DNS情報はOSとブラウザの両方に保存されているため、両方のキャッシュを削除する必要があります。

この記事では、Windows 11のシステムとChromeブラウザのDNSキャッシュを、コマンドラインシェルを用いてクリアする手順を紹介しています。この方法は他の環境でも応用が可能で、トラブル解決に役立ちます。

SC2
Windowsランキング 将棋ランキング スマホ・携帯ランキング にほんブログ村 IT技術ブログ ライフハックへ にほんブログ村 その他趣味ブログ 将棋へ

このサイトを検索 | Search this site

コメントを投稿

0 コメント