TCP/IP - DNS



 ◆ DNSとは

 DNS ( Domain Name System ) は、ドメイン名(コンピュータを識別する名称)をIPアドレスに自動的に
 変換してくれる
アプリケーション層プロトコルです。DNSの仕組みにより、覚えにくいIPアドレスではなく
 ローマ字でURLを入力しWebアクセスしたり、ローマ字でメールアドレスを入力してメール送信ができます。
 DNSの仕組みがないと、例えばYahooのWebサーバにアクセスするために「https://www.yahoo.co.jp/」と
 入力するのではなく「https://124.83.167.212」のようにIPを入力してアクセスすることが必要になります。




 ◆ ドメイン名の構造

 DNSはドメイン名をIPアドレスに変換してくれるのですが、先ずそのドメイン名の構造について解説します。
 ドメイン名は、コンピュータを識別する名称のことです。ドメイン名はホスト名や組織名を識別するために
 階層構造がとられており、英字がピリオドによりつながれています。下図の通りドメイン名の一番右側から
 トップレベルドメイン、セカンドレベルドメイン、サードレベルドメイン、フォースレベルドメインと続く。


           


 「www」のホスト名を省略せずに指定した記述形式「www.yahoo.co.jp」は FQDN (Fully Qualified Domain Name) といいます。

ドメインレベル 説明 ドメイン名の例
トップレベルドメイン
( Top Level Domain )


 トップレベルドメイン(TLD)では、国別、地域、
 商用などを表すドメインとなっている。

 jp (日本) us (アメリカ) com (商用)
セカンドレベルドメイン
( Second Level Domain )


 セカンドレベルドメイン(SLD)では、組織の種類
 を表すドメインとなっている。ただしトップレベル
 ドメインによりこのポリシーは異なる。 ※1

 co (一般企業) ac (教育機関) go (政府機関)
サードレベルドメイン


 サードレベルドメインでは、具体的な企業名や
 組織などを表すドメインとなっている。ただし、
 トップレベルドメインによりこのポリシーは異なる。

 yahoo (ヤフー) keio (慶応義塾) ntt (NTT)
フォースレベルドメイン


 フォースレベルドメインは、「ホスト名」に位置づけ
 されるドメインです。一般的にWebサーバであれば
 「www」として、FTPサーバであれば「ftp」とする。

-

 ※1 トップレベルドメインに「com」を選んだ場合、セカンドレベルドメインは「cisco」等の組織名を表すドメイン名となります。


 ドメインはツリー構造となっています。ドメインの頂点にルートドメインが存在し、ルートドメイン配下に
 トップレベルドメインがあり、その配下にセカンドレベルドメインと、このように階層構造となっています。


  




 ◆ DNSの構成

 DNS (Domain Name System) は
DNSサーバリゾルバにより構成されます。DNSサーバは各階層ごとに
 存在します。ルートドメインに位置する
ルートDNSサーバは全世界で13組あります。ルートDNSサーバは、
 下位のDNS(jp のDNSサーバ、com のDNSサーバ) のIPアドレスを管理しています。つまりDNSサーバは
 そのドメインのドメイン名とIPアドレスの対応表だけでなく下位DNSサーバのIPアドレスも管理しています。

DNSの構成 役割 使用される機器
DNSサーバ

 ドメイン名とIPアドレスの対応表を保持するホスト、
 またはソフトウェアのこと。各階層ごとに存在する。

Windowsサーバ、Linuxサーバなど
リゾルバ

 DNSサーバに問い合わせを行うホスト、または
 ソフトウェアのこと。DNSクライアントとも呼ばれる。

Windows OSなどのパソコンなど


 各階層のDNSサーバは耐障害性を考慮して複数のDNSサーバにより構成されます。DNSサーバはゾーン情報の
 マスターデータを管理する
プライマリDNSサーバと、バックアップとなる1台以上のセカンダリDNSサーバ
 よって構成されます。これらのサーバが同じ情報を共有するために、プライマリDNSサーバはセカンダリDNS
 サーバに定期的にゾーン情報を転送することによって同期を取っています。このことを
ゾーン転送といいます。

 ※ ゾーン情報は、あるドメインについてその中のドメイン名とIPアドレスなどが対応付けられたデータベース。


   



 例えば yahoo.co.jp のDNSゾーンで、プライマリDNSサーバに ns1.yahoo.co.jp、セカンダリDNSサーバに
 ns2.yahoo.co.jp、ns3.yahoo.co.jp、ns4.yahoo.co.jpがあるとします。ns1.yahoo.co.jpのサーバに障害が
 発生しても ns1はns2,ns3,ns4と同期を取っているので yahoo.co.jp ドメインでは問題なく名前解決されます。
 ※ ゾーン転送は、セキュリティ上の観点からそのドメイン内のセカンダリDNSサーバ以外と行わないのが基本。



 ◆ DNSのパケット

 リゾルバがDNSサーバに行うドメイン名からのIPアドレスの名前解決にはUDP(ポート番号53)を使用します。
 一方、DNSサーバとDNSサーバとがゾーン情報のファイル転送を行う場合 TCP(ポート番号53)を使用します。


            


 ※ ゾーン情報のファイル転送を行わないDNS通信でも、512バイトを超えるDNS応答を取り扱う場合はUDPではなくTCPを使用。



 ◆ DNSによる名前解決の仕組み

 Webブラウザで「https://www.cisco.com/」と入力するとそのPCで指定したDNSサーバに問い合わせます。
 対応表がそのDNSサーバのゾーン情報になくキャッシュにもない場合、ルートDNSサーバへ問い合わせます。
 同じような流れで問い合わせと通知が下図の通り行われます。しかし実際には、リゾルバやローカルのDNS
 サーバに一度調べた情報がキャッシュに残っているため、毎回このようなルートへの問い合わせはしません。



    

 ローカルDNSサーバに対してCではcomのDNSサーバ名/IPアドレスを回答、Eではcisco.comのDNSサーバ名/IPアドレスを回答。



DHCPリレーエージェント HTTPとは

ネットワークエンジニアとして

Copyright (C) 2002-2018 ネットワークエンジニアとして All Rights Reserved.