DNS(ドメインネームシステム)とは何ですか?どのように機能しますか?

公開: 2020-12-09

dns-domain-name-system

DNSの定義は何ですか?

DNSは、ドメインネームシステムの略で、クライアントが要求クエリを開始するときにドメイン名をそれぞれのIPアドレスに変換するための媒体として使用されます。 DNSは、ネットワークに登録されているすべてのドメイン名とそのIPアドレスのデータベースを保存します。

これは、インターネット上に存在するさまざまなWebサイトの出席記録と考えることができます。 DNSの場合、世界中で運用されているすべてのWebサイトのドメイン名とそのIP(インターネットプロトコル)アドレスのデータベースを維持します。

DNSの歴史

DNSの起源は、データベースにエントリを取得するコンピュータが数台しかなかったARPANETの時代にまでさかのぼります。 HOSTS.TXTファイルは、すべてのマシンのデータを構成するスタンフォード研究所によって維持され、更新されたままにするためにすべてのホストマシンによってコピーされました。

情報科学研究所のJonPostelは、1983年にカリフォルニア大学アーバイン校でDNSの最初の実装を設計するようにPaul Mockapetrisに要求しました。その後、1984年に、BIND(Berkeley Internet Name Domain)が4人の学生であるDouglasTerryによって作成されました。 Unixマシン用のMarkPainter、David Riggle、およびSongnianZhou。

1985年にKevinDunlapによっていくつかの改訂が行われた後、それは後にWindowsマシンに移植され、今でも地球上で最も広く使用されているDNSです。

DNSはどのように機能しますか? –簡単なDNSの例

DNSの基本的な動作を理解するために、ホテルの例を紹介します。 あるホテルで友達を訪ねる必要があるとしましょう。 さて、あなたは何をしますか? ホテルのフロントに到着し、受付係に友達の部屋番号を尋ねます。

そのためには、友達の名前を受付係に伝える必要があります。受付係は彼女のデータベースで同じ名前をチェックし、友達の部屋番号を教えてくれます。 彼女はまたあなたの友人に電話して、彼が利用可能かどうかを確認します。

ここで、例をDNSの動作に関連付けてみてください。 この場合、あなたはDNSサーバーにリクエストを送信するクライアントであり、受付係であり、友人の名前はドメイン名であり、彼の部屋番号は彼のIPアドレスです。

受付担当者は、ドメインネームスペースと呼ばれる、すべてのゲストのデータベースを含む彼女のコンピューターに友達の名前を入力します。 友人がホテルに滞在している場合は、部屋番号を教えてくれます。そうでない場合は教えてくれません。

DNSの動作でも同様のことが起こります。ブラウザにウェブサイト名を入力すると、ブラウザはDNSサーバーにリクエストを送信します。 Webサイトのドメイン名がDNSを使用してデータベースに登録されている場合、アクセスしようとしているWebサイトのIPアドレス(117.234.214.14など)で応答します。

ドメイン名とIPアドレスを理解する

さて、あなたがドメインとは何かを尋ねるとしたら? これは、インターネット上のさまざまなWebサイトやサービスを識別するために使用されます。 ドメイン名www.google.comを取得します。 IPアドレスの命名規則は、右から左に、またはその逆に移動します。 Googleのドメイン名では、最初にDNSがcomをチェックします。これは、商用ドメインを表し、トップレベルドメインです。

さらに進んで、Googleはcomのサブドメインであり、その後、 wwwはGoogleドメインのサブドメインです。 ドット(。)は、ドメインをサブドメインから分離するために使用されます。 完全なドメイン名は253文字のみで構成できます。

これで、誰かがIPアドレスに対して登録されたドメイン名を知りたい場合、WebサイトのIPアドレスを使用してDNSサーバーを要求します。 送信されたIPアドレスが31.13.79.246であるとすると、DNSは最初に31、次に13、次に79、最後に246をチェックし、IPアドレスがwww.fb.comに属していると結論付けます。

DNSは、生物学的なものではなく、ツリーの階層構造に似ています。 コンピュータのデータ構造には別のツリーがあり、アドレス31はツリーの最上位に属し、階層のプライマリドメインであり、アドレス13、79、246は連続したサブドメインです。

番号246は、Webサイトwww.fb.comをホストしているサーバーマシンを指します。 これらのドメインとサブドメインのすべては、思ったほど複雑ではありませんが、この概念に慣れていない場合は、正しく取得するのに時間がかかります。

また読む: HTTP/2とは何かとその仕組み

DNSの進化

以前は、マスターファイルは1つのメインサーバーによって維持されていましたが、新しいWebサイトのエントリごとに手動で更新され、他のサーバーがそれをコピーしていました。 しかし、時間の経過とともにWebサイトの数が急増したため、ドメイン名データベースを手動で管理することは困難でした。 そのため、自動化されたシステムの必要性が感じられ、世界中のデータベースを自動的に更新する機能が新世代のDNSに導入されました。

ウェブサイト名をドメイン名レジストラに登録すると、ウェブサイトが世界中のDNSデータベースに表示されるまでに約24時間かかります。

マスターサーバーとスレーブサーバーの関係が導入され、マスターサーバーがデータベースを維持し、スレーブサーバーはデータベースをコピーするだけで更新されたままになりました。 DNSデータベースの動的更新を容易にするために、NOTIFYおよびIXFRのメカニズムが導入されました。

NOTIFYでは、マスターサーバーがデータベースを更新すると、更新に関する通知がスレーブサーバーに送信され、スレーブサーバーがデータベースをコピーします。 IXFR(Incremental Zone Transfer)を使用すると、単一のエントリが作成されるたびにデータベース全体をコピーする必要がなくなります。 これにより、スレーブサーバーはデータベースに更新されたエントリのみを追加できるため、労力が軽減され、動的更新プロセスが高速化されます。

IPアドレスの解決

これは、ドメイン名をそれぞれのIPアドレスに変換するプロセスを指します。 DNSリゾルバーはクライアントPCであり、そのホテルの例では、受付係であるDNSサーバーにクエリを送信します。 解決には2つの方法が使用されます。

再帰的:ここで、ホテルのDNSの例を続けて、ホテルに市内に複数の支店があり、受付係が友人の部屋番号を見つけることができなかったと仮定します。 次に、彼女は、そこにいる受付係に連絡して、あなたの友人が他の支店に滞在しているかどうかを確認します。

したがって、DNSサーバーがクエリで送信されたドメイン名に関連付けられたIPを見つけることができない場合、DNSサーバーは、要求されたドメインのIPアドレスを解決するように他の接続されたサーバーに要求します。 それらのサーバーから情報を収集し、適切なIPアドレスで返信します。

反復:友人の部屋が置かれているフロアも知りたい場合は、そのために、もう一度受付係に尋ねます。 同様に、DNSリゾルバーがドメインに関する詳細情報を必要とする場合、同じDNSサーバーに対して新しいクエリを開始します。

DNSキャッシュ

DNSサーバーは、他のDNSリゾルバーが同じクエリを要求した場合の応答時間を短縮するために、要求クエリをキャッシュの形式で一時的に保存します。 TTL(Time To Live)と呼ばれる、キャッシュ情報が有効なままである時間は、キャッシュに格納されているクエリレコードごとに管理者によって設定されます。

DNSアプリケーション

DNSの最初のそして最も重要なアプリケーションはnslookupであり、DNSサーバーはクエリで要求されたドメイン名のIPアドレスで応答します。 DNSは、Microsoft ExchangeServerやIBMDominoなどのさまざまなメール転送エージェント(MTA)によって使用され、電子メールをより効率的に配信します。

DNSは、インターネット上でブラックリストに登録されたIPアドレスを識別し、ユーザーがそれらにアクセスできないようにするのにも役立ちます。 これは、スパムメールや潜在的なハッキング攻撃からユーザーを保護するのに役立ちます。

各ドメイン名とそのIPアドレスのデータは、1つのサーバーで問題が発生した場合にデータを簡単に取得できるように、複数のDNSサーバーに保持されます。

DNSの脆弱性

キャッシュポイズニング: DNSスプーフィングとも呼ばれ、悪意のある人々が使用する手法です。 DNSサーバーのリゾルバーキャッシュ内のデータを変更し、DNSリゾルバーに誤ったIPアドレスをレンダリングし、ユーザーをハッカーのマシンに誘導する可能性があります。

DNS応答は暗号化されていないため、潜在的な攻撃の可能性があります。 ただし、ドメインネームシステムセキュリティ拡張機能(DNSSEC)は、暗号で署名されたDNS応答をレンダリングするために使用されます。

フィッシング攻撃は、文字1と1が一部の画面で同じように表示されるなど、ユーザーの画面上の一部の文字が視覚的に類似しているために計画できます。したがって、元のWebサイトと同じルックアンドフィールを表示することにより、ユーザーを異なるIPアドレスにリダイレクトします。 。

DNSを見つけるにはどうすればよいですか?

マシン上のDNSサーバーアドレスを見つけるのは非常に簡単な作業です。 Windows PCを実行している場合は、[設定]>[ネットワークとインターネット]に移動します。 ここで、接続のプロパティをクリックし、下にスクロールしてDNSサーバーを見つけます。

カスタムDNSを使用する

そのホテルの受付係が非常に遅く、多くの人が同時に部屋番号を求めている場合はどうなりますか? そうすると、彼女は正しい部屋番号をすぐに提供できなくなります。 それで、あなたはあなたの懸念に注意を払うように受付カウンターで他の誰かに頼むかもしれません。 同様に、インターネットに接続するときは、通常、ISPが提供するDNSサーバーを使用します。

しかし、デフォルトのDNSサーバーが応答しない場合、または特定の瞬間に多数のクエリを処理できない場合はどうなりますか? このようなインスタンスは、ブラウジングエクスペリエンスを低下させるだけです。 しかし、心配しないでください。別の方法があります。 IPアドレスを解決するために別のDNSサーバーを使用するようにシステムを構成できます。

また読む: 5つの最高のDNSサーバー–高速接続のための無料のパブリックDNS

いくつかの人気のあるDNSサーバー:

GoogleのパブリックDNS:検索の巨人は、いつでも何百万ものリクエストを処理できる本格的なハイグレードDNSサーバーをいくつかセットアップしました。 そして、Googleの他のサービスと同じように、それらは完全に無料で使用できます。 次のDNSアドレスを使用するようにマシンを構成できます。

8.8.8.8および8.8.4.4

OpenDNS:これは安全で信頼できるDNSサーバーを無料で提供する民間企業です。 マシンに次のアドレスを設定するだけです。

208.67.222.222および208.67.220.220

マシンでDNSを構成する方法がわからない読者は、以下のリンクを参照してください。

推奨: DNSハックを使用してインターネット速度を高速化する方法

終わらせている

DNSは、世界中の何百万ものWebサイトとサーバーのこのような巨大なデータベースを維持するための体系的な方法として登場して以来、最も重要なトピックとなっています。 DNSがなければ、すべてのドメイン名とIPアドレスの混乱を引き起こし、すべてのドメイン名の無計画なコレクションからgoogle.comを見つけるのに何年もかかりました。

DNSはIP解決のプロセスを合理化しました。真剣に、DNSがなかったら、それらのIPアドレスをすべて覚えるために脳の回路を焼き尽くしていたでしょう。 そして、私があなたに尋ねさせてください、あなたは私が上で述べたFacebookのIPアドレスを覚えていますか? そして今は上にスクロールしないでください。DNSが私たちのためにそれを覚えているので、私はそれを覚えていません。 DNSが過去30年間行ってきた高貴な仕事に感謝の意を表すだけで、DNSはより速く、よりスマートに、そしてより信頼できるものになりました。

DNSに関するこのビデオを見る:

さらに読む:DDoS攻撃はどのように機能しますか?

これで、DNSとは何かとその目的についてのアイデアが得られました。 コメントにあなたの考えを落とし、記事のリンクを使用してDNSサーバーを構成してみてください。

この簡単な説明が気に入った場合は、ShortBytesセクションを確認してください。 複雑な技術トピックを取り上げ、それらを短くて理解しやすい記事に分割します。