DNS 特論 今回はアプリケーションプロトコルの中で特にDNSを扱います 情報ネットワーク講義資料 教科書 p.182~188 マスタリングTCP/IP入門編 第5版では、DNSを「第5章 IPに関連した技術」で扱っています。一方で第4版では、DNSを第8章 アプリケーションプロトコル」の最初で扱っていました。 本講義においてDNSをアプリケーションプロトコルとして扱います。その理由は、前回の授業で強調した事柄が関係しています。
DNSはアプリケーションプロトコル 一つのプロトコルがTCPとUDPの両方のポート番号を持つことがある。その場合には同じ番号。 サービス名 内容 53 domain Domain Name Server 表 6—2 TCPの代表的なウェルノウンポート番号, 教科書 p.227 どう見ても2つの表の内容は同一 ポート番号 サービス名 内容 53 domain Domain Name Server 表 6—3 UDPの代表的なウェルノウンポート番号, 教科書 p.228 一つのプロトコルがTCPとUDPの両方のポート番号を持つことがある。その場合には同じ番号。 最初の頃のポート番号は奇数の割合が多い。
インターネットを利用するにはIPアドレスとドメイン名が必要 IPアドレス(例) 133.90.18.10 192.5.216.4 192.168.0.1 ドメイン名(例) waseda.ac.jp waseda.jp 早稲田大学.jp
利用者はドメイン名を使う コンピュータはIPで通信する ドメイン名で指定されたWEBも、 メールアドレスで指定された宛先も、 IPアドレスに変換する必要がある。 IPデータグラム ヘッダ データ
DNSへの問い合わせ(query) ②, ③, ④は後に登場 DNS リゾルバ resolver ① ⑤ www. ietf.org 利用者のPC 次の図を参考にして大幅に簡略化した 図5—5 DNSによる問い合わせ, 教科書 p.187 ステップ②, ③, ④を省略している
1.DNSの必要性 p.183 利用者はドメイン名を使う goto@goto.cs.waseda.ac.jp goto@133.90.18.110 www.goto.cs.waseda.ac.jp http://133.90.18.50 最初はホスト名とIPアドレスの変換表 /etc/hosts この変換表では収容しきれない このページの例題は 実際のデータの一部 を変更しています
IPアドレスの管理 日本国内のIPアドレスはJPNICが管理 ICANN (IANA) APNIC JPNIC pp.156 日本国内のIPアドレスはJPNICが管理 ICANN (IANA) APNIC JPNIC プロバイダ(IPアドレス管理指定事業者) 利用者 参考) 発足時のAPNICは日本で活動をしていました。 http://www.apnic.net/about-APNIC/organization/history-of-apnic
JPNIC http://www.nic.ad.jp/ja/ip/index.html
日本国内のドメイン名はJPRSが管理 (株)日本レジストリサービス (2002年4月1日より) ドメイン名の管理 p.340 日本国内のドメイン名はJPRSが管理 (株)日本レジストリサービス (2002年4月1日より) ICANN JPRS プロバイダ(JPRS指定事業者) 利用者 http://jprs.co.jp/press/020401.html http://www.nic.ad.jp /ja/topics/2002/20020401-01.html
JPRS http://jpshop.jp/info/service/syurui/index.html
2.DNSの登場 1983年 ARPAnetがNCPからTCP/IPに切替 1984年 ドメイン名の導入 背景: 当時のホスト数 08/1981 213 05/1982 235 08/1983 562 10/1984 1,024 10/1985 1,961 02/1986 2,308 11/1986 5,089
1984年当時のDNSの評判 スタンフォード大学における変化(利用例) sg@sail.arpa → sg@cs.stanford.edu 不評, ブーイング ドメイン名は長過ぎる Martin Frost氏の説得 [問題] システム管理者のFrost氏は、どのように して学内の利用者を説得したのでしょうか?
3.ドメイン名の構造 pp.184~185 例: www.cs.waseda.ac.jp jp トップレベルドメイン (国別) ccTLD 例: cs.stanford.edu edu トップレベルドメイン gTLD 注: ccTLDの多くは ISO3166 のcountry codeを用いているが例外がある (uk, gb) サブドメイン トップレベル以外のドメイン名
DNSの階層構造 “ ” piano.goto.info.waseda.ac.jp p.185 教科書の 図も参照 ルート … jp org “ ” … jp org arpa int ac ietf in-addr ip6 waseda www 133 … info 90 goto 18 piano 10 piano.goto.info.waseda.ac.jp
ネームサーバの配置 そのネームサーバが設置された階層の ドメインに関する情報を管理 p.186—187 そのネームサーバが設置された階層の ドメインに関する情報を管理 ルートネームサーバ(世界に13台(個)) TLDを管理している jpネームサーバ acネームサーバ wasedaネームサーバ(早稲田大学) csネームサーバ, infoネームサーバ(学科) goto ネームサーバ(後藤研)
問い合わせ(query)の詳細 ルートDNS ② ③ DNS ④ ietf.orgDNS リゾルバ resolver ① ⑤ www. ietf.org 利用者のPC 次の図を基本にして一部削除した 図5—5 DNSによる問い合わせ, 教科書 p.187 ルートDNSの「ルート」は root です(routeではない)
4.DNSの query リゾルバ アプリケーションに先立って名前解決する 意識的に名前解決するツール nslookup dig pp.187~188 リゾルバ アプリケーションに先立って名前解決する 意識的に名前解決するツール nslookup dig
nslookupの使用例 このページの例題は 実際のデータの一部 を変更しています > mail.goto.cs.waseda.ac.jp Server: ns.cfi.waseda.ac.jp Address: 2001:2f8:33:1::3#53 mail.goto.info.waseda.ac.jp canonical name = voice.goto.cs.waseda.ac.jp. Name: voice.goto.cs.waseda.ac.jp Address: 133.90.18.110 早稲田大学 のサーバ 数字53 CNAME 別名がある
dig の使用例 ここでも CNAMEが 使われている このページの例題は 実際のデータの一部 を変更しています % dig –x 133.90.18.50 ;; QUESTION SECTION: ;50.18.90.133.in-addr.arpa. IN PTR ;; ANSWER SECTION: 50.18.90.133.in-addr.arpa. 3600 IN PTR pentagon.goto.cs.waseda.ac.jp. ;; AUTHORITY SECTION: 18.90.133.in-addr.arpa. 3600 IN NS voice5.goto.cs.waseda.ac.jp. 18.90.133.in-addr.arpa. 3600 IN NS ns.cfi.waseda.ac.jp. 18.90.133.in-addr.arpa. 3600 IN NS ns.info.waseda.ac.jp. 18.90.133.in-addr.arpa. 3600 IN NS ns1.goto.cs.waseda.ac.jp. 18.90.133.in-addr.arpa. 3600 IN NS ns2.cfi.waseda.ac.jp. 18.90.133.in-addr.arpa. 3600 IN NS voice3.goto.cs.waseda.ac.jp. ここでも CNAMEが 使われている
IPアドレスとドメイン名との相互変換 DNS = Domain Name System IPアドレスとドメイン名(FQDN※)の対応 DNS = Domain Name System IPアドレスとドメイン名(FQDN※)の対応 Aレコード: ドメイン名に対してIPアドレスを定義 AAAAレコード: ドメイン名に対してIPv6アドレスを定義 ※) FQDN = Fully Qualified Domain Name
多様なDNSの機能 CNAMEレコード: 別名を定義 MXレコード: メールサーバを指定 PTRレコード: DNSのデータをリソースレコードで記述 CNAMEレコード: 別名を定義 MXレコード: メールサーバを指定 PTRレコード: IPアドレスからドメイン名を逆引き するためのデータ
PTRレコードによる「逆引き」 DNSの階層構造を、しらみ潰しで調べるのは現実的でない これを覚えておいてください PTRレコードによる「逆引き」 DNSの階層構造を、しらみ潰しで調べるのは現実的でない DNSの照会(query)でPTR(ポインタ)を指定すると逆引きができる 10.18.90.133.in-addr.arpa 応答(answer)は piano.goto.info.waseda.ac.jp
逆引きのための構造 “ ” 10.18.90.133.in-addr.arpa この説明が 分かりにくいかもしれません。ご注意 ルート … “ ” … jp org arpa int 文字通りに逆引きする訳ではありません ac ietf in-addr ip6 waseda www 133 … info 90 goto 18 piano 10 10.18.90.133.in-addr.arpa
5.分散データベース 世界規模で運用されている分散データベース ルートサーバが13台(日本にもある) なぜルートサーバが必要か [問題] p.188 世界規模で運用されている分散データベース ルートサーバが13台(日本にもある) なぜルートサーバが必要か [問題] DNSのデータはキャッシュされる セキュリティを強化する提案がある DNSsec
早稲田大学の入り口で測定したルートサーバとの通信 ルートサーバその1 荒井祐一
6.多言語ドメイン名の話題 ドメイン名に使用して良いのは、英字、数字、ハイフン(-)である。 教科書の範囲外 6.多言語ドメイン名の話題 ドメイン名に使用して良いのは、英字、数字、ハイフン(-)である。 英字の大文字と小文字の区別はしない case insensitive 日本語ドメイン名、例:早稲田大学.jp の日本文字は puny codeで表現されている RFC 3492 この国際標準化を IETFで推進するについては早稲田大学の大学院生が活躍
マスターするべき事項 IPアドレス割り当て機関であるJPNICの役割 JPドメイン名の登録を受け付けるJPRSの役割 DNSはアプリケーションプロトコルの一つ DNSはドメイン名をIPアドレスに変換する またDNSはIPアドレスをドメイン名に逆変換する
注意するべき事項 DNS機能を提供するサーバを識別するには、ドメイン名を使うこともできるし、IPアドレスで指定することもできる。
DNSサーバの運用 DNSサーバが停止すると、ドメイン名を使うことが出来なくなる。事実上はインターネットが停止することになる DNSサーバは primary server と secondary server の2台を運用することが規定されている DNSサーバの情報をコピーして保持するサーバが存在する。興味のある人は調べてみてください(anycast)