はじめに
インターネットは、私たちの日常生活の一部として溶け込み、欠かすことのできない存在となっています。
その中でも重要な役割を果たしているDNS(Domain Name System)というシステムがあります。
今回はそんなDNSに関するお話です。
DNSとは?
DNSとは簡単に言うと、ドメイン名をIPアドレスに変換するシステムです。
例えば、私たちが「amazon.co.jp」と入力する際、その背後には「93.184.216.34」(適当な数字です)のようなIPアドレスが存在します。
しかし、人間が数字の羅列をサイトごとに覚えておくのは難しいため、ドメイン名が使われます。
このように、ドメイン名をIPアドレスに変換することで、目的のWebサイトにアクセスできるようにするのが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はインターネットの脳として、ドメイン名とIPアドレスを結びつける役割を担っています。
目に見えにくいシステムのため意識しないとありがたみを忘れてしまいそうです。
これが無いと、スマホの連絡先のような名前と電話番号を結び付ける機能が無いのと同意で、すべての数字の羅列を覚えておく必要がありとても不便になります。
技術者としてこうした技術や仕組みの上でインターネットが成り立っていることを覚えておきたいです。
コメント
[…] IT用語 […]