君 のキャッシュDNSサーバが 出 すクエリ を 君 は 本 当 に 理理 解 しているか? あ でもそのうちそうなっちゃうかも? ~QNAME Minimisation の 話 ~ ENOG34@ 柏 崎 2015 年年 9 月4 日 DMM.comラボ 高 嶋 隆 一
おさらい. ドメイン 名 は 階 層 構 造 を 持 つ 酔 っ 払 い. JP.. ü 木 構 造 っぽい com org 酔 っ 払 い co example 1
おさらい. 権 威 DNSサーバがいてデータを 保 管. の 権 威 DNSサーバ の 権 威 DNSサーバ a.root- servers.net b.root- servers.net 酔 っ 払 い. の 権 威 DNSサーバ a.dns. b.dns.. urquell. 酔 っ 払 い. com org 酔 っ 払 い co example 2
おさらい. 権 威 DNSサーバがいてデータを 保 管. の 権 威 DNSサーバ の 権 威 DNSサーバ a.root- servers.net b.root- servers.net 酔 っ 払 い. の 権 威 DNSサーバ a.dns. b.dns.. urquell. 酔 っ 払 い. 酔 っ 払 い com org 上 位 の 階 層 で 下 位 の 階 層 の co 権 威 DNSサーバを NSレコードで 指 定 する ( 委 任 ) example 3
おさらい. キャッシュDNSサーバが. の 権 威 DNSサーバから 順 番 に 名 前 検 索索 権 威 DNSサーバ ラベル 酔 っ 払 い.のIP アドレスは 何? 2 3 a.root- servers.net b.root- servers.net. クライアント 1 8 キャッシュ DNSサーバ 4 5 a.dns. b.dns. 酔 っ 払 い.は 192.0.2.1 6 7 urquell. 酔 っ 払 い. 酔 っ 払 い 4
ここで 質 問 です 2 ~ 7 のクエリ 内 容 と の 返 答 内 容 は 何 でしょう? 酔 っ 払 い.のIP アドレスは 何? 2 3 権 威 DNSサーバ a.root- servers.net b.root- servers.net ラベル. クライアント 1 8 キャッシュ DNSサーバ 4 5 a.dns. b.dns. 酔 っ 払 い.は 192.0.2.1 6 7 urquell. 酔 っ 払 い. 酔 っ 払 い 5
よくある 回 答 権 威 DNSサーバ ラベル の NS は 誰? の NS は [a- f].dns. 2 3 a.root- servers.net b.root- servers.net. キャッシュ DNSサーバ 4 5 a.dns. b.dns. 6 7 urquell. 酔 っ 払 い. 酔 っ 払 い 6
よくある 回 答 権 威 DNSサーバ ラベル 2 3 a.root- servers.net b.root- servers.net 酔 っ 払 い. の NS は 誰?. キャッシュ DNSサーバ 6 4 5 a.dns. b.dns. 酔 っ 払 い. の NS は urquell. 酔 っ 払 い. 7 urquell. 酔 っ 払 い. 酔 っ 払 い 7
よくある 回 答 権 威 DNSサーバ ラベル 2 a.root- servers.net b.root- servers.net. 3 キャッシュ DNSサーバ 4 5 a.dns. b.dns. 酔 っ 払 い. の A は 何? 6 酔 っ 払 い. の A は 192.0.2.1 7 urquell. 酔 っ 払 い. 酔 っ 払 い 8
答 え 合 わせ 権 威 DNSサーバ ラベル の NS は 誰? の NS は [a- f].dns. 2 3 a.root- servers.net b.root- servers.net 酔 っ 払 い. の NS は 誰?. 酔 っ 払 い. の A は 何? キャッシュ DNSサーバ 6 4 5 a.dns. b.dns. 酔 っ 払 い. の NS は urquell. 酔 っ 払 い. 酔 っ 払 い. の A は 192.0.2.1 7 urquell. 酔 っ 払 い. 酔 っ 払 い 9
答 え 合 わせ 10
正 解 ( 注 1) 133.242v6.sakura.ne., xavier.hanya- n.org はキャッシュDNSサーバの IPv4, IPv6アドレス ( 注 2) ハードコードされたroot DNSのhint 情 報 から 真 のroot DNSの 一 覧 を 得 るためのクエリ (プライミングと 呼 ばれ BIND9やUnboundなどに 実 装 ) ( 注 3) BIND9 はルートサーバに 何 らかのクエリを 送 る 際 にも プライミングと 同 様 のクエリを 送 る 模 様 11
正 解 権 威 DNSサーバ ラベル 2 a.root- servers.net b.root- servers.net. 3 キャッシュ DNSサーバ 4 5 a.dns. b.dns. 6 7 urquell. 酔 っ 払 い. 酔 っ 払 い 12
正 解 Internet Protocol Version 6, Src: 133.242.136.218.v6.sakura.ne. (2401:2500:102:1201:133:242:136:218), Dst: i.root-servers.net (2001:7fe::53) User Datagram Protocol, Src Port: 18648 (18648), Dst Port: 53 (53) Domain Name System (query) Transaction ID: 0xab7c Flags: 0x0010 Standard query snip~~ Questions: 1 Answer RRs: 0 Authority RRs: 0 Additional RRs: 1 Queries XN--N8J1C913R6J1B.JP: type A, class IN Name: XN--N8J1C913R6J1B.JP [Name Length: 20] [Label Count: 2] Type: A (Host Address) (1) Class: IN (0x0001) Additional records <Root>: type OPT ~~snip DO bit (DNSSEC ok) ~~ クライアントから 問 い 合 わされた 内 容 を 聞 いている 13
正 解 権 威 DNSサーバ ラベル 2 a.root- servers.net b.root- servers.net. 3 キャッシュ DNSサーバ 4 5 a.dns. b.dns. 6 7 urquell. 酔 っ 払 い. 酔 っ 払 い 14
正 解 Internet Protocol Version 6, Src: i.root-servers.net (2001:7fe::53), Dst: 133.242.136.218.v6.sakura.ne. (2401:2500:102:1201:133:242:136:218) User Datagram Protocol, Src Port: 53 (53), Dst Port: 18648 (18648) Domain Name System (response) [Request In: 2] [Time: 0.020326000 seconds] Transaction ID: 0xab7c Flags: 0x8010 Standard query response, No error ~~snip~~ Questions: 1 Answer RRs: 0 Authority RRs: 10 Additional RRs: 14 Queries XN--N8J1C913R6J1B.JP: type A, class IN Name: XN--N8J1C913R6J1B.JP [Name Length: 20] [Label Count: 2] Type: A (Host Address) (1) Class: IN (0x0001) Authoritative nameservers JP: type NS, class IN, ns b.dns.jp ~~snip 以 下 の 権 威 サーバと DS, RRSIG の 列列 挙 ~~ Answer section ではなく Authority section に NS を 返 してる! 15
正 解 権 威 DNSサーバ ラベル 酔 っ 払 い. の A は 何? [a- f].dns. が 知 ってるよ 2 3 a.root- servers.net b.root- servers.net 酔 っ 払 い. の A は 何?. 酔 っ 払 い. の A は 何? キャッシュ DNSサーバ 6 4 5 a.dns. b.dns. urquell. 酔 っ 払 い. が 知 って るよ 酔 っ 払 い. の A は 192.0.2.1 7 urquell. 酔 っ 払 い. 酔 っ 払 い 16
正 解 ü キャッシュDNSサーバは 常 にクライアントから 問 い 合 わ された 内 容 のクエリを 送 り 続 ける ü 権 威 DNSサーバは 自 分 のドメイン 名 の 階 層 に 含 まれる 自 分 が 直 接 対 応 するデータを 持 っていない 自 分 のドメイン 名 の 下 位 の 階 層 の 権 威 DNSサーバ (NSレコード)が 設 定 されている( 委 任 されている) 場 合 は Authority Section にそれらを 入れて 返 す 17
だがしかし! 18
何 か 変 わるか もしんない! 19
QNAME Minimisation 20
QNAME Minimisation q 従 来 の 手 法 の 問 題 点 Ø キャッシュDNSサーバ 常 にクライアントから 要 求 され た 最 終 的 に 必 要 な DNS クエリを 送 り 続 ける Ø 上 位 の 権 威 DNSサーバ 程 クライアントが 何 をしてい るのかわかっちゃう! Ø 権 威 DNSサーバへの 通 信 経 路路 の 人も 覗 き 見見できちゃ う! 21
QNAME Minimisation 秘 密 のエロ. 酔 っ 払 い.のIPアドレス は 何? 秘 密 のエロ. 酔 っ 払 い.のIPアドレス は 何? キャッシュ DNSサーバ ドメイン 名 & 権 威 DNSサーバ. 秘 密 のエロ. 酔 っ 払 い.のIPアドレス は 何? クライアント 秘 密 のエロ. 酔 っ 払 い.のIPアドレス は 何? 酔 っ 払 い 22
QNAME Minimisation ドメイン 名 & 権 威 DNSサーバ ププ あいつ あんなサイト 見見て るぜ!wwwwww 途 中 経 路路. 管 理理 者 キャッシュ DNSサーバ 管 理理 者 管 理理 者 酔 っ 払 い 23
よくない! 24
QNAME Minimisation の 提 案 内 容 Ø 権 威 DNSサーバには それから1 階 層 下 の NS を 聞 く 様 にする 25
これだ! 権 威 DNSサーバ ドメイン 名 の NS は 誰? の NS は [a- f].dns. 2 3 a.root- servers.net b.root- servers.net 酔 っ 払 い. の NS は 誰?. 酔 っ 払 い. の A は 何? キャッシュ DNSサーバ 6 4 5 a.dns. b.dns. 酔 っ 払 い. の NS は urquell. 酔 っ 払 い. 酔 っ 払 い. の A は 192.0.2.1 7 urquell. 酔 っ 払 い. 酔 っ 払 い 26
これが 権 威 DNSサーバ ラベル の NS は 誰? の NS は [a- f].dns. 2 3 a.root- servers.net b.root- servers.net 酔 っ 払 い. の NS は 誰?. 酔 っ 払 い. の A は 何? キャッシュ DNSサーバ 6 4 5 a.dns. b.dns. 酔 っ 払 い. の NS は urquell. 酔 っ 払 い. 酔 っ 払 い. の A は 192.0.2.1 7 urquell. 酔 っ 払 い. 酔 っ 払 い 27
こうなる 権 威 DNSサーバ ラベル の NS は 誰? の NS は [a- f].dns. 2 3 a.root- servers.net b.root- servers.net 酔 っ 払 い. の NS は 誰?. 酔 っ 払 い. の A は 何? キャッシュ DNSサーバ 6 4 5 a.dns. b.dns. 酔 っ 払 い. の NS は urquell. 酔 っ 払 い. 酔 っ 払 い. の A は 192.0.2.1 7 urquell. 酔 っ 払 い. 酔 っ 払 い 28
よかったね! 29
QNAME Minimisation のいいところ q 既 存 の 仕 組 みと 互 換 性 がある Ø 仮 にすぐ 下 の 階 層 に NS がなくて 2 階 層 より 下 のド メイン 名 が 定 義 されてても NO DATA が 返 ってくるだ けなので 更更 に1 個 したのNSを 聞 くというのができる Ø というか 最 終 的 に 知 りたい 名 前 を 聞 くというやり 方 自 体 伝 統 的 にそうしているがそういう 決 まりではな いらしい 30
QNAME Minimisation のいいところ q Negative Cache 効 率率率 の 向 上 ( 例例 ) A.example B.example C.exampleを 順 に 問 い 合 わせた 場 合 v 従 来 の 方 法 : Ø ルートサーバへの 問 い 合 わせが 毎 回 発 生 v QNAME minimisation: Ø A.exampleの 時 にだけ 問 い 合 わせが 発 生 ü exampleのnsを 問 い 合 わせるため NS ( 委 任 )が 存 在 しないことがわかる ü B.example C.exampleに 対 する 問 い 合 わせが 発 生しない 31
まとめ +1 q 今 の 実 装 では キャッシュDNSサーバは 最 終 的 に 知 り たいクエリを root から 最 終 的 にデータを 持 っている 権 威 DNSサーバまで 繰 り 返 し 聞 き 続 ける q QNAME Minimisation では root から1 階 層 ずつ NS を 検 索索 する 様 なアプローチをとり プライバシー 対 策 に なると 同 時 に クエリ/ 応 答 のパケット 数 の 削 減 も 実 現 できる +1 Ø 現 在 の 状 況 : IETF dnsop WGで 合 意 済 Experimental RFCとなる 予 定 32
Special Thanks to: 重 複 の Orange の 人 q 当 日 朝 に 内 容 チェックお 願 いしたにも 関 わらず ありがとうございまーす 33
Thank you! 34