DNSとは何ですか?
ドメインネームシステム (DNS) は、ドメイン名をIPアドレスに変換したり、IPアドレスをドメイン名に変換したりできるコアインターネットサービスです。 分散データベース上に構築されたDNSを使用すると、機械で読み取り可能なIPアドレスの文字列を記憶する必要なく、インターネットに簡単にアクセスできます。
ドメイン階層
増加する数のインターネットユーザに対応するために、階層ツリー構造がインターネット上で命名するために使用される。 インターネットに接続されているホストまたはルータは、DNS階層で一意の名前を持ちます。 この名前はドメイン名です。 ドメインは、DNS名前空間における管理可能な区分である。 文法的に、各ドメイン名は、dots (.) で区切られた一連のラベルです。 ドメインはサブドメインに分割でき、サブドメインは下位レベルのサブドメインに分割できます。 これにより、トップレベルドメイン、プライマリドメイン、およびサブドメインが作成されます。 ドメイン階層を次の図に示します。
例:
. comはトップレベルドメイン (TLD) です。
aliyun.comはプライマリドメインであり、第1レベルのドメインでもあります。 ほとんどの場合、プライマリドメインは企業の名前を示します。
example.aliyun.comはサブドメインであり、第2レベルのドメインでもあります。
www.example.aliyun.comはf example.aliyun.comのサブドメインであり、第3レベルのドメインでもあります。
DNS階層
ドメインと同様に、DNSサーバも階層構造で管理されます。 DNSサーバーは、パブリックIPアドレスとその関連ドメイン名のデータベースを含むホストです。 世界中に展開されているDNSサーバーは、組織化されたネットワークを形成します。 これらのDNSサーバーの相乗効果により、ドメイン名を要求に応じてIPアドレスに変換できます。 DNS解決に必要な4種類のDNSサーバを次の表に示します。
タイプ | 機能 |
ルート名サーバー | ルートネームサーバーは、ルートサーバーとも呼ばれます。 ローカルDNSサーバーが要求されたドメイン名の解決に失敗した場合、ローカルDNSサーバーはDNS要求をルートサーバーに転送します。 ルートサーバーは、TLDサーバーのIPアドレスをローカルDNSサーバーに返します。 |
TLDネームサーバー | TLDネームサーバは、TLDサーバとしても知られている。 TLDネームサーバは、s www.example.comなどの登録された第2レベルドメインを管理する。 . com TLDドメインサーバーは、プライマリドメインn example.comが格納されている権限のあるネームサーバーのIPアドレスを返します。 |
権限名サーバー | 権威あるネームサーバはNSとしても知られている。 権限のあるネームサーバは、特定のDNSゾーン内の権限であり、ドメイン名とゾーン内のIPアドレスとの間のマッピングを維持する責任があります。 Alibaba Cloud DNSは、信頼できるネームサーバーとして機能します。 |
ローカルDNSサーバー | ローカルDNSサーバーは、ローカルDNSとも呼ばれます。 ローカルDNSサーバは、クライアントからの再帰的要求に応答し、DNS解決が完了するまでDNS結果を返すことができる他のDNSサーバに要求を転送する。 インターネットサービスプロバイダー (ISP) によって割り当てられたDNSサーバー、またはGoogleパブリックDNSや114DNSなどのパブリックDNSサーバーからローカルDNSサーバーを選択することもできます。 |
専用ネームサーバーは、各ドメインレベルですべてのドメイン名を管理します。 ルートサーバーは、トップレベルドメインに関する情報を格納します。 各ドメインレベルのネームサーバーは、DNSクエリを容易にするために、下位レベルのネームサーバーのIPアドレスを格納します。
DNS 解決
次のセクションでは、ユーザーがドメイン名e example.comを使用してWebサイトにアクセスするときのDNS解決のプロセスについて説明します。
1. ユーザは、ウェブブラウザにs example.comを入力して、ローカルDNSサーバへのクエリを開始する。 DNS結果がローカルDNSサーバーにキャッシュされている場合、ローカルDNSサーバーはドメイン名e example.comに対応するIPアドレスをwebブラウザーに直接返します。 この場合は、ステップ9に進みます。 DNS結果がローカルDNSサーバーにキャッシュされていない場合は、ステップ2に進みます。
2. ローカルDNSサーバーは、ルートサーバーへのクエリを開始します。
3. のIPアドレスを返します。com TLDサーバをローカルDNSサーバに送信します。
4. ローカルDNSサーバーは、ドメイン名e example.comのクエリを開始します。com TLDサーバー。
5. . com TLDサーバは、e example.com権威あるネームサーバのIPアドレスをローカルDNSサーバに返す。
6. ローカルDNSサーバは、e example.com権限のあるネームサーバに対してクエリを開始する。
7. e example.com権限のあるネームサーバーは、ドメイン名e examle.comに対応するIPアドレスをローカルDNSサーバーに返します。
8. ローカルDNSサーバーは、要求されたIPアドレスをwebブラウザーに返します。
9. webブラウザは、IPアドレスを使用してwebサーバにアクセスします。
10。 webサーバーは、ブラウザでwebページを返します。
用語
再帰クエリ
再帰クエリは一種のクエリで、クエリを受け取ったDNSサーバーが必要なすべての操作を実行して、正確なクエリ結果を返します。 DNSサーバーがキャッシュ内の要求された結果と一致できない場合、サーバーは要求を他のサーバーに転送し、クエリ結果を返します。
反復クエリ
反復クエリでは、DNSサーバーはそれが持っている最良の答えを返します。 DNSサーバがキャッシュ内に要求されたリソースレコードを有していない場合、DNSサーバは、ドメイン名の下位レベルに対するDNSサーバへの参照で応答する。 次に、クライアントは、下位レベルのDNSサーバにクエリを送信する。 このプロセスは、最終的な回答が返されるまで、追加のDNSサーバーで続行されます。
DNSキャッシュ
DNSキャッシュは、要求を開始するクライアントの近くにDNSレコードを格納します。つまり、DNSレコードをさまざまな場所にキャッシュできます。 このメカニズムは、再帰的なクエリプロセスを合理化し、ユーザーがリクエスト結果をより速く取得できるように設計されています。
TTL
TTL (time to live) は、DNSレコードをローカルDNSサーバーにキャッシュできる最長期間を指定します。 TTLの有効期限が切れると、ローカルDNSサーバーはレコードを削除します。 その後、ユーザーがドメインにリクエストを送信すると、ローカルDNSサーバーは新しい再帰的または反復的なクエリを作成します。
IPv4/IPv6デュアルスタック
IPv4/IPv6デュアルスタックは、システムがIPv6とIPv4の両方を使用できるようにするプロトコルスタックです。
DNSフラッド攻撃
DNSフラッド攻撃では、攻撃者は多数のパペットマシンを使用して多数のDNSリクエストをDNSサーバーに送信します。 1秒あたりのDNSクエリの数がDNSサーバーの最大容量を超えると、ドメイン名の解決がタイムアウトし、ビジネスが利用できなくなる可能性があります。
URL転送
URL転送 (URLリダイレクトとも呼ばれます) は、DNSサーバーの設定に基づいて、ユーザーをソースURLからターゲットURLに移動します。
ECS
EDNSクライアントサブネット (ECS) は、DNSリゾルバーがクライアントのIPアドレスを信頼できるDNSサーバーに送信できるようにするDNSプロトコルの拡張です。
DNSSEC
Domain Name System Security Extensions (DNSSEC) は、DNS応答パケットの信頼性と整合性を検証するためにデジタル署名を導入します。 DNSSECは、DNSスプーフィングなどの攻撃を防ぎ、ユーザーが不正なURLにリダイレクトされるのを防ぎ、最終的にインターネット上のユーザーの信頼を向上させることができます。