DNS再入門ー初心者からベテランまで、基礎から見直して見よう。 #oscnagoya #osc_tss_ontap

https://www.ospn.jp/osc2017-nagoya/modules/eguide/event.php?eid=39 担当:NPO法人東海インターネット協議会 講師:鈴木 常彦(中京大学・工学部・情報工学科・教授) 資料: http://www.e-ontap.com/dns/oscnagoya2017/#(1)
65
Yoshikazu GOTO @goto_ipv6

DNS再入門ー初心者からベテランまで、基礎から見直して見よう。 ( @tss_ontap ) #oscnagoya #osc_tss_ontap

2017-05-27 12:01:04
Yoshikazu GOTO @goto_ipv6

鈴木先生:DNS再入門ということでやりたいと思いますけど。 #oscnagoya #osc_tss_ontap

2017-05-27 12:01:43
Yoshikazu GOTO @goto_ipv6

鈴木先生:今日、覚えていってほしいことが。DNSの概念があります。スタブリゾルバ、フルリゾルバ、キャッシュサーバー、コンテンツサーバー、ゾーン、委譲、グルー、再帰、そして、浸透…いうな #oscnagoya #osc_tss_ontap

2017-05-27 12:02:34
Yoshikazu GOTO @goto_ipv6

鈴木先生:ホワイトボードで、大学の授業風にやりたいと思います。私も大学で授業していますので。 #oscnagoya #osc_tss_ontap

2017-05-27 12:02:56
Yoshikazu GOTO @goto_ipv6

鈴木先生:普通、大学で 90分位書けてやる話を 10分でやります。 #oscnagoya #osc_tss_ontap

2017-05-27 12:03:12
Yoshikazu GOTO @goto_ipv6

鈴木先生:まず、みなさんのコンピュータがあります。クライアント。その中でアプリが動いている。アプリが、例えば example.com につなぎたいと入力。この「ドメイン名」では相手につなぎに #oscnagoya #osc_tss_ontap

2017-05-27 12:03:59
Yoshikazu GOTO @goto_ipv6

行くことが出来ない。なので IPアドレスに変換しなければならない。これが「名前解決」これをするために、外部の、これをしてくれるノードにつなぎに行くための最低限のライブラリを用意する。これがスタブリゾルバ。 #oscnagoya #osc_tss_ontap

2017-05-27 12:04:59
Yoshikazu GOTO @goto_ipv6

最低限、名前解決するのに必要な、アプリから呼び出されるだけの機能。外部に問い合わせするだけ。スタブリゾルバは、名前解決を外部サーバーに任せる。 #oscnagoya #osc_tss_ontap

2017-05-27 12:05:34
Yoshikazu GOTO @goto_ipv6

この外部サーバーを、「フルリゾルバ」。昔は、/etc/hosts があればよかったが。 #oscnagoya #osc_tss_ontap

2017-05-27 12:05:54
Yoshikazu GOTO @goto_ipv6

で、このフルリゾルバ、クライアントのスタブリゾルバから呼び出されるが、このフルリゾルバ、一体どこに問い合わせれば?タネが必要。ということで、「hint」を用意。今日では root.hint というファイルで提供される。 #oscnagoya #osc_tss_ontap

2017-05-27 12:06:57
Yoshikazu GOTO @goto_ipv6

実装に依っては、ハードコーディングされていることも。root.hint には 13個の IPアドレスが書いてある。"root" とよばれるサーバー。ここへ、フルリゾルバが問い合わせを送る。で、"root" サーバーが #oscnagoya #osc_tss_ontap

2017-05-27 12:08:34
Yoshikazu GOTO @goto_ipv6

返事をしてもよい。でも、世界には沢山のコンピューターがあり、それらの名前全部を 1台で管理することが出来ないので、「子分」のサーバーに任せたい。ということで、例えば "com" とすると、これを管理しているサーバー群を返す。 #oscnagoya #osc_tss_ontap

2017-05-27 12:09:33
Yoshikazu GOTO @goto_ipv6

フルリゾルバは、今度は "com" を管理しているサーバーに問い合わせる。"com" を知っているサーバーは、自分で返事をしても良いが、これもまた、今回で言えば "example.com" を #oscnagoya #osc_tss_ontap

2017-05-27 12:10:45
Yoshikazu GOTO @goto_ipv6

知っているサーバーのリストを返す。 #oscnagoya #osc_tss_ontap

2017-05-27 12:10:46
Yoshikazu GOTO @goto_ipv6

で、フルリゾルバは、"example.com" を知っているサーバーに問い合わせに行き、"Answer" を返してもらう。 #oscnagoya #osc_tss_ontap

2017-05-27 12:11:43
Yoshikazu GOTO @goto_ipv6

フルリゾルバは、貰った「答え」をキャッシュに入れ、そしてスタブリゾルバに「答え」を返す。 実装によって、キャッシュの中身を返したり、"Answer" をそのまま返したりする。 #oscnagoya #osc_tss_ontap

2017-05-27 12:12:10
Yoshikazu GOTO @goto_ipv6

「DNSキャッシュサーバー」は、「フルリゾルバ」と「キャッシュ」で構成される。 「DNSコンテンツサーバー」は、"root", "com", "example.com" を知っているサーバー達。 #oscnagoya #osc_tss_ontap

2017-05-27 12:13:15
Yoshikazu GOTO @goto_ipv6

また、後ほど説明しますが、「ゾーン」というものがあり、これを管理しているので「ゾーンサーバー〕と言ったりします。また、そのゾーンについて権威を持っているということで、「権威サーバー」とも。 #oscnagoya #osc_tss_ontap

2017-05-27 12:14:14
Yoshikazu GOTO @goto_ipv6

"root" サーバーは、実は NULL を管理している。ドメイン名は、最後に "." が付きます。 example.com. といったように。 #oscnagoya #osc_tss_ontap

2017-05-27 12:14:59
Yoshikazu GOTO @goto_ipv6

で、rootサーバーは comを管理するサーバーに、com を「委譲」しています。ただ、JPRSさんとかも、最近は「委任」と言っていたりしますね。 #oscnagoya #osc_tss_ontap

2017-05-27 12:15:36
Yoshikazu GOTO @goto_ipv6

で、「再帰・反復」がありますが、スタブリゾルバが問い合わせする際に、フルリゾルバとの間に他のノードが存在することがあります。ブロードバンドルーターとか。DNS forwarder とか DNS Proxy とか。 #oscnagoya #osc_tss_ontap

2017-05-27 12:16:34
Yoshikazu GOTO @goto_ipv6

問い合わせを中継します。で、昔は、こういった「サーバー」を区別していなかった。なので、DNS Forwarderが、十分な機能を持っていなかったら、さらに他に問い合わせをしたりする。ということで、「多段」になることが。 #oscnagoya #osc_tss_ontap

2017-05-27 12:18:02
Yoshikazu GOTO @goto_ipv6

この、「多段」になった問い合わせを「recursive query」と。ただ、問い合わせが多段になっているだけで、「再帰」になっている気がしません。フルリゾルバが問い合わせる部分が「再帰」に見えますね。 #oscnagoya #osc_tss_ontap

2017-05-27 12:19:08
Yoshikazu GOTO @goto_ipv6

大学では「再帰検索要求」と教えています。「Recursive Desire」、RD フラグがクエリーに。 #oscnagoya #osc_tss_ontap

2017-05-27 12:20:02
Yoshikazu GOTO @goto_ipv6

で、フルリゾルバが問い合わせする動作を「再帰」と思っていました、私も昔は。しかしここは non-RD 、非再帰問い合わせ なのです。実際は、Iterative 、反復検索といいます。 #oscnagoya #osc_tss_ontap

2017-05-27 12:21:05