【コンピュータネットワーク】「ネットワークプロトコルのDNS」をわかりやすく説明する1万語以上

ネットワークプロトコルのDNS

ドメインネームシステム(英語:ドメインネームシステム、略称:DNS)はインターネットのサービスです。ドメイン名とIPアドレスを相互にマッピングする分散データベースとして、人々がインターネットにアクセスしやすくすることができます。DNSはTCPおよびUDPポート53を使用します。現在、ドメイン名の各レベルの長さの制限は63文字であり、ドメイン名の全長は253文字を超えることはできません。

キーワード:DNS、ドメイン名解決

DNSとは何ですか?

DNSはアプリケーション層プロトコルです。

ドメインネームシステム(DNS)の役割は、人間が読み取れるドメイン名(www.example.comなど)を機械が読み取れるIPアドレス(192.0.2.44など)に変換することです。

ドメイン名とは何ですか?

ドメイン名は.、方位データ伝送コンピュータを識別するためのコンピュータまたはコンピュータのグループで構成されるインターネット上の文字列区切り文字のドット名です。ドメイン名は、IPアドレスを覚えやすくするために、IPアドレスのプロキシと言えます。たとえば、wikipedia.orgはドメイン名であり、IPアドレス208.80.152.2に対応します。人々は直接wikipedia.orgにアクセスしてIPアドレスを置き換えることができ、ドメインネームシステム(DNS)はそれをマシンが認識しやすいIPアドレスに変換します。このように、人々は意味のない数字を覚える代わりに、wikipedia.orgで特別な意味を持つ文字列を覚えるだけで済みます。

ここに画像の説明を挿入します

DNSの階層化

ドメインネームシステムは階層的です。

ドメインネームシステムの階層構造では、さまざまなドメイン名がドメインネームシステムのルートドメインに従属しています。ドメイン名の最初のレベルのような一般的なトップレベルドメインを含むトップレベルドメインであり.com.netそして.org、国や地域などのトップレベルドメイン.us.cnおよび.tkトップレベルドメイン名の次のレベルは、レベルダウンのセカンドレベルドメイン名です。これらのドメイン名は人々に登録サービスを提供し、人々はそれらを使用してパブリックインターネットリソースを作成したり、Webサイトを運営したりできます。トップレベルドメイン名の管理サービスは、対応するドメイン名レジストリ(ドメイン名レジストリ)によって処理され、登録サービスは通常、ドメインレジストラによって処理されます。

DNSサービスタイプ

  • 承認されたDNS-承認されたDNSサービスは、開発者がパブリックDNS名を管理するために使用する更新メカニズムを提供します。次に、DNSクエリに応答し、ドメイン名をIPアドレスに変換して、コンピューターが相互に通信できるようにします。権限のあるDNSは、ドメインに対する最終的な権限を持ち、IPアドレス情報に対する再帰DNSサーバーの応答を提供する責任があります。Amazon Route53は信頼できるDNSシステムです。
  • 再帰DNS-クライアントは通常、信頼できるDNSサービスに直接クエリを実行しません。代わりに、通常、リゾルバーまたは再帰DNSサービスと呼ばれる他のタイプのDNSサービスに接続します。再帰DNSサービスは、ホテルのコンシェルジュのようなものです。独自のDNSレコードはありませんが、ユーザーに代わってDNS情報を取得するための中間プログラムとして機能できます。再帰DNSに一定期間キャッシュまたは保存されたDNS参照がある場合、ソースまたはIP情報を提供することでDNSクエリに応答します。そうでない場合は、クエリを1つ以上の権限のあるDNSサーバーに渡して、情報を検索します。

レコードタイプ

DNSでは、一般的なリソースレコードタイプは次のとおりです。

  • NSレコード(ドメインネームサービス) ─ドメイン名またはサブドメイン名を解決するDNSサーバーを指定します。
  • MXレコード(メール交換) ─メッセージを受信するメールサーバーを指定します。
  • レコード(アドレス) -指定されたドメイン名に対応するIPv4アドレスレコード。
  • AAAAレコード(アドレス) ─ドメイン名に対応するIPv6アドレスレコードを指定します。
  • CNAME(仕様) ─ドメイン名またはドメイン名が別のCNAMEレコード(example.comポイントwww.example.com)にマップされているか、Aレコードにマップされています。
  • PTRレコード(リバースレコード) ─PTRレコードは、IPアドレスに関連付けられた名前を定義するために使用されます。PTRレコードは、AまたはAAAAレコードの逆です。PTRレコードは、.arpaルートで始まり、IPアドレスの所有者に委任されるため、一意です。

詳細については、以下を参照してください。ウィキペディア-ドメインネームサーバーレコードタイプリスト

DNS

ホスト名をIPアドレスにマップする方法は2つあります。

  • 静的マッピング-このマシンで使用することを目的とした、このマシンのドメイン名とIPマッピングを構成します。WindowsおよびLinuxのhostsファイルのコンテンツは、静的マッピングに属しています。
  • 動的マッピング-一連のドメインネーム解決システム(DNS)を確立し、専用DNSサーバーでホストからIPアドレスへのマッピングのみを構成します。通信にホスト名を使用する必要があるネットワーク上のデバイスの場合、最初にクエリを実行する必要があります。 DNSサーバーからのホストに対応するIPアドレス。

ドメイン名を介してドメインネームサーバーにクエリを実行し、IPアドレスを取得するプロセスは、ドメイン名解決と呼ばれます。ドメイン名を解決する場合、通常、静的ドメイン名が最初に解決され、次にドメイン名が動的に解決されます。一般的に使用されるいくつかのドメイン名は、静的ドメイン名解決テーブルに入れることができます。これにより、ドメイン名解決の効率を大幅に向上させることができます。

ここに画像の説明を挿入します

上の図は、動的ドメイン名解決のプロセスを示しています。手順は次のとおりです。

  1. ユーザーはWebブラウザーを開き、アドレスバーにwww.example.comと入力して、Enterキーを押します。
  2. www.example.comのリクエストは、DNSリゾルバーにルーティングされます。DNSリゾルバーは通常、ケーブルインターネットサービスプロバイダー、DSLブロードバンドプロバイダー、企業ネットワークなどのユーザーのインターネットサービスプロバイダー(ISP)によって管理されます。
  3. ISPのDNSリゾルバーは、www.example.comの要求をDNSルートネームサーバーに転送します。
  4. ISPのDNSリゾルバーは、www.example.comのリクエストを再度転送します。今回は、.comドメインのTLDネームサーバーに転送します。.comドメインのネームサーバーは、example.comドメインに関連する4つのAmazon Route53ネームサーバーの名前を使用してリクエストに応答します。
  5. ISPのDNSリゾルバーはAmazonRoute 53ネームサーバーを選択し、www.example.comのリクエストをそのネームサーバーに転送します。
  6. Amazon Route 53ネームサーバーは、example.comホストゾーンでwww.example.comレコードを検索し、関連する値(WebサーバーのIPアドレス(192.0.2.44)など)を取得して、次のアドレスにIPアドレスを返します。 DNSリゾルバー。
  7. ISPのDNS解決プログラムは、最終的にユーザーが必要とするIPアドレスを取得します。パーサーはこの値をWebブラウザーに返します。DNSリゾルバーは、指定した期間、example.comのIPアドレスもキャッシュ(保存)するため、次に誰かがexample.comにアクセスしたときに迅速に応答できます。詳細については、存続可能時間(TTL)を参照してください。
  8. Webブラウザーは、DNSリゾルバーから取得したIPアドレスにwww.example.comの要求を送信します。これは、コンテンツが配置される場所です。たとえば、AmazonEC2インスタンスまたはWebサイトエンドポイントとして設定されたAmazonS3バケットで実行されているWebサーバーです。
  9. 192.0.2.44のWebサーバーまたはその他のリソースは、www.example.comのWebページをWebブラウザーに返し、Webブラウザーにそのページが表示されます。

注:ドメイン名の解決は、ドメインネームサーバーが構成されている場合にのみ実行できます。

たとえば、Linuxではvim /etc/resolv.conf、次のコマンドを実行してDNSサーバーアドレスを構成します。

nameserver 218.2.135.1

Linux上のドメイン関連コマンド

ホスト名

hostnameコマンドは、システムのホスト名を表示および設定するために使用されます。環境変数HOSTNAMEは、現在のホスト名も保存します。hostnameコマンドを使用してホスト名を設定した後、システムは新しいホスト名を永続的に保存せず、マシンを再起動した後も元のホスト名が残ります。ホスト名を恒久的に変更する必要がある場合は/etc/hosts/etc/sysconfig/network関連するコンテンツを変更する必要があります。

参照:http://man.linuxde.net/hostname

例:

$ hostname
AY1307311912260196fcZ

nslookup

nslookupコマンドは、一般的に使用されるドメイン名クエリツールであり、DNS情報を確認するために使用されるコマンドです。

参照:http://man.linuxde.net/nslookup

例:

[root@localhost ~]# nslookup www.jsdig.com
Server:         202.96.104.15
Address:        202.96.104.15#53

Non-authoritative answer:
www.jsdig.com canonical name = host.1.jsdig.com.
Name:   host.1.jsdig.com
Address: 100.42.212.8

より多くのコンテンツ

おすすめ

転載: blog.csdn.net/weixin_54707168/article/details/115024331