class: title, smokescreen, shelf, no-footer # コンピュータネットワーク(2024-)<br><small>第07回 DNS</small> <div class=footnote> <small><small> Copyright (C) Ken'ichi Fukamachi <fukachan@fml.org>, 2021-2025. CC BY-NC-SA 4.0 </small></small> </div> --- class: compact # <small>用語集</small> <div class=footnote> <small><small> (脚注) DNSには他にも色々な属性があるのですが、それらは省略。 他の属性やDNSの動作原理等は大学院の授業のほうで、やります </small></small> </div> - DNS(発音:でぃーえぬえす) ... Domain Name Serivce/System <small> - ドメイン名とIPアドレス(+他の属性)間の対応関係を管理するしくみ </small> - ドメイン名 ... domainname <small> - 英数字と特殊文字の一部(例: "-")をドット(".")でつないだ文字列 - (右から逆方向に読むと)階層構造を表していることに注目 <br> 例: portal.mc.chitose.ac.jp </small> - 正引き <small> - ドメイン名からIPアドレスを検索する操作 </small> - 逆引き <small> - IPアドレスからドメイン名を検索する操作。正引きの逆 </small> --- class: compact # <small>IPアドレスだと覚えきれないよね?そこでドメイン名をつけます</small> <div class=footnote> <small><small> (脚注1) さすがに最重要なサーバは覚えてますね〜 たぶん覚えようとしているわけではなくて、よく使うサーバのアドレスを覚えてしまうだけですけど (脚注2) Googleが登場する以前の話です。 いまは検索してしまうのでドメイン名を覚えていなくても困らない? </small></small> </div> <small> - 演習で「210.128.53.何か」というIPアドレスが10個登場しましたが覚えてますか?ふつう覚えてないよね - 大丈夫です、プロも覚えてません - もっと覚えやすくするために<b>ドメイン名</b>というものを考えました <small> - 210.128.53.254 (にせポータル)には portal.net.fml.org というドメイン名でもアクセス出来ます - 少しは覚えやすそうでしょ? </small> </small> --- class: compact # <small>ドメイン名の例</small> <div class=footnote> <small><small> (脚注) 右側が大きい単位なのは、英語圏での住所の書き方を考えれば、自然ですよね? </small></small> </div> <small> - ドメイン名とは、英数字などを . (ドット)でつないだ文字列 - 例: portal.mc.chitose.ac.jp ... (本物のポータル) - 例: portal.net.fml.org ... (演習で使っているニセポータル) - 読み方の例: portal.mc.chitose.ac.jp を右から読むと、それっぽいです <small> - 日本(jp)の - 高等学術機関(ac = academic の冒頭部分)の - 公立千歳科学技術大学(を表す用語 = chitose) - メディアセンター(mc)(管轄の) - ポータル(portal) - <b>右側が大きい組織の単位</b>であることに注目です </small> </small> --- class: compact,img-right # <small>DNSサーバ</small> <div class=footnote> <small><small> (脚注) サーバその1の説明は省略します。 大学院の授業で、きちんと動作原理を解説します </small></small> </div>  <small> - DNSという仕組みを運用しています - 当然DNSサーバというものがあります - DNSサーバは二種類あります <small> 1. 自分のドメインの情報を世界に提供するDNSサーバ 2. 他ドメインの情報を検索するDNSサーバ(リゾルバ) </small> </small> --- class: compact,img-right # <small>正しいブラウザの動作</small> <div class=footnote> <small><small> (脚注) 10.20.30.40は説明用に選んだ適当なIPアドレスです </small></small> </div>  <small> <small> 例:http://b2902900.cloud.fml.org/ にアクセス </small> 1. ブラウザは b2902900.cloud.fml.org のIPアドレスを調べます(名前解決) - DNSサーバ(リゾルバ)に問い合わせ、(図(0)) - 10.20.30.40 と回答されました(図(0)) 1. ブラウザは10.20.30.40との間にTCPコネクション(論理的なデータ転送路)を作成します 1. ブラウザはデータ転送路の上でHTTPを使いWWWサーバとデータのやりとりをします(図(1)) </small> --- class: compact,img-right # <small>【参考】付録: DNSなどを学ぶマンガ小冊子</small> <div class=footnote> <small><small> <A HREF="https://internet.watch.impress.co.jp/docs/news/1412233.html"> internet.watch.impress.co.jp/docs/news/1412233.html </A> </small></small> </div>  <small> - JPRS(ドメイン名を管理している組織)が、 教育機関を対象に無償で配布するマンガ小冊子「ポン太のネットの大冒険 ~楽しくわかるインターネットのしくみ~」 </small> --- class: title, smokescreen, shelf, no-footer # 演習 <div class=footnote> <small><small> </small></small> </div> --- class: compact # <small>【例題】</small> <div class=footnote> <small><small> (脚注) 例題なので、一緒にやります </small></small> </div> 1. 210.128.53.254のドメイン名を調べる(逆引き) 1. portal.net.fml.orgのIPアドレスを調べる(正引き) --- class: compact # <small>【例題】 DNSを調べるコマンド (逆引き)</small> <div class=footnote> <small><small> (脚注) DNS三大コマンドは nslookup host dig です。 <br> Debianの場合はじめからhostコマンドは利用できます。 nslookupとdigはdnsutilsパッケージをインストールすると使えます。 <br> nslookupはWindowsにもあるので覚えておくならnslookupのほうがよい?(でも素Debianのように入ってないこともある) </small></small> </div> <small> ``` [コマンドの使い方] host 調べたいもの [実行例] $ host 210.128.53.254 254.53.128.210.in-addr.arpa domain name pointer portal.net.fml.org. ``` - 読み方 - <B>右端の`portal.net.fml.org`がドメイン名</B>です - 左端の`254.53.128.210.in-addr.arpa`は全世界のDNS階層構造を表現したものです。 スライドP.5に出てくる「自ドメインのドメイン情報を世界に提供する」には、 この階層構造を考えて設定を書いています。 とりあえず、ネットワーク管理者だけが分かっていればいい話です </small> --- class: compact # <small>【例題】DNSを調べるコマンド (正引き)</small> <div class=footnote> <small><small> </small></small> </div> <small> ``` [コマンドの使い方] host 調べたいもの [実行例] $ host portal.net.fml.org portal.net.fml.org has address 210.128.53.254 ``` - せっかくなので、前ページの逆をやってみます。正引き(ドメイン名 -> IPアドレス)です - 読み方 - <B>右端の`210.128.53.254`がIPアドレス</B> - <B>左端の`portal.net.fml.org`がドメイン名</B>(コマンドの引数) </small> --- class: compact # <small>【課題】</small> <div class=footnote> <small><small> </small></small> </div> 1. Excelにある全てのIPアドレスについて逆引きしなさい 1. 逆引きした結果(ドメイン名)を見ると、その機器の役割がだいたい分かる。各LANの役割について推定しなさい - Excelに新たな列(C列?)を作成して、役割を書きこんでください - ポータルのレポートボックスに提出