DNS に関する質問 授業の後に寄せられた質問に答えます 情報ネットワーク講義資料 DNSについての説明は後藤(3) このスライドの説明は後藤(3)or後藤(4)
1.ドメイン名と FQDN 質問: ドメイン名と FQDN とは、どのように違うのですか? [実際の質問の文言を少し修正しています] ドメイン名 例: goto.info.waseda.ac.jp FQDN 講義資料(後藤(3))で使われています
FQDN Fully Qualified Domain Name ドメイン名・サブドメイン名・ホスト名を省略せずにすべて指定した記述形式のこと。 完全修飾ドメイン名 ドメイン名やホスト名などを省略しないで記述した絶対表記 ホスト名やドメイン名と区別してFQDNを用いるが、一般にはわざわざ区別することもない。
2.DNSとUDP 質問: 授業の中でDNSのポート番号はTCP, UDPの両方に同じ番号(53)として定められていると紹介されました。しかしTCPは実際には使われていないと解説がありました。なぜTCPを使わないのですか? 回答: TCPは 3-way ハンドシェイクをするなどの手順が複雑で、能率が悪いからです。なお次の参考Webを読むと最近の動向が分かります(EDNS0)。 http://jpinfo.jp/topics-column/008.pdf
3.ルート ネーム サーバ 質問: 授業の中でルートネームサーバは13台ある。これを13台を越えるようにすることは出来ないと説明がありました。その理由を詳しく教えてください。 短い回答: DNSはUDPを用いて通信をします。そのパケットのサイズには最大値があります。それがルートネームサーバの台数が最大13台に留まる理由です。 ※TCPを用いたDNSが使われない理由 は別の質疑応答で説明します。
長い回答(1) DNSのメッセージ形式は次のように定義されています。照会と応答の形式は同じ。 識別子 フラグ 質問数 回答RR数 権威RR数 追加RR数 質問(可変長) 回答(リソースレコードに応じて可変長) 権威(リソースレコードに応じて可変長) 追加情報(リソースレコードに応じて可変長) 4バイト 4バイト 4バイト
識別子・フラグ 識別子はクライアントが設定、照会(要求)と応答を照合するため使います(16ビット) フラグは16ビットです rcode QR オプコード AA TC RD RA (0) rcode QR(1) Query or Response, Opcode (4) 0 standard, 1 inverse, and 2 server status, AA (1) authoritative, TC (1) truncated (over 512 bytes), RD (1) recursion desired, RA (1) recursion available, (0) 3-bit 0, rcode (4) return code 0 (no error), and 3 (name error).
質問 通常は1つの質問があります 照会名(可変長) 照会タイプ 照会クラス 照会名は検索する対象のドメイン名 gemini.tuc.noao.edu は次のように表現6gemini3tuc4noao3edu0 照会タイプは A(1), NS(2), CNAME(5), PTR(12), HINFO(13), MX(15), AXFR(253), ANY(255) 照会クラスは通常は1(Internet)
応答メッセージのRR 回答、権威、追加情報は同じ形式 ドメイン名(可変長) タイプ クラス 生存時間(TTL) リソースデータの長さ リソースデータ(可変長) ドメイン名(照会名フィールドと同じ),タイプ(照会タイプと同じ),クラス(通常1),生存時間(典型的な例では2日間),長さ(典型例のAの場合は4バイトのIPアドレス
参考書 メッセージの形式は標準として定められています。多くの参考書、WEBの記述があります。この授業では下の書籍を参照。 W. Richard Stevens, TCP/IP Illustrated Volume 1 The Protocols, Addison-Wesley 1994. 橘訳「詳解TCP/IP Vol.1」ピアソン・エデュケーション, 2000.
参考WEB 「教えてGoo」に参考になる記述があります http://oshiete1.goo.ne.jp/qa1279055.html nslookupで、set type=soaで.を引くと以下のような結果が返ってきます。 DNSヘッダ:12バイト, Question Section: 5バイト, Answer Section: 75バイト (SOAレコード), Authority Section: 193バイト (NSの一覧(13個)), Additional Records Section: 208バイト (NSのIPアドレス(13個)). 合計: 493バイト 大きいのは最後の2つのセクション Authority Sectionは、既出の1台が13バイト+残り12台が15バイト、13+12x15=193バイト Additional Records Sectionは、すべて16バイトなので13x16=208バイト もう一台NSを増やすと、15バイト+16バイト増、493+15+16=524バイト UDPのサイズ制限はRFC1035のSection4.2.1.に規定されています。
4.DNSサーバとDDoS 質問: 授業でDNSサーバの台数を増やしてもDDoSアタックに有効ではないと解説がありました。しかし、そのような対策をとっているサーバがあると報道されています 回答: サーバの台数を増やせば信頼性を高めることができます。ルートサーバが複数台あるのは一例です。しかし個別のサーバはDDoSアタックに有効に対処できません。これは製品版のDNSを販売している会社の人に確認しました。 なお報道の例を掲げます。http://japan.cnet.com/news/media/story/0,2000056023,20083729,00.htm