はじめに
インターネットは、私たちの日常生活の一部として溶け込み、欠かすことのできない存在となっています。
その中でもコンピュータとの橋渡しをしてくれているシステムに、DNS(Domain Name System)という技術があります。
今回はそんなDNSに関するお話です。
DNSとは?
DNSとは一言でいうと、ドメイン名をIPアドレスに変換するシステムです。
私たちが「amazon.co.jp」と入力する際、その背後には「93.184.216.34」(適当な数字です)のようなIPアドレスが存在します。
しかし、人間が数字の羅列をサイトごとに覚えておくのは難しいため、ドメイン名というものが日常的に使われています。
このドメイン名をIPアドレスに変換する役割を担っているのが、DNSです。
※IPアドレス
インターネット上の各デバイスを一意に認識するための番号。
これにより、デバイス間の通信が可能になる。
DNSの仕組み
DNSは、以下のようなステップで動作します。
少し複雑なのであまり興味がない方は次の部分まで読み進めてください。
1. ユーザがWebサイトのアドレスを入力
例)amazon.co.jp
2. リクエストがDNSサーバーに送られる
ブラウザは入力されたドメイン名をDNSサーバーに送信。
リカーシブDNSサーバーがドメイン名に対するIPアドレスを探す。
3. DNSサーバーがルートサーバーに問い合わせ
リカーシブDNSサーバーはまずルートサーバーに問い合わせをする。
ルートサーバーは最上位のDNSサーバーで、トップレベルドメイン(TLD)サーバーの情報を知っている。
4. ルートサーバーからTLDサーバーへの案内
ルートサーバーは「.com」などのTLDサーバーの場所をリカーシブDNSサーバーに教える。
5. TLDサーバーへの問い合わせ
リカーシブDNSサーバーは、今度はTLDサーバーに問い合わせ、「amazon.co.jp」に関する情報を求める。
6. TLDサーバーから権威DNSサーバーへの案内
TLDサーバーは「amazon.co.jp」を管理している権威DNSサーバーの場所を教える。
7. 権威DNSサーバーからの最終的な回答
リカーシブDNSサーバーは、権威DNSサーバーに問い合わせて具体的なIPアドレスを取得。
8. ユーザーへの対応
リカーシブDNSサーバーは、取得したIPアドレスをユーザのブラウザに返し、そのIPアドレスに基づいてWebサイトにアクセス。
以上がDNSの大まかな流れです。
DNSのキャッシュ
DNSでは効率を向上させるために、キャッシュが広く利用されています。
リカーシブDNSサーバーやユーザのコンピュータは、過去に問い合わせたドメイン名とIPアドレスのペアを一定期間保存します。
これにより、同じドメイン名への再アクセス時にはキャッシュされた情報を使用することで、応答時間が大幅に短縮可能です。
DNSのセキュリティ
DNSはインターネットの基盤技術であるため、セキュリティは非常に重要です。
代表的な脅威として以下のようなものがあります。
1. DNSキャッシュポイズニング
攻撃者がキャッシュに偽の情報を挿入し、ユーザーを偽ってサイトに誘導する攻撃。
これに対しては、DNSSEC(DNE Security Extensions)が導入されていて、デジタル署名を使用してDNS応答が正しいか検証を行う。
2. DDoS攻撃
分散型サービス拒否攻撃により、DNSサーバーに大量のトラフィックを送り込み、サービスを停止させる攻撃。
これの対策として、Anycast技術を使用してトラフィックを分散させる方法が存在。
DNSのまとめ
結論としてDNSはインターネットの脳として、ドメイン名とIPアドレスを結びつける役割を担っています。
目に見えにくいシステムのため、意識しないと気付きにくい技術です。
これが無いと、スマホの連絡先のような名前と電話番号を結び付ける機能が無いのと同意で、すべての数字の羅列を覚えておく必要がありとても不便です。
さらに今回出てきたIPアドレスについて詳しく知りたいからはこちらから。
コメント
[…] IT用語 […]