DNSのしくみ

公開: 2016-12-15

コンピュータは、IPと呼ばれるアドレス指定スキームを使用してインターネット経由で通信します。 IPアドレスは、ピリオドで区切られた一意の数字の文字列です。 しかし、人間は長い数字の文字列を覚えるのがひどい傾向があります。 そのため、コンピュータへのアクセスを容易にするために、ある種の電話帳が必要でした。 コンピュータ名をIPアドレスにマッピングする電話帳。 人間とソフトウェアが他のコンピュータリソースに簡単に接続できるようにします。

DNS以前は、インターネットはARPANETと呼ばれ、接続されているコンピューターはほとんどありませんでした。 したがって、IPアドレスから名前へのマッピングを維持するために必要なのはHOSTS.TXTファイルだけでした。

アドレスは手動で管理され、マッピングを変更するには、SRIのネットワーク情報センター(以前はStanford Research Instituteと呼ばれていました)に電話する必要があります。

80年代のある時点で、これらすべてのマッピングを手動で管理するのは面倒になり、ソリューションが必要になりました。 ドメインネームシステムがその解決策になりました。

DNSとは何か、DNSが解決する問題。

ドメインネームシステムは、コンピュータ名の大規模なリストを維持する必要があるという差し迫ったニーズを解決するために開発されました。 これは、「ネームサーバー」と呼ばれるサーバーの階層ネットワークと通信プロトコルによって実装されます。 また、本質的に配布されているため、障害が発生した場合でも復元力があります。 ネームサーバーは、ドメイン名レコードに関する情報を格納し、他のサーバーまたはクライアントからのクエリに応答します。 この記事の後半で、ドメイン名レコードとは何かについて詳しく説明します。 しかし、最初に、DNSの世界におけるいくつかの重要な概念を見てみましょう。

ルートネームサーバーとその階層

DNSは階層システムであると前述しました。 この階層は、3つの異なるレベルのネームサーバーで構成されています。 ルートネームサーバー、トップレベルドメイン(TLD)サーバー、およびその他すべての権限のあるDNSサーバー。 インターネット全体に13のルートサーバーがあります。 これらは、分散された性質のため、複数のマシンにまたがることができるため、物理的なものではありません。 ただし、トップレベルドメイン(.com、.netなど)を担当するネームサーバーについては、信頼できる回答を提供します。 これらのルートサーバーには、これらのTLDの下ですべてを担当するネームサーバーと比較した場合に、最も更新された正確なポインターが含まれています。

Pressidiumであなたのウェブサイトをホストする

60日間の返金保証

私たちの計画を見る

トップレベルドメインネームサーバー

これらは、ドメインの最後の部分を担当するネームサーバーです。 ほとんどのトップレベルドメインを管理するエンティティは、Internet Corporation for Assigned Names and Numbers(ICANN)と呼ばれます。 TLDにはさまざまな種類があり、最も一般的なものは国コード(.uk、.nl、.usなど)です。 ジェネリックと呼ばれる.com、.net、.gov、.eduなどの非常によく知られているものもあります。

権限のあるドメインネームサーバー

これらは、特定のドメイン(つまり、pressidium.com)を担当するネームサーバーです。 それらはドメインレコードを含み、ドメインに関する最新かつ最も正確な情報を保持しているだけでなく、ドメイン所有者がそれらをそのように指定しているため、信頼できると呼ばれます。

ドメイン

ドメインは、一連のインターネットリソース(コンピューター、ネットワークなど)を識別する単なるラベルです。 これは、インターネット上でアイデンティティを確立するために人々や組織によって使用されます。

レジストラ

ドメイン名レジストラは、ドメインを管理する営利団体です。 彼らは、トップレベルドメインレジストリによってこの機能を実行することを許可されています。 さまざまなトップレベルタイプのドメインを購入できます。 ドメインは個人データにリンクされるため、所有権が証明されます。

サーバーレコードに名前を付ける

ドメインは、前述したように、インターネットリソースのセットを定義するラベルです。 ネームサーバーには、これらに関する情報が含まれており、他のサーバーまたはクライアントからのクエリに応答します。 これらのリソースは、ドメイン名レコードと呼ばれる構造化テキストとして編成および表示されます。

レコードにはいくつかの種類がありますが、最も一般的に使用されるのは次のとおりです。

  • A(住所)
  • CNAME(正規名)
  • MX(メール交換)

おそらく最も基本的で広く使用されているAレコードは、名前をIPアドレスにマップするレコードです。 たとえば、次のレコード:

website.com. IN A 23.9.62.14

ドメインwebsite.comをIPアドレス23.9.62.14にマップします。

もう1つの一般的な方法は、同じ名前へのIPマッピングを持つ複数のAレコードを持つことです。 これは、ネームサーバーがそのドメインについて照会されるたびに異なるIPアドレスを返すため、基本的で効果的な形式の負荷分散を提供します。

CNAMEレコードは、ある名前を別のAレコードにエイリアスするために使用されます。 これは通常、同じドメインを指すために複数のサブドメイン(www、ftp、mail)が必要な場合に使用されます(同じサーバーをweb / ftp / emailサーバーにすることができます)。 例えば:

ftp IN CNAME website.com.

website.comへのftpエイリアスを作成するので、誰かがftp.website.comにftpを送信すると、それらはwebsite.comにリダイレクトされます。

ここにDNSと電子メールの間の特別な関係があります。 ただし、ftpやWebなどのサービスは、実際にはDNSなしで機能できますが(つまり、IPアドレスを覚えている場合)、電子メールは機能しません。 電子メールが正しく機能するには、DNSが絶対に必要です。 MXレコードは、そのドメインのすべての受信メールを処理するAレコードを定義するために使用されます。 たとえば、mail.website.comでwebsite.com宛てのすべてのメールを処理する場合は、次のように入力します。

website.com. MX 10 mail.website.com
website.com. MX 20 mail-backup.website.com

ここでもいくつかの追加のことが起こっています:

MX文字列の横の数字は優先度に対応しています。 最初のレコードは優先度10mail.website.comを定義し、2番目のレコードは20の優先度を定義します。 これにより、何らかの理由でmail.website.comが使用できなくなった場合に、優先度20の2番目のエントリが引き継がれます。

名前解決

コンピュータ名を使用してどこか、どこにでも接続する場合次のことが起こります(例としてwww.pressidium.comを使用しましょう):

partiii-dns-in
  1. ブラウザまたはクライアントソフトウェアは、DNSリゾルバと呼ばれるソフトウェアモジュールを使用します。これは、構成されたDNSサーバーを検索します(これは通常、ISPが設定したものです)。
  2. 次に、ISPのネームサーバーは、答えを知っているかどうかを確認し、知らない場合は、ルートネームサーバーを呼び出して、.comの責任者を尋ねます(ドメインはpressidium.comであるため)。
  3. 次に、ルートネームサーバーは.comのTLDネームサーバーのリストで応答します。
  4. ISPネームサーバーはTLDネームサーバーに接続し、どのネームサーバーがpressidium.comの信頼できるネームサーバーであるかを知っているかどうかを尋ねます。
  5. 最後に、ISP NSはそのドメインの権威あるネームサーバーに接続し、「www.pressidium.com」のAレコードを要求します。

これらの一連の呼び出しは再帰的と呼ばれ、通常はサーバー側のキャッシュが関係しているため、ISPネームサーバーがそのような問題をすべて経験することはおそらくありません。

次は何ですか?

先ほど、DNSと電子メールの特別な関係について説明しました。 インターネットコアテクノロジーシリーズの最終回の締めくくりとして、メールを見ていきます。 電子メールには豊富な歴史があります。 それは多くの変化を経て、いくつかの競争力のある技術を乗り越えてきました。 現在でも、私たちの普及している「常時接続」のソーシャルインターネット文化では、電子メールはビジネスとコミュニケーションに不可欠です。