情報 第 8 回 田浦健次朗 ファイルと その中身 ファイルと フォルダ コマンド ライン 簡単なプログラ ムの作成・実行 コンピュータにおける 情報の表現 コンピュータの仕組み プログラムの仕組み Excel で計算・ データの可視化 通信・ネットワーク , インターネット 通信の符号 化 , その限界 情報の符号 化 , その限界 暗号 基礎的概念 ( 本講義中では ) やや高度な概念 実技・実践 テーマ ネットワークの一般論 LAN インターネット IP, DNS, TCP アプリケーションプロトコル ( メール ,Web) インターネット上の脅威 暗号と認証 動機付け プロバイダに契約 + 「つなぐだけ」で世界中の HP が見られる理由 セキュリティ事件がなくならない理由 ネットショッピングが一応安全な原理 ( 暗号 ) 「通信」とは ? 情報の伝達 手段 , 媒体は様々 声 , ジェスチャー 電圧の変化 ( 銅線 ) 電磁波 ( 無線 LAN, 携帯 ) 光のパルス ( 光ファイバ ) 情報を , 「波」によって伝達される信号に符号 化する (etc. 電圧 HI = 1, 電圧 LO = 0) 「信号の伝達」だけでは解決されな い話 直接届かない相手との情報のやりとり 多人数の参加者の中から特定の相手との情報の やりとり 「ネットワーク」の機能 「ネットワーク」の機能 直接信号が伝達できない相手との通信 ( 中継 ) 指定された相手に情報を届ける ( 経路づけ , ルーティング ) B A A と通信 したい ! A C よく目にするネットワークの構成機器 PC Ethernet スイッチ 無線 LAN ステーション モデム (ADSL, 光 ) ルータ ポート ネットワークの基本要素 アドレス ネットワークへの参加者 ( ノード ) を識別する名前 経路づけ ( ルーティング ) 宛先アドレスへデータを届ける道順 , それを求める 仕組み ローカルエリアネットワーク (LAN) 実例 Ethernet 無線 LAN (IEEE 802.11) AppleTalk, Token Ring ( 廃れた ) 「インターネット」以前から , 少数の機器 (PC, プリンタ ,etc.) を接続し , 共有するために使わ れていた Ethernet について少し アドレス = Ethernet MAC アドレス すべての PC のネットワークインタフェースカード (NIC), Ethernet スイッチ , などについている一意な ID 例 : 00:16:6F:4E:5F:D4 2 桁の 16 進数 x 6 = 48 bit 上位 3 つはベンダを識別 (http://standards.ieee.org/regauth/oui/oui.txt) Ethernet のルーティング 機能 : 初期の機器 ( リピータハブ ) スイッチと PC を , ループ ( 輪 ) を作らないように つなげるだけで , 任意の MAC アドレスにデータ ( フレーム ) を届けられるようになる すべてのフレームをブロードキャスト 今日の機器 ( スイッチングハブ , スイッチ ) 後述 リピータハブ 受け取ったフレームは全部のポートに送信 目的地へ届いたものは拾われる そうでないものは捨てられる 単純だが明らかに無駄 大規模化は不可能 00:16:6F:4E:5F:D4 リピータハブ スイッチングハブ フレーム受け取り時に「送信者アドレス」とそ のポートの組を記録する 後でその送信者アドレス向けのフレームを受け 取ったら , 覚えていたポートだけに転送 00:16:6F:11:22:33 00:16:6F:4E:5F:D4 Ethernet (LAN) のまとめ 「つなげるだけ」で使えるように設計されてい る 全世界規模への大規模化は困難 リピータハブは言うまでもない スイッチングハブでも 最初のブロードキャスト つながれている全機器の数だけ , 各スイッチが MAC アドレスとポートの対応を覚える必要が ある ( 不可能 ) インターネット 1969 年アメリカ ARPA による実験用のネット ワーク ARPANET が前身 インターネット = WWW ( ホームページの閲覧 ) や , メール ( だけ ) のことではない 当初の技術的な位置づけ 複数の LAN をつなぐこと だから Inter Network = Internet インターネットはそれまでのネット ワークと何が違ったのか ? 規模が大きい 2009 年 1 月で 6 億のホスト 世界中をつないでいる 複数の , 異なる規格の LAN をつなげる 信号伝達の物理的な仕組みによらない ネットワークの物理的な管理主体が一つでない 多数の管理主体が協調的に管理している 規模 ( ホスト数 ) 出典 : Internet Systems Consortium https://www.isc.org/solutions/survey インターネットの核となる技術 IP (Internet Protocol) DNS (Domain Name System) LAN を越えてデータ ( パケット ) を届ける ( 経路づ け) ホスト名とアドレスとの対応を保持する すべてのインターネットアプリケーションはこ れを使って作られている IP アドレス IP (Internet Protocol) におけるアドレス IP アドレスの例 124.83.147.205 66.249.89.104 Ethernet MAC アドレスと異なり , IP アドレス は機器に固有のものではなく , ソフトウェアに よって「設定」される 各 PC に「最初から」 IP アドレスがついているわ けではない IP アドレスの形式 IP version 4 (IPv4) x.x.x.x (x は 0-255 までの数字 ) 8 bit 4 = 32 bit IP version 6 (IPv6) x:x:x:x:x:x:x:x (x は 16 進数で , 0000-ffff まで ) 16 bit x 8 = 128 bit 今日ほとんどの機器は IPv4 を用いている インターネットプロトコル (IP) 「インターネット」の技術的核心 Internet Protocol 「インターネット」をしいて技術的に定義する ならば , IP を使った通信方法のこと 111.234.56.78 123.234.56.78 IP の基本機能 あらゆる「ネットワーク」の機能と同様であ る . つまり , 宛先「 IP アドレス」を指定されたデータ ( パ ケット ) を , その IP アドレスを持つ機器へとど ける ( 経路づけ ) LAN の仕組みは大規模化できなかった LAN の中の IP 通信 「宛先 IP アドレス → そのマシンの MAC アド レス」の変換をすれば OK その仕組み : ARP (Address Resolution Protocol) LAN 内にブロードキャスト ( 「この IP アドレスを 持っている人は MAC アドレスを教えてくださ い」 ) LAN をまたがった IP 通信 パケットが複数 LAN を渡り歩く 各ステップ (hop) では , ルータと呼ばれる機器 がパケットを中継する (IP ルーティング ) ルータ 通常のホスト LAN ( サブネット ) パケットの配送路 IP ルーティング 機器 : IP ルータ , L3 スイッチ LAN におけるスイッチに相当 ただし MAC アドレスではなく IP アドレスを元に宛 先を決める LAN と LAN の境目に配置 ルータ間で情報を交換して「宛先 IP アドレス , ポート」の対応付けを覚える LAN LAN IP ルータ IP が大規模化できる理由 一つの LAN には「まとまった IP アドレスの範 囲」を割り当てる 例 : 133.11.238.0 〜 133.11.238.127 サブネットという IP ルータは個々の IP アドレスの経路を覚えず にサブネットや , より大きな範囲のアドレス範 囲ごとに覚える サブネット単位でのルーティング情報をやりと りする必要はあるが , そんなに激しく変わらな い 自分の IP アドレスは ? Mac, Unix: ifconfig コマンド Windows: ipconfig コマンド どの LAN につながっているかで IP アドレスは 異なる ある IP アドレスと通信できるか ? Mac, Unix, Windows: ping コマンド ping 「 IP アドレス」 指定された IP アドレスに向かって IP パケット を送り , 返事をもらう セキュリティの懸念からわざと答えない計算機 もある ある IP アドレスまでどのような経 路で到達するか ? Mac, Unix : traceroute コマンド Windows: tracert コマンド traceroute 「 IP アドレス」 ping と似ているが途中のルータが表示される セキュリティの懸念からわざと答えないルータ が非常に多い DNS Domain Name System IP アドレスよりも「意味のわかりやすい」ホス トの名前 (DNS 名 ) インターネット上で , ホスト名 ( 計算機名 ) と して通常用いられる名前 例: www.yahoo.co.jp www.ecc.u-tokyo.ac.jp mail.logos.ic.i.u-tokyo.ac.jp DNS 名 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 の基本機能 DNS 名 IP アドレスの対応を覚える 基本原理 対応を保持する計算機 (DNS サーバ ) を配置し , そ の計算機に問い合わせる これにはもちろん IP を使って通信する 再び「大規模化」が課題 DNS 大規模化の課題 世界で 1 台の DNS サーバにすべての対応を覚 えさせる ? 一度実行した問い合わせの結果を覚えておく ? 世の中で問い合わせが発生する度にその DNS サー バとの通信が発生 実際使われている ( キャッシュ ) 世界で一台の DNS サーバの負荷が大きい事は変わ らない DNS サーバを多数用意して問い合わせの負荷 を分散する DNS 問い合わせの負荷分散 世界には多数の DNS サーバがある 個々の DNS サーバは「一部の」名前の問い合 わせにしか答えられない ( 答えなくてよい ) この場合 , 「どの名前の問い合わせは , どの DNS サーバへ送れば良いのか ? 」が問題とな る www.ecc.u-tokyo.ac.jp の IP アドレスを聞きたいの だがどの DNS サーバに尋ねれば良い ? これを一台の計算機 (DNS サーバ問い合わせサー バ ?) に保持させるのでは元の木阿弥に近い DNS 負荷分散方式 DNS 名全体が ( ファイル名と似たような ) 階層 構造・木構造をなしていることに注意 1 台の DNS サーバが担当する範囲はこの木構 ルート DNS サーバ 造のある部分木 X.jp を担当する DNS サーバ X.ac.jp を担当する DNS サーバ X.u-tokyo.ac.jp を担当する DNS サーバ X.ecc.u-tokyo.ac.jp を担当する 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 アドレス「だけ」を覚えている ac.jp 担当 u-tokyo.ac.jp 担当 ecc.u-tokyo.ac.jp 担当 t.u-tokyo.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. の設定が失敗 している LAN の中に問題がある ping ゲートウェイの IP アドレス DNS に問題がある ifconfig, ipconfig host サーバの DNS 名 サーバが落ちている host サーバの IP アドレス TCP IP : 信頼性のない通信 送ったパケットは届かないかもしれない TCP : 信頼性のある通信 理由 : 機器の故障 , 一時的な負荷増大 一部の IP パケットが届かない場合 , それらを再送 するなどして , 任意のバイト列を失うことなく交換 する仕組み インターネット上のほとんどのアプリケーショ ンが TCP を用いている TCP/IP : 「インターネット」の代名詞 アプリケーション層プロトコル TCP/IP によって , 任意の byte 列を , 世界中の 計算機と交換する事ができる WWW, メール , IP 電話 , ファイル交換ソフト など , あらゆるインターネット上のアプリケー ションは ,TCP 上にさらなる取り決めを用いて 必要な機能を実現している WWW: HTTP (Hyper Text Transfer Protocol) メール : SMTP (Simple Mail Transfer Protocol) POP (Post Office Protocol) インターネットの安全性 基本的な仕組みは , 全員が協調的に ( 悪意なく ) 動作することを前提にしている 経路づけ DNS の分散管理 「正しい相手と通信していること」を保証していな い 自分のパケットは経路上のルータ ,LAN 内の他のホ ストなどに丸見え ありうる攻撃の例 1 台の DNS サーバが侵入されたとする それをもとに , 以降の DNS 問い合わせに「嘘をつ く」 www.amazon.co.jp は「ここです」と答える LAN 中に攻撃者の PC が接続されたとする IP アドレス MAC アドレスの変換は LAN 内への broadcast で問い合わせてる (arp) ゲートウェイの MAC アドレスをゲートウェイより 先に ( 嘘を ) 返してしまう インターネットの安全性 送ったデータは悪者に見られているという前提 で考える . その元で以下を確信できるか ? 認証 : 正しい相手と通信している 機密性・一貫性 : 中身を第 3 者に { 見ら・変更 さ } れていない
© Copyright 2024 Paperzz