A.A. ... .A
各 A はアルファベット , 数字 , '_', '-' など
IP アドレスとは原理的には無関係
DNS 名が使われる , よく見る場面
ホームページの名前 (URL) の一部にホスト名を 使う
http://www.ecc.u-tokyo.ac.jp/faq.html
このページは , www.ecc.u-tokyo.ac.jp というホス トが持っているという意味
メールの設定で ,SMTP サーバ , POP サーバを 指定せよと言われることがある . そのような場 合に指定するサーバの名前も「 DNS 名」
DNS の基本機能
DNS 名 IP アドレスの対応を覚える
基本原理
対応を保持する計算機 (DNS サーバ ) を配置し , そ の計算機に問い合わせる
これにはもちろん IP を使って通信する
再び「大規模化」が課題
DNS 大規模化の課題
世界で 1 台の DNS サーバにすべての対応を覚 えさせる ?
世の中で問い合わせが発生する度にその DNS サー バとの通信が発生
一度実行した問い合わせの結果を覚えておく ?
実際使われている ( キャッシュ )
世界で一台の DNS サーバの負荷が大きい事は変わ らない
DNS 問い合わせの負荷分散
世界には多数の DNS サーバがある
個々の DNS サーバは「一部の」名前の問い合 わせにしか答えられない ( 答えなくてよい )
この場合 , 「どの名前の問い合わせは , どの DNS サーバへ送れば良いのか ? 」が問題とな る
www.ecc.u-tokyo.ac.jp の IP アドレスを聞きたいの だがどの DNS サーバに尋ねれば良い ?
DNS 負荷分散方式
DNS 名全体が ( ファイル名と似たような ) 階層 構造・木構造をなしていることに注意
1 台の DNS サーバが担当する範囲はこの木構 造のある部分木
X.u-tokyo.ac.jp を担当する X.ac.jp を担当する DNS サーバ
X.jp を担当する DNS サーバ
ルート DNS サーバ
X.com を担当する DNS サーバ
X.google.com を担当する DNS サーバ
DNS 負荷分散方式
各 DNS サーバは
親 DNS サーバ (u-tokyo.ac.jp 担当サーバであれば , ac.jp 担当サーバ )
直接の子 DNS サーバ (u-tokyo.ac.jp であれば , ecc.u-tokyo.ac.jp, t.u-tokyo.ac.jp など )
の IP アドレス「だけ」を覚えている
u-tokyo.ac.jp 担当
ac.jp 担当
問い合わせの解決
個々の計算機はどの DNS サーバへ問い合わせ ても良い
問い合わせを受けた DNS サーバは ,
自分が解決できる場合すぐに答える ,
自分の子供が解決すべき問い合わせは子供へ転送
たとえば u-tokyo.ac.jp 担当が ,
www.ecc.u-tokyo.ac.jp の問い合わせを受けた
それ以外は親へ転送
あのマシンの IP アドレスは ?
Mac, Unix: host コマンド
Windows: nslookup コマンド
host DNS 名
host IP アドレス名
まとめ : 一台のマシンを「インター ネットにつなげる」のに必要な情報
自分の IP アドレス
自分が所属する LAN に割り当てられた IP アド レスの範囲 ( サブネット )
自分のサブネット範囲外の IP アドレスを中継 してくれるルータ ( デフォルトゲートウェイ )
DNS 問い合わせを投げる DNS サーバ (Primary DNS サーバ ) の IP アドレス
そんな大変な設定をした覚えはな い ?
自宅では PPP, DHCP という仕組みで自動設定
されていることがほとんど
情報が , PC に自動的に供給され , 設定されて いる
誰が供給している ? 典型例
ブロードバンドルータ ( 使っている場合 )
LAN につながっているサーバ (DHCP サーバ )
ADSL ルータの向こう側にいるサーバ
理解の確認 : Web ブラウザでページ が表示できるまで
例 : http://www.yahoo.co.jp/index.html
1. www.yahoo.co.jp の IP アドレスを求める
1-1. Primary DNS サーバの IP アドレスに問い合わ せ
1-1-1. そのアドレスと自分のサブネットを見比
べる . 多くの場合 DNS サーバはサブネットの 範囲外 (LAN の外 )
1-1-2. そこでデフォルトゲートウェイに IP パ
ケットを送り転送してもらう ( デフォルトゲー
1-2. 得られた www.yahoo.co.jp の IP アドレスに
「このページ (/index.html) を送れ」というリクエス トを投げる
1-2-1. ここでもおそらくデフォルトゲートウェ
イ経由となる
1-3. めでたく返事 ( ページの内容 ) が得られて , ページがブラウザで表示される
「つながらない」理由と診断手段
IP アドレス , ゲートウェイ etc. の設定が失敗 している
ifconfig, ipconfig
LAN の中に問題がある
ping ゲートウェイの IP アドレス
DNS に問題がある
host サーバの DNS 名
サーバが落ちている
TCP
IP : 信頼性のない通信
送ったパケットは届かないかもしれない
理由 : 機器の故障 , 一時的な負荷増大
TCP : 信頼性のある通信
一部の IP パケットが届かない場合 , それらを再送 するなどして , 任意のバイト列を失うことなく交換 する仕組み
インターネット上のほとんどのアプリケーショ ンが TCP を用いている
アプリケーション層プロトコル
TCP/IP によって , 任意の byte 列を , 世界中の 計算機と交換する事ができる
WWW, メール , IP 電話 , ファイル交換ソフト など , あらゆるインターネット上のアプリケー ションは ,TCP 上にさらなる取り決めを用いて 必要な機能を実現している
WWW: HTTP (Hyper Text Transfer Protocol)
メール :
インターネットの安全性
基本的な仕組みは , 全員が協調的に ( 悪意なく ) 動作することを前提にしている
経路づけ
DNS の分散管理
「正しい相手と通信していること」を保証していな い
自分のパケットは経路上のルータ ,LAN 内の他のホ ストなどに丸見え
ありうる攻撃の例
1 台の DNS サーバが侵入されたとする
それをもとに , 以降の DNS 問い合わせに「嘘をつ く」
www.amazon.co.jp は「ここです」と答える
LAN 中に攻撃者の PC が接続されたとする
IP アドレス MAC アドレスの変換は LAN 内への broadcast で問い合わせてる (arp)
ゲートウェイの MAC アドレスをゲートウェイより