630 likes | 715 Views
ネットワークアーキテクチャ 第 03 回 (2003/10/20) 「 DNS のアーキテクチャ」. 村井 純. 09/29 (1) 講義概要 / インターネットのアーキテクチャ 10/06 (2) もうインターネットを分かっちゃおう 10/13 体育の日 10/20 (3) DNS のアーキテクチャ 10/27 (4) 招待講演 11/03 文化の日 11/10 (5) メールのアーキテクチャ 11/17 (6) WEB のアーキテクチャ 11/24 勤労感謝の日の振替休日
E N D
ネットワークアーキテクチャ第03回(2003/10/20)「DNSのアーキテクチャ」ネットワークアーキテクチャ第03回(2003/10/20)「DNSのアーキテクチャ」 村井 純 Network Architecture 2003f
09/29 (1) 講義概要/インターネットのアーキテクチャ09/29 (1) 講義概要/インターネットのアーキテクチャ 10/06 (2) もうインターネットを分かっちゃおう 10/13 体育の日 10/20 (3) DNSのアーキテクチャ 10/27 (4) 招待講演 11/03 文化の日 11/10 (5) メールのアーキテクチャ 11/17 (6) WEBのアーキテクチャ 11/24 勤労感謝の日の振替休日 11/26 (7) セキュリティアーキテクチャ <-(水曜日) 12/01 (8) インターネット上のビジネスアーキテクチャ 12/08 (9) i-modeのアーキテクチャ 12/15 (10) モバイルのアーキテクチャ 12/22 (11) P2Pのアーキテクチャ ~ 冬休み 01/08 (12) これからのネットワークアーキテクチャ <-(木曜日) 01/12 成人の日 01/19 (13) 最終試験 2003年度秋学期授業日程 (最新情報はSoI*で確認してください) 今日はここ Network Architecture 2003f
今日のお品書き • 識別子 • IPアドレス • ドメインネームとDNS Network Architecture 2003f
今日のお品書き • 識別子 • IPアドレス • IPアドレスの仕組み • サブネットマスク • ドメインネーム • ドメインネームツリーと名前の解決 • ルートネームサーバ • 逆引きとメール転送 • DynamicDNS Network Architecture 2003f
識別子 Network Architecture 2003f
宛先 識別子 • 名前 • 同姓同名の人は文脈で区別 • 東京都の村井純さん • 村井研究室のいしださん • 住所 • 地理的な座標をもとにしている。 • ○○県××市△△1-2-3 □□様 • 電話番号 • 交換機が管理しやすい識別子 Network Architecture 2003f
インターネットの識別子 • 人とコンピュータは要求が違う。 →それぞれの要求に見合った識別子の必要性 • どちらにも共通なのは? • インターネット全体で唯一のもの(一意に認識できるもの)である必要がある。 インターネットに接続されている どこかのコンピュータを識別して データを相手に届けないといけない! コンピュータの名前を いつでも好きなようにつけたい! Network Architecture 2003f
双方の言い分 • コンピュータの言い分 • インターネットのどこかのホストを識別したい • どうせ2進数の数値しか扱えない • 体系的にしてルータの処理を楽にしたい • でも足りなくなると困る! →IPアドレス • 人間の言い分 • 好きなときに名前を付けたい! • 付けた名前はすぐにインターネット全体で使いたい! • 英数字くらいは使いたい、できれば日本語も。 →ドメインネーム Network Architecture 2003f
IPアドレス Network Architecture 2003f
IPアドレス • インターネットプロトコル上の識別子 • インターネット上で、あるホストを一意に示す。 • IPv6では128bit(0~3.4×1038) • IPv4では32bit(0~4,294,967,296) • 表記法 • コンピュータの中では常に2進数 • 10000101 00011011 00000100 01111001 (2進数) • 人がそのまま扱うには面倒すぎる…… • IPv6は16bitごとに8つに区切って、16進数に直す。 • 3ffe:501:1085:8001::121(16進数) • IPv4は8bitごとに4つに区切って、10進数に直す。 • 133.27.4.121 (10進数) Network Architecture 2003f
IPアドレスの仕組み • ネットワーク部とホスト部 • 連続するアドレスを持つホストを、一つのネットワーク(サブネット)として扱う。 • サブネット上のホストには、同じネットワーク部を付ける。 • ネットワーク部の「長さ」をサブネットマスクで示す。 • 下の例では23ビット分 1 0 0 0 0 1 0 1 0 0 0 1 1 0 1 1 0 0 0 0 0 1 0 0 0 1 1 1 1 0 0 1 . . . 131 27 4 121 ホスト部 ネットワーク部( /23 ) 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 255 255 254 0 Network Architecture 2003f
サブネットマスク • サブネットマスクによる台数の限界 • IPv6には基本的に64bit、ホスト部も64bit(たくさん)。 • IPv4では一つのネットワークに接続するホストが多いほどサブネットマスクは短くなる。 Network Architecture 2003f
サブネットとIPアドレス • サブネットの中はホスト部は自由に決めてよい。 • ネットワーク部は組織に対して割り当てられる。 → 好き勝手に変えられない。 216.239.57.99 www.google.com 203.178.142.130 133.27.4.121 ns0.sfc.keio.ac.jp 133.27.4.11 203.178.138.99 www.soi.wide.ad.jp 133.27.4.100 mail.sfc.keio.ac.jp サブネット: 133.27.4.0/22 Network Architecture 2003f
ドメインネーム Network Architecture 2003f
IPアドレスとホストネーム • IPアドレス • IPアドレスによって世界中のコンピュータは一意に認識できた • コンピュータが通信するときはIPアドレスを見る。 例: 3ffe:501:1085:8001::121, 133.27.4.212 • でも人間が数字の羅列を覚えたり入力するのは大変! • 人間の分かる名前でインターネット上のコンピュータ(ホスト)を名前付けしよう! →どんなことを考えなければいけない? (ヒント) • IPアドレスはIPv4で約40億, IPv6ではその4乗 • インターネットには中央がない Network Architecture 2003f
世界中でユニークな名前とは? 今日のコンパ、キムタク呼んどいたから! おいどん、鹿児島のキムタクたい。 名前変えろよ… わてかて、ナニワのキムタクでっせ! 名前空間には限界がある! ほっほっほ、私もキムタクです。 僭越ながら、本官もキムタクであります! 韓国のキム・タクです。 Network Architecture 2003f
インターネットは世界が対象! 僕はgoogle。 私もyahooよ。 私はasahiよ 俺、yahooね! ぼく、nakata! というわけで、muraiです。 私もnakata! インターネットでは世界中で一意に定まる名前が必要! Network Architecture 2003f
ドメインネームの仕組み • www.sfc.keio.ac.jpで考えてみよう! www. sfc.keio.ac.jp WWWサーバ 湘南藤沢キャンパス 慶應義塾大学 学術機関 日本 Network Architecture 2003f
Root Domain ・ ドメインネームツリー • ピラミッド状の階層化 ccTLD gTLD jp uk com org SLD ad ac co ne yahoo TLD: 最上位ドメイン gTLD: 汎用TLD ccTLD: 国別TLD SLD: 第2レベルドメイン wide keio keio yahoo sfc cc www.sfc.keio.ac.jp Network Architecture 2003f
ドメインネームシステム Network Architecture 2003f
相手のドメインネームはわかったけど。。 朝日新聞社のWWWが見たい! お前の名前は www.asahi.com だ! 宛先のIPアドレスは何だろう? Network Architecture 2003f
DNSによる名前の解決 人間 www.sfc.keio.ac.jp ネーム サーバ www.sfc.keio.ac.jp Web ブラウザ 133.27.4.212 133.27.4.212 Webサーバ 名前から値への 対応情報を提供 Network Architecture 2003f
ホストネームからIPアドレスへ • 大昔:変換表 • 管理者が一人で台数も小さかった。 • コンピュータの名前とIPアドレスの変換表「hosts」 • 全部のコンピュータに変換表のファイルをコピー • 今:DNS(ドメインネームシステム) • 管理者が複数いて台数も多い。 • 分散している「ネームサーバ」に対してネットワーク越しに名前を問い合わせる。 • 階層的な名前空間を持ち、ドメインネームと呼ぶ。 Network Architecture 2003f
条件2:世界中に散らばったドメイン情報を、どうやって見つける?条件2:世界中に散らばったドメイン情報を、どうやって見つける? relcom.ru Google.com Green.org Ncst.ernet.in cernet.net Sca.gov.eg kimutaku.ac.jp Cisco.com Ncst.ernet.in ucad.sn Samba.com.br unimelb.edu.au Network Architecture 2003f
Root ネームサーバ ・ ネームサーバもツリーに! ccTLD ネームサーバ gTLD ネームサーバ jp uk com org SLD ネームサーバ ad ac co ne yahoo 各組織のネームサーバ wide keio keio yahoo この中はkeioが自由 に管理、拡張していい 各部署のネームサーバ sfc mita ns0.sfc.keio.ac.jp www.sfc.keio.ac.jp Network Architecture 2003f
www.keio.ac.jp は知らないけど、 .jpのDNSなら知ってる! .ac.jpのDNSなら! .keio.ac.jpのDNSなら! www.keio.ac.jp って知ってる? www.keio.ac.jpは 133.27.4.212だよ! 実際の名前解決の問い合わせ . (root) .jp .ac.jp .keio.ac.jp zone .keio.ac.jp www.keio.ac.jp? 133.27.4.212だね! Network Architecture 2003f
.u-tokyo.ac.jpのDNSなら! www.u-tokyo.ac.jp って知ってる? www.u-tokyo.ac.jpは 133.11.128.254だよ! DNSキャッシュ • 分かってる部分は省略 . (root) .jp .ac.jp .u-tokyo.ac.jp zone .u-tokyo.ac.jp www.u-tokyo.ac.jp? 133.11.128.254だね! Network Architecture 2003f
ネットワークトポロジとドメインネーム空間は別のものネットワークトポロジとドメインネーム空間は別のもの ドメインネーム空間 keio.ac.jp yahoo.com murai.tv mail.yahoo.com mail.murai.tv ftp.murai.tv www.keio.ac.jp mail.keio.ac.jp www.yahoo.com www.murai.tv 物理世界(ネットワークトポロジ) インターネット上のどこにあってもいい Network Architecture 2003f
DNSいろいろ • ルートネームサーバ • 様々なリソースレコード • 逆引き(PTRレコード) • メールアドレスのドメイン(MXレコード) • DynamicDNS Network Architecture 2003f
ルートネームサーバへのDOS攻撃 Network Architecture 2003f
ルートネームサーバ • TLDを管理しているネームサーバ • 全世界に分散して13個、うち8台が米国 • A.ROOT-SERVERS.NET ~ M.ROOT-SERVERS.NET • 最後の一つ(M)は日本 • TLDが分からないと問い合わせができない! • 13個全てのルートネームサーバが落ちると困る。 • ネットワーク的・物理的に多重化 • 大規模な攻撃が話題になった。 Network Architecture 2003f
ルートネームサーバの分散 Network Architecture 2003f
様々なリソースレコード • リソースレコードは以下の情報を含む; • Name, Value, Type, Class, TTL • Name/Value • ホスト名とIPアドレスだけではない。 • TYPEによって変わる。 • Class = IN • 現在は IN(INternet) のみ • TTL(Time To Live) • どれだけの間キャッシュが有効か示す。 Network Architecture 2003f
リソースレコードの種類 • A(IPv4 Address), AAAA(IPv6 Address) • Name=ホスト名/ Value= IPv4/IPv6 アドレス • CNAME(Canonical Name) • Name=別名/ Value=本来のドメイン名 • ドメイン名に対する別名を登録する。 • NS(Name Server) • Name=ドメイン名/ value=そのドメインのネームサーバの名前 • SOA(Start Of Authority) • Name=ドメイン名/Value=そのゾーンに関する管理情報 • PTR(domain name PoinTeR) • Name=IPv4/IPv6 アドレス/Value=ホスト名 • IPアドレスからドメイン名への逆引きに使われる • MX(Mail eXchanger) • Name=ドメイン名/ Value=そのドメインのメールサーバ Network Architecture 2003f
逆引き(PTRレコード) • IP アドレスからホスト名へのマッピング • PTRレコードと、専用のドメインである “in-addr.arpa(IPv6 では ip6.int)”を使う。 • 例: • 212.121.27.133.in-addr.arpa IN PTR www.sfc.keio.ac.jp. • 逆引きが登録されていないとサービスをしないものもある • IRC(Internet Relay Chat) • 逆引きが.jpで終わらないと接続をきる (IRCnet) • でもあまり信用はできない。 Network Architecture 2003f
in-addr.arpa ドメイン 例: 133.27.4.212 in-addr.arpa. 0 255 133 0 255 27 255 0 4 0 255 212.4.27.133.in-addr.arpa 212 Network Architecture 2003f
PTRレコードを利用した逆引きの解決 1. in-addr.arpa root server ・ ローカル ネーム サーバ 133.in-addr.arpa プログラム 133.27.4.212 27.133.in-addr.arpa 2. 133.in-addr.arpa ns0.nic.ad.jp ・ www.sfc.keio.ac.jp 4.27.133.in-addr.arpa 3. 27.133.in-addr.arpa ns0.sfc.keio.ac.jp ・ 212.4.27.133.in-addr.arpa mail.sfc.keio.ac.jp 4. 212.27.133.in-addr.arpa ns0.sfc.keio.ac.jp ・ Network Architecture 2003f
133.27.0.100 DNSの更新 Apple 133.27.0.1 Banana 133.27.0.2 Berry 133.27.0.3 Banana.keio.ac.jpのIPアドレスは? 133.27.0.2だよ DNSサーバ 管理者が 手作業で登録 Apple.keio.ac.jp Banana.keio.ac.jp Berry.keio.ac.jp 133.27.0.3 133.27.0.2 133.27.0.1 Network Architecture 2003f
www.muraijun.netのIPアドレスは? 123.123.123.111 133.27.4.103 家庭のマシンに名前をつけようとしたら? www.muraijun.net のアドレスは 133.27.4.100(古) クライアント DNSサーバ × 管理者がDNSを更新 なんて間に合わない ISP × 繋ぎ直しはよくあること 自宅WEBサーバ 133.27.4.100 IPアドレスは すぐ変わる Internet Network Architecture 2003f
Dynamic DNS DNSデータベースを動的に更新 www.muraijun.netのIPアドレスは? 133.27.4.100 クライアント DNSサーバ http://www.muraijun.net ホストが自分で IPアドレスを登録 133.27.4.100 www.muraijun.net 自宅WEBサーバ Network Architecture 2003f
Dynamic DNSの詳細 • DNSのもともとの設計は….. • 静的に設定されたデータベースを管理 • データの更新頻度は低く、管理者が手動で行う • 自動的な更新の反映 • キャッシュ時間を下げて更新をすぐに反映 • よくあるDDNSサービスはデータベースを直接更新 • DNSプロトコルに対する拡張 • リソースレコードを外部より更新するUPDATE命令 • IPアドレスや鍵による更新の制限 Network Architecture 2003f
今週の課題 Network Architecture 2003f
課題案その1 • 自分がよく利用するWebサイトのIPアドレスを5つ調べてみよう! Network Architecture 2003f
nslookup • DNSに問い合わせるコマンド • コマンドプロンプトから C:\>nslookup ホスト名 www.sfc.keio.ac.jpの場合 返ってきたIPアドレス Network Architecture 2003f
nslookup • 逆引きもできる C:\>nslookup 133.27.4.212 返ってきたホスト名 Network Architecture 2003f
nslookup • 対話モード • より詳細な情報が引き出せる C:\>nslookup >set querytype=ANY >ホスト名 Network Architecture 2003f
nslookup Aレコード AAAAレコード MXレコード NSレコード Network Architecture 2003f
querytype A(コンピュータのIPアドレス) ANY(すべてのデータタイプ) CNAME(エイリアスの正規名) GID(グループ名のグループID) HINFO(コンピュータのCPU、OSの種類) MB(メールボックスドメイン名) MG(メールグループメンバー) MINFO(メールボックスまたはメール一覧情報) MR(メールリネームドメイン名) MX(メール交換) NS(指定したゾーンのDNSネームサーバー) PTR SOA(DNSドメインのSOAレコード) TXT(テキスト情報) UID(ユーザーID) UINFO(ユーザー情報) WKS(既知のサービスの説明) Network Architecture 2003f
課題案その2 • DDNSに登録してIPアドレスが変わってからどれくらいの時間で名前が引けるようになるか調べてみよう! Network Architecture 2003f
DDNS • DDNSとは • Dynamic Domain Name Service • ホスト名に対応するIPアドレスを自由に変更できるサービス • IPアドレスが変わっても同じホスト名でアクセスできる Network Architecture 2003f